String.prototype.trim = new Function("return this.replace(/\\s+$|^\\s*/gi,'');");

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function GetDocObj(elementID){
	element = window.document.getElementById(elementID);
	return element;
}






function ValidateLogin(usernameID, passwordID, usernameMsg, passwordMsg){
	var IsOK = true;

	try{
		if (GetDocObj(usernameID).value.trim().length == 0){
			alert(usernameMsg);
			GetDocObj(usernameID).focus();
			IsOK = false;
		}
		if (IsOK && GetDocObj(passwordID).value.trim().length == 0){
			alert(passwordMsg);
			GetDocObj(passwordID).focus();
			IsOK = false;
		}
	}catch(e){
		IsOK = false;
		//alert(e);
	}

	return IsOK;
}









/* Get Page Element by Id */
function GetDocumentElement (elementId) {
  if (this.document.all) {
	return this.document.all(elementId);
  }
  else if (this.document.getElementById) {
    return this.document.getElementById(elementId);
  }
  else {
    return null;  
  }
}

/* Handle the Key Stroke text fields */
function HandleKeyStroke (cElementId) {
	if (window.event) {
		if (window.event.keyCode == 13) {
			var objButton = null;
			objButton = GetDocumentElement(cElementId); 	
			if (objButton!=null) {
				if (objButton.click) {
					 objButton.click();
				} 
			}
			return false;
		}
	}
}


/* Get Form Element by Name */
function GetFormElementByName (baseControl,elementName) {
  var objForm    = null;
  var objField   = null;
  var objElement = null;
  var strName    = new String();
  var strControl = new String();
  var objArray   = new Array();
  var i,j;
    
  if (self.document.forms.length>0) {
      objForm = self.document.forms[0];
      
      for (i=0;i<objForm.elements.length;i++) {
           strName = objForm.elements[i].name.toString();
           // Split Name
           if (strName.indexOf (":",0)>=0) {
              objArray = strName.split (":");
           }
           else if (strName.indexOf ("$",0)>=0) {
              objArray = strName.split ("$");
           }
           else {
              objArray[0] = strName; 
           };

		   // Get Control Name    
		   strControl = "";
		   if (objArray.length>0){
			  for (j=0;j<objArray.length-1; j++) {
				 strControl += objArray[j];	  
				 if (j<objArray.length-2) {
					 strControl += "_";
				 }
			  }	   	    
           }
           
           /* Old Code
           // Get Control Name    
           strControl = "";
           if (objArray.length>1){
               strControl = objArray[objArray.length-2].toString();
           }
		   */
			
		   // Get Name	
           strName = objArray[objArray.length-1].toString();
           if ((strControl==baseControl) && (strName==elementName)) {
              objElement = objForm.elements[i];
              break;
           };
           
      };
  };
  return objElement;
}

function GetFormElementByName2 (baseControl,elementName) {
  var objForm    = null;
  var objElement = null;
  var strName    = new String();
  var strControl = new String();
  var strDelim   = new String();
  var objArray   = new Array();
  var i,j;
    
  if (self.document.forms.length>0) {
      objForm = self.document.forms[0];
      
      for (i=0;i<objForm.elements.length;i++) {
           // Get Name
           strName = objForm.elements[i].name.toString();
          
           // Split Name
           if (strName.indexOf (":",0)>=0) {
              objArray = strName.split (":");
              strDelim = ":";
           }
           else if (strName.indexOf ("$",0)>=0) {
              objArray = strName.split ("$");
              strDelim = "$";
           }
           else {
              objArray[0] = strName; 
              strDelim = "";
           };
		
		   // Get Control name		
		   strName = objArray[objArray.length-1].toString();
		   
		   // Generate Control name
		   strControl = "";
		   if (objArray.length>1) {
		      for (j=0;j<objArray.length-1;j++) {
		          strControl += objArray[j] + strDelim;     
		      }
		      strControl = strControl.substr (0,strControl.length-1);
		   }	
           
           // Check for control
           if ((strControl==baseControl) && (strName==elementName)) {
              objElement = objForm.elements[i];
              break;
           };
      };
  };
  return objElement;
}

/* Print Groups */
function LaunchGroupsPrint (langID,gridID,typeID,criteria) {
   var url = new String();
   var win = null;
   
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFB2PrintGroups.ascx";
   url += "&lang=" + langID;
   url += "&gid="  + gridID;
   url += "&tid="  + typeID;
   url += "&cr="   + criteria;
   
   win = window.open(url,"_blank","scrollbars=1, resizable=1, toolbar=no, location=no, menubar=no, width=800, height=800");
   if (win!=null) {
	  win.focus();   
   }
   return false;
}


/* Print Companies */
function LaunchCompaniesPrint (langID,gridID,criteria) {
   var url = new String();
   var win = null;
    
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFB2PrintCompanies.ascx";
   url += "&lang=" + langID;
   url += "&gid="  + gridID;
   url += "&cr="   + criteria;
   
//   win = window.open(url,"_blank","scrollbars=1, resizable=1, toolbar=no, location=no, menubar=no, width=800, height=800");
   win = window.open(url,"_blank","");
   if (win!=null) {
	  win.focus();   
   }
   return false;
}

/* Print Companies in Premium Grid*/
function LaunchPremiumCompaniesPrint (langID,gridID,criteria) {
   var url = new String();
   var win = null;
    
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFB2PrintPremiumCompanies.ascx";
   url += "&lang=" + langID;
   url += "&gid="  + gridID;
   url += "&cr="   + criteria;
   
   win = window.open(url,"_blank","scrollbars=1, resizable=1, toolbar=no, location=no, menubar=no, width=800, height=800");
   if (win!=null) {
	  win.focus();   
   }
   return false;
}

/* Print Sector Studies */
function LaunchSectorsPrint (langID,gridID,criteria) {
   var url = new String();
   var win = null;
    
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFB2PrintSectorStudies.ascx";
   url += "&lang=" + langID;
   url += "&gid="  + gridID;
   if ((criteria!='') && (criteria.length>0)) {
	  url += "&cr="   + criteria;
   }	  
   
   win = window.open(url,"_blank","scrollbars=1, resizable=1, toolbar=no, location=no, menubar=no, width=800, height=800");
   if (win!=null) {
	  win.focus();   
   }
   return false;
}


function SendEmail () {
   var win = null;
   var url = new String();
  
   url = "mailto:?subject=ICAP FindBiz&body=" + escape(window.location.href);
   self.window.location.href = url;
   return false;
}

