﻿if(typeof Soda == "undefined") Soda={};
if(typeof Soda.Scripts == "undefined") Soda.Scripts={};
if(typeof Soda.Scripts.Modules == "undefined") Soda.Scripts.Modules={};
if(typeof Soda.Scripts.Modules.Shop2 == "undefined") Soda.Scripts.Modules.Shop2={};
Soda.Scripts.Modules.Shop2.listProducts_class = function() {};
Object.extend(Soda.Scripts.Modules.Shop2.listProducts_class.prototype, Object.extend(new AjaxPro.AjaxClass(), {
	AddItemToCart: function(shopID, qty) {
		return this.invoke("AddItemToCart", {"shopID":shopID, "qty":qty}, this.AddItemToCart.getArguments().slice(2));
	},
	AddItem_: function(shopID, qty) {
		return this.invoke("AddItem_", {"shopID":shopID, "qty":qty}, this.AddItem_.getArguments().slice(2));
	},
	AddItem: function(shopID, qty, navID) {
		return this.invoke("AddItem", {"shopID":shopID, "qty":qty, "navID":navID}, this.AddItem.getArguments().slice(3));
	},
	AddItemProps_: function(shopID, qty, props) {
		return this.invoke("AddItemProps_", {"shopID":shopID, "qty":qty, "props":props}, this.AddItemProps_.getArguments().slice(3));
	},
	AddItemProps: function(shopID, qty, props, navID) {
		return this.invoke("AddItemProps", {"shopID":shopID, "qty":qty, "props":props, "navID":navID}, this.AddItemProps.getArguments().slice(4));
	},
	AddItemDefaultProps_: function(shopID, qty) {
		return this.invoke("AddItemDefaultProps_", {"shopID":shopID, "qty":qty}, this.AddItemDefaultProps_.getArguments().slice(2));
	},
	AddItemDefaultProps: function(shopID, qty, navID) {
		return this.invoke("AddItemDefaultProps", {"shopID":shopID, "qty":qty, "navID":navID}, this.AddItemDefaultProps.getArguments().slice(3));
	},
	GetTxtCart: function() {
		return this.invoke("GetTxtCart", {}, this.GetTxtCart.getArguments().slice(0));
	},
	GetContent: function(idnav) {
		return this.invoke("GetContent", {"idnav":idnav}, this.GetContent.getArguments().slice(1));
	},
	UpdateItem: function(productID, newQty) {
		return this.invoke("UpdateItem", {"productID":productID, "newQty":newQty}, this.UpdateItem.getArguments().slice(2));
	},
	UpdateItems: function(ids, vals,navID) {
		return this.invoke("UpdateItems", {"ids":ids, "vals":vals, "navID":navID}, this.UpdateItems.getArguments().slice(3));
	},
	RemoveItem: function(productID) {
		return this.invoke("RemoveItem", {"productID":productID}, this.RemoveItem.getArguments().slice(1));
	},
	RemoveItemEx: function(productID) {
		return this.invoke("RemoveItemEx", {"productID":productID}, this.RemoveItemEx.getArguments().slice(1));
	},
	GetCart: function(id) {
		return this.invoke("GetCart", {"id":id}, this.GetCart.getArguments().slice(1));
	},
	url: '/ajaxpro/Soda.Scripts.Modules.Shop2.listProducts,Site.ashx'
}));
Soda.Scripts.Modules.Shop2.listProducts = new Soda.Scripts.Modules.Shop2.listProducts_class();

if(typeof(T_INVALID_QTY)=="undefined")
T_INVALID_QTY="Quantité invalide";

if(typeof(T_CART_LOADING)=="undefined")
T_CART_LOADING="Chargement...";

function LoadCart(navID) 
{  
document.getElementById("basketBox").innerHTML="<h4>"+T_CART_LOADING+"</h4>";
 Soda.Scripts.Modules.Shop2.listProducts.GetCart(navID,LoadCart_cb); 
} 
 
function LoadCart_cb(r) 
{  
 var rr=r.value; 
 if(document.getElementById("basketBox")!=null) { 
	document.getElementById("basketBox").innerHTML=rr;
 } 
} 

function AddItem(sender,sku,navID)
{
var qty=CTI(document.getElementById(sender).value);
if(qty>0) {
var pnl=document.getElementById("pnlProperties");
var props_title="";
if(pnl!=null) {
	var p=pnl.getElementsByTagName("select");
	for(var j=p.length;j>-1;j--) {
		var i=p.length-j;
		if(p[i]!=null) {
		if(p[i].id.indexOf("property")==0) {
			if(props_title.length>0)
				props_title=props_title.concat(",");
			props_title=props_title.concat(p[i].options[p[i].selectedIndex].value);
		}
		}
	}
	if(props_title.length>0)
		props_title="(".concat(props_title,")");
}

Soda.Scripts.Modules.Shop2.listProducts.AddItemProps(sku,qty,props_title,navID, LoadCart_cb); 
}
else {
	alert(T_INVALID_QTY);
}
}

function AddItemDefault(sku,navID)
{
document.getElementById("basketBox").innerHTML+="<h4>"+T_CART_LOADING+"</h4>";
Soda.Scripts.Modules.Shop2.listProducts.AddItemDefaultProps(sku,1,navID, LoadCart_cb); 
}

function RemoveItem(p,navID)
{ 
Soda.Scripts.Modules.Shop2.listProducts.RemoveItemEx(p); 
LoadCart(navID);
}

function CTI(i)
{
	var ret=-1;
	try {
		ret=parseInt(i);
		if(isNaN(ret))
			ret=-1;
	}
	catch(e) {
		ret=-1;
	}
	
	return ret;
}

function AddToCartKP(field,event,sku,navID)
{
 var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
 if (keyCode == 13) {
   AddItem(field,sku,navID);
LoadCart(navID);
 }
 return false;
}

function UpdateCartKP(field,event) {
 var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
 if (keyCode == 13) {
   UpdateCart(field);
 }
 return false;
}

function UpdateCart(s,navID)
{
	var bx=(s!=null&&typeof(s)!='undefined'?[s]:document.getElementById("basketBox").getElementsByTagName("input"));
	var ids=new Array();
	var qties=new Array();
	var ch=false;
	for(var i=bx.length-1;i>-1;i--) {
		var qty=CTI(bx[i].value);
		if(qty<0) {
			alert(T_INVALID_QTY);
			break;			
		}
		else {
			var lq=CTI(bx[i].getAttribute("lastqty"));
			if(lq!=qty) {
				ch=true;
				var ids_t=new Array(bx[i].getAttribute("uid"));
				ids=ids.concat(ids_t);
				var qties_t=new Array(qty.toString());
				qties=qties.concat(qties_t);
			}
		}
		
	}
	
	if(ch) {
		Soda.Scripts.Modules.Shop2.listProducts.UpdateItems(ids,qties,navID,LoadCart_cb); 
	}
}

