function TSFProduct(id,name,price,quantity){this.id=id;this.name=name;this.price=price;this.quantity=quantity;this.basket_tr=null;this.count_td=null;}
var disBuy,basketBox,basketTable,basketPrice;TSF.basket={basketProduct:[],add:function(pid,name,price,quantity,notsave)
{var pobj,count;count=this.getCountProduct(pid);if(quantity<=1&&count>0){$$(this.getBuyButton(pid)).setHTML(disBuy);return;}else if(quantity>1&&count>0){if(quantity<this.getProducts(pid).length+1){$$(this.getBuyButton(pid)).setHTML(disBuy);return;}}else if(quantity<1&&count<0){$$(this.getBuyButton(pid)).setHTML(disBuy);return;}
this.basketProduct.push(new TSFProduct(pid,name,price,quantity));productCountRemove='<a href="javascript:void(0);" onclick="TSF.basket.deleteCount('+pid+');">'+'<img src="'+themeUrl+'images/icon/delete.png" align="absmiddle" /></a>';productCountadd='<a href="javascript:void(0);" onclick="TSF.basket.add('+pid+',\''+name+'\','+price+','+quantity+');">'+'<img src="'+themeUrl+'images/icon/add.png" align="absmiddle" /></a>';if(count>0){var f=this.getProducts(pid)[0];f.count_td.innerHTML=((f.count_td.innerHTML).toInt()+1);}else{var tbl,td,tr
pobj=this.basketProduct.getLast();tbl=basketTable,td,tr;tr=tbl.insertRow(tbl.rows.length);pobj.basket_tr=tr;td=tr.insertCell(tr.cells.length);td.noWrap='nowrap';td.title=name;td.innerHTML='<div style="overflow: hidden; width: 80px;">'+name+'</div>';td=tr.insertCell(tr.cells.length);td.innerHTML=this.getCountProduct(pid);pobj.count_td=td;td=tr.insertCell(tr.cells.length);td.innerHTML=productCountadd+productCountRemove;pobj.countaction_td=td;td=tr.insertCell(tr.cells.length);td.innerHTML='<a href="javascript:void(0);" onclick="TSF.basket.remove('+pid+');">'+'<img src="'+themeUrl+'images/icon/remove.png" /></a>';}
this.setBasketPrice();basketBox.setStyle('display','block');if(!notsave)this.saveBasket();count=this.getCountProduct(pid);if(quantity==count){$$(this.getBuyButton(pid)).setHTML(disBuy);return;}},deleteCount:function(id){var f=this.getProducts(id)[0];if((f.count_td.innerHTML).toInt()>1)
{f.count_td.innerHTML=((f.count_td.innerHTML).toInt()-1);for(var i=0;i<this.basketProduct.length;i++){if(this.basketProduct[i].id==id&&!this.basketProduct[i].count_td){this.basketProduct.remove(this.basketProduct[i]);break;}}
this.setBasketPrice();this.saveBasket();this.createAddLink(f);}},getCountProduct:function(id){var c=0;for(var i=0;i<this.basketProduct.length;i++){if(this.basketProduct[i].id==id)c++;}
return c;},getProducts:function(id){var p=[];for(var i=0;i<this.basketProduct.length;i++){if(this.basketProduct[i].id==id)p.push(this.basketProduct[i]);}
return p;},setBasketPrice:function(){var price=0;for(var i=0;i<this.basketProduct.length;i++){price+=this.basketProduct[i].price;}
basketPrice.innerHTML=price;},remove:function(pid){var tr,pr;pr=this.getProducts(pid)[0];tr=pr.basket_tr;this.basketProduct=this.basketProduct.filter(function(p){return p.id!=pid;});this.setBasketPrice();$(tr).remove();if(!this.basketProduct.length){basketBox.setStyle('display','none');}
this.saveBasket();this.createAddLink(pr);},removeAll:function(){var pids=[],tr,p;for(var i=0;i<this.basketProduct.length;i++){p=this.basketProduct[i];if(!pids.contains(p.id))
{$(p.basket_tr).remove();pids.include(p.id);this.createAddLink(p);}}
this.basketProduct=[];this.setBasketPrice();if(!this.basketProduct.length){basketBox.setStyle('display','none');}
this.saveBasket();},saveBasket:function(){var data=['action=save'],self=this;this.basketProduct.each(function(p){data.push('p[]='+p.id);});TSF.post(basketUrl,data.join('&'),function(r,success){if(!success)self.saveBasket();});},createAddLink:function(p){$$(this.getBuyButton(p.id)).setHTML('<a href="javascript:void(0)" onclick="TSF.basket.add('+p.id+', \''+p.name+'\', '+p.price+', '+p.quantity+')">'+'<img src="'+themeUrl+'images/go2basket.gif" border=0 /></a>');},getBuyButton:function(id,elm){var f=function(b){return b.hasClass('i-'+id);};if(elm){return $(elm).getElements('div.product-buy').filter(f);}else{return $$('div.product-buy').filter(f);}}};function cheskBuyButton(e){setTimeout(function(){var ch=[];for(var i=0;i<TSF.basket.basketProduct.length;i++){var p=TSF.basket.basketProduct[i];if(ch.contains(p.id))continue;var c=TSF.basket.getCountProduct(p.id);if(p.quantity<=c){$$(TSF.basket.getBuyButton(p.id,e)).setHTML(disBuy);}
ch.push(p.id);}},200);}
window.addEvent('domready',function(){basketBox=$$('div.basket')[0];basketTable=basketBox.getElements('.box-content table')[0];basketPrice=basketBox.getElements('.box-content .basket-price')[0];disBuy='<a><img src="'+themeUrl+'images/go2basket-n.gif" /></a>';});