/*
	This is a collection of common javascript functions used throughout
	the KG site.  The KG_CommonScripts.js file should be included in
	all KG templates.
*/

//begin script for rollovers
function swapImgRestore() { //v3.0
  var i,x,a=document.sr;
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function preloadImages() { //v3.0
  var d=document;
  if(d.images) {
	if(!d.p) d.p=new Array();
    var i,j=d.p.length;
    //var a=preloadImages.arguments;
    var a = new Array('images/tnav_btn_myview_on.gif',
					'images/tnav_btn_home_on.gif',
					'images/tnav_btn_pers_on.gif',
					'images/tnav_btn_srch_on.gif',
					'images/tnav_btn_cds_on.gif',
					'images/tnav_btn_stock_on.gif',
					'images/tnav_btn_sitemap_on.gif',
					'images/tnav_btn_etrip_on.gif',
					'images/tnav_btn_feedbk_on.gif',
					'images/tnav_btn_help_on.gif',
					'images/tnav_btn_product_on.gif',
					'images/tnav_btn_salesmktg_on.gif',
					'images/tnav_btn_servsupt_on.gif',
					'images/tnav_btn_partner_on.gif',
					'images/tnav_btn_eesvcs_on.gif',
					'images/tnav_btn_co_on.gif',
					'images/tnav_btn_dept_on.gif',
					'images/icon_contact_on.gif',
					'images/icon_email_on.gif',
					'images/icon_print_on.gif',
					'images/icon_question_on.gif',
					'images/frame_email_on.gif',
					'images/frame_print_on.gif',
					'images/frame_close_on.gif',
					'images/component_collapse_on.gif',
					'images/component_expand_on.gif');
    for(i=0; i<a.length; i++) {
      if (a[i].indexOf("#")!=0) {
	    d.p[j]=new Image; d.p[j++].src=a[i];
	  }
	}
  }
}

function 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=findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n);
  return x;
}

function swapImage() { //v3.0
  var i,j=0,x,a=swapImage.arguments;
  document.sr=new Array;
  for(i=0;i<(a.length-2);i+=3) {
   if ((x=findObj(a[i]))!=null) {
	 document.sr[j++]=x;
	 if(!x.oSrc) x.oSrc=x.src;
	 x.src=a[i+2];
   }
  }
}
//end script for rollovers

//begin script for pop-up window
function stockWindow() {
        popupWindow = window.open('stock.html', 'popupWin', 'width=690,height=150,scrollbars=auto');
}
function mediaWindow() {
        popupWindow = window.open('media.html', 'popupWin', 'width=600,height=550,scrollbars=auto');
}
//end script for pop-up window

//begin script for modal popups
var winModalWindow

function ShowWindow(inURL,inHeight,inWidth)
{
  if (window.showModalDialog)
  {
    window.showModalDialog(inURL,null,
    "dialogWidth="+inWidth+";dialogHeight="+inHeight+";scroll:no;status:no")
  }
  else
  {
    winModalWindow =
    window.open (inURL,"",
       "dependent=yes,scrollbars=no,status=no,modal=yes,width="+inWidth+",height="+inHeight)
    winModalWindow.focus()
  }
}

function fnOpenModalpersonalize(){
  ShowWindow('personalize.html','450px','500px')
}
function fnOpenModalfeedback(){
  ShowWindow('feedback.html','450px','550px')
}
function fnOpenModalcontact(){
  ShowWindow('contact.html','450px','500px')
}
function fnOpenModalcontactdynamic(){
  ShowWindow('contact_dynamic_elements.html','450px','500px')
}
function fnOpenModalcontactcustomer(){
  ShowWindow('contactcust.html','450px','500px')
}
function fnOpenModalemailthis(){
  ShowWindow('email_this.html','450px','500px')
}
//end script for modal popups

/*
	This is a javascript utility that supports multiple
	onload functions.
*/

//begin script for multiple onloads
var gSafeOnload = new Array();

function SafeAddOnload(f)
{
	if  (window.onload)
	{
		if (window.onload != SafeOnload)
		{
			gSafeOnload[0] = window.onload;
			window.onload = SafeOnload;
		}
		gSafeOnload[gSafeOnload.length] = f;
	}
	else
		window.onload = f;
}
function SafeOnload()
{
	for (var i=0;i<gSafeOnload.length;i++)
		gSafeOnload[i]();
}

// Call all window.onload js functions required for page.
SafeAddOnload(HM_f_OtherOnLoad);  //HierMenu
SafeAddOnload(initIt);			  //KG Business Logic (ExpandBusinessRules.js)
SafeAddOnload(preloadImages);	  //Preload rollover images
//end script for multiple onloads