function preloadImg(imgObj, imgSrc){
	eval(imgObj + '=new Image();');
	eval(imgObj + '.src="' + imgSrc + '";');
}

function swapimg(imgName, imgObj){
	document.images[imgName].src=eval(imgObj + '.src');
}

function changeDisplay(Elem, flag) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	if(flag==1){
		elem.style.display="block";
	}else if(flag==2){
		elem.style.display="inline";
	}else if(flag==3){
		elem.style.display="list-item";
	}else{
		elem.style.display="none";
	}
}

function showUpdated(butname){
	document.getElementById(butname).attributes["class"].nodeValue="buttonUpdated";
}

function changeLang(newlang, frompage){
	// frompage: 0: normal, under en/tc/sc; 1: from root 2: under en/tc/sc, but corr in root
	var oldurl = document.location.href;
	if(frompage==1){
		var laststrokepos=oldurl.lastIndexOf('/');
		var newurl=oldurl.slice(0,laststrokepos) + '/' + newlang + oldurl.slice(laststrokepos);
		document.location.href=newurl;
	}else if(frompage==2){
		var langchoice = /(\/(tc|sc|en)\/)/;
		var oldlang = oldurl.match(langchoice);
		if(oldlang[1]!=null){
			var newurl=oldurl.replace(oldlang[1], '/');
			document.location.href=newurl;
		}
	}else{
		var langchoice = /(\/(tc|sc|en)\/)/;
		var oldlang = oldurl.match(langchoice);
		if(oldlang[1]!=null){
			var newurl=oldurl.replace(oldlang[1], '/'+newlang+'/');
			document.location.href=newurl;
		}
	}
}

function trim(str){
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function dbc2sbc(str){
	var result = '';
	if(str!=""){
		for(var i=0;i<str.length;i++){
			code = str.charCodeAt(i); //To get the unicode of the char
			if (code >= 65281 && code <= 65373){
				result += String.fromCharCode(str.charCodeAt(i) - 65248); //change from double byte to single byte unicode
			}else if (code == 12288){ // double byte space code
				result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
			}else{
				result += str.charAt(i);
			}
		}
	}
	return result;
}

function chkInteger(val,sign){
	val=val+"";
	if(sign==''){ // all sign
		re= /^[+|-]?[1-9]+\d*$|^[0]$/;
	}else if(sign=='+'){ // positive only
		re= /^[+]?[1-9]+\d*$|^[0]$/;
	}else if(sign=='-'){ // negative only
		re= /^-[1-9]+\d*$|^[0]$/;
	}
	if(val.match(re)==null){
		return false;
	}else{
		return true;
	}
}

function checkEmail(str){
	var re = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,8})$/i;
//	re=/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/i;
//	if(str.search("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$")){
	if(str.match(re)==null){
		return 0;
	}else{
		return 1;
	}
}
/*
function validEmail(email){
	var re = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,8})$/i;
	if(email.search(re) == -1){
		return false;
	}else{
		return true;
	}
}
*/

function checkValidPwd(str){
	var re=/^[a-z0-9~!@#$%*()_=(){}:+-]+$/i;
	if(str.match(re)==null){
		return 0;
	}else{
		return 1;
	}
}

function chkCorrUserName(uname){
	var result=0;
	var re1=/['"`^&%\\/|!? ]/i;
	var re2=/admin/i;
	if(uname.length<6){
		result=1;
	}else if(uname.match(re1)!=null){
		result=2;
/*	}else if(uname.match(re2)!=null){
		result=3;*/
	}
	return result;
}

function chkSysConfigFloat(val){
	val=val+"";
	re= /^[1-9]\d{0,1}$|^[1-9]\d{0,1}\.\d{0,2}$|^0\.\d{0,2}$|^0$/;
	if(val.match(re)==null){
		return false;
	}else{
		return true;
	}
}

function checkFunc(fieldRequired,fieldDescription,formobj,alertMsg){
	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			if (obj.type == null){ // radio?
				var blnchecked = false;
				var obj_len=obj.length;
				if(!obj_len){
					if (obj.checked){
						blnchecked = true;
					}
				}else{
					for (var j = 0; j < obj_len; j++){
						if (obj[j].checked){
							blnchecked = true;
						}
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				continue;
			}

			switch(obj.type){
			case "checkbox":
			case "radio":
				var blnchecked = false;
				var obj_len=obj.length;
				if(!obj_len){
					if (obj.checked){
						blnchecked = true;
					}
				}else{
					for (var j = 0; j < obj_len; j++){
						if (obj[j].checked){
							blnchecked = true;
						}
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].value == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "file":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
		}
	}
	return alertMsg;
}

function selectAll(formName, cbName, selAll){
	var i=0;
	var applen=document.forms[formName].elements[cbName].length;
	if(!applen){
		if(document.forms[formName].elements[selAll].checked){
			document.forms[formName].elements[cbName].checked=true;
		}else{
			document.forms[formName].elements[cbName].checked=false;
		}
	}else{
		if(document.forms[formName].elements[selAll].checked){
			for(i=0; i<applen; i++){
				document.forms[formName].elements[cbName][i].checked=true;
			}
		}else{
			for(i=0; i<applen; i++){
				document.forms[formName].elements[cbName][i].checked=false;
			}
		}
	}
}

function gotopage(url){
	setTimeout("window.location.href='" + url + "'", 0);
}

function goCheckout(){
//	var hiWitsCheckout=window.open(subpath+"checkout/checkout.php","hiWitsCheckout", "status=1,scrollbars=1,width=980,height=600");
	gotopage(rooturl+"checkout/checkout.php");
}

function viewBundleSet(){
	var hiWitsBundleSet=window.open(baseurl+"bundle_set.php","hiWitsBundleSet", "status=1,scrollbars=1,width=550,height=350");
}

function viewbulkyOrderDiscount(){
	var hiWitsDiscount=window.open(baseurl+"bulky_order_discount.php","hiWitsDiscount", "status=1,scrollbars=1,width=750,height=330");
}

function viewTermsAndCond(){
	var hiWitsTerm=window.open(baseurl+"terms_and_conditions.php","hiWitsTerm", "status=1,scrollbars=1,width=600,height=500");
}

function viewGiftWrapIntro(){
	var hiWitsGiftWrapIntro=window.open(baseurl+"giftwrappic.php","hiWitsGiftWrapIntro", "status=1,scrollbars=1,width=950,height=660");
}

function viewGiftWrapPic(imgtype, id){
	var hiWitsGiftWrapPic=window.open(rooturl+"showimage.php?btype="+imgtype+"&id="+id,"hiWitsGiftWrapPic", "status=1,scrollbars=1,width=580,height=700");
}

function popAddrbookEdit(aid){
	var hiWitsAddrbookEdit=window.open("addrbookEdit.php?aid="+aid,"hiWitsAddrbookEdit", "status=1,scrollbars=1,width=540,height=380");
}

function popRedeemIntro(){
	var hiWitsRedeemIntro=window.open("redeemintro.php","hiWitsRedeemIntro", "status=1,scrollbars=1,width=670,height=450");
}

function goCartEmpty(){
//	window.opener.location="../"+lang+"/index.php";
//	self.close();
	gotopage(mainbaseurl+"index.php");
}

function finishRefresh(topage){
	 var refreshId = setInterval(function() {
		gotopage(topage);
		}, 1000);
}

