



function addToCart(_id){
	if(!confirm("Are you surdsgdafsfade add item to cart?")){
		return false;
	}
	var c=CART;
	c.add(_id);
	c.refreshCart();
}
function cart(){
	this.st=new Array();
	this.sendingcost=0;
	this.showEmptyButton=false;
	this.modify=true;
	this.formInput=false;
	this.typeForm="NCB";
	this.initiate=function(){
		this.st=new Array();
		var total=Number(getCookie('total'));
	
		if(this.testCookie()){
			for (var i=0; i<total; i++) { 
				var _id=getCookie('name_'+i);
				var _count=Number(getCookie('count_'+i));
				var index=0;
				for(var name in storage){
					
					if(name==_id){
						index=this.indexof(_id);
						if(index==-1){//count=0 -->Deleted;
							this.st.push(new Object());
							var last=this.st.length-1;
							this.st[last]._id=_id;
							this.st[last].count=_count;
						}
					}
				}
			}		
			
		}
	}
	this.testCookie=function (){

		return true;
	}
	this.deleteAll=function(){
		setCookie('total', '0', 24);
		this.initiate();
	}
	this.deleteItem=function(){
		var _id=arguments[0];
		this.changeItem(_id,'delete');		
	}	
	this.add=function(){
		var _id=arguments[0];
		var count=arguments[1]!=null?Number(arguments[1]):1;
		for(var i=0; i<count; i++){
			this.changeItem(_id,'add');
		}
	}
	this.substract=function(){
		var _id=arguments[0];
		this.changeItem(_id,'substract');
	}	
	
	this.changeItem=function(){
		var _id=arguments[0];
		var action=arguments[1];
		var index=0;
		for(var name in storage){
			if(name==_id){
				index=this.indexof(_id);
				if(index==-1){
					this.st.push(new Object());
					var last=this.st.length-1;
					this.st[last]._id=_id;
					this.st[last].count=1;
					setCookie('name_'+last, _id, 24);
					setCookie('count_'+last, this.st[last].count, 24);
					setCookie('total', this.st.length, 24);
				}else{
					if(action=="delete"){
						this.st[index].count=0;
					}
					if(action=="add"){
						this.st[index].count++;
					}
					if(action=="substract"){
						if(this.st[index].count>1){
							this.st[index].count--;
						}
					}					
					setCookie('count_'+index, this.st[index].count, 24);
				}
			}
		}
	}


	this.discountIT=function (){
		for (var i=0; i<this.st.length; i++) {
			if(this.st[i].count>0&&storage[this.st[i]._id][2]==1&&storage[this.st[i]._id][5]!=this.getTotalDItems()){
				discountITEM(this.st[i]._id,eval("'"+storage[this.st[i]._id][4]+this.getTotalDItems()+"'"),this.st[i].count);
			}
		}
	}


	this.getTotalDItems=function(){
		var ret=0;
		for (var i=0; i<this.st.length; i++) {
		if(storage[this.st[i]._id][2]==1){
			ret+=this.st[i].count;
		}
		}
if(ret>12){ret=25;}
		return ret;
	}
	
	this.getListHTML=function (){
		var showEmptyButton=arguments[0]!=null?arguments[0]:true;
		var smallCart=arguments[1]!=null?arguments[1]:false;
		var showBuyNowButton=arguments[1]!=null?arguments[1]:true;
		this.showBuyNowButton=showBuyNowButton;
		this.showEmptyButton=showEmptyButton;
		this.smallCart=smallCart;
		var s='<div id="cart_content">';
		if(this.smallCart){
			s+=this.getSmallList();
		}else{
			s+=this.getList();
		}
		s+='</div>';
		
		return s;
	}

	this.refreshCart=function(doc){
		var content=doc.getElementById('cart_content');
		if(content){
			if(this.smallCart){
				content.innerHTML=this.getSmallList();
			}else{
				content.innerHTML=this.getList();
			}
		}
	}
	this.getWeightInput=function(){
		
		var s='<input type="hidden" name="weight" id="weight" value="'+this.getTotalWeight()+'">';
		return s;
	}
	this.getAmountInput=function(){
		
		var s='<input type="hidden" name="amount" id="amount" value="'+this.getTotalPrice()+'">';
		return s;
	}
	this.getList=function (){
		var s='';
		var exists=false;
		
		if(this.st.length==0){
			s+='<p class="textos2" align="center">Cart is empty.</p>';
			return s;
		}
		var strSeparator='		<td background="images/sh_tbbg.gif" width="2"><img src="images/sh_tbseparation.gif" width="2" height="22"></td>';
		var strSeparator2='		<td>&nbsp;</td>';
		s+='<table width="98%" border="0" cellpadding="0" cellspacing="0" >';
		s+='  <tr bgcolor="#B0A98F">';
		
		s+=strSeparator;
		
		s+='    <td align="center" background="images/sh_tbbg.gif" class="txt_tb">Quantity</td>';
		
		s+=strSeparator;
		
		s+='    <td align="left" background="images/sh_tbbg.gif" class="txt_tb">Name </td>';
		
		s+=strSeparator;
		
		s+='    <td align="center" background="images/sh_tbbg.gif" class="txt_tb">Price</td>';
		if(this.modify==true){
			s+=strSeparator;
	
			s+='    <td align="center" background="images/sh_tbbg.gif" class="txt_tb">Remove this item</td>';

		}
		s+='    </tr>';
		for (var i=0; i<this.st.length; i++) { 
			//alert('Name: '+this.st[i])
			var price=Number(storage[this.st[i]._id][1])*this.st[i].count;
			price=parseelement(String(price));
			var size=Number(storage[this.st[i]._id][2])*this.st[i].count;
			var name=storage[this.st[i]._id][0];
			if(this.st[i].count>0){
				if(this.modify==true){

					plus='<img src="images/minus.jpg" style="cursor:pointer" onClick="substractCart(\''+this.st[i]._id+'\')">';
					minus='<img src="images/plus.jpg" style="cursor:pointer" onClick="addToCart2(\''+this.st[i]._id+'\')">';
					remove='<a style="cursor:pointer" href="#" onClick="deleteOfCart(\''+this.st[i]._id+'\')">[Remove]</a>';
				}else{
					plus='';
					minus='';
					remove='';					
				}
				//Row separator.
				s+=' <tr>';
        s+='   <td height="3" colspan="9"><img src="images/spacer.gif" width="1" height="1"></td>';
        s+='  </tr>			';	
               
				s+='  <tr bgcolor="#D3C7AD">';
				s+=strSeparator2;
				s+='    <td align="left" class="textos4" >';
				/* PLUS AND MINUS BUTTONS*/
				s+=' <table width="100%" border="0"><tr>';
				s+='    <td align="left" class="textos4">'+plus+'</td>';					
				s+='    <td align="center" class="textos4">'+this.st[i].count+'</td>';
				s+='	<td align="right" class="textos4">'+minus+'</td>';			
				s+=' </td></tr></table>';				
				
				s+='	</td>';
				s+=strSeparator2;
				s+='	<td><p class="textos4"> '+name+' </p></td>';
				s+=strSeparator2;
				s+='	<td align="center" class="textos4">'+price+'</td>';
				s+=strSeparator2;
				s+=' 	<td align="center" class="textos3">'+remove+'</td>';
				s+='  </tr>';
				exists=true;
			}
			
		} 		
		
		s+='</table>';
		
		s+='<table border="0" cellpadding="0" cellspacing="0"><tr><td>';
		s+='<p class="textos2"><b>Subtotal</b><br /> (Including Shipping &amp; Handling) </p>';
		s+='</td></tr><tr><td>';
		s+='<p class="textos2"><span id="label_cost">'+parseelement(this.getTotalPrice())+'</span></p><p><a href="javascript: discountME()" style="font-weight: bold; color: white; background: url(\'http://levineomoy.com/JABLUM/images/sh_tbbg.gif\') center center repeat-x; text-decoration: none; padding: 3px; font-family: \'Trebuchet MS\'; font-size: 10pt">APPLY DISCOUNTS</a>';
		s+='</td></tr></table>';
		
		if(this.showEmptyButton){
			
			s+='<p class="textos2"><img src="images/bt_empty.gif" onclick="CART.deleteAll();window.document.location.reload();" width="99" height="22" style="cursor:pointer" />';		
			s+='&nbsp;&nbsp;&nbsp;<input name="Submit" type="image" src="images/bt_proceed.gif" />';
			s+='&nbsp;&nbsp;&nbsp;<a href="coffee.php"><img src="images/bt_continue.gif" border="0"/></a></p>';
		}

		s+=this.getWeightInput();
		if(!exists){
			s='<p class="textos2" align="center">Cart is empty.</p>';
		}
		if(this.formInput){
				if(this.typeForm=="paypal"){
					s+=this.getForm();
				}
				if(this.typeForm=="NCB"){
					s+=this.getFormNCB();
				}				
			}
		if(this.showBuyNowButton){
			s+='<p class="textos2"><input type="submit" name="Submit" value="Buy now"></p>';
		}
		return s;
	}	
	this.getTotalItems=function(){
		var ret=0;
		for (var i=0; i<this.st.length; i++) { 
			ret+=this.st[i].count;
		}	
		return ret;
	}
/*
getSmallList: Show a mini-shopping cart.
*/
	this.getSmallList=function (){
	
		var s='';
		var exists=false;
		/* main table*/
		s+='<table style="margin-left:2px" border="0" cellpadding="0" cellspacing="0" bgcolor="#0B2371">';
		s+='  <tr>';
    s+='    <td><img src="images/shop_cart_rigth.jpg" width="162"></td>';
    s+='  </tr>';		
    s+='  <tr>';	
    s+='  	<td bgcolor="#EAE1C4">';	
  
		if(this.st.length==0){
			s+='<div class="textos_smallcart" align="center">Cart is empty.</div>';
			//return s;
		}else{
			s+='<p class="textos_smallcart">You have '+this.getTotalItems()+' items in your cart. </p>';
			
			s+='<table border="0" width="162" cellpadding="0" cellspacing="0" bgcolor="#D3C7AD">';

			for (var i=0; i<this.st.length; i++) { 
				var price=Number(storage[this.st[i]._id][1])*this.st[i].count;
				price=parseelement(String(price));
				var size=Number(storage[this.st[i]._id][2])*this.st[i].count;
				var name=storage[this.st[i]._id][0];
				if(this.st[i].count>0){
					s+='  <tr>';
					s+='    <td valign="top" align="center" class="textos_smallcart"><img src="images/sh_arrow.gif" width="9" height="9"></td>';
					s+='		<td valign="top" class="textos_smallcart">'+this.st[i].count+' '+name+'</td>';
					s+='		<td valign="top" align="center" class="textos_smallcart">'+price+'</td>';
					s+='  </tr>';
					exists=true;
				}
			} 	
		
			s+='</table>';
			s+='<p align="right" class="textos_smallcart"><b>Total: </b><span id="label_cost">'+parseelement(this.getTotalPrice())+'</span></p>';
	
	
			s+='<input type="hidden" name="weight" id="weight" value="'+this.getTotalWeight()+'">';
			if(!exists){
				s='<p class="textos_smallcart" align="center">Cart is empty.</p>';
			}
			if(this.formInput){
				if(this.typeForm=="paypal"){
					s+=this.getForm();
				}
				if(this.typeForm=="NCB"){
					s+=this.getFormNCB();
				}				
			}
		}
	  /* main table*/ 	
		/* Footer of main table*/
		
	//	s+='<br />';
		s+='<table width="100%"  border="0" cellspacing="0" cellpadding="0">';
		if(exists){
			var strEditCart='&nbsp;<a href="shop_cart.php" target="_self"><img src="images/edit_cart_button.gif" border="0"></a>';
			var strChangeZone='<a href="countries.php" target="_self"   style="font-weight: bold; color: white; background: url(\'images/sh_tbbg.gif\') center center repeat-x; text-decoration: none; padding: 3px; font-family: \'Trebuchet MS\'; font-size: 10pt">change zone</a>';
			var strCheckOut='<input type="image" src="images/buy_now_button.gif" name="Submit" value="Buy now"> &nbsp;';
			s+='	<tr bgcolor="#EAE1C4">';
			s+='		<td align="left" valign="bottom" class="sub">'+strEditCart+'</td>';
			s+='		<td align="right" valign="bottom" class="sub">'+strCheckOut+'</td>';
			s+='	</tr>';
			s+='	<tr bgcolor="#EAE1C4">';
			s+='		<td colspan="2" align="center" valign="bottom" class="sub">'+strChangeZone+'<br/><a href="javascript: discountME()" style="font-weight: bold; color: white; background: url(\'images/sh_tbbg.gif\') center center repeat-x; text-decoration: none; padding: 3px; font-family: \'Trebuchet MS\'; font-size: 10pt">apply discounts</a></td>';
			s+='	</tr>';
		}	
		s+='	<tr bgcolor="#EAE1C4">';
		s+='		<td align="left" valign="bottom"><img src="images/shop_cart_corlf.jpg" width="5" height="5"></td>';
		s+='		<td align="right" valign="bottom"><img src="images/shop_cart_corrg.jpg" width="5" height="6"></td>';
		s+='	</tr>';
		s+='</table>';
		
		s+='  </td>';	
		s+=' </tr>';	
		s+='</table>';
		return s;
	}	
	// Used to send info to paypal
	this.getForm=function (){
		var s='';
		if(!this.isEmpty()){
			//s+='<input type="hidden" name="add" value="'+this.st.length+'">';
			s+='<input type="hidden" name="cmd" value="_cart">';
			s+='<input type="hidden" name="business" value="gwisdom@mbcfcoffee.com">';
			s+='<input type="hidden" name="upload" value="1">';
			//s+='<input type="hidden" name="no_note" value="1">';
			s+='<input type="hidden" name="currency_code" value="USD">';
			//s+='<input type="hidden" name="bn" value="PP-ShopCartBF">';		
			var i=0;

			//s+='<input type="hidden" id="handling_cart" name="handling_cart" value="'+this.sendingcost+'">';			
			for (i=0; i<this.st.length; i++) { 
				//alert('Name: '+this.st[i])
				var price=Number(storage[this.st[i]._id][1]);
				price=parseelement(String(price));
				var size=Number(storage[this.st[i]._id][2])*this.st[i].count;
				var name=storage[this.st[i]._id][0];
				if(this.st[i].count>0){		
					s+='<input type="hidden" id="quantity_'+(i+1)+'"  name="quantity_'+(i+1)+'" value="'+this.st[i].count+'">';
					s+='<input type="hidden" id="item_name_'+(i+1)+'"  name="item_name_'+(i+1)+'" value="'+name+'">';
					s+='<input type="hidden" id="amount_'+(i+1)+'" name="amount_'+(i+1)+'" value="'+price+'">';
				}
				
			}

			
		}
		return s;
	}
// Used to send info to NCB
	this.getFormNCB=function (){
		var s='';
		if(!this.isEmpty()){
			
			//s+='<input type="hidden" name="cmd" value="_cart">';
			
			s+='<input type="hidden" name="publisher-name" value="ncbcustome1">';
			s+='<input type="hidden" name="publisher-email" value="gwisdom@mbcfcoffee.com">';
			s+='<input type="hidden" name="card-amount" value="'+this.getTotalPrice()+'">';
			s+='<input type="hidden" name="easycart" value="1">';
			
			
			s+='<input type="hidden" name="mode" value="auth">';
			s+='<input type="hidden" name="merrmsg" value="true">';
			
		
			var i=0;

		
			for (i=0; i<this.st.length; i++) { 
				//alert('Name: '+this.st[i])
				var price=Number(storage[this.st[i]._id][1]);
				price=parseelement(String(price));
				var size=Number(storage[this.st[i]._id][2])*this.st[i].count;
				var name=storage[this.st[i]._id][0];
				if(this.st[i].count>0){		
					s+='<input type="hidden" id="item'+(i+1)+'"  name="item'+(i+1)+'" value="'+this.st[i]._id+'">';
					s+='<input type="hidden" id="quantity'+(i+1)+'"  name="quantity'+(i+1)+'" value="'+this.st[i].count+'">';
					s+='<input type="hidden" id="description'+(i+1)+'"  name="description'+(i+1)+'" value="'+name+'">';
					s+='<input type="hidden" id="cost'+(i+1)+'" name="cost'+(i+1)+'" value="'+price+'">';
				}
				
			}
		}
		return s;
	}	
	// Used to send info to upload_cart.php
	this.getCartForm=function (){
		var s='';
		if(!this.isEmpty()){

			/*s+='<input type="hidden" id="handling_cart" name="handling_cart" value="'+this.sendingcost+'">';			
			s+='<input type="hidden" id="amount" name="amount" value="'+this.getTotalPrice()+'">';
			s+='<input type="hidden" id="weight" name="weight" value="'+this.getTotalWeight()+'">';*/
			for (var i=0; i<this.st.length; i++) { 
				var price=Number(storage[this.st[i]._id][1]);
				price=parseelement(String(price));
				var size=Number(storage[this.st[i]._id][2])*this.st[i].count;
				var idprod=storage[this.st[i]._id][3];// id_product field on database
				if(this.st[i].count>0){		
					s+='<input type="hidden" id="quantity_'+(i+1)+'"  name="quantity_'+(i+1)+'" value="'+this.st[i].count+'">';
					s+='<input type="hidden" id="id_product_'+(i+1)+'"  name="id_product_'+(i+1)+'" value="'+idprod+'">';
					//s+='<input type="hidden" id="amount_'+(i+1)+'" name="amount_'+(i+1)+'" value="'+price+'">';
				}
				
			}

			
		}
		return s;
	}	
	this.indexof=function (_id){
		for (var i=0; i<this.st.length; i++) { 
			if(this.st[i]._id==_id){
				return i;
			}
		} 
		return -1;
	}
	this.getTotalPrice=function(){
		var total=0;
		for (var i=0; i<this.st.length; i++) { 
			var price=Number(storage[this.st[i]._id][1]);
			var count=Number(this.st[i].count);			
			total+=(price*count);
		} 		
		//total+=this.sendingcost;
		total=Number(parseelement(total));
		return total;
	}
	this.getTotalWeight=function(){
		var total=0;
		for (var i=0; i<this.st.length; i++) { 
			var weight=Number(storage[this.st[i]._id][2]);
			var count=Number(this.st[i].count);			
			total+=(weight*count);
		} 		
		return total;
	}	
	this.isEmpty=function (){
	
		for (var i=0; i< this.st.length; i++) { 
			
			if(this.st[i].count>0){
				return false;
			}
		} 		
		return true;
	}
	this.initiate();
}

var CART=new cart();