function getEpContext(){
	
	if( isLocalhostDomain() ){
		return "/EP";
	}else{
		return "";
	}
	
}

function writeEpContext(){
	document.write(getEpContext());
}

function isLocalhostDomain(){
	
	if( "localhost.taiwantrade.com.tw" == document.domain.toLowerCase() ){
		return true;
	}else{
		return false;
	}
	
}

/**
 * ?¯å¦?ºæ¸¬è©?domain (?…å« localhost, test, UAT, dev, out, localhost.dev, localhost.out)<br>
 * ?¶é??†è???online
 *   
 * @return boolean
 */
function isTestDomain(){
	
	var isTest = false;
	
	if( "localhost.taiwantrade.com.tw" == document.domain.toLowerCase() ){
		isTest = true;
	}else if( "test.taiwantrade.com.tw" == document.domain.toLowerCase() ){
		isTest = true;
	}else if( "uat.taiwantrade.com.tw" == document.domain.toLowerCase() ){
		isTest = true;
	}else if( "dev.taiwantrade.com.tw" == document.domain.toLowerCase() ){
		isTest = true;
	}else if( "out.taiwantrade.com.tw" == document.domain.toLowerCase() ){
		isTest = true;
	}else if( "localhost.dev.taiwantrade.com.tw" == document.domain.toLowerCase() ){
		isTest = true;
	}else if( "localhost.out.taiwantrade.com.tw" == document.domain.toLowerCase() ){
		isTest = true;
	}
	
	return isTest;
}

/**
 * å¦‚æ??¯é?æ¸¬è©¦ domain (æ­??), ?‡æ???url ?å?ä¸?"http://www.taiwantrade.com.tw"
 * @param aTagObject
 * @param url
 * @return
 */
function redirectSuBuLink( aTagObject, url ){
	
	if( !isTestDomain() ){
		url = "http://www.taiwantrade.com.tw" + url;
	}
	
	aTagObject.href = url;
}

/**
 * ?¤æ–·?®å??„ç?è¦½å™¨
 * @param browerVersion è¦åˆ¤?·ç??è¦½?¨ç????¯å‚³?¥Firefox?IE6?IE7?IE8?IE
 * @return ä¾å‚³?¥ç??ƒæ•¸?¤æ–·~?¥ç‚ºè©²ç?è¦½å™¨,?‡å??³true
 */
function ruleBrower(browerVersion){
	if(browerVersion == "Firefox"){
		 var isFirefox = navigator.userAgent.search("Firefox") > -1; 
		 return isFirefox;
	}else	if(browerVersion == "IE6"){
		var isIE6 = navigator.userAgent.search("MSIE 6") > -1;
		return isIE6;
	}else	if(browerVersion == "IE7"){
		var isIE7 = navigator.userAgent.search("MSIE 7") > -1;
		return isIE7;
	}else	if(browerVersion == "IE8"){
		 var isIE8 = navigator.userAgent.search("MSIE 8") > -1;
		return isIE8;
	}else if(browerVersion == "IE"){
		var isIE = navigator.userAgent.search("MSIE") > -1; 
		return isIE;
	} 
}

/**
 * setCookie
 * @param c_name ?¨cookieä¸­ç?key
 * @param value  ?¨cookieä¸­ç?key
 * @param expiredays ?¨cookieä¸­ä??™ç?å¤©æ•¸
 * @return
 */
function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	";domain=.taiwantrade.com.tw" +
	((expiredays==null) ? "" : ";expires="+exdate)+";path=/";
}

/**
 * getCookie
 * @param c_name cookieä¸­ç?key
 * @return cookieä¸­ç?value,?¥æŸ¥?¡key?‡å???" 
 */
function getCookie(c_name){	
	if (document.cookie.length>0){	
		c_start = document.cookie.indexOf(c_name + "=");
		if (c_start!=-1){
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}

/**
 * ?è¦½?¨æ˜¯?¦enabled cookie
 * @return enabled ?žå‚³true
 */
function isCookieEnabled(){
	return navigator.cookieEnabled ;
}

/**
 * ?¯å¦?ºç™»?„ç???
 * @return ?»é?:true ; ?ªç™»??false
 */
function isLogon(){
	var userId = getCookie("userId");
	if(userId != ""){
		return true;
	}else	{
		return false;
	}
}

/**
 * ?©ç”¨ajax ?–å?html ?§å®¹,?¯æ?å®šid?–css?šå??¥html
 * @param requestUrl ajax?·è??„url
 * @param id è¦æ›¿?›ç?tag id ,?¥ç„¡è«‹è¼¸?¥null
 * @param className è¦æ›¿?›ç?tag className,?¥ç„¡è«‹è¼¸?¥null
 * @param buttonObj ?¥æ??šåŸ·è¡Œæ??„æ????‡æ?å°‡è©²button?©ä»¶?„style.cursoræ¸…ç©º
 * id ??className ?‡ä?è¼¸å…¥
 * @return
 */
function ajaxLoadHtml(requestUrl,id,className,buttonObj){
	var callbackFunction = function(html){
		if(className != null){				
			$('.'+className).html(html);
		}
		if(id != null){	
			$('#'+id).html(html);
		}
	};
	
	$.ajax({
		url:fixUrlForDomainNameAtFront(requestUrl),
		type:"get",
		dataType: "html",
		success: function(html) {
			if(callbackFunction){
				callbackFunction(html);
				if(buttonObj != null){
					buttonObj.style.cursor ="";
				}
			}
					  
		},
		  
		  error: function() {
		    //alert("ERROR!!!");
		  }
	});
	
}

/**
 * ?©ç”¨onkeypressäº‹ä»¶, è§¸ç™¼?‡å??©ä»¶?„onclickäº‹ä»¶
 * @param evt
 * @param objId è¦è§¸?¼ç??»å…¥?‰é?ID
 * @return
 */
function keyPressHandler(evt,objId) {
    if(evt.keyCode == 13) {
	     var btnLogin = document.getElementById(objId);
	     fireEvent(btnLogin, 'click');
	  }
 }
 
/**
 * è§¸ç™¼?³å…¥?©ä»¶?„onClickäº‹ä»¶
 * @param element
 * @param event
 * @return
 */
 function fireEvent(element, event) {
    if(document.createEvent) {
	     //dispatch for firefox + others
		 var evt = document.createEvent("HTMLEvents");
		 evt.initEvent(event, true, true); // event type, bubbling, cancelable
		 return !element.dispatchEvent(evt);
	  } else {
	     // dispatch for IE
		 var evt = document.createEventObject();
		 return element.fireEvent('on'+event, evt);
	  }
 }

/**
 * ?»å…¥?¹æ?
 * @param domainName ?¬å¸domain name
 * @param localeName èªžç³»
 * @param buttonObj  ?‰ä??»å…¥?„button
 * @param targetUrl  è¦å??°ç??é¢?„url
 */
function logon(domainName,localeName,buttonObj,targetUrl){
	if(buttonObj) {
		buttonObj.style.cursor ="wait";
	}
	var user_id = "";
	var password = "";	
	var userIdArray = null;
	var passwordArray = null;
	var rememberMeArray = null;

	userIdArray = document.getElementsByName("user_id");
	passwordArray = document.getElementsByName("password");

	if(userIdArray) {
		for(var i = 0; i < userIdArray.length; i++) {
			if(userIdArray[i].value && userIdArray[i].value.length > 0) {
				user_id = userIdArray[i].value;
				break;
			}
		}		
	}
	
	if(passwordArray) {
		for(var i = 0; i < passwordArray.length; i++) {
		    if(passwordArray[i].value && passwordArray[i].value.length > 0) {
		    	password = passwordArray[i].value;
		    	break;
		    }			
		}
	}
	
	var layout = document.getElementById("ttbarLayout").value;	
	var remember = "N";	
	rememberMeArray = document.getElementsByName("remember_me");
	
	if(domainName == null || domainName == "") {
		var objDomainName = document.getElementById("domainName");
		if(objDomainName) {
			domainName = objDomainName.value;
		}
	}
	
	if(localeName == null || localeName == "") {
		var objLocaleName = document.getElementById("localeName");
		if(objLocaleName) {
			localeName = objLocaleName.value;
		}
	}
	
	if(targetUrl == null || targetUrl == "") {
		var objTargetUrl = document.getElementById("targetUrl");
		if(objTargetUrl) {
			targetUrl = objTargetUrl.value;
		}
	}

	var captchaText = null;
	var captcha = null;
	
	if(targetUrl && targetUrl.length > 0) {		
		captchaText = document.getElementById("captchaText").value;
		captcha = document.getElementById("captcha").value;
	} else {		
		captchaText = document.getElementById("ttbarCaptchaText").value;
		captcha = document.getElementById("ttbarCaptcha").value;
	}
			
	captchaText = captchaText ? captchaText : "";
	captcha = captcha ? captcha : "";
	
	for(var i=0 ; i < rememberMeArray.length ; i++){
		if(rememberMeArray[i] && rememberMeArray[i].checked){
			remember = "Y";
		}
	}
	
	var callbackFunction = function(code,domainName,localeName,layout,message,buttonObj,targetUrl){
		if(code == '0'){
			if(targetUrl && targetUrl.length > 0) {
				navigation(targetUrl);
			}
			ajaxLoadHtml( getEpContext() + '/'+domainName+'/ttbar/'+localeName+"/"+layout,'ttbar',null,buttonObj);
	    } else {
	    	if(targetUrl && targetUrl.length > 0) {
	    		alert(message);
	    	}else{
	    		$('#ttbarLogonErrorMsgli').html("");
		    	$('#ttbarLogonErrorMsgUl').show();
		    	$('#ttbarLogonErrorMsgli').append(message);
	    	}
	    	
	    	if(buttonObj) {
	    		buttonObj.style.cursor = "pointer";
	    	}	    	
	    }
	};

	document.getElementById("ttbarRememberMe").value=remember;	
		$.ajax({
		  url: "/commonForm/Logon.action?userId="+user_id+
		      "&isSecure=N"+
		      "&password="+password+
		      "&rememberMe="+remember+
		      '&request_locale='+localeName+
		      '&captchaText='+captchaText+
		      '&captcha='+captcha,
		  type: "get",
		  dataType: "xml",
		  success: function(xml) {			
			var code = $(xml).find('code').text();
			var message = $(xml).find('message').text();
			if(callbackFunction){				
				callbackFunction(code,domainName,localeName,layout,message,buttonObj,targetUrl);
			}			
		  },
		  
		  error: function() {
		    alert("ERROR!!!");
		  }
		});
}

/**
 * ?»å‡º?¹æ?
 * @param domainName ?¬å¸domain name
 * @param localeName èªžç³»
 * @param buttonObj  ?‰ä??»å…¥?„button
 */
function logout(domainName,localeName,buttonObj){
	if(buttonObj){
		buttonObj.style.cursor ="wait";
	}
	var remember = document.getElementById("ttbarRememberMe").value;
	var layout = document.getElementById("ttbarLayout").value;
	
	var callbackFunction = function(code,domainName,localeName,layout,buttonObj){
		if(code == '0'){
			ajaxLoadHtml( getEpContext() + '/'+domainName+'/ttbar/'+localeName+"/"+layout,'ttbar',null,buttonObj);
	    }
	};
	
		$.ajax({
			  url: "/commonForm/Logout.action?rememberMe="+remember+"&request_locale="+localeName,
			  type: "get",
			  dataType: "xml",
			  success: function(xml) {
					var code = $(xml).find('code').text();
					var message = $(xml).find('message').text();				
					if(callbackFunction){
						callbackFunction(code,domainName,localeName,layout,buttonObj);
					}	
			   },
				  
			   error: function() {
			    alert("ERROR!!!");
			  }
			  
			});
}
/**
 * ?»å…¥?å?å¾?é»žé¸my taiwantrad ?´æŽ¥?»å…¥SU?–BU
 * @param domainName ?¬å¸?„domainName
 * @param localeName èªžç³»
 * @param aObj <a> tag ?©ä»¶
 * @return
 */
function navigationMyTaiwantrade(serverName,domainName,localeName,aObj){
	
	if( !isTestDomain() ){
		serverName = serverName.toLowerCase();
		var beginFrom = serverName.indexOf(".");
		serverName = 'www' + serverName.substring(beginFrom);
	}
	
	var userId = getCookie("userId");
	var layout = document.getElementById("ttbarLayout").value;
	$.ajax({
		  url: "/commonForm/LogonRedirect.action?userId="+userId,
		  async:false,
		  type: "get",
		  dataType: "xml",
		  success: function(xml) {
			var code = $(xml).find('code').text();
			var message = $(xml).find('message').text();
			if(code == '0'){			
//				var uri = "http://"+serverName + message;
//				aObj.target = "_blank";
//				aObj.href = uri;
				window.open("/commonForm/LogonRedirectPost.action?userId="+userId);
				return true;		
		    }else	{
		    	aObj.target = "";
		    	aObj.href = "";
		    	ajaxLoadHtml( getEpContext() + '/'+domainName+'/ttbar/'+localeName+"/"+layout,'ttbar',null);
		    	var again = $('#pleaseReLonginAgain').text();
		    	alert(again);
		    }
			  
		   },
			  
		   error: function() {
		    alert("ERROR!!!");
		  }
		  
		});
}

/**
 * ? å…¥è³¼ç‰©è»?
 * @param buttonObj è³¼ç‰©è»Šæ???
 * @param cartCountId  ?¨ä?é¡¯ç¤ºè³¼ç‰©è»Šæ•¸?ç?tag id
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param cartType è³¼ç‰©è»Štype,i:Inquiry Cart ,s:Shopping Cart
 * @param items cookie?ç¨±?ºep2InquiryCart?–ep2ShoppingCartè£¡ç???
 * @param localeName èªžç³»
 * @return
 */
function addCart(buttonObj,cartCountId,viewType,cartType,items,localeName){
	if(buttonObj != null){
		buttonObj.style.cursor ="wait";
	}
	
	var itemsCatelogId = "";
	var cartList = items.split(",");
	for(var x = 0 ;x < cartList.length ; x++){
		if(cartList[x] != ""){
			itemsCatelogId += cartList[x] + ",";
		}
	}

	var callbackFun = function(code,message,viewType){
		 if(code != '-1'){			
				$("#"+cartCountId).html(code);
				var checkBoxArray = document.getElementsByName("theCheckBox");
				var maxIndex =  checkBoxArray.length - 1;
				var last = "false";
				for(var i=0 ;i < checkBoxArray.length ; i++){
					var theData = document.getElementById("theData_" + checkBoxArray[i].id);
					if(i == maxIndex){
						last = "true";
					}
					changeUncheckedClassNmae(theData,viewType,last);
					var checkBoxObj = checkBoxArray[i];
					checkBoxObj.checked = false;
				}
				var allCheckBoxArray = document.getElementsByName("allCheckBox");
				for(var y=0 ;y < allCheckBoxArray.length ;y++){
					allCheckBoxArray[y].checked = false;
				}
				//æ¸…é™¤cookieè£¡ç???
				setCookie("ep2InquiryCart","",null);
				setCookie("ep2ShoppingCart","",null);
		    }else	{		    	
		    	alert(message);
		    }
	 };

	$.ajax({
		url: "/commonForm/Cart.action?cartType="+cartType+"&items="+itemsCatelogId+"&cookieName=ep2cookie&action=add&localeName="+localeName,
		type: "get",
		dataType: "xml",		
		success: function(xml) {		
				var code = $(xml).find('code').text();
				var message = $(xml).find('message').text();				
				if(callbackFun){
					callbackFun(code,message,viewType);
					if(buttonObj != null){
						buttonObj.style.cursor ="";
					}
				}				  				  
		},
			  
	   error: function() {
	    alert("ERROR!!!");
	  }
	});
	
}

/**
 * è³¼ç‰©è»Šä¸­ä¿®æ”¹?®ç??¢å??‹é?,Products Detail/Samples Detail/myCart ä½¿ç”¨
 * @param buttonObj è³¼ç‰©è»Šæ???
 * @param catalogId ?¢å??‹é?id
 * @param cartCountId ?¨ä?é¡¯ç¤ºè³¼ç‰©è»Šæ•¸?ç?tag id
 * @param cartType è³¼ç‰©è»Štype,i:Inquiry Cart ,s:Shopping Cart
 * @param pageType ?ªä??‹é???d:Products Detail/Samples Detail ,m:My Cart
 * @param action è¦é?è¡Œç??•ä? add:?°å?
 *                         remove:?ªé™¤ 
 */
function modifyCatalogDetail2Cart(buttonObj,catalogId,cartCountId,cartType,pageType,action,companyDomainName, isFromBuy, callBack){
	if(buttonObj != null){
		buttonObj.style.cursor ="wait";
	}
	
	if( !companyDomainName ){
		companyDomainName = "";
	}
	
	var callbackFun = function(code,message,pageType){
		 if(code != '-1'){			
				$("#"+cartCountId).html(code);	
				if(pageType == "m"){
					var layout = $("#myCartLayout").val();
					var localeName = $("#myCartLocaleName").val();
					
					var requestUrl = '/commonForm/MyCart.action?layout='+layout+'&localeName='+localeName + "&domainName=" + companyDomainName;
					var id = 'mycart';
					
					var callbackFunction = function(html){
						if(id != null){	
							$('#'+id).html(html);
						}
					};
					
					$.ajax({
						url:requestUrl,
						type:"get",
						dataType: "html",
						success: function(html) {
							if(callbackFunction){
								callbackFunction(html);
								
								if( !isFromBuy ){
									$("#inquiry_cart").click();
								}
								
							}
									  
						},error: function() {
						    alert("ERROR!!!");
						}
					});
						
				}
		    }else	{		    	
		    	alert(message);
		    }
	 };

	$.ajax({
		url: "/commonForm/Cart.action?cartType="+cartType+"&items="+catalogId+"&cookieName=ep2cookie&action="+action + "&localeName=" + $("#myCartLocaleName").val(),
		type: "get",
		dataType: "xml",		
		success: function(xml) {		
				var code = $(xml).find('code').text();
				var message = $(xml).find('message').text();
				
				if( callBack ){
					callBack();
				}
				
				if(callbackFun){
					callbackFun(code,message,pageType);
					if(buttonObj != null){
						buttonObj.style.cursor ="";
					}
				}				  				  
		},
			  
	   error: function() {
	    alert("ERROR!!!");
	  }
	});
	
}

function bookmark(){
	var title = document.title;
	var url = document.URL;
	if (window.sidebar) {
   		window.sidebar.addPanel(title, url,"");
   	} else if( window.external ) {
  		window.external.AddFavorite( url, title);
  	} else if( window.opera && window.print ) {
 		return true;
  	}				
}

function allProductsSearch(linkObj,searchTextId,localeName){
	var language = this.getI18nLanguage(localeName);
	var paramObj = document.getElementById(searchTextId);
	var param = 'all products';
	if(paramObj != null){
		param = paramObj.value;
	}
	var url = 'http://www.taiwantrade.com.tw/MAIN/ProductSch.do?method=doSch&schType=0&searchState=productSearch&cs_allWord=';
	window.open(url+encodeURI(param));
}
function getI18nLanguage(country){
	var language = "en";				
	if('en_US' == country){
		language = "en"; 
	}else if('ja_JP' == country){
		language = "ja";
	}else if('zh_CN' == country){
		language = "cn";
	}
	return language;
}

function joinFree(linkObj, country){
	var language = this.getI18nLanguage(country);	
	linkObj.href = 'http://www.taiwantrade.com.tw/MAIN/perbJoin.do?Method=index&setLangCode='+language;	
}

function canNotLogin(linkObj, country){
	var language = this.getI18nLanguage(country);
	linkObj.href = 'http://www.taiwantrade.com.tw/MAIN/resources/MAIN/EN/S2/Member/browser.jsp?setLangCode='+language;
}

function forgetPassword(linkObj, country){
	var language = this.getI18nLanguage(country);
	linkObj.href ='http://www.taiwantrade.com.tw/MAIN/enLogin.do?methodToCall=forgetPassword&setLangCode='+language;
}
/**
 * é¡¯ç¤ºheader?„æ°´å¹³menu?ˆæ?
 * @param horizontalMenuName æ°´å¹³menuä¸­å??«ç?li tag?„name
 * @param actionName  /+?¶å??é¢?„actionName
 * @return
 */
function horizontalMenuEffect(horizontalMenuName,actionName){
	var arrayObj = new Array();
	arrayObj = document.getElementsByName(horizontalMenuName);
	var hMenuModel ='';
	var hMenuId = '';
	if('/home' == actionName ){
		actionName = '/';
	}
	for(var i = 0;i<arrayObj.length;i++){
		hMenuModel = arrayObj[i].value;
		if(actionName == hMenuModel){
			hMenuId = "horizontalMenu_"+hMenuModel;
	    }
	}
	if(hMenuId != ""){
		changeHorizontalMenu(hMenuId);
	}
}
function changeHorizontalMenu(menuId){
	var menuObj = document.getElementById(menuId);
	if(menuObj != null){
		menuObj.className = "current";
	}	
}

function sidebarExpand(id,ulId){
    var $btn=$('#'+ulId+' >li:gt(9)'); 
    var allCategories = document.getElementById("sideBarMenuContractAllCatalog").innerHTML;
    var Contract = document.getElementById("sideBarMenuContractContractCatalog").innerHTML;
    if($btn.is(':visible')){
	      $btn.hide();  
	      $('#'+id).html('<span class="ico ico_ar_down"></span>'+allCategories);
	      setCookie('sidebarExpandIsClose','Y',1);
	  }else{
	      $btn.show();  
	      $('#'+id).html('<span class="ico ico_ar_up"></span>'+Contract);
	      setCookie('sidebarExpandIsClose','N',1);
	  } 
}

/**
 * ?§åˆ¶?‚ç›´?¸å–®
 * @return
 */
function openMenu(){
	var actionName = findWebPageMenuUrl();

	if(actionName ==  "//undefined"){
		actionName = "/home";
	}
	var actoinNameArray = actionName.split("/");
	if( actoinNameArray[1] != 'products-detail' || actoinNameArray[1] != 'samples-detail'){	
		//actoinNameArray.length ==3 or 4 è¡¨ç¤º?ºç¬¬ä¸?±¤(ä¾‹å?ï¼?home/en_Us  , /home/en_US/)
		if(actoinNameArray.length == 3 || (actoinNameArray.length == 4 && actoinNameArray[3]=="")){		
			actionName ="/"+actoinNameArray[1];
		}
		var defVMenuId = this.getProductsItemId("verticalMenuUrl","/products-category-gallery");
		var sampleVMenuId = this.getProductsItemId("verticalMenuUrl","/samples-category-gallery");
		//? ç”¨ä¾†é??¢åˆ¤?·æ?,gallery?ƒè¢«ç½®æ??listï¼Œæ?actionä»?products-category-list?¤æ–·
		if(actionName == '/home' || actionName == '/products-category-list'){
			open2Menu(defVMenuId);
		}else if(actionName == '/samples-category-list'){
			open2Menu(sampleVMenuId);
		}else {
			openUndefMenu(actionName);
		}
	}
}

function openMenu4CatalogDetail(actionNameId){
	var actionNameObj = document.getElementById(actionNameId);
	if(actionNameObj != null){
		openUndefMenu(actionNameObj.value);
	}
}

/**
 * ä¾å‚³?¥ç?menuUrl?–å?ç¬¬ä?å±¤å??´menu?„id
 * @param verticalMenuUrl ç¬¬ä?å±¤å??´menuä¸­å??«ç?li tag?„name
 * @param menuUrl  
 * @return ?žå‚³ç¬¬ä?å±¤å??´menu?„id,?¥æŸ¥?¡menuUrl?‡å???"
 */
function getProductsItemId(verticalMenuUrl,menuUrl){
	var arrayObj = new Array();
	var vMenuId = '';
	arrayObj = document.getElementsByName(verticalMenuUrl);
	for(var i = 1;i<=arrayObj.length;i++){
		vMenuModel = arrayObj[i-1].value;
		if(menuUrl == vMenuModel){
			vMenuId = "vMenu"+i;
	    }
	}
	return vMenuId;
}

function openUndefMenu(actionName){
	var functionId = findCurrentFun(actionName);
	
	var splitIdArray = functionId.split("-");
	var idLength = splitIdArray.length;

	if(idLength == 1){//ä»?¡¨?ºç¬¬ä¸?±¤
		open2Menu(functionId);
	}
	if(idLength ==2){//ä»?¡¨?ºç¬¬äºŒå±¤
		open1Menu(functionId);
	}

	if(idLength ==3){//ä»?¡¨?ºç¬¬ä¸‰å±¤
		open1Menu(splitIdArray[0]+"-"+splitIdArray[1]);
	}

}

/**
 * å±•é?ä¸‹ä?å±¤é¸??
 * @param value ?¸å–® <li> ?„id
 * @return
 */
function open2Menu(value){
	cancelHidden("ul_"+value);
	
	var secObjArray = findSecNode(value);
	var leng = secObjArray.length;
	if(leng == 0)return;

	if(leng > 10){
		cancelHidden(value+"_expand");
		leng = 10;
	}	
	
	for(var i=0; i<leng; i++){
		var liObj2 = secObjArray[i];
		liObj2.style.display = "";
	}
	var thrArray = findSecNode(secObjArray[0].id);
	for(var g=0; g<thrArray.length; g++){
		var liObj3 = thrArray[g];
		liObj3.style.display = "";
	}
}

/**
 * å±•é?ä¸‹ä?å±¤é¸??
 * @param value ?¸å–® <li> ?„id
 * @return
 */
function open1Menu(value){
	var thrObjArray = findSecNode(value);

	var splitArray = value.split("-");
	var firstKey = splitArray[0];
	var secObjArray =  findSecNode(firstKey);
	var leng = secObjArray.length;
	var sidebarExpandIsClose = 'isCookieDisabled';
	if(isCookieEnabled()){
		sidebarExpandIsClose = getCookie('sidebarExpandIsClose');
	}
	
	
	cancelHidden("ul_"+firstKey);
	if(leng > 10){
		cancelHidden(firstKey+"_expand");
	}

    if(sidebarExpandIsClose == null || sidebarExpandIsClose == "" || sidebarExpandIsClose == 'Y'){
		leng = 10;
    }

	for(var j=1; j<=leng;j++){
		//var liObj = document.getElementById(firstKey+"-"+j);
		//if(liObj==null)break;
		//liObj.style.display = "";
		cancelHidden(firstKey+"-"+j);
	}
	
	if(thrObjArray.length == 0)return;
	for(var i=0; i<thrObjArray.length; i++){
		var liObj2 = thrObjArray[i];
		liObj2.style.display = "";
	}

 }

/**
 * ?¥è©¢?¸å–®ä¸?li>?„id
 * @return
 */
function findCurrentFun(actionName){
	var vMenuId = "";
	var firstNodeArray = findFirstNode();
	vMenuId = detachFirstNode(firstNodeArray, vMenuId, actionName);
	if(vMenuId != "")return vMenuId;

	for(var j=0; j<firstNodeArray.length; j++){
		var secArray = findSecNode(firstNodeArray[j].id);//ç¬¬ä?å±?			
		if(secArray.length == 0)continue;
		vMenuId = detachSecNode(secArray, vMenuId, actionName);	
		if(vMenuId!="")return vMenuId;	
	}

	return vMenuId;			
}


/**
 * ?¥è©¢ä½¿ç”¨?…é¸?‡ç??¸å–®?…ç›®?¯å¦?¨ç¬¬ä¸??ç¯??
 */
function detachFirstNode(firstNodeArray, vMenuId, menuUrl){
	if('/home' == menuUrl ){
		menuUrl = '/';
	}
	var liObj ;
	for(var i=0; i<firstNodeArray.length; i++){
		liObj = firstNodeArray[i];	   
		if(menuUrl == liObj.title){
			vMenuId = liObj.id;
		}
	}
	return vMenuId;
}

/**
 * ?¥è©¢ä½¿ç”¨?…é¸?‡ç??¸å–®?…ç›®?¯å¦?¨ç¬¬äºŒå?ç¯??
 */
function detachSecNode(secArray, vMenuId, menuUrl){	
	var liObj2 ;
	var comparisonMenuUrl;

	for(var d=0; d<secArray.length; d++){
		liObj2 = secArray[d];
		comparisonMenuUrl = liObj2.title;

	    if(menuUrl == comparisonMenuUrl){

	    	vMenuId = liObj2.id;
	    }else{
	    	vMenuId = detachThrNode(liObj2, vMenuId, menuUrl);
		}
	}			
	return vMenuId;
}

/**
 * ?¥è©¢ä½¿ç”¨?…é¸?‡ç??¸å–®?…ç›®?¯å¦?¨ç¬¬ä¸‰å?ç¯??
 */
function detachThrNode(secObj, vMenuId, menuUrl){	
	var thrArray = findSecNode(secObj.id);
	if(thrArray.length == 0)return vMenuId;
	var liObj3;
	var comparisonMenuUrl ;
	for(var f=0; f<thrArray.length; f++){
		 liObj3 = thrArray[f];
		 comparisonMenuUrl = liObj3.title;
		if(menuUrl == comparisonMenuUrl){
			vMenuId = liObj3.id;
		}							
	}
	return vMenuId;
}

/**
 * ?–å?ç¬¬ä?å±¤ä¸»?¸å–®??li>?©ä»¶
 * @return Array
 */
function findFirstNode(){
	var firstNodeArray = new Array();
	for(var i=1 ; i<999; i++){
		var firstNode = document.getElementById("vMenu"+i);//?–å?ç¬¬ä?å±?		
		if(firstNode == null)return firstNodeArray;//å¦‚æ??–å?ç©ºå?, ä»?¡¨æ²’æ?äº?
		firstNodeArray[i-1] = firstNode; //?–i-0?¯å??ºé™£?—æ˜¯?±ç¬¬0?‹å?
	}
	return firstNodeArray;
}
/**
 * ?–å?ç¬¬ä?å±¤ä»¥ä¸‹ç??¸å–® <li>?©ä»¶
 * @param value Array
 * @return
 */
function findSecNode(value){
	var secNodeArray = new Array();
	for(var i=1 ; i<999; i++){
		var firstNode = document.getElementById(value+"-"+i);//?–å?ç¬¬ä?å±¤ä»¥ä¸?
		if(firstNode == null)return secNodeArray;//å¦‚æ??–å?ç©ºå?, ä»?¡¨æ²’æ?äº?
		secNodeArray[i-1] = firstNode; //?–i-0?¯å??ºé™£?—æ˜¯?±ç¬¬0?‹å?
	}
	return secNodeArray;	
}

/**
 * ?–å??¬é??„URL ?•ç?æ²’æ?"EP/" ?ˆè?ä¸?EP/"
 * @return
 */
function getDocumentUrl(){
	//javascript è£¡ç”¨ä¾†è??†urlè¦é•·:http://www.taiwantrade.com.tw/EP/asindo/home/en_US
	//å¯¦é?ä¸Šç?URL :1.http://woeyshern.taiwantrade.com.tw/home/en_US
	//           2.http://www.taiwantrade.com.tw/asindo/home/en_US
	//?¯èƒ½?„urlï¼šhttp://woeyshern.taiwantrade.com.tw/EP/home/en_US
	
	var url = document.URL;
	var newURL = url;
	if( isTestDomain() ){
		if(url.indexOf("taiwantrade.com.tw/EP/")<0){
			newURL = url.replace("taiwantrade.com.tw", "taiwantrade.com.tw/EP");			
		}
	}else{
		if(url.indexOf("taiwantrade.com.tw/EP/")<0){
			if(url.indexOf("www.taiwantrade.com.tw") < 0 
					&& url.indexOf("su.taiwantrade.com.tw") < 0 ){
				var companyDomainName = document.domain.substring(0, document.domain.indexOf("."));
				newURL = url.replace("taiwantrade.com.tw", "taiwantrade.com.tw/EP/" + companyDomainName);
			}else	{
				newURL = url.replace("taiwantrade.com.tw", "taiwantrade.com.tw/EP");
			}
		}
	}

	return newURL;
}


/**
 * ?–å??¬é??„menuUrl,ä¾›æ?å°ç”¨
 * @return
 */
function findWebPageMenuUrl(){
	
	var url = getDocumentUrl();
	//var url = document.URL;  error when URL no EP/
	var arrayObj = url.split("/");
	var actionName = "/home";
	if(arrayObj[5]){
		actionName = "/"+arrayObj[5].replace("_","-");
	}	
	if(actionName == "/products-category-list" || actionName == "/samples-category-list"
		|| actionName == "/products-category-gallery" || actionName == "/samples-category-gallery"){
		//arrayObj[7] == 0 è¡¨ç¤º catalogClassId=0,ä»?¡¨æ²’æ??†é??…ç‚ºç¬¬ä?å±?
		if(arrayObj.length > 7 && arrayObj[7] == 0 ){
			actionName = actionName.replace("list","gallery");
			return actionName;
		}else	{
			actionName = actionName.replace("gallery","list");
		}			
	}else {		
			actionName = actionName.replace("gallery","list");
	}
	var menuUrlPk = actionName+"/"+arrayObj[6];
	if(arrayObj.length > 7){
		menuUrlPk += "/"+arrayObj[7];
	}
	return menuUrlPk;
}

/**
 * å°‡æ?å®šç‰©ä»¶ç?styleè¨­ç‚ºç©ºå?
 * @param id
 */
function cancelHidden(id){
	var obj = document.getElementById(id);
	if(obj != null){
		obj.style.display = "";
	}
}

function openCertification(detailUr){
	
	window.open(detailUr,"","scrollbars=yes,width=600,height=600");
}		
/**
 * æ²’æ??’å??Ÿèƒ½?„å??å™¨å°ˆç”¨å°Žé?
 * @param url è¦å??°ç??é¢url
 * @param gotoPage ç¬¬å¹¾??
 * @param categoryName ?¢å??‹é??ç¨±
 * @return
 */
function changePage(url,gotoPage,categoryName){ 
	var itemPerPage = document.getElementById("itemPerPage").value; 	
	 url = url+"/"+itemPerPage+"/"+gotoPage;
	 categoryName = categoryName.replace(/%/g,'% ');
	 categoryName = replaceAllStr(categoryName, '/', '_');
	 categoryName = replaceAllStr(categoryName, '\\', '_'); 
	 if(categoryName != null || categoryName != ""){
		 url += "/"+encodeURIComponent(categoryName);
	 }
	 navigation(url);
}

/**
 * ?‰æ?åºå??½ç??†é??¨å??¨å???
 * @param url è¦å??°ç??é¢url
 * @param gotoPage ç¬¬å¹¾??
 * @param thisName ?ç¨±
 * @param ascendOrDescend ?žå?è¨­ç‚º 0,?žæ?è¨­ç‚º 1.
 * @return
 */
function changePageSortColumn(url,gotoPage,thisName,ascendOrDescend){ 
	 var itemPerPage = $('#itemPerPage').val();
	 var sortColumn = $('#sortColumn').val();
	 var sortBy = ascendOrDescend;
	 
	 if(typeof itemPerPage =='undefined' ){
		 itemPerPage = 10;
	 }	 	
	 url = url+"/"+itemPerPage+"/"+gotoPage+"/"+sortColumn+"/"+sortBy;
	 thisName = thisName.replace(/%/g,'% ');
	 thisName = thisName.replace('/','_');
	 thisName = thisName.replace('\\','_');
	 if(thisName != null || thisName != ""){
		 url += "/"+encodeURIComponent(thisName);
	 }
	 
	 navigation(url);
}

/**
 * ?©ç”¨javaScript å°Žé?
 * @param url
 */
function navigation(url){
	window.location.href = fixUrlForDomainNameAtFront(url);
}

function fixUrlForDomainNameAtFront(url){
	
	if( !isLocalhostDomain() ){
		var companyDomainName = document.domain.substring(0, document.domain.indexOf("."));
		
		if( url.indexOf("/" + companyDomainName + "/") != -1 ){
			url = url.substring(url.indexOf("/" + companyDomainName + "/") + ("/" + companyDomainName).length);
		}
	}
	
	return url;
}


/**
 * ?¨æ??Ÿèƒ½
 * @param web
 */
function postPushing(web){	
	if(web=='Facebook'){
		window.open('http://www.facebook.com/sharer.php?u='.concat(encodeURIComponent(location.href)).concat('&t=').concat(encodeURIComponent(document.title)));
	}else if(web=='Twitter'){
		window.open('http://twitter.com/home/?status=' .concat(encodeURIComponent(document.title)) .concat(' ') .concat(encodeURIComponent(location.href)));
	}else if(web=='Plurk'){
		window.open('http://www.plurk.com/?qualifier=shares&status=' .concat(encodeURIComponent(location.href)) .concat(' ') .concat('(') .concat(encodeURIComponent(document.title)) .concat(')'));
	}
}

/**
 * ?¸å?????„è???
 * @param allCheckBox ?é¢ä¸ŠselectAll checkBox?„ç‰©ä»?
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param cartType è³¼ç‰©è»Štype,i:Inquiry Cart ,s:Shopping Cart
 */
function checkAllData(allCheckBox,viewType,cartType){	
    var theCheckBox = document.getElementsByName("theCheckBox");
    var maxLength = theCheckBox.length - 1 ;
    var last = "false";
    if (allCheckBox != null) {
	    for (var i = 0 ; i < theCheckBox.length ; i++) {
	    	if (theCheckBox[i].type == "checkbox") {
	    		if (allCheckBox.checked == true) {	    		
		            theCheckBox[i].checked = true;
		            if(i == maxLength){
		            	last = "true";
		            }
		            changeClassName(theCheckBox[i].id,viewType,cartType,last);
	    		} else {	           	            	
	            	theCheckBox[i].checked = false;
	            	if(i == maxLength){
		            	last = "true";
		            }
	            	changeClassName(theCheckBox[i].id,viewType,cartType,last);
	    		}
	    	}
	    }
	}
}


/**
 * ?¸å?????„è???For Private Show Room
 * @param allCheckBox ?é¢ä¸ŠselectAll checkBox?„ç‰©ä»?
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param cartType è³¼ç‰©è»Štype,i:Inquiry Cart ,s:Shopping Cart
 */
function checkAllPrivateData(allCheckBox,viewType){	
    var theCheckBox = document.getElementsByName("theCheckBox");
    var maxLength = theCheckBox.length - 1 ;
    var last = "false";
    if (allCheckBox != null) {
	    for (var i = 0 ; i < theCheckBox.length ; i++) {	    	
	    	if (theCheckBox[i].type == "checkbox") {
	    		if (allCheckBox.checked == true) {	    		
		            theCheckBox[i].checked = true;
		            if(i == maxLength){
		            	last = "true";
		            }
		            changeClassNameForPrivate(theCheckBox[i].id,viewType,last);		           
	    		} else {	           	            	
	            	theCheckBox[i].checked = false;
	            	if(i == maxLength){
		            	last = "true";
		            }
	            	changeClassNameForPrivate(theCheckBox[i].id,viewType,last);
	    		}
	    	}
	    }
	}
}

/**
 * è®Šæ??¾é¸?¢å?å¾Œç?css class,ä¸¦å??‚å?catalogIdå¯«å…¥cookieä¸?
 * @param catalogId ?¢å??‹é?id
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param cartType è³¼ç‰©è»Štype,i:Inquiry Cart ,s:Shopping Cart
 * @param last ?¯å¦?ºé??¢ä????ä¸???¢å??‹é?
 * @return
 */
function changeClassName(catalogId,viewType,cartType,last){
	var theData = document.getElementById("theData_" + catalogId);	
	var checkBoxObj = document.getElementById(catalogId);	
	var cartCookieName = "";
	if(cartType == "i"){
		cartCookieName = "ep2InquiryCart";
	}else if(cartType == "s"){
		cartCookieName = "ep2ShoppingCart";
	}

	if (checkBoxObj.checked == true) {
		modifyData2Cookie(cartCookieName,checkBoxObj.id,"add");
		changeCheckedClassName(theData,viewType,last);
	} else {
		modifyData2Cookie(cartCookieName,checkBoxObj.id,"remove");
		changeUncheckedClassNmae(theData,viewType,last);
	}
}

/**
 * For Private Show Room
 * è®Šæ??¾é¸?¢å?å¾Œç?css class,ä¸¦å??‚å?catalogIdå¯«å…¥cookieä¸?
 * @param catalogId ?¢å??‹é?id
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param cartType è³¼ç‰©è»Štype,i:Inquiry Cart ,s:Shopping Cart
 * @param last ?¯å¦?ºé??¢ä????ä¸???¢å??‹é?
 * @return
 */
function changeClassNameForPrivate(catalogId,viewType,last){
	var theDataIsSample = document.getElementById("theDataIsSample_" + catalogId).value;
	if(theDataIsSample == "true" ){
		changeClassName(catalogId,viewType,'s',last);
	}
	changeClassName(catalogId,viewType,'i',last);
}
/**
 * æª¢æŸ¥Inquiry Cart ??Shopping Cart ?¨å?ä¸?•«?¢æ??„éŒ¯èª?
 * @param buttonObj è³¼ç‰©è»Šæ???
 * @param cartCountId  ?¨ä?é¡¯ç¤ºè³¼ç‰©è»Šæ•¸?ç?tag id
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param cartType è³¼ç‰©è»Štype,i:Inquiry Cart ,s:Shopping Cart
 * @param localeName èªžç³»
 * @return
 */
function checkMyCart4InquiryAndShopping(buttonObj,cartCountId,viewType,cartType,localeName){
	var inquiryCartItems = getCookie("ep2InquiryCart");
	var shoppingCartItems = getCookie("ep2ShoppingCart");
	var messageObj = null;

	
	if (inquiryCartItems == "" && shoppingCartItems == "") {
		messageObj = document.getElementById("cartErrorMessage4OneProduct");
		alert(messageObj.innerHTML);
		return ;
	}
	
	if( cartType == "s" && inquiryCartItems != "" &&  shoppingCartItems == ""){
		messageObj = document.getElementById("cartErrorMessage4OnlySample");
		alert(messageObj.innerHTML);
		return ;
	}
	
	if(cartType == "s" &&  shoppingCartItems != "" && inquiryCartItems != ""){
		var inquiryCartArray = inquiryCartItems.split(",");
		for(var i in inquiryCartArray){
			if(inquiryCartArray[i] != ""){
				var theDataIsSampleObj = document.getElementById("theDataIsSample_" + inquiryCartArray[i]);
				if(theDataIsSampleObj){
					var theDataIsSample = theDataIsSampleObj.value;
					if(theDataIsSample == 'false'){
						messageObj = document.getElementById("cartErrorMessage4OnlySample");
						alert(messageObj.innerHTML);
						return ;
					}
				}
			}
		}
	}
	
	if(cartType == "i" && inquiryCartItems == ""){
		messageObj = document.getElementById("cartErrorMessage4OneProduct");
		alert(messageObj.innerHTML);
		return ;
	}
	
	if(cartType == "i"){
		addCart(buttonObj,cartCountId,viewType,cartType,inquiryCartItems,localeName);
	}else if(cartType == "s"){
		addCart(buttonObj,cartCountId,viewType,cartType,shoppingCartItems,localeName);
	}
}

/**
 * æª¢æŸ¥Inquiry Cart ??Shopping Cart ?¨ä??Œç•«?¢æ??„éŒ¯èª?
 * @param buttonObj è³¼ç‰©è»Šæ???
 * @param cartCountId  ?¨ä?é¡¯ç¤ºè³¼ç‰©è»Šæ•¸?ç?tag id
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param cartType è³¼ç‰©è»Štype,i:Inquiry Cart ,s:Shopping Cart
 * @param localeName èªžç³»
 * @return
 */
function checkMyCart4InquiryOrShopping(buttonObj,cartCountId,viewType,cartType,localeName){
	var items = "";	
	
	if(cartType == "i"){
		items = getCookie("ep2InquiryCart");
	}else if(cartType == "s"){
		items = getCookie("ep2ShoppingCart");			
	}

	if (items == "") {
		var messageObj = document.getElementById("cartErrorMessage4OneProduct");
		alert(messageObj.innerHTML);
		return ;
	}else	{
		addCart(buttonObj,cartCountId,viewType,cartType,items,localeName);
	}
}



/**
 * Products &  Sampleså°ˆç”¨,å°‡css?¹ç‚º?‹é?è¢«å‹¾?¸æ??„æ¨£å¼?
 * @param theData è¦ä¿®?¹cssæ¨???„ç‰©ä»?
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param last ?¯å¦?ºé??¢ä????ä¸???¢å??‹é?
 */
function changeCheckedClassName(theData,viewType,last){
	var className = "class";
	
	if(ruleBrower("IE6") || ruleBrower("IE7")){
		className = "className";
	}    
	
	if (viewType == "listType" && last== "true") {		
		theData.setAttribute(className, "last selected");
	} else {
		theData.setAttribute(className, "selected");
	}	
}

/**
 * Products &  Sampleså°ˆç”¨,å°‡css?¹ç‚º?‹é??ªè¢«?¾é¸?‚ç?æ¨??
 * @param theData è¦ä¿®?¹cssæ¨???„ç‰©ä»?
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param last ?¯å¦?ºé??¢ä????ä¸???¢å??‹é?
 */
function changeUncheckedClassNmae(theData,viewType,last){
	var className = "class";
	
	if(ruleBrower("IE6") || ruleBrower("IE7")){
		className = "className";
	}
	if ( viewType == "listType" && last == "true") {
		theData.setAttribute(className, "last");
	} else {
		theData.removeAttribute(className);
	}
}

/**
 * ä¿®æ”¹cookieè£¡ç?è³‡æ?
 * @param cookieName cookie?„å?ç¨?key)
 * @param cookieValue è¦ä¿®?¹ç?cookie?§å®¹(value)
 * @param action è¦é?è¡Œç??•ä? add:ä¾å‚³?¥å??¸å…§å®?å°‡è??™å??¥å??‰cookie?§å®¹ä¸?ä»?,"?†é?
 *                         remove:ä¾å‚³?¥å??¸å…§å®?å°‡å??‰cookie?§å®¹ä¸­ç??¸å??„å?ç§»é™¤
 */
function modifyData2Cookie(cookieName,cookieValue,action){
	var cookieContent = getCookie(cookieName);
	var seletedArray = cookieContent.split(",");
	
	if(action == "add"){
		var flag = false;		
		for(x in seletedArray){
			if(seletedArray[x] == cookieValue){
				flag = true;
				break;
			}
		}
		if(flag == false){
			seletedArray[seletedArray.length] = cookieValue;
		}
		
	}else if(action == "remove"){
		for( x in seletedArray){
			if(seletedArray[x] == cookieValue){
				//ie ä¸æ”¯?´indexOf ??»¥è¦†å¯«
				if(!seletedArray.indexOf){
					  Array.prototype.indexOf = function(obj){
					   for(var i=0; i<this.length; i++){
						 if(this[i]==obj){
						  return i;
						 }
					   }
					   return -1;
					 }
				}

				var i = seletedArray.indexOf(cookieValue);
				seletedArray.splice(i,1);				
			}
		}
	}
	
	cookieContent = seletedArray.join(",").toString();
	setCookie(cookieName,cookieContent,null);
}

/**
 * ?›é???ä¾cookieä¸­æ?è¨˜é??„è????²è?css class?„å???
 * @param viewType ?é¢é¡¯ç¤ºtype, galleryType or listType
 * @param cartType è³¼ç‰©è»Štype,i:Inquiry Cart ,s:Shopping Cart
 * @return
 */
function keepCartSelected(viewType,cartType){
	var checkBoxArray = document.getElementsByName("theCheckBox");
	var maxIndex =  checkBoxArray.length - 1;
	var last = "false";
	items = ""
	if(cartType == "i"){
		items = getCookie("ep2InquiryCart");
	}else if(cartType == "s"){
		items = getCookie("ep2ShoppingCart");			
	}else if(cartType == null){
		var inquiryCartItems = getCookie("ep2InquiryCart");
		var shoppingCartItems = getCookie("ep2ShoppingCart");
		
		items = inquiryCartItems + shoppingCartItems;
	}
	
	if(items != ""){
		var cookieArray = items.split(",");
		cookieArray.shift();	
		for(var y=0 ; y < checkBoxArray.length ; y++){
			if(y == maxIndex){
				last = "true";
			}
			for(x in cookieArray){
				if( cookieArray[x] != "" && cookieArray[x] == checkBoxArray[y].id){
					checkBoxArray[y].checked = true;
					var theData = document.getElementById("theData_" + cookieArray[x]);
					changeCheckedClassName(theData,viewType,last);
				}
			}
			continue;
			if(viewType == "listType" && last == "true"){
				var theData = document.getElementById("theData_" + checkBoxArray[y].id);
				changeUncheckedClassNmae(theData,viewType,last);
			}
		}
	}else{
		for(var i=0 ;i < checkBoxArray.length ;i++){
			var theData = document.getElementById("theData_" + checkBoxArray[i].id);
			if(i == maxIndex){
				last = "true";
			}
			changeUncheckedClassNmae(theData,viewType,last);
			
			var checkBoxObj = checkBoxArray[i];
			checkBoxObj.checked = false;
		}
	}
}


//è®Šæ??–ç?
function switchImpage(index,imgSrc,imgAlt) {
	var className = "class";
	var impageButton = document.getElementsByName("impageButton");
	var displayImpage = document.getElementById("displayImpage");
	//alert(displayImpage.src);
	var ImgTitle = imgAlt;
	
	if(ruleBrower("IE6") || ruleBrower("IE7")){
		className = "className";
	}
	
	if (imgSrc == "") {
		imgSrc = "/ep2res/images/noimg_big.jpg";
		imgAlt = "";
		ImgTitle = "";
	}
	if(ruleBrower("IE6")){
		setTimeout(function() {switchImpageExecute(index,imgSrc,imgAlt,displayImpage,impageButton,className,ImgTitle);}, 1000);
	}else	{
		switchImpageExecute(index,imgSrc,imgAlt,displayImpage,impageButton,className,ImgTitle);
	}
}

function switchImpageExecute(index,imgSrc,imgAlt,displayImpage,impageButton,className,ImgTitle){
	for (var i = 0 ; i < impageButton.length ; i++) {
		if (i == index) {
			impageButton[i].setAttribute(className, "current");
			displayImpage.setAttribute("src", imgSrc);
			displayImpage.setAttribute("alt", imgAlt);
			displayImpage.setAttribute("title", ImgTitle);
		} else {
			impageButton[i].setAttribute(className, "");
		}
	}    
}

//Google Map
function googleMap(mapWidth,mapHeight) {
	var mapAddressListSize = $('#map_address_size').val();
	 
	for(var i1=0;i1<mapAddressListSize;i1++){
	  
	    var set1 = {
       	 width: mapWidth,
  		 height: mapHeight,
  		 center: $('#map_address'+i1).val(),
         zoom: 12 ,
         control: false ,
         mapTypeControl: false ,         
         mapTypeId: 'ROADMAP'  ,
         scaleControl: false ,
         marker: [{
                     addr:$('#map_address'+i1).val(), 
                     text:$('#map_address'+i1).val()
                 }]
       };
	       
	       $('#map_canvas'+i1).tinyMap( set1 );
    }
}

/**
 * ?»å…¥private show room?‚ï??·è?å¯†ç¢¼é©—è??„æ–¹æ³?
 * @param companyDomainName ?¬å¸?„domain name
 * @param localeName èªžç³»
 * @return
 */
function logonPrivateShowRoom(companyDomainName, localeName) {	
	$.blockUI({
		css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5, 
            color: '#fff' 
        }
	});
	
	$.ajax({
		url: "/commonForm/privateShowroomCheck.action?request_locale="+localeName+"&companyDomainName=" + companyDomainName + "&localeName=" + localeName + "&byInvitationPassword=" + $("#byInvitationPassword").val(),
		type: "get",
		dataType: "xml",
		success: function(xml) {
			$.unblockUI();
			var code = $(xml).find("code").text();
			var message = $(xml).find("message").text();
			if(code == "0") {
				if(($("#sourceCompanyDomainName").val() && $("#sourceCompanyDomainName").val().length > 0) &&
						($("#sourceActionName").val() && $("#sourceActionName").val().length > 0) &&
						($("#sourceCatalogId").val() && $("#sourceCatalogId").val().length > 0)) {
					navigation( getEpContext() + "/" + $("#sourceCompanyDomainName").val() + "/" + $("#sourceActionName").val() + "/" + localeName + "/" + $("#sourceCatalogId").val());
				} else {
					navigation( getEpContext() + "/" + companyDomainName + "/private-list/" + localeName);
				}				
			} else {
				$("#logonErrorMsg").html("");
				$("#logonError").show();
				$("#logonErrorMsg").append(message);				 
			}
		},		  
		error: function() {
			$.unblockUI();
			alert("ERROR!!!");
		}
	});	
}


/**
 * ?¤æ–·?¯å¦?»é?,?¥å??ªç™»???ˆè‡³?»å…¥?é¢,?¥å·²?»å…¥,?‡å??è‡³?®ç??°é???
 * @param domainName ?¬å¸?„domainName
 * @param localeName èªžç³»
 * @param successURL ?®ç??°é??¢url
 * @return
 */
function whenLogonNavigationAfter(domainName, localeName,successURL){
	var logonStatus = isLogon();
	if(!successURL){
		alert("No Destinations");
		return;
	}
	if(logonStatus == true){
		navigation(successURL);
	}else{
		navigation( getEpContext() + "/" + domainName + "/logon/" + localeName + successURL);
	}
}


function getInquiryReturnUrlCookieName(){
	return "inquiryReturnUrl";
}


function getBuynowReturnUrlCookieName(){
	return "buynowReturnUrl";
}


/**
 * ?¤æ–·?¯å¦?»é?,?¥å??ªç™»???ˆè‡³?»å…¥?é¢,?¥å·²?»å…¥,?‡å??è‡³?®ç??°é???( å°ˆç‚º buynow ??inquiry ä½¿ç”¨ )
 * @param domainName ?¬å¸?„domainName
 * @param localeName èªžç³»
 * @param successURL ?®ç??°é??¢url
 * @param returnUrl ????¢é? buynow ??inquiry ?‚æ?è¦è??„è·¯å¾?
 * @param isInquiry ?¯å¦??inquiry (true, false)
 * @return
 */
function whenLogonNavigationAfterForBuynowAndInquiry(domainName, localeName,successURL, returnUrl, isInquiry){
	var logonStatus = isLogon();
	if(!successURL){
		alert("No Destinations");
		return;
	}
	if(logonStatus == true){
		navigation(successURL);
	}else{
		
		if(isInquiry){
			setCookie(getInquiryReturnUrlCookieName(), encodeURIComponent(returnUrl));
			navigation(successURL);
		}else{
			setCookie(getBuynowReturnUrlCookieName(), encodeURIComponent(returnUrl));
			navigation( getEpContext() + "/" + domainName + "/logon/" + localeName + successURL);
		}
		
	}
}


/**
 * ? å…¥preferred vendor?‚ï??·è??²å??™è¨»?„æ–¹æ³?
 * @return
 */
function addPreferredVendor() {
	var companyDomainName = document.getElementById("companyDomainName");
	var localeName = document.getElementById("localeName");
	
	$.blockUI({
		css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5, 
            color: '#fff' 
        }
	});
	
	$.ajax({
		url: "/commonForm/addPreferredVendor.action",
		type: "POST",
		data: $("#vendorForm").serialize(),
		dataType: "xml",
		success: function(xml) {
		    $.unblockUI();
		    var code = $(xml).find("code").text();
		    var message = $(xml).find("message").text();
		    if(code == "0") {
		    	navigation( getEpContext() + "/" + companyDomainName.value + "/company/" + localeName.value);
		    } else {
		    	alert(message);
		    }
		},		
		error: function() {
			$.unblockUI();
			alert("ERROR!!!");
		}		
	});	
}


/**
 * ?¸é??¢å?é¡¯ç¤º
 */
function productCarouselOnload() {	
	var $slider = $("#productCarousel > ul"),
		$items = $slider.find("li"),
		$totalItemNum = $items.length,
		$perItemsNum = 6,
		$startIndex = 0,
		$endIndex = ($totalItemNum < 6) ? $totalItemNum : 6;

	$items.slice($startIndex+$perItemsNum,$totalItemNum).hide();
	displayProductButton($startIndex,$endIndex,$totalItemNum);
	
	$(".btn_scroll_left").click(function() {
		if ($startIndex > 0) {
			$items.slice($startIndex,$endIndex).hide();
			
			if ($startIndex <= $perItemsNum) {
				$startIndex = 0,
				$endIndex = 6;
			} else if (($endIndex % $perItemsNum) != 0) {
				$startIndex = $startIndex - $perItemsNum,
				$endIndex = $endIndex - ($endIndex % $perItemsNum);
			} else {
				$startIndex = $startIndex - $perItemsNum,
				$endIndex = $endIndex - $perItemsNum;
			}
			
			$items.slice($startIndex,$endIndex).fadeIn();			
		}
		displayProductButton($startIndex,$endIndex,$totalItemNum);
	});
		
	$(".btn_scroll_right").click(function() {
		if ($endIndex < $totalItemNum) {
	    	
			$items.slice($startIndex,$endIndex).hide();
			
			$startIndex = $startIndex + $perItemsNum,
			$endIndex = ($endIndex + $perItemsNum) > $totalItemNum ? $totalItemNum : ($endIndex + $perItemsNum);
			
			$items.slice($startIndex,$endIndex).fadeIn();
		}
		displayProductButton($startIndex,$endIndex,$totalItemNum);
	});
}


function displayProductButton(startIndex,endIndex,totalItemNum) {
    if(startIndex == 0) {
    	$("#backButton").attr('class','btn_scroll_left left_disable');
    } else {
    	$("#backButton").attr('class','btn_scroll_left');
    }
    
    if(endIndex == totalItemNum) {
    	$("#forwardButton").attr('class','btn_scroll_right right_disable');;
    } else {
    	$("#forwardButton").attr('class','btn_scroll_right');
    }
}

/**
 * å°‡a tag?„titleè½‰æ??å???
 */
function title2Pic(){
	var x = 10;
	var y = 20;
	$("a.tooltip").mouseover(function(e){
		this.myTitle = this.title;
		this.title = "";
		var imgTitle = this.myTitle? "<br/>" + this.myTitle : "";
		//var tooltip = "<div id='tooltip' ><img id='mycart4autoTitlePic' src='"+ this.myTitle +"' width='90' height='90'/><\/div>";
		var divObj = document.createElement('div');
			divObj.id = 'tooltip';
			divObj.align= 'center';
		var imgObj = document.createElement('img');
			imgObj.id='mycart4autoTitlePic';
			imgObj.src= this.myTitle;
     		//?–å?å½±å?å¯¦é??„é•·å¯?
    		var imgW = imgObj.width;
    		var imgH = imgObj.height;

    		//è¨ˆç?ç¸®æ”¾æ¯”ä?
    		var w=round(90/imgW,2);
    		var h=round(90/imgH,2);
    		
    		var pre=1;
    		if(w>h){
    			pre=h;
    		}else{
    			pre=w;
    		}
    		$(imgObj).width(round(imgW*pre,0));
    		$(imgObj).height(round(imgH*pre,0));

    		divObj.appendChild(imgObj);
		$("body").append(divObj);
		$("#tooltip").css({
			"top": (e.pageY+y) + "px",
			"left": (e.pageX+x) + "px"
		}).show("fast"); 
		}).mouseout(function(){
			this.title = this.myTitle;
			$("#tooltip").remove();
		}).mousemove(function(e){
			$("#tooltip").css({
				"top": (e.pageY+y) + "px",
				"left": (e.pageX+x) + "px"
			});
		});
}


/*
*Copy to Clipboard , from Old Version
http://brooknovak.wordpress.com/2009/07/28/accessing-the-system-clipboard-with-javascript/
*/
function copyToClipboard(targetId)
{
        target = document.getElementById(targetId);
   		copytext=target.value;
	
        if (window.clipboardData)
        {
                window.clipboardData.setData('Text', copytext);
        }
        else if (window.netscape)
        {
	          try {
	               netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
	          } catch (e) {
	               alert("?è¦½?¨ä??è¨±ï¼\nè«‹åœ¨?è¦½?—æ?[about:config]\n å°‹æ‰¾ 'signed.applets.codebase_principal_support' \n ä¸¦è¨­??'true' !!");
	          }

                var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
                if (!clip) return;

                var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
                if (!trans) return;

                var str = Components.classes['@mozilla.org/supports-string;1'].createInstance(Components.interfaces.nsISupportsString);
                str.data=copytext;

                trans.addDataFlavor('text/unicode');
                trans.setTransferData('text/unicode',str,copytext.length*2);

                var clipid=Components.interfaces.nsIClipboard;
                if (!clipid) return false;

                clip.setData(trans,null,clipid.kGlobalClipboard);
        }
        else
        {
                return false;
        }
        return false;
}

function availableCountryOpen(index,tagObj,domainName,localeName,catalodId){
	if(tagObj) {
		tagObj.style.cursor ="wait";
	}	
		$('#idx_availableCountry'+index).animate({height: '100px'});
		$('#availableCountry'+index).css('display','none');
		$('#availableCountrySelected'+index).css('display','block');
		ajaxLoadHtml('/commonForm/availableCountry.action?domainName='+domainName+'&localeName='+localeName+'&catalodId='+catalodId,'idx_availableCountry'+index,null,tagObj);
		
}

function availableCountryClose(index){
	$('#idx_availableCountry'+index).animate({height:'0px'}, 'fast');
	$('#idx_availableCountry'+index).html("");
	$('#availableCountrySelected'+index).css('display','none');
	$('#availableCountry'+index).css('display','block');

}

/**
 * ?²æ?é¼ å³??
 */
function avoidMouseRightClick(mouseRightClick_msg){

//	var allowRightClick ="false";
//	if('localhost.taiwantrade.com.tw'==window.location.host || 'localhost'==window.location.host ){		
//		allowRightClick = "true";
//	}
//	if(allowRightClick=='false'){
//		if(navigator.userAgent.search("MSIE") > -1){
//			document.oncontextmenu=new Function("event.returnValue=false;");	
//		}else{
//			document.oncontextmenu=function(){return false;}
//		}
//	}

	document.oncontextmenu=function(){
		alert(mouseRightClick_msg);
 		return false;
	}
}

/**
 * ä½¿ç”¨Ajaxè¼‰å…¥contact usè¡¨å–®
 * @param formContainerId è¡¨å–®?„å®¹?¨id
 * @param companyDomainName ?¬å¸?„domain name
 * @param localeName èªžç³»
 * @return
 */
function loadContactUsForm(formContainerId, companyDomainName, localeName) {
	var targetUrl = null;	
	var userId = getCookie("userId");
	
	targetUrl = "/commonForm/contactus.action?request_locale="+localeName+"&companyDomainName=" + companyDomainName + "&localeName=" + localeName;
	
	if(userId != "") {
		targetUrl += "&userId=" + userId;
	}
	
	ajaxLoadHtml(targetUrl, formContainerId);
}

/**
 * æª¢æŸ¥ä½¿ç”¨?…è¼¸?¥ç?å­—ä¸²?‡å??‡ä¸­?„Captchaå­—ç¬¦?¯å¦ä¸?‡´
 * @param captchaText ä½¿ç”¨?…è¼¸?¥ç?å­—ä¸²  
 * @param captcha ç¶“é?ç·¨ç¢¼?„Captchaå­—ç¬¦
 * @param actionName ?·è?æ­¤æ–¹æ³•ç?action?ç¨±
 * @return
 */
function checkCaptchaText(captchaText, captcha, actionName) {
	var localeName = document.getElementById("localeName");
	
	$.ajax({
		url: "/commonForm/" + actionName + "!checkCaptchaText.action?captchaText=" + captchaText + "&captcha=" + captcha + "&localeName=" + localeName.value,
		type: "GET",
		dataType: "xml",
		success: function(xml) {
		    var code = $(xml).find("code").text();
		    var message = $(xml).find("message").text();
		    if(code == "0") {
		    	if(actionName == "inquiry") {
		    		submitInquiryForm();
		    	} else if(actionName == "contactus") {
		    		submitContactUsForm();
		    	}		    	
		    } else {
		    	alert(message);
		    }
		},		
		error: function() {
			alert("ERROR!!!");
		}		
	});
}

/**
 * ?äº¤contact usè¡¨å–®
 * @return
 */
function submitContactUsForm() {
	var companyDomainName = document.getElementById("companyDomainName");
	var localeName = document.getElementById("localeName");
	
	$.blockUI({
		css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5, 
            color: '#fff' 
        }
	});
	
	$.ajax({
		url: "/commonForm/contactus!createContactUs.action?localeName=" + localeName.value,
		type: "POST",
		data: $("#contactUsForm").serialize(),
		dataType: "xml",
		success: function(xml) {
		    $.unblockUI();
		    var code = $(xml).find("code").text();
		    var message = $(xml).find("message").text();
		    if(code == "0") {
		    	navigation( getEpContext() + "/" + companyDomainName.value + "/inquiryresult/" + localeName.value);
		    } else {
		    	alert(message);
		    }
		},		
		error: function() {
			$.unblockUI();
			alert("ERROR!!!");
		}		
	});
}

/**
 * ä½¿ç”¨Ajaxä¸Šå‚³æª”æ?
 * @param elementId æª”æ?ä¸Šå‚³?ƒä»¶?„id
 * @return
 */
function ajaxFileUpload(elementId) {
	var localeName = document.getElementById("localeName");
	var resizedWidth = document.getElementById("resizedWidth");
	var resizedHeight = document.getElementById("resizedHeight");
	var acceptedFilenameExtension = document.getElementById("acceptedFilenameExtension");
	var maxFileSize = document.getElementById("maxFileSize");
	
	$.blockUI({
		css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5, 
            color: '#fff' 
        }
	});

	$.ajaxFileUpload({
		url: "/commonForm/ajaxFileUpload.action?localeName=" + localeName.value + "&resizedWidth=" + resizedWidth.value + "&resizedHeight=" + resizedHeight.value + "&acceptedFilenameExtension=" + acceptedFilenameExtension.value + "&maxFileSize=" + maxFileSize.value,
		secureuri: false,
		fileElementId: elementId,
		dataType: "xml",
		success: function(xml) {
			$.unblockUI();
			var unit = null;
			var temp = null;
			var filePath = null;
			var filename = null;
			var systemFilename = null;
			var fileSize = null;
		    var code = $(xml).find("code").text();
		    var message = $(xml).find("message").text();
		    var fileInfo = $(xml).find("fileInfo").text();		    
		    if(fileInfo && fileInfo.length > 0) {
		    	temp = fileInfo.split(",");
		    	if(temp.length >= 5) {
		    		filePath = temp[1];
			    	filename = temp[2];
			    	systemFilename = temp[3];
			    	fileSize = temp[4];
		    	}
		    }		    
		    if( (filename && filename.length > 0) &&		    		
		    		(systemFilename && systemFilename.length > 0) &&
		    		(fileSize && fileSize.length > 0) ) {
			    var fileLinkId = elementId + "_link";
			    var fileLink = document.getElementById(fileLinkId);
			    fileSize = parseInt(fileSize, 10);			    
			    if(fileSize >= 1024) {
			    	fileSize = fileSize / 1024;
			    	fileSize = parseInt(fileSize, 10);
			    	unit = "kB";
			    } else {
			    	unit = "B";
			    }			    
		    	fileLink.innerHTML = "<a href='/commonForm/FileDownload?path=" + filePath + "&filename=" + systemFilename + "'>" + filename + " (" + fileSize + unit + ")</a>";
		    }
		    if(code == "0") {
		    	var fileInfoId = elementId + "_fileInfo";
		    	var objFileInfo = document.getElementById(fileInfoId);
		    	if(objFileInfo) {
		    		objFileInfo.value = fileInfo;
		    	}
			}
		    alert(message);
		},
		error: function() {
			$.unblockUI();
			alert("ERROR!!!");
		}
	});
}

/**
 * è¼‰å…¥inquiry?Œcontact usè¡¨å–®ä¸­templateä¸‹æ?å¼é¸?®ç??—è¡¨
 * @param templateListId templateä¸‹æ?å¼é¸?®ç?id
 * @return
 */
function loadTemplateOption(templateListId) {        
    var templateOption = [
		"Asking for quotation",
		"Asking for catalog",
		"Asking for quotation & product catalog"
	];
    var objTemplateList = document.getElementById(templateListId);
    var objOption = null;
    for(var i = 0; i < templateOption.length; i++) {
        objOption = document.createElement("option");
        objOption.text = templateOption[i];
        objOption.value = i;
        objTemplateList.options.add(objOption);
    }
}

/**
 * å°‡template?„å…§å®¹è??¥inquiry?Œcontact usè¡¨å–®ä¸­messageæ¬„ä??„æ?å­—è¼¸?¥å?å¡?
 * @param messageFieldId
 * @param messageIndex
 * @return
 */
function loadTemplateMessage(messageFieldId, messageIndex) {    
    var templateMessage = [
		"Dear Sir / Madam," + "\n" +
		"We have seen your advertisement in Taiwantrade and are interested " +
		"in your line of [Product Name]. " + "\n" +
		"Please quote us for the items listed in the enclosed query form," +
		"including shipping term [e.g. C.I.F. Taiwan]." + "\n" +
		"Please also indicate your shortest delivery time," +
		"terms of payment, and discounts for regular orders." + "\n\n" +
		"Thank you in advance and we earnestly await your reply." + "\n\n" +
		"Yours truly,",
		   
		"Dear Sir / Madam," + "\n" +
		"We learned from Taiwantrade that your company supplies [Product Name]. " + "\n" +
		"We are particularly interested in [Product type]. " +
		"Please kindly provide us with more detailed information." +
		"It will be highly appreciated also if you can send us " +
		"your latest product catalog, price list and samples." + "\n\n" +
		"Awaiting your soonest reply." + "\n\n" +
		"Yours truly,",
		   
		"Dear Sirs," + "\n" +
		"We are looking for [electronic massager devices] " +
		"from suppliers experienced exporting to the [European] market." + "\n" +
		"High quality standards and reliable delivery schedules are " +
		"both very important to our company."+ "\n" +
		"Please provide us with a formal quotation [(FOB Hong Kong)] " +
		"along with your latest product catalog." + "\n" +
		"We look forward to hearing from you soon."                         
	];
    var objMessageField = document.getElementById(messageFieldId);
    if(templateMessage[messageIndex]) {
        objMessageField.innerHTML = templateMessage[messageIndex];
    }   
}

/**
 * è¼‰å…¥stateä¸‹æ?å¼é¸?®ç??—è¡¨
 * @param selectId select?ƒä»¶?„id
 * @param countryId ä½¿ç”¨?…é¸?–ç??‹å®¶id
 * @param stateListHeader stateä¸‹æ?å¼é¸?®ç??ç¤º?¸é??‡å?
 * @param stateId å¾žstateä¸‹æ?å¼é¸?®ä¸­?¸å?stateId?‡å??„é¸??
 * @param isAsync ?¯å¦?ºå?æ­¥å‚³è¼¸ï?true/falseï¼?
 * @return
 */ 
function loadStateList(selectId, countryId, stateListHeader, stateId, isAsync) {
	var jSelectId = '#' + selectId;
	var isAsync_global = true;
	
	if(stateListHeader == null || stateListHeader == "") {
		stateListHeader = "Please select";
	}
	
	if (isAsync == false) {
		isAsync_global = isAsync;
	}

	if(countryId == null || countryId == "") {
		if( $(jSelectId + ' option').length > 1 ) {
			$(jSelectId).find('option').remove();
			$(jSelectId).append('<option value="">--- ' + stateListHeader + ' ---</option>');
		}
		return;
	}
	
	var localeName = document.getElementById("localeName");
	
	$.ajax({
		url: "/commonForm/stateDdl.action?countryId=" + countryId + "&localeName=" + localeName.value,
		type: "GET",
		dataType: "xml",
		async: isAsync_global,
		success: function(xml) {
			var title = null;
			var value = null;
		    $(jSelectId).find('option').remove();
		    $(jSelectId).append('<option value="">--- ' + stateListHeader + ' ---</option>');

		    if(stateId && stateId.length > 0) {
                $(xml).find('menuitem').each(function() {
                    title = $(this).find('title').text();
			        value = $(this).find('value').text();
			        if(value != stateId) {
			            $(jSelectId).append('<option value=' + value + '>' + title + '</option>');
			        } else {
			    	    $(jSelectId).append('<option value=' + value + ' selected="selected">' + title + '</option>');
			        }			    	
			    });		    	
		    } else {
		    	$(xml).find('menuitem').each(function() {
			    	title = $(this).find('title').text();
			    	value = $(this).find('value').text();
			    	$(jSelectId).append('<option value=' + value + '>' + title + '</option>');
			    });
		    }
	    },
		error: function() {
			alert("ERROR!!!");
		}		
	});	    
}

/**
 * ?´æ–°ttbar?„ç™»?¥ç???
 * @return
 */
function updateTtbarLoginStatus() {
	var companyDomainName = document.getElementById("companyDomainName");
	var localeName = document.getElementById("localeName");
	var layout = document.getElementById("layout");
	
	var url = getEpContext() + '/' + companyDomainName.value + '/ttbar/' + localeName.value + "/" + layout.value;
	ajaxLoadHtml(url, 'ttbar');
}

/**
 * ?•æ??¹è? iframe é«˜åº¦( å¯¬åº¦ ???¯å¦?ºç¾ scrolling( ?è¨­??no ) ?ºé?å¿…å¡« )
 * 
 * @param iframeObject
 * @param width -
 *            ?¸å? ???¾å?æ¯?br>
 *            *** æ³¨æ?, ?¾å?æ¯”ç‚º?‡å? å¦?'100%' ***
 * @param scrolling -
 *            yes, no, auto
 * @param heightPlus -
 *            é«˜åº¦èª¿æ•´ ( ?•æ??–å?å¾Œè??å?æ¸?é«˜åº¦, ä¾?: 40, ä¾?: -40 )
 * 
 * @return
 */
function setIframeObjectHeight(iframeObject, width, scrolling, heightPlus) {

	var heightAdjust = 0;
	if( heightPlus ){
		heightAdjust = heightPlus;
	}
	
	if (iframeObject.contentDocument
			&& iframeObject.contentDocument.body.offsetHeight) {

		iframeObject.height = iframeObject.contentDocument.body.offsetHeight + 40 + heightAdjust;

	} else if (iframeObject.Document && iframeObject.Document.body.scrollHeight) {

		iframeObject.height = iframeObject.Document.body.scrollHeight + 40 + heightAdjust;
	}

	if (width) {
		iframeObject.width = width;
	}

	if (scrolling) {
		iframeObject.scrolling = scrolling;
	} else {
		iframeObject.scrolling = 'no';
	}

}

/**
 * ?žåˆ°?²å…¥ inquiry ??buynow ?ç??é¢
 * @param isInquiry (true:inquiry, false:buynow)
 */
function goBackToBuynowOrInquiryLastPage(isInquiry){
	
	var returnUrl;
	
	if( isInquiry ){
		returnUrl = getCookie( getInquiryReturnUrlCookieName() );
	}else{
		returnUrl = getCookie( getBuynowReturnUrlCookieName() );
	}
	
	if( returnUrl == "" ){
		window.history.go(-1);
	}else{
		
		if( isInquiry ){
			setCookie(getInquiryReturnUrlCookieName(), ""); // æ¸…ç©º value
		}else{
			setCookie(getBuynowReturnUrlCookieName(), ""); // æ¸…ç©º value
		}
		
		window.location.href =  fixUrlForDomainNameAtFront(decodeURIComponent(returnUrl));
	}
	
}

function Navigation2SearchResults(companyDomainName,localeName){
	var selectKeyWord = $("#sideSearchOurProducts").val();
	if(selectKeyWord == 'null' || selectKeyWord == null || selectKeyWord==''){
		selectKeyWord = ' ';
	}
	selectKeyWord = selectKeyWord.replace(/\s+/g,' ');
	if(selectKeyWord == ' '){
		messageObj = document.getElementById("sideSearchOurProductsErrorMessage");
		alert(messageObj.innerHTML);
		return ;
	}
	
	selectKeyWord = selectKeyWord.replace(/%/g, '% ');
	selectKeyWord = selectKeyWord.replace('/', '9D587B2D0559720BE04410044F1E8C83');
	selectKeyWord = selectKeyWord.replace('\\','9D587B2D0555720BE04400144F1E8C83');	
	selectKeyWord = "?term="+ encodeURIComponent(selectKeyWord);
	var url = getEpContext()+"/"+companyDomainName+"/search-list/"+localeName+"/0/10/1/"+selectKeyWord;
	navigation(url);
}
/**
 * ?·è?Autocomplete
 * @param id Autocompleteè¼¸å…¥æ¬„ä??„id
 * @param companyDomainName ?¬å¸domonainName ,?¥ç„¡è«‹å‚³ç©ºå?ä¸?
 * @return
 */
function executeAutocomplete(id,companyDomainName,localeName){
	  $("#"+id).autocomplete("/commonForm/autocomplete.action?companyDomainName="+companyDomainName+"&localeName="+localeName, {
		     multiple: false,  
		     width:150,  
		     max:50,  
		     selectFirst:false,
		     multipleSeparator: ' ', 
		     dataType: 'xml',  
		     parse: function(xml) {
		  	 var code = $(xml).find('code').text();
			 var message = $(xml).find('message').text();    
		     var objList = message.split(",");		     
		     var rows = new Array();		     
		       for(var i=0; i<objList.length; i++){
			    if(objList[i] != ""){
			        rows[i] = { 
			          data:objList[i], 
			          value:objList[i], 
			          result:objList[i] 
			          }; 
			        }
		       }  
		     return rows;
		     },
		     
		     formatItem: function(row, i, n) {	
		        return row;      
		    }
		  });
}

/**
 * ä½¿ç”¨Ajaxè¼‰å…¥inquiryè¡¨å–®
 * @param formContainerId è¡¨å–®?„å®¹?¨id
 * @param companyDomainName ?¬å¸?„domain name
 * @param localeName èªžç³»
 * @return
 */
function loadInquiryForm(formContainerId, companyDomainName, localeName) {
	var targetUrl = null;	
	var userId = getCookie("userId");
	
	targetUrl = "/commonForm/inquiry.action?request_locale="+localeName+"&companyDomainName=" + companyDomainName + "&localeName=" + localeName;
	
	if(userId != "") {
		targetUrl += "&userId=" + userId;
	}
	
	ajaxLoadHtml(targetUrl, formContainerId);
}

/**
 * ?äº¤inquiryè¡¨å–®
 * @return
 */
function submitInquiryForm() {
	var companyDomainName = document.getElementById("companyDomainName");
	var localeName = document.getElementById("localeName");
	
	$.blockUI({
		css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5, 
            color: '#fff' 
        }
	});
	
	$.ajax({
		url: "/commonForm/inquiry!createInquiry.action?localeName=" + localeName.value,
		type: "POST",
		data: $("#inquiryForm").serialize(),
		dataType: "xml",
		success: function(xml) {
		    $.unblockUI();
		    var code = $(xml).find("code").text();
		    var message = $(xml).find("message").text();
		    if(code == "0") {
		    	navigation( getEpContext() + "/" + companyDomainName.value + "/inquiryresult/" + localeName.value);
		    } else {
		    	alert(message);
		    }
		},		
		error: function() {
			$.unblockUI();
			alert("ERROR!!!");
		}		
	});
}

/**
 * To load the price info of sample detail.
 */ 
function sampleDetailPriceInfo() {
	
	var priceListSize = parseInt($('.wholesale_price tbody tr').size() - 1);
	var priceListArray = new Array(priceListSize);		    		
	var priceListObject = new Object();
	
	for (var i = 0 ; i < priceListSize ; i++) {	
		priceListObject = new Object();				   
		priceListObject.startQuantity = parseInt($.trim($('[name="listAmountStart"]').get(i).value));
		priceListObject.endQuantity = parseInt($.trim($('[name="listAmountEnd"]').get(i).value));
		priceListObject.price = parseFloat($.trim($('[name="listPrice"]').get(i).value));
		priceListArray[i] = priceListObject;
	}
	
	//è¨ˆç?ç¸½æ???
	function countTotalCost() {					
		var totalCost = parseFloat($('.purchasePrice label').text()) + parseFloat($('.ship_cost label').text());
		$('.total_cost label').text(parseFloat(totalCost).toFixed(2));
	}
	
	//è¨ˆç?ç¸½æ???
	countTotalCost(); 
	
	//???œè²¨?‹å…¬?¸ç??¥è©¢æ¡?
    $('.btn_ship_to').click(function () {
		$('.popup_ship').show();
		//.slideToggle('fast');
		return false;
    });
    $('.btn_close_x').click(function () {
    	$('.popup_ship').hide();
    	//.slideToggle('fast');
    	return false;
    });
    
    //è®Šå??Œå??ç?ä¸‹æ?è³‡æ?
    $('#countryId').change(function () {	 	
		$('#cityText').val("--- " + $('#i18n_city').val() + " ---");
		$('#zipCodeText').val("--- " + $('#i18n_zipCode').val() + " ---");
		$('input[name="expressChoice"]').attr('checked',false);
		
    	var catalogId = $('#catalogId').val();	
    	var countryId = $('#countryId').val();								    	
    				    	
    	loadStateList('stateId',$(this).val(),'State','',false);
    	loadUsableExpress(catalogId,countryId);		    		    		
		
		var isZipCode = $('#countryId option:selected').attr('zipCode');
		
    	if ($('#countryId option:selected').index() == 0) {    		
    		$('#stateId,#cityText,.method_box,#okButton').hide(); 
    		$('.btn_ship_to').text($('#i18n_chooseRegion').val());
			$('.shipping').css('display','none');    		
			$('.ship_cost label').text('0.00');
			countTotalCost(); //è¨ˆç?ç¸½æ???
    	} else if ($('#stateId option').size() == 1) {
    		$('#cityText,.method_box,#okButton').show();
    		$('#stateId').hide();			    			    		
    	} else {
    		$('#stateId,.method_box,#okButton').show();
    		$('#cityText').hide();
    	}	    						    	
		
		if (isZipCode == 'Y') {
			$('#zipCodeText').show();
		} else {
			$('#zipCodeText').hide();
		}				
    });
    
    //è®Šæ›´è³¼è²·?¹æ ¼
    $('#PurchaseQuantity').change(function () {
    	var purchaseQuantity = parseInt($.trim($('#PurchaseQuantity').val()));			    	
    	var minQuantity = parseInt($.trim($('[name="listAmountStart"]').get(0).value));
    	var maxQuantity = parseInt($.trim($('[name="listAmountEnd"]').get(priceListSize - 1).value));

    	if (!(/^[\d]|[-]{1}[\d]$/.test(purchaseQuantity))) {
    		alert($('#i18n_plsInputNumber').val());
    		$('#PurchaseQuantity').val(minQuantity);
    	} else if (purchaseQuantity < minQuantity) {
    		alert($('#i18n_exceedingQuantityLimit').val());
    		$('#PurchaseQuantity').val(minQuantity);
    	} else if (purchaseQuantity > maxQuantity) {
    		alert($('#i18n_exceedingQuantityLimit').val());
    		$('#PurchaseQuantity').val(maxQuantity);
    	} 
		
		$('#PurchaseQuantity').val(parseInt($.trim($('#PurchaseQuantity').val())));
		purchaseQuantity = parseInt($.trim($('#PurchaseQuantity').val()));			    	
    	
		for (var i = 0 ; i < priceListArray.length ; i++) {					
			if (purchaseQuantity >= priceListArray[i].startQuantity && purchaseQuantity <= priceListArray[i].endQuantity) {
				purchasePrice = purchaseQuantity * priceListArray[i].price;					   		
			}
		}
    						
    	$('.purchasePrice label').text(parseFloat(purchasePrice).toFixed(2));
    	countTotalCost(); //è¨ˆç?ç¸½æ???
    	
    });			    
    			    			    
    //é¡¯ç¤º?‹è²»?æœ¬
    $('#okButton').click(function () {
    	var i18n_zipCode = "--- " + $('#i18n_zipCode').val() + " ---";
    	
    	$('#zipCodeText').val($.trim($('#zipCodeText').val()));	    	

    	if ($('#stateId').css('display') != 'none' && $('#stateId option:selected').index() == 0) {
    		alert($('#i18n_plsSelectState').val());
    		return;
    	} else if ($('#zipCodeText').css('display') != 'none' && ($('#zipCodeText').val() == '' || $('#zipCodeText').val() == i18n_zipCode)) {
    		alert($('#i18n_plsInputZipCode').val());
    		return;
    	} else if ($('[name="expressChoice"]:checked').length == 0) {
    		alert($('#i18n_plsSelectExpress').val());
    		return;
    	} 
    	
    	var expressId = $('[name="expressChoice"]:checked').val();
		var catalogId = $('#catalogId').val();
		var countryId = $('#countryId').val();
		var stateId = ($('#stateId').css('display') != 'none') ? $('#stateId option:selected').val() : '';
		var zipCode = ($('#zipCodeText').css('display') != 'none') ? $('#zipCodeText').val() : '';
		var sampleAmount = $.trim($('#PurchaseQuantity').val());
		
    	loadShippingCost('.shipping','.ship_cost label',expressId,catalogId,countryId,stateId,zipCode,sampleAmount);
    				    
    	//è®Šæ›´è²¨é???Country?Express?„é¡¯ç¤?
    	var selectedCountry = $('#countryId option:selected').text();
    	var selectedExpress = $('input[name="expressChoice"]:checked').val();
    		
    	$('.btn_ship_to').html("<label>" + selectedCountry + "</label> " + 
    						   $('#i18n_via').val() +
    						   " <label>" + selectedExpress + "</label>" );			    	
    	
    	countTotalCost(); //è¨ˆç?ç¸½æ???
		$('.popup_ship').slideToggle('fast');
    });    
}

/**
 * To load the shipping cost.
 * @param isShipping_Target 
 * @param shippingCost_Target 
 * @param expressId 
 * @param catalogId 
 * @param countryId 
 * @param stateId 
 * @param zipCode 
 * @param sampleAmount 
 * @return
 */ 
function loadShippingCost(isShipping_Target,shippingCost_Target,expressId,catalogId,countryId,stateId,zipCode,sampleAmount) {
	$.ajax({
		url: "/commonForm/shippingCost.action?expressId=" + expressId + 
											"&catalogId=" + catalogId + 
											"&countryId=" + countryId + 
											"&stateId=" + stateId + 
											"&zipCode=" + zipCode + 
											"&sampleAmount=" + sampleAmount,
		type: "GET",
		dataType: "xml",
		async: false,
		success: function(xml) {
            $(xml).find('ShippingCost').each(function() {
                var free = $(this).find('free').text();
                var currency = $(this).find('currency').text();
                var portage = $(this).find('portage').text();
                
                if (free == 'Y') {
                	$(isShipping_Target).css('display','block');
                } else {
                	$(isShipping_Target).css('display','none');
                }

                if (portage == 'null') {                	
                	$(shippingCost_Target).text('0.00');
                } else {
                	$(shippingCost_Target).text(parseFloat(portage).toFixed(2));
                }
                
		    });
	    },
		error: function() {
			alert("ERROR!!!");
		}		
	});	    
}

/**
 * To load the usable express.
 * @param catalogId 
 * @param countryId 
 * @return
 */ 
function loadUsableExpress(catalogId,countryId) {
	$.ajax({
		url: "/commonForm/usableExpress.action?catalogId=" + catalogId + "&countryId=" + countryId,
		type: "GET",
		dataType: "xml",
		async: false,
		success: function(xml) {
			var expresHtml = '';
			var expressTmp = '';
	        $('.expressSelectedList').html('');
			
            $(xml).find('UsableExpress expressId').each(function() {
            	expressTmp = $(this).text();
        		expresHtml = expresHtml + 
        					 '<label onclick="document.getElementById(\'' + expressTmp + '\').onclick">' + 
        					 '<input type="radio" name="expressChoice" value="' + expressTmp + '" id="' + expressTmp + '"/>' + 
        					 '<img src="/ep2res/images/ship_logo_' + expressTmp.toLowerCase() + '.jpg" alt="DHL"/>' + 
        					 '</label>';

	        	$('.expressSelectedList').html(expresHtml);
		    });
	    },
		error: function() {
			alert("ERROR!!!");
		}		
	});	    
}

/**
 * ? å…¥preferred catalog?‚ï??·è??²å??™è¨»?„æ–¹æ³?
 * @return
 */
function addPreferredCatalog() {
	var companyDomainName = document.getElementById("companyDomainName");
	var localeName = document.getElementById("localeName");
	
	$.blockUI({
		css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: .5, 
            color: '#fff' 
        }
	});
	
	$.ajax({
		url: "/commonForm/addPreferredCatalog.action",
		type: "POST",
		data: $("#catalogForm").serialize(),
		dataType: "xml",
		success: function(xml) {
		    $.unblockUI();
		    var code = $(xml).find("code").text();
		    var message = $(xml).find("message").text();
		    if(code == "0") {		    	
		    	goBackToLastPage("catalogReturnUrl");
		    } else {
		    	alert(message);
		    }
		},		
		error: function() {
			$.unblockUI();
			alert("ERROR!!!");
		}		
	});	
}

/**
 * ?¤æ–·?¯å¦?»å…¥,?¥å??ªç™»???ˆè‡³?»å…¥?é¢,?¥å·²?»å…¥,?‡å??è‡³?®ç??°é???
 * @param domainName ?¬å¸?„domainName
 * @param localeName èªžç³»
 * @param successURL ?®ç??°é??¢ç?url
 * @param returnUrl è¿”å??é¢?„url
 * @param cookieName ?²å?url?„cookie?ç¨±
 * @return
 */
function whenLogonNavigationAfterByCookie(domainName, localeName, successURL, returnUrl, cookieName){
	var logonStatus = isLogon();
	if(!successURL){
		alert("No Destinations");
		return;
	}
	
	setCookie(cookieName, encodeURIComponent(returnUrl));
	
	if(logonStatus == true){
		navigation(successURL);
	}else{		
		navigation( getEpContext() + "/" + domainName + "/logon/" + localeName + successURL);		
	}
}

/**
 * è¿”å??²å…¥é»žç??é¢
 * @param cookieName ?²å?url?„cookie?ç¨±
 */
function goBackToLastPage(cookieName) {
	
	var returnUrl;
	
	returnUrl = getCookie( cookieName );
	
	if( returnUrl == "" ){		
		window.history.go(-1);
	}else{
		setCookie(cookieName, ""); // æ¸…ç©º value		
		window.location.href = fixUrlForDomainNameAtFront(decodeURIComponent(returnUrl));
	}
	
}

function addToPreferredProduct(path,companyDomainName,localeName,catalogId) {
	var catalogName = "";
	var catalogNameObj = document.getElementById("toPreferredProduct4catalogName");
	if(catalogNameObj != null){
		catalogName = catalogNameObj.value;
	}	
    var successUrl = path+"/"+ companyDomainName+"/catalog/"+localeName+"/"+catalogId;
    var returnUrl = path+"/"+ companyDomainName+"/samplesdetail/"+localeName+"/"+catalogId+"/"+catalogName;	    
    whenLogonNavigationAfterByCookie(companyDomainName, localeName, successUrl, returnUrl, "catalogReturnUrl");			    
}

var ep404NotFoundSeconds = 10;
function ep404NavigationHome(aTagId,ep404NotFoundSecondsReciprocal,elementCount){
	ep404NotFoundSeconds -=1;
	if(ep404NotFoundSeconds < 10 ){
		for(var i = 1; i<= elementCount ; i++){
			document.getElementById(ep404NotFoundSecondsReciprocal + i).innerHTML= '&nbsp;'+ep404NotFoundSeconds;
		}
	}
	if(ep404NotFoundSeconds==0){	
		setTimeout(function() {ep404Navigation(aTagId);return false;},0);
	}else{
		setTimeout(function(){ep404NavigationHome(aTagId,ep404NotFoundSecondsReciprocal,elementCount)},1000);	
	}
	
}

function ep404Navigation(aTagId){
	var aObj = document.getElementById(aTagId);
	var href = aObj.href;
	navigation(href);
}

/**
 * ?–å?ç¶“é?ç·¨ç¢¼?„captcha?‡å?
 * @param callback ?žå‘¼?½å??„å???
 * @return
 */
function getEncodedCaptcha(callback) {	
	$.ajax({
	    url: "/commonForm/ttbar.action", 
	    type: "GET",
	    dataType: "xml",
	    success: function(xml) {
	        var captcha = $(xml).find("code").text();
	        callback(captcha);
	    },      
	    error: function() {
	        alert("ERROR!!!");
	    }       
	});
}

/**
 * javascrip?„å?ä¸²replaceAll?¯ä½¿??g?”åˆ°, æ­¤function for /g ?¡ä??¨æ?
 * @param str
 * @param sourceStr
 * @param replaceStr
 * @returns
 */
function replaceAllStr(str, sourceStr, replaceStr){
    str = str.replace(sourceStr, replaceStr);
	  if(str.indexOf(sourceStr) != -1){
	    str = replaceAllStr(str, sourceStr, replaceStr); 
	  }
	  return str;
}

function addToPreferredProductForProduct(path,companyDomainName,localeName,catalogId) {
	var catalogName = "";
	var catalogNameObj = document.getElementById("toPreferredProduct4catalogName");
	if(catalogNameObj != null){
		catalogName = catalogNameObj.value;
	}	
    var successUrl = path+"/"+ companyDomainName+"/catalog/"+localeName+"/"+catalogId;
    var returnUrl = path+"/"+ companyDomainName+"/productsdetail/"+localeName+"/"+catalogId+"/"+catalogName;	    
    whenLogonNavigationAfterByCookie(companyDomainName, localeName, successUrl, returnUrl, "catalogReturnUrl");			    
}
/**
 * ç¤¾ç¾¤?¨è–¦??dcsMultiTrack ??sdctag2.js è£?
 * @param var1
 * @param var2
 * @param var3
 * @param var4 ?¨è–¦ç¤¾ç¾¤?ç¨±
 * @param var5
 * @param var6
 */
function postPushingAndCount(var1,var2,var3,var4,var5,var6){
	var url = location.href;
	dcsMultiTrack(var1,url,var3,var4,var5,var6);
	postPushing(var4);
}
