//////////////////////////////////////////////////////////////////
// 处理购物车信息
//////////////////////////////////////////////////////////////////

//处理改变产品记录数量而改变产品记录金额
function num_change_gb_price(obj_price,obj_quantity,P_price) {
	var old_P_price = obj_price.value;
	var P_quantity = obj_quantity.value;
	if ( parseInt(P_quantity) > 0 && parseFloat(P_price) >= 0 ){
		var new_P_price = parseFloat(P_price) * parseInt(P_quantity);
		obj_price.value = round(new_P_price);
		document.cart_frm.sub_total.value = round(parseFloat(document.cart_frm.sub_total.value) - parseFloat(old_P_price) + parseFloat(new_P_price));
		jisuan_total_price();
	}
}

//将改变的产品记录数量更新到购物车
//参数说明：edit_rows为产品记录的行数，P_quantity为要修改的购买产品数量
function update_cart_item_quantity( edit_row , P_quantity){
	//当两个参数都为数字时执行
	if ( is_numeric(edit_row) && is_numeric(P_quantity) ){
		delete xmlhttp ;
		var xmlhttp;
		if (xmlhttp==null || typeof(xmlhttp)!="object"){
			try{
				xmlhttp= new ActiveXObject('Msxml2.XMLHTTP');
			}catch(e){
				try{
					xmlhttp= new ActiveXObject('Microsoft.XMLHTTP');
				}catch(e){
					try{
						xmlhttp= new XMLHttpRequest();
					}catch(e){}
				}
			}
		}
		xmlhttp.open("post", "cart_edit.php", true);
		xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded;text/xml;charset=utf-8");
		xmlhttp.send("edit_row="+edit_row+"&P_quantity="+P_quantity);	
	}
}

//计算总价格
function jisuan_total_price(){
	check_coupon();
	check_card();
	var sub_total = document.cart_frm.sub_total.value;
	var coupon = document.cart_frm.coupon.value;
		if ( coupon.indexOf("%") >= 0 ) coupon = parseFloat(coupon) * sub_total / 100;//当优惠券为折扣时
	var shipping = document.cart_frm.shipping.value;
		if ( parseFloat(sub_total) - parseFloat(coupon) < 75 ){
			shipping = 25;
			document.cart_frm.shipping.value = shipping;
			document.getElementById("Shipping_text").style.display="";
		}else{
			shipping = 0;
			document.cart_frm.shipping.value = shipping;
			document.getElementById("Shipping_text").style.display="none";
		}
	var card_money = document.cart_frm.card_money.value;
	document.cart_frm.amount.value = round(parseFloat(sub_total) - parseFloat(coupon) + parseFloat(shipping) - parseFloat(card_money));
	if ( document.cart_frm.amount.value < 0 ) document.cart_frm.amount.value = 0;
}

//////////////////////////////////////////////////////////////////
// 处理优惠券信息
//////////////////////////////////////////////////////////////////

//处理提交的优惠券
function gift_voucher_form(djq_number){
	delete xmlhttp ;
	var xmlhttp;
	if (xmlhttp==null || typeof(xmlhttp)!="object"){
		try{
			xmlhttp= new ActiveXObject('Msxml2.XMLHTTP');
		}catch(e){
			try{
				xmlhttp= new ActiveXObject('Microsoft.XMLHTTP');
			}catch(e){
				try{
					xmlhttp= new XMLHttpRequest();
				}catch(e){}
			}
		}
	}
	xmlhttp.onreadystatechange=function(){
		if (4==xmlhttp.readyState){
			if (200==xmlhttp.status){
				var return_value=xmlhttp.responseText;
				//去掉返回值里的换行符\n\r
				return_value = (return_value.replace("\n","")).replace("\r",""); 
				return_value = cTrim(return_value,0);  //去掉返回值的前后空格，以便与下面的"no"进行对比
				if ( return_value != null ){
					//将优惠券金额（或折扣）与使用条件解析出来
					djq_arr = return_value.split("||");
					data_djq_price = djq_arr[0]; //优惠券金额
					data_djq_order_money = djq_arr[1]; //使用条件，订单总额需大于等于此值
					
					if ( parseFloat(data_djq_price) == 0 ){ //返回0表示优惠券错误
						document.getElementById("djq_search_txt").innerHTML = "<font color=red>The number you put is invalid.</font>";
					}else if ( data_djq_price >= 0 ){ //表示优惠券为金额
						document.getElementById("djq_search_txt").innerHTML = "<font color=blue>Welcome! Your coupon values <b>US$"+data_djq_price+"</b></font>";
					}else{ //否则表示折扣
						document.getElementById("djq_search_txt").innerHTML = "<font color=blue>Welcome! Your coupon values <b>"+data_djq_price+"</b></font>";
					}
					document.getElementById('djq_price').value = data_djq_price;
					document.getElementById('djq_order_money').value = data_djq_order_money;
					check_coupon(); //检查优惠券是否符合条件
					jisuan_total_price(); //重新计算总金额
				}
			}
		delete xmlhttp ; 
		xmlhttp=null;
		}
	}
	xmlhttp.open("post", "gift_voucher_form_chk.php", true);
	xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded;text/xml;charset=utf-8");
	xmlhttp.send("djq_number="+djq_number);
}
//检查优惠券是否符合条件
function check_coupon(){
	if ( document.getElementById('djq_number').value != "" ){ //当优惠券不为空时
		//当条件=0时,即不判断
		if ( document.getElementById('djq_order_money').value == 0 ){
			document.getElementById("check_coupon_txt").style.display="none";
			document.getElementById("check_coupon_txt").innerHTML="";
			document.getElementById('coupon').value = document.getElementById('djq_price').value;
			document.getElementById("Coupon_text").style.display="";		
		}else{
			//当条件>0时,即要判断使用条件
			//当优惠券为金额时
			if ( is_numeric(document.getElementById('djq_price').value) ){
				//当总商品金额<使用条件金额时,显示优惠券不能使用的文本
				if ( parseFloat(document.cart_frm.sub_total.value) < parseFloat(document.getElementById('djq_order_money').value) ){
					document.getElementById("check_coupon_txt").style.display="";
					document.getElementById("check_coupon_txt").innerHTML="Your coupon values US$"+document.getElementById("djq_price").value+" ,please note minimum order amount to redeem this coupon is US$"+document.getElementById("djq_order_money").value;
					document.getElementById('coupon').value = 0;
					document.getElementById("Coupon_text").style.display="none";
				}else{ //否则,隐藏优惠不能使用的警告文本,并显示优惠券金额
					document.getElementById("check_coupon_txt").style.display="none";
					document.getElementById("check_coupon_txt").innerHTML="";
					document.getElementById('coupon').value = document.getElementById('djq_price').value;
					document.getElementById("Coupon_text").style.display="";
				}
			}else{ //当优惠券为折扣时
				//当总商品金额<使用条件金额时,显示优惠券不能使用的文本
				if ( parseFloat(document.cart_frm.sub_total.value) < parseFloat(document.getElementById('djq_order_money').value) ){
					document.getElementById("check_coupon_txt").style.display="";
					document.getElementById("check_coupon_txt").innerHTML="Your coupon values "+document.getElementById("djq_price").value+" ,please note minimum order amount to redeem this coupon is US$"+document.getElementById("djq_order_money").value;
					document.getElementById('coupon').value = 0;
					document.getElementById("Coupon_text").style.display="none";			
				}else{ //否则,隐藏优惠不能使用的警告文本,并显示优惠券金额
					document.getElementById("check_coupon_txt").style.display="none";
					document.getElementById("check_coupon_txt").innerHTML="";
					document.getElementById('coupon').value = document.getElementById('djq_price').value;
					document.getElementById("Coupon_text").style.display="";
				}
			}
		}
	}else{ //当优惠券为空时
			document.getElementById('djq_price').value = 0;
			document.getElementById('djq_order_money').value = 0
			document.getElementById("check_coupon_txt").style.display="none";
			document.getElementById("check_coupon_txt").innerHTML="";
			document.getElementById('coupon').value = 0;
			document.getElementById("Coupon_text").style.display="none";
	}
}

//////////////////////////////////////////////////////////////////
// 处理代金券信息
//////////////////////////////////////////////////////////////////

//判断用户输入卡的帐号是否正确
function gift_card_form(card_num,card_pwd){
	if ( card_num != "" && card_pwd != "" ){
		delete xmlhttp ;
		var xmlhttp;
		if (xmlhttp==null || typeof(xmlhttp)!="object"){
			try{
				xmlhttp= new ActiveXObject('Msxml2.XMLHTTP');
			}catch(e){
				try{
					xmlhttp= new ActiveXObject('Microsoft.XMLHTTP');
				}catch(e){
					try{
						xmlhttp= new XMLHttpRequest();
					}catch(e){}
				}
			}
		}
		xmlhttp.onreadystatechange=function(){
			if (4==xmlhttp.readyState){
				if (200==xmlhttp.status){
					var return_value=xmlhttp.responseText;
					if ( return_value != null ){
						if ( return_value > 0 ){
							document.getElementById("card_return_info").innerHTML = "<font color=blue>Welcome! Your card values <b>US\$"+return_value+"</b>.</font>";
							document.cart_frm.card_money.value = return_value;
							document.getElementById("Card_text").style.display="";
						}else{
							document.getElementById("card_return_info").innerHTML = "<font color=red>Wrong card number. Please try again.</font>";
							document.cart_frm.card_money.value = 0;
							document.getElementById("Card_text").style.display="none";
						}
						jisuan_total_price();
					}
				}
			delete xmlhttp ; 
			xmlhttp=null;
			}
		}
		xmlhttp.open("post", "gift_card_form_chk.php", true);
		xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded;text/xml;charset=utf-8");
		xmlhttp.send("card_num="+card_num+"&card_pwd="+card_pwd);
	}
}

//检查卡的金额是否超过订单金额
function check_card(){
	var sub_total = document.cart_frm.sub_total.value;
	var coupon = document.cart_frm.coupon.value;
	var shipping = document.cart_frm.shipping.value;
	var card_money = document.cart_frm.card_money.value;
	var sub_total_money = parseFloat(sub_total) - parseFloat(coupon) + parseFloat(shipping);
	if ( parseFloat(document.cart_frm.card_money.value) > parseFloat(sub_total_money) ){
		document.getElementById("card_txt").style.display="";
		document.getElementById("card_txt").innerHTML = "Your card values US$"+document.getElementById("card_money").value+" ,please note gift card is one-off card.<br>There will be no balance remained."
	}else{
		document.getElementById("card_txt").style.display="none";
	}
}

//////////////////////////////////////////////////////////////////
// 处理订单信息
//////////////////////////////////////////////////////////////////

//当订单使用了限量代金卡而不需要到paypal支付时，检查提交的表单订单信息
function sub_chk(){
	if ( document.cart_frm.User_name.value == ""){
		alert("Please enter the Receiver name!");
		document.cart_frm.User_name.focus();
		return false;
	}
	if ( document.cart_frm.User_email.value == ""){
		alert("Please enter the email address!");
		document.cart_frm.User_email.focus();
		return false;
	}	
	if ( document.cart_frm.User_phone.value == ""){
		alert("Please enter the Phone!");
		document.cart_frm.User_phone.focus();
		return false;
	}	
	if ( document.cart_frm.User_street1.value == ""){
		alert("Please enter the Address!");
		document.cart_frm.User_street1.focus();
		return false;
	}
	if ( document.cart_frm.User_city.value == ""){
		alert("Please enter the city!");
		document.cart_frm.User_city.focus();
		return false;
	}	
	if ( document.cart_frm.User_state.value == ""){
		alert("Please enter the State/Province!");
		document.cart_frm.User_state.focus();
		return false;
	}
	if ( document.cart_frm.User_country.value == ""){
		alert("Please enter the country!");
		document.cart_frm.User_country.focus();
		return false;
	}	
	if ( document.cart_frm.User_zip.value == ""){
		alert("Please enter the zip!");
		document.cart_frm.User_zip.focus();
		return false;
	}
	if (window.confirm("Please confirm that you put in the information correctly, otherwise the information can't be modified after submission.")){
			document.cart_frm.submit.disabled=true;
	}else{
		return false;
	}
}

function copy_data(obj){
	if ( obj.checked == true){
		document.cart_frm.B_User_name.value 	= document.cart_frm.User_name.value;
		document.cart_frm.B_User_email.value 	= document.cart_frm.User_email.value;
		document.cart_frm.B_User_phone.value 	= document.cart_frm.User_phone.value;
		document.cart_frm.B_User_street1.value	= document.cart_frm.User_street1.value;
		document.cart_frm.B_User_street2.value	= document.cart_frm.User_street2.value;
		document.cart_frm.B_User_city.value 	= document.cart_frm.User_city.value;
		document.cart_frm.B_User_state.value 	= document.cart_frm.User_state.value;
		document.cart_frm.B_User_country.value	= document.cart_frm.User_country.value;
		document.cart_frm.B_User_zip.value 		= document.cart_frm.User_zip.value;
	}else{
		document.cart_frm.B_User_name.value 	= "";
		document.cart_frm.B_User_email.value 	= "";
		document.cart_frm.B_User_phone.value 	= "";
		document.cart_frm.B_User_street1.value	= "";
		document.cart_frm.B_User_street2.value 	= "";
		document.cart_frm.B_User_city.value 	= "";
		document.cart_frm.B_User_state.value 	= "";
		document.cart_frm.B_User_country.value	= "";
		document.cart_frm.B_User_zip.value 		= "";
	}
}

//////////////////////////////////////////////////////////////////
// 其它函数
//////////////////////////////////////////////////////////////////

//JS去掉前后空格函数
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 is_numeric(num) { 
	var reg = /^\-?([1-9]\d*|0)(\.\d+)?$/; 
	if( reg.test(num) ){ 
		return true;
	}else{
		return false;
	}
}
//转换金额为以两位小数点的货币形式
function round (n) {
	n = Math.round(n * 100) / 100;
	n = (n + 0.001) + '';
	return n.substring(0, n.indexOf('.') + 3);
}


