function setLastLogonTime(time) {
	 lastLogontime = time;
}

function getLastLogonTime() {
	 if (lastLogontime == null) return ""
	 return lastLogontime;
}

function formatLastLogonTime4Display(time) {
	 var hhmmssArray = time.split(".");
	 return hhmmssArray[0] + ":" + hhmmssArray[1];
}

function formatLastLogonDate4Display(datefield) {
	 var hhmmssArray = datefield.split("-");
	 return hhmmssArray[0] + "/" + hhmmssArray[1] + "/" + hhmmssArray[2];
}

function getCustomerTypeDesc(){
	return customerTypeDesc[getCustomerType()];	
}

function isExternalSite(link){
	if (link.toUpperCase().indexOf("HTTP") > -1)	
		return true;
	return false;	
}

function isNetscape(){
	if (navigator.appName.toUpperCase().indexOf("NETSCAPE") > -1)
		return true;
	return false;
}

function getEnvCode(){
	if (window.location.protocol.toUpperCase() == "HTTPS:")
		return NB_ENV_CODE;
	else
		return CO_ENV_CODE;
}

function getDomain(protocol){
	switch (protocol.toUpperCase()){
		case "HTTP":
			return HTTP_DOMAIN;
			break;
		case "HTTPS":
			return HTTPS_DOMAIN;
			break;
				case "WLS":
			return "https://www.winglungsec.com";
			break;
				case "WLF":
						return "https://www.winglungfutures.com";
						break;
		default:
			return "";
	}
}

function isFunction(ww, link) {
	 var funcat2 = ww + getFunctionCategory(link, 1) + getFunctionCategory(link, 2);
	 var avail = availability[funcat2];
	 if (avail != null && avail != "" && funcat2.length == 11)	
		return true;
	 return false;
}

function setCustomerType(cType) {
	 customerType = cType;
}

function getCustomerType() {
	 return customerType;
}


function sendToLog(link, withCustType) {
}

function getLowestFuncCat(ww, link){
	if (isFunction(ww, link))
		return ww + getFunctionCategory(link, 1) + getFunctionCategory(link, 2)
	else
		return ww + getFunctionCategory(link, 1)
}

function getFunctionCategory(link, level) {
	 if (!isPage(link)) { 
	    if (level == 1)
		 return link.slice(2, 5);
	    else
		 return link.slice(5, 11);
	 } else {	      
	     if (level == 1)
			return link.slice(4, 7);
	     else
			return link.slice(7, 13);
	 }
	 return "";
}

function isPage(link){
	if (link.indexOf(".") != -1)
		return true;
	return false;
}

function isJSP(link){
	var tmp = link.toLowerCase();
	if (tmp.indexOf(".jsp") != -1)
		return true;
	return false;
}

function setSessionId(session) {
	 sessionId = session;
}

function getSessionId() {
	 return sessionId;
}

function setLanguage(lang) {
	 language = lang;
}

function getLanguage() {
	 return language;
}

function getSessionCounter() {
  return sessionCounter; 
}

function setSessionCounter(counter) {
  sessionCounter = counter;
}

function addLanguagePrefix(link){
	if (isPage(link) && link.slice(0,2) != getLanguage() && link.slice(0,2) != "Xx")
		return getLanguage() + link;
	return link;
}

function setCurrentFunction(func) {
	currentFunction = addLanguagePrefix(func);
	currentFuncForFrameC = "";
}

function getDepartmentCode(depart) {	
	 return DeptCode[depart];
}

function isFunctionAvailable(link) {
	 var str1 = link;
	 var str = availability[str1];
	 if (str == "disable" || str == "prohibt" || str =="enable")
		return str;
	 return "disable";
}

function isSystemPage(link, ww){
	if (link.indexOf(NO_ACC_PAGE[ww]) > -1 || link.indexOf(NOT_AVAIL_PAGE[ww]) > -1 || link.indexOf(TYPHOON_PAGE[ww]) > -1)
		return true;
	return false;
}

function isWelcomePage(link, ww) {
	if (ww == NB_ENV_CODE && link.indexOf("Wel.jsp") > -1)
		return true;
	return false;
}

function setDuringOTP(isOTP) {
	duringOTP = isOTP;
}

function getDuringOTP() {
	return duringOTP;
}

function setCustType(cType) {
	custType = cType;
}

function getCustType() {
	return custType;
}

function setHKSFType(hType) {
	hksfType = hType;
}

function getHKSFType() {
	return hksfType;
}

function determineTargetURI(link, ww, param){ 
	var str, flowname;
	if (param == null)
		param = "";
	var tempdate = new Date();
	var timestamp = tempdate.getTime();
	var langLower = getLanguage().toLowerCase();
	if (!isPage(link)) {		
		if (param != "" && param.slice(0,1) != "&")	
			param = "&" + param;
		if (ww == CO_ENV_CODE)
			str = "/ibanking/WlbLogonServlet?dse_operationName="+link+"&dse_processorState=initial&dse_nextEventName=start&mcp_language="+langLower+"&CustomerType=0&dse_parentContextName=&mcp_timestamp="+timestamp+param;
		else
			str = "/ibanking/McpCSReqServlet?dse_operationName="+link+"&dse_processorState=initial&dse_nextEventName=start&"+getSessionId()+"&mcp_language="+langLower+"&dse_pageId=1&dse_parentContextName=&mcp_timestamp="+timestamp+param;
	}
	else {	
		if (isJSP(link)){	
			if (isSystemPage(link, ww) || isWelcomePage(link, ww)){
				if (param == "")
		    str = "/ibanking/McpCSReqServlet?jspName=" + link + "&" + getSessionId();
		else
		    str = "/ibanking/McpCSReqServlet?jspName=" + link + "&" + getSessionId() + "&" + param;
			}
			else{
				if (param == "") {
					if (link.indexOf("dse_sessionId") > -1 )
						str = "/ibanking/McpCSReqServlet?jspName=" + link;
		    else
						str = "/ibanking/McpCSReqServlet?jspName=" + link + "&" + getSessionId();
		} else {
					if (link.indexOf("dse_sessionId") > -1)
						str = "/ibanking/McpCSReqServlet?jspName=" + link + "&" + param;
		    else if (param.indexOf("dse_sessionId") > -1)
						str = "/ibanking/McpCSReqServlet?jspName=" + link + "&" + param;
		    else
						str = "/ibanking/McpCSReqServlet?jspName=" + link + "&" + getSessionId() + "&" + param;
		}
			}
		}
		else
			str = "/html/" + link;
	}
	return str;
}

function invokeFuncInFrameC(link, ww, param) {
	top.Content.location = determineTargetURI(link, ww, param);
}

function changeBanner(link) {
     if (link == CO_ENV_CODE) link = "CoHom";
     top.Banner.location = "/ibanking/XxBannerDsp.jsp?ff_funcat="+escape(link)+"&ff_lang="+getLanguage();
}

function getFunctionAvailability(ww, link){
	var avail, funcat1, funcat2;
	if (link.length <= 2 || (ww != NB_ENV_CODE && ww != CO_ENV_CODE))
		avail = "disable";
	else{
		funcat1 = ww + getFunctionCategory(link, 1);			
		avail = isFunctionAvailable(funcat1);					
		if (avail == "enable" && isFunction(ww, link)){ 		
			funcat2 = funcat1 + getFunctionCategory(link, 2);	
			avail = isFunctionAvailable(funcat2);
		}
	}
	return avail;
}

function determineContent(ww, link, avail){
	var content = link;
	switch (ww) {
		case NB_ENV_CODE:
			if (avail == "disable")
				content = getLanguage() + NOT_AVAIL_PAGE[ww];
			else{
								if (avail == "prohibt") {
									if (content == "NbSecActselProc")
										content = getLanguage() + "NbSecActselPromote.jsp?" + getSessionId();
									else if (content == "NbSecActRegProc" || content.indexOf("NbSecEnqhotDsp") > -1) {
									}
									else
										content = getLanguage() + NO_ACC_PAGE[ww];
								} else {

									if (typInd == 'Y') {
									   for (var i=0; i<typhonnFuncList.length; i++) {
									       if (content == typhonnFuncList[i]) {
										  content = getLanguage() + "SyOthTyphoonErr.jsp";
										  break;
									       }
									   }
									}
								}
			}
			break;
		case CO_ENV_CODE:
			if (avail == "disable")
				content = getLanguage() + NOT_AVAIL_PAGE[ww];		
			break;
		default:
			content = getLanguage() + SYS_ERR_PAGE[ww];
	}
	return content; 	
}
function selectExternalFromFrameC(link) {
	showPopUpWin(link, "", "ExternalSite", "N");
}

function selectExternalFromMenu(link){
	sendToLog(link);
	showPopUpWin(link, "", "ExternalSite", "N");	
}

function checkNbAccount(link, proc, param){
	link = addLanguagePrefix(link);
	previousFunction = currentFunction;
	setCurrentFunction(link);
	param = param + "&RedirectTo=" + link;
	invokeFuncInFrameC(proc, NB_ENV_CODE, param);
}

function selectNbSection(link, param){	
	link = addLanguagePrefix(link); 	
	previousFunction = currentFunction;				
	setCurrentFunction(link);			
	selectNbFunc(link, param, true);	
	isLogon = false;
}

function selectNbFunc(link, param, isFromSection){			
	var content, avail;
	if (isExternalSite(link)){				
		selectExternalFromMenu(link);
	}	
	else{
		if (link.length <= 2){
			content = getLanguage() + SYS_ERR_PAGE[NB_ENV_CODE];
			avail = "disable";
		}
		else {
			if (isFromSection != true){						
				previousFunction = currentFunction;				
				setCurrentFunction(link);						
			}
			avail = getFunctionAvailability(NB_ENV_CODE, link);	
			content = determineContent(NB_ENV_CODE, link, avail);
		}
				if (content == "NbSecActselProc") {
					var str = getDomain("HTTPS")+'/ibanking/McpCSReqServlet?' + getSessionId() + '&dse_parentContextName=&dse_operationName=NsHomLogoffProc&dse_pageId=1&mcp_language=' + getLanguage().toLowerCase() + '&dse_processorState=initial&dse_nextEventName=netSec';
		    top.Content.location = str;
				} else {
					invokeFuncInFrameC(content, NB_ENV_CODE, param);			    
				}
		currFunctionAvail = avail;						
	}
}

function selectNbFuncFromFrameC(link, param){	
	var content, avail;
	if (link.length <= 2){
		content = getLanguage() + SYS_ERR_PAGE[NB_ENV_CODE];
		avail = "disable";
	}
	else {
		avail = getFunctionAvailability(NB_ENV_CODE, link);
		content = determineContent(NB_ENV_CODE, link, avail);
	}
	currentFuncForFrameC = content;
	invokeFuncInFrameC(content, NB_ENV_CODE, param);			
	currFunctionAvail = avail;						
}
function determineNbMenu(link, avail){
	var menu;
	if (avail == "disable")
		menu = BLANK_PAGE[NB_ENV_CODE];
	else
		menu = NB_ENV_CODE + getFunctionCategory(link, 1);	
	return menu;	
}

function getMenuPageFor(link) {
	 if (isPage(link))
	    return link;
	 return getLanguage() + link + "MenuDsp.html";
}

function changeMenu(link) {
	 if (currentFunction != previousFunction || currentFunction == "") {
	    top.Content.Menu.location = "/html/" + getMenuPageFor(link);
	    MM_Leftomainsr=new Array;
	    MM_Leftmainsr=new Array;
	 }
}
function selectCwsRegularItem(link, param){
	var content, avail;
	if (link.length <= 2){
		content = getLanguage() + SYS_ERR_PAGE[CO_ENV_CODE];  
		avail = "disable";
	}
	else {
		content = determineContent(CO_ENV_CODE, link, "enable");
		openNodeEvt("", avail);
	}
	invokeFuncInFrameC(content,CO_ENV_CODE,param);
}

function selectCwsFunc(link, param) {
	var content, avail;
	if (link.length <= 2){
		content = getLanguage() + SYS_ERR_PAGE[CO_ENV_CODE];  
		avail = "disable";
	}
	else {
		previousFunction = currentFunction;
		setCurrentFunction(link);
		avail = getFunctionAvailability(CO_ENV_CODE, link);		
		content = determineContent(CO_ENV_CODE, link, avail);
		changeBanner(getLowestFuncCat(CO_ENV_CODE, link));
		openNodeEvt(getCwsImageName(link).slice(2), avail);
	}
	invokeFuncInFrameC(content,CO_ENV_CODE,param);
	currFunctionAvail = avail;
}

function selectNbCwsFunc(link, param, func) {
	var content, avail;
	if (link.length <= 2){
		content = getLanguage() + SYS_ERR_PAGE[CO_ENV_CODE];  
		avail = "disable";
	}
	else {
		previousFunction = currentFunction;
		setCurrentFunction(link);
		avail = getFunctionAvailability(CO_ENV_CODE, link);		
		content = determineContent(CO_ENV_CODE, link, avail);
		changeBanner(getLowestFuncCat(CO_ENV_CODE, link));
		openNodeEvt(func, avail);
	}
	invokeFuncInFrameC(content,CO_ENV_CODE,param);
	currFunctionAvail = avail;
}

function selectCwsFuncFromMenu(link, param) {
	var content, avail;
	if (link.length <= 2){
		content = getLanguage() + SYS_ERR_PAGE[CO_ENV_CODE];  
		avail = "disable";
	}
	else {
		previousFunction = currentFunction;
		setCurrentFunction(link);
		avail = getFunctionAvailability(CO_ENV_CODE, link);		
		content = determineContent(CO_ENV_CODE, link, avail);
		changeBanner(getLowestFuncCat(CO_ENV_CODE, link));
		openNodeEvt(getCwsImageName(link).slice(2), avail);
	}
	invokeFuncInFrameC(content,CO_ENV_CODE,param);
	currFunctionAvail = avail;
}
function getCwsImageName(link){
	if (isFunction(CO_ENV_CODE, link)){
		if (isPage(link))
			return link.slice(0,7) + "2m" + getFunctionCategory(link, 2);
		else
			return getLanguage() + link.slice(0,5) + "2m" + getFunctionCategory(link, 2);
	}
	else{
		if (isPage(link))
			return link.slice(0,7) + "2m";
		else
			return getLanguage() + link.slice(0,5) + "2m";
	}
}
function selectBanner2ApplyNow(link) {
	selectCWSApplyNow(link,language);
}
function selectBanner2CwsFunc(link){
	var lang = "hk";
	if (getLanguage() == "En") lang = "en";
	else if (getLanguage() == "Sc") lang = "cn";
	
	if (getEnvCode() == NB_ENV_CODE)	
		selectCwsFuncFromPopUp(link,lang);
	else								
		selectCwsFunc(link);
}

function selectBanner2External(link) {
	showPopUpWin(link, "", "ExternalSite", "N");
}

function selectBroadcastMsg2CwsFunc(link){
	selectCwsFuncFromPopUp(link);
}
function showPopUpWin(link, windowName, func, launchType) {
	var protocolSetting = new Array();
	protocolSetting["default"] = "HTTPS";
	protocolSetting["ApplyNow"] = "HTTPS";
	protocolSetting["ContactUs"] = "HTTPS";
	protocolSetting["Logon"] = "HTTPS";
	protocolSetting["NbTbCnLogonPwd"] = "";
	protocolSetting["NbTbEnLogonPwd"] = "";
	protocolSetting["CrLogonPwd"] = "";
	protocolSetting["Footer"] = "HTTP";
	protocolSetting["HelpPage"] = "HTTPS";
	protocolSetting["DemoPage"] = "HTTP";
	protocolSetting["DownloadLink"] = "HTTP";
	protocolSetting["ExternalSite"] = "";
	protocolSetting["BroadcastMsg"] = "";
	protocolSetting["CrcBonusPointForm"] = "HTTPS";
	protocolSetting["CrcBonusPointPage"] = "HTTPS"; 
	protocolSetting["PropertyValuation"] = "HTTPS"; 
	protocolSetting["ETNet"] = "HTTP";
	protocolSetting["Webganizer"] = "";
	protocolSetting["BillPayBalEnq"] = "HTTPS";
	protocolSetting["BillPaybilDet"] = "HTTPS";
		protocolSetting["QuotePower"] = "";
	protocolSetting["NSLogon"] = "WLS";
		protocolSetting["PowerTicker"] = "";
		protocolSetting["WarnPage"] = "HTTP";
		protocolSetting["NFLogon"] = "WLF";

	if (launchType == null)
		launchType = "N";
	if ((launchType == "H" && (popupWinObj[func] == null || popupWinObj[func].closed)) || launchType == "N"){
		switch(func){
			case "ApplyNow":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "T", 0, 0, "F", "F", 550, 680);
				break;
			case "ContactUs":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, "F", "F", 550, 780);
				break;
			case "Logon":
				if (isNetscape())
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, "F", "F", "F", "F");
				else
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, "F", "F", "F", "F");				
				break;
						case "NbTbCnLogonPwd":
				if (isNetscape())
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, 50, 100, 460, 500);
				else
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 50, 100, 460, 500);	  
				break;
						case "NbTbEnLogonPwd":
				if (isNetscape())
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, 50, 100, 510, 500);
				else
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 50, 100, 510, 500);
				break;
						case "CrLogonPwd":
				if (isNetscape())
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, 50, 100, 235, 500);
				else
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 50, 100, 235, 500);	  
				break;
						case "NSLogon":
				if (isNetscape())
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, "F", "F", "F", "F");
				else
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, "F", "F", "F", "F");				
				break;
			case "Footer":
				if (isNetscape())
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, 138, 128, 470, 660);
				else
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 138, 128, 470, 660);
				break;	
			case "HelpPage":
				if (isNetscape())
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, 138, 128, 470, 660);
				else
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 138, 128, 470, 660);
				break;	
			case "DemoPage":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, "F", "F", "F", "F");
				break;	
			case "DownloadLink":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "N", 1, 0, "F", "F", "F", "F");
				break;	
			case "ExternalSite":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "N", 1, 0, "F", "F", "F", "F");
				break;
			case "BroadcastMsg":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "S", 0, 0, "F", "F", 500, 400);
				break;
			case "CrcBonusPointForm":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 178, 209, 318, 615);
				break;
			case "CrcBonusPointPage":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 140, 148, 375, 653);
				break;
			case "PropertyValuation":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, "F", "F", 550, 630);
				break;
			case "ETNet":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 167, 0, 545, 625);
				break;
			case "Webganizer":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 0, 0, "F", "F");
				break;
			case "BillPayBalEnq":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "S", 0, 1, 420, 200, 40, 345);
				break;
			case "BillPaybilDet":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "S", 0, 1, 0, 450, 150, 610);
				break;
			case "Logoff":
				popupWinObj[func] = openPopUpWin(protocolSetting["default"], link, windowName, "A", 1, 0, "F", "F", "F", "F");
								break;
						case "QuotePower":
								if (isNetscape())
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, "F", "F", "F", "F");
				else
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, "F", "F", "F", "F");
				break;
						case "PowerTicker":
								if (isNetscape())
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 0, 0, "F", "F", "F", "F");
				else
					popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, "F", "F", "F", "F");
				break;
						case "WarnPage":
				popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 138, 128, 230, 560);
				break;	
						case "NFLogon":
								popupWinObj[func] = openPopUpWin(protocolSetting[func], link, windowName, "A", 1, 0, 0, 0, 670, 802);
								break;
			default:
				popupWinObj[func] = openPopUpWin(protocolSetting["default"], link, windowName, "A", 0, 0, "F", "F", 550, 630);
		}
	}
	else{
		popupWinObj[func].location = getDomain(protocolSetting[func]) + link;
		popupWinObj[func].focus();
	}
}


function selectCwsETNet(link) {
	showPopUpWin("/html/"+link, popupWinName["ETNet"], "ETNet", "H");
}

function selectCwsFuncInPopUp(link, param){
	var content,
	content = determineContent(CO_ENV_CODE, link, getFunctionAvailability(CO_ENV_CODE, link));
	top.Content.location.href = determineTargetURI(content,CO_ENV_CODE,param);
}

function selectPropertyValuation(link, param){
	var content, avail;
		content = "/ibanking/XxPopUpProcCind.jsp?ff_uri="+escape(determineTargetURI(link,CO_ENV_CODE,param))+"&ff_language="+getLanguage();
	showPopUpWin(content, popupWinName["PropertyValuation"], "PropertyValuation", "H");
}

function selectCWSApplyNow(link, param) {
	var content, avail;
	setLanguage(param);
			content = "/ibanking/XxPopUpProcCind.jsp?ff_uri="+escape(determineTargetURI(link,CO_ENV_CODE,param))+"&ff_language="+getLanguage();
		showPopUpWin(content, popupWinName["ApplyNow"], "ApplyNow", "H");
}

function selectCwsCreditCardBonusPointForm(link){
	var content, avail;
	avail = getFunctionAvailability(CO_ENV_CODE, link);		
	if (avail =="disable")
		content = "/ibanking/" + getLanguage() + NOT_AVAIL_PAGE[CO_ENV_CODE];
	else {
		if (isPage(link))
			content = "/ibanking/" + getLanguage() + SYS_ERR_PAGE[CO_ENV_CODE];
		else
			content = "/ibanking/XxPopUpProcCind.jsp?ff_uri="+escape(determineTargetURI(link,CO_ENV_CODE,""))+"&ff_language="+getLanguage();
	}
	showPopUpWin(content, popupWinName["CrcBonusPointForm"], "CrcBonusPointForm", "H");
}

function selectNbCreditCardBonusPointPage(link, param){
	var content, avail, targetURI;
	avail = getFunctionAvailability(NB_ENV_CODE, link);		
	content = determineContent(NB_ENV_CODE, link, avail);
	targetURI = determineTargetURI(content, NB_ENV_CODE, param);
	showPopUpWin(targetURI, popupWinName["CrcBonusPointPage"]+"FromNb", "CrcBonusPointPage", "H");
}

function selectCWSContactUs(depart,lang) {
	var htmlPage = "";
	setLanguage(lang);
	var finalURI = "/ibanking/XxPopUpProcCind.jsp?ff_uri="+escape(determineTargetURI("CoRegContactUsProc",CO_ENV_CODE,"ff_contactUsDeptCode="+depart))+"&ff_language="+getLanguage();
	showPopUpWin(finalURI, popupWinName["ContactUs"], "ContactUs", "H");
}

function selectNbTbCnLogonPwd(link) {
	showPopUpWin("/html/"+link, "", "NbTbCnLogonPwd", "H");
}

function selectNbTbEnLogonPwd(link) {
	showPopUpWin("/html/"+link, "", "NbTbEnLogonPwd", "H");
}

function selectCrLogonPwd(link) {
	showPopUpWin("/html/"+link, "", "CrLogonPwd", "H");
}

function selectFooter(footerPage) {
	showPopUpWin(footerPage.replace("share","/wlb_corporate/UserFiles/File/footer"), "", "Footer", "H");
}

function showSysmain(link){
	winAtts = "toolbar=0,scrollbars=1,status=0,resizable=1,alwaysRaised=1,width=740,height=580"
	var str = "http://www.winglungbank.com/wlb_corporate/UserFiles/nbhtml/" + link;
	winObj = window.open(str, 'sysmain', winAtts);
	winObj.focus();
}

function showHelp(helpPage) {
	showPopUpWin("/html/"+helpPage, popupWinName["HelpPage"], "HelpPage", "H");
}

function selectDemo(link){
	showPopUpWin(link, getEnvCode() + popupWinName["DemoPage"], "DemoPage", "H");	     
}

function selectNsDemo(link) {
	winAtts = "toolbar=0,scrollbars=0,status=1,resizable=1,alwaysRaised=1,width=800,height=600";
	window.open(link, 'NsDemo', winAtts).moveTo(0,0);
}

function terms(link,width,height){
  winAtts = "toolbar=0,scrollbars=1,status=0,resizable=1,alwaysRaised=1,width=" + width + ",height=" + height;
  window.open(link, 'Terms', winAtts).moveTo(0,0);
}

function selectDownloadLink(link){
	if (link.indexOf("wlb_corporate") > -1)
		showPopUpWin(link, "", "DownloadLink", "N");
	else
		showPopUpWin("/wlb_corporate/UserFiles/File/pdf/" + link, "", "DownloadLink", "N");
}

function showBroadcastMsg(link){
	showPopUpWin(link, "", "BroadcastMsg", "N");	
}

function selectNbLogonPage(){
		userLogonTo = "NB";
		var browInfo = navigator.userAgent;
			showPopUpWin("/html/"+getLanguage()+"NbMain.html",popupWinName["NB"], "Logon", "H");
}

function selectCcLogonPage(){
	showPopUpWin("/html/"+getLanguage()+"CrMain.html",popupWinName["NB"], "Logon", "H");
}

function selectTbLogonPage(){
	showPopUpWin("/html/"+getLanguage()+"TbMain.html",popupWinName["NB"], "Logon", "H");
}

function selectQPLogonPage(){
	if (getLanguage() == top.ENGLISH)
	showPopUpWin("http://www.quotepower.com/web/winglung/en_qplogin.asp",popupWinName["QP"], "QuotePower", "H");
	else
		showPopUpWin("http://www.quotepower.com/web/winglung/tc_qplogin.asp",popupWinName["QP"], "QuotePower", "H");
}

function selectNsLogonPage(){
		userLogonTo = "NS";
		var browInfo = navigator.userAgent;
			showPopUpWin("/html/"+getLanguage()+"ItsMain.html",popupWinName["NB"], "NSLogon", "H");
}

function selectNfLogonPage(){
	if (getLanguage() == top.ENGLISH) {
		alert("Disclaimer: NET Futures / Options Service is provided through Wing Lung Futures Limited. Wing Lung Futures Limited is licensed by the Securities and Futures Commission as a licensed corporation (CE No. ACQ651) to carry on Type 2 (Dealing in futures contracts) regulated activity under the Securities and Futures Ordinance (Cap. 571 of the Laws of Hong Kong).");
		showPopUpWin("/wl/change_lang.do?language=en&country=US&page=/logon.do",popupWinName["NF"], "NFLogon", "H");
	} else {
		alert("聲明：「網上期貨 / 期權服務」乃透過「永隆期貨有限公司」向客戶提供。永隆期貨有限公司是一間根據《證券及期貨條例》(香港法例第571章)獲證券及期貨事務監察委員會發牌經營第二類(期貨合約交易)受規管活動之持牌法團(中央編號：ACQ651)。\n\nDisclaimer: NET Futures / Options Service is provided through Wing Lung Futures Limited. Wing Lung Futures Limited is licensed by the Securities and Futures Commission as a licensed corporation (CE No. ACQ651) to carry on Type 2 (Dealing in futures contracts) regulated activity under the Securities and Futures Ordinance (Cap. 571 of the Laws of Hong Kong).");
		showPopUpWin("/wl/change_lang.do?language=zh&country=TW&page=/logon.do",popupWinName["NF"], "NFLogon", "H");
	}
}

function selectPTLogonPage(){
	if (getLanguage() == top.ENGLISH)
	showPopUpWin("https://secure.powerticker.com/winglung/jsp/streamerdirect.jsp",popupWinName["PT"], "PowerTicker", "H");
	else
		showPopUpWin("https://secure.powerticker.com/winglung/jsp/streamerdirect.jsp?lang=big5",popupWinName["PT"], "PowerTicker", "H");
}

function selectCwsWebganizer(){
	var tmpLink = ""
	if (getLanguage() == top.ENGLISH)
		tmpLink = "/html/EnCoHomWegclmDsp.html";
	else
		tmpLink = "/html/CnCoHomWegclmDsp.html";
	showPopUpWin(tmpLink, popupWinName["Webganizer"], "Webganizer", "H");
}

function logon_net (formobj) {
	if (formobj[formobj.selectedIndex].value == "NB")
		selectNbLogonPage();
	if (formobj[formobj.selectedIndex].value == "CC")
		selectCcLogonPage();
	if (formobj[formobj.selectedIndex].value == "TB")
		selectTbLogonPage();
	if (formobj[formobj.selectedIndex].value == "WG")
		selectCwsWebganizer();
		if (formobj[formobj.selectedIndex].value == "QP")
		selectQPLogonPage();
		if (formobj[formobj.selectedIndex].value == "NS")
		selectNsLogonPage();
		if (formobj[formobj.selectedIndex].value == "PT")
		selectPTLogonPage();
		if (formobj[formobj.selectedIndex].value == "NF")
			selectNfLogonPage();

}

function selectDropDownfromCWS (formobj,lang) {
  var selectVal = formobj[formobj.selectedIndex].value;
  if (selectVal != "" && lang != "") {
	if (selectVal.charAt(0) == '/') {
		showPopUpWin(selectVal,popupWinName["NB"], "Logon", "H");
	} else {
	var isAnchor = selectVal.indexOf("#");
	if (isAnchor > -1)
		var toLocation = getDomain("HTTP") + "/wlb_corporate/" + lang + "/page/go_do_method=interpreter&mappingName=" + selectVal.substring(0,isAnchor) + ".htm" + selectVal.substring(isAnchor,selectVal.length);
	else
		var toLocation = getDomain("HTTP") + "/wlb_corporate/" + lang + "/page/go_do_method=interpreter&mappingName=" + selectVal + ".htm";
	this.location.href = toLocation;
  }	
  }
}

function selectHomeNewsfromCWS (pageId,lang) {
  if (pageId != "" && lang != "") {
	var isAnchor = pageId.indexOf("#");
	if (isAnchor > -1)
		var toLocation = getDomain("HTTP") + "/wlb_corporate/" + lang + "/page/go_do_method=interpreter&mappingName=" + pageId.substring(0,isAnchor) + ".htm" + pageId.substring(isAnchor,pageId.length);
	else
		var toLocation = getDomain("HTTP") + "/wlb_corporate/" + lang + "/page/go_do_method=interpreter&mappingName=" + pageId + ".htm";
	this.location.href = toLocation;
  }	
}


function selectCWSApplyNowContinue(link,lang) {
	selectCwsFuncFromPopUp(link,lang);
	window.close();
}

function selectCwsFuncFromPopUp(alink,lang) {
	if (alink != "" && lang != "") {
		var isAnchor = alink.indexOf("#");
		if (isAnchor > -1)
			var str = getDomain("HTTP") + "/wlb_corporate/" + lang + "/page/go_do_method=interpreter&mappingName=" + alink.substring(0,isAnchor) + ".htm" + alink.substring(isAnchor,alink.length);
		else
			var str = getDomain("HTTP") + "/wlb_corporate/" + lang + "/page/go_do_method=interpreter&mappingName=" + alink + ".htm";
		openPopUpWin("", str, popupWinName["CWS"], "N", 1, 0, "F", "F", "F", "F"); 
	}
}


function MM_swapImgRestore() { 
  var i,x,a=document.MM_sr, b=MM_Topmainsr[0], d=MM_Leftmainsr[0];
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc&& x!=b && x != d;i++) {
    x.src=x.oSrc;
  }
}

function MM_preloadImages() {
  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) {
  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); return x;
}

function MM_swapImage() {
  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],a[i+1]))!=null){
     document.MM_sr[j++]=x;
     if(!x.oSrc)
      x.oSrc=x.src;
     x.src=a[i+2];
   }
}

function changeImage() {
  var i,j=0,x,a=changeImage.arguments; MM_sr=new Array;
  if (a[4] == "left") {
     if (MM_Leftomainsr[0]!= null) {
       MM_Leftomainsr[0].src=MM_Leftomainsr[0].oSrc;
     }
     for(i=0;i<(a.length-3);i+=3)
     if ((x=MM_findObj(a[i],a[i+1]))!=null){
       MM_sr[j++]=x;
       MM_Leftmainsr[0]=x;
       if(!x.oSrc)
	x.oSrc=x.src;
       x.src=a[i+2];
       leftImageName = a[i];
     }
     MM_Leftomainsr[0]=MM_Leftmainsr[0];
  } else {
     if (MM_Topomainsr[0]!= null) {
       MM_Topomainsr[0].src=MM_Topomainsr[0].oSrc;
     }
     for(i=0;i<(a.length-3);i+=3)
       if ((x=MM_findObj(a[i],a[i+1]))!=null){
	 MM_sr[j++]=x;
	 MM_Topmainsr[0]=x;
	 if(!x.oSrc)
	   x.oSrc=x.src;
	 x.src=a[i+2];
	 topImageName = a[i];
	if (a[5] == null || a[5] == "")
	 leftImageName = "";
       }
     MM_Topomainsr[0]=MM_Topmainsr[0];
  }
}

function restoreSelectedMenu(docObj,pos) {
	if (leftImageName != "" && pos == "left") {
		var imgObj = MM_findObj(leftImageName,docObj);
		if (imgObj != null) {
			MM_Leftomainsr[0] = new Array
			MM_Leftmainsr[0] = new Array
			var imgSrc = imgObj.src;
			var srcIndex = imgSrc.lastIndexOf(".");
			imgSrc = imgSrc.substring(0, srcIndex) + "Over" + imgSrc.substring(srcIndex);
			changeImage(imgObj.name,docObj,imgSrc,1,pos);
		}
	} else if (topImageName != "" && pos == "top") {
		var imgObj = MM_findObj(topImageName,docObj);
		if (imgObj != null) {
		       MM_Topomainsr[0] = new Array
		       MM_Topmainsr[0] = new Array
			var imgSrc = imgObj.src;
			var srcIndex = imgSrc.lastIndexOf(".");
			imgSrc = imgSrc.substring(0, srcIndex) + "Over" + imgSrc.substring(srcIndex);
			changeImage(imgObj.name,docObj,imgSrc,1,pos,1);
		}
	} else {
	cat1 = getFunctionCategory(currentFunction,1);
	cat2 = getFunctionCategory(currentFunction,2);
	var imagename = currentFunction;
	if (currentFunction != null && currentFunction != "") {
	   if (pos == "top") {
	      imagename = cat1;
	      topImageName = imagename;
	     MM_Topomainsr[0] = new Array
	     MM_Topmainsr[0] = new Array
	   } else {
	      imagename = cat1 + cat2;
	      leftImageName = imagename;
	     MM_Leftomainsr[0] = new Array
	     MM_Leftmainsr[0] = new Array
	   }
	   var imgObj = MM_findObj(imagename,docObj);
	   if (imgObj != null) {
	     var imgSrc = imgObj.src;
	     var srcIndex = imgSrc.lastIndexOf(".");
	     imgSrc = imgSrc.substring(0, srcIndex) + "Over" + imgSrc.substring(srcIndex);
	     changeImage(imgObj.name,docObj,imgSrc,1,pos);
	   }
	}
	}
}


function cancel(){
	return false;
}


function sendValidateRequest(eventName,formName)			
{
	if (top.Content.hasSubmit == false)
	{					
	  if (top.Content.validateForm())
	  {			   
	    top.Content.hasSubmit = true;
	    submitRequest(eventName,formName);
	  }
	  else	
	  {
	    ErrDisplayWin(errorMessage);
	  }
	}
}

function sendRequest(eventName,formName){		

	if (top.Content.hasSubmit == false)
	{					
	    
	    top.Content.hasSubmit =  true;
	    submitRequest(eventName,formName);
	}
}

function submitRequestWithProgress(nls,imgToShow,eventName,formName) {
	if(nls=="En") {
	   eval("top.Content.document." + imgToShow + ".src = '/images/EnProgress.gif'");
	}else {
	   eval("top.Content.document." + imgToShow + ".src = '/images/CnProgress.gif'");
	}
	eventNameStr = eventName;
	formNameStr = formName;
	setTimeout('submitRequest(eventNameStr,formNameStr)',500);
}

function submitRequest(eventName,formName) {
	eval("top.Content.document." + formName + ".dse_nextEventName.value='" + eventName + "'");
	for (var i=0; i < top.Content.document.links.length; ++i) {
	      top.Content.document.links[i].onclick=cancel;
	}
	eval("top.Content.document." + formName + ".submit()");
}

function resetHasSubmit(frameObj) {
	frameObj.hasSubmit = false;
}

function sendFormValidateRequest(frameObj,eventName,formName)
{
      if (frameObj.hasSubmit == false)
      { 				      
	  if (frameObj.validateForm())
	  {			   
	    
	    frameObj.hasSubmit = true;
	    sendFormRequest(frameObj,eventName,formName);
	  }
	  else	
	  {
	    ErrDisplayWin(errorMessage);
	  }
      }
}

function sendFormRequest(frameObj,eventName,formName) {
	if (frameObj.document.forms[formName].dse_nextEventName != null)
		frameObj.document.forms[formName].dse_nextEventName.value = eventName;
	for (var i=0; i < frameObj.document.links.length; ++i) {
	      frameObj.document.links[i].onclick=cancel;
	}	
	frameObj.document.forms[formName].submit();
}

function sendFormNoValidateRequest(frameObj,eventName,formName)
{
	if (frameObj.hasSubmit == false)
	{					
	    frameObj.hasSubmit =  true;
	    sendFormRequest(frameObj,eventName,formName);
	}
}

function setCookie(name, value) {
	var today = new Date();
	var expires = new Date();
	expires.setTime(today.getTime() + 1000*60*60*24*365)
	document.cookie = name + "=" + escape(value)+ "; expires=" + expires.toGMTString() + "; path=/";
}

function setCWSPersonalInfo(type, formobj) {
  var cvalue = "";
	 if (type == "ps") {
	    cvalue2 = "";
	    for (var i=0; i<8; i++) {
		if (i > 0) {
		   cvalue = cvalue +",";
		   cvalue2 = cvalue2 +",";
		}
		cvalue = eval("cvalue + formobj.ff_p"+i+".value");
		cvalue2 = eval("cvalue + formobj.ff_p"+i+"[formobj.ff_p"+i+".selectedIndex].name");
	    }
	    setCookie("wlbpersonalps1",cvalue1);
	    setCookie("wlbpersonalps2",cvalue2);
	 } else {
	    cname = "wlbpersonalfi";
	    cvalue = formobj.ff_p1.value;
	    setCookie(cname, cvalue);
	 }
}

function getCookie(sName)
{
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0]) 
      return unescape(aCrumb[1]);
  }

  return null;
}

function getCWSPersonalInfo() {
	 var pscookie1 = getCookie("wlbpersonalps1");
	 var pscookie2 = getCookie("wlbpersonalps2");
	 var ficookie = getCookie("wlbpersonalfi");
	 psValuesArray1 = pscookie1.split(",");
	 psValuesArray2 = pscookie2.split(",");
}
function switchLanguage(lang, ww) {
	top.setCookie("CwsLanguage", lang);

	var sessParm = getSessionId();
	var orglang = language;
	 if (isPage(currentFunction)) {
	       currentFunction = lang + currentFunction.slice(2);
	 }
	var contentPage = top.Content.location.href;


	var index = contentPage.indexOf("McpCSReqServlet");
	if ((contentPage.indexOf("McpCSReqServlet") == -1 || contentPage.indexOf("jspName") != -1) && contentPage.indexOf("WlbLogonServlet") == -1){
		language = lang;
		if (contentPage.indexOf("McpCSReqServlet") != -1 && contentPage.indexOf("jspName") != -1)
		   contentPage = convertJspName(orglang,lang,contentPage);
		else
		   contentPage = convert(orglang,lang,contentPage);
		if (ww != null && ww == CO_ENV_CODE) {
		   top.Content.Main.location = contentPage;
		   openNodeEvt('1', currFunctionAvail);
		   top.Content.Top.location = topMenuPage;
		   changeBanner(getLowestFuncCat(CO_ENV_CODE, currentFunction));
		} else {
		  top.Content.location=contentPage;
		}
	}
	else {
		var form = top.Content.document.forms[0]
		if (form != null && form.mcp_switchLang != null && form.mcp_switchLang.value == "true" ) {
			language = lang;
			form.mcp_language.value=lang;
			form.dse_nextEventName.value="re_entry";
			form.submit();
			if (ww == CO_ENV_CODE) {
			  openNodeEvt("1", currFunctionAvail);
			  changeBanner(getLowestFuncCat(CO_ENV_CODE, currentFunction));
			} else {
			}
		}
		else {
			selNls=orglang.toUpperCase();
			frameNls=orglang.toUpperCase();
			errorMessage[0]=getErrMsg("W002");
			ErrDisplayWin(errorMessage);
		}
	}
}

function convert(orglang, lang, pageName) {
	var orglang_U = (orglang.substr(0,1)).toUpperCase() + orglang.substr(1);
	var lang_U = (lang.substr(0,1)).toUpperCase() + lang.substr(1);
	var orgExp = new RegExp('/' + orglang);
	var orgExp_U = new RegExp('/' + orglang_U);
	result = pageName.replace(orgExp,'/'+lang);
	result = result.replace(orgExp_U,'/'+lang_U);
	return result;
}

function convertJspName(orglang, lang, pageName) {
	var orglang_U = (orglang.substr(0,1)).toUpperCase() + orglang.substr(1);
	var lang_U = (lang.substr(0,1)).toUpperCase() + lang.substr(1);
	var orgExp = new RegExp('jspName=' + orglang);
	var orgExp_U = new RegExp('jspName=' + orglang_U);
	result = pageName.replace(orgExp,'jspName='+lang);
	result = result.replace(orgExp_U,'jspName='+lang_U);
	return result;
}
function printDocByName(frameName) {

		if (window.parent.frames[frameName] != null){	
			window.parent.frames[frameName].focus();
			window.parent.frames[frameName].print();
		}else{											
			for (var a = 0 ; a < window.parent.frames.length; a++)
				if (window.parent.frames[a].name == "Content"){
					window.parent.frames[a].frames[frameName].focus();
					window.parent.frames[a].frames[frameName].print();
				}
		}
}

function logoff() {
	var custType = getCustomerType();
	var logoffProc = "";
	if (custType == NB)
	   logoffProc = "NbHomLogoffProc";
	else if (custType == CR)
	   logoffProc = "CrHomLogoffProc";
	else if (custType == TB)
	   logoffProc = "TbHomLogoffProc";

	var str = getDomain("HTTPS")+'/ibanking/McpCSReqServlet?' + getSessionId() + '&dse_parentContextName=&dse_operationName='+logoffProc+'&dse_pageId=1&mcp_language=' + getLanguage().toLowerCase() + '&dse_processorState=initial&dse_nextEventName=start';
	top.Content.location = str;
}

function clearContents(formName) {
	eval("top.Content.document." + formName + ".reset()")
	if(document.progress != null)
		eval("top.Content.document.progress.src = '/images/XxSpace.gif'")
}
function refreshSession(timeout) {
  if (getSessionCounter() != null) {
     window.clearTimeout(getSessionCounter());
  }

  var timer = window.setTimeout("sessionAboutToExpire()", timeout);
  setSessionCounter(timer);
}

function sessionAboutToExpire() {
    var curtime = new Date();
    var text = "";
 
      if (getLanguage() == ENGLISH) {
	text = "W001 - The NET Banking session is expired after a period of inactivity.\n If you like to continue using NET Banking service, please close this page and logon again.";
      } else if (getLanguage() == CHINESE) {
	text = "W001 - 網上銀行在閣下停止操作一段時間後，已自動停止服務。如須繼續使用網上銀行服務，請關閉此頁面然後再次登入。";
      } else {
	text = "W001 - 网上银行在阁下停止操作一段时间后，已自动停止服务。如须继续使用网上银行服务，请关闭此页面然后再次登入。";
      }
       var answer = confirm(text);
       
	if (answer == true) {
		top.Dummy.location = "/ibanking/XxSyOthRefreshSessionDsp.jsp?" + getSessionId() + "&dummy=" + curtime.getTime();
	 } else {
	}

}

function setTimeoutPage() {	
	 top.Content.location = getLanguage() + TIMEOUT_PAGE[NB_ENV_CODE];
}
function openPopUpWin(protocol, link, windowName, simplifyStage, isResizable, isModal, targetX, targetY, targetH, targetW) {
	var winObj, winAtts, winW, winH, winX, winY, simplifyAtt; 

	if (!isNetscape()) {  
		switch (targetX){
			case "F":  
				winX = 0;
				winY = 0;
				break;
			case "C":
				winX = top.Content.Main.screenLeft;
				winY = top.Content.Main.screenTop;
				break;
			default:
				winX = targetX;
				winY = targetY;
		}
		switch (targetH){
			case "": 
				winW = screen.availWidth - 10;
				winH = calWinHeight("I", simplifyStage);
				break;
			case "F": 
				winW = screen.availWidth - 10;
				winH = calWinHeight("I", simplifyStage);	
				break;
			case "C": 
				winW = top.Content.Main.document.body.clientWidth - 4;
				winH = top.Content.Main.document.body.clientHeight - 23;
				break;
			default: 
				winW = targetW;
				winH = targetH;
		}
	}
	else { 
		switch (targetX){
			case "F":  
				winX = screen.availLeft;
				winY = screen.availTop;
				break;
			case "C":
				winX = window.screenX;
				winY = window.screenY;
				break;
			default:
				winX = targetX;
				winY = targetY;
		}

		switch (targetH){
			case "": 
				winW = screen.availWidth - 10;
				winH = calWinHeight("N", simplifyStage);
				break;
			case "F": 
				winW = screen.availWidth - 10;
				winH = calWinHeight("N", simplifyStage);	
				break;
			case "C": 
				winW = screen.availWidth - 148;
				winH = screen.availHeight - 112 - 25 - 25 - 25; 	
				break;
			default: 
				winW = targetW;
				winH = targetH; 		
		}
	}

	switch (simplifyStage){
		case "N":  
			simplifyAtt = "location=1,menubar=1,toolbar=1,status=1,scrollbars=1";
			break;
		case "A":  
			simplifyAtt = "location=0,menubar=0,toolbar=0,status=1,scrollbars=1";		
			break;
		case "T":  
			simplifyAtt = "location=0,menubar=0,toolbar=1,status=1,scrollbars=1";
			break;
		case "S":  
			simplifyAtt = "location=0,menubar=0,toolbar=0,status=1,scrollbars=0";		
			break;
		default:  
			simplifyAtt = "location=1,menubar=1,toolbar=1,status=1,scrollbars=1";
	}

	winAtts = simplifyAtt + ",resizable=" + isResizable + ",alwaysRaised=" + isModal + ",width=" + winW + ",height=" + winH + ",left="+winX+",top="+winY;
	if(top.SymRealWinOpen) {
	window.open = top.SymRealWinOpen;
	}
	winObj = window.open("", windowName, winAtts);
	winObj.location = getDomain(protocol)+ link;
	winObj.focus();
	return winObj;
}

function calWinHeight(browserType, simplifyStage, targetPos) {
	var winHOffset = new Array();	
	winHOffset["NN"] = 130; 
	winHOffset["NA"] = 50;	
	winHOffset["NT"] = 90;	
	winHOffset["IN"] = 145; 
	winHOffset["IA"] = 50;	
	winHOffset["IT"] = 80;	
	return screen.availHeight - winHOffset[browserType+simplifyStage];
}


var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input,len, e) {

   var keyCode = (isNN) ? e.which : e.keyCode;
   var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
   if(input.value.length >= len && !containsElement(filter,keyCode)) {
	input.value = input.value.slice(0, len);
	input.form[(getIndex(input)+1) % input.form.length].focus();
}

function containsElement(arr, ele) {
   var found = false, index = 0;
   while(!found && index < arr.length)
	if(arr[index] == ele)
	   found = true;
	else
	   index++;
	   return found;
}

function getIndex(input) {
   var index = -1, i = 0, found = false;
   while (i < input.form.length && index == -1)
   if (input.form[i] == input)index = i;
   else i++;
   return index;
}
return true;
}
