var rafDetect=navigator.userAgent.toLowerCase();var rafOS,rafBrowser,rafVersion,rafTotal,rafThestring;function rafGetBrowserInfo(){if(rafCheckIt('konqueror')){rafBrowser="Konqueror";rafOS="Linux";}
else if(rafCheckIt('safari'))rafBrowser="Safari"
else if(rafCheckIt('omniweb'))rafBrowser="OmniWeb"
else if(rafCheckIt('opera'))rafBrowser="Opera"
else if(rafCheckIt('webtv'))rafBrowser="WebTV";else if(rafCheckIt('icab'))rafBrowser="iCab"
else if(rafCheckIt('msie'))rafBrowser="Internet Explorer"
else if(!rafCheckIt('compatible')){rafBrowser="Netscape Navigator"
rafVersion=rafDetect.charAt(8);}
else rafBrowser="An unknown browser";if(!rafVersion)rafVersion=rafDetect.charAt(place+rafThestring.length);if(!rafOS){if(rafCheckIt('linux'))rafOS="Linux";else if(rafCheckIt('x11'))rafOS="Unix";else if(rafCheckIt('mac'))rafOS="Mac"
else if(rafCheckIt('win'))rafOS="Windows"
else rafOS="an unknown operating system";}}
function rafCheckIt(string){place=rafDetect.indexOf(string)+1;rafThestring=string;return place;}
Event.observe(window,'load',rafGetBrowserInfo,false);var Referafriend=Class.create();Referafriend.prototype={yPos:0,xPos:0,isLoaded:false,initialize:function(ctrl,url){if(url){this.content=url;}else{this.content=ctrl.href;}
ctrl.observe('click',function(event){this.activate();Event.stop(event);}.bind(this));$('referafriend').hide().observe('click',(function(event){if((event.element().id=='referafriend-cancel')||(event.element().id=='span-referafriend-cancel'))this.deactivate();}).bind(this));},activate:function(){if(rafBrowser=='Internet Explorer'){this.getScroll();this.prepareIE('100%','hidden');this.setScroll(0,0);this.hideSelects('hidden');}
this.displayReferafriend("block");},prepareIE:function(height,overflow){bod=document.getElementsByTagName('body')[0];bod.style.height=height;bod.style.overflow=overflow;htm=document.getElementsByTagName('html')[0];htm.style.height=height;htm.style.overflow=overflow;},hideSelects:function(visibility){selects=document.getElementsByTagName('select');for(i=0;i<selects.length;i++){selects[i].style.visibility=visibility;}},getScroll:function(){if(self.pageYOffset){this.yPos=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){this.yPos=document.documentElement.scrollTop;}else if(document.body){this.yPos=document.body.scrollTop;}},setScroll:function(x,y){window.scrollTo(x,y);},displayReferafriend:function(display){$('referafriend-overlay').style.display=display;$('referafriend').style.display=display;if(display!='none')this.loadInfo();},loadInfo:function(){$('referafriend').className="loading";var myAjax=new Ajax.Request(this.content,{method:'post',parameters:"",onComplete:this.processInfo.bindAsEventListener(this)});},processInfo:function(response){$('rafContent').update(response.responseText);$('referafriend').className="done";this.isLoaded=true;this.actions();},actions:function(){rafActions=$$('rafAction');},deactivate:function(){if(rafBrowser=="Internet Explorer"){this.setScroll(0,this.yPos);this.prepareIE("auto","auto");this.hideSelects("visible");}
this.displayReferafriend("none");}}
function addReferafriendMarkup(){bod=document.getElementsByTagName('body')[0];overlay=document.createElement('div');overlay.id='referafriend-overlay';raf=document.createElement('div');raf.id='referafriend';raf.className='loading';raf.innerHTML='<div id="rafLoadMessage">'+'<p>Loading</p>'+'</div>';bod.appendChild(overlay);bod.appendChild(raf);}
var ReferafriendForm=Class.create();ReferafriendForm.prototype={initialize:function(form){this.form=form;if($(this.form)){this.sendUrl=$(this.form).action;$(this.form).observe('submit',function(event){this.send();Event.stop(event);}.bind(this));}
this.loadWaiting=false;this.validator=new Validation(this.form);this.onSuccess=this.success.bindAsEventListener(this);this.onComplete=this.resetLoadWaiting.bindAsEventListener(this);this.onFailure=this.resetLoadWaiting.bindAsEventListener(this);var container=$('invite-login-container');if(container&&container.style.display=='none'){this._disableEnableAll(container,true);}},send:function(){if(!this.validator.validate()){return false;}
this.setLoadWaiting(true);var request=new Ajax.Request(this.sendUrl,{method:'post',onComplete:this.onComplete,onSuccess:this.onSuccess,onFailure:this.onFailure,parameters:Form.serialize(this.form)});},success:function(transport){this.resetLoadWaiting();if(transport&&transport.responseText){try{response=eval('('+transport.responseText+')');}
catch(e){response={};}}
if(response.error){if(response.error_type=='no_login'){var container=$('invite-login-container');if(container){container.show();this._disableEnableAll(container,false);}}
if((typeof response.message)=='string'){alert(response.message);}else{alert(response.message.join("\n"));}
return false;}
$('rafContent').update(transport.responseText);},_disableEnableAll:function(element,isDisabled){var descendants=element.descendants();for(var k in descendants){descendants[k].disabled=isDisabled;}
element.disabled=isDisabled;},setLoadWaiting:function(isDisabled){var container=$('invite-button-container');if(isDisabled){container.setStyle({opacity:.5});this._disableEnableAll(container,true);Element.show('invite-please-wait');this.loadWaiting=true;}else{container.setStyle({opacity:1});this._disableEnableAll(container,false);Element.hide('invite-please-wait');this.loadWaiting=false;}},resetLoadWaiting:function(transport){this.setLoadWaiting(false);}};var LiveChatPeriodUpdater=null;String.prototype.trim=function()
{return this.replace(/(?:^\s+|\s+$)/g,"");}
function SendMessage()
{var customermessage=document.getElementById('textmessage').value.trim();document.getElementById('textmessage').value='';if(customermessage!='')
{var img=document.getElementById('livachat_ajax_loader');if(img!=null)
{img.style.display='inline';}
var request=new Ajax.Updater('livechat_messages',urlSendMessage,{method:'get',parameters:{message:customermessage},onSuccess:function(transport,json){var img=document.getElementById('livechat_ajax_loader');if(img!=null){img.style.display='none';}
SetUpdater();},insertion:Insertion.Bottom});}}
function SetUpdater()
{if(LiveChatPeriodUpdater==null)
{LiveChatPeriodUpdater=new Ajax.PeriodicalUpdater('livechat_messages',urlUpdater,{frequency:frequency,decay:decay});}}
function LiveChatKeyPress(e){if(e.keyCode==13){SendMessage();}};if(typeof Product=='undefined'){var Product={};}
Product.Zoom=Class.create();Product.Zoom.prototype={initialize:function(imageEl,trackEl,handleEl,zoomInEl,zoomOutEl,hintEl){this.containerEl=$(imageEl).parentNode;this.imageEl=$(imageEl);this.handleEl=$(handleEl);this.trackEl=$(trackEl);this.hintEl=$(hintEl);this.containerDim=Element.getDimensions(this.containerEl);this.imageDim=Element.getDimensions(this.imageEl);this.imageDim.ratio=this.imageDim.width/this.imageDim.height;this.floorZoom=1;if(this.imageDim.width>this.imageDim.height){this.ceilingZoom=this.imageDim.width/this.containerDim.width;}else{this.ceilingZoom=this.imageDim.height/this.containerDim.height;}
if(this.imageDim.width<=this.containerDim.width&&this.imageDim.height<=this.containerDim.height){this.trackEl.up().hide();this.hintEl.hide();this.containerEl.removeClassName('product-image-zoom');return;}
this.imageX=0;this.imageY=0;this.imageZoom=1;this.sliderSpeed=0;this.sliderAccel=0;this.zoomBtnPressed=false;this.showFull=false;this.selects=document.getElementsByTagName('select');this.draggable=new Draggable(imageEl,{starteffect:false,reverteffect:false,endeffect:false,snap:this.contain.bind(this)});this.slider=new Control.Slider(handleEl,trackEl,{axis:'horizontal',minimum:0,maximum:Element.getDimensions(this.trackEl).width,alignX:0,increment:1,sliderValue:0,onSlide:this.scale.bind(this),onChange:this.scale.bind(this)});this.scale(0);Event.observe(this.imageEl,'dblclick',this.toggleFull.bind(this));Event.observe($(zoomInEl),'mousedown',this.startZoomIn.bind(this));Event.observe($(zoomInEl),'mouseup',this.stopZooming.bind(this));Event.observe($(zoomInEl),'mouseout',this.stopZooming.bind(this));Event.observe($(zoomOutEl),'mousedown',this.startZoomOut.bind(this));Event.observe($(zoomOutEl),'mouseup',this.stopZooming.bind(this));Event.observe($(zoomOutEl),'mouseout',this.stopZooming.bind(this));},toggleFull:function(){this.showFull=!this.showFull;for(i=0;i<this.selects.length;i++){this.selects[i].style.visibility=this.showFull?'hidden':'visible';}
val_scale=!this.showFull?this.slider.value:1;this.scale(val_scale);this.trackEl.style.visibility=this.showFull?'hidden':'visible';this.containerEl.style.overflow=this.showFull?'visible':'hidden';this.containerEl.style.zIndex=this.showFull?'1000':'9';return this;},scale:function(v){var centerX=(this.containerDim.width*(1-this.imageZoom)/2-this.imageX)/this.imageZoom;var centerY=(this.containerDim.height*(1-this.imageZoom)/2-this.imageY)/this.imageZoom;this.imageZoom=this.floorZoom+(v*(this.ceilingZoom-this.floorZoom));this.imageEl.style.width=(this.imageZoom*this.containerDim.width)+'px';if(this.containerDim.ratio){this.imageEl.style.height=(this.imageZoom*this.containerDim.width*this.containerDim.ratio)+'px';}
this.imageX=this.containerDim.width*(1-this.imageZoom)/2-centerX*this.imageZoom;this.imageY=this.containerDim.height*(1-this.imageZoom)/2-centerY*this.imageZoom;this.contain(this.imageX,this.imageY,this.draggable);return true;},startZoomIn:function()
{this.zoomBtnPressed=true;this.sliderAccel=.002;this.periodicalZoom();this.zoomer=new PeriodicalExecuter(this.periodicalZoom.bind(this),.05);return this;},startZoomOut:function()
{this.zoomBtnPressed=true;this.sliderAccel=-.002;this.periodicalZoom();this.zoomer=new PeriodicalExecuter(this.periodicalZoom.bind(this),.05);return this;},stopZooming:function()
{if(!this.zoomer||this.sliderSpeed==0){return;}
this.zoomBtnPressed=false;this.sliderAccel=0;},periodicalZoom:function()
{if(!this.zoomer){return this;}
if(this.zoomBtnPressed){this.sliderSpeed+=this.sliderAccel;}else{this.sliderSpeed/=1.5;if(Math.abs(this.sliderSpeed)<.001){this.sliderSpeed=0;this.zoomer.stop();this.zoomer=null;}}
this.slider.value+=this.sliderSpeed;this.slider.setValue(this.slider.value);this.scale(this.slider.value);return this;},contain:function(x,y,draggable){var dim=Element.getDimensions(draggable.element);var xMin=0,xMax=this.containerDim.width-dim.width;var yMin=0,yMax=this.containerDim.height-dim.height;x=x>xMin?xMin:x;x=x<xMax?xMax:x;y=y>yMin?yMin:y;y=y<yMax?yMax:y;this.imageX=x;this.imageY=y;this.imageEl.style.left=this.imageX+'px';this.imageEl.style.top=this.imageY+'px';return[x,y];}}
Product.Config=Class.create();Product.Config.prototype={initialize:function(config){this.config=config;this.taxConfig=this.config.taxConfig;this.settings=$$('.super-attribute-select');this.state=new Hash();this.priceTemplate=new Template(this.config.template);this.prices=config.prices;this.settings.each(function(element){Event.observe(element,'change',this.configure.bind(this))}.bind(this));this.settings.each(function(element){var attributeId=element.id.replace(/[a-z]*/,'');if(attributeId&&this.config.attributes[attributeId]){element.config=this.config.attributes[attributeId];element.attributeId=attributeId;this.state[attributeId]=false;}}.bind(this))
var childSettings=[];for(var i=this.settings.length-1;i>=0;i--){var prevSetting=this.settings[i-1]?this.settings[i-1]:false;var nextSetting=this.settings[i+1]?this.settings[i+1]:false;if(i==0){this.fillSelect(this.settings[i])}
else{this.settings[i].disabled=true;}
$(this.settings[i]).childSettings=childSettings.clone();$(this.settings[i]).prevSetting=prevSetting;$(this.settings[i]).nextSetting=nextSetting;childSettings.push(this.settings[i]);}
var separatorIndex=window.location.href.indexOf('#');if(separatorIndex!=-1){var paramsStr=window.location.href.substr(separatorIndex+1);this.values=paramsStr.toQueryParams();this.settings.each(function(element){var attributeId=element.attributeId;element.value=this.values[attributeId];this.configureElement(element);}.bind(this));}},configure:function(event){var element=Event.element(event);this.configureElement(element);},configureElement:function(element){this.reloadOptionLabels(element);if(element.value){this.state[element.config.id]=element.value;if(element.nextSetting){element.nextSetting.disabled=false;this.fillSelect(element.nextSetting);this.resetChildren(element.nextSetting);}}
else{this.resetChildren(element);}
this.reloadPrice();},reloadOptionLabels:function(element){var selectedPrice;if(element.options[element.selectedIndex].config){selectedPrice=parseFloat(element.options[element.selectedIndex].config.price)}
else{selectedPrice=0;}
for(var i=0;i<element.options.length;i++){if(element.options[i].config){element.options[i].text=this.getOptionLabel(element.options[i].config,element.options[i].config.price-selectedPrice);}}},resetChildren:function(element){if(element.childSettings){for(var i=0;i<element.childSettings.length;i++){element.childSettings[i].selectedIndex=0;element.childSettings[i].disabled=true;if(element.config){this.state[element.config.id]=false;}}}},fillSelect:function(element){var attributeId=element.id.replace(/[a-z]*/,'');var options=this.getAttributeOptions(attributeId);this.clearSelect(element);element.options[0]=new Option(this.config.chooseText,'');var prevConfig=false;if(element.prevSetting){prevConfig=element.prevSetting.options[element.prevSetting.selectedIndex];}
if(options){var index=1;for(var i=0;i<options.length;i++){var allowedProducts=[];if(prevConfig){for(var j=0;j<options[i].products.length;j++){if(prevConfig.config.allowedProducts&&prevConfig.config.allowedProducts.indexOf(options[i].products[j])>-1){allowedProducts.push(options[i].products[j]);}}}else{allowedProducts=options[i].products.clone();}
if(allowedProducts.size()>0){options[i].allowedProducts=allowedProducts;element.options[index]=new Option(this.getOptionLabel(options[i],options[i].price),options[i].id);element.options[index].config=options[i];index++;}}}},getOptionLabel:function(option,price){var price=parseFloat(price);if(this.taxConfig.includeTax){var tax=price/(100+this.taxConfig.defaultTax)*this.taxConfig.defaultTax;var excl=price-tax;var incl=excl*(1+(this.taxConfig.currentTax/100));}else{var tax=price*(this.taxConfig.currentTax/100);var excl=price;var incl=excl+tax;}
if(this.taxConfig.showIncludeTax||this.taxConfig.showBothPrices){price=incl;}else{price=excl;}
var str=option.label;if(price){if(this.taxConfig.showBothPrices){str+=' '+this.formatPrice(excl,true)+' ('+this.formatPrice(price,true)+' '+this.taxConfig.inclTaxTitle+')';}else{str+=' '+this.formatPrice(price,true);}}
return str;},formatPrice:function(price,showSign){var str='';price=parseFloat(price);if(showSign){if(price<0){str+='-';price=-price;}
else{str+='+';}}
var roundedPrice=(Math.round(price*100)/100).toString();if(this.prices&&this.prices[roundedPrice]){str+=this.prices[roundedPrice];}
else{str+=this.priceTemplate.evaluate({price:price.toFixed(2)});}
return str;},clearSelect:function(element){for(var i=element.options.length-1;i>=0;i--){element.remove(i);}},getAttributeOptions:function(attributeId){if(this.config.attributes[attributeId]){return this.config.attributes[attributeId].options;}},reloadPrice:function(){var price=0;for(var i=this.settings.length-1;i>=0;i--){var selected=this.settings[i].options[this.settings[i].selectedIndex];if(selected.config){price+=parseFloat(selected.config.price);}}
optionsPrice.changePrice('config',price);optionsPrice.reload();return price;if($('product-price-'+this.config.productId)){$('product-price-'+this.config.productId).innerHTML=price;}
this.reloadOldPrice();},reloadOldPrice:function(){if($('old-price-'+this.config.productId)){var price=parseFloat(this.config.oldPrice);for(var i=this.settings.length-1;i>=0;i--){var selected=this.settings[i].options[this.settings[i].selectedIndex];if(selected.config){price+=parseFloat(selected.config.price);}}
if(price<0)
price=0;price=this.formatPrice(price);if($('old-price-'+this.config.productId)){$('old-price-'+this.config.productId).innerHTML=price;}}}}
Product.Super={};Product.Super.Configurable=Class.create();Product.Super.Configurable.prototype={initialize:function(container,observeCss,updateUrl,updatePriceUrl,priceContainerId){this.container=$(container);this.observeCss=observeCss;this.updateUrl=updateUrl;this.updatePriceUrl=updatePriceUrl;this.priceContainerId=priceContainerId;this.registerObservers();},registerObservers:function(){var elements=this.container.getElementsByClassName(this.observeCss);elements.each(function(element){Event.observe(element,'change',this.update.bindAsEventListener(this));}.bind(this));return this;},update:function(event){var elements=this.container.getElementsByClassName(this.observeCss);var parameters=Form.serializeElements(elements,true);new Ajax.Updater(this.container,this.updateUrl+'?ajax=1',{parameters:parameters,onComplete:this.registerObservers.bind(this)});var priceContainer=$(this.priceContainerId);if(priceContainer){new Ajax.Updater(priceContainer,this.updatePriceUrl+'?ajax=1',{parameters:parameters});}}}
Product.OptionsPrice=Class.create();Product.OptionsPrice.prototype={initialize:function(config){this.productId=config.productId;this.priceFormat=config.priceFormat;this.includeTax=config.includeTax;this.defaultTax=config.defaultTax;this.currentTax=config.currentTax;this.productPrice=config.productPrice;this.showIncludeTax=config.showIncludeTax;this.showBothPrices=config.showBothPrices;this.productPrice=config.productPrice;this.productOldPrice=config.productOldPrice;this.skipCalculate=config.skipCalculate;this.duplicateIdSuffix=config.idSuffix;this.oldPlusDisposition=config.oldPlusDisposition;this.plusDisposition=config.plusDisposition;this.oldMinusDisposition=config.oldMinusDisposition;this.minusDisposition=config.minusDisposition;this.optionPrices={};this.containers={};this.displayZeroPrice=true;this.initPrices();},setDuplicateIdSuffix:function(idSuffix){this.duplicateIdSuffix=idSuffix;},initPrices:function(){this.containers[0]='product-price-'+this.productId;this.containers[1]='bundle-price-'+this.productId;this.containers[2]='price-including-tax-'+this.productId;this.containers[3]='price-excluding-tax-'+this.productId;this.containers[4]='old-price-'+this.productId;},changePrice:function(key,price){this.optionPrices[key]=parseFloat(price);},getOptionPrices:function(){var result=0;var nonTaxable=0;$H(this.optionPrices).each(function(pair){if(pair.key=='nontaxable'){nonTaxable=pair.value;}else{result+=pair.value;}});var r=new Array(result,nonTaxable);return r;},reload:function(){var price;var formattedPrice;var optionPrices=this.getOptionPrices();var nonTaxable=optionPrices[1];optionPrices=optionPrices[0];$H(this.containers).each(function(pair){var _productPrice;var _plusDisposition;var _minusDisposition;if($(pair.value)){if(pair.value=='old-price-'+this.productId&&this.productOldPrice!=this.productPrice){_productPrice=this.productOldPrice;_plusDisposition=this.oldPlusDisposition;_minusDisposition=this.oldMinusDisposition;}else{_productPrice=this.productPrice;_plusDisposition=this.plusDisposition;_minusDisposition=this.minusDisposition;}
var price=optionPrices+parseFloat(_productPrice)
if(this.includeTax=='true'){var tax=price/(100+this.defaultTax)*this.defaultTax;var excl=price-tax;var incl=excl*(1+(this.currentTax/100));}else{var tax=price*(this.currentTax/100);var excl=price;var incl=excl+tax;}
excl+=parseFloat(_plusDisposition);incl+=parseFloat(_plusDisposition);excl-=parseFloat(_minusDisposition);incl-=parseFloat(_minusDisposition);excl+=parseFloat(nonTaxable);incl+=parseFloat(nonTaxable);if(pair.value=='price-including-tax-'+this.productId){price=incl;}else if(pair.value=='old-price-'+this.productId){if(this.showIncludeTax||this.showBothPrices){price=incl;}else{price=excl;}}else{if(this.showIncludeTax){price=incl;}else{if(!this.skipCalculate||_productPrice==0){price=excl;}else{price=optionPrices+parseFloat(_productPrice);}}}
if(price<0)price=0;if(price>0||this.displayZeroPrice){formattedPrice=this.formatPrice(price);}else{formattedPrice='';}
if($(pair.value).select('.price')[0]){$(pair.value).select('.price')[0].innerHTML=formattedPrice;if($(pair.value+this.duplicateIdSuffix)&&$(pair.value+this.duplicateIdSuffix).select('.price')[0]){$(pair.value+this.duplicateIdSuffix).select('.price')[0].innerHTML=formattedPrice;}}else{$(pair.value).innerHTML=formattedPrice;if($(pair.value+this.duplicateIdSuffix)){$(pair.value+this.duplicateIdSuffix).innerHTML=formattedPrice;}}};}.bind(this));},formatPrice:function(price){return formatCurrency(price,this.priceFormat);}}