// JavaScript Document

var userId = 0;
var check = 0;
var dataPath = '';
var cut = 1;	
var copy = 1;
var theLangId=0;
var continueShoppingUrl='/';
//设置购买数量
var addProductNumber=1;
function initUserId(id,check,langid,datapath)
{

	userId=id;
	check=check;
	langId =langid;
	theLangId=langid;
	dataPath= datapath;
	cut= 1;	
	copy=1;
}
function CookieEnable() 
{ 
   var result=false; 
   if(navigator.cookiesEnabled) 
     return true; 
   document.cookie = "testcookie=yes;"; 
   var cookieSet = document.cookie; 
   if (cookieSet.indexOf("testcookie=yes") > -1) 
     result=true; 
   document.cookie = ""; 
   return result; 
} 
 

function GetCookie(cookiename)
{
    var thebigcookie = document.cookie;
    var firstchar = thebigcookie.indexOf(cookiename);
    if (firstchar != -1) {
        firstchar += cookiename.length + 1;
        lastchar = thebigcookie.indexOf(";",firstchar);
        if(lastchar == -1) lastchar = thebigcookie.length;
        return unescape(thebigcookie.substring(firstchar, lastchar));
    }
    return "";
}
function SetCookie(cookiename,cookievalue,cookieexpdate,domainname)
{
    document.cookie = cookiename + "=" + escape(cookievalue)
    + "; domain=" + domainname
    + "; path=" + "/"
    + "; expires=" + cookieexpdate.toGMTString();
}
function ClearCookie()
{
	 var  host = window.location.host;//获取域名
	 var d = new Date();
    d.setYear(d.getYear()+1);
    SetCookie('history'+userId,'[]',d,host); //清空商品
    SetCookie('bindproducts'+userId,'[]',d,host);//清空捆绑商品
    SetCookie('historyAppend'+userId,'[]',d,host);//清空捆绑商品
    Show(check);
}
function GetProduct(cookiename)
{
    var str = GetCookie(cookiename);
    var obj = [];
    if (str != null && str != '') obj = str.evalJSON();
   
    return obj;
}
//增加产品点击添加
function AddProduct(id,name,price,url,points,weight)
{	
	var addProductNumberElement=document.getElementById("addProductNumber");
	if(addProductNumberElement!=null){
		var numberFormat=/^[1-9]+[0-9]*$/;
		if(numberFormat.exec(addProductNumberElement.value)){
			addProductNumber=parseInt(addProductNumberElement.value);
		}
		else{
			addProductNumber=1;
			if(theLangId==1)
				alert("请正确填写订购数量");
			else if(theLangId==3)
				alert("Please fill in the correct order quantity");
			return;
		}	
	}
	var labels=new Array();
	var values=new Array();
	for(var i=1;i<=10;i++){
		var elementNumber=100+i;
		var elementName="name"+elementNumber;
		var elementObject=document.getElementsByName(elementName);
		if(elementObject.length){
			if(elementObject[0].type=='radio'){
				var isCheck=false;
				for(var j=0;j<elementObject.length;j++){
					if(elementObject[j].checked){
						isCheck=true;
						var labelsLength=0;
						if(labels.length)
							labelsLength=labels.length;
						labels[labelsLength]=elementName;
						values[labelsLength]=elementObject[j].value;
					}	
				}
				if(isCheck==false){
					if(langId==1)
						alert("请选择商品的附加信息!");
					if(langId==3)
						alert("Please select product options!");
					return;
				}
			}
		}
	}
	if(labels.length){
		AddAppendProductCookie(id,name,price,url,points,weight,1,labels,values);
	}
	else{
		AddProductCookie(id,name,price,url,points,weight,1);
	}
	getCartProductNum();
	window.open("/front/cart/show.jsp");
}
//增加产品修改数量
function updateProduct(id,name,price,url,points,weight)
{
	AddProductCookie(id,name,price,url,points,weight,0);	
	getCartProductNum();
}
function updateAppendProduct(id,name,price,url,points,weight)
{
	AddProductCookie(id,name,price,url,points,weight,0);	
	getCartProductNum();
}
//保存到cookie
function AddProductCookie(id,name,price,url,points,weight,isAdd)
{	
	
      if(!CookieEnable()) 
      { 
        alert("对不起，您的浏览器的Cookie功能被禁用，请开启"); 
      } 
     var count = addProductNumber;
    if(isAdd==0) {
    	//count = parseInt(document.getElementById("productNum"+id).value);//parseInt(prompt('请输入购买数量，只能输入正整数：','1'));
    	if(document.getElementById("productNum"+id)) {
    		count = parseInt(document.getElementById("productNum"+id).value);
   		}
    }    
    var obj = GetProduct('history'+userId);  
    for (var i=0;i<obj.length;i++){
   	
        if (id==obj[i][0])
        {
	        if(isAdd==0){
	        	obj[i][3]=count;
	        	if(count==0)
	        	{
	        		DeleteProduct(id,'history'+userId);
	        	}
	        }else{
	       		
	       		obj[i][3]=parseInt(obj[i][3])+count;
	        }
	        break;
        }
    }
        //查找优惠活动
        getProductPreferential(id);       
        var discountprice = ForDight(price*cut,2);
        points = points*copy;
    	if (i==obj.length)
        obj.push([id,name,price,count,url,discountprice,points,weight]);
    
   
    var d = new Date();
    d.setYear(d.getYear()+1);
   	var  host = window.location.host;//获取域名	
    SetCookie('history'+userId, obj.toJSON(), d, host);
    Show(check);
}
function AddAppendProductCookie(id,name,price,url,points,weight,isAdd,labels,values)
{	
	
      if(!CookieEnable()) 
      { 
        alert("对不起，您的浏览器的Cookie功能被禁用，请开启"); 
      } 
     var count = addProductNumber;
    if(isAdd==0) {
    	//count = parseInt(document.getElementById("productNum"+id).value);//parseInt(prompt('请输入购买数量，只能输入正整数：','1'));
    	if(document.getElementById("productNum"+id)) {
    		count = parseInt(document.getElementById("productNum"+id).value);
   		}
    }    
    var obj = GetProduct('historyAppend'+userId);  
    for (var i=0;i<obj.length;i++){
        if (id==obj[i][0])
        {
        	var matchResult=true;;
        	var labelArray=obj[i][8];
        	var valueArray=obj[i][9];
        	for(var j=0;j<labels.length;j++){
        		if(labelArray[j]!=labels[j] || valueArray[j]!=values[j]){
        			matchResult=false;
        		}
        	}
        	if(matchResult){
        		if(isAdd==0){
	        	obj[i][3]=count;
	        	if(count==0)
	        	{
	        		DeleteProduct(id,'historyAppend'+userId);
	        	}
		        }else{
		       		obj[i][3]=parseInt(obj[i][3])+count;
		        }
		        break;
        	}
        }
     }   
        //查找优惠活动
        getProductPreferential(id);       
        var discountprice = ForDight(price*cut,2);
        points = points*copy;
    	if (i==obj.length)
        obj.push([id,name,price,count,url,discountprice,points,weight,labels,values]);
    
    var d = new Date();
    d.setYear(d.getYear()+1);
   	var  host = window.location.host;//获取域名	
    SetCookie('historyAppend'+userId, obj.toJSON(), d, host);
    Show(check);
}
//删除产品
function DeleteProduct(id,cookiename)
{
    var result=[];
    var obj = GetProduct(cookiename);
    for (var i=0;i<obj.length;i++)
        if (id!=obj[i][0]){result.push(obj[i]);}
   
    var d = new Date();
    d.setYear(d.getYear()+1);
    var host = window.location.host;//获取域名
    SetCookie(cookiename, result.toJSON(), d, host);
   Show(check);
}
//获取购物车产品数量总合

function getCartProductNum()
{
	var o = GetProduct('history'+userId);
	var sum = 0;
	for(var i=0;i<o.length;i++)
    {
        sum += o[i][3];
    }
   o = GetProduct('bindproducts'+userId);
   for(var i=0;i<o.length;i++)
    {
        sum += o[i][3];
    }
   o = GetProduct('historyAppend'+userId);
   for(var i=0;i<o.length;i++){
   		sum += o[i][3];
   }
    var memberId = 0;
    if($("memberId")) memberId=$("memberId").value;
    
    if(memberId>0){
    	DWREngine.setAsync(false);     
    	cartImpl.getProductNum(memberId,userId,{
    	callback:function(data){    	
    		sum += data;
    	}
    	});
    	DWREngine.setAsync(true);     	
    }
    if(document.getElementById("productNumWrap")){
    	if(getnum(sum)==0) {
   		 	document.getElementById("productNumWrap").innerHTML = '<a href="/front/cart/show.jsp">'+$('shopping.cart_01').value+' <font color="#C80000">'+sum+'</font> '+$('shopping.cart_02').value+'</a>';
   		 }
   		 else {
   		 	document.getElementById("productNumWrap").innerHTML = '<a href="/front/cart/show.jsp">'+$('shopping.cart_01').value+' <font color="#C80000">'+sum+'</font> '+$('shopping.cart_02').value+'</a>';
   		 }
    }
    getCartProductPrice();
}
function getCartProductPrice()
{
	var o = GetProduct('history'+userId);
	var totalPrice = 0;
	for(var i=0;i<o.length;i++)
    {
        totalPrice += ForDight(o[i][5]*o[i][3],2);
    }
   o = GetProduct('bindproducts'+userId);
   for(var i=0;i<o.length;i++)
    {
        totalPrice += ForDight(o[i][5]*o[i][3],2);
    }
   o = GetProduct('historyAppend'+userId);
   for(var i=0;i<o.length;i++){
   		totalPrice += ForDight(o[i][5]*o[i][3],2);
   }
    if(document.getElementById("totalPriceWrap")){
    	document.getElementById("totalPriceWrap").innerHTML = '<a href="/front/cart/show.jsp">'+$('shopping.cart_03').value+'<font color="#C80000">'+format(totalPrice,'#.00')+'</font> '+$('shopping.cart_04').value+'</a>';
    }
}
//显示购物车产品信息
function Show(v)
{
	var o1 = GetProduct('history'+userId);
	var o2 = GetProduct('bindproducts'+userId);
	var o3 = GetProduct('historyAppend'+userId);
	
	getCartProductNum();
	if(v==0)
	{
		ShowCart(o1,o2,o3);
	}
	
}
String.prototype.replaceAll = stringReplaceAll;
function stringReplaceAll(oldStr,reStr){
    return this.split(oldStr).join(reStr);
}


function ShowCart(o1,o2,o3){
    var str1='';
    var sum = 0.0;
    var str2 = '';
    var str = '';
    var str3='';
    str = '<TABLE   cellSpacing=0 cellPadding=0 width="100%"  border=0>';
       
     if(o1.length>0)
  	str1 = '<tr class="cart_title"><td colspan="8">购买的商品</td></tr><tr class="cart_label"><td colspan="2">名称</td><td>积分</td><td>单价</td><td>优惠价</td><td>数量</td><td>小计</td><td>删除</td></tr>';    
    for(var i=0;i<o1.length;i++)
    {    
     
       str1 += '<tr class="cart_value"><td colspan="2"><img onerror="setDefaultImg(this);" src="'+dataPath+o1[i][4]+'" width="60" height="48"/>'+o1[i][1]+'</td><td>'+o1[i][6]+'</td><td>'+format(o1[i][2],'#.00')+'</td><td>'+format(o1[i][5],'#.00')+'</td><td>'+o1[i][3]+'</td><td>'+format(ForDight(o1[i][5]*o1[i][3],2),'#.00')+'</td><td><a href="javascript:DeleteProduct(\''+o1[i][0]+'\',\'history'+userId+'\');void(0);">删除</a></td></tr>';
       sum += o1[i][5]*o1[i][3];
    }
    
     if(o2.length>0)
    str2 = '<tr class="cart_title"><td colspan="8">捆绑销售的商品</td></tr><tr class="cart_label"><td colspan="2">捆绑名称</td><td>销售价格</td><td>优惠价格</td><td>数量</td><td>小计</td><td>删除</td></tr>';
    for(var j=0;j<o2.length;j++)
    {        
        str2 += '<tr><td colspan="2">'+o2[j][1]+'</td><td>'+format(o2[j][2],'#.00')+'</td><td>'+format(o2[j][4],'#.00')+'</td><td>'+o2[j][3]+'</td><td>'+format(ForDight(o2[j][4]*o2[j][3],2),'#.00')+'</td><td><a href="javascript:DeleteProduct(\''+o2[j][0]+'\',\'bindproducts'+userId+'\');void(0);">删除</a></td></tr>';
        sum += o2[j][4]*o2[j][3];
    }
    if(o3.length>0)
    	str3 = '<tr class="cart_title"><td colspan="8">附加信息的商品</td></tr>';
    for(var i=0;i<o3.length;i++){
    	var labels=o3[i][8];
    	var values=o3[i][9];
    	var labelArray=new Array();
    	DWREngine.setAsync(false);
		cartImpl.getAppendProductLabel(userId,langId,o3[i][0],labels,{
			callback:function(data){
				 labelArray=data;
			}
		});
		DWREngine.setAsync(true);
    	var appendLabelStr='<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0><tr>';
    	var appendNameStr='<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0><tr>';
    	var appendLabel='';
    	var appendName='';
    	for(var j=0;j<labels.length;j++){
    		appendLabel+='<td style="width:40px;color:#F60000;font-size:13px;">'+labelArray[j]+'</td>';
    		appendName+='<td style="width:40px;font-size:13px;color:#1F336B;">'+values[j]+'</td>';
    	}
    	if(appendLabel==''){
    		appendLabel='<td>&nbsp;</td>'
    	}
    	if(appendName==''){
    		appendName='<td>&nbsp;</td>'
    	}
    	appendLabelStr+=appendLabel+'</tr></table>';
    	appendNameStr+=appendName+'</tr></table>';
    	str3 += '<tr class="cart_label"><td>名称</td><td>'+appendLabelStr+'</td><td>积分</td><td>单价</td><td>优惠价</td><td>数量</td><td>小计</td><td>删除</td></tr>';
    	str3 += '<tr class="cart_value"><td><img onerror="setDefaultImg(this);" src="'+dataPath+o3[i][4]+'" width="60" height="48"/>'+o3[i][1]+'</td><td>'+appendNameStr+'</td><td>'+o3[i][6]+'</td><td>'+format(o3[i][2],'#.00')+'</td><td>'+format(o3[i][5],'#.00')+'</td><td>'+o3[i][3]+'</td><td>'+format(ForDight(o3[i][5]*o3[i][3],2),'#.00')+'</td><td><a href="javascript:DeleteProduct(\''+o3[i][0]+'\',\'historyAppend'+userId+'\');void(0);">删除</a></td></tr>';
    	sum += o3[i][5]*o3[i][3];
    }
    if(str1==''&&str2==''&&str3=='')
    {
    	str += '<tr class="cart_value"><td colspan="8" align="center"><font color="red">'+$('cart.show_18').value+'<a href="/">'+$('cart.show_19').value+'</a></font></td></tr></table>';
    }
    str = str+ str1+str3;
    str += '<tr><td colspan="8"><hr width=100% size=3 color=#DBDBDB /></td></tr>';
    if(o1.length>0||o2.length>0||o3.length>0){   
   		str += '<tr><td colspan="8" align="right">总价：￥'+format(ForDight(sum,2),'#.00')+'元</tr>';
     	str += '<tr><td colspan="4" align="left"><input type="button" class="continueShoppingButton" value="继续购物" onClick="javascript:location.href=\''+continueShoppingUrl+'\';" />&nbsp;&nbsp;<input type="button" class="clearCartButton" value="清空购物车" onClick="javascript:ClearCookie();" /></td><td colspan="4" align="right"><input type="button" class="paymentButton" value="结算中心" onClick="javascript:location.href=\'/front/cart/payment.jsp?dt='+Math.random()+'\';" /></td></tr>';
     	str += '<tr><td colspan="8"><hr width=100% size=3 color=#DBDBDB /></td></tr></table>';
    }   
    if($('car')){
    	 $('car').innerHTML = str;    	
    }
    return str;
}
//增加捆绑销售产品点击添加
function addBind(id,name,price,discountprice,weight)
{	
	addBindCookie(id,name,price,discountprice,weight,1);
	window.open("/front/cart/show.jsp");
			
}
//添加捆绑销售产品信息修改数量
function AddBindProduct2(id,name,price,discountprice,weight)
{
	addBindCookie(id,name,price,discountprice,weight,0);		
}
//保存捆绑销售到cookie
function addBindCookie(id,name,price,discountprice,weight,isAdd)
{	
      if(!CookieEnable()) 
      { 
        alert("对不起，您的浏览器的Cookie功能被禁用，请开启"); 
      } 
     var count = 1;
    if(isAdd==0) {
    	if(document.getElementById("bindproductNum"+id)) {
    		count = parseInt(document.getElementById("bindproductNum"+id).value);//parseInt(prompt('请输入购买数量，只能输入正整数：','1'));
    	}
    }    
    var obj = GetProduct('bindproducts'+userId);  
    for (var i=0;i<obj.length;i++)
   	
        if (id==obj[i][0])
        {
	        if(isAdd==0){
	        	obj[i][3]=count;
	        	if(count==0)
	        	{
	        		DeleteProduct(id,'bindproducts'+userId);
	        	}
	        }else{
	       		
	       		obj[i][3]=parseInt(obj[i][3])+count;
	        }
	        break;
        }
    	if (i==obj.length)
        obj.push([id,name,price,count,discountprice,weight]);
    
   
    var d = new Date();
    d.setYear(d.getYear()+1);
   	var  host = window.location.host;//获取域名	
    SetCookie('bindproducts'+userId, obj.toJSON(), d, host);
    Show(check);
}

//显示购物车产品信息
function showCartWrap()
{
	var o = GetProduct('history'+userId);	
	var o2 = GetProduct('bindproducts'+userId);	
	return ShowCartInfo(o,o2);
	
}
//组合产品信息
function ShowCartInfo(o,o2){	
	
    var str1='';
    var sum = 0.0;
    var str2 = '';
    var str = '';
    str = '<TABLE   cellSpacing=0 cellPadding=0 width="100%" bgColor=#E7E7E7 border=0>'
    if(o.length>0)
    {
    	str1 += '<tr><td style="FONT-SIZE: 12px;COLOR: #1f336b;">名称</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">积分</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">单价</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">优惠价</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">数量</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">小计</td></tr>';
    }
    for(var i=0;i<o.length;i++)
    {
       	str1 += '<tr><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+o[i][1]+'</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+o[i][6]+'</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+o[i][2]+'</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+o[i][5]+'</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+o[i][3]+' </td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+ForDight(o[i][5]*o[i][3],2)+'</td></tr>';
        sum += o[i][5]*o[i][3];
    }
    if(o.length>0) str1 += '<tr><td colspan="7"><hr width=100% size=3 color=#F60; style="FILTER: alpha(opacity=100,finishopacity=0,style=3)"/></td></tr>';
    if(o2.length>0)
    {
    	str2 += '<tr><td style="FONT-SIZE: 12px;COLOR: #1f336b;">捆绑名称</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">销售价格</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">优惠价格</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">数量</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">小计</td></tr>';
    }
    for(var j=0;j<o2.length;j++)
    {
       	str2 += '<tr><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+o2[j][1]+'</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+o2[j][2]+'</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+o2[j][4]+'</td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+o2[j][3]+' </td><td style="FONT-SIZE: 12px;COLOR: #1f336b;">'+ForDight(o2[j][4]*o2[j][3],2)+'</td></tr>';
        sum += o2[j][4]*o2[j][3];
    } 
    str = str+ str1+str2;   
    if(o.length>0||o2.length>0){   
   		 str += '<tr><td style="FONT-SIZE: 12px;COLOR: #1f336b;" colspan="5" align="right">总价：￥<font color="red">'+ForDight(sum,2)+'</font>元，</tr>';
    }
   
    return str;
}
function ForDight(Dight,How) 
{ 
	Dight = Math.round (Dight*Math.pow(10,How))/Math.pow(10,How); 
	return Dight; 
}

//获取产品优惠方式
function getProductPreferential(productId)
{
	
	
	var ordersAmount = '0';	
	preferentialImpl.getPreferentialType( userId,ordersAmount ,productId,{
		callback:function(data){						
	 	setProductPrice(data);		 		 	 	
		}
	 });	
	
}
//赋值产品优惠价格折扣及产品翻倍积分

function setProductPrice(data)
{

	cut=1;
	copy=1;
	if(data!=null) {
	 	for(var i=0;i<data.length;i++)
		{		
		  if(data[i].preferentialActivityType=='2')
		  {
		  	cut = cut>data[i].preferentialActivityTypeext?data[i].preferentialActivityTypeext:cut;	  	
		  	
		  }
		  else if(data[i].preferentialActivityType=='5')
		  {
		  	copy = copy<data[i].preferentialActivityTypeext?data[i].preferentialActivityTypeext:copy;	  
		  
		  }		  
		}
	}
	
}

var format = function (number, form) {
   	var forms = form.split('.'), number = '' + number, numbers = number.split('.'), leftnumber = numbers[0].split(''), exec = function (lastMatch) {
           if (lastMatch == '0' || lastMatch == '#') {
               if (leftnumber.length) {
                   return leftnumber.pop();
               } else if (lastMatch == '0') {
                   return lastMatch;
               } else {
                   return '';
               }
           } else {
               return lastMatch;
           }
   }, string 
   string = forms[0].split('').reverse().join('').replace(/./g, exec).split('').reverse().join('');
   string = leftnumber.join('') + string;
   if (forms[1] && forms[1].length) {
       leftnumber = (numbers[1] && numbers[1].length) ? numbers[1].split('').reverse() : [];
       string += '.' + forms[1].replace(/./g, exec);
   }
   	return string.replace(/\.$/, '');
};