var host_commonForm = "" ;

/**
 * 修正 S3 iframe 裡的另開視窗 target

 * @param thisFrame
 * @return
 */
function fixTargetToTop(thisFrame, htmlName){
		
	$(thisFrame).contents().find("area").each(function(index) {
		if( $(this).attr("target")
				&& $(this).attr("target").indexOf("_parent") == 0){
			$(this).attr("target", "_top");
		}
	});
	
	$(thisFrame).contents().find("a").each(function(index) {
		
		if( $(this).attr("href") 
				&& $(this).attr("href").indexOf("#") == 0 ){
			
			$(this).attr("href", htmlName + $(this).attr("href") );
		}
		
		if( $(this).attr("href")
				|| ($(this).attr("target")
						&& ($(this).attr("target").indexOf("_parent") != -1
								|| $(this).attr("target").indexOf("_self") != -1))){
			$(this).attr("target", "_top");
		}
	});	
	
	$(thisFrame).contents().find("iframe").each(function(index) {
		fixTargetToTop($(this)[0]);
	});
	
}

function ajaxLoginMAIN(isRedirectAfterLogin, returnParam){
	$.ajax({
		url: "/MAIN/index.jsp",
			type: "get",
			async: false,
		success: function() {
			if( isRedirectAfterLogin ){
				$.unblockUI();
				window.location.href = returnParam + "&ticketId=" + getCookie("guard_filter_ticket");
			}else{
				//do nothing
			}
		},
		
		error: function() {
			//alert("ERROR!!!");
		}
	});
}

function getEpContext(){
	return "EP";
}


/**
 * 判斷目前的瀏覽器
 * @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:requestUrl,
		type:"get",
		dataType: "html",
		success: function(html) {
			if(callbackFunction){
				callbackFunction(html);
				if(buttonObj != null){
					buttonObj.style.cursor ="";
				}
			}
					  
		},
		  
		  error: function() {
		    //alert("請稍後再試");
		  }
	});
	
}

/**
 * 利用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){
	 
	$.blockUI({
		css: { 
			border: 'none', 
			padding: '15px', 
			backgroundColor: '#000', 
			'-webkit-border-radius': '10px', 
			'-moz-border-radius': '10px', 
			opacity: .5, 
			color: '#fff' 
		}
	});
	
	var user_id = "";
	var password = "";	
	var userIdArray = null;
	var passwordArray = null;
	var rememberMeArray = null;
	var captchaText = "";
	var captcha = "";
	var captchaTextArray = null;
	var captchaArray = null;
	var supplierPost_param1 = "";
	var supplierPost_param2 = "";
	var method = "";
	
	userIdArray = document.getElementsByName("user_id");
	passwordArray = document.getElementsByName("password");
	captchaTextArray = document.getElementsByName("captchaText");
	captchaArray = document.getElementsByName("captcha");
	supplierPost_param1 = document.getElementById("supplierPost_param1");
	supplierPost_param2 = document.getElementById("supplierPost_param2");	
	
	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;
		    }			
		}
	}
	
	if(captchaTextArray) {
		for(var i = 0; i < captchaTextArray.length; i++) {
			if(captchaTextArray[i].value && captchaTextArray[i].value.length > 0) {
				captchaText = captchaTextArray[i].value;
				break;
			}
		}		
	}

	if(captchaArray) {
		for(var i = 0; i < captchaArray.length; i++) {
			if(captchaArray[i].value && captchaArray[i].value.length > 0) {
				captcha = captchaArray[i].value;
				break;
			}
		}		
	}
	
	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;
		}
	}

	for(var i=0 ; i < rememberMeArray.length ; i++){
		if(rememberMeArray[i] && rememberMeArray[i].checked){
			remember = "Y";
		}
	}
	
	var objMethod = document.getElementById("method");
	if(objMethod != null && objMethod.value != "") {
		method = objMethod.value;
	}

	$.ajax({
	  url: "/commonForm/Logon.action?userId=" + user_id +
							       "&isSecure=N" +
							       "&password=" + password +
							       "&rememberMe=" + remember +
							       "&request_locale=" + localeName +
							       "&captchaText=" + captchaText +
							       "&captcha=" + captcha +
							       "&supplierPost_param1=" + supplierPost_param1.value +
							       "&supplierPost_param2=" + supplierPost_param2.value +
							       "&method=" + method,
	  type: "get",
	  dataType: "xml",
	  success: function(xml) {					
					var code = $(xml).find('code').text();
					var message = $(xml).find('message').text();
					var isPost = $(xml).find('isPost').text();
					var directURL = $(xml).find('directURL').text();
					var loginForwardQueryString = $(xml).find('loginForwardQueryString').text();
					
					if(code == 0){			
						
						if(isPost == "true"){
							$.unblockUI();
							if(directURL != ""){
								//供應商會員專屬 我要刊登功能－EC/EP角色時
								navigation(directURL);
							} else {
								//供應商會員專屬 我要刊登功能－非EC/EP角色時
								alert("本訊息刊登為供應商會員專屬之功能");
								navigation(targetUrl);
							}
						} else {
							if( getCookie("guard_filter_ticket") == '' ){
		                		ajaxLoginMAIN(false);
			                }
							
							if(loginForwardQueryString != "") {
								
								if( loginForwardQueryString.indexOf("&ticketId=&") != -1 ){
									loginForwardQueryString = loginForwardQueryString.replace("&ticketId=&", "&ticketId=" + getCookie("guard_filter_ticket") + "&");
								}
								
								if( targetUrl.indexOf("http://sourcing.taiwantrade.com.tw") == -1
										&& targetUrl.indexOf("http://sourcing.perfect.tw") == -1){
									$.unblockUI();
									navigation(targetUrl + (targetUrl.indexOf("?")>0?"&":"?") + loginForwardQueryString);
								}else{
									navigation(targetUrl + (targetUrl.indexOf("?")>0?"&":"?") + loginForwardQueryString);
								}
								
							} else {
								$.unblockUI();
								navigation(targetUrl);
							}							
						}						
				    } else if(code > 0 && code < 10){
				    	$.unblockUI();
			    		alert(message);
				    } else {
				    	$.unblockUI();
				    	alert("請稍候再試！");
				    }
	  },
	  
	  error: function() {
		  			$.unblockUI();		  			
		  			//alert("請稍後再試");
		  			
			    	if(buttonObj) {
			    		buttonObj.style.cursor = "pointer";
			    	}
	  }
	});
}

/**
 * 登出方法
 * @param domainName 公司domain name
 * @param localeName 語系
 * @param buttonObj  按下登入的button
 * @param targetUrl  要導到的頁面的url
 */
 function logout(domainName,localeName,buttonObj,targetUrl){
	 
	if(buttonObj){
		buttonObj.style.cursor ="wait";
	}
		
	var callbackFunction = function(code,domainName,localeName,buttonObj){
		if(code == '0'){
		    try {
		  	  $.ajax({
		  	   type:'get',
		  	   cache:false,
		  	   url : "/MAIN/enLogin.do?methodToCall=logout&setLangCode=en",
		  	   success: function(){},
		  	   error: function(){}
		  	  });
		       } catch (e) {}
		       
		    setTimeout("",1000);
		    navigation(targetUrl);
	    }
	};
	
	$.ajax({
		  url: "/commonForm/Logout.action?rememberMe=N&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,buttonObj);
						}	
		   },			  
		   error: function() {
			   //alert("請稍後再試");
		  }		  
	});
}
/**
 * 登入成功後,點選my taiwantrad 直接登入SU或BU
 * @param domainName 公司的domainName
 * @param localeName 語系
 * @param aObj <a> tag 物件
 * @return
 */
function navigationMyTaiwantrade(serverName,domainName,localeName,aObj){
	var userId = getCookie("userId");
	window.open("/commonForm/LogonRedirectPost.action?userId="+userId);
//	$.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(uri);
//				return true;		
//		    } else {
//		    	aObj.target = "";
//		    	aObj.href = "";
//		    	ajaxLoadHtml('/' + getEpContext() + '/'+domainName+'/ttbar/'+localeName+"/"+layout,'ttbar',null);
//		    	var again = $('#pleaseReLonginAgain').text();
//		    	alert(again);
//		    }
//			  
//		   },			  
//		   error: function() {
//			   //alert("請稍後再試");
//		  }		  
//		});
}

/**
 * 加入購物車
 * @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("ch2InquiryCart","",null);
				setCookie("ch2ShoppingCart","",null);
		    }else	{		    	
		    	alert(message);
		    }
	 };

	$.ajax({
		url: "/commonForm/Cart.action?cartType="+cartType+"&items="+itemsCatelogId+"&cookieName=ch2cookie&action=add&localeName="+localeName,
		type: "get",
		dataType: "xml",		
		success: function(xml) {		
				var code = $(xml).find('code').text();
				var message = $(xml).find('message').text();	
				//alert("code:"+code+" message:"+message);
				if(callbackFun){
					callbackFun(code,message,viewType);
					if(buttonObj != null){
						buttonObj.style.cursor ="";
					}
					if(message == ""){
						//不導頁 navigation("/CH/mycart");
						//updateMyCartCount(1);
						showAddMyCartMessage(code);
					}
				}				  				  
		},
			  
	   error: function() {
			//alert("請稍後再試");
	  }
	});

}

/**
 * 購物車中修改單筆產品型錄,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("請稍後再試");
						}
					});
						
				}
		    }else	{		    	
		    	alert(message);
		    }
	 };

	$.ajax({
		//url: "/commonForm/Cart.action?cartType="+cartType+"&items="+catalogId+"&cookieName=ep2cookie&action="+action + "&localeName=" + $("#myCartLocaleName").val(),
		url: "/commonForm/Cart.action?cartType="+cartType+"&items="+catalogId+"&cookieName=ch2cookie&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("請稍後再試");
	  }
	});
	
}

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;
	}
	// url = 'http://www.taiwantrade.com.tw/MAIN/en_front/searchserv.do?method=showPage&name=productSearch&searchState=productSimpleSearch&searchContent=show&searchDetail=common&resetLastKeyword=1&TaiwanOnly=false&IS_SELLING=false&enabled=true&searchText='+param;
	var url = 'http://www.taiwantrade.com.tw/MAIN/en_front/searchserv.do';

	var formObj = document.createElement('Form');
	formObj.action = encodeURI(url);
	formObj.method = "GET";
	formObj.target = '_blank';
	
	var method = document.createElement('input');
	method.id='method';
	method.name='method';
	method.type = 'Hidden';
	method.value = 'showPage';
	formObj.appendChild(method);
	
	var name = document.createElement('input');
	name.id='name';
	name.name='name';
	name.type = 'Hidden';
	name.value = 'productSearch';
	formObj.appendChild(name);
	
	var searchState = document.createElement('input');
	searchState.id='searchState';
	searchState.name='searchState';
	searchState.type = 'Hidden';
	searchState.value = 'productSimpleSearch';
	formObj.appendChild(searchState);
	
	var searchContent = document.createElement('input');
	searchContent.id='searchContent';
	searchContent.name='searchContent';
	searchContent.type = 'Hidden';
	searchContent.value = 'show';
	formObj.appendChild(searchContent);
	
	var searchDetail = document.createElement('input');
	searchDetail.id='searchDetail';
	searchDetail.name='searchDetail';
	searchDetail.type = 'Hidden';
	searchDetail.value = 'common';
	formObj.appendChild(searchDetail);
	
	var resetLastKeyword = document.createElement('input');
	resetLastKeyword.id='resetLastKeyword';
	resetLastKeyword.name='resetLastKeyword';
	resetLastKeyword.type = 'Hidden';
	resetLastKeyword.value = '1';
	formObj.appendChild(resetLastKeyword);
	
	var taiwanOnly = document.createElement('input');
	taiwanOnly.id='TaiwanOnly';
	taiwanOnly.name='TaiwanOnly';
	taiwanOnly.type = 'Hidden';
	taiwanOnly.value = 'false';
	formObj.appendChild(taiwanOnly);
	
	var isSelling = document.createElement('input');
	isSelling.id='IS_SELLING';
	isSelling.name='IS_SELLING';
	isSelling.type = 'Hidden';
	isSelling.value = 'false';
	formObj.appendChild(isSelling);
	
	var enabled = document.createElement('input');
	enabled.id='enabled';
	enabled.name='enabled';
	enabled.type = 'Hidden';
	enabled.value = 'true';
	formObj.appendChild(enabled);
	
	var searchText = document.createElement('input');
	searchText.id='searchText';
	searchText.name='searchText';
	searchText.type = 'Hidden';
	searchText.value = encodeURI(param);
	formObj.appendChild(searchText);
	
	var setLangCode = document.createElement('input');
	setLangCode.id='setLangCode';
	setLangCode.name='setLangCode';
	setLangCode.type = 'Hidden';
	setLangCode.value = language;
	formObj.appendChild(setLangCode);
	
	document.body.appendChild(formObj);
	
	
	
	formObj.submit();
	
//	window.navigate(encodeURI(url),'_blank');
}
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;	
}

/**
 * 取得本頁的menuUrl,供比對用
 * @return
 */
function findWebPageMenuUrl(){
	var url = document.URL;
	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('/','_');
	 categoryName = categoryName.replace('\\','_');
	 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('/','_');
	 thisName = thisName.replace('\\','_');
	 if(thisName != null || thisName != ""){
		 url += "/"+encodeURIComponent(thisName);
	 }
	 
	 navigation(url);
}

/**
 * 利用javaScript 導頁
 * @param url
 */
function navigation(url){
	window.location.href = 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 < maxLength+1 ; 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 = "ch2InquiryCart";
	}else if(cartType == "s"){
		cartCookieName = "ch2ShoppingCart";
	}

	if (checkBoxObj.checked == true) {
		modifyData2Cookie(cartCookieName,checkBoxObj.id,"add");
		//changeCheckedClassName(theData,viewType,last); // 註解是因為版面會跑版, 且拿掉之後目前並未發生error
	} else {
		modifyData2Cookie(cartCookieName,checkBoxObj.id,"remove");
		//changeUncheckedClassNmae(theData,viewType,last); // 註解是因為版面會跑版, 且拿掉之後目前並未發生error
	}
}

/**
 * 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("ch2InquiryCart");
	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);
	}
}

/**
 * goToMyCart
 * @param myCartURL
 * @return
 */
function goToMyCart(myCartURL){
   setCookie('inquirySuccessURL', $(location).attr('href'));
   window.location.href = myCartURL;
}

/**
 * 檢查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 = "";
		
	setCookie('inquirySuccessURL', $(location).attr('href'));
	if(cartType == "i"){
		//items = getCookie("ep2InquiryCart");
		items = getCookie("ch2InquiryCart");
	}else if(cartType == "s"){
		//items = getCookie("ep2ShoppingCart");
		items = getCookie("ch2ShoppingCart");
	}

	if (items == "") {
		alert("請至少選擇一項產品");
		return ;
	}else	{
		addCart(buttonObj,cartCountId,viewType,cartType,items,localeName);
	}
}

/**
 * 在商品清單執行立即購買，加入購物車並導到該產品的EP網頁
 * @param buttonObj
 * @param itemsCatelogId
 */
function buyNowForShopping(buttonObj,itemsCatelogId,domainName){
	
	$.ajax({
		url: "/commonForm/Cart.action?cartType=s&items="+itemsCatelogId+"&cookieName=ep2cookie&action=add&localeName=en_US",
		type: "get",
		dataType: "xml",		
		success: function(xml) {		
				var code = $(xml).find('code').text();
				var message = $(xml).find('message').text();				
				//alert("code:"+code+" message:"+message);
				window.open('/EP/'+domainName+'/mycart/en_US');
		},
	   error: function() {
			//alert("請稍後再試");
	  }
	});
}

/**
 * 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);

	//alert("cookieContent:" + cookieContent);

}

/**
 * 換頁時,依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("ch2InquiryCart");
	}else if(cartType == "s"){
		items = getCookie("ep2ShoppingCart");			
	}else if(cartType == null){
		var inquiryCartItems = getCookie("ch2InquiryCart");
		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 = "/ch2res/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("請稍後再試");
		}
	});	
}


/**
 * 判斷是否登錄,若尚未登入,先至登入頁面,若已登入,則導頁至目的地頁面
 * @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("請稍後再試");
		}		
	});	
}


/**
 * 相關產品顯示
 */
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, companyId) {
	var targetUrl = null;	
	var userId = getCookie("userId");
	
	targetUrl = "/commonForm/contactus.action?request_locale="+localeName+"&companyDomainName=" + companyDomainName + "&localeName=" + localeName + "&companyId=" + companyId;
	
	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("請稍後再試");
		}		
	});
}

function contactUsCompany(contactUsUrl) {
	setCookie('contactUsSuccessURL', $(location).attr('href'));
	navigation(contactUsUrl);
}
/**
 * 提交contact us表單
 * @return
 */
function submitContactUsForm() {
	var companyDomainName = document.getElementById("companyDomainName");
	var localeName = document.getElementById("localeName");
	var contactUsSuccessURL = getCookie('contactUsSuccessURL');
	var contactUsSuccessMessage = document.getElementById("contactUsSuccessMessage");
	$.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") {
		    	if(companyDomainName.value != ''){
		    		navigation("/" + getEpContext() + "/" + companyDomainName.value + "/inquiryresult/" + localeName.value);
		    	}else{
		    		if(contactUsSuccessMessage.value!=''){
		    			alert(contactUsSuccessMessage.value);
		    		}else{
		    			alert("ContactUs Success");
		    		}
		    		navigation(contactUsSuccessURL);
		    	}	
		    } else {
		    	alert(message);
		    }
		},		
		error: function() {
			$.unblockUI();
			//alert("請稍後再試");
		}		
	});
}

/**
 * 使用Ajax上傳檔案
 * @param elementId 檔案上傳元件的id
 * @param type 檔案類型 1:text, 2:image
 * @return
 */
function ajaxFileUpload(elementId,type) {
	var localeName = document.getElementById("localeName");	
	var resizedWidth;
	var resizedHeight;
	var acceptedFilenameExtension;
	var maxFileSize;
	
	if(type == 1) {
		resizedWidth = document.getElementsByName("resizedWidth")[0];
		resizedHeight = document.getElementsByName("resizedHeight")[0];
		acceptedFilenameExtension = document.getElementsByName("acceptedFilenameExtension")[0];
		maxFileSize = document.getElementsByName("maxFileSize")[0];		
	} else if(type ==2){
		resizedWidth = document.getElementsByName("resizedWidth")[1];
		resizedHeight = document.getElementsByName("resizedHeight")[1];
		acceptedFilenameExtension = document.getElementsByName("acceptedFilenameExtension")[1];
		maxFileSize = document.getElementsByName("maxFileSize")[1];			
	}
	
	$.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>&nbsp;"
		    						 + "<a name='fileDel_btn' href='javascript:void;' " 
		    						 + "onclick='fileDel(this)'>刪除</a>"; 
		    }
		    
		    if(code == "0") {
		    	var fileInfoId = elementId + "_fileInfo";
		    	var objFileInfo = document.getElementById(fileInfoId);
		    	if(objFileInfo) {
		    		objFileInfo.value = fileInfo;
		    	}
			}
		    
		    alert(message);
		},
		error: function() {
			$.unblockUI();
			//alert("請稍後再試");
		}
	});
}

/**
 * 載入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("請稍後再試");
		}		
	});	    
}

/**
 * 更新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 -
 *            高度調整 ( 動態取值後要再加減 高度, 例1: 40, 例2: -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 = 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('/', '9D587B2D0559720BE04410044F1E8C83');
	selectKeyWord = selectKeyWord.replace('\\','9D587B2D0555720BE04400144F1E8C83');	
	selectKeyWord = "?term="+ selectKeyWord;
	var url = "/"+getEpContext()+"/"+companyDomainName+"/search-list/"+localeName+"/0/10/1/"+encodeURIComponent(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,  
		     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 inquirySuccessURL = getCookie('inquirySuccessURL');
	var inquirySuccessMessage = document.getElementById("inquirySuccessMessage");
	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") {
		    	if(companyDomainName.value != ''){
		    		navigation("/" + getEpContext() + "/" + companyDomainName.value + "/inquiryresult/" + localeName.value);
		    	}else{
		    		if(inquirySuccessMessage.value!=''){
		    			alert(inquirySuccessMessage.value);
		    		}else{
		    			alert("Inquiry Success");
		    		}
		    		navigation(inquirySuccessURL);
		    	}
		    	
		    } else {
		    	alert(message);
		    }
		},		
		error: function() {
			$.unblockUI();
			//alert("請稍後再試");
		}		
	});
}


/**
 *update Header's MyCart-Count
 */
function updateMyCartCount(param){

	jQuery.ajax({
		url: host_commonForm + "/commonForm/Cart.action?cartType="+"&items="+"&cookieName=JSESSIONID&action=" + "&localeName=en_US&countInquiryOnly=true",
		type: "get",
		dataType: "xml",		
		success: function(xml) {		
				
				//alert("url:" + this.url);				
				var code = jQuery(xml).find('code').text() || 0;
				//alert("code:" + code);
				
				var message = jQuery(xml).find('message').text();
				if(param==0){
					jQuery("#cartId").text(code);
				}else{					
					jQuery("#cartId").text(code); //jQuery('#enHeader').contents().find('#cartId').text(code);  for MAIN
					showAddMyCartMessage(code);
				}
				
								  				  
		},
			  
	   error: function() {
	    //alert("");
	  }
	});

}


/**
 *showAddMyCartMessage
 */
function showAddMyCartMessage(cartListCount){
	if(cartListCount!=0){
		var basketMsg = $("#commonInquiryAddMyCart").html();	
		basketMsg = basketMsg.replace(/#item/, cartListCount);
		$.blockUI({ 
	            message: basketMsg, 
	            fadeIn: 700, 
	            fadeOut: 700, 
	            timeout: 20000, 
	            showOverlay: false, 
	            centerY: false, 
	            css: { 
	                width: '350px' , 
	                top: '45%' ,
	                left: '25%' ,
	                cursor: ''
	            },
				overlayCSS:  {
	            	cursor:	''
	            }
		});
	}
}


/**
 * 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("請稍後再試");
		}		
	});	    
}

/**
 * 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("請稍後再試");
		}		
	});	    
}

/**
 * 加入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("請稍後再試");
		}		
	});	
}

/**
 * 判斷是否登入,若尚未登入,先至登入頁面,若已登入,則導頁至目的地頁面
 * @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 = 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("請稍後再試");
	    }       
	});
}

/**
 * CH 判斷是否登錄,若尚未登入,先至登入頁面,若已登入,則導頁至目的地頁面 ( 專為 buynow 及 inquiry 使用 )
 * @param domainName 公司的domainName
 * @param localeName 語系
 * @param successURL 目的地頁面url
 * @param returnUrl 最後離開 buynow 或 inquiry 時所要轉的路徑
 * @param isInquiry 是否為 inquiry (true, false)
 * @return
 */
function whenLogonNavigationAfterForBuynowAndInquiryByCH(domainName, localeName,successURL, returnUrl, isInquiry){
	var logonStatus = isLogon();
	//var logonStatus = true;
	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("/CH/login/buynow");
		}
		
	}
}

/**
 * 開啟線上客服
 */
function openOnline(){
	window.open('http://203.66.209.66/chat/CPChatRequest.htm', 'noteInfo', 'HEIGHT=400,WIDTH=330,resizable=yes,scrollbars=no,status=no');
}
