//****************************
// default.js
//****************************
//Rollover javascript

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.01
  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 && d.getElementById) x=d.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];}
}
//Rollover javascript

var jsvFontSize = 100;
var jsvFMax = 120;
var jsvFMin = 100;
var jsvIsIE501 = navigator.userAgent.indexOf("MSIE 5.01") > 0 ? true : false;
var jsvIsNN6 = navigator.userAgent.indexOf("Netscape6") > 0 ? true : false;
var jsvIsIE=document.all&&navigator.userAgent.indexOf("Opera")==-1;
var jsvContractIconUrl = "../images/contact_close.gif";
var jsvExpandIconUrl = "../images/contact_open.gif";
var jsvRotationStop = false;
var jsvTimeoutId;

//
// setFontSize
//
// Retrieves cookie value and applies to font size
//
function setFontSize()
{
	var tempSize = getCookie("fontSize");
	if((tempSize != null) && (tempSize >= 100) && (tempSize <= 120))
	{
		jsvFontSize = tempSize;
	}
	else
	{
		setCookie("fontSize", 100, "", "/");
	}
	document.body.style.fontSize = jsvFontSize + "%";
}
//
// changeFontSize(bool increment)
//
// changes document font size and records size value in cookie
//
function changeFontSize(increment)
{
	if(increment)
	{
		jsvFontSize=parseInt(jsvFontSize) + parseInt(10);
	}
	else
	{
		jsvFontSize=parseInt(jsvFontSize) - parseInt(10);
	}

	if(jsvFontSize > jsvFMax)
	{
		jsvFontSize = jsvFMax;
	}
	if(jsvFontSize < jsvFMin)
	{
		jsvFontSize = jsvFMin;
	}
	switch(jsvFontSize)
	{
		case 100:
			document.body.style.fontSize = "1em";
			break;
		case 110:
			document.body.style.fontSize = "1.10em";
			break;
		case 120:
			document.body.style.fontSize = "1.20em";
			break;
	}
	setCookie('fontSize', jsvFontSize, "", "/");
}
//
// incrementFontSize
//
function incrementFontSize()
{
	changeFontSize(true);
}
//
// decrementFontSize
//
function decrementFontSize()
{
	changeFontSize(false);
}
//
// Sets a Cookie with the given name and value.
//
// name       Name of the cookie
// value      Value of the cookie
// [expires]  Expiration date of the cookie (default: end of current session)
// [path]     Path where the cookie is valid (default: path of calling document)
// [domain]   Domain where the cookie is valid
//              (default: domain of calling document)
// [secure]   Boolean value indicating if the cookie transmission requires a
//              secure transmission
//
function setCookie(name, value, expires, path, domain, secure)
{
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

//
// Gets the value of the specified cookie.
//
// name  Name of the desired cookie.
//
// Returns a string containing value of specified cookie,
//   or null if cookie does not exist.
//
function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function jsfToggleMenu(self)
{
	var n = self;
	var childImg = n.childNodes[0];
	var parentUl = jsvIsIE?n.parentElement:n.parentNode;
	var childUl = parentUl.childNodes[3];
	
	
	if(childUl.style.display == "block" || childUl.style.display == "")
	{
		childUl.style.display = "none";
		childImg.src = jsvExpandIconUrl;
		childImg.alt = "Expand";
		childImg.title = "Expand";
	}
	else
	{
		childUl.style.display = "block";
		childImg.src = jsvContractIconUrl;
		childImg.alt = "Reduce";
		childImg.title = "Reduce";
	}
}

function jsfToggleAll(state)
{
	lists = document.getElementsByTagName('ul');
	//alert(lists[1].id);
	//alert(lists[1].parentElement.parentElement.tagName);
	for(i=0;i<lists.length;i++)
	{
		if((jsvIsIE&&lists[i].parentElement.parentElement.tagName=="UL")||lists[i].parentNode.parentNode.tagName=="UL")
		{
			lists[i].style.display=state;
		}
		if(lists[i].parentNode.childNodes[0].tagName=="A")
		{
			//alert(lists[i].parentNode.childNodes[0].childNodes[0].tagName);
		}
		
		if((jsvIsIE&&lists[i].parentElement.childNodes[0].childNodes[0].tagName=="IMG")||lists[i].parentNode.childNodes[0].tagName=="A")
		{
			if(imgNode = jsvIsIE?lists[i].parentElement.childNodes[0].childNodes[0]:lists[i].parentNode.childNodes[0].childNodes[0])
			{
				if(state=='block')
				{
					imgNode.src = jsvContractIconUrl;
					imgNode.alt = "Reduce";
					imgNode.title = "Reduce";
				}
				else
				{
					imgNode.src = jsvExpandIconUrl;
					imgNode.alt = "Expand";
					imgNode.title = "Expand";
				}
			}
		}
	}
}

function jsfExpandAll()
{
	jsfToggleAll('block');
	jsfSwapjsfShowAlljsfHideAll();
}

function jsfCollapseAll()
{
	jsfToggleAll('none');
	jsfSwapjsfShowAlljsfHideAll();
}

function jsfSwapjsfShowAlljsfHideAll()
{
	if(jsfShowAllDiv = document.getElementById("jsIdShowAll"))
	{
		jsfShowAllDiv.style.display = jsfShowAllDiv.style.display=="block"?"none":"block";
	}
	
	if(jsfHideAllDiv = document.getElementById("jsIdHideAll"))
	{
		jsfHideAllDiv.style.display = jsfHideAllDiv.style.display=="block"?"none":"block";
	}
}

function jsfExpandAllLink()
{
	jsfExpandAll()
	if(document.getElementById("jsIdExpandAll"))
	{
			document.getElementById("jsIdExpandAll").style.display = "none";
	}
	if(document.getElementById("jsIdCollapseAll"))
	{
			document.getElementById("jsIdCollapseAll").style.display = "block";
	}
}

function jsfCollapseAllLink()
{
	jsfCollapseAll()
	if(document.getElementById("jsIdExpandAll"))
	{
			document.getElementById("jsIdExpandAll").style.display = "block";
	}
	if(document.getElementById("jsIdCollapseAll"))
	{
			document.getElementById("jsIdCollapseAll").style.display = "none";
	}
}


function jsfShowHide(id)
{
	divObj = document.getElementById("jsIdShowHideDiv"+id);
	imgObj = document.getElementById("jsIdShowHideImg"+id);
	if(divObj.style.display=="none")
	{
		divObj.style.display = 'block';
		imgObj.src = jsvContractIconUrl;
	}
	else
	{
		divObj.style.display = 'none';
		imgObj.src = jsvExpandIconUrl;
	}
}

function jsfHideAll()
{
	for(i=01;i<20;i++)
	{
		iStr = i<10?"0"+i:i;
		if(divObj = document.getElementById("jsIdShowHideDiv"+iStr))
		{
			imgObj = document.getElementById("jsIdShowHideImg"+iStr);
			divObj.style.display = "none";
			imgObj.src = jsvExpandIconUrl;
		}
	}
	jsfSwapjsfShowAlljsfHideAll();
}

function jsfShowAll()
{
	for(i=01;i<20;i++)
	{
		iStr = i<10?"0"+i:i;
		if(divObj = document.getElementById("jsIdShowHideDiv"+iStr))
		{
			imgObj = document.getElementById("jsIdShowHideImg"+iStr);
			divObj.style.display = "block";
			imgObj.src = jsvContractIconUrl;
		}
	}
	jsfSwapjsfShowAlljsfHideAll();
}

function jsfAutoSwap()
{
	if(jsvRotationStop==false)
	{
		if(document.getElementById("jsMainBanner01").style.display == "block")
		{
			document.getElementById("jsMainBanner01").style.display = "none";
			document.getElementById("jsMainBanner02").style.display = "block";
			document.getElementById("jsMainBanner03").style.display = "none";
			setTimeout("jsfAutoSwap()", 6000);
			return;
		}
		if(document.getElementById("jsMainBanner02").style.display == "block")
		{
			document.getElementById("jsMainBanner01").style.display = "none";
			document.getElementById("jsMainBanner02").style.display = "none";
			document.getElementById("jsMainBanner03").style.display = "block";
			setTimeout("jsfAutoSwap()", 6000);
			return;
		}
		if(document.getElementById("jsMainBanner03").style.display == "block")
		{
			document.getElementById("jsMainBanner01").style.display = "block";
			document.getElementById("jsMainBanner02").style.display = "none";
			document.getElementById("jsMainBanner03").style.display = "none";
			setTimeout("jsfAutoSwap()", 6000);
			return;
		}
	}
}

function jsfHomepageBannerSwap(swapSection)
{
	switch(swapSection)
	{
		case 1:
			document.getElementById("jsMainBanner01").style.display = "block";
			document.getElementById("jsMainBanner02").style.display = "none";
			document.getElementById("jsMainBanner03").style.display = "none";
			break;
		case 2:
			document.getElementById("jsMainBanner01").style.display = "none";
			document.getElementById("jsMainBanner02").style.display = "block";
			document.getElementById("jsMainBanner03").style.display = "none";
			break;
		case 3:
			document.getElementById("jsMainBanner01").style.display = "none";
			document.getElementById("jsMainBanner02").style.display = "none";
			document.getElementById("jsMainBanner03").style.display = "block";
			break;
	}
	clearTimeout(jsvTimeoutId);
	jsvTimeoutId = setTimeout("jsfAutoSwapStart()", 10000);
	jsvRotationStop = true;
}

function jsfAutoSwapStart()
{
	jsvRotationStop = false;
	jsfAutoSwap();
}

//
// trigger onLoad function (jsfOnLoad)
//
function jsfOnLoad()
{
	setFontSize();
	if(document.getElementById("jsIdShowHideDiv03") || document.getElementById("jsIdShowHideDiv01"))
	{
		for(i=01;i<20;i++)
		{
			iStr = i<10?"0"+i:i;
			if(divObj = document.getElementById("jsIdShowHideDiv"+iStr))
			{
				jsfShowHide(iStr);
			}
		}
	}
	
	if(document.getElementById("jsSiteMap"))
	{
		jsfCollapseAll()
	}
	
	if(hpBanner02 = document.getElementById("jsMainBanner02"))
	{
		hpBanner02.style.display = 'none';
		document.getElementById("jsMainBanner01").style.display = "block";
		setTimeout("jsfAutoSwap()", 5000);
	}
	
	if(hpBanner03 = document.getElementById("jsMainBanner03"))
	{
		hpBanner03.style.display = 'none';
	}
	
	if(pageOptions = document.getElementById("jsIdPageOptions"))
	{
		pageOptions.style.display = 'block';
	}
	
	if((hideAllDiv = document.getElementById("jsIdHideAll")) && (showAllDiv = document.getElementById("jsIdShowAll")))
	{
		hideAllDiv.style.display = "none";
		showAllDiv.style.display = "block";
	}
}

function submitForm (formName, elementName, commandName) {
	document.forms[formName].all[elementName].name = commandName;
	document.forms[formName].submit();
}

var da = (document.all) ? 1 : 0;
var pr = (window.print) ? 1 : 0;
var mac = (navigator.userAgent.indexOf("Mac") != -1);

function printThis()
{
	if (pr)
	{
		window.print();
	}
	else if (da && !mac)
	{
		vbPrintPage();
	}
	else
	{
		if(mac)
		{
			alert("Please press your Print button on your iMac computer to print.");
		}
		else
		{
			alert("Sorry, your browser doesn't support this feature.");
		}
	}
}

if (da && !pr && !mac) with (document)
{
	writeln('<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>');
	writeln('<' + 'SCRIPT LANGUAGE="VBScript">');
	writeln('Sub window_onunload');
	writeln('  On Error Resume Next');
	writeln('  Set WB = nothing');
	writeln('End Sub');
	writeln('Sub vbPrintPage');
	writeln('  OLECMDID_PRINT = 6');
	writeln('  OLECMDEXECOPY_DONTPROMPTUSER = 2');
	writeln('  OLECMDEXECOPT_PROMPTUSER = 1');
	writeln(' On Error Resume Next');
	writeln(' WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DOTPROMPTUSER');
	writeln('End Sub');
	writeln('<' + '/SCRIPT>');
}

if (window.addEventListener)
{
	window.addEventListener("load", jsfOnLoad, false);
}
else
{
	if (window.attachEvent)
	{
		window.attachEvent("onload", jsfOnLoad);
	}
	else
	{
	if (document.getElementById)
		{
			window.onload = jsfOnLoad;
		}
	}
}


//****************************
// closewin.js
//****************************
var alertTimer;
var alertwin;

var accHistoryPrintTimer;
var accHistoryPrintWin;

var openPdfFileTimer;
var openPdfFileWin;

function closewin()
{
	killSession();

	if (alertwin)
	{
		alertwin.close();
		alertwin = null;
		clearTimeout(alertTimer);
	}
		
	closeAll();
}

function closewin()
{
	killSession();

	if (alertwin)
	{
		alertwin.close();
		alertwin = null;
		clearTimeout(alertTimer);
	}

	if(accHistoryPrintWin)
	{
	 	accHistoryPrintWin.close();
		accHistoryPrintWin = null;
	 	clearTimeout(accHistoryPrintTimer);
	}

	if(openPdfFileWin)
	{
	 	openPdfFileWin.close();
		openPdfFileWin = null;
	 	clearTimeout(openPdfFileTimer);
	}

	closeAll();
}

function killSession()
{
/*	if (window.event)
	{
		if (window.event.clientX < 0 && window.event.clientY < 0)
	      {
	            window.open(contextRoot + "/servlet/com.hsbc.ebank.app.hib.base.KillSessionServlet", "KillSession", "width=1,height=1,resizable=no,menubar=no,toolbar=no,directories=no,location=no,scrollbars=no,status=no, fullscreen=no, titlebar=no, alwaysRaised=no, hotkeys=no");
	      }
	}
*/
}


//****************************
// disablecontrol.js
//****************************
 /*P2G1002*/ var ifSubmitForm = "no";
 /*P2G1016*/ var contextRoot  = "/P2G_PortalWeb";
 /*P2G1016*/ var contextPath  = "/hubpib";
var message="This function is not allowed within HSBC Direct Internet Banking.";
 
window.history.forward(1);
document.oncontextmenu = function(){return false}

function getkey(e)
{
if (window.event)
   return window.event.keyCode;
else if (e)
   return e.which;
else
   return null;
}
if (navigator.appName == "Netscape")
{
   document.onkeypress = function(e) {
   	var c = document.layers ? e.which : document.all ? event.keyCode : e.keyCode;		
	// if (c == 116) {
	//	alert(message);
	//	return false;
	//}
		var key = "", keychar = "";
		key = getkey(window.event);
	
		if (key != null) {
			keychar = String.fromCharCode(key);
		}
	
		if (c == 116 && keychar== "") {
			alert(message);
			return false;
		}
   }
}
else {
	document.onkeydown = function(){
		if(window.event && window.event.keyCode == 116) 
        	{ // Capture and remap F5
			window.event.keyCode = 505;
  		}

		if(window.event && window.event.keyCode == 505) {
			alert(message);
			return false; 
		}
	}
}
//
// ifSubmitFormNoFrame - a no frame version of the ifSubmitForm flag
//
var ifSubmitFormNoFrame = false;


//Reset the Flag that control double click prevention and ensure http request sent one after one
if(parent != null && parent.ifSubmitForm != null) 
{ 
	parent.ifSubmitForm = "no";
} 

//Turn the control flag on to prevent double click and multiple http request at a time
function setHttpReqCrtlFlg()
{
	if(parent != null && parent.ifSubmitForm != null)
	{
		parent.ifSubmitForm = "yes";
	}
}

//When hyperlink is clicked, set control flag and replace location
function chgLocation(link)
{
	setHttpReqCrtlFlg();
	location.replace(link);
	return;
}

/*P2G1016 - new function - removed */
/* no longer used in portal */ 	
function goToNewLocation(link)
{
	//For usage of this function, the context root must be already included inside the link.
	//If the context root is not known at runtime, use chgLocation(link) method.
/*	setHttpReqCrtlFlg();
	location.replace(link);
	return;
*/
}


/*P2G1016 - new function*/	
/* no longer used in portal */
function goToNewLocation2(cRoot, link)
{
	//cRoot is the context root.
	//link is the hyperlink without context root
	//If the context root is not known at runtime, use chgLocation(link) method.
/*
	setHttpReqCrtlFlg();
	location.replace(cRoot + link);
	return;
*/
}


//When a form, inputForm, is about to be sent, set control flag if the reqType is "Y"
//and submit form
/* no longer used in portal */
function formSubmit3(reqType)
{
/*
	if(document != null && document.inputForm != null)
	{
		if(reqType == "Y")
		{
			setHttpReqCrtlFlg();
		}
      	document.inputForm.submit();
	}
      return;
*/
}


//When a form, inputForm, is about to be sent, set control flag and submit form
//function formSubmit()
//{
//	if(document != null && document.inputForm != null)
//	{
//		setHttpReqCrtlFlg();
//      	document.inputForm.submit();
//	}
//      return;
//}
/* P2G1016 new version */ 
function formSubmit(form)
{
	if(!checkIfSubmittedForm())
	{
		setHttpReqCrtlFlg();
		form.submit();
	}
	return;
}



//When a form, inputForm1, is about to be sent, set control flag and submit form
/* no longer used in portal */
function form1Submit() 
{
/*
	if(document != null && document.inputForm1 != null)
	{
		setHttpReqCrtlFlg();
		document.inputForm1.submit();
	}
      return;
*/
}


//When a form, inputForm, is about to be sent, set control flag and submit form
function formSubmit2(id)
{
/* P2G1002 removed
  parent.nav.location="/servlet/com.hsbc.ebank.app.hib.base.MenuServlet?id=" + id + "";
  setHttpReqCrtlFlg(); 
  document.inputForm.submit();
  return;
*/
/*P2G1002*/	alert("The javascript function 'formSubmit2(id)' is obsolete.");
}

//Check the control flag status
function checkIfSubmittedForm()
{
  if(parent != null && parent.ifSubmitForm != null && parent.ifSubmitForm=="yes")
  {
    return true;
  }
  else
  {
    return false;
  }
}


//
// checkIfSubmittedFormNoFrame - check the ifSubmittedForm flag for pages with no frames
//   return - true if the form is submitted, false otherwise
//
/* no longer used in portal 
   use checkIfSubmittedForm*/ 
function checkIfSubmittedFormNoFrame()
{
   // return ifSubmitFormNoFrame;
}


//
// setIfSubmittedFormNoFrame - set the ifSubmittedForm flag value for no frame pages
//   flag - true if the form is submitted, false otherwise
//
/* no longer used in portal 
   use setHttpReqCtrlFlag*/ 
function setIfSubmittedFormNoFrame(flag)
{
//    ifSubmitFormNoFrame = flag;
}


//
// inputFormSubmitNoFrame - no frame version of formSubmit. It checks if the form is submited
//                          if not, set the flag and trigger the inputForm submission. 
//
/* no longer used in portal 
   use inputFormSubmitNoForm*/ 
function inputFormSubmitNoFrame()
{
/*
    if (!checkIfSubmittedFormNoFrame())
    {
        setIfSubmittedFormNoFrame(true);
        document.inputForm.submit();
    }

    return;       // this to avoid any redirection of the hyperlink
*/
}


//
// formSubmitNoFrame - form submit with an argument. This one should be used in forms that are
//                     not named inputForm and no frame situation
//   form - the form to carry out the submission
//
/* no longer used in portal 
   use formSubmit*/ 
function formSubmitNoFrame(form)
{
/*
    if (!checkIfSubmittedFormNoFrame())
    {
        setIfSubmittedFormNoFrame(true);       
        form.submit();
    }
*/
}


//
// chgLocationNoFrame - this is for hyperlinks on no frame pages. It checks the form submit
//                      flag before doing the redirection.
//   link - the link to be redirected to
//
/* no longer used in portal 
   use chgLocation*/ 
   
function chgLocationNoFrame(link)
{
/*
    if (!checkIfSubmittedFormNoFrame())
    {
        setIfSubmittedFormNoFrame(true);
//P2G1016        location.replace(link);
*/
/*P2G1016*/ /*      location.replace(contextRoot + link);
    }

    return;       // this to avoid any redirection of the hyperlink
*/
}


//
// showPopupNoFrame - check the form submit flag and carry out a function
//                    in a frameless page
//   popup - the name of the popup function
//   args - the rest of the arguments will be used to call that popup function
//   return - true if the form is not previously submitted, false otherwise
//
/* no longer used in portal 
   use functions in Popups.js*/ 
function showPopupNoFrame(popup)
{
/*
    if (!checkIfSubmittedFormNoFrame())
    {
        var args = showPopupNoFrame.arguments;
        var popupArgs = new Array(args.length);

        // trim the first argument from the argument list
        for (i = 0; i < args.length - 1; i++)
        {
            popupArgs[i] = args[i + 1];
        }

        // apply the popup function if with the argument list
        popup.apply(this, popupArgs);
     
        return true;
    }
    return false;
*/
}



function click1(e)
{
	if (document.all)
	{
		if (event.button == 2)
		{ 
			alert(message); 
			return false; 
		} 
	} 
	if (document.layers) 
	{ 
		if (e.which == 3 || e.which == 2) 
		{ 
			alert(message); submitForm = "no"; 
 			return false; 
		} 
	} 
}

function click2(e) 
{ 
	if (e.which == 3 || e.which == 2) 
	{ 
		alert(message); 
		return false; 
	} 
} 

var s = navigator.appVersion; 
var len = s.length; 
var t = s.substring (0, 3); 
var ver = parseFloat(t); 

if ( (navigator.appName == "Netscape") && (ver >=5)) 
	document.onmouseup=click2; 
else 
	document.onmousedown=click1;

// code for disabling Enter Key
if (navigator.appName == "Netscape")
{
    window.onfocus = function()
    {
        if (document.inputForm)
        {
            for (var i = 0; i < document.inputForm.length; i++)
            {
                document.inputForm[i].onkeypress = function(e)
                {
                    var c = document.layers ? e.which : document.all ? event.keyCode : e.keyCode;		
                    if (document.inputForm[i].type != "textarea" && (c == 13 || c == 3)) return false;
                };
            }
        }
        window.onfocus = null;
    };
}
else
{
    document.onkeypress = function(e)
    {
        var c = document.layers ? e.which : document.all ? event.keyCode : e.keyCode;
//DDSEL50020        if ((document.activeElement.type == "text" || document.activeElement.type == "password") && (c == 13 || c == 3)) return false;
    };
}


//****************************
// popups.js
//****************************
if (navigator.childWin == null)
{
   navigator.childWin = new Array();
}
var childWin = navigator.childWin;


function showChild(ID, ChildHTMLFile, Rules)
{
  if (!Rules)
    childWin[ID] = window.open(ChildHTMLFile,ID,'dependent=yes,resizable=yes,width=640,height=500,screenX=0,screenY=0,left=0,top=0,titlebar=yes,scrollbars=yes');
  else
    childWin[ID] = window.open(ChildHTMLFile,ID,Rules);
	
  return childWin[ID];
}

function closeChild(ID)
{
  if (childWin[ID] != null)
  {
    childWin[ID].close();
    childWin[ID] = null;
  }
}

function closeAll()
{
  closeChild(1);
  closeChild(2);
  closeChild(3);
  closeChild(4);
  closeChild(5);
  closeChild(6);
  closeChild(7);
  closeChild(8);
  closeChild(9);
  closeChild(10);
  closeChild(11); 
  closeChild('help');
  closeChild('Timer'); 
  closeChild('Alert');  
 

}


function showProductSpecificInterestRateInquiry(url, productType, currency)
{
	if ((currency > 0) && (productType > 0))
	{

   	showChild(1, (url+'&accountType='+productType+'&depositCurrency='+currency), 'dependent=yes,width=480,height=510,screenX=0,screenY=0,left=0,top=0,titlebar=yes');
	return false;
	}
	else
	{

		return true;
	}
}

function showInterestRateInquiry(url)
{
	//DDSEL144 Remove showChild(1, url, 'scrollbars=yes,dependent=yes,width=600,height=500,screenX=0,screenY=0,left=0,top=0,titlebar=yes');
	/* DDSEL144 Add */ showChild(1, url, 'scrollbars=yes,dependent=yes,width=670,height=500,screenX=0,screenY=0,left=0,top=0,titlebar=yes');
}


function showCheckBalance(url, debitAccountIndex)
{ 
  return showChild(6, url+'&debitAccountIndex='+debitAccountIndex, 'dependent=yes,width=480,height=510,screenX=0,screenY=0,left=0,top=0,titlebar=yes');
}  


function showAcHistoryPrint(url)
{
  return showChild(9, url, 'scrollbars=yes,dependent=yes,width=700,height=500,screenX=0,screenY=0,left=0,top=0');
}

function showCheckBalance(url)
{
  return showChild(6, url, 'scrollbars=yes,dependent=yes,width=600,height=500,screenX=0,screenY=0,left=0,top=0');
}



function showProductFeatures(nextPage)
{
	showChild(2, nextPage, 'scrollbars=yes,width=600,height=500,screenX=0,screenY=0,left=0,top=0,titlebar=yes');
}


function showHelp(url)
{
	showChild('help', url, ' width=650, height=400, menubar=no, resizable-no, toolbar=no,directories=no,location=no,scrollbars=yes,status=yes,copyhistory=0');
}

function showTimeout(url)
{

	showChild('Timer', url, 'dependent=yes,width=390,height=300,resizable=no,menubar=no,toolbar=no,directories=no,location=no,scrollbars=no,status=no, fullscreen=no, titlebar=no, alwaysRaised=yes, hotkeys=no');
}

function showAlert(url)
{
	return showChild('Alert', url, 'dependent=yes,resizable=no,screenX=0,screenY=0,left=0,top=0,titlebar=yes,scrollbars=no');
}


function showPdf(pdfIndex, form)
{
	var id = 10;
	form.pdfDwnldIndex.value = pdfIndex;
	form.target=id;
	var rules = 'menubar=no, toolbar=no,directories=no,location=no,scrollbars=no,status=yes,copyhistory=0, height=700,width=700,left=300,top=10';
	childWin[id] = window.open("", id, rules);

}

function showLogonHelp(Lang)
{
  if (Lang)
    showChild('help', contextRoot + contextPath + '/Helptext/en/Logon.htm', 'width=650, height=400, menubar=no, resizable-no, toolbar=no,directories=no,location=no,scrollbars=yes,status=yes,copyhistory=0');
  else
    showChild('help', contextRoot + contextPath + '/Helptext/zh/Logon.htm', 'width=650, height=400, menubar=no, resizable-no, toolbar=no,directories=no,location=no,scrollbars=yes,status=yes,copyhistory=0');
}

function showOrAckHelp(Lang)
{
  if (Lang)
    showChild('help', contextRoot + contextPath + '/Helptext/en/OrAck.htm', 'width=650, height=400, menubar=no, resizable-no, toolbar=no,directories=no,location=no,scrollbars=yes,status=yes,copyhistory=0');
  else
    showChild('help', contextRoot + contextPath + '/Helptext/zh/OrAck.htm', 'width=650, height=400, menubar=no, resizable-no, toolbar=no,directories=no,location=no,scrollbars=yes,status=yes,copyhistory=0');
}

function showTermsAndConditionsHelp(Lang)
{
  if (Lang)
    showChild('help', contextRoot + contextPath + '/Helptext/en/TermsAndConditions.htm', 'width=650, height=400, menubar=no, resizable-no, toolbar=no,directories=no,location=no,scrollbars=yes,status=yes,copyhistory=0');
  else
    showChild('help', contextRoot + contextPath + '/Helptext/zh/TermsAndConditions.htm', 'width=650, height=400, menubar=no, resizable-no, toolbar=no,directories=no,location=no,scrollbars=yes,status=yes,copyhistory=0');
}

function showCalendar()
{
//P2G5002#2647  top.newWin=showChild(4,  contextRoot + contextPath + '/jsp/calendar.html', 'dependent=yes,width=280,height=700,screenX=0,screenY=0,left=0,top=0,titlebar=yes');
top.newWin=showChild(4, 'javascript:document.write(parent.opener.calDocAll);self.focus();', 'scrollbars=yes,dependent=yes,width=280,height=700,screenX=0,screenY=0,left=0,top=0,titlebar=yes');
  return top.newWin;
}

function showCalendarPortlet(url)
{
  top.newWin=showChild(4, url, 'scrollbars=yes,dependent=yes,width=280,height=700,screenX=0,screenY=0,left=0,top=0,titlebar=yes');
  return top.newWin;
}

function showDisclaimer(disclaimerPath)
{
    return showChild(5, disclaimerPath, 'resizable=yes,width=700,height=500,left=0,top=0,scrollbars=yes');
}

function toLogon(url) 
{
  if (confirm('You have decided to reject the terms and conditions for using the Internet Banking service.  Click OK to exit from the registration process or click Cancel to resume your registration process.'))
    {
		window.open(url,'PreLogon');
    }
}

function logonAgain(url) 
{
	window.open(url,'PreLogon');
}

function showZipCodeFinder(url)
{
  return showChild(11, url, 'scrollbars=yes,dependent=yes,width=450,height=300,screenX=0,screenY=0,left=0,top=0');
}

//this function capture the promo code 'SOURCE' from URL and store it in cookie file for 90 days

function sourceCapture(){
	var searchKey = "SOURCE=";
	var dummyValue = "register_directly";
	var expiresDay = 90;
	
	//get source value from URL
	if(window.location.search){
				
		var searchParameter = window.location.search;
		var pos=searchParameter.toUpperCase().indexOf(searchKey);
		if (pos!=-1){
						
			var start=pos+searchKey.length;
			var end=searchParameter.indexOf("&",start);
			if(end==-1){
				end=searchParameter.length;
			}
			var searchValue =searchParameter.substring(start,end);
			
			//store source into cookie for 90 days
			var cookieDate = new Date();
			cookieDate.setTime(cookieDate.getTime() + (1000*60*60*24*expiresDay));
			
			document.cookie = searchKey + escape(searchValue) + ";expires="+cookieDate.toGMTString()+";path=/"+(((typeof(gFpcDom)!="undefined")&&(gFpcDom!=""))?("; domain="+gFpcDom):(""));
			
			
		}else{
			//check dummy exist in current cookie file
			if(readCookie(searchKey) == null){
				var cookieDate = new Date();
				cookieDate.setTime(cookieDate.getTime() + (1000*60*60*24*expiresDay));
				document.cookie = searchKey + escape(dummyValue) + ";expires="+cookieDate.toGMTString()+";path=/"+(((typeof(gFpcDom)!="undefined")&&(gFpcDom!=""))?("; domain="+gFpcDom):(""));
				
			}
		}	
	}else{
		if( readCookie(searchKey) == null){
			var cookieDate = new Date();
			cookieDate.setTime(cookieDate.getTime() + (1000*60*60*24*expiresDay));
			document.cookie = searchKey + escape(dummyValue) + ";expires="+cookieDate.toGMTString()+";path=/"+(((typeof(gFpcDom)!="undefined")&&(gFpcDom!=""))?("; domain="+gFpcDom):(""));
				
		}
	}
}

//this function read the cookie file and return the cookie value if there is a match with searchKey.
function readCookie(searchKey){

	var cookieArray = document.cookie.split(';');
	
	for(i=0;i < cookieArray.length;i++) {
		var cookieItem = cookieArray[i];
		
		while (cookieItem.charAt(0)==' ') {
			cookieItem = cookieItem.substring(1,cookieItem.length);
		}
		
		if (cookieItem.indexOf(searchKey) == 0) {
			return cookieItem.substring(searchKey.length,cookieItem.length);
		}
	}
	
	return null;
	
}
