/*   
 Description: sInputString 为输入字符串，iType为类型，分别为   
 0 - 去除前后空格; 1 - 去前导空格; 2 - 去尾部空格   
*/ 
function cTrim(sInputString,iType)
{   
	var sTmpStr = ' ';
	var i = -1;
	if(iType == 0 || iType == 1)  
	{  
		while(sTmpStr == ' ')
		{
			++i;
			sTmpStr	=sInputString.substr(i,1);
		}
		sInputString = sInputString.substring(i); 
	}
	if(iType == 0 || iType == 2)
	{
		sTmpStr = ' ';
		i = sInputString.length;
		while(sTmpStr == ' ') 
		{
			--i;
			sTmpStr = sInputString.substr(i,1);
		}
		sInputString = sInputString.substring(0,i+1);
	}
	return sInputString;
}


function trim(str){  //删除左右两端的空格
	 return str.replace(/(^\s*)|(\s*$)/g, "");
}

//合并多个复选项的Value值
function join_checkbox(id)
{
	var idarray = new Array();//定义一个数组
	if($('#'+id).length>0)
	{
		var cv = idObj(id).getElementsByTagName("input");
		//var cv = $('#'+id).children('input');
	}
	else
	{
		var cv = $("input");
	}
	var m = 0;
	for(var i=0; i<cv.length; i++)
	{
		if(cv[i].type.toLowerCase() == "checkbox")
		{
			if(cv[i].checked)
			{
				idarray[m] = cv[i].value;
				m++;
			}
		}
	}
	var id = idarray.join(",");
	return id;
}

//多长时间执行一个脚本
function evaljs(js,time)
{
	if(!time || time == "undefined")
	{
		time = 0;
	}
	time = parseInt(time);
	if(time < 1)
	{
		eval(js);
	}
	else
	{
		if(time < 5)
		{
			time = time*1000;
		}
		window.setTimeout(js,time);
	}
}

function totobay_right()
{
	return "<img src='includes/templates/totobay/totobayimages/check_com.gif' border='0' align='absmiddle'>";
}
function totobay_wrong()
{
	return "<img src='includes/templates/totobay/totobayimages/check_not.gif' border='0' align='absmiddle'>";
}

//插入提示语言 /wenda
function totobay_wrong_text(str,width,message){
	var wrong_message_img="<br><img ";
	
	if (width==true){wrong_message_img+="style=\"margin-left:115px\"";}
	wrong_message_img+=" src='images/register_er.gif' border='0' align='absmiddle'>";
	
	
	if (str=='password'){
		wrong_message_img+= "Sorry, Password information is required.";	
	} else if(str=='mail'){
		wrong_message_img+= "Sorry, E-mail address information is required.";
	} else if (str=='firstname'){
		wrong_message_img+= "Please kindly provide English Name.";
	} else if (str=='lastname'){
		wrong_message_img+= "Sorry, lastname information is required.";
	} else if (str=='password_chk'){
			if (message!='undefined' && message!=''){
			      wrong_message_img+= "Please enter a value greater than four.";
			}else{
				  wrong_message_img+= "Sorry, Password information is required.";
				}			
	} else if (str=='passwordc_chk'){
		wrong_message_img+= "The two passwords you entered don’t match.";
	} else if (str=='email_address'){
		wrong_message_img+= "Please provide a valid e-mail addresses.";
	} else if (str=='telephone'){
		wrong_message_img+= "Please provide a valid telephone.";
	} else if (str=='exists'){
		wrong_message_img+= "Sorry, Our system already has a record of email.";
	} else {
		wrong_message_img+= str;
	}
	return wrong_message_img;			
}

//按需加载JS文件以加快浏览速度
function jsload(url)
{
	var this_script = document.getElementsByTagName("script");
	for(i=0;i<this_script.length;i++)
	{
		if(this_script[i].src && this_script[i].src.indexOf(url)!=-1)
		{
			return true;
		}
	}
	var load_script = document.createElement("script");
	load_script.type = "text/javascript";
	load_script.src = url;
	var head=document.getElementsByTagName("head").item(0);
	head.appendChild(load_script);
	return true;
}

/*取得当前网址所在的目录，使用UrlRewrite后的网址可能支持会有错误*/
function GetSiteUrl()
{
	var siteurl = window.location.href;
	//去除?后面的相关参数
	siteurl = siteurl.substring(7,siteurl.indexOf("?"));
	//切分 / 符号
	var sitearray = siteurl.split("/");
	var newurl = "http://";
	for(var i=0;i<(sitearray.length-1);i++)
	{
		newurl += sitearray[i]+"/";
	}
	return newurl;
}

/*通过Ajax来获取城市菜单，如果城市下垃菜单为空，则使用input框供其填写*/
/*相关参数说明
 *countryid: 国家ID号
 *selectid: 下拉菜单的省ID号
 *inputid: 如果selectid对应的select没有可选择项，则使用该项补充
 *innerid: 插入指定的ID位置
 *extmsg: 数据补充信息
*/
function update_state(countryid,selectid,inputid,innerid)
{
	var url = "index.php?main_page=ajax&action=getstate&returnstring=true";
	if(!countryid || countryid == "undefined")
	{
		return false;
	}
	url += "&countryid="+countryid;
	if(!selectid || selectid == "undefined")
	{
		selectid = "zone_id";
	}
	url += "&selectid="+selectid;
	//判断是否有默认值
	var get_selectid = idObj(selectid);
	if(get_selectid)
	{
		var selectid_val = get_selectid.value;
		if(selectid_val)
		{
			url += "&selectid_val="+selectid_val;
		}
	}
	if(!inputid || inputid == "undefined")
	{
		inputid = "state";
	}
	url += "&inputid="+inputid;
	var get_inputid = idObj(inputid);
	if(get_inputid)
	{
		var inputid_val = get_inputid.value;
		if(inputid_val)
		{
			url += "&inputid_val="+inputid_val;
		}
	}
	var msg = get_ajax(url);
	if(!msg)
	{
		alert("Error: Get city failed!");
		return false;
	}
	var chkerror = msg.toLowerCase();
	if(chkerror.substring(0,5) == "error")
	{
		alert(msg);
		return false;
	}
	if(!innerid || innerid == "undefined")
	{
		innerid = "state_innerHTML";
	}
	idObj(innerid).innerHTML = msg;
	return true;
}
//utf8 encode
function EncodeUtf8(s1)
{
	var s = escape(s1);
	var sa = s.split("%");
	var retV ="";
	if(sa[0] != "")
	{
		retV = sa[0];
	}
	for(var i = 1; i < sa.length; i ++)
	{
		if(sa[i].substring(0,1) == "u")
		{
			retV += Hex2Utf8(Str2Hex(sa[i].substring(1,5)));
			if(sa[i].length>5)
			{
				retV += sa[i].substring(5);
			}
		}
		else
		{
			retV += "%" + sa[i];
		}
	}
	return retV;
}
function Str2Hex(s)
{
	var c = "";
	var n;
	var ss = "0123456789ABCDEF";
	var digS = "";
	for(var i = 0; i < s.length; i ++)
	{
		c = s.charAt(i);
		n = ss.indexOf(c);
		digS += Dec2Dig(eval(n));
	}
	return digS;
}
function Dec2Dig(n1)
{
	var s = "";
	var n2 = 0;
	for(var i = 0; i < 4; i++)
	{
		n2 = Math.pow(2,3 - i);
		if(n1 >= n2)
		{
			s += '1';
			n1 = n1 - n2;
		}
		else
		{
			s += '0';
		}
	}
	return s;
}
function Dig2Dec(s)
{
	var retV = 0;
	if(s.length == 4)
	{
		for(var i = 0; i < 4; i ++)
		{
			retV += eval(s.charAt(i)) * Math.pow(2, 3 - i);
		}
		return retV;
	}
	return -1;
}
function Hex2Utf8(s)
{
	var retS = "";
	var tempS = "";
	var ss = "";
	if(s.length == 16)
	{
		tempS = "1110" + s.substring(0, 4);
		tempS += "10" +  s.substring(4, 10);
		tempS += "10" + s.substring(10,16);
		var sss = "0123456789ABCDEF";
		for(var i = 0; i < 3; i ++)
		{
			retS += "%";
			ss = tempS.substring(i * 8, (eval(i)+1)*8);
			retS += sss.charAt(Dig2Dec(ss.substring(0,4)));
			retS += sss.charAt(Dig2Dec(ss.substring(4,8)));
		}
		return retS;
	}
	return "";
}
//Create Ajax
function add_ajax()
{
	var xmlhttp=null;
	try
	{
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(oc)
		{
			xmlhttp=null;
		}
	}
	if(!xmlhttp && typeof XMLHttpRequest != "undefined")
	{
		xmlhttp=new XMLHttpRequest();
	}
    return xmlhttp;
}

//Using Ajax
function get_ajax(url){
	var xmlhttp = add_ajax();
	var randname = "rand"+Math.floor(Math.random()*10000);
	var randnum = Math.floor(Math.random()*10000);
	if(url.indexOf("?") != -1){
		url += "&"+randname+"="+randnum;
	}else{
		url += "?"+randname+"="+randnum;
	}
	if(url.substring(0,4) != "http"){
		if(is_https == true){
			url = https + url;
		}else{
			url = http + url;
		}
	}
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	if(xmlhttp.readyState==3)
	{
		alert("Loading...");
	}else if(xmlhttp.readyState == 4){
		var result = trim(xmlhttp.responseText);
		if(result){
			return result;
		}else{
			alert("Please refresh later!");
		}
	}
}
function get_cookie(name)
{
	var cookieValue = "";
	var search = name + "=";
	if(document.cookie.length > 0)
	{
		offset = document.cookie.indexOf(search);
		if (offset != -1)
		{
			offset += search.length;
			end = document.cookie.indexOf(";", offset);
			if (end == -1)
			{
				end = document.cookie.length;
			}
			cookieValue = unescape(document.cookie.substring(offset, end));
		}
	}
	return cookieValue;
}

function set_cookie(cookieName,cookieValue,DayValue)
{
	var expire = "";
	var day_value=1;
	if(DayValue!=null)
	{
		day_value=DayValue;
	}
    expire = new Date((new Date()).getTime() + day_value * 86400000);
    expire = "; expires=" + expire.toGMTString();
	document.cookie = cookieName + "=" + escape(cookieValue) +";path=/"+ expire;
}

function del_cookie(cookieName)
{ 
	var expire = "";
    expire = new Date((new Date()).getTime() - 1 );
    expire = "; expires=" + expire.toGMTString();
	document.cookie = cookieName + "=" + escape("") +";path=/"+ expire;
}

//JS读取表单信息并组成字符串xxx=xxxx&xxxx=xxxx格式
//必须有指定的form id
function form_to_string(id)
{
	if(!id || id == "undefined")
	{
		return false;
	}
	//显示相关的信息
	var input = idObj(id).getElementsByTagName("input");
	var select = idObj(id).getElementsByTagName("select");
	var string_array = new Array();
	var input_length = input.length;
	var n = 0;
	for(var i=0;i<input_length;i++)
	{
		if(input[i].type.toLowerCase() == "checkbox")
		{
			if(input[i].checked)
			{
				string_array[n] = input[i].name + "="+EncodeUtf8(input[i].value);
				n++;
			}
		}
		else
		{
			string_array[n] = input[i].name + "="+EncodeUtf8(input[i].value);
			n++;
		}
	}
	var select_length = select.length;
	for(var i=0;i<select_length;i++)
	{
		string_array[n] = select[i].name + "="+EncodeUtf8(select[i].value);
		n++;
	}
	var string = string_array.join("&");
	if(string != "")
	{
		return string;
	}
	else
	{
		return false;
	}
}

// init 

var baseURL="";
var lang = 
{
	error_required_fields: 'You did not complete all of the required fields or input data is incorrect.',
	error_no_items_selected: 'No items selected! At least one checkbox must be ticked off to perform this action.',
	delete_confirmation: 'Are you sure you want to delete the selected items?',
	text_out_of_stock: 'Out of stock',
	items: 'item(s)',
	text_required_group_product: 'Please select a product for the required group [group_name]',
	error_email_invalid: 'The e-mail address is invalid. Please check.',
	phone_number_invalid: 'The phone number is invalid. Please check.'
};

//删除个人中心 shipping address
function delete_shipping_address(addressbookid)
{
	var delurl = "index.php?main_page=ajax&action=delete_shipping_address&address_book_id="+addressbookid;
	
	var msg = get_ajax(delurl);
	if(msg == "ok")
	{
		window.location.href = window.location.href;
		return true;
	}
	else
	{
		alert("Delete Failed.");
		return false;
	}
}


//Start Edit by the Lisa
//Add To Wishlist
//单个产品添加到帐户收藏页操作


function addtowishlist(pid)
{
	if(!pid || pid == "undefined")
	{
		alert("Error: It's forbidden.");
		return false;
	}
	
	var ajaxurl = "index.php?main_page=ajax&action=addwishlist";
	ajaxurl += "&products_id="+pid;
	fn_ajax_http_request(ajaxurl);
}




//删除购物车里的某个产品信息
function delwishlist(productid)
{
	if(!productid || productid == "undefined")
	{
		refreshurl = false;
	}
	var delurl = "index.php?main_page=ajax&action=delwishlist&products_id="+productid;
	var msg = get_ajax(delurl);
	if(msg == "ok")
	{
		window.location.href = window.location.href;
	}
	else
	{
		if(!msg) msg == "Error!";
		alert(msg);
	}
}

//End Edit by the Lisa

function popupwin(url,name,width,height,options){if($.browser.msie&&arguments[5]!=1){var win=window.showModelessDialog(url,window,"status:false;dialogWidth:"+(width)+"px;dialogHeight:"+(height+30)+"px;edge:Raised; help: 0; resizable: 0; status: 0;scroll:0;");return false;}
xposition=0;yposition=0;if((parseInt(navigator.appVersion)>=4)){xposition=(screen.width-width)/2;yposition=(screen.height-height)/2;
theproperty="width="+width+","+"height="+height+","+"screenx="+xposition+","+"screeny="+yposition+","+"left="+xposition+","+"top="+yposition+","+options;
var win=window.open(url,name,theproperty);
win.focus();}
return false;}

//检测是否是数字
function chk_number(val)
{
	var string = "0123456789";
	if(!val)
	{
		return false;
	}
	for(var i=0;i<val.length;i++)
	{
		j=string.indexOf(val.charAt(i));
		if(j == -1)
		{
			return false;
		}
	}
	return true;
}

function chk_telephone(val)
{
	var string = "abcdefghijklmnopqrstuvwxyz";
	if(!val)
	{
		return false;
	}
	val = val.toLowerCase();
	for(var i=0;i<val.length;i++)
	{
		j=string.indexOf(val.charAt(i));
		if(j != -1)
		{
			return false;
		}
	}
	return true;
}

function goto_url(url)
{
	if(!url || url == "undefined")
	{
		return false;
	}
	if(url.substring(0,4) != "http")
	{
		if(is_https == true)
		{
			url = https + url;
		}
		else
		{
			url = http + url;
		}
	}
	window.location.href = url;
}


function getid(obj){
	return typeof(obj) == "string" ? document.getElementById(obj) : obj;
}

function checkout_confirm_order(t)
{
	var url = "index.php?main_page=ajax&action=checkout_check";
	var notemsg = getid("notemsg").value;
	var select_payment = "";
	var payment = document.getElementsByName("payment");
　　for(i=0;i<payment.length;i++){
		if(payment[i].checked){
			select_payment = payment[i].value;	
　　	}
	}

	if (select_payment != ""){
		url += "&payment=" + select_payment;

		if(notemsg){
			url += "&notemsg="+EncodeUtf8(notemsg) + "&payment=" + select_payment;
		}

		var msg = get_ajax(url);
		if(msg == "ok")
		{
			getid("check_li2_step5").innerHTML = msg;
			var url = "index.php?main_page=ajax&action=checkout_confirm";
			var content = get_ajax(url);
			getid("contact_info_confirm_order").innerHTML = content;
			checkout_div_show_hidden(6,900);
			return true;
		}
		else
		{
			if(!msg) msg = "Error:please contact us";
			alert(msg);
			return false;
		}
	}else{
		alert('please choose one payment!');
	}
}

//会员登录JS验证
function checkout_login_submit()
{
	checkout_login();
	return false;
}

function checkout_login(){
	var email = getid("login-email-address").value;
	if(!email || email.search(/^\w+((-\w+)|(\.\w+))*\@\w+((-\w+)|(\.\w+))*\.\w+$/) == -1){
		alert("Please type in a valid email address, such as sales@7daysget.com");
		return false;
	}

	var pass = getid("login-password").value;
	if(!pass){
		alert("Please type in your password.");
		return false;
	}
	var url = "index.php?main_page=ajax&action=login_register_edit&email="+EncodeUtf8(email)+"&pass="+EncodeUtf8(pass);
	url += "&act=login";
	var loginok = get_ajax(url);
	if(loginok == "ok"){
		//window.location.href = window.location.href;
		document.location.href = "index.php?main_page=checkout";
		//return true;
	}else{
		if(!loginok) loginok = "Error: login fail, Please check your email or password.";
		alert(loginok);
		return false;
	}
	return false;
}

//登记或更新 billing address
function checkout_billing_address(isuser)
{
	var ajaxurl = "index.php?main_page=ajax&action=checkout_billingaddress";
	var reg = (isuser || getid("login_guest").checked) ? false : true;//判断是否要登记为会员，已是会员不用登记
	var titlemsg = "";
	//[登记相关的billing address 信息]
	var male = getid("billing:male").checked;
	var m = male ? "m" : "f";
	ajaxurl += "&gender="+m;
	var firstname = getid("billing:firstname").value;
	if(!firstname){
		alert("First name is empty.");
		return false;
	}
	titlemsg += firstname + " ";
	ajaxurl += "&firstname="+firstname;
	var lastname = getid("billing:lastname").value;
	if(!lastname){
		alert("Last name is empty.");
		return false;
	}
	titlemsg += lastname;
	ajaxurl += "&lastname="+lastname;
	var company = getid("billing:company").value;
	ajaxurl += "&company="+company;
	if(company) titlemsg += ", "+company;
	var address = getid("billing:street1").value;
	address = address.replace(/#/ig,"%23");
	address = address.replace(/&/ig,"%26");
	ajaxurl += "&address="+(address);
	titlemsg += ", "+address;
	var suburb = getid("billing:street2").value;
	suburb = suburb.replace(/#/ig,"%23");
	suburb = suburb.replace(/&/ig,"%26");
	ajaxurl += "&suburb="+(suburb);
	var countryid = getid("billing:country_id").value;
	ajaxurl += "&countryid="+parseInt(countryid);
	var city = getid("billing:city").value;
	if(!city){
		alert("City is empty!");
		return false;
	}
	ajaxurl += "&city="+city;
	titlemsg += ", "+city;
	var postcode = getid("billing:postcode").value;
	if(!postcode){
		alert("Postcode is empty.");
		return false;
	}
	ajaxurl += "&postcode="+postcode;
	titlemsg += ", "+postcode;
	titlemsg += ", ...";
	var zoneid = getid("bill_zone_id");
	if(zoneid){
		var zoneid_val = zoneid.value;
		if(!zoneid_val){
			alert("Error: State/Province not selected");
			return false;
		}
		ajaxurl += "&zone_id="+parseInt(zoneid_val);
	}else{
		var stateid = getid("bill_state");
		if(!stateid || stateid == "undefined"){
			alert("Error: State/Province not written");
			return false;
		}
		var stateid_val = stateid.value;
		if(!stateid_val || stateid_val == "undefined"){
			alert("Error: State/Province not selected OR written");
			return false;
		}
		ajaxurl += "&state="+stateid_val;
	}
	var phone = getid("billing:telephone").value;
	if(!phone || !chk_telephone(phone)){
		alert("Telephone is empty or not valid.");
		return false;
	}
	ajaxurl += "&phone="+phone;
	var taxid = getid("billing:taxid").value;
	ajaxurl += "&taxid="+taxid;
	//如果是要注册成为会员
	if(reg){
		var password1 = getid("billing:customer_password").value;
		if(!password1){
			alert("Password is empty!");
			return false;
		}
		var password2 = getid("billing:confirm_password").value;
		if(!password2){
			alert("Confirm password is empty!");
			return false;
		}
		if(password1 != password2){
			alert("The password is different from the first time you filled in.");
		}
		ajaxurl += "&password1="+password1;
		ajaxurl += "&password2="+password2;
	}
	if(!isuser){
		var email = getid("billing:email").value;
		if(!email || email.search(/^\w+((-\w+)|(\.\w+))*\@\w+((-\w+)|(\.\w+))*\.\w+$/) == -1){
			alert("Please type in a valid email address, such as sales@totobay.com");
			return false;
		}

		ajaxurl += "&email="+email;
	}
	//如果需要注册，加上参数
	if(reg)
	{
		ajaxurl += "&createuser=1";
	}
	var usebill = getid("billing:use_for_shipping_yes").checked ? 1 : 0;
	ajaxurl += "&usebill="+usebill;
	ajaxurl = encodeURI(encodeURI(ajaxurl));	
	var msg = get_ajax(ajaxurl);//执行js动作
	if(msg == "ok"){
		//更新 check_li2_step2 里的内容
		getid("check_li2_step2").innerHTML = titlemsg;//更新第二步 title 里的提示内容
		checkout_shipping_method_reload();//重新加载计算 shipping method
		if(usebill)
		{
			getid("checksameas:billing").checked = true;
			//更新第三步信息
			getid("check_li2_step3").innerHTML = titlemsg;
			checkout_show_hidden("check_achieve_step3","check_unful_step3");
			//显示第四步
			checkout_div_show_hidden(4,350);
		}
		else
		{
			getid("checksameas:billing").checked = false;
			//显示第三步
			checkout_div_show_hidden(3,575);
		}
		return true;
	}
	else
	{
		if(!msg) msg = "Error: Failed...";
		alert(msg);
		return false;
	}
}

//登记或更新 shipping address
function checkout_shipping_address()
{
	var ajaxurl = "index.php?main_page=ajax&action=checkout_shippingaddress_save";
	var titlemsg = "";
	//[登记相关的billing address 信息]
	var male = getid("shipping:male").checked;
	var m = male ? "m" : "f";
	ajaxurl += "&gender="+m;
	var firstname = getid("shipping:firstname").value;
	if(!firstname)
	{
		alert("First name is empty.");
		return false;
	}
	titlemsg += firstname + " ";
	ajaxurl += "&firstname="+firstname;
	var lastname = getid("shipping:lastname").value;
	if(!lastname)
	{
		alert("Last name is empty.");
		return false;
	}
	titlemsg += lastname;
	var company = getid("shipping:company").value;
	ajaxurl += "&company="+company;
	if(company) titlemsg += ", "+company;
	ajaxurl += "&lastname="+lastname;
	var address = getid("shipping:street1").value;
	address = address.replace(/#/ig,"%23");
	address = address.replace(/&/ig,"%26");
	ajaxurl += "&address="+(address);
	titlemsg += ", "+address;
	var suburb = getid("shipping:street2").value;
	suburb = suburb.replace(/#/ig,"%23");
	suburb = suburb.replace(/&/ig,"%26");
	ajaxurl += "&suburb="+(suburb);
	var countryid = getid("shipping:country_id").value;
	ajaxurl += "&countryid="+parseInt(countryid);
	var city = getid("shipping:city").value;
	if(!city)
	{
		alert("City is empty!");
		return false;
	}
	ajaxurl += "&city="+city;
	titlemsg += ", "+city;
	var postcode = getid("shipping:postcode").value;
	if(!postcode || postcode == "")
	{
		alert("Postcode is empty.");
		return false;
	}
	ajaxurl += "&postcode="+postcode;
	titlemsg += ", "+postcode;
	titlemsg += ", ...";
	var zoneid = getid("ship_zone_id");
	if(zoneid)
	{
		var zoneid_val = zoneid.value;
		if(!zoneid_val)
		{
			alert("Error: State/Province not selected");
			return false;
		}
		ajaxurl += "&zone_id="+parseInt(zoneid_val);
	}
	else
	{
		var stateid = getid("ship_state");
		if(!stateid || stateid == "undefined")
		{
			alert("Error: State/Province not written");
			return false;
		}
		var stateid_val = stateid.value;
		if(!stateid_val || stateid_val == "undefined")
		{
			alert("Error: State/Province not selected OR written");
			return false;
		}
		ajaxurl += "&state="+stateid_val;
	}
	var phone = getid("shipping:telephone").value;
	if(!phone || !chk_telephone(phone))
	{
		alert("Telephone is empty OR not valid");
		return false;
	}
	ajaxurl += "&phone="+phone;
	var taxid = getid("shipping:taxid").value;
	ajaxurl += "&taxid="+taxid;
	ajaxurl = encodeURI(encodeURI(ajaxurl));
	var msg = get_ajax(ajaxurl);//执行js动作
	if(msg == "ok" || msg == "ok:refresh")
	{
		checkout_shipping_method_reload();//重新加载计算 shipping method
		//更新 check_li2_step2 里的内容
		getid("check_li2_step3").innerHTML = titlemsg;//更新第三步 title 里的提示内容
		//更新三步里的信息
		if(msg == "ok:refresh")
		{
			checkout_show_shipping_address("contact_info_shipping_address");
		}
		//显示第四步
		checkout_div_show_hidden(4,350);
		return true;
	}
	else
	{
		if(!msg) msg = "Error: Failed...";
		alert(msg);
		return false;
	}
}


function checkout_show_shipping_address(id,val)
{
	if(!id)
	{
		return false;
	}
	var url = "index.php?main_page=ajax&action=checkout_shippingaddress";
	if(val && val != "undefined")
	{
		url += "&address_bookid="+val;
	}
	var msg = get_ajax(url);
	getid(id).innerHTML = msg;
	return true;
}

function checkout_use_billing()
{
	var chk = getid("checksameas:billing").checked;
	if(chk)
	{
		//存储session id 告诉 下一步将使用 billing address 替换 shipping address
		var url = "index.php?main_page=ajax&action=checkout_setshippingid&usebill=1";
		get_ajax(url);
		var titlemsg = "";
		var firstname = getid("billing:firstname").value;
		titlemsg += firstname + " ";
		var lastname = getid("billing:lastname").value;
		titlemsg += lastname;
		var address = getid("billing:street1").value;
		titlemsg += ", "+address;
		var city = getid("billing:city").value;
		titlemsg += ", "+city;
		var postcode = getid("billing:postcode").value;
		titlemsg += ", "+postcode;
		titlemsg += ", ...";
		checkout_shipping_method_reload();//重新加载计算 shipping method
		getid("check_li2_step3").innerHTML = titlemsg;//更新第三步 title 里的提示内容
		checkout_div_show_hidden(4,650);
	}
}

//设置shipping method 信息
function checkout_shipping_method(str)
{
	if(!str || str == "undefined" || str == "")
	{
		alert("Please select a shipping method");
		return false;
	}
	var id_array = str.split(",");
	var len = id_array.length;
	//弹出窗口窗为
	var op = true;
	for(var i=0;i<len;i++)
	{
		var shipping = id_array[i].split("|");
		var id = "shipping_method_"+shipping[0];
		if(getid(id).checked){
			op = false;
			var url = "index.php?main_page=ajax&action=checkout_shippingmethod_save&shipping="+shipping[1];
			var msg = get_ajax(url);
			if(msg.indexOf("ok") >= 0){
				getid("check_li2_step4").innerHTML = msg;
				checkout_div_show_hidden(5,480);
				return true;
			}else{
				if(!msg) msg = "Error:failed.";
				return false;
			}
		}
	}
	if(op)
	{
		alert("Please select a logistics");
		return false;
	}
}

function show_this_payment(tid)
{
	if(!tid || tid == "undefined")
	{
		alert("Error: Forbidden");
		return false;
	}
	var url = "index.php?main_page=ajax&action=set_paymentid&id="+tid;
	var setmsg = get_ajax(url);
	var getmsg = getid("description_"+tid).innerHTML;
	if(getmsg)
	{
		getid("radio_"+tid).checked = true;
		getid("summary").innerHTML = getmsg;
		getid("summary").style.display = "";
	}
	else
	{
		getid("summary").style.display = "none";
	}
	return true;
}


//重新载入shipping method 内容信息
function checkout_shipping_method_reload()
{
	var url = "index.php?main_page=ajax&action=checkout_shipping_method";
	var msg = get_ajax(url);
	getid("checkout_step_shipping_method").innerHTML = msg;
	return true;
}

//重设 shipping address 处理方式
function checkout_shipping_address_reset(){
	getid("checksameas:billing").checked = false;
	checkout_div_show_hidden(3,720);
	return true;
}

//重设 shipping method 处理方式
function checkout_shipping_method_reset()
{
	checkout_div_show_hidden(4,350);
	return true;
}


//重设 payment method 处理方式
function checkout_payment_method_reset()
{
	checkout_div_show_hidden(5,484);
	return true;
}


//重设 billing address 处理方式
function checkout_billing_address_reset(){
	checkout_div_show_hidden(2,600);
	return true;
}


//设置 checkout method 是以何种方式处理
//支持的方式有：1、游客下单，2、注册为新会员后下单，3、会员登录下单
function checkout_setmethod(){
	//判断状态
	var guest = getid("login_guest").checked;
	if(guest){
		set_cookie("login_method","guest");
		getid("check_li2_step1").innerHTML = "Checkout as guest.";
		//用户禁用输入密码
		getid("register-customer-password").style.display = "none";
		var next_height = 575;
	}else{
		set_cookie("login_method","user");
		getid("check_li2_step1").innerHTML = "Creating an account.";
		//用户需要输入密码
		getid("register-customer-password").style.display = "";
		var next_height = 575;
	}
	//隐藏登录窗口的样式
	checkout_div_show_hidden(2,next_height);
	return true;
}

//重设 checkout method 处理方式，默认
function checkout_setmethod_reset()
{
	checkout_div_show_hidden(1,350);
	return true;
}

//公用的样式

//逐渐显示菜单
//ID:指定的ID
//height:当前高度
//maxheight:最大高度
function checkout_show_list(id,height,maxheight,show_title_id,hidden_title_id)
{
	var p = 50; //每次递增50像素
	if(height>=maxheight)
	{
		return true;
	}
	if(height<1)
	{
		checkout_show_hidden(show_title_id,hidden_title_id);
	}
	getid(id).style.display = "";
	getid(id).style.overflow = "hidden";
	var mheight = parseInt(height) + p;
	if(mheight>maxheight)
	{
		getid(id).style.height = "auto";
		checkout_show_hidden(show_title_id,hidden_title_id);
		return true;
	}
	else
	{
		getid(id).style.height =  "auto";
		//每隔40毫秒执行一次
		evaljs("checkout_show_list('"+id+"',"+mheight+","+maxheight+",'"+show_title_id+"','"+hidden_title_id+"')",100);
	}
}

//逐渐隐藏菜单
function checkout_hidden_list(id,height,show_title_id,hidden_title_id)
{
	if(!id)
	{
		return false;
	}
	var id_array = id.split(",");
	var id_length = id_array.length;
	for(var i=0;i<id_length;i++)
	{
		_checkout_hidden_list(id_array[i],height);
	}
	checkout_show_hidden(show_title_id,hidden_title_id);
	return true;
}

//逐渐隐藏菜单
function _checkout_hidden_list(id,height)
{
	//判断ID
	var p = 50;
	if(height<=0)
	{
		getid(id).style.display = "none";
		return true;
	}
	var mheight = parseInt(height) - p;
	if(mheight <= 0)
	{
		getid(id).style.display = "none";
		return true;
	}
	else
	{
		getid(id).style.display = "";
		getid(id).style.overflow = "hidden";
		getid(id).style.height = mheight + "px";
		evaljs("_checkout_hidden_list('"+id+"',"+mheight+")",100);
	}
}

//显示或隐藏指定菜单
function checkout_show_hidden(show_id_list,hidden_id_list)
{
	if(show_id_list && show_id_list != "undefined")
	{
		var id_array = show_id_list.split(",");
		var len = id_array.length;
		for(var i=0;i<len;i++)
		{
			getid(id_array[i]).style.display = "";
		}
	}
	if(hidden_id_list && hidden_id_list != "undefined")
	{
		var id_array = hidden_id_list.split(",");
		var len = id_array.length;
		for(var i = 0; i<len;i++)
		{
			getid(id_array[i]).style.display = "none";
		}
	}
	return true;
}

//判断是显示或是隐藏相关内容
//num参数表示要显示的步骤
function checkout_div_show_hidden(num,maxheight){
	var max = 6;
	var showid;//指定要显示的内容ID
	var title_showid;//指定要显示的主题ID
	var title_hiddenid;//指定要显示的
	var hiddenid;
	var title_showid_2;
	var title_hidden_2;
	var hidden_height;
	for(var i=1;i<=max;i++){
		if(i == num){
			showid = "one-page-checkout-step"+i;//要显示的内容ID
			title_showid = "check_un_title_step"+i+",check_under_step"+i;//要显示的头部ID
			if(i>1){
				if(i<max){
					title_hiddenid = "check_achieve_step"+i+",check_unful_step"+i;
				}else{
					title_hiddenid = "check_unful_step"+i;
				}
			}else{
				title_hiddenid = "check_achieve_step"+i;
			}
		}else{
			var tmp_hiddenid = "one-page-checkout-step"+i;
			var tmp_under = "check_under_step"+i;
			if(getid(tmp_under).style.display != "none"){
				hiddenid = tmp_hiddenid;
				hidden_height = getid(hiddenid).scrollHeight;
				if(i<num){
					title_showid_2 = "check_achieve_step"+i;
					if(num>1 && i>1){
						title_hiddenid_2 = "check_under_step"+i+",check_un_title_step"+i+",check_unful_step"+i;
					}else{
						title_hiddenid_2 = "check_under_step"+i+",check_un_title_step"+i;
					}
				}else{
					title_showid_2 = i>1 ? "check_unful_step"+i : "check_achieve_step"+i;
					if(i<max){
						title_hiddenid_2 = "check_under_step"+i+",check_un_title_step"+i+",check_achieve_step"+i;
					}else{
						title_hiddenid_2 = "check_under_step"+i+",check_un_title_step"+i;
					}
				}
			}
		}
	}
	checkout_show_list(showid,0,maxheight,title_showid,title_hiddenid);
	checkout_hidden_list(hiddenid,hidden_height,title_showid_2,title_hiddenid_2);
	return true;
}

//input coupon code
function enter_vcode(){
	var dc_redeem_code = getid("dc_redeem_code").value;
	if(!dc_redeem_code){
		alert("Invalid Coupon Code!");
		return false;
	}
	var url = "index.php?main_page=ajax&action=idcard&dc_redeem_code="+dc_redeem_code;
	var msg = get_ajax(url);
	if(msg === "ok"){
		goto_url("index.php?main_page=shopping_cart");
		return true;
	}else{
		if(!msg) msg = "error!";
		alert(msg);
		return false;
	}
}


//delete coupon code
function del_vcode(){
	var url = "index.php?main_page=ajax&action=del_idcard";
	var msg = get_ajax(url);
	if(msg == "ok"){
		goto_url("index.php?main_page=shopping_cart");
		return true;
	}else{
		if(!msg) msg = "error!";
		alert(msg);
		return false;
	}
}

function KeyDownLogin(e){
	if(window.event){
	    keynum = e.keyCode;   
    }else if(e.which){   
	    keynum = e.which;   
    }
	if (keynum == 13){
		checkout_login_submit();
	}
}

function KeyDown(e){
	if(window.event){
	    keynum = e.keyCode;   
    }else if(e.which){   
	    keynum = e.which;   
    }
	if (keynum == 13){
		enter_vcode();
	}
}



