document.observe("dom:loaded",init);var initFunctions=new Array();initFunctions.push(setUpExternalLinks);initFunctions.push(setUpPrint);window.LightboxOptions={fileLoadingImage:'/gen/img/lightbox/loading.gif',fileBottomNavCloseImage:'/gen/img/lightbox/closelabel.gif',overlayOpacity:0.8,animate:true,resizeSpeed:7,borderSize:10,labelImage:"Image",labelOf:"of"};function init(){for(var i=0;i<initFunctions.length;i++)
initFunctions[i].call(this);if($("close-window"))
Event.observe("close-window","click",closeWindow);}
function getURLParam(strParamName){var strReturn="";var strHref=window.location.href;if(strHref.indexOf("?")>-1){var strQueryString=strHref.substr(strHref.indexOf("?")).toLowerCase();strParamName=strParamName.toLowerCase();var aQueryString=strQueryString.split("&");for(var iParam=0;iParam<aQueryString.length;iParam++){if(aQueryString[iParam].indexOf(strParamName+"=")>-1){var aParam=aQueryString[iParam].split("=");strReturn=aParam[1];break;}}}
return strReturn;}
function trimString(str){return str.replace(/^\s+|\s+$/g,"");}
function isDefined(v){return(typeof(window[v])=="undefined")?false:true;}
function IsNumeric(sText,decimalOK,spacesOK,hyphensOK,plusesOK){var ValidChars="0123456789";if(decimalOK)ValidChars=ValidChars+".";if(spacesOK)ValidChars=ValidChars+" ";if(hyphensOK)ValidChars=ValidChars+"-";if(plusesOK)ValidChars=ValidChars+"+";var IsNumber=true;var Char;if(sText.length==0)
return false;for(var i=0;i<sText.length&&IsNumber==true;i++){Char=sText.charAt(i);if(ValidChars.indexOf(Char)==-1)
IsNumber=false;}
return IsNumber;}
function toggleCheck(chkBox){chkBoxObj=$(chkBox);if(chkBoxObj.checked)
chkBoxObj.checked=false;else
chkBoxObj.checked=true;}
function activateRadio(radio){radioObj=$(radio);radioObj.checked=true;}
function roundValue(price){return Math.round(price*100)/100;}
function formatCurrency(price){var result="";var tmpPrice=price;price=Math.abs(price);var decimals=(Math.round((price-Math.floor(price))*100)).toString();if(decimals>=100){decimals="00";price=price+1;}
if(decimals.length==1)decimals="0"+decimals;var thousands=Math.floor(price/1000);if(thousands>0){price-=thousands*1000;result=thousands.toString()+",";units=Math.floor(price);if(units<10)result=result+"00"+units.toString();else if(units<100)result=result+"0"+units.toString();else result=result+units.toString();}else result=Math.floor(price).toString();result=result+"."+decimals;if(tmpPrice<0)result="-"+result;return result;}
function setUpExternalLinks(){if(!document.getElementsByTagName)return;var anchors=document.getElementsByTagName("a");for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute("href")&&/\bexternal\b/.test(anchor.getAttribute("rel"))){anchor.target="_blank";if(anchor.getAttribute("title")){if(anchor.title.indexOf("(opens in a new window)")<0)anchor.title=anchor.title+' (opens in a new window)';}}}}
function setUpPrint(){var arPrints=$$("a.print-page");for(var i=0;i<arPrints.length;i++)
Event.observe(arPrints[i],"click",function(){window.print();return false;});}
function createUUID(){var s=[],itoh='0123456789ABCDEF';for(var i=0;i<36;i++)
s[i]=Math.floor(Math.random()*0x10);s[14]=4;s[19]=(s[19]&0x3)|0x8;for(var i=0;i<36;i++)
s[i]=itoh[s[i]];s[8]=s[13]=s[18]=s[23]='-';return s.join('');}
function getXmlNodeValue(xmlNode){if(typeof(xmlNode.textContent)=='string')
return xmlNode.textContent;else
return xmlNode.firstChild.nodeValue;}
function listFind(list,itemToFind){var aList=list.split(',');for(var i=0;i<aList.length;++i){if(aList[i]==itemToFind)
return i;}
return-1;}
try
{if(!window.console||typeof(window.console)!='object')
{var names=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var i=0;i<names.length;++i)
window.console[names[i]]=function(){}}
if(typeof CONSOLELOGGING!="undefined"&&!CONSOLELOGGING)
window.console.log=function(s){};}
catch(e){}
document.observe("dom:loaded",initStore);var ajaxURL="ajax/?uuid="+createUUID()+"&event=ajax.";function initStore(){if($("quicksearchstring"))
setUpQuickSearch();if($("subcatsList"))
setUpSubCatLinks();if($("aodOptions"))
setUpAOD();if($('adminMenu')){Event.observe("adminMenu","mouseover",function(){showAdminMenu(1)});Event.observe("adminMenu","mouseout",function(){showAdminMenu(0)});}}
function updateUnit(){$("unit-form").submit();}
function closeWindow(){window.close();}
function showAdminMenu(bShow){var menu=$('adminMenu').getElementsByTagName('ul')[0];if(bShow)
Element.show(menu);else
Element.hide(menu);}
function setUpQuickSearch(){var qSearch=$("quicksearchstring","quicksearchstringmirror");for(var i=0;i<qSearch.length;i++){if(qSearch[i]){presetQSearchText=qSearch[i].value;qSearch[i].onfocus=function(){qSearchFocus(this);}
qSearch[i].onblur=function(){qSearchBlur(this,presetQSearchText);}}}}
function qSearchFocus(searchInput){if(searchInput.value==presetQSearchText)
searchInput.value="";}
function qSearchBlur(searchInput,presetText){if(searchInput.value=='')
searchInput.value=presetText;}
var TINY={};TINY.box=function(){var p,m,b,fn,ic,iu,iw,ih,ia,f=0;return{show:function(c,u,w,h,a,t){if(!f){p=document.createElement('div');p.id='tinybox';m=document.createElement('div');m.id='tinymask';b=document.createElement('div');b.id='tinycontent';Element.extend(b);document.body.appendChild(m);document.body.appendChild(p);p.appendChild(b);m.onclick=TINY.box.hide;window.onresize=TINY.box.resize;f=1}
if(!a&&!u){p.style.width=w?w+'px':'auto';p.style.height=h?h+'px':'auto';p.style.backgroundImage='none';b.innerHTML=c}else{b.style.display='none';p.style.width=p.style.height='100px'}
this.mask();ic=c;iu=u;iw=w;ih=h;ia=a;this.alpha(m,1,80,3);if(t){setTimeout(function(){TINY.box.hide()},1000*t)}},fill:function(c,u,w,h,a){if(u){p.style.backgroundImage='';new Ajax.Request(c,{method:'get',onSuccess:function(response){TINY.box.psh(response.responseText,w,h,a);},onFailure:function(response){TINY.box.psh('<div class="bad">We\'re sorry, this content appears to be unavailable at the moment.</div>',w,h,a);}});}else{this.psh(c,w,h,a)}},psh:function(c,w,h,a){if(a){if(!w||!h){var x=p.style.width,y=p.style.height;b.update(c);p.style.width=w?w+'px':'';p.style.height=h?h+'px':'';b.style.display='';w=parseInt(b.offsetWidth);h=parseInt(b.offsetHeight);b.style.display='none';p.style.width=x;p.style.height=y;}
else{b.update(c);}
this.size(p,w,h)}else{p.style.backgroundImage='none'}},hide:function(){TINY.box.alpha(p,-1,0,3)},resize:function(){TINY.box.pos();TINY.box.mask()},resizeForContent:function(){this.size('tinybox',b.getWidth(),b.getHeight());},mask:function(){m.style.height=TINY.page.total(1)+'px';m.style.width='';m.style.width=TINY.page.total(0)+'px'},pos:function(){var t=(TINY.page.height()/2)-(p.offsetHeight/2);t=t<10?10:t;p.style.top=(t+TINY.page.top())+'px';p.style.left=(TINY.page.width()/2)-(p.offsetWidth/2)+'px'},alpha:function(e,d,a){clearInterval(e.ai);if(d==1){e.style.opacity=0;e.style.filter='alpha(opacity=0)';e.style.display='block';this.pos()}
e.ai=setInterval(function(){TINY.box.ta(e,a,d)},20)},ta:function(e,a,d){var o=Math.round(e.style.opacity*100);if(o==a){clearInterval(e.ai);if(d==-1){e.style.display='none';e==p?TINY.box.alpha(m,-1,0,2):b.innerHTML=p.style.backgroundImage=''}else{e==m?this.alpha(p,1,100):TINY.box.fill(ic,iu,iw,ih,ia)}}else{var n=Math.ceil((o+((a-o)*.5)));n=n==1?0:n;e.style.opacity=n/100;e.style.filter='alpha(opacity='+n+')';}},size:function(e,w,h){e=typeof e=='object'?e:$(e);clearInterval(e.si);var ow=e.offsetWidth,oh=e.offsetHeight,wo=ow-parseInt(e.style.width),ho=oh-parseInt(e.style.height);var wd=ow-wo>w?0:1,hd=(oh-ho>h)?0:1;e.si=setInterval(function(){TINY.box.ts(e,w,wo,wd,h,ho,hd)},20)},ts:function(e,w,wo,wd,h,ho,hd){var ow=e.offsetWidth-wo,oh=e.offsetHeight-ho;if(ow==w&&oh==h){clearInterval(e.si);p.style.backgroundImage='none';b.style.display='block'}else{if(ow!=w){var n=ow+((w-ow)*.5);e.style.width=wd?Math.ceil(n)+'px':Math.floor(n)+'px'}
if(oh!=h){var n=oh+((h-oh)*.5);e.style.height=hd?Math.ceil(n)+'px':Math.floor(n)+'px'}
this.pos()}}}}();TINY.page=function(){return{top:function(){return document.documentElement.scrollTop||document.body.scrollTop},width:function(){return self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth},height:function(){return self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight},total:function(d){var b=document.body,e=document.documentElement;return d?Math.max(Math.max(b.scrollHeight,e.scrollHeight),Math.max(b.clientHeight,e.clientHeight)):Math.max(Math.max(b.scrollWidth,e.scrollWidth),Math.max(b.clientWidth,e.clientWidth))}}}();initFunctions.push(setUpUnitSelectors);function setUpUnitSelectors(){var i,uOptions;var uSelectors=$$(".unitSelector");for(i=0;i<uSelectors.length;i++){uOptions=uSelectors[i].getElementsByTagName("div");if(uOptions.length==1){uSelectors[i].onmouseover=function(){unitsOver(this);};uSelectors[i].onmouseout=function(){unitsOut(this);};}}}
function unitsOver(listItem){var ulElements=listItem.getElementsByTagName("ul");Element.show(ulElements[0]);}
function unitsOut(listItem){var ulElements=listItem.getElementsByTagName("ul");Element.hide(ulElements[0]);}
function setupPCImg(){var imgLinks=$$('.componentImages li a');for(var i=0;i<imgLinks.length;i++)
Event.observe(imgLinks[i],'click',swapImg);}
function swapImg(e){$('mainPCImg').src=e.target.href;Event.stop(e);}
function setUpWall(){var wallPickerLinks=$$('.wallPickerLink');var wpID=0;wallPickerLinks.each(function(wallPicker){wpID=Math.floor(Math.random()*1001);wallPicker.id='wpl'+wpID;wallPicker.update('Change wall colour');Event.observe(wallPicker,'click',function(){TINY.box.show(ajaxURL+'wallpicker'+'&wpID='+wpID,1,500,500,1);});});}
function activateSwatches(parentID){var s=$(parentID).getElementsByClassName('swatch');var wallElement=$('wpl'+parentID.replace(new RegExp("[a-z]*"),'')).previous();var swatchElement=$('cwc'+parentID.replace(new RegExp("[a-z]*"),''));for(var i=0;i<s.length;i++)
s[i].observe('click',function(e){changeWall(this,wallElement,swatchElement);});var c=$(parentID).getElementsByClassName('clearWall');if(c.length){for(i=0;i<c.length;i++)
c[i].observe('click',function(e){changeWall(this,wallElement,swatchElement);});}}
function changeWall(el,targetWall,targetSwatch){targetWall.setStyle({backgroundColor:el.getStyle('backgroundColor')});targetSwatch.setStyle({backgroundColor:el.getStyle('backgroundColor')});new Ajax.Request(ajaxURL+'booleanTrue',{method:'get',parameters:'wallStyle='+el.getStyle('backgroundColor').replace(new RegExp("[^0-9,]*","g"),'')});TINY.box.hide();}
function getPaints(e,pickerID){var pc=$F('pc'+pickerID);var sk=$F('sk'+pickerID);var url=ajaxURL+'paintSearch';if(pc.length){Element.update('pr'+pickerID,'<div>Searching...</div>');new Ajax.Updater('pr'+pickerID,url,{method:'get',parameters:'paintCode='+pc+'&supplierKeys='+sk,onComplete:function(){activateSwatches('pr'+pickerID);}})}
Event.stop(e);}
var Prototip={Version:'2.2.0.1'};var Tips={options:{paths:{images:'/gen/img/prototip/',javascript:'/gen/js/prototip/'},zIndex:6000}};Object.extend(Prototip,{REQUIRED_Prototype:"1.6.1",support:{canvas:!!document.createElement("canvas").getContext},insertScript:function(a){try{document.write("<script type='text/javascript' src='"+a+"'><\/script>")}catch(b){$$("head")[0].insert(new Element("script",{src:a,type:"text/javascript"}))}},start:function(){this.require("Prototype");var a=/prototip([\w\d-_.]+)?\.js(.*)/;this.path=(($$("script[src]").find(function(b){return b.src.match(a)})||{}).src||"").replace(a,"");Tips.paths=(function(b){return{images:(/^(https?:\/\/|\/)/.test(b.images))?b.images:this.path+b.images,javascript:(/^(https?:\/\/|\/)/.test(b.javascript))?b.javascript:this.path+b.javascript}}.bind(this))(Tips.options.paths);this.insertScript(Tips.paths.javascript+"styles.js");if(!this.support.canvas)
{if(document.documentMode>=8&&!document.namespaces.ns_vml)
{document.namespaces.add("ns_vml","urn:schemas-microsoft-com:vml","#default#VML");}
else
{document.observe("dom:loaded",function(){try{var b=document.createStyleSheet();b.cssText="ns_vml\\:*{behavior:url(#default#VML)}";}catch(e){}});}}
Tips.initialize();Element.observe(window,"unload",this.unload);},require:function(a){if((typeof window[a]=="undefined")||(this.convertVersionString(window[a].Version)<this.convertVersionString(this["REQUIRED_"+a]))){throw("Prototip requires "+a+" >= "+this["REQUIRED_"+a]);}},convertVersionString:function(a){var b=a.replace(/_.*|\./g,"");b=parseInt(b+"0".times(4-b.length));return a.indexOf("_")>-1?b-1:b},toggleInt:function(a){return(a>0)?(-1*a):(a).abs()},unload:function(){Tips.removeAll()}});Object.extend(Tips,(function(){function a(b){if(!b){return}
b.deactivate();if(b.tooltip){b.wrapper.remove();if(Tips.fixIE){b.iframeShim.remove()}}
Tips.tips=Tips.tips.without(b)}
return{tips:[],visible:[],initialize:function(){this.zIndexTop=this.zIndex},_inverse:{left:"right",right:"left",top:"bottom",bottom:"top",middle:"middle",horizontal:"vertical",vertical:"horizontal"},_stemTranslation:{width:"horizontal",height:"vertical"},inverseStem:function(b){return!!arguments[1]?this._inverse[b]:b},fixIE:(function(c){var b=new RegExp("MSIE ([\\d.]+)").exec(c);return b?(parseFloat(b[1])<7):false})(navigator.userAgent),WebKit419:(Prototype.Browser.WebKit&&!document.evaluate),add:function(b){this.tips.push(b)},remove:function(d){var g,e=[];for(var c=0,b=this.tips.length;c<b;c++){var f=this.tips[c];if(!g&&f.element==$(d)){g=f}else{if(!f.element.parentNode){e.push(f)}}}
a(g);for(var c=0,b=e.length;c<b;c++){var f=e[c];a(f)}
d.prototip=null},removeAll:function(){for(var c=0,b=this.tips.length;c<b;c++){a(this.tips[c])}},raise:function(d){if(d==this._highest){return}
if(this.visible.length===0){this.zIndexTop=this.options.zIndex;for(var c=0,b=this.tips.length;c<b;c++){this.tips[c].wrapper.setStyle({zIndex:this.options.zIndex})}}
d.wrapper.setStyle({zIndex:this.zIndexTop++});if(d.loader){d.loader.setStyle({zIndex:this.zIndexTop})}
this._highest=d},addVisibile:function(b){this.removeVisible(b);this.visible.push(b)},removeVisible:function(b){this.visible=this.visible.without(b)},hideAll:function(){Tips.visible.invoke("hide")},hook:function(c,g){c=$(c),g=$(g);var l=Object.extend({offset:{x:0,y:0},position:false},arguments[2]||{});var e=l.mouse||g.cumulativeOffset();e.left+=l.offset.x;e.top+=l.offset.y;var d=l.mouse?[0,0]:g.cumulativeScrollOffset(),b=document.viewport.getScrollOffsets(),h=l.mouse?"mouseHook":"target";e.left+=(-1*(d[0]-b[0]));e.top+=(-1*(d[1]-b[1]));if(l.mouse){var f=[0,0];f.width=0;f.height=0}
var j={element:c.getDimensions()},k={element:Object.clone(e)};j[h]=l.mouse?f:g.getDimensions();k[h]=Object.clone(e);for(var i in k){switch(l[i]){case"topRight":case"rightTop":k[i].left+=j[i].width;break;case"topMiddle":k[i].left+=(j[i].width/2);break;case"rightMiddle":k[i].left+=j[i].width;k[i].top+=(j[i].height/2);break;case"bottomLeft":case"leftBottom":k[i].top+=j[i].height;break;case"bottomRight":case"rightBottom":k[i].left+=j[i].width;k[i].top+=j[i].height;break;case"bottomMiddle":k[i].left+=(j[i].width/2);k[i].top+=j[i].height;break;case"leftMiddle":k[i].top+=(j[i].height/2);break}}
e.left+=-1*(k.element.left-k[h].left);e.top+=-1*(k.element.top-k[h].top);if(l.position){c.setStyle({left:e.left+"px",top:e.top+"px"})}
return e}}})());Tips.initialize();var Tip=Class.create({initialize:function(c,e){this.element=$(c);if(!this.element){throw("Prototip: Element not available, cannot create a tooltip.");return}
Tips.remove(this.element);var a=(Object.isString(e)||Object.isElement(e)),b=a?arguments[2]||[]:e;this.content=a?e:null;if(b.style){b=Object.extend(Object.clone(Prototip.Styles[b.style]),b)}
this.options=Object.extend(Object.extend({ajax:false,border:0,borderColor:"#000000",radius:0,className:Tips.options.className,closeButton:Tips.options.closeButtons,delay:!(b.showOn&&b.showOn=="click")?0.14:false,hideAfter:false,hideOn:"mouseleave",hideOthers:false,hook:b.hook,offset:b.hook?{x:0,y:0}:{x:16,y:16},fixed:(b.hook&&!b.hook.mouse)?true:false,showOn:"mousemove",stem:false,style:"default",target:this.element,title:false,viewport:(b.hook&&!b.hook.mouse)?false:true,width:false},Prototip.Styles["default"]),b);this.target=$(this.options.target);this.radius=this.options.radius;this.border=(this.radius>this.options.border)?this.radius:this.options.border;if(this.options.images){this.images=this.options.images.include("://")?this.options.images:Tips.paths.images+this.options.images}else{this.images=Tips.paths.images+"styles/"+(this.options.style||"")+"/"}
if(!this.images.endsWith("/")){this.images+="/"}
if(Object.isString(this.options.stem)){this.options.stem={position:this.options.stem}}
if(this.options.stem.position){this.options.stem=Object.extend(Object.clone(Prototip.Styles[this.options.style].stem)||{},this.options.stem);this.options.stem.position=[this.options.stem.position.match(/[a-z]+/)[0].toLowerCase(),this.options.stem.position.match(/[A-Z][a-z]+/)[0].toLowerCase()];this.options.stem.orientation=["left","right"].member(this.options.stem.position[0])?"horizontal":"vertical";this.stemInverse={horizontal:false,vertical:false}}
if(this.options.ajax){this.options.ajax.options=Object.extend({onComplete:Prototype.emptyFunction},this.options.ajax.options||{})}
if(this.options.hook.mouse){var d=this.options.hook.tip.match(/[a-z]+/)[0].toLowerCase();this.mouseHook=Tips._inverse[d]+Tips._inverse[this.options.hook.tip.match(/[A-Z][a-z]+/)[0].toLowerCase()].capitalize()}
this.fixSafari2=(Tips.WebKit419&&this.radius);this.setup();Tips.add(this);this.activate();Prototip.extend(this)},setup:function(){this.wrapper=new Element("div",{className:"prototip"}).setStyle({zIndex:Tips.options.zIndex});if(this.fixSafari2){this.wrapper.hide=function(){this.setStyle("left:-9500px;top:-9500px;visibility:hidden;");return this};this.wrapper.show=function(){this.setStyle("visibility:visible");return this};this.wrapper.visible=function(){return(this.getStyle("visibility")=="visible"&&parseFloat(this.getStyle("top").replace("px",""))>-9500)}}
this.wrapper.hide();if(Tips.fixIE){this.iframeShim=new Element("iframe",{className:"iframeShim",src:"javascript:false;",frameBorder:0}).setStyle({display:"none",zIndex:Tips.options.zIndex-1,opacity:0})}
if(this.options.ajax){this.showDelayed=this.showDelayed.wrap(this.ajaxShow)}
this.tip=new Element("div",{className:"content"});this.title=new Element("div",{className:"title"}).hide();if(this.options.closeButton||(this.options.hideOn.element&&this.options.hideOn.element=="closeButton")){this.closeButton=new Element("div",{className:"close"}).setPngBackground(this.images+"close.png")}},build:function(){if(document.loaded){this._build();this._isBuilding=true;return true}else{if(!this._isBuilding){document.observe("dom:loaded",this._build);return false}}},_build:function(){$(document.body).insert(this.wrapper);if(Tips.fixIE){$(document.body).insert(this.iframeShim)}
if(this.options.ajax){$(document.body).insert(this.loader=new Element("div",{className:"prototipLoader"}).setPngBackground(this.images+"loader.gif").hide())}
var g="wrapper";if(this.options.stem.position){this.stem=new Element("div",{className:"prototip_Stem"}).setStyle({height:this.options.stem[this.options.stem.orientation=="vertical"?"height":"width"]+"px"});var b=this.options.stem.orientation=="horizontal";this[g].insert(this.stemWrapper=new Element("div",{className:"prototip_StemWrapper clearfix"}).insert(this.stemBox=new Element("div",{className:"prototip_StemBox clearfix"})));this.stem.insert(this.stemImage=new Element("div",{className:"prototip_StemImage"}).setStyle({height:this.options.stem[b?"width":"height"]+"px",width:this.options.stem[b?"height":"width"]+"px"}));if(Tips.fixIE&&!this.options.stem.position[1].toUpperCase().include("MIDDLE")){this.stemImage.setStyle({display:"inline"})}
g="stemBox"}
if(this.border){var d=this.border,f;this[g].insert(this.borderFrame=new Element("ul",{className:"borderFrame"}).insert(this.borderTop=new Element("li",{className:"borderTop borderRow"}).setStyle("height: "+d+"px").insert(new Element("div",{className:"prototip_CornerWrapper prototip_CornerWrapperTopLeft"}).insert(new Element("div",{className:"prototip_Corner"}))).insert(f=new Element("div",{className:"prototip_BetweenCorners"}).setStyle({height:d+"px"}).insert(new Element("div",{className:"prototip_Between"}).setStyle({margin:"0 "+d+"px",height:d+"px"}))).insert(new Element("div",{className:"prototip_CornerWrapper prototip_CornerWrapperTopRight"}).insert(new Element("div",{className:"prototip_Corner"})))).insert(this.borderMiddle=new Element("li",{className:"borderMiddle borderRow"}).insert(this.borderCenter=new Element("div",{className:"borderCenter"}).setStyle("padding: 0 "+d+"px"))).insert(this.borderBottom=new Element("li",{className:"borderBottom borderRow"}).setStyle("height: "+d+"px").insert(new Element("div",{className:"prototip_CornerWrapper prototip_CornerWrapperBottomLeft"}).insert(new Element("div",{className:"prototip_Corner"}))).insert(f.cloneNode(true)).insert(new Element("div",{className:"prototip_CornerWrapper prototip_CornerWrapperBottomRight"}).insert(new Element("div",{className:"prototip_Corner"})))));g="borderCenter";var c=this.borderFrame.select(".prototip_Corner");$w("tl tr bl br").each(function(j,h){if(this.radius>0){Prototip.createCorner(c[h],j,{backgroundColor:this.options.borderColor,border:d,radius:this.options.radius})}else{c[h].addClassName("prototip_Fill")}
c[h].setStyle({width:d+"px",height:d+"px"}).addClassName("prototip_Corner"+j.capitalize())}.bind(this));this.borderFrame.select(".prototip_Between",".borderMiddle",".prototip_Fill").invoke("setStyle",{backgroundColor:this.options.borderColor})}
this[g].insert(this.tooltip=new Element("div",{className:"tooltip "+this.options.className}).insert(this.toolbar=new Element("div",{className:"toolbar"}).insert(this.title)));if(this.options.width){var e=this.options.width;if(Object.isNumber(e)){e+="px"}
this.tooltip.setStyle("width:"+e)}
if(this.stem){var a={};a[this.options.stem.orientation=="horizontal"?"top":"bottom"]=this.stem;this.wrapper.insert(a);this.positionStem()}
this.tooltip.insert(this.tip);if(!this.options.ajax){this._update({title:this.options.title,content:this.content})}},_update:function(e){var a=this.wrapper.getStyle("visibility");this.wrapper.setStyle("height:auto;width:auto;visibility:hidden").show();if(this.border){this.borderTop.setStyle("height:0");this.borderTop.setStyle("height:0")}
if(e.title){this.title.show().update(e.title);this.toolbar.show()}else{if(!this.closeButton){this.title.hide();this.toolbar.hide()}}
if(Object.isElement(e.content)){e.content.show()}
if(Object.isString(e.content)||Object.isElement(e.content)){this.tip.update(e.content)}
this.tooltip.setStyle({width:this.tooltip.getWidth()+"px"});this.wrapper.setStyle("visibility:visible").show();this.tooltip.show();var c=this.tooltip.getDimensions(),b={width:c.width+"px"},d=[this.wrapper];if(Tips.fixIE){d.push(this.iframeShim)}
if(this.closeButton){this.title.show().insert({top:this.closeButton});this.toolbar.show()}
if(e.title||this.closeButton){this.toolbar.setStyle("width: 100%")}
b.height=null;this.wrapper.setStyle({visibility:a});this.tip.addClassName("clearfix");if(e.title||this.closeButton){this.title.addClassName("clearfix")}
if(this.border){this.borderTop.setStyle("height:"+this.border+"px");this.borderTop.setStyle("height:"+this.border+"px");b="width: "+(c.width+2*this.border)+"px";d.push(this.borderFrame)}
d.invoke("setStyle",b);if(this.stem){this.positionStem();if(this.options.stem.orientation=="horizontal"){this.wrapper.setStyle({width:this.wrapper.getWidth()+this.options.stem.height+"px"})}}
this.wrapper.hide()},activate:function(){this.eventShow=this.showDelayed.bindAsEventListener(this);this.eventHide=this.hide.bindAsEventListener(this);if(this.options.fixed&&this.options.showOn=="mousemove"){this.options.showOn="mouseover"}
if(this.options.showOn&&this.options.showOn==this.options.hideOn){this.eventToggle=this.toggle.bindAsEventListener(this);this.element.observe(this.options.showOn,this.eventToggle)}
if(this.closeButton){this.closeButton.observe("mouseover",function(d){d.setPngBackground(this.images+"close_hover.png")}.bind(this,this.closeButton)).observe("mouseout",function(d){d.setPngBackground(this.images+"close.png")}.bind(this,this.closeButton))}
var c={element:this.eventToggle?[]:[this.element],target:this.eventToggle?[]:[this.target],tip:this.eventToggle?[]:[this.wrapper],closeButton:[],none:[]},a=this.options.hideOn.element;this.hideElement=a||(!this.options.hideOn?"none":"element");this.hideTargets=c[this.hideElement];if(!this.hideTargets&&a&&Object.isString(a)){this.hideTargets=this.tip.select(a)}
$w("show hide").each(function(g){var f=g.capitalize(),d=(this.options[g+"On"].event||this.options[g+"On"]);if(d=="mouseover"){d=="mouseenter"}else{if(d=="mouseout"){d=="mouseleave"}}
this[g+"Action"]=d}.bind(this));if(!this.eventToggle&&this.options.showOn){this.element.observe(this.options.showOn,this.eventShow)}
if(this.hideTargets&&this.options.hideOn){this.hideTargets.invoke("observe",this.hideAction,this.eventHide)}
if(!this.options.fixed&&this.options.showOn=="click"){this.eventPosition=this.position.bindAsEventListener(this);this.element.observe("mousemove",this.eventPosition)}
this.buttonEvent=this.hide.wrap(function(f,e){var d=e.findElement(".close");if(d){d.blur();e.stop();f(e)}}).bindAsEventListener(this);if(this.closeButton||(this.options.hideOn&&(this.options.hideOn.element==".close"))){this.wrapper.observe("click",this.buttonEvent)}
if(this.options.showOn!="click"&&(this.hideElement!="element")){this.eventCheckDelay=function(){this.clearTimer("show")}.bindAsEventListener(this);this.element.observe("mouseleave",this.eventCheckDelay)}
if(this.options.hideOn||this.options.hideAfter){var b=[this.element,this.wrapper];this.activityEnter=function(){Tips.raise(this);this.cancelHideAfter()}.bindAsEventListener(this);this.activityLeave=this.hideAfter.bindAsEventListener(this);b.invoke("observe","mouseenter",this.activityEnter).invoke("observe","mouseleave",this.activityLeave)}
if(this.options.ajax&&this.options.showOn!="click"){this.ajaxHideEvent=this.ajaxHide.bindAsEventListener(this);this.element.observe("mouseleave",this.ajaxHideEvent)}},deactivate:function(){if(this.options.showOn&&this.options.showOn==this.options.hideOn){this.element.stopObserving(this.options.showOn,this.eventToggle)}else{if(this.options.showOn){this.element.stopObserving(this.options.showOn,this.eventShow)}
if(this.hideTargets&&this.options.hideOn){this.hideTargets.invoke("stopObserving")}}
if(this.eventPosition){this.element.stopObserving("mousemove",this.eventPosition)}
if(this.eventCheckDelay){this.element.stopObserving("mouseout",this.eventCheckDelay)}
this.wrapper.stopObserving();if(this.options.hideOn||this.options.hideAfter){this.element.stopObserving("mouseenter",this.activityEnter).stopObserving("mouseleave",this.activityLeave)}
if(this.ajaxHideEvent){this.element.stopObserving("mouseleave",this.ajaxHideEvent)}},ajaxShow:function(c,b){if(!this.tooltip){if(!this.build()){return}}
this.position(b);if(this.ajaxContentLoading){return}else{if(this.ajaxContentLoaded){c(b);return}}
this.ajaxContentLoading=true;var e=b.pointer(),d={fakePointer:{pointerX:e.x,pointerY:e.y}};var a=Object.clone(this.options.ajax.options);a.onComplete=a.onComplete.wrap(function(g,f){this._update({title:this.options.title,content:f.responseText});this.position(d);(function(){g(f);var h=(this.loader&&this.loader.visible());if(this.loader){this.clearTimer("loader");this.loader.remove();this.loader=null}
if(h){this.show()}
this.ajaxContentLoaded=true;this.ajaxContentLoading=null}.bind(this)).delay(0.6)}.bind(this));this.loaderTimer=Element.show.delay(this.options.delay,this.loader);this.wrapper.hide();this.ajaxContentLoading=true;this.loader.show();this.ajaxTimer=(function(){new Ajax.Request(this.options.ajax.url,a)}.bind(this)).delay(this.options.delay);return false},ajaxHide:function(){this.clearTimer("loader")},showDelayed:function(a){if(!this.tooltip){if(!this.build()){return}}
this.position(a);if(this.wrapper.visible()){return}
this.clearTimer("show");this.showTimer=this.show.bind(this).delay(this.options.delay)},clearTimer:function(a){if(this[a+"Timer"]){clearTimeout(this[a+"Timer"])}},show:function(){if(this.wrapper.visible()){return}
if(Tips.fixIE){this.iframeShim.show()}
if(this.options.hideOthers){Tips.hideAll()}
Tips.addVisibile(this);this.tooltip.show();this.wrapper.show();if(this.stem){this.stem.show()}
this.element.fire("prototip:shown")},hideAfter:function(a){if(this.options.ajax){if(this.loader&&this.options.showOn!="click"){this.loader.hide()}}
if(!this.options.hideAfter){return}
this.cancelHideAfter();this.hideAfterTimer=this.hide.bind(this).delay(this.options.hideAfter)},cancelHideAfter:function(){if(this.options.hideAfter){this.clearTimer("hideAfter")}},hide:function(){this.clearTimer("show");this.clearTimer("loader");if(!this.wrapper.visible()){return}
this.afterHide()},afterHide:function(){if(Tips.fixIE){this.iframeShim.hide()}
if(this.loader){this.loader.hide()}
this.wrapper.hide();(this.borderFrame||this.tooltip).show();Tips.removeVisible(this);this.element.fire("prototip:hidden")},toggle:function(a){if(this.wrapper&&this.wrapper.visible()){this.hide(a)}else{this.showDelayed(a)}},positionStem:function(){var c=this.options.stem,b=arguments[0]||this.stemInverse,d=Tips.inverseStem(c.position[0],b[c.orientation]),f=Tips.inverseStem(c.position[1],b[Tips._inverse[c.orientation]]),a=this.radius||0;this.stemImage.setPngBackground(this.images+d+f+".png");if(c.orientation=="horizontal"){var e=(d=="left")?c.height:0;this.stemWrapper.setStyle("left: "+e+"px;");this.stemImage.setStyle({"float":d});this.stem.setStyle({left:0,top:(f=="bottom"?"100%":f=="middle"?"50%":0),marginTop:(f=="bottom"?-1*c.width:f=="middle"?-0.5*c.width:0)+(f=="bottom"?-1*a:f=="top"?a:0)+"px"})}else{this.stemWrapper.setStyle(d=="top"?"margin: 0; padding: "+c.height+"px 0 0 0;":"padding: 0; margin: 0 0 "+c.height+"px 0;");this.stem.setStyle(d=="top"?"top: 0; bottom: auto;":"top: auto; bottom: 0;");this.stemImage.setStyle({margin:0,"float":f!="middle"?f:"none"});if(f=="middle"){this.stemImage.setStyle("margin: 0 auto;")}else{this.stemImage.setStyle("margin-"+f+": "+a+"px;")}
if(Tips.WebKit419){if(d=="bottom"){this.stem.setStyle({position:"relative",clear:"both",top:"auto",bottom:"auto","float":"left",width:"100%",margin:(-1*c.height)+"px 0 0 0"});this.stem.style.display="block"}else{this.stem.setStyle({position:"absolute","float":"none",margin:0})}}}
this.stemInverse=b},position:function(b){if(!this.tooltip){if(!this.build()){return}}
Tips.raise(this);if(Tips.fixIE){var a=this.wrapper.getDimensions();if(!this.iframeShimDimensions||this.iframeShimDimensions.height!=a.height||this.iframeShimDimensions.width!=a.width){this.iframeShim.setStyle({width:a.width+"px",height:a.height+"px"})}
this.iframeShimDimensions=a}
if(this.options.hook){var j,h;if(this.mouseHook){var k=document.viewport.getScrollOffsets(),c=b.fakePointer||{};var g,i=2;switch(this.mouseHook.toUpperCase()){case"LEFTTOP":case"TOPLEFT":g={x:0-i,y:0-i};break;case"TOPMIDDLE":g={x:0,y:0-i};break;case"TOPRIGHT":case"RIGHTTOP":g={x:i,y:0-i};break;case"RIGHTMIDDLE":g={x:i,y:0};break;case"RIGHTBOTTOM":case"BOTTOMRIGHT":g={x:i,y:i};break;case"BOTTOMMIDDLE":g={x:0,y:i};break;case"BOTTOMLEFT":case"LEFTBOTTOM":g={x:0-i,y:i};break;case"LEFTMIDDLE":g={x:0-i,y:0};break}
g.x+=this.options.offset.x;g.y+=this.options.offset.y;j=Object.extend({offset:g},{element:this.options.hook.tip,mouseHook:this.mouseHook,mouse:{top:c.pointerY||Event.pointerY(b)-k.top,left:c.pointerX||Event.pointerX(b)-k.left}});h=Tips.hook(this.wrapper,this.target,j);if(this.options.viewport){var n=this.getPositionWithinViewport(h),m=n.stemInverse;h=n.position;h.left+=m.vertical?2*Prototip.toggleInt(g.x-this.options.offset.x):0;h.top+=m.vertical?2*Prototip.toggleInt(g.y-this.options.offset.y):0;if(this.stem&&(this.stemInverse.horizontal!=m.horizontal||this.stemInverse.vertical!=m.vertical)){this.positionStem(m)}}
h={left:h.left+"px",top:h.top+"px"};this.wrapper.setStyle(h)}else{j=Object.extend({offset:this.options.offset},{element:this.options.hook.tip,target:this.options.hook.target});h=Tips.hook(this.wrapper,this.target,Object.extend({position:true},j));h={left:h.left+"px",top:h.top+"px"}}
if(this.loader){var e=Tips.hook(this.loader,this.target,Object.extend({position:true},j))}
if(Tips.fixIE){this.iframeShim.setStyle(h)}}else{var f=this.target.cumulativeOffset(),c=b.fakePointer||{},h={left:((this.options.fixed)?f[0]:c.pointerX||Event.pointerX(b))+this.options.offset.x,top:((this.options.fixed)?f[1]:c.pointerY||Event.pointerY(b))+this.options.offset.y};if(!this.options.fixed&&this.element!==this.target){var d=this.element.cumulativeOffset();h.left+=-1*(d[0]-f[0]);h.top+=-1*(d[1]-f[1])}
if(!this.options.fixed&&this.options.viewport){var n=this.getPositionWithinViewport(h),m=n.stemInverse;h=n.position;if(this.stem&&(this.stemInverse.horizontal!=m.horizontal||this.stemInverse.vertical!=m.vertical)){this.positionStem(m)}}
h={left:h.left+"px",top:h.top+"px"};this.wrapper.setStyle(h);if(this.loader){this.loader.setStyle(h)}
if(Tips.fixIE){this.iframeShim.setStyle(h)}}},getPositionWithinViewport:function(c){var e={horizontal:false,vertical:false},d=this.wrapper.getDimensions(),b=document.viewport.getScrollOffsets(),a=document.viewport.getDimensions(),g={left:"width",top:"height"};for(var f in g){if((c[f]+d[g[f]]-b[f])>a[g[f]]){c[f]=c[f]-(d[g[f]]+(2*this.options.offset[f=="left"?"x":"y"]));if(this.stem){e[Tips._stemTranslation[g[f]]]=true}}}
return{position:c,stemInverse:e}}});Object.extend(Prototip,{createCorner:function(d,g){var j=arguments[2]||this.options,f=j.radius,c=j.border,e={top:(g.charAt(0)=="t"),left:(g.charAt(1)=="l")};if(this.support.canvas){var b=new Element("canvas",{className:"cornerCanvas"+g.capitalize(),width:c+"px",height:c+"px"});d.insert(b);var i=b.getContext("2d");i.fillStyle=j.backgroundColor;i.arc((e.left?f:c-f),(e.top?f:c-f),f,0,Math.PI*2,true);i.fill();i.fillRect((e.left?f:0),0,c-f,c);i.fillRect(0,(e.top?f:0),c,c-f)}else{var h;d.insert(h=new Element("div").setStyle({width:c+"px",height:c+"px",margin:0,padding:0,display:"block",position:"relative",overflow:"hidden"}));var a=new Element("ns_vml:roundrect",{fillcolor:j.backgroundColor,strokeWeight:"1px",strokeColor:j.backgroundColor,arcSize:(f/c*0.5).toFixed(2)}).setStyle({width:2*c-1+"px",height:2*c-1+"px",position:"absolute",left:(e.left?0:(-1*c))+"px",top:(e.top?0:(-1*c))+"px"});h.insert(a);a.outerHTML=a.outerHTML}}});Element.addMethods({setPngBackground:function(c,b){c=$(c);var a=Object.extend({align:"top left",repeat:"no-repeat",sizingMethod:"scale",backgroundColor:""},arguments[2]||{});c.setStyle(Tips.fixIE?{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+b+"'', sizingMethod='"+a.sizingMethod+"')"}:{background:a.backgroundColor+" url("+b+") "+a.align+" "+a.repeat});return c}});Prototip.Methods={hold:function(a){if(a.element&&!a.element.parentNode){return true}
return false},show:function(){if(Prototip.Methods.hold(this)){return}
Tips.raise(this);this.cancelHideAfter();var d={};if(this.options.hook){d.fakePointer={pointerX:0,pointerY:0}}else{var a=this.target.cumulativeOffset(),c=this.target.cumulativeScrollOffset(),b=document.viewport.getScrollOffsets();a.left+=(-1*(c[0]-b[0]));a.top+=(-1*(c[1]-b[1]));d.fakePointer={pointerX:a.left,pointerY:a.top}}
if(this.options.ajax){this.ajaxShow(d)}else{this.showDelayed(d)}
this.hideAfter()}};Prototip.extend=function(a){a.element.prototip={};Object.extend(a.element.prototip,{show:Prototip.Methods.show.bind(a),hide:a.hide.bind(a),remove:Tips.remove.bind(Tips,a.element)})};Prototip.start();function init_picker(bBrowserHistory,defaultState,bPreviewEnabled,oPreview)
{window.msHistory=new _msHistory({defaultState:'productID='+$F('productID')+'&storeID='+STOREID,useBrowserHistory:bBrowserHistory});window.msPicker=new _msPicker(oPreview,{useBrowserHistory:bBrowserHistory,previewEnabled:bPreviewEnabled});}
_msPicker=Class.create();_msPicker.prototype={initialize:function(oPreview,options)
{this.version='0.0.01b';this.options=Object.extend({useBrowserHistory:true,undoEnabled:true,previewEnabled:true,panelBusyOpacity:0.2,panelBusyAnimLen:0.5,imgBusyOpacity:0.3,imgBusyAnimLen:0.5,listeners:{'viewUpdated':[],'itemClicked':[]}},options||{});this.url=ajaxURL+'picker2';this.history=window.msHistory;this.history.addEventListener('stateChange',this.loadHistoryStateCallback.bind(this));this.history.addEventListener('historyChange',this.historyChangeCallback.bind(this));this.elements={picker:$('picker'),pickerForm:function(){return $('picker-form')},undo:$('picker-undo'),mediaTypes:function(){return $$('#picker-media-nav li a')},componentTypes:function(){return $$('#picker-components-nav li a')},panel:$('picker-panel'),panelContent:function(){return $('picker-panel-content')},types:$('picker-types'),components:$('picker-components'),footnav:$('picker-footnav'),summary:$('picker-summary'),busy:function(){return $('picker-busy')},next:function(){return $('picker-nav-next')},back:function(){return $('picker-nav-back')},buyStep:function(){return $('picker-nav-buy')},panelPicks:function(){return $$('#picker #picker-panel .pick-option')},productImage:function(){return $('mainProdImg')},productImageHolder:$('mainProdImgHolder'),togglePreview:$('togglePreview'),toggleSummary:function(){return $('picker-summary-toggle').down()},summaryDetail:function(){return $('picker-summary-detail').down()},buyMain:function(){return $('picker-button-buy')},buyForm:function(){return $('picker-buy-form')},sizeGroupSelect:function(){return $('media-size-group')},sizeGroups:function(){return $$('#picker .mediaSizeGroup')},multiPanelLinks:function(){return $$('#picker .multi-panel-link')},componentGroupSel:function(){return $('picker-component-group')},frameUnframedRadios:function(){return $$('.frame-unframed input')}};this.showingSummary=this.elements.summaryDetail().visible();this.summaryEffect=null;this.current={mediaType:''};if(this.options.undoEnabled)
{this._addUndoButton();this._addBehaviours('undo');}
if(this.options.previewEnabled)
{this.previewStyles={holder:{backgroundColor:'#FAFAFA',borderWidth:'1px',borderStyle:'solid',borderColor:'#EEEEEE'},image:{borderWidth:'1px',borderStyle:'solid',borderColor:'#EEEEEE'},holderOff:{backgroundColor:'transparent',borderWidth:'0',backgroundImage:'none',height:'auto'},imageOff:{margin:'0 auto',width:'auto',height:'auto'}};}
this._showInitialState(oPreview);this._addBehaviours('mediaTypes,componentTypes,step,panelPicks,toggleSummary,sizeGrouping,componentGrouping');this.curPreview=oPreview.preview;},click_undo:function(e)
{this.history.undo.apply(this.history,[e]);Event.stop(e);this._broadcastEvent('itemClicked',['undo']);},click_mediaType:function(e,el)
{this.showBusy(true);var s=el.id.replace(/picknav-/,'');var pars=this.getAjaxParams({type:s,supplierCode:$F('supplierCode')});if(pars.groupTag!=null)
delete(pars.groupTag);var ajx=new Ajax.Request(this.url,{method:'get',parameters:pars,onComplete:this.ajx_show.bind(this)});Event.stop(e);this._broadcastEvent('itemClicked',['mediaType']);this._changeSelectedMediaType(s);},click_componentType:function(e,el)
{this.showBusy(true);var pars=this.getAjaxParams(el.href.replace(/.*\?/,''));if(pars.groupTag!=null)
delete(pars.groupTag);var ajx=new Ajax.Request(this.url,{method:'get',parameters:pars,onComplete:this.ajx_show.bind(this)});Event.stop(e);this._broadcastEvent('itemClicked',['componentType']);},click_pick:function(e,el)
{this.showBusy(true);var elm=el;if(e)elm=e.element();if(elm.tagName!='A')
elm=elm.up('A');var pars=this.getAjaxParams(elm.href.replace(/.*\?/,''));this.history.add(pars,null);var ajx=new Ajax.Request(this.url,{method:'get',parameters:pars,onComplete:this.ajx_show.bind(this)});if(e)Event.stop(e);this._broadcastEvent('itemClicked',['pick']);},click_step:function(e,el,sType)
{if(sType=='addToBasket')
{this.elements.buyForm().submit();}
else
{this.showBusy(true);var pars=this.getAjaxParams(e.element().href.replace(/.*\?/,''));if(pars.groupTag!=null)
delete(pars.groupTag);var ajx=new Ajax.Request(this.url,{method:'get',parameters:pars,onComplete:this.ajx_show.bind(this)});this._broadcastEvent('itemClicked',['step']);}
Event.stop(e);},click_togglePreview:function(e,el)
{if(this.options.previewEnabled)
{this.elements.productImageHolder.setStyle(this.previewStyles.holderOff);this.elements.productImage().setStyle(this.previewStyles.imageOff);Element.update(this.elements.togglePreview,'off');this.elements.togglePreview.title='View your picture in your chosen frame';}
else
{this.elements.productImageHolder.setStyle(this.previewStyles.holder);this.elements.productImage().setStyle(this.previewStyles.image);Element.update(this.elements.togglePreview,'on');this.elements.togglePreview.title='Turn off frame preview to see a larger image';}
this.options.previewEnabled=!this.options.previewEnabled;Event.stop(e);},click_toggleSummary:function(e)
{var el=this.elements.summaryDetail();this.showingSummary=!el.visible();if(this.summaryEffect)
{if(this.summaryEffect.state!='finished')
{Event.stop(e);return;}}
if(!this.showingSummary)
this.summaryEffect=new Effect.SlideUp(el,{duration:0.2});else
this.summaryEffect=new Effect.SlideDown(el,{duration:0.2});Event.stop(e);},change_sizeGroup:function(e)
{this._changeSelectedSizeGroup(e.element().selectedIndex+1);},change_componentGroup:function(e)
{this._submitPickerForm();},click_showMultiPanels:function(e)
{this._changeSelectedSizeGroup(this.elements.sizeGroupSelect().length);Event.stop(e);},addEventListener:function(event,listener)
{if(typeof(this.options.listeners[event])=='object')
{this.options.listeners[event].push(listener);}
else
{throw new Error('Unknown event "'+event+'"');}},ajx_show:function(r)
{if(r.status!=200||!r.responseText)
{this._showError();return;}
var oResult=r.responseText.evalJSON();this._updatePickerView(oResult);this._updatePreview(oResult);this.showBusy(false);if(typeof(window.setUpUnitSelectors)=='function')
window.setUpUnitSelectors();this.curPreview=oResult.preview;this._broadcastEvent('viewUpdated',[{preview:this.curPreview}]);},loadHistoryStateCallback:function(pars,data)
{if(pars.length)
{var sPars=this._overrideSummaryParam(pars);var ajx=new Ajax.Request(this.url,{method:'get',parameters:sPars,onComplete:this.ajx_show.bind(this)});}},historyChangeCallback:function(length)
{if(this.elements.undo)
{if(length>0)
Element.show(this.elements.undo);else
Element.hide(this.elements.undo);}},getAjaxUrl:function()
{return this.url;},getCurPreview:function()
{return this.curPreview;},_updatePickerView:function(o)
{this.elements.panel.update(o.html_panel);this.elements.components.update(o.html_components);this.elements.footnav.update(o.html_bottom);this.elements.summary.update(o.html_summary);this.elements.productImageHolder.update(o.html_preview);this.current.mediaType=o.mediaTypeKey;this._changeSelectedMediaType(o.mediaTypeKey);this._addBehaviours('componentTypes,step,panelPicks,toggleSummary,sizeGrouping,componentGrouping');},_updatePreview:function(o)
{if(this.options.previewEnabled==0||!o.preview.use)
{this.elements.productImageHolder.setStyle(this.previewStyles.holderOff);this.elements.productImage().setStyle(this.previewStyles.imageOff);}
else if(o.preview.use)
{this.previewStyles.holder.width=o.preview.product.width+'px';this.previewStyles.holder.height=o.preview.product.height+'px';this.previewStyles.holder.marginLeft=Math.round((400-o.preview.product.width)/2)+'px';this.previewStyles.image.width=o.preview.image.width+'px';this.previewStyles.image.height=o.preview.image.height+'px';this.previewStyles.image.marginLeft=o.preview.image.marginLeft+'px';this.previewStyles.image.marginTop=o.preview.image.marginTop+'px';this.previewStyles.image.marginRight=o.preview.image.marginRight+'px';this.previewStyles.image.marginBottom=o.preview.image.marginBottom+'px';this.previewStyles.image.border='0';var mountColour=(typeof o.preview.image.mountColour!=="undefined"&&o.preview.image.mountColour!=="")?o.preview.image.mountColour:"FFFFFF";if(o.preview.composite)
{this.elements.productImage().src=o.preview.product.file;this.previewStyles.holder.backgroundImage='none';this.previewStyles.holder.backgroundColor='#'+o.preview.image.defaultBackgroundColour;}
else if(o.preview.product.file)
{this.previewStyles.holder.backgroundImage='url("'+o.preview.product.file+'")';this.previewStyles.holder.backgroundRepeat='no-repeat';this.previewStyles.holder.border='1px solid #'+o.preview.image.defaultBackgroundColour;this.elements.productImage().src=o.preview.image.file;if(parseInt(o.preview.image.width)+parseInt(o.preview.image.marginLeft)+parseInt(o.preview.image.marginLeft)-parseInt(o.preview.product.width)<=0)
this.previewStyles.holder.backgroundColor='#'+o.preview.image.defaultBackgroundColour;else
this.previewStyles.holder.backgroundColor='#'+mountColour;}
else
{this.previewStyles.holder.backgroundImage='none';this.previewStyles.holder.backgroundColor='#'+mountColour;if(o.preview.product.width!=o.preview.image.width)
this.previewStyles.holder.border='1px solid #EEE';else
this.previewStyles.holder.border='none';this.elements.productImage().src=o.preview.image.file;}
if(o.preview.image.mode=='wrap')
{this.previewStyles.image.border='0';this.previewStyles.image.backgroundColor='#fff';this.previewStyles.image.border='0';Element.addClassName(this.elements.productImage(),'canvasprev');}
else
{Element.removeClassName(this.elements.productImage(),'canvasprev');}
if(this.options.previewEnabled==1)
{this.elements.productImageHolder.setStyle(this.previewStyles.holder);this.elements.productImage().setStyle(this.previewStyles.image);}}},_addBehaviours:function(sList)
{var s;var aItems=sList.split(',');for(var j=0;j<aItems.length;j++)
{s=aItems[j];switch(s)
{case'mediaTypes':var aEls=this.elements.mediaTypes();for(var i=0;i<aEls.length;i++)
{Event.observe(aEls[i],'click',this.click_mediaType.bindAsEventListener(this,aEls[i]));}
break;case'componentTypes':var aEls=this.elements.componentTypes();for(var i=0;i<aEls.length;i++)
{Event.observe(aEls[i],'click',this.click_componentType.bindAsEventListener(this,aEls[i]));}
break;case'step':var el=this.elements.next();if(el)
Event.observe(el,'click',this.click_step.bindAsEventListener(this,el,'next'));el=this.elements.back();if(el)
Event.observe(el,'click',this.click_step.bindAsEventListener(this,el,'back'));el=this.elements.buyStep();if(el)
Event.observe(el,'click',this.click_step.bindAsEventListener(this,el,'addToBasket'));break;case'undo':if(this.elements.undo)
Event.observe(this.elements.undo,'click',this.click_undo.bindAsEventListener(this));break;case'panelPicks':var aEls=this.elements.panelPicks();for(var i=0;i<aEls.length;i++)
{Event.observe(aEls[i],'click',this.click_pick.bindAsEventListener(this,aEls[i]));}
break;case'togglePreview':Event.observe(this.elements.togglePreview,'click',this.click_togglePreview.bindAsEventListener(this,this.elements.togglePreview));break;case'toggleSummary':Event.observe(this.elements.toggleSummary(),'click',this.click_toggleSummary.bindAsEventListener(this));break;case'componentGrouping':var el=this.elements.componentGroupSel();if(el)
{Event.observe(el,'change',this.change_componentGroup.bindAsEventListener(this));}
break;}}},_showInitialState:function(oPreview)
{var bSync=true;var elForm=this.elements.pickerForm();var aEl=elForm.select('input[type=radio]');for(var i=0;i<aEl.length;i++)
{if(aEl[i].checked!=aEl[i].defaultChecked)
{bSync=false;break;}}
if(bSync)
{aEl=elForm.select('select');for(var i=0;i<aEl.length;i++)
{if(aEl[i].options[aEl[i].selectedIndex].selected!=aEl[i].options[aEl[i].selectedIndex].defaultSelected)
{bSync=false;break;}}}
if(bSync)
{if(typeof(oPreview)=='object')
{this._updatePreview(oPreview);}}
else
{this._submitPickerForm();return;}},_broadcastEvent:function(event,args)
{for(var i=0;i<this.options.listeners[event].length;i++){if(typeof(this.options.listeners[event][i])=='function')
{this.options.listeners[event][i].apply(null,args);}}},_showError:function()
{alert('Ooops, there was an error. Try reloading the page.');},showBusy:function(bBusy)
{if(bBusy)
{this.elements.picker.addClassName('busy');this.elements.panelContent().setOpacity(this.options.panelBusyOpacity);if(this.options.previewEnabled)
{this.elements.productImageHolder.setOpacity(this.options.imgBusyOpacity);}
if(this.elements.busy())
this.elements.busy().show();if(this.elements.buyMain())
this.elements.buyMain().disabled=true;}
else
{var el=this.elements.panelContent();el.hide();this.elements.busy().hide();this.elements.picker.removeClassName('busy');el.appear({duration:this.options.panelBusyAnimLen,from:this.options.panelBusyOpacity});if(this.options.previewEnabled)
{this.elements.productImageHolder.appear({duration:this.options.imgBusyAnimLen,from:this.options.imgBusyOpacity});}
this.elements.buyMain().disabled=false;}},_addUndoButton:function()
{if(this.elements.undo)
{var el=this.elements.undo;el.update('<a href="##" style="display:none;" title="go back to your previous selection">undo</a>');this.elements.undo=el.down('a');}},_changeSelectedSizeGroup:function(id)
{var el=$('picker-mediaSize-'+id);if(el)
{var aEls=el.select('input');aEls[0].checked=true;this.click_pick(null,aEls[0]);}},_submitPickerForm:function()
{var pars=this.elements.pickerForm().serialize(true);delete(pars.event);pars=this._overrideSummaryParam(pars);this.showBusy(true);var ajx=new Ajax.Request(this.url,{method:'get',parameters:pars,onComplete:this.ajx_show.bind(this)});},getAjaxParams:function(pars)
{if(typeof(pars)=='string')
{pars=pars.toQueryParams();}
var pars=Object.extend(this.elements.pickerForm().serialize(true),pars||{});delete(pars.event);pars.storeID=STOREID;pars=this._overrideSummaryParam(pars);if(typeof(pars.type)=='string')
{if(pars.type.length>0&&this.current.mediaType!=pars.type)
{pars.mediaTypeChange=true;}}
return pars;},_overrideSummaryParam:function(pars)
{pars.summary=(this.showingSummary?1:0);return pars;},_changeSelectedMediaType:function(sType)
{var mediaTypeEls=this.elements.mediaTypes();for(var i=0;i<mediaTypeEls.length;i++){if(mediaTypeEls[i].up('li.cur'))
mediaTypeEls[i].up('li').removeClassName('cur');if(mediaTypeEls[i].id.substring(mediaTypeEls[i].id.indexOf('-')+1)==sType)
mediaTypeEls[i].up('li').addClassName('cur');}}}
_msHistory=Class.create();_msHistory.prototype={initialize:function()
{this.options=Object.extend({defaultState:'',useBrowserHistory:true,fireHistoryOnNewListener:false},arguments[0]||{});this.listeners={stateChange:0,historyChange:0};this.currentState=this.getCurrentHash();if(this.currentState.length<1)
{this.currentState=this.options.defaultState;}
if(this.options.useBrowserHistory)
{this.history=window.dhtmlHistory;this.history.initialize();this.history.addListener(this.changedCallback.bind(this));}
else
{this.history=[{'loc':this.currentState,'data':null}];}},addEventListener:function(event,listener)
{if(typeof(this.listeners[event])!='undefined')
{this.listeners[event]=listener;if(event=='stateChange'&&this.options.fireHistoryOnNewListener)
{if(this.currentState.length)
{this._notifyListener('stateChange',[this.currentState,null]);}
this.options.fireHistoryOnNewListener=false;}}
else
{throw new Error('Unknown event "'+event+'"');}},changedCallback:function(newLoc,historyData)
{this._notifyListener('stateChange',[newLoc,historyData]);this._setCurrentState(newLoc);},undo:function(e)
{if(this.options.useBrowserHistory)
{window.history.back();}
else
{var state=this._getPreviousState(this.currentState,false);if(typeof(state)=='object')
{this.add(state.loc,state.data);this._notifyListener('stateChange',[state.loc,state.data]);}}},add:function(loc,data)
{if(this.options.useBrowserHistory)
{this.history.add(loc,data);this._notifyListener('historyChange',[1]);}
else
{this.history.push({loc:loc,data:data})
this._notifyListener('historyChange',[this.history.length-1]);}
this._setCurrentState(loc);},getCurrentHash:function(){var r=window.location.href;var i=r.indexOf("#");return(i>=0?r.substr(i+1):"");},getCurrentState:function()
{return this.currentState;},_setCurrentState:function(state)
{this.currentState=state;},_getPreviousState:function()
{if(this.history.length>0)
{if(this.history[this.history.length-1].loc==this.currentState)
{this.history.pop();}}
if(this.history.length>0)
{var state=this.history.pop();}
else
{var state={loc:'',data:null};}
return state;},_notifyListener:function(event,args)
{if(typeof(this.listeners[event])=='function')
{this.listeners[event].apply(null,args);}}}
PICKERUSEBROWSERHISTORY=eval(PICKERUSEBROWSERHISTORY);bUseBrowserHistory=typeof(PICKERUSEBROWSERHISTORY)=='boolean'?PICKERUSEBROWSERHISTORY:false;sDefaultState=typeof(PICKERDEFAULTSTATE)=='string'?PICKERDEFAULTSTATE:'item-one';if(bUseBrowserHistory)
{window.dhtmlHistory.create({debugMode:true,toJSON:function(o){return Object.toJSON(o);},fromJSON:function(s){return s.evalJSON();}});}
initFunctions.push(init_picker.bind(window,bUseBrowserHistory,sDefaultState,USEPREVIEW,PICKERPREVIEW));window.dhtmlHistory={isIE:false,isOpera:false,isSafari:false,isKonquerer:false,isGecko:false,isSupported:false,create:function(options){var that=this;var UA=navigator.userAgent.toLowerCase();var platform=navigator.platform.toLowerCase();var vendor=navigator.vendor||"";if(vendor==="KDE"){this.isKonqueror=true;this.isSupported=false;}else if(typeof window.opera!=="undefined"){this.isOpera=true;this.isSupported=true;}else if(typeof document.all!=="undefined"){this.isIE=true;this.isSupported=true;}else if(vendor.indexOf("Apple Computer, Inc.")>-1){this.isSafari=true;this.isSupported=(platform.indexOf("mac")>-1);}else if(UA.indexOf("gecko")!=-1){this.isGecko=true;this.isSupported=true;}
window.historyStorage.setup(options);if(this.isSafari){this.createSafari();}else if(this.isOpera){this.createOpera();}
var initialHash=this.getCurrentLocation();this.currentLocation=initialHash;if(this.isIE){this.createIE(initialHash);}
var unloadHandler=function(){that.firstLoad=null;};this.addEventListener(window,'unload',unloadHandler);if(this.isIE){this.ignoreLocationChange=true;}else{if(!historyStorage.hasKey(this.PAGELOADEDSTRING)){this.ignoreLocationChange=true;this.firstLoad=true;historyStorage.put(this.PAGELOADEDSTRING,true);}else{this.ignoreLocationChange=false;this.fireOnNewListener=true;}}
var locationHandler=function(){that.checkLocation();};setInterval(locationHandler,100);},initialize:function(){if(this.isIE){if(!historyStorage.hasKey(this.PAGELOADEDSTRING)){this.fireOnNewListener=false;this.firstLoad=true;historyStorage.put(this.PAGELOADEDSTRING,true);}
else{this.fireOnNewListener=true;this.firstLoad=false;}}},addListener:function(listener){this.listener=listener;if(this.fireOnNewListener){this.fireHistoryEvent(this.currentLocation);this.fireOnNewListener=false;}},addEventListener:function(o,e,l){if(o.addEventListener){o.addEventListener(e,l,false);}else if(o.attachEvent){o.attachEvent('on'+e,function(){l(window.event);});}},add:function(newLocation,historyData){if(this.isSafari){newLocation=this.removeHash(newLocation);historyStorage.put(newLocation,historyData);this.currentLocation=newLocation;window.location.hash=newLocation;this.putSafariState(newLocation);}else{var that=this;var addImpl=function(){if(that.currentWaitTime>0){that.currentWaitTime=that.currentWaitTime-that.waitTime;}
newLocation=that.removeHash(newLocation);if(document.getElementById(newLocation)&&that.debugMode){var e="Exception: History locations can not have the same value as _any_ IDs that might be in the document,"
+" due to a bug in IE; please ask the developer to choose a history location that does not match any HTML"
+" IDs in this document. The following ID is already taken and cannot be a location: "+newLocation;throw new Error(e);}
historyStorage.put(newLocation,historyData);that.ignoreLocationChange=true;that.ieAtomicLocationChange=true;that.currentLocation=newLocation;window.location.hash=newLocation;if(that.isIE){that.iframe.src="blank.html?"+newLocation;}
that.ieAtomicLocationChange=false;};window.setTimeout(addImpl,this.currentWaitTime);this.currentWaitTime=this.currentWaitTime+this.waitTime;}},isFirstLoad:function(){return this.firstLoad;},getVersion:function(){return"0.6";},getCurrentLocation:function(){var r=(this.isSafari?this.getSafariState():this.getCurrentHash());return r;},getCurrentHash:function(){var r=window.location.href;var i=r.indexOf("#");return(i>=0?r.substr(i+1):"");},PAGELOADEDSTRING:"DhtmlHistory_pageLoaded",listener:null,waitTime:200,currentWaitTime:0,currentLocation:null,iframe:null,safariHistoryStartPoint:null,safariStack:null,safariLength:null,ignoreLocationChange:null,fireOnNewListener:null,firstLoad:null,ieAtomicLocationChange:null,createIE:function(initialHash){this.waitTime=400;var styles=(historyStorage.debugMode?'width: 800px;height:80px;border:1px solid black;':historyStorage.hideStyles);var iframeID="rshHistoryFrame";var iframeHTML='<iframe frameborder="0" id="'+iframeID+'" style="'+styles+'" src="blank.html?'+initialHash+'"></iframe>';document.write(iframeHTML);this.iframe=document.getElementById(iframeID);},createOpera:function(){this.waitTime=400;var imgHTML='<img src="javascript:location.href=\'javascript:dhtmlHistory.checkLocation();\';" style="'+historyStorage.hideStyles+'" />';document.write(imgHTML);},createSafari:function(){var formID="rshSafariForm";var stackID="rshSafariStack";var lengthID="rshSafariLength";var formStyles=historyStorage.debugMode?historyStorage.showStyles:historyStorage.hideStyles;var inputStyles=(historyStorage.debugMode?'width:800px;height:20px;border:1px solid black;margin:0;padding:0;':historyStorage.hideStyles);var safariHTML='<form id="'+formID+'" style="'+formStyles+'">'
+'<input type="text" style="'+inputStyles+'" id="'+stackID+'" value="[]"/>'
+'<input type="text" style="'+inputStyles+'" id="'+lengthID+'" value=""/>'
+'</form>';document.write(safariHTML);this.safariStack=document.getElementById(stackID);this.safariLength=document.getElementById(lengthID);if(!historyStorage.hasKey(this.PAGELOADEDSTRING)){this.safariHistoryStartPoint=history.length;this.safariLength.value=this.safariHistoryStartPoint;}else{this.safariHistoryStartPoint=this.safariLength.value;}},getSafariStack:function(){var r=this.safariStack.value;return historyStorage.fromJSON(r);},getSafariState:function(){var stack=this.getSafariStack();var state=stack[history.length-this.safariHistoryStartPoint-1];return state;},putSafariState:function(newLocation){var stack=this.getSafariStack();stack[history.length-this.safariHistoryStartPoint]=newLocation;this.safariStack.value=historyStorage.toJSON(stack);},fireHistoryEvent:function(newHash){var historyData=historyStorage.get(newHash);this.listener.call(null,newHash,historyData);},checkLocation:function(){if(!this.isIE&&this.ignoreLocationChange){this.ignoreLocationChange=false;return;}
if(!this.isIE&&this.ieAtomicLocationChange){return;}
var hash=this.getCurrentLocation();if(hash==this.currentLocation){return;}
this.ieAtomicLocationChange=true;if(this.isIE&&this.getIframeHash()!=hash){this.iframe.src="blank.html?"+hash;}
else if(this.isIE){return;}
this.currentLocation=hash;this.ieAtomicLocationChange=false;this.fireHistoryEvent(hash);},getIframeHash:function(){var doc=this.iframe.contentWindow.document;var hash=String(doc.location.search);if(hash.length==1&&hash.charAt(0)=="?"){hash="";}
else if(hash.length>=2&&hash.charAt(0)=="?"){hash=hash.substring(1);}
return hash;},removeHash:function(hashValue){var r;if(hashValue===null||hashValue===undefined){r=null;}
else if(hashValue===""){r="";}
else if(hashValue.length==1&&hashValue.charAt(0)=="#"){r="";}
else if(hashValue.length>1&&hashValue.charAt(0)=="#"){r=hashValue.substring(1);}
else{r=hashValue;}
return r;},iframeLoaded:function(newLocation){if(this.ignoreLocationChange){this.ignoreLocationChange=false;return;}
var hash=String(newLocation.search);if(hash.length==1&&hash.charAt(0)=="?"){hash="";}
else if(hash.length>=2&&hash.charAt(0)=="?"){hash=hash.substring(1);}
window.location.hash=hash;this.fireHistoryEvent(hash);}};window.historyStorage={setup:function(options){if(typeof options!=="undefined"){if(options.debugMode){this.debugMode=options.debugMode;}
if(options.toJSON){this.toJSON=options.toJSON;}
if(options.fromJSON){this.fromJSON=options.fromJSON;}}
var formID="rshStorageForm";var textareaID="rshStorageField";var formStyles=this.debugMode?historyStorage.showStyles:historyStorage.hideStyles;var textareaStyles=(historyStorage.debugMode?'width: 800px;height:80px;border:1px solid black;':historyStorage.hideStyles);var textareaHTML='<form id="'+formID+'" style="'+formStyles+'">'
+'<textarea id="'+textareaID+'" style="'+textareaStyles+'"></textarea>'
+'</form>';document.write(textareaHTML);this.storageField=document.getElementById(textareaID);if(typeof window.opera!=="undefined"){this.storageField.focus();}},put:function(key,value){this.assertValidKey(key);if(this.hasKey(key)){this.remove(key);}
this.storageHash[key]=value;this.saveHashTable();},get:function(key){this.assertValidKey(key);this.loadHashTable();var value=this.storageHash[key];if(value===undefined){value=null;}
return value;},remove:function(key){this.assertValidKey(key);this.loadHashTable();delete this.storageHash[key];this.saveHashTable();},reset:function(){this.storageField.value="";this.storageHash={};},hasKey:function(key){this.assertValidKey(key);this.loadHashTable();return(typeof this.storageHash[key]!=="undefined");},isValidKey:function(key){return(typeof key==="string");},showStyles:'border:0;margin:0;padding:0;',hideStyles:'left:-1000px;top:-1000px;width:1px;height:1px;border:0;position:absolute;',debugMode:false,storageHash:{},hashLoaded:false,storageField:null,assertValidKey:function(key){var isValid=this.isValidKey(key);if(!isValid&&this.debugMode){throw new Error("Please provide a valid key for window.historyStorage. Invalid key = "+key+".");}},loadHashTable:function(){if(!this.hashLoaded){var serializedHashTable=this.storageField.value;if(serializedHashTable!==""&&serializedHashTable!==null){this.storageHash=this.fromJSON(serializedHashTable);this.hashLoaded=true;}}},saveHashTable:function(){this.loadHashTable();var serializedHashTable=this.toJSON(this.storageHash);this.storageField.value=serializedHashTable;},toJSON:function(o){return o.toJSONString();},fromJSON:function(s){return s.parseJSON();}};initFunctions.push(initTips);function initTips(){if(window.msPicker){window.msPicker.addEventListener('itemClicked',window.pickerClicked.bind(this));window.msPicker.addEventListener('viewUpdated',window.addToolTips.bind(this));}
addToolTips();document.observe('click',function(e){pickerClicked('document',e);});}
function pickerClicked(type,e){var doHideAll=true;if(e){if(e.element().hasClassName('prototip')||e.element().up('.prototip'))
doHideAll=false;}
if(doHideAll==true){try
{Tips.hideAll();}
catch(e){}}}
function addToolTips(){setupMediaInfo();setUpComponentInfoTips();setUpWall();setUpValid0();}
function setupMediaInfo(){var mediaLink=$('picker-media-foot-link');if(mediaLink){Event.observe(mediaLink,'click',openMediaWindow);}}
function openMediaWindow(e){Event.stop(e);var componentIDs=$('picker-media-foot-link').name;TINY.box.show(ajaxURL+'componentsInfo'+'&componentIDs='+componentIDs+'&componentType=mediaType'+'&primaryComponentKey='+getCurrentMediaKey(),1,0,0,1);}
function setUpComponentInfoTips(){var afLinks=$$('#picker-panel-content a.aboutComponent');for(var i=0;i<afLinks.length;i++)
Event.observe(afLinks[i],'click',openComponentInfoWindow);}
function openComponentInfoWindow(e){Event.stop(e);TINY.box.show(ajaxURL+'componentsInfo'+'&componentIDs='+e.target.id.replace('about','')+'&componentType=frameType',1,600,500,1);}
function setUpValid0(){var v0Links=$$('#picker-panel-content .compatiblePrevious-0');for(var i=0;i<v0Links.length;i++){new Tip(v0Links[i],'<p class="valid0msg">This option is incompatible with your current selection.</p><p>You may still select this option, but some of your existing choices will be reset.</p>',{width:200,style:'default',border:1,radius:1,hook:{tip:'leftTop',mouse:true},offset:{x:15,y:0},showOn:'mousemove',closeButton:false,hideOn:'mouseout'});}}
function getCurrentMediaKey(){return $$('#picker-media-nav li.cur a')[0].id.replace('picknav-','');}
function setUpComponentsInfoToggle(){var componentInfoLinks=$$('#ciComponentsList li a');componentInfoDescriptions=$$('.componentInfo');var componentImageStepsN=$$('.componentImages a.nextImage');var componentImageStepsP=$$('.componentImages a.prevImage');for(var i=0;i<componentInfoLinks.length;i++)
componentInfoLinks[i].observe('click',function(e){componentsInfoToggle(this);e.stop();});for(var i=0;i<componentImageStepsN.length;i++)
componentImageStepsN[i].observe('click',function(e){componentsScrollImg(this,1);e.stop();});for(var i=0;i<componentImageStepsP.length;i++)
componentImageStepsP[i].observe('click',function(e){componentsScrollImg(this,0);e.stop();});}
function componentsInfoToggle(showThis){var showID=showThis.id.replace('ciList-','');for(var i=0;i<componentInfoDescriptions.length;i++){if(componentInfoDescriptions[i].id.replace('component-','')==showID)
componentInfoDescriptions[i].show();else
componentInfoDescriptions[i].hide();}
TINY.box.resizeForContent();}
function componentsScrollImg(el,dir){var componentImages=$$('.componentImages #imgList-'+el.id.replace(/[n|p]\-/,'')+' li');var showPos=0;for(var i=0;i<componentImages.length;i++){if(Element.visible(componentImages[i])){componentImages[i].hide();showPos=i;break;}}
if(dir==1){if(showPos==componentImages.length-1)
componentImages[0].show();else
componentImages[showPos+1].show();}
else{if(showPos==0)
componentImages[componentImages.length-1].show();else
componentImages[showPos-1].show();}}
function init_smallFormat()
{if(window.msPicker)
{window.msSmallFormat=new _msSmallFormat(window.msPicker,{});}}
_msSmallFormat=Class.create();_msSmallFormat.prototype={initialize:function(oPicker,options)
{this.options=Object.extend({maxImgScaleFactor:4,zoomStepPixels:20,continuousZoom:true,continuousZoomInitialDelay:.5,continuousZoomStepDelay:.05},options||{});this.elements={container:function(){return $('sfContainer')},product:function(){return $('sfProduct')},image:function(){return $('mainProdImg')},holder:function(){return $('mainProdImgHolder')},rotator:function(){return $('sfRotate')},zoomIn:function(){return $('sfZoomIn')},zoomOut:function(){return $('sfZoomOut')},zoomers:function(){return $('sfZoomers')},cropX1:function(){return $('sfCropX1')},cropY1:function(){return $('sfCropY1')},cropX2:function(){return $('sfCropX2')},cropY2:function(){return $('sfCropY2')},screenX:function(){return $('sfUserImgX')},screenY:function(){return $('sfUserImgY')},screenW:function(){return $('sfUserImgW')},screenH:function(){return $('sfUserImgH')},userEdited:function(){return $('sfUserEdited')}};this.imgDim=null;this.picker=oPicker;this.url=this.picker.getAjaxUrl();this.picker.addEventListener('viewUpdated',this.previewUpdated.bind(this));this.previewUpdated({preview:this.picker.getCurPreview()});},previewUpdated:function(oData)
{var oPreview=oData.preview;if(oPreview.isSmallFormat)
{var oSmallFormat=oPreview.smallFormat;if(oSmallFormat.layoutMode=='centre')
{this._renderCentre(oSmallFormat);}
else if(oSmallFormat.layoutMode=='fill')
{this._renderFill(oSmallFormat);this._addBehaviours('zoomers');}
this._addBehaviours('rotator');}},click_rotator:function(e)
{this.picker.showBusy(true);var pars=this.picker.getAjaxParams(e.element().href.replace(/.*\?/,''));this.picker.history.add(pars,null);var ajx=new Ajax.Request(this.url,{method:'get',parameters:pars,onComplete:this.picker.ajx_show.bind(this.picker)});Event.stop(e);},_renderCentre:function(oLayout)
{this.elements.container().setStyle({width:oLayout.dim.containerScreenW+'px',height:oLayout.dim.containerScreenH+'px',backgroundImage:'url('+oLayout.bgImage+')'});this.elements.product().setStyle({width:oLayout.dim.productScreenW+'px',height:oLayout.dim.productScreenH+'px',position:'absolute',top:(oLayout.dim.containerScreenH-oLayout.dim.productScreenH)/2+'px',left:(oLayout.dim.containerScreenW-oLayout.dim.productScreenW)/2+'px'});this.elements.image().setStyle({width:oLayout.dim.imgScreenW+'px',height:oLayout.dim.imgScreenH+'px',position:'absolute',top:Math.max(oLayout.dim.borderScreen,(oLayout.dim.productScreenH-oLayout.dim.imgScreenH)/2)+'px',left:Math.max(oLayout.dim.borderScreen,(oLayout.dim.productScreenW-oLayout.dim.imgScreenW)/2)+'px'});this.elements.holder().setStyle({marginLeft:Math.round((400-oLayout.dim.containerScreenW)/2)+'px',width:'auto'});},_renderFill:function(oLayout)
{this.imgDim=oLayout.dim;if(this.imgDim.userImgScreenW&&this.imgDim.userImgScreenH){this.imgDim.curImgScreenW=this.imgDim.userImgScreenW;this.imgDim.curImgScreenH=this.imgDim.userImgScreenH;}
else{this.imgDim.curImgScreenW=this.imgDim.imgScreenW;this.imgDim.curImgScreenH=this.imgDim.imgScreenH;}
this.elements.container().setStyle({width:oLayout.dim.containerScreenW+'px',height:oLayout.dim.containerScreenH+'px',backgroundImage:'url('+oLayout.bgImage+')'});this.elements.product().setStyle({width:oLayout.dim.productScreenW+'px',height:oLayout.dim.productScreenH+'px',position:'absolute',top:(oLayout.dim.containerScreenH-oLayout.dim.productScreenH)/2+'px',left:(oLayout.dim.containerScreenW-oLayout.dim.productScreenW)/2+'px'});this.elements.image().setStyle({width:oLayout.dim.curImgScreenW+'px',height:oLayout.dim.curImgScreenH+'px',position:'absolute'});this._initImagePosition(oLayout);this.elements.holder().setStyle({marginLeft:Math.round((400-oLayout.dim.containerScreenW)/2)+'px',width:'auto'});this.dragImg=new Draggable(this.elements.image(),{onEnd:this._dragEnd.bind(this),snap:this._constrainDrag.bind(this)});this._updatePrintCoords();this._showIfDraggable();this._showIfZoomable();},_initImagePosition:function(oLayout)
{if(oLayout.dim.userImgScreenX==null||oLayout.dim.userImgScreenY==null)
{this.imgDim.curImgScreenX=(this.imgDim.imgScreenW-this.imgDim.productScreenW)/-2;this.imgDim.curImgScreenY=(this.imgDim.imgScreenH-this.imgDim.productScreenH)/-2;}
else
{var pos=this._constrainToPrintArea(oLayout.dim.userImgScreenX,oLayout.dim.userImgScreenY);this.imgDim.curImgScreenX=pos[0];this.imgDim.curImgScreenY=pos[1];}
this.elements.image().setStyle({left:this.imgDim.curImgScreenX+'px',top:this.imgDim.curImgScreenY+'px'});},_dragEnd:function(draggable,e)
{var delta=draggable.currentDelta();this.imgDim.curImgScreenX=delta[0];this.imgDim.curImgScreenY=delta[1];this._updatePrintCoords(true);},_updatePrintCoords:function(userEdit)
{var sf=this.imgDim.imgHiresW/this.imgDim.curImgScreenW;var x1=Math.round(-this.imgDim.curImgScreenX*sf);var y1=Math.round(-this.imgDim.curImgScreenY*sf);var x2=x1+Math.round(this.imgDim.productScreenW*sf);var y2=y1+Math.round(this.imgDim.productScreenH*sf);this.elements.cropX1().value=x1;this.elements.cropY1().value=y1;this.elements.cropX2().value=x2;this.elements.cropY2().value=y2;this.elements.screenX().value=this.imgDim.curImgScreenX;this.elements.screenY().value=this.imgDim.curImgScreenY;this.elements.screenW().value=this.imgDim.curImgScreenW;this.elements.screenH().value=this.imgDim.curImgScreenH;if(userEdit)
this.elements.userEdited().value=1;},_constrainDrag:function(proposedX,proposedY,draggable)
{return this._constrainToPrintArea(proposedX,proposedY);},_constrainToPrintArea:function(x,y)
{if(x>0)x=0;if(y>0)y=0;if(x+this.imgDim.curImgScreenW<this.imgDim.productScreenW)x=this.imgDim.productScreenW-this.imgDim.curImgScreenW;if(y+this.imgDim.curImgScreenH<this.imgDim.productScreenH)y=this.imgDim.productScreenH-this.imgDim.curImgScreenH;return[x,y];},_showIfDraggable:function()
{var cursor='auto';if(this.imgDim.curImgScreenW>this.imgDim.productScreenW||this.imgDim.curImgScreenH>this.imgDim.productScreenH)
{cursor='move';}
this.elements.image().setStyle({cursor:cursor});},_showIfZoomable:function()
{if(this.imgDim.curImgScreenW<=this.imgDim.imgScreenW)
{this.elements.zoomOut().up('.zoomer').addClassName('disabled');}
else
{this.elements.zoomOut().up('.zoomer').removeClassName('disabled');}
if(this.imgDim.curImgScreenW>=this.options.maxImgScaleFactor*this.imgDim.imgScreenW)
{this.elements.zoomIn().up('.zoomer').addClassName('disabled');}
else
{this.elements.zoomIn().up('.zoomer').removeClassName('disabled');}
this.elements.zoomers().show();},mousedown_zoom:function(e,sDirection)
{if(this.options.continuousZoom)
{this._stopContinuousZoom();this.zoomRepeatDelay=new PeriodicalExecuter(this._continuousZoom.bind(this,sDirection),this.options.continuousZoomInitialDelay);}
this._zoom(sDirection);Event.stop(e);},mouseout_zoom:function(e,sDirection)
{this._stopContinuousZoom();},mouseup_document:function(e)
{this._stopContinuousZoom();},click_zoom:function(e,sDirection)
{this._stopContinuousZoom();Event.stop(e);},_continuousZoom:function(sDirection)
{if(this.zoomRepeatDelay)this.zoomRepeatDelay.stop();this.zoomRepeater=new PeriodicalExecuter(this._zoom.bind(this,sDirection),this.options.continuousZoomStepDelay);},_stopContinuousZoom:function()
{if(this.zoomRepeater)this.zoomRepeater.stop();if(this.zoomRepeatDelay)this.zoomRepeatDelay.stop();},_zoom:function(sDirection)
{var dir=(sDirection=='in')?1:-1;var elImg=this.elements.image();var w=elImg.width+this.options.zoomStepPixels*dir;var h=Math.round(w*1/this.imgDim.imgAspectRatio);if(w<this.imgDim.imgScreenW)
{w=this.imgDim.imgScreenW;h=this.imgDim.imgScreenH;}
if(w>this.options.maxImgScaleFactor*this.imgDim.imgScreenW)
{w=this.options.maxImgScaleFactor*this.imgDim.imgScreenW;h=this.options.maxImgScaleFactor*this.imgDim.imgScreenH;}
var incW=w-this.imgDim.curImgScreenW;var incH=h-this.imgDim.curImgScreenH;this.imgDim.curImgScreenW=w;this.imgDim.curImgScreenH=h;var x=this.imgDim.curImgScreenX-((incW/2));var y=this.imgDim.curImgScreenY-((incH/2));pos=this._constrainToPrintArea(x,y);this.imgDim.curImgScreenX=pos[0];this.imgDim.curImgScreenY=pos[1];elImg.setStyle({width:w+'px',height:h+'px',left:this.imgDim.curImgScreenX+'px',top:this.imgDim.curImgScreenY+'px'});this._updatePrintCoords(true);this._showIfDraggable();this._showIfZoomable();},_addBehaviours:function(sList)
{var s;var aItems=sList.split(',');for(var j=0;j<aItems.length;j++)
{s=aItems[j];switch(s)
{case'rotator':var el=this.elements.rotator();if(el)
{Event.observe(el,'click',this.click_rotator.bindAsEventListener(this));}
break;case'zoomers':Event.observe(this.elements.zoomIn(),'mousedown',this.mousedown_zoom.bindAsEventListener(this,'in'));Event.observe(this.elements.zoomOut(),'mousedown',this.mousedown_zoom.bindAsEventListener(this,'out'));Event.observe(this.elements.zoomIn(),'click',this.click_zoom.bindAsEventListener(this,'in'));Event.observe(this.elements.zoomOut(),'click',this.click_zoom.bindAsEventListener(this,'out'));if(this.options.continuousZoom)
{Event.observe(this.elements.zoomIn(),'mouseout',this.mouseout_zoom.bindAsEventListener(this,'in'));Event.observe(this.elements.zoomOut(),'mouseout',this.mouseout_zoom.bindAsEventListener(this,'out'));Event.observe(document,'mouseup',this.mouseup_document.bindAsEventListener(this));}
break;}}}}
initFunctions.push(init_smallFormat.bind(window));LightboxOptions=Object.extend({fileLoadingImage:'images/loading.gif',fileBottomNavCloseImage:'images/closelabel.gif',overlayOpacity:0.8,animate:true,resizeSpeed:7,borderSize:10,labelImage:"Image",labelOf:"of"},window.LightboxOptions||{});var Lightbox=Class.create();Lightbox.prototype={imageArray:[],activeImage:undefined,initialize:function(){this.updateImageList();this.keyboardAction=this.keyboardAction.bindAsEventListener(this);if(LightboxOptions.resizeSpeed>10)LightboxOptions.resizeSpeed=10;if(LightboxOptions.resizeSpeed<1)LightboxOptions.resizeSpeed=1;this.resizeDuration=LightboxOptions.animate?((11-LightboxOptions.resizeSpeed)*0.15):0;this.overlayDuration=LightboxOptions.animate?0.2:0;var size=(LightboxOptions.animate?250:1)+'px';var objBody=$$('body')[0];objBody.appendChild(Builder.node('div',{id:'overlay'}));objBody.appendChild(Builder.node('div',{id:'lightbox'},[Builder.node('div',{id:'outerImageContainer'},Builder.node('div',{id:'imageContainer'},[Builder.node('img',{id:'lightboxImage'}),Builder.node('div',{id:'hoverNav'},[Builder.node('a',{id:'prevLink',href:'#'}),Builder.node('a',{id:'nextLink',href:'#'})]),Builder.node('div',{id:'loading'},Builder.node('a',{id:'loadingLink',href:'#'},Builder.node('img',{src:LightboxOptions.fileLoadingImage})))])),Builder.node('div',{id:'imageDataContainer'},Builder.node('div',{id:'imageData'},[Builder.node('div',{id:'imageDetails'},[Builder.node('span',{id:'caption'}),Builder.node('span',{id:'numberDisplay'})]),Builder.node('div',{id:'bottomNav'},Builder.node('a',{id:'bottomNavClose',href:'#'},Builder.node('img',{src:LightboxOptions.fileBottomNavCloseImage})))]))]));$('overlay').hide().observe('click',(function(){this.end();}).bind(this));$('lightbox').hide().observe('click',(function(event){if(event.element().id=='lightbox')this.end();}).bind(this));$('outerImageContainer').setStyle({width:size,height:size});$('prevLink').observe('click',(function(event){event.stop();this.changeImage(this.activeImage-1);}).bindAsEventListener(this));$('nextLink').observe('click',(function(event){event.stop();this.changeImage(this.activeImage+1);}).bindAsEventListener(this));$('loadingLink').observe('click',(function(event){event.stop();this.end();}).bind(this));$('bottomNavClose').observe('click',(function(event){event.stop();this.end();}).bind(this));var th=this;(function(){var ids='overlay lightbox outerImageContainer imageContainer lightboxImage hoverNav prevLink nextLink loading loadingLink '+'imageDataContainer imageData imageDetails caption numberDisplay bottomNav bottomNavClose';$w(ids).each(function(id){th[id]=$(id);});}).defer();},updateImageList:function(){this.updateImageList=Prototype.emptyFunction;document.observe('click',(function(event){var target=event.findElement('a[rel^=lightbox]')||event.findElement('area[rel^=lightbox]');if(target){event.stop();this.start(target);}}).bind(this));},start:function(imageLink){$$('select','object','embed').each(function(node){node.style.visibility='hidden'});var arrayPageSize=this.getPageSize();$('overlay').setStyle({width:arrayPageSize[0]+'px',height:arrayPageSize[1]+'px'});new Effect.Appear(this.overlay,{duration:this.overlayDuration,from:0.0,to:LightboxOptions.overlayOpacity});this.imageArray=[];var imageNum=0;if((imageLink.rel=='lightbox')){this.imageArray.push([imageLink.href,imageLink.title]);}else{this.imageArray=$$(imageLink.tagName+'[href][rel="'+imageLink.rel+'"]').collect(function(anchor){return[anchor.href,anchor.title];}).uniq();while(this.imageArray[imageNum][0]!=imageLink.href){imageNum++;}}
var arrayPageScroll=document.viewport.getScrollOffsets();var lightboxTop=arrayPageScroll[1]+(document.viewport.getHeight()/10);var lightboxLeft=arrayPageScroll[0];this.lightbox.setStyle({top:lightboxTop+'px',left:lightboxLeft+'px'}).show();this.changeImage(imageNum);},changeImage:function(imageNum){this.activeImage=imageNum;if(LightboxOptions.animate)this.loading.show();this.lightboxImage.hide();this.hoverNav.hide();this.prevLink.hide();this.nextLink.hide();this.imageDataContainer.setStyle({opacity:.0001});this.numberDisplay.hide();var imgPreloader=new Image();imgPreloader.onload=(function(){this.lightboxImage.src=this.imageArray[this.activeImage][0];this.resizeImageContainer(imgPreloader.width,imgPreloader.height);}).bind(this);imgPreloader.src=this.imageArray[this.activeImage][0];},resizeImageContainer:function(imgWidth,imgHeight){var widthCurrent=this.outerImageContainer.getWidth();var heightCurrent=this.outerImageContainer.getHeight();var widthNew=(imgWidth+LightboxOptions.borderSize*2);var heightNew=(imgHeight+LightboxOptions.borderSize*2);var xScale=(widthNew/widthCurrent)*100;var yScale=(heightNew/heightCurrent)*100;var wDiff=widthCurrent-widthNew;var hDiff=heightCurrent-heightNew;if(hDiff!=0)new Effect.Scale(this.outerImageContainer,yScale,{scaleX:false,duration:this.resizeDuration,queue:'front'});if(wDiff!=0)new Effect.Scale(this.outerImageContainer,xScale,{scaleY:false,duration:this.resizeDuration,delay:this.resizeDuration});var timeout=0;if((hDiff==0)&&(wDiff==0)){timeout=100;if(Prototype.Browser.IE)timeout=250;}
(function(){this.prevLink.setStyle({height:imgHeight+'px'});this.nextLink.setStyle({height:imgHeight+'px'});this.imageDataContainer.setStyle({width:widthNew+'px'});this.showImage();}).bind(this).delay(timeout/1000);},showImage:function(){this.loading.hide();new Effect.Appear(this.lightboxImage,{duration:this.resizeDuration,queue:'end',afterFinish:(function(){this.updateDetails();}).bind(this)});this.preloadNeighborImages();},updateDetails:function(){if(this.imageArray[this.activeImage][1]!=""){this.caption.update(this.imageArray[this.activeImage][1]).show();}
if(this.imageArray.length>1){this.numberDisplay.update(LightboxOptions.labelImage+' '+(this.activeImage+1)+' '+LightboxOptions.labelOf+' '+this.imageArray.length).show();}
new Effect.Parallel([new Effect.SlideDown(this.imageDataContainer,{sync:true,duration:this.resizeDuration,from:0.0,to:1.0}),new Effect.Appear(this.imageDataContainer,{sync:true,duration:this.resizeDuration})],{duration:this.resizeDuration,afterFinish:(function(){var arrayPageSize=this.getPageSize();this.overlay.setStyle({height:arrayPageSize[1]+'px'});this.updateNav();}).bind(this)});},updateNav:function(){this.hoverNav.show();if(this.activeImage>0)this.prevLink.show();if(this.activeImage<(this.imageArray.length-1))this.nextLink.show();this.enableKeyboardNav();},enableKeyboardNav:function(){document.observe('keydown',this.keyboardAction);},disableKeyboardNav:function(){document.stopObserving('keydown',this.keyboardAction);},keyboardAction:function(event){var keycode=event.keyCode;var escapeKey;if(event.DOM_VK_ESCAPE){escapeKey=event.DOM_VK_ESCAPE;}else{escapeKey=27;}
var key=String.fromCharCode(keycode).toLowerCase();if(key.match(/x|o|c/)||(keycode==escapeKey)){this.end();}else if((key=='p')||(keycode==37)){if(this.activeImage!=0){this.disableKeyboardNav();this.changeImage(this.activeImage-1);}}else if((key=='n')||(keycode==39)){if(this.activeImage!=(this.imageArray.length-1)){this.disableKeyboardNav();this.changeImage(this.activeImage+1);}}},preloadNeighborImages:function(){var preloadNextImage,preloadPrevImage;if(this.imageArray.length>this.activeImage+1){preloadNextImage=new Image();preloadNextImage.src=this.imageArray[this.activeImage+1][0];}
if(this.activeImage>0){preloadPrevImage=new Image();preloadPrevImage.src=this.imageArray[this.activeImage-1][0];}},end:function(){this.disableKeyboardNav();this.lightbox.hide();new Effect.Fade(this.overlay,{duration:this.overlayDuration});$$('select','object','embed').each(function(node){node.style.visibility='visible'});},getPageSize:function(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
return[pageWidth,pageHeight];}}
document.observe('dom:loaded',function(){new Lightbox();});initFunctions.push(setUpCW);function setUpCW(){if($('cwNewsletter')){Event.observe($('cwNewsletter'),'click',toggleNewsletterForm);newsletterForm=$('cwNewsletterForm');Event.observe($('cwNewsletterEmail'),'click',function(){if($F('cwNewsletterEmail')=='Enter your email')$('cwNewsletterEmail').value='';});}
Event.observe($('quicksearchstring'),'click',function(){if($F('quicksearchstring')=='search')$('quicksearchstring').value='';});}
function toggleNewsletterForm(e){if(newsletterForm.visible())
newsletterForm.hide();else
newsletterForm.show();Event.stop(e);}
