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 (e, cElementId) {
	var isEnterPressed = false;
	
	if (e) {
		if (e.which) {
			if (e.which==13) {
				isEnterPressed = true;
			}
		}
		else if (e.keyCode) {
			if (e.keyCode==13) {
				isEnterPressed = true;
			}
		}
	}
	else {
		if (window.event) {
			if (window.event.keyCode==13) {
				isEnterPressed = true;
			}
		}
	}
	
	if (isEnterPressed) {
		var objButton = null;
		objButton = GetDocumentElement(cElementId); 	
		if (objButton!=null) {
			if (objButton.click) {
				objButton.click();
			} 
		}
		return false;
	}
}

/* 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 X Position of Element */
function GetXPos (cObj) {
	var cLeft = 0 ;
	if (cObj!=null) {
	    if (cObj.offsetParent) {
	        while (cObj.offsetParent) {
	                cLeft += cObj.offsetLeft;
	                cObj   = cObj.offsetParent;
	        }
	    }
	    else if (cObj.x) {
	        cLeft +=cObj.x; 
	    }
	}   
	return cLeft;
}

/* Get Y Position of Element */
function GetYPos (cObj) {
	var cTop = 0 ;
	if (cObj!=null) {
	    if (cObj.offsetParent) {
	        while (cObj.offsetParent) {
	                cTop += cObj.offsetTop;
	                cObj  = cObj.offsetParent;
	        }
	    }
	    else if (cObj.y) {
	        cTop +=cObj.y; 
	    }
	}   
	return cTop;
};

/* Show ToolTip  */
function ShowToolTip (object, toolTipName, xOffset, yOffset) {
	var tt = GetDocumentElement (toolTipName);
	var xPos = 0;
	var yPos  = 0;

	if (tt!=null) {
		xPos = GetXPos (object) + xOffset;
		yPos = GetYPos (object) + yOffset;

		tt.style.left = xPos.toString() + "px";
		tt.style.top  = yPos.toString() + "px";
		tt.style.visibility = "visible";
		tt.style.display = "block";
	}
}

/* Hide ToolTip  */  
function HideToolTip (toolTipName) {
	var tt = GetDocumentElement (toolTipName);
	if (tt!=null) {
		tt.style.visibility = "hidden";
		tt.style.display = "none";
	}
}


/* 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 Sector Studies */
function LaunchPagePrint (langID, pageID) {
   var url = new String();
   var win = null;
    
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFBPagePrint.ascx&theme=Main";
   url += "&lang=" + langID;
   url += "&pid="  + pageID;
   
   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 Balance Sheets */
function LaunchBalancePrint (langID, gridID) {
   var url = new String();
   var win = null;
   
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFBBalanceSheetsPrint.ascx&theme=BalanceSheets";
   url += "&lang=" + langID;
   url += "&gid="  + gridID;
   
   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 Business Connect */
function LaunchBusinessConnectPrint (langID, gridID) {
   var url = new String();
   var win = null;
   
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFBBusinessConnectPrint.ascx&theme=BusinessConnect";
   url += "&lang=" + langID;
   url += "&gid="  + gridID;
   
   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 Groups */
function LaunchSectorsGroupsPrint (langID,gridID,typeID,criteria) {
   var url = new String();
   var win = null;
   
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFBSectorsGroupsPrint.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 Sector Companies */
function LaunchSectorsCompaniesPrint (langID,gridID,criteria) {
   var url = new String();
   var win = null;
    
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFBSectorsCompaniesPrint.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 Groups */
function LaunchGroupsPrint (langID,gridID,typeID,criteria) {
   var url = new String();
   var win = null;
   
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFBGroupsPrint.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=vwFBCompaniesPrint.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 Companies in Premium Grid*/
function LaunchPremiumCompaniesPrint (langID,gridID,criteria) {
   var url = new String();
   var win = null;
    
   url  = "Default.aspx?t=ECPrintNew.aspx&page=vwFBPremiumCompaniesPrint.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=vwFBSectorStudiesPrint.ascx&theme=SectorStudies";
   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;
}



