﻿/*
	拖动开始（新，带缓冲层）
*/
function divBlock_event_mousedown(e,blockID){
	clearInterval(SBS_CartListMenu);
	var e, obj, temp;
	obj=document.getElementById(blockID);
	e=window.event?window.event:e;
	obj.startX=e.clientX-obj.offsetLeft;
	obj.startY=e.clientY-obj.offsetTop;

	var d = document.createElement("div");
	d.style.position = "absolute";
	d.style.width = obj.clientWidth + 2*parseInt(obj.currentStyle.borderWidth,10) + "px";
	d.style.height = obj.clientHeight + 2*parseInt(obj.currentStyle.borderWidth,10) + "px";
	d.style.border = "1px dashed #000";
	d.style.top = obj.currentStyle.top;
	d.style.left = obj.currentStyle.left;
	d.style.zIndex = "9999";

	d.style.backgroundColor = "#ffffff";
	d.style.filter = "alpha(opacity=20)";
	d.style.opacity = 0.2;

	document.body.appendChild(d);

	document.onmousemove=function(){document_event_mousemove(obj,d)};
	document.onmouseup=function(){document_event_mouseup(obj,d)};
}
function document_event_mousemove(obj,obj2){
		obj2.style.left=window.event.clientX-obj.startX+"px";
		obj2.style.top=window.event.clientY-obj.startY+"px";
}

function document_event_mouseup(obj,obj2){
	var objL = parseInt(obj.currentStyle.left);
	var objT = parseInt(obj.currentStyle.top);
	var obj2L = parseInt(obj2.style.left);
	var obj2T = parseInt(obj2.style.top);
	
	setTimeout(function(){
		obj.style.left = objL + (obj2L-objL)*(1/5) + "px";
		obj.style.top = objT + (obj2T-objT)*(1/5) + "px";
	},20);
	setTimeout(function(){
		obj.style.left = objL + (obj2L-objL)*(2/5) + "px";
		obj.style.top = objT + (obj2T-objT)*(2/5) + "px";
	},40);
	setTimeout(function(){
		obj.style.left = objL + (obj2L-objL)*(3/5) + "px";
		obj.style.top = objT + (obj2T-objT)*(3/5) + "px";
	},60);
	setTimeout(function(){
		obj.style.left = objL + (obj2L-objL)*(4/5) + "px";
		obj.style.top = objT + (obj2T-objT)*(4/5) + "px";
	},80);
	setTimeout(function(){
		obj.style.left = obj2.style.left;
		obj.style.top = obj2.style.top;
	},100);
	var st = obj2T - document.documentElement.scrollTop;
	document.body.removeChild(obj2);
	document.onmousemove = null;
	document.onmouseup = null;
	SBS_CartListMenu = setInterval(function(){
		$("SBS_AddToCart").style.top = document.documentElement.scrollTop+st+"px";
	},100);//滚动
}

/*
	拖动结束
*/

function checkQty(){
	return !/\D/gi.test($("qty").value);
}

//添加到购物车
function SBS_AddtoCart(productID,qty,type,itemObj,selfObj,CatID,ElementID,priceid,price,menuname){  // type = deleteall | getcart | addtocart | addtocart_view | addtocart_details | delete | checkshoppingcart
	if (type=="deleteall"){
		if(!confirm("Are you delete shopping cart?"))
		return;
	};
	var url = '/Cart/addtocart.aspx';
	//type == "" ? type="getcart" : type = type;
	type = type==""?"getcart":type;
	if (type=="edit"){
		if(qty=="0"){
			if(confirm("Delete this product?")){
				setTimeout(function(){
								if(itemObj.parentNode)
								itemObj.parentNode.removeChild(itemObj);
						   },100);
				qty=0;
			}else{return}
		}
	}

	var detailpageurl = "";
	if(selfObj){
		detailpageurl = selfObj.parentNode.parentNode.getElementsByTagName("a")[0].href;
	}
	//if (detailpageurl=="" || detailpageurl.toLowercase().indexOf("javascript")!=-1 || detailpageurl.toLowercase().indexOf("void(0)")!=-1){
	//	detailpageurl = location.href;
	//}
	var paras="type="+type+"&productsid="+productID+"&qty="+qty+"&menuname="+escape(menuname)+"&priceid="+priceid+"&price="+price+"&detailpageurl="+encodeURIComponent(detailpageurl);
	
	var myAjax = new Ajax.Request(
		url,
		{
			method: 'post',
			parameters: paras,
			setRequestHeader:{"If-Modified-Since":"0"},
			onComplete: function(x){
			  
			  SBS_GetCartStatus_Response(x,type,detailpageurl,CatID,productID,ElementID,priceid,price,menuname);
						
					},
			onError:function(x){
              document.write(x.responseText)
			$("cartListMenu").innerHTML = "<p style='text-align:center'><img src='images/cartactionfailure.gif'></p>";
			
			}
		});
}
function SBS_GetCartStatus_Response(x,type,url,priceid,price,menuname){
  
	try{SBSINC_checkoutWindowHandle.location.reload();}catch(e){}
	var returnString = x.responseText;	
	if(returnString=="0"){
		try{
			$("cartActionResult").innerHTML = "<img src='images/cartactionfailure.gif'>";
		}catch(e){
		
			$("cartListMenu").innerHTML = "<p style='text-align:center'><img src='images/cartactionfailure.gif'></p>"
		}
		return;
	}
	returnString = returnString.split("#@");
	var html = new StringBuffer();

	for (i=0; i<returnString.length-1; i++){
		var k = returnString[i].split("^^");
		html.append("<li onmouseover=\"this.className='selectCartItem'\" onmouseout=\"this.className=''\"><a href='"+(url||k[4])+"'>"+k[1]+"</a><div class='CartItem'><strong>"+k[3]+"</strong><input class='productCounter' type=text value='"+k[2]+"' title='数量' onblur='' /><img src='images/shopping_cart_trans.gif' alt='修改' title='修改数量&#13;&#10;数量置 0 即删除' value='修改' onclick=SBS_AddtoCart('"+k[0]+"',this.parentNode.getElementsByTagName('input')[0].value,'edit',this.parentNode,'','','','"+k[4]+"','"+k[3]+"','"+escape(k[1])+"')><img src='images/rubish.gif' alt='删除' title='从购物车中移除该商品' onclick=SBS_AddtoCart('"+k[0]+"','0','edit',this.parentNode,'','','','"+k[4]+"','"+k[3]+"','"+escape(k[1])+"') style='margin-bottom:-1px; '></div></li>");
	}

	if (returnString[returnString.length-1].indexOf("^^")!=-1){
		var j = returnString[returnString.length-1].split("^^");
		var bar = new StringBuffer();
		bar.append("<ul>"+html.toString()+"</ul>");
		bar.append("<div class='bottombar'>")
		bar.append("<span id='cartActionResult' class='cartActionResult'></span>");
//		bar.append("<a class='moreCart' href='javascript:void(0)' onclick=SBS_CheckOut()>修改购物车</a>");
		bar.append("</div>");
		bar.append("Total: <strong>"+j[0]+"</strong><br />Quantity: <strong>"+j[1]+"</strong>");
		bar.append("<div class='cartListMenuFooter'><a class='enterCalcCenter' href='../cart/checkout.aspx?check=y'>Checkout</a><a class='deletedAll' href=javascript:void(0) onclick=SBS_AddtoCart('','','deleteall','','','','');>Empty</a></div>");
		bar.append("</div>");
		$("cartListMenu").innerHTML = bar.toString();  ///cart/checkout.aspx
	}else{
		$("cartListMenu").innerHTML = "<p style='padding:0px 4px;'>Shopping Cart is empty, please choose wanted products.</p>";
	}
	if (type!="getcart"){
		try{$("cartActionResult").innerHTML = "<img src='images/cartactionsuccess.gif'>";}catch(e){}

		setTimeout(function(){try{$("cartActionResult").innerHTML="";}catch(e){}},5000)
	}
	//alert(x.responseText)
}
function SBS_CheckOut(url){
	var sw=window.screen.width;
	var sh=window.screen.height;
	var w=sw-200;
	var h=sh;
	var x=(sw-w)/2;
	var y=0;
	var name = "shoppingcart";
	//url += "&fromURL=" + location.href.replace(/&/g,"^");
	url += "?fromURL=" + encodeURIComponent(location.href);
	url += "&" + Math.random();
	SBSINC_checkoutWindowHandle=window.open(url,name,'toolbar=0,scrollbars=1,location=0,menubar=0,resizable=1,status=0,top='+y+',left='+x+',width='+w+',height='+h );
	SBSINC_checkoutWindowHandle.focus();
}

function pinCartMenu(pinObj){
	
	if(pinObj.className == "pin"){
		pinObj.className = "pin2";
		pinObj.parentNode.onmousedown= function(){divBlock_event_mousedown(arguments[0],'SBS_AddToCart');};
		pinObj.parentNode.getElementsByTagName("a")[0].style.cursor = "move";
	}else{
		clearInterval(SBS_CartListMenu);
		initCartMenuFloat();
		pinObj.className = "pin";
		pinObj.parentNode.onmousedown = null;
		pinObj.parentNode.getElementsByTagName("a")[0].style.cursor = "";
		pinObj.parentNode.parentNode.style.left = "";
	}
	pinObj.blur();
}
var SBS_CartListMenu;
function initCartMenuFloat(){
SBS_CartListMenu = setInterval(function(){
		$("SBS_AddToCart").style.left =document.documentElement.scrollLeft+document.documentElement.clientWidth-$("SBS_AddToCart").clientWidth-10+"px";
		$("SBS_AddToCart").style.top = document.documentElement.scrollTop+document.documentElement.clientHeight/2-$("SBS_AddToCart").clientHeight/2+"px";
	},5); //垂直居中滚动
}
initCartMenuFloat();

function initCart_order()
{
   
    var paras="type=getcart";
    var url="/Cart/addtocart.aspx";	
	var myAjax = new Ajax.Request(
		url,
		{
			method: 'post',
			parameters: paras,
			setRequestHeader:{"If-Modified-Since":"0"},
			onComplete: function(x){
						
						var returnString = x.responseText;
						
	                    if(returnString=="0"){
		                    try{
			                    $("cartActionResult").innerHTML = "<img src='images/cartactionfailure.gif'>";
		                    }catch(e){
			                    $("cartListMenu").innerHTML = "<p style='text-align:center'><img src='images/cartactionfailure.gif' /></p>"
		                    }
		                    return;
	                    }
	                    returnString = returnString.split("#@");
	                    var html = new StringBuffer();

	                  for (i=0; i<returnString.length-1; i++){
		               var k = returnString[i].split("^^");
		               html.append("<li onmouseover=\"this.className='selectCartItem'\" onmouseout=\"this.className=''\"><a href='"+(url||k[4])+"'>"+k[1]+"</a><div class='CartItem'><strong>"+k[3]+"</strong><input class='productCounter' type=text value='"+k[2]+"' title='数量' onblur='' /><img src='images/shopping_cart_trans.gif' alt='修改' title='修改数量&#13;&#10;数量置 0 即删除' value='修改' onclick=SBS_AddtoCart('"+k[0]+"',this.parentNode.getElementsByTagName('input')[0].value,'edit',this.parentNode,'','','','"+k[4]+"','"+k[3]+"','"+escape(k[1])+"')><img src='images/rubish.gif' alt='删除' title='从购物车中移除该商品' onclick=SBS_AddtoCart('"+k[0]+"','0','edit',this.parentNode,'','','','"+k[4]+"','"+k[3]+"','"+escape(k[1])+"') style='margin-bottom:-1px; '></div></li>");
	   }

	                    if (returnString[returnString.length-1].indexOf("^^")!=-1){
		                    var j = returnString[returnString.length-1].split("^^");
		                    var bar = new StringBuffer();
		                    bar.append("<ul>"+html.toString()+"</ul>");
		                    bar.append("<div class='bottombar'>")
		                    bar.append("<span id='cartActionResult' class='cartActionResult'></span>");
                    //		bar.append("<a class='moreCart' href='javascript:void(0)' onclick=SBS_CheckOut()>修改购物车</a>");
		                    bar.append("</div>");
		                    bar.append("<div class='cartTotle'>");
		                    bar.append("Total: <strong>"+j[0]+"</strong><br />Quantity: <strong>"+j[1]+"</strong>");
		bar.append("<div class='cartListMenuFooter'><a class='enterCalcCenter' href='../cart/checkout.aspx?check=y'>Checkout</a><a class='deletedAll' href=javascript:void(0) onclick=SBS_AddtoCart('','','deleteall','','','','');>Empty</a></div>");
		                    bar.append("</div>");
		                    $("cartListMenu").innerHTML = bar.toString();  ///cart/checkout.aspx
	                    }else{
		                    $("cartListMenu").innerHTML = "<p style='padding:0px 4px;'>Shopping Cart is empty, please choose wanted products.</p>";
	                    }
	                    
					},
			onError:function(x){
			$("cartListMenu").innerHTML = "<p style='text-align:center'><img src='images/cartactionfailure.gif'></p>";
			document.write(x.responseText);
			}
		});
		
		setTimeout(function(){
				var pinObj = $("SBS_AddToCart").getElementsByTagName("a");
				var pinElem = null;
				for(var i=0,j; j=pinObj[i]; i++){
					if(j.className=="pin"){
						pinElem = j;
						break;
					}
				}
				if(pinElem!=null){
					pinCartMenu(pinElem);
				}
		},100);	
}
//SBS_AddtoCart('','','getcart');  //初始化购物车状态  (300326332 DetailPage ID 同下SiteElementList)
