if(typeof PAYPAL=='undefined'||!PAYPAL){var PAYPAL={};}
PAYPAL.apps=PAYPAL.apps||{};(function(){var config={parent:document.body,displayEdge:'right',edgeDistance:'50px',cookiePath:'/',strings:{button:'',subtotal:'',discount:'',shipping:''},name:'PPMiniCart',peekEnabled:true,paypalURL:'https://www.paypal.com/cgi-bin/webscr',assetURL:'https://minicart.paypal-labs.com/build/',events:{onRender:null,afterRender:null,onHide:null,afterHide:null,onShow:null,afterShow:null,onAddToCart:null,afterAddToCart:null,onRemoveFromCart:null,afterRemoveFromCart:null,onCheckout:null,onReset:null,afterReset:null}};PAYPAL.apps.MiniCart=(function(){var self=arguments.callee;var productFilter=/^(?:item_number|item_name|amount|quantity|on|os|option_|tax|weight|handling|shipping|discount)/;var settingFilter=/^(?:business|currency_code|lc|paymentaction|no_shipping|cn|no_note|invoice|handling_cart|weight_cart|weight_unit|tax_cart|page_style|image_url|cpp_|cs|cbt|return|cancel_return|notify_url|rm|custom|charset)/;var _init=function(userConfig){var hash,cmd,key,i;for(key in userConfig){if(config[key]){config[key]=userConfig[key];}}
_render();_parseStorage();hash=location.hash.substring(1);if(hash.indexOf(config.name+'=')===0){cmd=hash.split('=')[1];if(cmd=='reset'){self.reset();location.hash='';}}
if(self.isShowing){setTimeout(function(){self.hide(null);},500);}else{$.storage.remove();}
self.updateSubtotal();};var _render=function(){var events=config.events,onRender=events.onRender,afterRender=events.afterRender;if(typeof onRender=='function'){onRender.call(self);}
_addCSS();_buildDOM();_bindEvents();if(typeof afterRender=='function'){afterRender.call(self);}};var _addCSS=function(){var name=config.name,head,style,css;css='#'+name+' form { position:fixed; float:none; top:-250px; '+config.displayEdge+':'+config.edgeDistance+'; width:265px; margin:0; padding:50px 10px 0; min-height:170px; background:#fff url(Images/minicart_sprite.png) no-repeat -125px -60px; border:1px solid #999; border-top:0; font:13px/normal arial, helvetica; color:#333; -moz-border-radius:0 0 8px 8px; -webkit-border-radius:0 0 8px 8px; border-radius:0 0 8px 8px; -moz-box-shadow:1px 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow:1px 1px 1px rgba(0, 0, 0, 0.1); box-shadow:1px 1px 1px rgba(0, 0, 0, 0.1); } ';css+='#'+name+' ul { position:relative; overflow-x:hidden; overflow-y:auto; height:130px; margin:0 0 7px; padding:0; list-style-type:none; border-top:1px solid #ccc; border-bottom:1px solid #ccc; } ';css+='#'+name+' li { position:relative; margin:-1px 0 0; padding:6px 5px 6px 0; border-top:1px solid #f2f2f2; } ';css+='#'+name+' li a { color:#333; text-decoration:none; } ';css+='#'+name+' li a span { color:#999; font-size:10px; } ';css+='#'+name+' li .quantity { position:absolute; top:.5em; right:78px; width:22px; padding:1px; border:1px solid #83a8cc; text-align:right; } ';css+='#'+name+' li .price { position:absolute; top:.5em; right:4px; } ';css+='#'+name+' li .remove { position:absolute; top:9px; right:60px; width:14px; height:14px; background:url(Images/minicart_sprite.png) no-repeat -134px -4px; border:0; cursor:pointer; } ';css+='#'+name+' p { margin:0; padding:0 0 0 20px; background:url(Images/minicart_sprite.png) no-repeat; font-size:13px; font-weight:bold; } ';css+='#'+name+' p:hover { cursor:pointer; } ';css+='#'+name+' p input { float:right; margin:4px 0 0; padding:1px 4px; text-decoration:none; font-weight:normal; color:#333; background:#ffa822 url(Images/minicart_sprite.png) repeat-x left center; border:1px solid #d5bd98; border-right-color:#935e0d; border-bottom-color:#935e0d; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; } ';css+='#'+name+' p .shipping { display:block; font-size:10px; font-weight:normal; color:#999; } ';style=document.createElement('style');style.type='text/css';if(style.styleSheet){style.styleSheet.cssText=css;}else{style.appendChild(document.createTextNode(css));}
head=document.getElementsByTagName('head')[0];head.appendChild(style);};var _buildDOM=function(){var UI=self.UI,cmd,type,bn,parent;UI.wrapper=document.createElement('div');UI.wrapper.id=config.name;cmd=document.createElement('input');cmd.type='hidden';cmd.name='cmd';cmd.value='_cart';type=cmd.cloneNode(false);type.name='upload';type.value='1';bn=cmd.cloneNode(false);bn.name='bn';bn.value='MiniCart_AddToCart_WPS_US';UI.cart=document.createElement('form');UI.cart.method='post';UI.cart.action=config.paypalURL;UI.cart.appendChild(cmd);UI.cart.appendChild(type);UI.cart.appendChild(bn);UI.wrapper.appendChild(UI.cart);UI.itemList=document.createElement('ul');UI.cart.appendChild(UI.itemList);UI.summary=document.createElement('p');UI.cart.appendChild(UI.summary);UI.button=document.createElement('input');UI.button.type='submit';UI.button.value=config.strings.button||'Checkout';UI.summary.appendChild(UI.button);UI.subtotal=document.createElement('span');UI.subtotal.innerHTML=config.strings.subtotal||'Subtotal: ';UI.subtotalAmount=document.createElement('span');UI.subtotalAmount.innerHTML='0.00';UI.subtotal.appendChild(UI.subtotalAmount);UI.summary.appendChild(UI.subtotal);UI.shipping=document.createElement('span');UI.shipping.className='shipping';UI.shipping.innerHTML=config.strings.shipping||'does not include shipping &amp; tax';UI.summary.appendChild(UI.shipping);if(window.attachEvent&&!window.opera){var version=navigator.userAgent.match(/MSIE\s([^;]*)/);if(version){version=parseFloat(version[1]);if(version<7||(version>=7&&document.compatMode==='BackCompat')){UI.cart.style.position='absolute';UI.wrapper.style[config.displayEdge]='0';UI.wrapper.style.setExpression('top','x = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop');}}}
parent=(typeof config.parent==='string')?document.getElementById(config.parent):config.parent;parent.appendChild(UI.wrapper);};var _bindEvents=function(){var forms,form,i;forms=document.getElementsByTagName('form');for(i=0;i<forms.length;i++){form=forms[i];if(form.cmd&&(form.cmd.value==='_cart'||form.cmd.value==='_xclick')){if(form.add){$.event.add(form,'submit',function(e){e.preventDefault(e);var data=_parseForm(e.target);self.addToCart(data);});}else if(form.display){$.event.add(form,'submit',function(e){e.preventDefault();self.show(e);});}}}
$.event.add(document,'click',function(e){if(self.isShowing){var target=e.target;if(!(/input|button|select|option/i.test(target.tagName))){while(target.nodeType===1){if(target===self.UI.cart){return;}
target=target.parentNode;}
self.hide(null);}}});$.event.add(self.UI.cart,'submit',function(e){_checkout(e);});$.event.add(self.UI.summary,'click',function(e){var target=e.target;if(target!==self.UI.button){self.toggle(e);}});function redrawCartItems(){self.products=[];self.UI.itemList.innerHTML='';self.UI.subtotalAmount.innerHTML='';_parseStorage();self.updateSubtotal();}
if(window.attachEvent&&!window.opera){$.event.add(document,'storage',function(e){setTimeout(redrawCartItems,100);});}else{$.event.add(window,'storage',function(e){if((e.key&&e.key==config.name)||!e.key){redrawCartItems();}});}};var _parseStorage=function(){var data,length;if((data=$.storage.load())){length=data.length;for(i=0;i<length;i++){if(_renderProduct(data[i])){self.isShowing=true;}}}};var _parseForm=function(form){var raw=form.elements,data=[],pair,value,length,i;for(i=0,len=raw.length;i<len;i++){pair=raw[i];if((value=$.util.getInputValue(pair))){data[pair.name]=value;}}
return data;};var _parseData=function(data){var product={},settings={},existing,option_index,key,len,i;for(key in data){if(productFilter.test(key)){product[key]=data[key];}else if(settingFilter.test(key)){settings[key]=data[key];}}
for(i=0,len=self.products.length;i<len;i++){existing=self.products[i].product;if((!product.item_name||product.item_name===existing.item_name)&&(!product.item_number||product.item_number===existing.item_number)&&(!product.os0||product.os0===existing.os0)&&(!product.os1||product.os1===existing.os1)){product.offset=existing.offset;break;}}
product.href=product.href||window.location.href;product.quantity=product.quantity||1;product.amount=product.amount||0;if(settings['return']&&settings['return'].indexOf('#')==-1){settings['return']+='#'+config.name+'=reset';}
option_index=(product.option_index)?product.option_index:0;while(product['os'+option_index]){i=0;while(typeof product['option_select'+i]!='undefined'){if(product['option_select'+i]==product['os'+option_index]){product.amount=product.amount+parseFloat(product['option_amount'+i]);break;}
i++;}
option_index++;}
return{product:product,settings:settings};};var _renderProduct=function(data){var keyupTimer,product=new ProductBuilder(data,self.UI.itemList.children.length+1),offset=data.product.offset;self.products[offset]=product;for(key in data.settings){if(self.UI.cart.elements[key]){if(self.UI.cart.elements[key].value){self.UI.cart.elements[key].value=data.settings[key];}else{self.UI.cart.elements[key]=data.settings[key];}}else{hiddenInput=document.createElement('input');hiddenInput.type='hidden';hiddenInput.name=key;hiddenInput.value=data.settings[key];self.UI.cart.appendChild(hiddenInput);}}
if(product.isPlaceholder){return false;}else{$.event.add(product.removeNode,'click',function(){_removeProduct(product,offset);});var currentValue=product.quantityNode.value;$.event.add(product.quantityNode,'keyup',function(){var that=this;keyupTimer=setTimeout(function(){var value=parseInt(that.value,10);if(!isNaN(value)&&value!=currentValue){currentValue=value;product.setQuantity(value);if(!product.getQuantity()){_removeProduct(product,offset);}
self.updateSubtotal();$.storage.save(self.products);}},250);});self.UI.itemList.appendChild(product.liNode);$.util.animate(product.liNode,'opacity',{from:0,to:1});return true;}};var _removeProduct=function(product,offset){var events=config.events,onRemoveFromCart=events.onRemoveFromCart,afterRemoveFromCart=events.afterRemoveFromCart;if(typeof onRemoveFromCart=='function'){onRemoveFromCart.call(self,product);}
product.setQuantity(0);product.quantityNode.style.display='none';$.util.animate(product.liNode,'opacity',{from:1,to:0},function(){$.util.animate(product.liNode,'height',{from:18,to:0},function(){try{product.liNode.parentNode.removeChild(product.liNode);}catch(e){}
var products=self.UI.cart.getElementsByTagName('li'),products_len=products.length,inputs,inputs_len,input,matches,i,j,k=1;for(i=0;i<products_len;i++){inputs=products[i].getElementsByTagName('input');inputs_len=inputs.length;for(j=0;j<inputs_len;j++){input=inputs[j];matches=/(.+)_[0-9]+$/.exec(input.name);if(matches&&matches[1]){input.name=matches[1]+'_'+k;}}
k++;}
if(typeof afterRemoveFromCart=='function'){afterRemoveFromCart.call(self,product);}});});self.products[offset].product.item_name='';self.products[offset].product.item_number='';self.updateSubtotal();$.storage.save(self.products);};var _checkout=function(e){var onCheckout=config.events.onCheckout;if(typeof onCheckout=='function'){onCheckout.call(self,e);}};self.products=[];self.UI={};self.isShowing=false;self.calculateSubtotal=function(){var amount=0,product,price,discount,len,i;for(i=0,len=self.products.length;i<len;i++){if((product=self.products[i].product)){if(product.amount){price=product.amount;discount=(product.discount_amount)?product.discount_amount:0;amount+=parseFloat((price-discount)*product.quantity);}}}
return amount.toFixed(2);};self.updateSubtotal=function(){var currency_code,currency_symbol,subtotal=self.calculateSubtotal(),level=1,hex,len,i;currency_code='';currency_symbol='';if(self.UI.cart.elements.currency_code){currency_code=self.UI.cart.elements.currency_code.value||self.UI.cart.elements.currency_code;}else{for(i=0,len=self.UI.cart.elements.length;i<len;i++){if(self.UI.cart.elements[i].name=='currency_code'){currency_code=self.UI.cart.elements[i].value||self.UI.cart.elements[i];break;}}}
self.UI.subtotalAmount.innerHTML=$.util.formatCurrency(subtotal,currency_code);(function(){hex=level.toString(16);level++;self.UI.subtotalAmount.style.backgroundColor='#ff'+hex;if(level>=15){self.UI.subtotalAmount.style.backgroundColor='transparent';if(subtotal=='0.00'){self.hide(null,true);}
return;}
setTimeout(arguments.callee,30);}());};self.addToCart=function(data){var events=config.events,onAddToCart=events.onAddToCart,afterAddToCart=events.afterAddToCart,success=false,offset;if(typeof onAddToCart==='function'){if(onAddToCart.call(self,data)===false){return;}}
data=_parseData(data);offset=data.product.offset;if(typeof offset!='undefined'&&self.products[offset]){self.products[offset].product.quantity+=parseInt(data.product.quantity||1,10);self.products[offset].setPrice(data.product.amount*self.products[offset].product.quantity);self.products[offset].setQuantity(self.products[offset].product.quantity);success=true;}else{data.product.offset=self.products.length;success=_renderProduct(data);}
self.updateSubtotal();self.show(null);$.storage.save(self.products);if(typeof afterAddToCart==='function'){afterAddToCart.call(self,data);}
return success;};self.show=function(e){var from=parseInt(self.UI.cart.offsetTop,10),to=0,events=config.events,onShow=events.onShow,afterShow=events.afterShow;if(e&&e.preventDefault){e.preventDefault();}
if(typeof onShow=='function'){onShow.call(self,e);}
$.util.animate(self.UI.cart,'top',{from:from,to:to},function(){if(typeof afterShow=='function'){afterShow.call(self,e);}});self.UI.summary.style.backgroundPosition='-195px 2px';self.isShowing=true;};self.hide=function(e,fully){var cartHeight=(self.UI.cart.offsetHeight)?self.UI.cart.offsetHeight:document.defaultView.getComputedStyle(self.UI.cart,'').getPropertyValue('height'),summaryHeight=(self.UI.summary.offsetHeight)?self.UI.summary.offsetHeight:document.defaultView.getComputedStyle(self.UI.summary,'').getPropertyValue('height'),from=parseInt(self.UI.cart.offsetTop,10),events=config.events,onHide=events.onHide,afterHide=events.afterHide,to;if(fully||!config.peekEnabled){to=cartHeight*-1;}else{to=(cartHeight-summaryHeight-8)*-1;}
if(e&&e.preventDefault){e.preventDefault();}
if(typeof onHide=='function'){onHide.call(self,e);}
$.util.animate(self.UI.cart,'top',{from:from,to:to},function(){if(typeof afterHide=='function'){afterHide.call(self,e);}});self.UI.summary.style.backgroundPosition='-195px -32px';self.isShowing=false;};self.toggle=function(e){if(self.isShowing){self.hide(e);}else{self.show(e);}};self.reset=function(){var events=config.events,onReset=events.onReset,afterReset=events.afterReset;if(typeof onReset==='function'){onReset.call(self);}
self.products=[];if(self.isShowing){self.UI.itemList.innerHTML='';self.UI.subtotalAmount.innerHTML='';self.hide(null,true);}
$.storage.remove();if(typeof afterReset==='function'){afterReset.call(self);}};return{render:function(userConfig){_init(userConfig);},addToCart:function(data){self.addToCart(data);},show:function(e){self.show(e);},hide:function(e,fully){self.hide(e,fully);},toggle:function(e){self.toggle();},reset:function(){self.reset();}};}());var ProductBuilder=function(data,position){this.product=null;this.settings=null;this.liNode=null;this.nameNode=null;this.metaNode=null;this.priceNode=null;this.quantityNode=null;this.removeNode=null;this.isPlaceholder=false;this._init(data,position);};ProductBuilder.prototype={_init:function(data,position){var shortName,fullName,price,hiddenInput,key,i;this.product=data.product;this.settings=data.settings;this.liNode=document.createElement('li');this.nameNode=document.createElement('a');this.metaNode=document.createElement('span');this.priceNode=document.createElement('span');this.quantityNode=document.createElement('input');this.removeNode=document.createElement('input');if(!this.product.item_name&&!this.product.item_number){this.isPlaceholder=true;return;}
if(this.product.item_name){fullName=this.product.item_name;shortName=(fullName.length>20)?fullName.substr(0,20)+'...':fullName;}
this.nameNode.innerHTML=shortName;this.nameNode.title=fullName;this.nameNode.href=this.product.href;this.nameNode.appendChild(this.metaNode);if(this.product.item_number){this.metaNode.innerHTML='<br />#'+this.product.item_number;}
i=0;while(typeof this.product['on'+i]!=='undefined'){this.metaNode.innerHTML+='<br />'+this.product['on'+i]+': '+this.product['os'+i];i++;}
if(this.product.discount_amount){this.metaNode.innerHTML+='<br />';this.metaNode.innerHTML+=config.strings.discount||'Discount: ';this.metaNode.innerHTML+=$.util.formatCurrency(this.product.discount_amount,this.settings.currency_code);}
this.product.quantity=parseInt(this.product.quantity,10);this.quantityNode.name='quantity_'+position;this.quantityNode.value=this.product.quantity?this.product.quantity:1;this.quantityNode.className='quantity';this.quantityNode.setAttribute('autocomplete','off');this.removeNode.type='button';this.removeNode.className='remove';price=parseFloat(this.product.amount,10);if(this.product.discount_amount){price-=this.product.discount_amount;}
this.priceNode.innerHTML=$.util.formatCurrency((price*parseFloat(this.product.quantity,10)).toFixed(2),this.settings.currency_code);this.priceNode.className='price';this.liNode.appendChild(this.nameNode);this.liNode.appendChild(this.quantityNode);this.liNode.appendChild(this.removeNode);this.liNode.appendChild(this.priceNode);for(key in this.product){if(key!=='quantity'){hiddenInput=document.createElement('input');hiddenInput.type='hidden';hiddenInput.name=key+'_'+position;hiddenInput.value=this.product[key];this.liNode.appendChild(hiddenInput);}}},setQuantity:function(value){value=parseInt(value,10);this.product.quantity=value;if(this.quantityNode.value!=value){this.quantityNode.value=value;}
this.setPrice(this.product.amount*value);},getQuantity:function(){return(parseFloat(this.quantityNode.value,10)||1);},setPrice:function(value){value=parseFloat(value,10);this.priceNode.innerHTML=$.util.formatCurrency(parseFloat(value,10).toFixed(2),this.settings.currency_code);},getPrice:function(){return(this.product.amount*this.getQuantity());}};var $={};$.storage=(function(){var name=config.name;if(window.localStorage){return{load:function(){var data=localStorage.getItem(name);if(data){data=JSON.parse(unescape(data));}
return data;},save:function(items){var data=[],item,len,i;if(items){for(i=0,len=items.length;i<len;i++){item=items[i];data.push({product:item.product,settings:item.settings});}
data=escape(JSON.stringify(data));localStorage.setItem(name,data);}},remove:function(){localStorage.removeItem(name);}};}else{return{load:function(){var data,cookies,cookie,key=name+'=',value,i;try{cookies=document.cookie.split(';');for(i=0;i<cookies.length;i++){cookie=cookies[i];while(cookie.charAt(0)===' '){cookie=cookie.substring(1,cookie.length);}
if(cookie.indexOf(key)===0){value=cookie.substring(key.length,cookie.length);data=JSON.parse(unescape(value));}}}catch(e){}
return data;},save:function(items,duration){var date=new Date(),data=[],item,len,i;if(items){for(i=0,len=items.length;i<len;i++){item=items[i];data.push({product:item.product,settings:item.settings});}
duration=duration||30;date.setTime(date.getTime()+duration*24*60*60*1000);document.cookie=config.name+'='+escape(JSON.stringify(data))+'; expires='+date.toGMTString()+'; path='+config.cookiePath;}},remove:function(){this.save(null,-1);}};}}());$.event={cache:[],add:function(obj,type,fn,scope){var wrappedFn;scope=scope||obj;if(obj.addEventListener){wrappedFn=function(e){fn.call(scope,e);};obj.addEventListener(type,wrappedFn,false);}else if(obj.attachEvent){wrappedFn=function(){var e=window.event;e.target=e.target||e.srcElement;e.preventDefault=function(){e.returnValue=false;};fn.call(scope,e);};obj.attachEvent('on'+type,wrappedFn);}
this.cache.push([obj,type,fn,wrappedFn]);},remove:function(obj,type,fn){var wrappedFn,item,len,i;for(i=0;i<this.cache.length;i++){item=this.cache[i];if(item[0]==obj&&item[1]==type&&item[2]==fn){wrappedFn=item[3];if(wrappedFn){if(obj.removeEventListener){obj.removeEventListener(type,wrappedFn,false);}else if(obj.detachEvent){obj.detachEvent('on'+type,wrappedFn);}
delete this.cache[i];}}}}};$.util={animate:function(el,prop,config,callback){config=config||{};config.from=config.from||0;config.to=config.to||0;config.duration=config.duration||10;config.unit=(/top|bottom|left|right|width|height/.test(prop))?'px':'';var step=(config.to-config.from)/20;var current=config.from;(function(){el.style[prop]=current+config.unit;current+=step;if((step>0&&current>config.to)||(step<0&&current<config.to)||step===0){el.style[prop]=config.to+config.unit;if(typeof callback==='function'){callback();}
return;}
setTimeout(arguments.callee,config.duration);})();},getInputValue:function(input){var tag=input.tagName.toLowerCase();if(tag=='select'){return input.options[input.selectedIndex].value;}else if(tag=='textarea'){return input.innerHTML;}else{if(input.type=='radio'){return(input.checked)?input.value:null;}else if(input.type=='checkbox'){return(input.checked)?input.value:null;}else{return input.value;}}},formatCurrency:function(amount,code){var currencies={AED:{before:'\u062c'},ANG:{before:'\u0192'},ARS:{before:'$'},AUD:{before:'$'},AWG:{before:'\u0192'},BBD:{before:'$'},BGN:{before:'\u043b\u0432'},BMD:{before:'$'},BND:{before:'$'},BRL:{before:'R$'},BSD:{before:'$'},CAD:{before:'$'},CHF:{before:''},CLP:{before:'$'},CNY:{before:'\u00A5'},COP:{before:'$'},CRC:{before:'\u20A1'},CZK:{before:'Kc'},DKK:{before:'kr'},DOP:{before:'$'},EEK:{before:'kr'},EUR:{before:'\u20AC'},GBP:{before:'\u00A3'},GTQ:{before:'Q'},HKD:{before:'$'},HRK:{before:'kn'},HUF:{before:'Ft'},IDR:{before:'Rp'},ILS:{before:'\u20AA'},INR:{before:'Rs.'},ISK:{before:'kr'},JMD:{before:'J$'},JPY:{before:'\u00A5'},KRW:{before:'\u20A9'},KYD:{before:'$'},LTL:{before:'Lt'},LVL:{before:'Ls'},MXN:{before:'$'},MYR:{before:'RM'},NOK:{before:'kr'},NZD:{before:'$'},PEN:{before:'S/'},PHP:{before:'Php'},PLN:{before:'z'},QAR:{before:'\ufdfc'},RON:{before:'lei'},RUB:{before:'\u0440\u0443\u0431'},SAR:{before:'\ufdfc'},SEK:{before:'kr'},SGD:{before:'$'},THB:{before:'\u0E3F'},TRY:{before:'TL'},TTD:{before:'TT$'},TWD:{before:'NT$'},UAH:{before:'\u20b4'},USD:{before:'$'},UYU:{before:'$U'},VEF:{before:'Bs'},VND:{before:'\u20ab'},XCD:{before:'$'},ZAR:{before:'R'}},currency=currencies[code],before,after;if(currency){before=currency.before||'';after=currency.after||'';}
return before+amount+after;}};if(!this.JSON){JSON={};}(function(){function f(n){return n<10?"0"+n:n;}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z";};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key);}if(typeof rep==="function"){value=rep.call(holder,key,value);}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null";}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null";}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v;}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v);}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v;}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" ";}}else{if(typeof space==="string"){indent=space;}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify");}return str("",{"":value});};}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}return reviver.call(holder,key,value);}cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);});}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j;}throw new SyntaxError("JSON.parse");};}}());}());
