var NextId=1,Custom="Custom",Cartout="Cartout",Webform="Webform",WebformMembers="WebformMembers",Email="Email",AustralianDollar=AUD="AUD",CanadianDollar=CAD="CAD",CzechKoruna=CZK="CZK",DanishKrone=DKK="DKK",Euro=EUR="EUR",HongKongDollar=HKD="HKD",HungarianForint=HUF="HUF",IsraeliNewSheqel=ILS="ILS",JapaneseYen=JPY="JPY",MexicanPeso=MXN="MXN",NorwegianKrone=NOK="NOK",NewZealandDollar=NZD="NZD",PolishZloty=PLN="PLN",PoundSterling=GBP="GBP",SingaporeDollar=SGD="SGD",SwedishKrona=SEK="SEK",SwissFranc=CHF="CHF",USDollar=USD="USD";function Cart(){this.Version="2.0.1";this.Shelf=new Shelf();this.items={};this.isLoaded=false;this.pageIsReady=false;this.quantity=0;this.total=0;this.taxRate=0;this.taxCost=0;this.shippingFlatRate=0;this.shippingTotalRate=0;this.shippingQuantityRate=0;this.shippingRate=0;this.shippingCost=0;this.currency=JPY;this.cartoutTo=Cartout;this.checkoutTo=Webform;this.checkoutMembersTo=WebformMembers;this.email="";this.merchantId="";this.cartHeaders=[];this.add=function(){if(!this.pageIsReady){this.initializeView();this.update()}if(!this.isLoaded){this.load();this.update()}var a=new CartItem();if(!arguments||arguments.length===0){error("No values passed for item.");return}var c=arguments;if(arguments[0]&&typeof(arguments[0])!="string"&&typeof(arguments[0])!="number"){c=arguments[0]}a.parseValuesFromArray(c);a.checkQuantityAndPrice();if(this.hasItem(a)){var b=this.hasItem(a);if(parseInt(this.items[b].quantity,10)+parseInt(a.quantity,10)<=parseInt(this.items[b].maxquantity,10)){this.items[b].quantity=parseInt(this.items[b].quantity,10)+parseInt(a.quantity,10)}}else{this.items[a.id]=a}this.update()};this.remove=function(c){var b={};for(var a in this.items){if(a!=c){b[a]=this.items[a]}}this.items=b};this.empty=function(){simpleCart.items={};simpleCart.update()};this.cartout=function(){switch(simpleCart.cartoutTo){case Cartout:simpleCart.Cartout();break}};this.Cartout=function(){var d="scrollbars,location,resizable,status",c="https://www.ragnet.co.jp/live_spot/order/cart/?view=list",b=1,a="";for(var h in this.items){var e=this.items[h];var g="";for(var f in e){if(typeof(e[f])!="function"&&f!="id"&&f!="price"&&f!="quantity"&&f!="name"){g=g+"&"+f+"="+e[f]}}g=g.substring(1);a=a+"&item_number_"+b+"="+b+"&liveid_"+b+"="+e.liveid+"&pclass_"+b+"="+e.pclass;b++}c=c+a;location.href=c};this.checkout=function(){switch(simpleCart.checkoutTo){case Webform:simpleCart.WebformCheckout();break}};this.WebformCheckout=function(){var d="scrollbars,location,resizable,status",c="https://www.ragnet.co.jp/live_spot/order/form/?view=general",b=1,a="";if(this.taxRate){c=c+"&tax_cart="+this.currencyStringForWebformCheckout(this.taxCost)}for(var h in this.items){var e=this.items[h];var g="";for(var f in e){if(typeof(e[f])!="function"&&f!="id"&&f!="price"&&f!="quantity"&&f!="name"){g=g+"&"+f+"="+e[f]}}g=g.substring(1);a=a+"&item_name_"+b+"="+encodeURIComponent(e.name)+"&item_number_"+b+"="+b+"&quantity_"+b+"="+e.quantity+"&amount_"+b+"="+this.currencyStringForWebformCheckout(e.price)+"&postage_"+b+"="+e.postage+"&price_"+b+"="+e.price+"&catid_"+b+"="+e.catid+"&itemid_"+b+"="+e.itemid+"&liveid_"+b+"="+e.liveid+"&maxquantity_"+b+"="+e.maxquantity+"&tclass_"+b+"="+e.tclass+"&pclass_"+b+"="+e.pclass+"&aclass_"+b+"="+e.aclass;b++}if(this.shipping()!=0){a=a+"&item_name_"+b+"=Shipping&item_number_"+b+"="+b+"&quantity_"+b+"=1&amount_"+b+"="+this.currencyStringForWebformCheckout(this.shippingCost)}c=c+a;location.href=c};this.checkoutMembers=function(){switch(simpleCart.checkoutMembersTo){case WebformMembers:simpleCart.WebformCheckoutMembers();break}};this.WebformCheckoutMembers=function(){var d="scrollbars,location,resizable,status",c="https://www.ragnet.co.jp/live_spot/order/form/?view=members",b=1,a="";if(this.taxRate){c=c+"&tax_cart="+this.currencyStringForWebformCheckout(this.taxCost)}for(var h in this.items){var e=this.items[h];var g="";for(var f in e){if(typeof(e[f])!="function"&&f!="id"&&f!="price"&&f!="quantity"&&f!="name"){g=g+"&"+f+"="+e[f]}}g=g.substring(1);a=a+"&item_name_"+b+"="+encodeURIComponent(e.name)+"&item_number_"+b+"="+b+"&quantity_"+b+"="+e.quantity+"&amount_"+b+"="+this.currencyStringForWebformCheckout(e.price)+"&postage_"+b+"="+e.postage+"&price_"+b+"="+e.price+"&catid_"+b+"="+e.catid+"&itemid_"+b+"="+e.itemid+"&liveid_"+b+"="+e.liveid+"&maxquantity_"+b+"="+e.maxquantity+"&tclass_"+b+"="+e.tclass+"&pclass_"+b+"="+e.pclass+"&aclass_"+b+"="+e.aclass;b++}if(this.shipping()!=0){a=a+"&item_name_"+b+"=Shipping&item_number_"+b+"="+b+"&quantity_"+b+"=1&amount_"+b+"="+this.currencyStringForWebformCheckout(this.shippingCost)}c=c+a;location.href=c};this.load=function(){this.items={};this.total=0;this.quantity=0;if(readCookie("Cart")){var d=unescape(readCookie("Cart")).split("++");for(var a=0,b=d.length;a<b;a++){var e=d[a].split("||");var c=new CartItem();if(c.parseValuesFromArray(e)){c.checkQuantityAndPrice();this.items[c.id]=c}}}this.isLoaded=true};this.save=function(){var a="";for(var b in this.items){a=a+"++"+this.items[b].print()}createCookie("Cart",a.substring(2),30)};this.initializeView=function(){this.totalOutlets=getElementsByClassName("simpleCart_total");this.quantityOutlets=getElementsByClassName("simpleCart_quantity");this.cartDivs=getElementsByClassName("simpleCart_items");this.taxCostOutlets=getElementsByClassName("simpleCart_taxCost");this.taxRateOutlets=getElementsByClassName("simpleCart_taxRate");this.shippingCostOutlets=getElementsByClassName("simpleCart_shippingCost");this.finalTotalOutlets=getElementsByClassName("simpleCart_finalTotal");this.addEventToArray(getElementsByClassName("simpleCart_cartout"),simpleCart.cartout,"click");this.addEventToArray(getElementsByClassName("simpleCart_checkout"),simpleCart.checkout,"click");this.addEventToArray(getElementsByClassName("simpleCart_checkout_Members"),simpleCart.checkoutMembers,"click");this.addEventToArray(getElementsByClassName("simpleCart_empty"),simpleCart.empty,"click");this.Shelf.readPage();this.pageIsReady=true};this.updateView=function(){this.updateViewTotals();if(this.cartDivs&&this.cartDivs.length>0){this.updateCartView()}};this.updateViewTotals=function(){var f=[["quantity","none"],["total","currency"],["shippingCost","currency"],["taxCost","currency"],["taxRate","percentage"],["finalTotal","currency"]];for(var a=0,b=f.length;a<b;a++){var e=f[a][0]+"Outlets",d;for(var c in this[e]){switch(f[a][1]){case"none":d=""+this[f[a][0]];break;case"currency":d=this.valueToCurrencyString(this[f[a][0]]);break;case"percentage":d=this.valueToPercentageString(this[f[a][0]]);break;default:d=""+this[f[a][0]];break}this[e][c].innerHTML=""+d}}};this.updateCartView=function(){var g=[],m,p,o,h,f,d,b,k,e,l;p=document.createElement("div");for(f in this.cartHeaders){d=document.createElement("div");l=this.cartHeaders[f].split("_");d.innerHTML=l[0];d.className="item"+l[0];for(m=1,xlen=l.length;m<xlen;m++){if(l[m].toLowerCase()=="noheader"){d.style.display="none"}}p.appendChild(d)}p.className="cartHeaders";g[0]=p;m=1;for(h in this.items){p=document.createElement("div");o=this.items[h];for(f in this.cartHeaders){d=document.createElement("div");b=this.cartHeaders[f].split("_");switch(b[0].toLowerCase()){case"name":k='<a href="'+o.url+'">'+o.name+"</a>";break;case"total":k=this.valueToCurrencyString(parseFloat(o.price)*parseInt(o.quantity,10));break;case"increment":k=this.valueToLink("+","javascript:;","onclick=\"simpleCart.items['"+o.id+"'].increment();\"");break;case"decrement":k=this.valueToLink("-","javascript:;","onclick=\"simpleCart.items['"+o.id+"'].decrement();\"");break;case"remove":k=this.valueToLink("削除","javascript:;","onclick=\"simpleCart.items['"+o.id+"'].remove();\"");break;case"price":k=this.valueToCurrencyString(o[b[0].toLowerCase()]?o[b[0].toLowerCase()]:" ");break;default:k=o[b[0].toLowerCase()]?o[b[0].toLowerCase()]:" ";break}for(var i=1,q=b.length;i<q;i++){e=b[i].toLowerCase();switch(e){case"image":case"img":k=this.valueToImageString(k);break;case"input":k=this.valueToTextInput(k,"onchange=\"simpleCart.items['"+o.id+"'].set('"+k+"' , this.value);\"");break;case"div":case"span":case"h1":case"h2":case"h3":case"h4":case"p":k=this.valueToElement(e,k,"");break;case"noheader":break;default:error("unkown header option: "+e);break}}d.innerHTML=k;d.className="item"+b[0];p.appendChild(d)}p.className="itemContainer";g[m]=p;m++}for(h in this.cartDivs){var a=this.cartDivs[h];while(a.childNodes[0]){a.removeChild(a.childNodes[0])}for(var c=0,n=g.length;c<n;c++){a.appendChild(g[c])}}};this.addEventToArray=function(e,d,c){for(var b in e){var a=e[b];if(a.addEventListener){a.addEventListener(c,d,false)}else{if(a.attachEvent){a.attachEvent("on"+c,d)}}}};this.createHiddenElement=function(a,c){var b=document.createElement("input");b.type="hidden";b.name=a;b.value=c;return b};this.currencySymbol=function(){switch(this.currency){case JPY:return"&yen;";case EUR:return"&euro;";case GBP:return"&pound;";case USD:case CAD:case AUD:case NZD:case HKD:case SGD:return"&#36;";default:return""}};this.currencyStringForWebformCheckout=function(a){if(this.currencySymbol()=="&#36;"){return"$"+parseFloat(a).toFixed(2)}else{return""+parseFloat(a).toFixed(2)}};this.valueToCurrencyString=function(b){var a=new String(b).replace(/,/g,"");while(a!=(a=a.replace(/^(-?\d+)(\d{3})/,"$1,$2"))){}return a+"円"};this.valueToPercentageString=function(a){return parseFloat(100*a)+"%"};this.valueToImageString=function(a){if(a.match(/<\s*img.*src\=/)){return a}else{return'<img src="'+a+'" />'}};this.valueToTextInput=function(b,a){return'<input type="text" value="'+b+'" '+a+" />"};this.valueToLink=function(c,b,a){return'<a href="'+b+'" '+a+" >"+c+"</a>"};this.valueToElement=function(b,c,a){return"<"+b+" "+a+" > "+c+"</"+b+">"};this.hasItem=function(b){for(var e in this.items){var a=this.items[e];var c=true;for(var d in b){if(typeof(b[d])!="function"&&d!="quantity"&&d!="id"){if(b[d]!=a[d]){c=false}}}if(c){return e}}return false};this.update=function(){if(!simpleCart.isLoaded){simpleCart.load()}if(!simpleCart.pageIsReady){simpleCart.initializeView()}this.updateTotals();this.updateView();this.save()};this.updateTotals=function(){this.total=0;this.quantity=0;for(var b in this.items){var a=this.items[b];if(a.quantity<1){a.remove();break}else{if(a.quantity!==null&&a.quantity!="undefined"){this.quantity=parseInt(this.quantity,10)+parseInt(a.quantity,10)}}if(a.price){this.total=parseFloat(this.total)+parseInt(a.quantity,10)*parseFloat(a.price)}}this.shippingCost=this.shipping();this.taxCost=parseFloat(this.total)*this.taxRate;this.finalTotal=this.shippingCost+this.taxCost+this.total};this.shipping=function(){if(parseInt(this.quantity,10)===0){return 0}var b=parseFloat(this.shippingFlatRate)+parseFloat(this.shippingTotalRate)*parseFloat(this.total)+parseFloat(this.shippingQuantityRate)*parseInt(this.quantity,10),a,c;for(c in this.items){a=this.items[c];if(a.shipping){if(typeof a.shipping=="function"){b+=parseFloat(a.shipping())}else{b+=parseFloat(a.shipping)}}}return b};this.initialize=function(){simpleCart.initializeView();simpleCart.load();simpleCart.update()}}function CartItem(){this.id="c"+NextId++}CartItem.prototype.set=function(b,a){b=b.toLowerCase();if(typeof(this[b])!="function"&&b!="id"){if(b=="quantity"){a=a.replace(/[^(\d|\.)]*/gi,"");a=a.replace(/,*/gi,"");a=parseInt(a,10)}else{if(b=="price"){a=a.replace(/[^(\d|\.)]*/gi,"");a=a.replace(/,*/gi,"");a=parseFloat(a)}}if(typeof(a)=="number"&&isNaN(a)){error("Improperly formatted input.")}else{this[b]=a;this.checkQuantityAndPrice()}}else{error("Cannot change "+b+", this is a reserved field.")}simpleCart.update()};CartItem.prototype.increment=function(){if(parseInt(this.quantity,10)<parseInt(this.maxquantity,10)){this.quantity=parseInt(this.quantity,10)+1;simpleCart.update()}};CartItem.prototype.decrement=function(){if(parseInt(this.quantity,10)<2){this.remove()}else{this.quantity=parseInt(this.quantity,10)-1;simpleCart.update()}};CartItem.prototype.print=function(){var a="";for(var b in this){if(typeof(this[b])!="function"){a+=escape(b)+"="+escape(this[b])+"||"}}return a.substring(0,a.length-2)};CartItem.prototype.checkQuantityAndPrice=function(){if(!this.price||this.quantity==null||this.quantity=="undefined"){this.quantity=1;error("No quantity for item.")}else{this.quantity=(""+this.quantity).replace(/,*/gi,"");this.quantity=parseInt((""+this.quantity).replace(/[^(\d|\.)]*/gi,""),10);if(isNaN(this.quantity)){error("Quantity is not a number.");this.quantity=1}}if(!this.price||this.price==null||this.price=="undefined"){this.price=0;error("No price for item or price not properly formatted.")}else{this.price=(""+this.price).replace(/,*/gi,"");this.price=parseFloat((""+this.price).replace(/[^(\d|\.)]*/gi,""));if(isNaN(this.price)){error("Price is not a number.");this.price=0}}};CartItem.prototype.parseValuesFromArray=function(f){if(f&&f.length&&f.length>0){for(var a=0,d=f.length;a<d;a++){f[a].replace(/||/,"| |");f[a].replace(/\+\+/,"+ +");var e=f[a].split("=");if(e.length>1){if(e.length>2){for(var c=2,b=e.length;c<b;c++){e[1]=e[1]+"="+e[c]}}this[unescape(e[0]).toLowerCase()]=unescape(e[1])}}return true}else{return false}};CartItem.prototype.remove=function(){simpleCart.remove(this.id);simpleCart.update()};function Shelf(){this.items={}}Shelf.prototype.readPage=function(){this.items={};var a=getElementsByClassName("simpleCart_shelfItem");for(var c in a){var b=new ShelfItem();this.checkChildren(a[c],b);this.items[b.id]=b}};Shelf.prototype.checkChildren=function(d,b){for(var a=0;d.childNodes[a];a++){var c=d.childNodes[a];if(c.className&&c.className.match(/item_[^ ]+/)){var e=/item_[^ ]+/.exec(c.className)[0].split("_");if(e[1]=="add"||e[1]=="Add"){var g=[];g.push(c);var f=simpleCart.Shelf.addToCart(b.id);simpleCart.addEventToArray(g,f,"click");c.id=b.id}else{b[e[1]]=c}}if(c.childNodes[0]){this.checkChildren(c,b)}}};Shelf.prototype.empty=function(){this.items={}};Shelf.prototype.addToCart=function(a){return function(){if(simpleCart.Shelf.items[a]){simpleCart.Shelf.items[a].addToCart()}else{error("Shelf item with id of "+a+" does not exist.")}}};function ShelfItem(){this.id="s"+NextId++}ShelfItem.prototype.remove=function(){simpleCart.Shelf.items[this.id]=null};ShelfItem.prototype.addToCart=function(){var c=[],a;for(var b in this){if(typeof(this[b])!="function"&&b!="id"){a="";switch(b){case"price":if(this[b].value){a=this[b].value}else{if(this[b].innerHTML){a=this[b].innerHTML}}a=a.replace(/[^(\d|\.)]*/gi,"");a=a.replace(/,*/,"");break;case"image":a=this[b].src;break;default:if(this[b].value){a=this[b].value}else{if(this[b].innerHTML){a=this[b].innerHTML}else{if(this[b].src){a=this[b].src}else{a=this[b]}}}break}c.push(b+"="+a)}}simpleCart.add(c)};function createCookie(c,d,e){if(e){var b=new Date();b.setTime(b.getTime()+(1*24*3600*1000));var a="; expires="+b.toGMTString()}else{var a=""}document.cookie=c+"="+d+a+"; path=/"}function readCookie(b){var e=b+"=";var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)===0){return f.substring(e.length,f.length)}}return null}function eraseCookie(a){createCookie(a,"",-1)}var getElementsByClassName=function(b,a,c){if(document.getElementsByClassName){getElementsByClassName=function(j,m,h){h=h||document;var d=h.getElementsByClassName(j),l=(m)?new RegExp("\\b"+m+"\\b","i"):null,e=[],g;for(var f=0,k=d.length;f<k;f+=1){g=d[f];if(!l||l.test(g.nodeName)){e.push(g)}}return e}}else{if(document.evaluate){getElementsByClassName=function(o,r,n){r=r||"*";n=n||document;var g=o.split(" "),p="",l="http://www.w3.org/1999/xhtml",q=(document.documentElement.namespaceURI===l)?l:null,h=[],d,f;for(var i=0,k=g.length;i<k;i+=1){p+="[contains(concat(' ', @class, ' '), ' "+g[i]+" ')]"}try{d=document.evaluate(".//"+r+p,n,q,0,null)}catch(m){d=document.evaluate(".//"+r+p,n,null,0,null)}while((f=d.iterateNext())){h.push(f)}return h}}else{getElementsByClassName=function(r,u,q){u=u||"*";q=q||document;var h=r.split(" "),t=[],d=(u==="*"&&q.all)?q.all:q.getElementsByTagName(u),p,j=[],o;for(var i=0,e=h.length;i<e;i+=1){t.push(new RegExp("(^|\\s)"+h[i]+"(\\s|$)"))}for(var g=0,s=d.length;g<s;g+=1){p=d[g];o=false;for(var f=0,n=t.length;f<n;f+=1){o=t[f].test(p.className);if(!o){break}}if(o){j.push(p)}}return j}}}return getElementsByClassName(b,a,c)};String.prototype.reverse=function(){return this.split("").reverse().join("")};Number.prototype.withCommas=function(){var a=6,b=parseFloat(this).toFixed().toString().reverse();while(a<b.length){b=b.substring(0,a)+","+b.substring(a);a+=4}return b.reverse()};Number.prototype.toCurrency=function(){return(arguments[0]?arguments[0]:"$")+this.withCommas()};function error(b){try{console.log(b)}catch(a){}}var simpleCart=new Cart();window.onload=simpleCart.initialize;