﻿// JScript File

/* Global functions used across all modules and shouldn't appear in individual modules JS */
function sethighlighted(pThisRow)
{
    pThisRow.style.color ="black";
    pThisRow.style.backgroundColor="#d6d6d6";
}

function resethighlight(pThisRow)
{
    pThisRow.style.color ="black";
    pThisRow.style.backgroundColor="";
}



function IsValidated(pValidationField, pField, pFunc)
{
    //alert("Validate");
    if (pField.value != "")
    {
        pFunc(pField.value);

    }
}

function ExpandCollapse(container)//this function is used to expand/collapse areas in Look up Maintenance groups etc
{
     
    var obj = document.getElementById(container + '_collapsible');
    var img = document.getElementById(container + '_button');
     if (obj == null) 
    {
        obj = document.getElementById(container);//this is here for when the ClientID is used to assign the panel name
    }
    if (obj!=null)
    {   
        
        obj.style.display = (obj.style.display=="block") ? "none" : "block";
        lThisStyle =  obj.style.display;
        collapse =lAppPath+'/3c_Platform/Images/Buttons/Short/ToggleUp.gif';
        expand = lAppPath+'/3c_Platform/Images/Buttons/Short/ToggleDown.gif';
     
       if (img!= null) 
        {
            img.src = (lThisStyle=="block")? collapse : expand;
        }
        
    }
    
}

function PopulateContactImage(pImagePath)
{
    lImage = document.getElementById("ctl00_ContentPlaceHolder1_Img_Contact");
    lImage.src = pImagePath;
    document.getElementById("ctl00_ContentPlaceHolder1_hf_Contact_URL").value =pImagePath;

}


function CheckALLCheckBoxes(spanChk)
 {

    elm=document.forms[0].elements;

   for(i=0;i<elm.length;i++)
     if(elm[i].type=="checkbox")
     {
        if (elm[i].id.indexOf("chk_Selected")>= 0)
        {
            elm[i].click();
        }
     }
  
 }

 function SelectAllCheckboxes(spanChk)
 {

   // Added as ASPX uses SPAN for checkbox
   var oItem = spanChk.children;
   var theBox= (spanChk.type=="checkbox") ? 
        spanChk : spanChk.children.item[0];
   xState=theBox.checked;
   elm=theBox.form.elements;

   for(i=0;i<elm.length;i++)
     if(elm[i].type=="checkbox" && 
              elm[i].id!=theBox.id)
     {
       //elm[i].click();
       if(elm[i].checked!=xState)
         elm[i].click();
       //elm[i].checked=xState;
     }
   lSelectAll= document.getElementById("ctl00$ContentPlaceHolder1$hf_SelectAll");
   if (lSelectAll != null)
   {
    lSelectAll.value ="ALL";
   }
   
 }


function ShowHidePageHeaders()
{
    document.getElementById("FeatureContent").style.display = (document.getElementById("FeatureContent").style.display =="block"?"none":"block");
    document.getElementById("Header").style.display = (document.getElementById("Header").style.display =="block"?"none":"block");
  /*  if (document.getElementById("MoreOptions") != null)
    {
        document.getElementById("MoreOptions").style.display = (document.getElementById("MoreOptions").style.display =="block"?"none":"block");
    }
    */

}



/* FOR INFRAGISTICS EDITOR FOR CUSTOM DIALOGS*/

var Selection;

function GetSelectionFileUpload()
{
    showPopWin('../PopupDialogs/Upload_Files.aspx', 670, 295, PopulateUploaded)
}

function PopulateUploaded(pFileURL)
{
    Parts = pFileURL.split("|");
    lLink = Parts[0];
    lTarget = Parts[1];
    lFileName = Parts[2];
    lGenerateLink = Parts[3];
    if (lGenerateLink=="T")
    {
          var editor = iged_getById("ctl00_ContentPlaceHolder1_SitePageHTMLEditor");
          var elem=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditor",ta=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditor"+"_t_a"),tb=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditor"));
          if (document.getSelection)
          {
	          var sel=editor._sel();
	          //FireFox
	          var range=sel.getRangeAt(0);
	          var lText = sel.toString();
              range.deleteContents();
              newnode = document.createElement("a");
              newnode.setAttribute('href', lLink);
              newnode.setAttribute('target', lTarget);
              newnode.appendChild(document.createTextNode(lText));
              range.insertNode(newnode);
          }
          else 
          {
          //IE
            var sel = elem.document.selection.createRange();
            sel.pasteHTML ("<a href='"+lLink+"' target="+lTarget+">"+sel.text+"</a>");
          }
          
        
    }
}



function GetSelection()
{
    if (!document.getSelection)
    {
        var elem=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditor",ta=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditor"+"_t_a"),tb=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditor"));
        Selection = elem.document.selection.createRange();
    }
    showPopWin('../PopupDialogs/Link.aspx', 360, 175, ReplaceLinkText);
}

function ReplaceLinkText(pFileURL)
{
  Parts = pFileURL.split("|");
    
  lLink = Parts[0];
  lTarget = Parts[1];
  lFileName = Parts[2];
  var editor = iged_getById("ctl00_ContentPlaceHolder1_SitePageHTMLEditor");
  var elem=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditor",ta=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditor"+"_t_a"),tb=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditor"));
  if (document.getSelection)
  {
      var sel=editor._sel();
      //FireFox
      var range=sel.getRangeAt(0);
      var lText = sel.toString();
      newnode = document.createElement("a");
      newnode.setAttribute('href', lLink);
      newnode.setAttribute('target', lTarget);
      
      newnode.appendChild(document.createTextNode(lText));
      range.deleteContents();
      range.insertNode(newnode);
  }
  else 
  {
    
    Selection.pasteHTML ("<a href='"+lLink+"' target="+lTarget+">"+Selection.text+"</a>");
  }
   
}

function GetSelectionFileUploadDraft()
{
    showPopWin('../PopupDialogs/Upload_Files.aspx', 670, 295, PopulateUploadedDraft)
}
function PopulateUploadedDraft(pFileURL)
{
    Parts = pFileURL.split("|");
    lLink = Parts[0];
    lTarget = Parts[1];
    lFileName = Parts[2];
    lGenerateLink = Parts[3];
    if (lGenerateLink=="T")
    {
          var editor = iged_getById("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft");
          var elem=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft",ta=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft"+"_t_a"),tb=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft"));
          if (document.getSelection)
          {
	          var sel=editor._sel();
	          //FireFox
	          var range=sel.getRangeAt(0);
	          var lText = sel.toString();
              range.deleteContents();
              newnode = document.createElement("a");
              newnode.setAttribute('href', lLink);
              newnode.setAttribute('target', lTarget);
              newnode.appendChild(document.createTextNode(lText));
              range.insertNode(newnode);
          }
          else 
          {
             var sel = elem.document.selection.createRange();
             sel.pasteHTML ("<a href='"+lLink+"' target="+lTarget+">"+sel.text+"</a>");
           
          }
          
        
    }
}



function GetSelectionDraft()
{
    if (!document.getSelection)
    {
        var elem=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft",ta=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft"+"_t_a"),tb=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft"));
        Selection = elem.document.selection.createRange();
    }
    showPopWin('../PopupDialogs/Link.aspx', 360, 175, ReplaceLinkTextDraft);
}

function ReplaceLinkTextDraft(pFileURL)
{
  Parts = pFileURL.split("|");
    
  lLink = Parts[0];
  lTarget = Parts[1];
  lFileName = Parts[2];
  var editor = iged_getById("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft");
  var elem=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft",ta=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft"+"_t_a"),tb=iged_el("ctl00_ContentPlaceHolder1_SitePageHTMLEditorDraft"));
  if (document.getSelection)
  {
      var sel=editor._sel();
      //FireFox
      var range=sel.getRangeAt(0);
      var lText = sel.toString();
      newnode = document.createElement("a");
      newnode.setAttribute('href', lLink);
      newnode.setAttribute('target', lTarget);
      
      newnode.appendChild(document.createTextNode(lText));
      range.deleteContents();
      range.insertNode(newnode);
  }
  else 
  {
    
    Selection.pasteHTML ("<a href='"+lLink+"' target="+lTarget+">"+Selection.text+"</a>");
  }
   
}

/* PLATFORM MODULE ONLY */
function GoToUser(pUserID, pDMID)
{
  llocation = lAppPath+"/3c_Platform/System_Users.aspx?UID="+pUserID+"&DMID="+pDMID;
  window.location.href=llocation;
}


/*================================ BROWSER DETECTION =========================================*/


var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

//alert(BrowserDetect.browser);