document.observe('dom:loaded',function(){initCarousel();});function initCarousel(){if($('horizontal_carousel')!=null){hCarousel=new UI.Carousel("horizontal_carousel",{scrollInc:"3"});}
if($('horizontal_carousel2')!=null){hCarousel2=new UI.Carousel("horizontal_carousel2",{scrollInc:"3"});}};document.observe('dom:loaded',function(){initNumbers();});function initNumbers(){if($('add-to-holder')!=null){var listCount=$('add-to-holder').getElementsBySelector('li');var number=1;var len=listCount.length;for(i=0;i<=len;i++){if($(listCount[i])&&$(listCount[i]).getStyle('display')!='none'){content=listCount[i].innerHTML;chiffre=number;$(listCount[i]).insert({top:'<div class="addto-numerotation">'+chiffre+'</div>'});number++;}}}};
/* SWFObject v2.2 beta1 <http://code.google.com/p/swfobject/> 
 is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
var swfobject=function(){var UNDEF="undefined",OBJECT="object",SHOCKWAVE_FLASH="Shockwave Flash",SHOCKWAVE_FLASH_AX="ShockwaveFlash.ShockwaveFlash",FLASH_MIME_TYPE="application/x-shockwave-flash",EXPRESS_INSTALL_ID="SWFObjectExprInst",ON_READY_STATE_CHANGE="onreadystatechange",win=window,doc=document,nav=navigator,plugin=false,domLoadFnArr=[main],regObjArr=[],objIdArr=[],listenersArr=[],storedAltContent,storedAltContentId,storedCallbackFn,storedCallbackObj,isDomLoaded=false,isExpressInstallActive=false,dynamicStylesheet,dynamicStylesheetMedia,autoHideShow=true,ua=function(){var w3cdom=typeof doc.getElementById!=UNDEF&&typeof doc.getElementsByTagName!=UNDEF&&typeof doc.createElement!=UNDEF,u=nav.userAgent.toLowerCase(),p=nav.platform.toLowerCase(),windows=p?/win/.test(p):/win/.test(u),mac=p?/mac/.test(p):/mac/.test(u),webkit=/webkit/.test(u)?parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,ie=!+"\v1",playerVersion=[0,0,0],d=null;if(typeof nav.plugins!=UNDEF&&typeof nav.plugins[SHOCKWAVE_FLASH]==OBJECT){d=nav.plugins[SHOCKWAVE_FLASH].description;if(d&&!(typeof nav.mimeTypes!=UNDEF&&nav.mimeTypes[FLASH_MIME_TYPE]&&!nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)){plugin=true;ie=false;d=d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");playerVersion[0]=parseInt(d.replace(/^(.*)\..*$/,"$1"),10);playerVersion[1]=parseInt(d.replace(/^.*\.(.*)\s.*$/,"$1"),10);playerVersion[2]=/[a-zA-Z]/.test(d)?parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0;}}
else if(typeof win.ActiveXObject!=UNDEF){try{var a=new ActiveXObject(SHOCKWAVE_FLASH_AX);if(a){d=a.GetVariable("$version");if(d){ie=true;d=d.split(" ")[1].split(",");playerVersion=[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)];}}}
catch(e){}}
return{w3:w3cdom,pv:playerVersion,wk:webkit,ie:ie,win:windows,mac:mac};}(),onDomLoad=function(){if(!ua.w3){return;}
if((typeof doc.readyState!=UNDEF&&doc.readyState=="complete")||(typeof doc.readyState==UNDEF&&(doc.getElementsByTagName("body")[0]||doc.body))){callDomLoadFunctions();}
if(!isDomLoaded){if(typeof doc.addEventListener!=UNDEF){doc.addEventListener("DOMContentLoaded",callDomLoadFunctions,false);}
if(ua.ie&&ua.win){doc.attachEvent(ON_READY_STATE_CHANGE,function(){if(doc.readyState=="complete"){doc.detachEvent(ON_READY_STATE_CHANGE,arguments.callee);callDomLoadFunctions();}});if(win==top){(function(){if(isDomLoaded){return;}
try{doc.documentElement.doScroll("left");}
catch(e){setTimeout(arguments.callee,0);return;}
callDomLoadFunctions();})();}}
if(ua.wk){(function(){if(isDomLoaded){return;}
if(!/loaded|complete/.test(doc.readyState)){setTimeout(arguments.callee,0);return;}
callDomLoadFunctions();})();}
addLoadEvent(callDomLoadFunctions);}}();function callDomLoadFunctions(){if(isDomLoaded){return;}
try{var t=doc.getElementsByTagName("body")[0].appendChild(createElement("span"));t.parentNode.removeChild(t);}
catch(e){return;}
isDomLoaded=true;var dl=domLoadFnArr.length;for(var i=0;i<dl;i++){domLoadFnArr[i]();}}
function addDomLoadEvent(fn){if(isDomLoaded){fn();}
else{domLoadFnArr[domLoadFnArr.length]=fn;}}
function addLoadEvent(fn){if(typeof win.addEventListener!=UNDEF){win.addEventListener("load",fn,false);}
else if(typeof doc.addEventListener!=UNDEF){doc.addEventListener("load",fn,false);}
else if(typeof win.attachEvent!=UNDEF){addListener(win,"onload",fn);}
else if(typeof win.onload=="function"){var fnOld=win.onload;win.onload=function(){fnOld();fn();};}
else{win.onload=fn;}}
function main(){if(plugin){testPlayerVersion();}
else{matchVersions();}}
function testPlayerVersion(){var b=doc.getElementsByTagName("body")[0];var o=createElement(OBJECT);o.setAttribute("type",FLASH_MIME_TYPE);var t=b.appendChild(o);if(t){var counter=0;(function(){if(typeof t.GetVariable!=UNDEF){var d=t.GetVariable("$version");if(d){d=d.split(" ")[1].split(",");ua.pv=[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)];}}
else if(counter<10){counter++;setTimeout(arguments.callee,10);return;}
b.removeChild(o);t=null;matchVersions();})();}
else{matchVersions();}}
function matchVersions(){var rl=regObjArr.length;if(rl>0){for(var i=0;i<rl;i++){var id=regObjArr[i].id;var cb=regObjArr[i].callbackFn;var cbObj={success:false,id:id};if(ua.pv[0]>0){var obj=getElementById(id);if(obj){if(hasPlayerVersion(regObjArr[i].swfVersion)&&!(ua.wk&&ua.wk<312)){setVisibility(id,true);if(cb){cbObj.success=true;cbObj.ref=getObjectById(id);cb(cbObj);}}
else if(regObjArr[i].expressInstall&&canExpressInstall()){var att={};att.data=regObjArr[i].expressInstall;att.width=obj.getAttribute("width")||"0";att.height=obj.getAttribute("height")||"0";if(obj.getAttribute("class")){att.styleclass=obj.getAttribute("class");}
if(obj.getAttribute("align")){att.align=obj.getAttribute("align");}
var par={};var p=obj.getElementsByTagName("param");var pl=p.length;for(var j=0;j<pl;j++){if(p[j].getAttribute("name").toLowerCase()!="movie"){par[p[j].getAttribute("name")]=p[j].getAttribute("value");}}
showExpressInstall(att,par,id,cb);}
else{displayAltContent(obj);if(cb){cb(cbObj);}}}}
else{setVisibility(id,true);if(cb){var o=getObjectById(id);if(o&&typeof o.SetVariable!=UNDEF){cbObj.success=true;cbObj.ref=o;}
cb(cbObj);}}}}}
function getObjectById(objectIdStr){var r=null;var o=getElementById(objectIdStr);if(o&&o.nodeName=="OBJECT"){if(typeof o.SetVariable!=UNDEF){r=o;}
else{var n=o.getElementsByTagName(OBJECT)[0];if(n){r=n;}}}
return r;}
function canExpressInstall(){return!isExpressInstallActive&&hasPlayerVersion("6.0.65")&&(ua.win||ua.mac)&&!(ua.wk&&ua.wk<312);}
function showExpressInstall(att,par,replaceElemIdStr,callbackFn){isExpressInstallActive=true;storedCallbackFn=callbackFn||null;storedCallbackObj={success:false,id:replaceElemIdStr};var obj=getElementById(replaceElemIdStr);if(obj){if(obj.nodeName=="OBJECT"){storedAltContent=abstractAltContent(obj);storedAltContentId=null;}
else{storedAltContent=obj;storedAltContentId=replaceElemIdStr;}
att.id=EXPRESS_INSTALL_ID;if(typeof att.width==UNDEF||(!/%$/.test(att.width)&&parseInt(att.width,10)<310)){att.width="310";}
if(typeof att.height==UNDEF||(!/%$/.test(att.height)&&parseInt(att.height,10)<137)){att.height="137";}
doc.title=doc.title.slice(0,47)+" - Flash Player Installation";var pt=ua.ie&&ua.win?"ActiveX":"PlugIn",fv="MMredirectURL="+win.location.toString().replace(/&/g,"%26")+"&MMplayerType="+pt+"&MMdoctitle="+doc.title;if(typeof par.flashvars!=UNDEF){par.flashvars+="&"+fv;}
else{par.flashvars=fv;}
if(ua.ie&&ua.win&&obj.readyState!=4){var newObj=createElement("div");replaceElemIdStr+="SWFObjectNew";newObj.setAttribute("id",replaceElemIdStr);obj.parentNode.insertBefore(newObj,obj);obj.style.display="none";(function(){if(obj.readyState==4){obj.parentNode.removeChild(obj);}
else{setTimeout(arguments.callee,10);}})();}
createSWF(att,par,replaceElemIdStr);}}
function displayAltContent(obj){if(ua.ie&&ua.win&&obj.readyState!=4){var el=createElement("div");obj.parentNode.insertBefore(el,obj);el.parentNode.replaceChild(abstractAltContent(obj),el);obj.style.display="none";(function(){if(obj.readyState==4){obj.parentNode.removeChild(obj);}
else{setTimeout(arguments.callee,10);}})();}
else{obj.parentNode.replaceChild(abstractAltContent(obj),obj);}}
function abstractAltContent(obj){var ac=createElement("div");if(ua.win&&ua.ie){ac.innerHTML=obj.innerHTML;}
else{var nestedObj=obj.getElementsByTagName(OBJECT)[0];if(nestedObj){var c=nestedObj.childNodes;if(c){var cl=c.length;for(var i=0;i<cl;i++){if(!(c[i].nodeType==1&&c[i].nodeName=="PARAM")&&!(c[i].nodeType==8)){ac.appendChild(c[i].cloneNode(true));}}}}}
return ac;}
function createSWF(attObj,parObj,id){var r,el=getElementById(id);if(ua.wk&&ua.wk<312){return r;}
if(el){if(typeof attObj.id==UNDEF){attObj.id=id;}
if(ua.ie&&ua.win){var att="";for(var i in attObj){if(attObj[i]!=Object.prototype[i]){if(i.toLowerCase()=="data"){parObj.movie=attObj[i];}
else if(i.toLowerCase()=="styleclass"){att+=' class="'+attObj[i]+'"';}
else if(i.toLowerCase()!="classid"){att+=' '+i+'="'+attObj[i]+'"';}}}
var par="";for(var j in parObj){if(parObj[j]!=Object.prototype[j]){par+='<param name="'+j+'" value="'+parObj[j]+'" />';}}
el.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+att+'>'+par+'</object>';objIdArr[objIdArr.length]=attObj.id;r=getElementById(attObj.id);}
else{var o=createElement(OBJECT);o.setAttribute("type",FLASH_MIME_TYPE);for(var m in attObj){if(attObj[m]!=Object.prototype[m]){if(m.toLowerCase()=="styleclass"){o.setAttribute("class",attObj[m]);}
else if(m.toLowerCase()!="classid"){o.setAttribute(m,attObj[m]);}}}
for(var n in parObj){if(parObj[n]!=Object.prototype[n]&&n.toLowerCase()!="movie"){createObjParam(o,n,parObj[n]);}}
el.parentNode.replaceChild(o,el);r=o;}}
return r;}
function createObjParam(el,pName,pValue){var p=createElement("param");p.setAttribute("name",pName);p.setAttribute("value",pValue);el.appendChild(p);}
function removeSWF(id){var obj=getElementById(id);if(obj&&obj.nodeName=="OBJECT"){if(ua.ie&&ua.win){obj.style.display="none";(function(){if(obj.readyState==4){removeObjectInIE(id);}
else{setTimeout(arguments.callee,10);}})();}
else{obj.parentNode.removeChild(obj);}}}
function removeObjectInIE(id){var obj=getElementById(id);if(obj){for(var i in obj){if(typeof obj[i]=="function"){obj[i]=null;}}
obj.parentNode.removeChild(obj);}}
function getElementById(id){var el=null;try{el=doc.getElementById(id);}
catch(e){}
return el;}
function createElement(el){return doc.createElement(el);}
function addListener(target,eventType,fn){target.attachEvent(eventType,fn);listenersArr[listenersArr.length]=[target,eventType,fn];}
function hasPlayerVersion(rv){var pv=ua.pv,v=rv.split(".");v[0]=parseInt(v[0],10);v[1]=parseInt(v[1],10)||0;v[2]=parseInt(v[2],10)||0;return(pv[0]>v[0]||(pv[0]==v[0]&&pv[1]>v[1])||(pv[0]==v[0]&&pv[1]==v[1]&&pv[2]>=v[2]))?true:false;}
function createCSS(sel,decl,media,newStyle){if(ua.ie&&ua.mac){return;}
var h=doc.getElementsByTagName("head")[0];if(!h){return;}
var m=(media&&typeof media=="string")?media:"screen";if(newStyle){dynamicStylesheet=null;dynamicStylesheetMedia=null;}
if(!dynamicStylesheet||dynamicStylesheetMedia!=m){var s=createElement("style");s.setAttribute("type","text/css");s.setAttribute("media",m);dynamicStylesheet=h.appendChild(s);if(ua.ie&&ua.win&&typeof doc.styleSheets!=UNDEF&&doc.styleSheets.length>0){dynamicStylesheet=doc.styleSheets[doc.styleSheets.length-1];}
dynamicStylesheetMedia=m;}
if(ua.ie&&ua.win){if(dynamicStylesheet&&typeof dynamicStylesheet.addRule==OBJECT){dynamicStylesheet.addRule(sel,decl);}}
else{if(dynamicStylesheet&&typeof doc.createTextNode!=UNDEF){dynamicStylesheet.appendChild(doc.createTextNode(sel+" {"+decl+"}"));}}}
function setVisibility(id,isVisible){if(!autoHideShow){return;}
var v=isVisible?"visible":"hidden";if(isDomLoaded&&getElementById(id)){getElementById(id).style.visibility=v;}
else{createCSS("#"+id,"visibility:"+v);}}
function urlEncodeIfNecessary(s){var regex=/[\\\"<>\.;]/;var hasBadChars=regex.exec(s)!=null;return hasBadChars&&typeof encodeURIComponent!=UNDEF?encodeURIComponent(s):s;}
var cleanup=function(){if(ua.ie&&ua.win){window.attachEvent("onunload",function(){var ll=listenersArr.length;for(var i=0;i<ll;i++){listenersArr[i][0].detachEvent(listenersArr[i][1],listenersArr[i][2]);}
var il=objIdArr.length;for(var j=0;j<il;j++){removeSWF(objIdArr[j]);}
for(var k in ua){ua[k]=null;}
ua=null;for(var l in swfobject){swfobject[l]=null;}
swfobject=null;});}}();return{registerObject:function(objectIdStr,swfVersionStr,xiSwfUrlStr,callbackFn){if(ua.w3&&objectIdStr&&swfVersionStr){var regObj={};regObj.id=objectIdStr;regObj.swfVersion=swfVersionStr;regObj.expressInstall=xiSwfUrlStr;regObj.callbackFn=callbackFn;regObjArr[regObjArr.length]=regObj;setVisibility(objectIdStr,false);}
else if(callbackFn){callbackFn({success:false,id:objectIdStr});}},getObjectById:function(objectIdStr){if(ua.w3){return getObjectById(objectIdStr);}},embedSWF:function(swfUrlStr,replaceElemIdStr,widthStr,heightStr,swfVersionStr,xiSwfUrlStr,flashvarsObj,parObj,attObj,callbackFn){var callbackObj={success:false,id:replaceElemIdStr};if(ua.w3&&!(ua.wk&&ua.wk<312)&&swfUrlStr&&replaceElemIdStr&&widthStr&&heightStr&&swfVersionStr){setVisibility(replaceElemIdStr,false);addDomLoadEvent(function(){widthStr+="";heightStr+="";var att={};if(attObj&&typeof attObj===OBJECT){for(var i in attObj){att[i]=attObj[i];}}
att.data=swfUrlStr;att.width=widthStr;att.height=heightStr;var par={};if(parObj&&typeof parObj===OBJECT){for(var j in parObj){par[j]=parObj[j];}}
if(flashvarsObj&&typeof flashvarsObj===OBJECT){for(var k in flashvarsObj){if(typeof par.flashvars!=UNDEF){par.flashvars+="&"+k+"="+flashvarsObj[k];}
else{par.flashvars=k+"="+flashvarsObj[k];}}}
if(hasPlayerVersion(swfVersionStr)){var obj=createSWF(att,par,replaceElemIdStr);if(att.id==replaceElemIdStr){setVisibility(replaceElemIdStr,true);}
callbackObj.success=true;callbackObj.ref=obj;}
else if(xiSwfUrlStr&&canExpressInstall()){att.data=xiSwfUrlStr;showExpressInstall(att,par,replaceElemIdStr,callbackFn);return;}
else{setVisibility(replaceElemIdStr,true);}
if(callbackFn){callbackFn(callbackObj);}});}
else if(callbackFn){callbackFn(callbackObj);}},switchOffAutoHideShow:function(){autoHideShow=false;},ua:ua,getFlashPlayerVersion:function(){return{major:ua.pv[0],minor:ua.pv[1],release:ua.pv[2]};},hasFlashPlayerVersion:hasPlayerVersion,createSWF:function(attObj,parObj,replaceElemIdStr){if(ua.w3){return createSWF(attObj,parObj,replaceElemIdStr);}
else{return undefined;}},showExpressInstall:function(att,par,replaceElemIdStr,callbackFn){if(ua.w3&&canExpressInstall()){showExpressInstall(att,par,replaceElemIdStr,callbackFn);}},removeSWF:function(objElemIdStr){if(ua.w3){removeSWF(objElemIdStr);}},createCSS:function(selStr,declStr,mediaStr,newStyleBoolean){if(ua.w3){createCSS(selStr,declStr,mediaStr,newStyleBoolean);}},addDomLoadEvent:addDomLoadEvent,addLoadEvent:addLoadEvent,getQueryParamValue:function(param){var q=doc.location.search||doc.location.hash;if(q){if(/\?/.test(q)){q=q.split("?")[1];}
if(param==null){return urlEncodeIfNecessary(q);}
var pairs=q.split("&");for(var i=0;i<pairs.length;i++){if(pairs[i].substring(0,pairs[i].indexOf("="))==param){return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=")+1)));}}}
return"";},expressInstallCallback:function(){if(isExpressInstallActive){var obj=getElementById(EXPRESS_INSTALL_ID);if(obj&&storedAltContent){obj.parentNode.replaceChild(storedAltContent,obj);if(storedAltContentId){setVisibility(storedAltContentId,true);if(ua.ie&&ua.win){storedAltContent.style.display="block";}}
if(storedCallbackFn){storedCallbackFn(storedCallbackObj);}}
isExpressInstallActive=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();}};var spConfig=null;var bundle=null;var price=0;var price_bundle=0;function updatePriceThree()
{var text3="<div id=\"colonne1\"><div class=\"troix\" ><p><span class=\"red\"> Payez en 3 fois sans frais !</span><br />Payez 3 fois ";var text="<div class=\"troix2\" ><p><span class=\"red\"> Payez en 3 fois sans frais !</span><br />Payez 3 fois ";var euro1="<div class=\"uneuro\"><iframe id='simulateur1euro' frameborder='0' scrolling='no' width='120px' height='40px' src='http://www.box1euro.com/calculatrice/simulateur1euro.php5?idPartenaire=3332774&montant=";var option3="&option=3&couleur=98C000&couleurCalculatrice=undefined'/></iframe><a href=\"javascript:calculette('http://www.box1euro.com/calculatrice/calculette1euro.php5?idPartenaire=3332774&montant=";var option31="&option=3&couleur=98C000&couleurCalculatrice=undefined')\"><img src='http://www.box1euro.com/images/simulateur/lienCalculatriceGenerique.gif' border='0'/></a></div></div>";var option2="&option=2&couleur=98C000&couleurCalculatrice=undefined'/></iframe><a href=\"javascript:calculette('http://www.box1euro.com/calculatrice/calculette1euro.php5?idPartenaire=3332774&montant=";var option21="&option=2&couleur=98C000&couleurCalculatrice=undefined')\"><img src='http://www.box1euro.com/images/simulateur/lienCalculatriceGenerique.gif' border='0'/></a></div></div>";if(spConfig!=null)
{price=spConfig.getPrice()[0];if(document.getElementById('prix_trois'))
if((price!=0)&&(price/3>=20)){if((price>=60)&&(price<=99)){document.getElementById('prix_trois').innerHTML=text3+(Math.round((parseFloat(price)/3)*100))/100+"&euro; pour cet achat.</div>"+euro1+price+option2+price+option21;}
else if(price>=100){document.getElementById('prix_trois').innerHTML=text3+(Math.round((parseFloat(price)/3)*100))/100+"&euro; pour cet achat.</div>"+euro1+price+option3+price+option31;}}
else if((price!=0)&&(price/3<=20)){document.getElementById('prix_trois').innerHTML=text+(Math.round((parseFloat(price)/3)*100))/100+"&euro; pour cet achat.</div>";}
else{document.getElementById('prix_trois').innerHTML="<br />";}}
else if(bundle!=null)
{price_bundle=bundle.getPrice()[0];if(document.getElementById('prix_trois')&&document.getElementById('prix_trois').innerHTML)
if((price_bundle!=0)&&(price_bundle/3>=20)){if((price_bundle>=60)&&(price_bundle<=99)){document.getElementById('prix_trois').innerHTML=text3+(Math.round((parseFloat(price_bundle)/3)*100))/100+"&euro; pour cet achat.</div>"+euro1+price_bundle+option2+price_bundle+option21;}
else if(price_bundle>=100){document.getElementById('prix_trois').innerHTML=text3+(Math.round((parseFloat(price_bundle)/3)*100))/100+"&euro; pour cet achat.</div>"+euro1+price_bundle+option3+price_bundle+option31;}}
else if((price_bundle!=0)&&(price_bundle/3<=20)){document.getElementById('prix_trois').innerHTML=text+(Math.round((parseFloat(price_bundle)/3)*100))/100+"&euro; pour cet achat.</div>";}else{document.getElementById('prix_trois').innerHTML="<br />";}}}
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.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));}},setPrice:function(price){if(price>0){optionsPrice.changePrice('config',price);optionsPrice.reload();}else{optionsPrice.changePrice('config',0);optionsPrice.reload();document.getElementById('product-price-'+this.config.productId).innerHTML='';}},setConsPrice:function(pricecons){if(price>0){optionsPrice.changeConsPrice('config',pricecons);optionsPrice.reload();}else{document.getElementById('product-price-'+this.config.productId).innerHTML='';}},getPrice:function(){return optionsPrice.getOptionPrices()},getConsPrice:function(){return optionsPrice.getOptionConsPrices()},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();updatePriceThree();},reloadOptionLabels:function(element){var selectedPrice;if(element.options[element.selectedIndex].config){selectedPrice=parseFloat(element.options[element.selectedIndex].config.price)}
else{selectedPrice=0;}},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;var orig_price=0;var cons_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);orig_price+=parseFloat(selected.config.orig_price);cons_price+=parseFloat(selected.config.cons_price);}}
if(price!=0){optionsPrice.changePrice('config',price);optionsPrice.changeOrigPrice('config',orig_price);optionsPrice.reload();optionsPrice.changeConsPrice('config',cons_price);this.reloadConsPrice();if(parseFloat(orig_price)>parseFloat(price)&&parseFloat(price)!=0){this.reloadOldPrice();}
else if($('old-price-'+this.config.productId))
{$('old-price-'+this.config.productId).innerHTML="";}}
return price;},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.orig_price);}}
price=this.formatPrice(price);if($('old-price-'+this.config.productId)){$('old-price-'+this.config.productId).innerHTML=price;}}},reloadConsPrice:function(){var cons_price=parseFloat(this.config.consPrice);for(var i=this.settings.length-1;i>=0;i--){var selected=this.settings[i].options[this.settings[i].selectedIndex];if(selected.config){if(selected.config.cons_price)cons_price+=parseFloat(selected.config.cons_price);}}
if($('cons-price-'+this.config.productId)){if(cons_price>0){if((parseFloat(cons_price)>(parseFloat(selected.config.orig_price)*1.04))&&parseFloat(cons_price)>0){cons_price=this.formatPrice(cons_price);$('cons-price-'+this.config.productId).innerHTML="Prix Public : <del>"+cons_price+"</del>";}
else $('cons-price-'+this.config.productId).innerHTML="";}else{$('cons-price-'+this.config.productId).innerHTML="";}}}}
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.productConsPrice=config.productConsPrice;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.origPrices={};this.consPrices={};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;this.containers[4]='cons-price-'+this.productId;},changePrice:function(key,price){this.optionPrices[key]=parseFloat(price);},changeOrigPrice:function(key,price){if(this.optionPrices[key]!=parseFloat(price))this.origPrices[key]=parseFloat(price);},changeConsPrice:function(key,price){if(this.optionPrices[key]!=parseFloat(price))this.consPrices[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;},getOrigPrices:function(){var result=0;var nonTaxable=0;$H(this.origPrices).each(function(pair){if(pair.key=='nontaxable'){nonTaxable=pair.value;}else{result+=pair.value;}});var r=new Array(result,nonTaxable);return r;},getOptionConsPrices:function(){var result=0;var nonTaxable=0;$H(this.consPrices).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 cons_price;var formattedPrice;var optionPrices=this.getOptionPrices();var origPrices=this.getOrigPrices();var consPrices=this.getOptionConsPrices();var nonTaxable=optionPrices[1];optionPrices=optionPrices[0];optionConsPrices=consPrices[0];origPrices=origPrices[0];consPrices=consPrices[0];$H(this.containers).each(function(pair){var _productPrice;var _productConsPrice;var _plusDisposition;var _minusDisposition;if($(pair.value)){_productConsPrice=this.productConsPrice;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;}
if(pair.value=='old-price-'+this.productId){var price=origPrices+parseFloat(_productPrice)}else{var price=optionPrices+parseFloat(_productPrice)}
if(pair.value=='cons-price-'+this.productId){var cons_price=consPrices+parseFloat(_productConsPrice)}else{var cons_price=optionConsPrices+parseFloat(_productConsPrice)}
if(this.includeTax=='true'){var tax=price/(100+this.defaultTax)*this.defaultTax;var cons_tax=cons_price/(100+this.defaultTax)*this.defaultTax;var excl=price-tax;var cons_excl=cons_price-cons_tax;var incl=excl*(1+(this.currentTax/100));var cons_incl=cons_excl*(1+(this.currentTax/100));}else{var tax=price*(this.currentTax/100);var excl=price;var incl=excl+tax;var cons_tax=cons_price*(this.currentTax/100);var cons_excl=cons_price;var cons_incl=cons_excl+tax;}
excl+=parseFloat(_plusDisposition);incl+=parseFloat(_plusDisposition);excl-=parseFloat(_minusDisposition);incl-=parseFloat(_minusDisposition);cons_excl+=parseFloat(_plusDisposition);cons_incl+=parseFloat(_plusDisposition);cons_excl-=parseFloat(_minusDisposition);cons_incl-=parseFloat(_minusDisposition);excl+=parseFloat(nonTaxable);incl+=parseFloat(nonTaxable);cons_excl+=parseFloat(nonTaxable);cons_incl+=parseFloat(nonTaxable);if(pair.value=='price-including-tax-'+this.productId){price=incl;cons_price=cons_incl;}else if(pair.value=='old-price-'+this.productId){if(this.showIncludeTax||this.showBothPrices){price=incl;cons_price=cons_incl;}else{price=excl;cons_price=cons_incl;}}else{if(this.showIncludeTax){price=incl;cons_price=cons_incl;}else{if(!this.skipCalculate||_productPrice==0){price=excl;cons_price=cons_excl;}else{price=optionPrices+parseFloat(_productPrice);cons_price=optionConsPrices+parseFloat(_productPrice);}}}
if(price<0)price=0;if(cons_price<0)cons_price=0;if(price>0||this.displayZeroPrice){formattedPrice=this.formatPrice(price);}else{formattedPrice='';}
if((cons_price*1.04>price)&&(cons_price>0||this.displayZeroPrice)){cons_formattedPrice=this.formatConsPrice(cons_price);}else{cons_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;}}
if(pair.value=='cons-price-'+this.productId){if($(pair.value).select('.cons_price')[0]){$(pair.value).select('.cons_price')[0].innerHTML=cons_formattedPrice;if($(pair.value+this.duplicateIdSuffix)&&$(pair.value+this.duplicateIdSuffix).select('.cons_price')[0]){$(pair.value+this.duplicateIdSuffix).select('.cons_price')[0].innerHTML=cons_formattedPrice;}}else{$(pair.value).innerHTML=cons_formattedPrice;if($(pair.value+this.duplicateIdSuffix)){$(pair.value+this.duplicateIdSuffix).innerHTML=cons_formattedPrice;}}}};}.bind(this));},formatPrice:function(price){return formatCurrency(price,this.priceFormat);},formatConsPrice:function(price){return'Prix Public : <del>'+formatCurrency(price,this.priceFormat)+'</del>';}}