//参数:ProductID,Count
var SiteSetupPath="/Shop/";
var JiabooShoppingCart_Tpl=null;	//'购物车模板|>Tpl<|间隔：0：主体：0/1/2/... 商品类型不同行样式
var JiabooShoppingCart_CartDate=null;	//购物车数据
var ShoppingCart_fgt="|>Tpl<|";	//模板间隔符(如果修改此处，服务端应同步修改)
var ShoppingCart_fgtr="|&|";	//数据行间隔符
var ShoppingCart_fgtd="|$|";	//数据列间隔符
var ShoppingCart_ProductTypeIndex=3;	//商品类型位置
//数据行模板标签替换规则
var ShoppingCart_fgtrTag="{ShoppingCartID}|{SessionID}|{UserID}|{ProductType}|{ProductID}|{Title}|{BrandName}|{Model}|{Unit}|{Price}|{Count}|{ChangeTime}";
ShoppingCart_fgtrTag=ShoppingCart_fgtrTag.split('|');
var ProductHTML='';
var JSCFrameName='JiaBooShoppingCart';	//购物车框架名称
var urlSelectState = '';//状态 0|1|0|1   0隐藏状态的Select 1是显示状态的Select

var DisplayInit=function(){
	//界面初始化
	ProductHTML=JiabooShoppingCart_CartDateTplReplace(JiabooShoppingCart_Tpl,JiabooShoppingCart_CartDate);
	document.getElementById(JSCFrameName).innerHTML=JiabooShoppingCart_Tpl[0].replace('{ShoppingCartProducts}',ProductHTML);	//载入购物车主体
	//行事件初始化
	var Cart_MoveBar=document.getElementById('JiaBooShoppingCart_btop_MoveBar');
	var objJiaBooShoppingCart_BT1=document.getElementById('JiaBooShoppingCart_BT1');
	Cart_MoveBar.onmouseover=function(){Cart_MoveBar.style.cursor="move";};
	Cart_MoveBar.onmousedown=JiabooShoppintCart_btop_MoveBar_mousedown;
	window.onscroll=JiaBooShoppingCart_AutoMovint;//滚动跟随
	objJiaBooShoppingCart_BT1.onclick=JiabooShoppintCart_close;//关闭
	document.getElementById('Bt_reFlush').href='javascript:JiaBooShoppingCart_reFlush()';
	// 统计金额 / 行初始化
	JiaBooShoppingCart_PriceStat();
};

function JiaBooShoppingCart_PriceStat(){
	//为每行功能元素赋予事件方法
	var JSCCountX=getElementsByName_iefix('input','JSCCount');
	for(var i=0;i<JSCCountX.length;i++)JSCCountX[i].onchange=JiaBooShoppingCart_Change;
	var JSCDelX=getElementsByName_iefix('span','JSCDel');
	for(var i=0;i<JSCDelX.length;i++)JSCDelX[i].onclick=JiaBooShoppingCart_Delete;
	
	//金额统计
	var TotalPrice=0;
	var JSCsPriceStatX=getElementsByName_iefix('span','JSCsPriceStat');
	for(var i=0;i<JSCsPriceStatX.length;i++){
		
		sPriceStat=Number(JiaBooShoppingCart_getLineAttribute(JSCsPriceStatX[i],'price'))*Number(JiaBooShoppingCart_getLineAttribute(JSCsPriceStatX[i],'count'));
		TotalPrice+=sPriceStat;
		JSCsPriceStatX[i].innerHTML=ForDight(sPriceStat,2);
//		JSCsPriceStatX[i].innerHTML=;
	}
	document.getElementById('JiabooShoppingCart_TotalPrice').innerHTML=ForDight(TotalPrice,2);
	document.getElementById('JiabooShoppingCart_TotalTypeCount').innerHTML=i;
}

function JiaBooShoppingCart_Add(ProductID,Count){
	var Count=Count!=undefined?Count:1;
	var OthPara=arguments[2]!=null?'&ProductType='+arguments[2]:'';
//解决Ie6 Select Div问题（解决办法：ie6隐藏 Select）
var browser  = navigator.appName;
var b_version=navigator.appVersion 
var version=b_version.split(";"); 
var trim_Version=version[1].replace(/[ ]/g,""); 
if(navigator.appName=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0") 
{ 
	urlSelectState='';//每回都要置空 不然点2次 状态出错
    var sels = document.getElementsByTagName("select");
	for(i=0;i<sels.length;i++)
	{
		var sel = sels[i];
		if(sel.style.display != 'none' )
		{
			urlSelectState += "|1";
			sel.style.display = 'none';
		}else
		{
			urlSelectState += "|0";	
		}
	}
	if(urlSelectState.length!=0)
	{
		urlSelectState = urlSelectState.substring(1);
	}
}
	var url=SiteSetupPath+"JiabooShoppingCart.asp?action=AddRequest&ProductID="+ProductID+"&Count="+Count+OthPara+"&ased="+Math.random();
//	document.write(url);
	$.get(url,function(html){
		JiaBooShoppingCart_DisplayFrame();
		JiabooShoppingCart_CartDate=trimVBcrlf(html+ShoppingCart_fgtr+JiabooShoppingCart_CartDate,ShoppingCart_fgtr);
		DisplayInit();
	});
	
}

//参数:ProductID,Count
function JiaBooShoppingCart_Change(e){
	var e=window.event?window.event:e,JiabooShopCart_ID,obj;
	obj=e.srcElement?e.srcElement:e.target;//得到对象
	if(obj==null){alert('对不起，本程序暂不支持非IE浏览器');return false;}
	JiabooShopCart_ID=JiaBooShoppingCart_getLineAttribute(obj,'ShoppingCartID');
	JiabooShopCart_Count=Number(obj.value);
	//判断数量是否为0
	if(JiabooShopCart_Count<=0){
		if(confirm('您要从购物车中移除该商品吗？')){
			JiaBooShoppingCart_Delete(e,0);
		}else{
			obj.value=obj.getAttribute('srcValue');
			return false;
		}
	}
	var url=SiteSetupPath+"JiabooShoppingCart.asp?action=Change&ID="+JiabooShopCart_ID+"&Count="+JiabooShopCart_Count+"&ased="+Math.random();
//	document.write(url);
	$.get(url,function(){
		obj.setAttribute('srcValue',JiabooShopCart_Count);
		JiaBooShoppingCart_ChangeLine('{Count}',JiabooShopCart_ID,JiabooShopCart_Count);
		DisplayInit();
	});
	
}

function JiaBooShoppingCart_Delete(e){
	if(arguments[1]!=0){
		if(!confirm('您确定要从购物车中移除该商品吗？'))return false;
	}
	var e=window.event?window.event:e,JiabooShopCart_ID,obj;
	var obj=e.srcElement?e.srcElement:e.target;//得到对象
	JiabooShopCart_ID=JiaBooShoppingCart_getLineAttribute(obj,'ShoppingCartID');
	var url=SiteSetupPath+"JiabooShoppingCart.asp?action=Delete&ID="+JiabooShopCart_ID+"&ased="+Math.random();
//	document.write(url);
	$.get(url,function(){
		JiaBooShoppingCart_ChangeLine('del',JiabooShopCart_ID);
		DisplayInit();
	});
}

function JiaBooShoppingCart_getLineAttribute(obj,AttName){
	var obj,AttName;
	while(obj.nodeName.toLowerCase()!='tr'){
		obj=obj.parentNode;
	}
	return obj.getAttribute(AttName.toLowerCase());
}

//数据行操作
function JiaBooShoppingCart_ChangeLine(act,DelSCID){
	var ValTrs,ValTds,Tmp='',TmpTr='',DelSCID,act;
	ValTrs=JiabooShoppingCart_CartDate.split(ShoppingCart_fgtr);
	for(var i=0;i<ValTrs.length;i++){
		ValTds=ValTrs[i].split(ShoppingCart_fgtd);
		if(act=='del'){
			if(ValTds[0]!=DelSCID){Tmp+=ValTrs[i]+ShoppingCart_fgtr;}
		}else{//按标签替换
			if(ValTds[0]==DelSCID){
				for(var n=0;n<ShoppingCart_fgtrTag.length;n++){
					if(ShoppingCart_fgtrTag[n]==act){
						TmpTr+=arguments[2]+ShoppingCart_fgtd;
					}else{
						TmpTr+=ValTds[n]+ShoppingCart_fgtd;
					}
				}
				Tmp+=trimVBcrlf(TmpTr,ShoppingCart_fgtd)+ShoppingCart_fgtr;
				TmpTr='';
			}else{
				Tmp+=ValTrs[i]+ShoppingCart_fgtr;
			}
		}
	}
	JiabooShoppingCart_CartDate=trimVBcrlf(Tmp,ShoppingCart_fgtr);
}

//购物车显示
function JiaBooShoppingCart_Display(){
	JiaBooShoppingCart_DisplayFrame();
}

function JiaBooShoppingCart_DisplayFrame(){
	var Is=false;//购物车是否已处理显示状态
	//判断购物车DIV是否已被创建
	var TempX=((document.documentElement.clientWidth)/2-300+document.documentElement.scrollLeft);//居中坐标计算
	var TempY=((document.documentElement.clientHeight)/2-250+document.documentElement.scrollTop);
	if(TempY<0)TempY=0;
	if(document.getElementById(JSCFrameName)==null){
		Is=true;
		var JShoppingBody=document.createElement("div");
		JShoppingBody.setAttribute("id","JiaBooShoppingCart");
		JShoppingBody.className='JiaBooShoppingCart';
//		JShoppingBody.innerHTML='<div style="margin-top:150px;margin-bottom:150px;" id="JiaBooShoppingLoading" align=center><img src="images/loading.gif" align="absmiddle"/> 购物车载入中 , 请稍候...</div>';
		document.body.appendChild(JShoppingBody);
		JiaBooShoppingCart_reFlush();
	}else{
		var JShoppingBody=document.getElementById(JSCFrameName);
		if(JShoppingBody.style.display!=''){JShoppingBody.style.display='';Is=true;}
	}
	if(Is==true){
		JShoppingBody.style.left=TempX+'px';
		JShoppingBody.style.top=TempY+'px';
		JShoppingBody.setAttribute('sScrollX',TempX-document.documentElement.scrollLeft);//暂存起始位置(浏览器左上角为0,0)
		JShoppingBody.setAttribute('sScrollY',TempY-document.documentElement.scrollTop);
	}
}

//刷新购物车(重新载入数据，购物车主体入口)
function JiaBooShoppingCart_reFlush(initFunction){
	var initFunction;
	if(initFunction!=null)DisplayInit=initFunction;
//	document.getElementById('JiaBooShoppingCart').innerHTML='<div style="margin-top:150px;margin-bottom:150px;" id="JiaBooShoppingLoading" align=center><img src="'+SiteSetupPath+'images/loading.gif" align="absmiddle"/> 购物车载入中 , 请稍候...</div>';
	if(JiabooShoppingCart_Tpl!=null){//判断模板是否已经载入
		//模板已载入，直接加载购物车数据
		var url=SiteSetupPath+'JiabooShoppingCart.asp?action=getShoppingCartData&ProductID=All&ased='+Math.random();
		$.get(url,function(html){
			var html;
			JiabooShoppingCart_CartDate=html;	//得到购物车数据
			DisplayInit();
		});	//购物车装入数据 初始化

	}else{
		var url=SiteSetupPath+"JiabooShoppingCart.asp?action=getJiabooShoppingCartTpl";
		$.get(url,function(html){	//购物车主体
			var html;
			JiabooShoppingCart_Tpl=html.split(ShoppingCart_fgt);	//装入模板，按间隔符切成数组
			//购物车数据
			var url=SiteSetupPath+'JiabooShoppingCart.asp?action=getShoppingCartData&ProductID=All&ased='+Math.random();
			$.get(url,function(html){
				var html;
				JiabooShoppingCart_CartDate=html;	//得到购物车数据
				DisplayInit();
			});	//购物车装入数据 初始化
		});
	}
}

//全部行模板行替换，模板：切分为数组传入，值：数据行字串(不切分,整体传入)
function JiabooShoppingCart_CartDateTplReplace(Tpl,Val){	
	var Tpl,Val,ValTrs,ValTds,HTML='',Tmp;
	if(Val=='')return '<tr><td colspan="5" align="center" height="200">您的购物车还是空的，马上进入 <a href="/shop/" style="color:red;font-weight:bold">[家居建材城]</a> 采购吧！</td></tr>';
	ValTrs=Val.split(ShoppingCart_fgtr);
	for(var i=0;i<ValTrs.length;i++){
		ValTds=ValTrs[i].split(ShoppingCart_fgtd);
		Tmp=Tpl[Number(ValTds[ShoppingCart_ProductTypeIndex])+1];	//返回数据格式中：[3]：商品类型
		for(var n=0;n<ShoppingCart_fgtrTag.length;n++){
			var re=new RegExp(ShoppingCart_fgtrTag[n],"g");
			if(ShoppingCart_fgtrTag[n]=='{Price}'){	//货币格式化显示
				Tmp=Tmp.replace(re,ForDight(ValTds[n],2));
			}else{
				Tmp=Tmp.replace(re,ValTds[n]);
			}
		}
		HTML+=Tmp;
	}
	return HTML;
}


function JiabooShoppintCart_close(){
	setSelectByState();//设置ie6 Select状态
	document.getElementById('JiaBooShoppingCart').style.display='none';
}

function JiabooShoppintCart_MiniModel(){//最小化


}

//鼠标拖动
function JiabooShoppintCart_btop_MoveBar_mousedown(e){
	var e,obj;
	var obj=document.getElementById('JiaBooShoppingCart');
	var e=window.event?window.event:e;
	obj.setAttribute('sMouseMoveX',(e.clientX-obj.offsetLeft));
	obj.setAttribute('sMouseMoveY',(e.clientY-obj.offsetTop));
	if(getBrowserType()==1)obj.setCapture();
	document.onmousemove=JiabooShoppintCart_Move;
	document.onmouseup=function(){
		document.onmousemove=null;
		document.onmouseup=null;
		if(getBrowserType()==1)obj.releaseCapture();
		obj.setAttribute('sScrollX',obj.offsetLeft-document.documentElement.scrollLeft);
		obj.setAttribute('sScrollY',obj.offsetTop-document.documentElement.scrollTop);
	}
}
//鼠标拖动
function JiabooShoppintCart_Move(e){
	var e,obj,TL,TT;
	var e=window.event?window.event:e;
	var obj=document.getElementById('JiaBooShoppingCart');
	TL=e.clientX-Number(obj.getAttribute('sMouseMoveX'));
	TT=e.clientY-Number(obj.getAttribute('sMouseMoveY'));
	with(obj.style){
		left=(TL-document.documentElement.scrollLeft<0?document.documentElement.scrollLeft:TL)+'px';
		top=(TT-document.documentElement.scrollTop<0?document.documentElement.scrollTop:TT)+'px';
	}
}
//滚动条滚动
function JiaBooShoppingCart_AutoMovint(){
	var obj=document.getElementById("JiaBooShoppingCart");
	with(obj.style){
		left=document.documentElement.scrollLeft+Number(obj.getAttribute('sScrollX'))+'px';
		top=document.documentElement.scrollTop+Number(obj.getAttribute('sScrollY'))+'px';
	}
}


//浏览器类型
function getBrowserType()
{
   if(navigator.userAgent.indexOf("MSIE")>0)return 1;
   if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)return 2;
   if(isSafari=navigator.userAgent.indexOf("Safari")>0)return 3;   
   if(isCamino=navigator.userAgent.indexOf("Camino")>0)return 4;
   if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0)return 5;
   return 0;
}

function echoerr(errinfos){
	document.getElementById('DebugInfos').innerHTML=errinfos;
}

//按照状态 显示Select  For  ie6 Select Bug
function setSelectByState()
{
	var s = urlSelectState.split('|');
	var sels = document.getElementsByTagName("select");
	for(i=0;i<sels.length;i++)
	{
		if(s[i]=="1")
		{
			var sel = sels[i];
			sel.style.display = "";
		}
	}
}