function createCookie(name,value,days){var expires="";if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString();}else{expires="";}
document.cookie=name+"="+value+expires+"; path=/";}
function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(";");for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)===" "){c=c.substring(1,c.length);}
if(c.indexOf(nameEQ)===0){return c.substring(nameEQ.length,c.length);}}
return null;}
function eraseCookie(name){createCookie(name,"",-1);}
function item(){this.names=[];this.values=[];this.addValue=function(name,value){if(this.names.length!=this.values.length){return false;}
found=false;var a=0;for(a=0;a<this.names.length;a++){if(this.names[a]==name){this.values[a]=value;return;}}
if(!found){this.names[this.names.length]=name;this.values[this.values.length]=value;}
return;};this.getValue=function(name){var g=0;for(g=0;g<this.names.length;g++){if(name==this.names[g]){return this.values[g];}}
return null;};this.equalTo=function(item){if(this.getSize()!=item.getSize()){return false;}
var q=0;for(q=0;q<this.names.length;q++){if(this.names[q]!="quantity"&&(item.getValue(this.names[q])!=this.values[q])){return false;}}
return true;};this.getSize=function(){return this.names.length;};this.cookieString=function(){returnString="";var i=0;returnString=this.names[i]+"="+this.values[i];i=1;for(i=1;i<this.names.length;i++){returnString=returnString+","+this.names[i]+"="+this.values[i];}
return returnString;};this.functionString=function(){returnString="'";var f=0;returnString="'"+this.names[f]+"="+this.values[f];f=1;for(f=1;f<this.names.length;f++){returnString=returnString+"','"+this.names[f]+"="+this.values[f];}
returnString=returnString+"'";return returnString;};this.optionList=function(){returnString="";if(this.getSize()<4){return null;}
var o=0;for(o=0;o<this.names.length;o++){if(this.names[o]!="quantity"&&this.names[o]!="price"&&this.names[o]!="name"&&this.names[o]!="image"){returnString=returnString+this.names[o]+":"+this.values[o]+", ";}}
while(returnString.charAt(returnString.length-1)==","||returnString.charAt(returnString.length-1)==" "||returnString.charAt(returnString.length)==":"){returnString=returnString.substring(0,returnString.length-1);}
return returnString;};}
function cart(){this.basket=0;this.total=0;this.skus=[];this.ItemColumns=["Image","Name","Price","Options","Value","Quantity","Total"];this.load=function(){if(!readCookie("mmBasket")){this.basket=0;this.total=0;}else{data=readCookie("mmBasket").split("{-");this.basket=data[0]*1;this.total=data[1]*1;for(x=2;x<(data.length);x++){newItem=new item();itemData=data[x].split(",");i=0;for(i=0;i<itemData.length;i++){pair=itemData[i].split("=");newItem.addValue(pair[0],pair[1]);}
if(!newItem.getValue("name")||!newItem.getValue("price")||!newItem.getValue("quantity")){return false;}
this.skus[x-2]=newItem;}}
this.updateCookie();return;};this.add=function(){newItem=new item();var x=0;for(x=0;x<arguments.length;x++){temp=arguments[x];data=temp.split("=");newItem.addValue(data[0],data[1]);}
if(!newItem.getValue("name")||!newItem.getValue("price")){return false;}
isnew=true;if(!newItem.getValue("quantity")){newItem.addValue("quantity",1);}
this.basket=this.basket+newItem.getValue("quantity");x=0;for(x=0;x<this.skus.length;x++){tempItem=this.skus[x];if(tempItem.equalTo(newItem)){tempItem.addValue("quantity",(parseInt(tempItem.getValue("quantity"),10)+parseInt(newItem.getValue("quantity"),10)));this.total=this.total+parseFloat(tempItem.getValue("price"));isnew=false;}}
if(isnew){this.skus[this.skus.length]=newItem;this.total=this.total+parseFloat(newItem.getValue("price"));}
this.updateCookie();return;};this.addItem=function(newItem){var x=0;for(x=0;x<this.skus.length;x++){var tempItem=this.skus[x];if(tempItem.equalTo(newItem)){tempItem.addValue("quantity",parseInt(newItem.getValue("quantity"),10)+parseInt(tempItem.getValue("quantity"),10));this.basket=this.basket+parseInt(newItem.getValue("quantity"),10);this.total=this.total+parseInt(newItem.getValue("quantity"),10)*parseFloat(newItem.getValue("price"));return;}}
this.skus[this.skus.length]=newItem;this.basket=this.basket+parseInt(newItem.getValue("quantity"),10);this.total=this.total+parseInt(newItem.getValue("quantity"),10)*parseFloat(newItem.getValue("price"));return;};this.updateCookie=function(){cookieString=String(this.basket)+"{-"+String(this.total);x=0;for(x=0;x<this.skus.length;x++){tempItem=this.skus[x];cookieString=cookieString+"{-"+tempItem.cookieString();}
createCookie("mmBasket",cookieString,30);};this.deleteItem=function(item){found=false;var temp=[];for(x=0;x<this.skus.length;x++){tempItem=this.skus[x];if(tempItem.equalTo(item)){found=true;this.basket=this.basket-parseFloat(tempItem.getValue("quantity"));this.total=this.total-parseFloat(tempItem.getValue("price"));}
if(found){if(x<(this.skus.length-1)){temp[x]=this.skus[x+1];}}else{temp[x]=this.skus[x];}}
this.skus=temp;this.updateCookie();this.updatePageElements();return false;};this.options=function(){var x=0;for(x=0;x<this.skus.length;x++){var temp=this.skus[x];if(temp.optionList()){return true;}}
return false;};this.updateQuantity=function(){newItem=new item();x=0;for(x=0;x<arguments.length;x++){temp=arguments[x];data=temp.split("=");if(x==4){var item_value=data[1];}
if(data[0]=="new_quantity"){var new_quantity=data[1];}else{if(data[0]=="add_quantity"){var newQuan=1;}else{if(data[0]=="sub_quantity"){var newQuan=-1;}else{newItem.addValue(data[0],data[1]);}}}}
if(new_quantity<1){this.deleteItem(newItem);return;}
if(data[0]!="add_quantity"&&data[0]!="sub_quantity"){newQuan=new_quantity-newItem.getValue("quantity");}else{if(data[0]=="sub_quantity"&&item_value<=1){this.deleteItem(newItem);return;}}
newItem.addValue("quantity",newQuan);this.addItem(newItem);this.updateCookie();return false;};}
mmBasket=new cart();function loadBasket(){mmBasket.load();return;}
window.onload=loadBasket;
