if(typeof deconcept=="undefined"){var deconcept=new Object()}if(typeof deconcept.util=="undefined"){deconcept.util=new Object()}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object()}deconcept.SWFObject=function(o,b,p,f,l,m,j,g,d,n){if(!document.getElementById){return}this.DETECT_KEY=n?n:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(o){this.setAttribute("swf",o)}if(b){this.setAttribute("id",b)}if(p){this.setAttribute("width",p)}if(f){this.setAttribute("height",f)}if(l){this.setAttribute("version",new deconcept.PlayerVersion(l.toString().split(".")))}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true}if(m){this.addParam("bgcolor",m)}var a=j?j:"high";this.addParam("quality",a);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var k=(g)?g:window.location;this.setAttribute("xiRedirectUrl",k);this.setAttribute("redirectUrl","");if(d){this.setAttribute("redirectUrl",d)}};deconcept.SWFObject.prototype={useExpressInstall:function(a){this.xiSWFPath=!a?"expressinstall.swf":a;this.setAttribute("useExpressInstall",true)},setAttribute:function(a,b){this.attributes[a]=b},getAttribute:function(a){return this.attributes[a]},addParam:function(b,a){this.params[b]=a},getParams:function(){return this.params},addVariable:function(b,a){this.variables[b]=a},getVariable:function(a){return this.variables[a]},getVariables:function(){return this.variables},getVariablePairs:function(){var c=new Array();var b;var a=this.getVariables();for(b in a){c[c.length]=b+"="+a[b]}return c},getSWFHTML:function(){var b="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath)}b='<embed type="application/x-shockwave-flash" src="'+this.getAttribute("swf")+'" width="'+this.getAttribute("width")+'" height="'+this.getAttribute("height")+'" style="'+this.getAttribute("style")+'"';b+=' id="'+this.getAttribute("id")+'" name="'+this.getAttribute("id")+'" ';var g=this.getParams();for(var f in g){b+=[f]+'="'+g[f]+'" '}var d=this.getVariablePairs().join("&");if(d.length>0){b+='flashvars="'+d+'"'}b+="/>"}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath)}b='<object id="'+this.getAttribute("id")+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute("width")+'" height="'+this.getAttribute("height")+'" style="'+this.getAttribute("style")+'">';b+='<param name="movie" value="'+this.getAttribute("swf")+'" />';var c=this.getParams();for(var f in c){b+='<param name="'+f+'" value="'+c[f]+'" />'}var a=this.getVariablePairs().join("&");if(a.length>0){b+='<param name="flashvars" value="'+a+'" />'}b+="</object>"}return b},write:function(b){if(this.getAttribute("useExpressInstall")){var a=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(a)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title)}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var c=(typeof b=="string")?document.getElementById(b):b;c.innerHTML=this.getSWFHTML();return true}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"))}}return false}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var f=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var a=navigator.plugins["Shockwave Flash"];if(a&&a.description){f=new deconcept.PlayerVersion(a.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."))}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var b=1;var c=3;while(b){try{c++;b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+c);f=new deconcept.PlayerVersion([c,0,0])}catch(d){b=null}}}else{try{var b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(d){try{var b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");f=new deconcept.PlayerVersion([6,0,21]);b.AllowScriptAccess="always"}catch(d){if(f.major==6){return f}}try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(d){}}if(b!=null){f=new deconcept.PlayerVersion(b.GetVariable("$version").split(" ")[1].split(","))}}}return f};deconcept.PlayerVersion=function(a){this.major=a[0]!=null?parseInt(a[0]):0;this.minor=a[1]!=null?parseInt(a[1]):0;this.rev=a[2]!=null?parseInt(a[2]):0};deconcept.PlayerVersion.prototype.versionIsValid=function(a){if(this.major<a.major){return false}if(this.major>a.major){return true}if(this.minor<a.minor){return false}if(this.minor>a.minor){return true}if(this.rev<a.rev){return false}return true};deconcept.util={getRequestParameter:function(c){var d=document.location.search||document.location.hash;if(c==null){return d}if(d){var b=d.substring(1).split("&");for(var a=0;a<b.length;a++){if(b[a].substring(0,b[a].indexOf("="))==c){return b[a].substring((b[a].indexOf("=")+1))}}}return""}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var b=document.getElementsByTagName("OBJECT");for(var c=b.length-1;c>=0;c--){b[c].style.display="none";for(var a in b[c]){if(typeof b[c][a]=="function"){b[c][a]=function(){}}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs)};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true}}if(!document.getElementById&&document.all){document.getElementById=function(a){return document.all[a]}}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;(function(){if(window.google&&google.gears){return}var a=null;if(typeof GearsFactory!="undefined"){a=new GearsFactory()}else{try{a=new ActiveXObject("Gears.Factory");if(a.getBuildInfo().indexOf("ie_mobile")!=-1){a.privateSetGlobalObject(this)}}catch(b){if((typeof navigator.mimeTypes!="undefined")&&navigator.mimeTypes["application/x-googlegears"]){a=document.createElement("object");a.style.display="none";a.width=0;a.height=0;a.type="application/x-googlegears";document.documentElement.appendChild(a)}}}if(!a){return}if(!window.google){google={}}if(!google.gears){google.gears={factory:a}}})();Persist=(function(){var k="0.2.0",d,c,a,h,j,f,g;g=(function(){var s="Thu, 01-Jan-1970 00:00:01 GMT",m=1000*60*60*24,t=["expires","path","domain"],o=escape,n=unescape,r=document,p;var u=function(){var v=new Date();v.setTime(v.getTime());return v};var l=function(y,B){var x,w,A,z=[],v=(arguments.length>2)?arguments[2]:{};z.push(o(y)+"="+o(B));for(x=0;x<t.length;x++){w=t[x];if(A=v[w]){z.push(w+"="+A)}}if(v.secure){z.push("secure")}return z.join("; ")};var q=function(){var x="__EC_TEST__",w=new Date();w=w.toGMTString();this.set(x,w);this.enabled=(this.remove(x)==w);return this.enabled};p={set:function(z,C){var y=(arguments.length>2)?arguments[2]:{},x=u(),w,v={};if(y.expires){y.expires*=m;v.expires=new Date(x.getTime()+y.expires);v.expires=v.expires.toGMTString()}var B=["path","domain","secure"];for(i=0;i<B.length;i++){if(y[B[i]]){v[B[i]]=y[B[i]]}}var A=l(z,C,v);r.cookie=A;return C},has:function(w){w=o(w);var z=r.cookie,y=z.indexOf(w+"="),v=y+w.length+1,x=z.substring(0,w.length);return((!y&&w!=x)||y<0)?false:true},get:function(x){x=o(x);var A=r.cookie,z=A.indexOf(x+"="),v=z+x.length+1,y=A.substring(0,x.length),w;if((!z&&x!=y)||z<0){return null}w=A.indexOf(";",v);if(w<0){w=A.length}return n(A.substring(v,w))},remove:function(v){var x=p.get(v),w={expires:s};r.cookie=l(v,"",w);return x},keys:function(){var z=r.cookie,y=z.split("; "),v,x,w=[];for(v=0;v<y.length;v++){x=y[v].split("=");w.push(n(x[0]))}return w},all:function(){var z=r.cookie,y=z.split("; "),v,x,w=[];for(v=0;v<y.length;v++){x=y[v].split("=");w.push([n(x[0]),n(x[1])])}return w},version:"0.2.1",enabled:false};p.enabled=q.call(p);return p}());var b=(function(){if(Array.prototype.indexOf){return function(l,m){return Array.prototype.indexOf.call(l,m)}}else{return function(o,p){var n,m;for(n=0,m=o.length;n<m;n++){if(o[n]==p){return n}}return -1}}})();f=function(){};h=function(l){return"PS"+l.replace(/_/g,"__").replace(/ /g,"_s")};a={search_order:["localstorage","whatwg_db","globalstorage","flash"],name_re:/^[a-z][a-z0-9_ -]+$/i,methods:["init","get","set","remove","load","save"],sql:{version:"1",create:"CREATE TABLE IF NOT EXISTS persist_data (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)",get:"SELECT v FROM persist_data WHERE k = ?",set:"INSERT INTO persist_data(k, v) VALUES (?, ?)",remove:"DELETE FROM persist_data WHERE k = ?"},flash:{div_id:"_persist_flash_wrap",id:"_persist_flash",path:"persist.swf",size:{w:1,h:1},args:{autostart:true}}};c={gears:{size:-1,test:function(){return(window.google&&window.google.gears)?true:false},methods:{transaction:function(m){var l=this.db;l.execute("BEGIN").close();m.call(this,l);l.execute("COMMIT").close()},init:function(){var l;l=this.db=google.gears.factory.create("beta.database");l.open(h(this.name));l.execute(a.sql.create).close()},get:function(l,n,m){var o,p=a.sql.get;if(!n){return}this.transaction(function(r){var q,s;o=r.execute(p,[l]);q=o.isValidRow();s=q?o.field(0):null;o.close();n.call(m||this,q,s)})},set:function(m,s,o,n){var l=a.sql.remove,q=a.sql.set,p;this.transaction(function(r){r.execute(l,[m]).close();r.execute(q,[m,s]).close();if(o){o.call(n||this,true,s)}})},remove:function(m,o,n){var q=a.sql.get,t=a.sql.remove,p,s=null,l=false;this.transaction(function(r){if(o){p=r.execute(q,[m]);l=p.isValidRow();s=l?p.field(0):null;p.close()}if(!o||l){r.execute(t,[m]).close()}if(o){o.call(n||this,l,s)}})}}},whatwg_db:{size:200*1024,test:function(){var l="PersistJS Test",m="Persistent database test.";if(!window.openDatabase){return false}if(!window.openDatabase(l,a.sql.version,m,c.whatwg_db.size)){return false}return true},methods:{transaction:function(l){if(!this.db_created){this.db.transaction(function(m){m.executeSql(a.sql.create,[],function(){this.db_created=true})},f)}this.db.transaction(l)},init:function(){this.db=openDatabase(this.name,a.sql.version,this.o.about||("Persistent storage for "+this.name),this.o.size||c.whatwg_db.size)},get:function(l,n,m){var o=a.sql.get;if(!n){return}m=m||this;this.transaction(function(p){p.executeSql(o,[l],function(q,s){if(s.rows.length>0){n.call(m,true,s.rows.item(0)["v"])}else{n.call(m,false,null)}})})},set:function(m,q,o,n){var l=a.sql.remove,p=a.sql.set;this.transaction(function(r){r.executeSql(l,[m],function(){r.executeSql(p,[m,q],function(s,u){if(o){o.call(n||this,true,q)}})})});return q},remove:function(l,n,m){var o=a.sql.get,p=a.sql.remove;this.transaction(function(q){if(n){q.executeSql(o,[l],function(s,u){if(u.rows.length>0){var v=u.rows.item(0)["v"];s.executeSql(p,[l],function(w,x){n.call(m||this,true,v)})}else{n.call(m||this,false,null)}})}else{q.executeSql(p,[l])}})}}},globalstorage:{size:5*1024*1024,test:function(){return window.globalStorage?true:false},methods:{key:function(l){return h(this.name)+h(l)},init:function(){this.store=globalStorage[this.o.domain]},get:function(l,n,m){l=this.key(l);var o=this.store.getItem(l),q;try{if(typeof o=="object"&&o!=null){q=o.value}else{q=o}}catch(p){q=null}if(q=="null"){q=null}if(n){n.call(m||this,true,q)}},set:function(l,o,n,m){l=this.key(l);this.store.setItem(l,o);if(n){n.call(m||this,true,o)}},remove:function(l,n,m){var o;l=this.key(l);o=this.store[l];this.store.removeItem(l);if(n){n.call(m||this,(o!==null),o)}}}},localstorage:{size:-1,test:function(){return window.localStorage?true:false},methods:{key:function(l){return h(this.name)+h(l)},init:function(){this.store=localStorage},get:function(l,n,m){l=this.key(l);var o=this.store.getItem(l);if(o=="null"){o=null}if(n){n.call(m||this,true,o)}},set:function(l,o,n,m){l=this.key(l);this.store.setItem(l,o);if(n){n.call(m||this,true,o)}},remove:function(l,n,m){var o;l=this.key(l);o=this.store.getItem(l);this.store.removeItem(l);if(n){n.call(m||this,(o!==null),o)}}}},ie:{prefix:"_persist_data-",size:64*1024,test:function(){return window.ActiveXObject?true:false},make_userdata:function(m){var l=document.createElement("div");l.id=m;l.style.display="none";l.addBehavior("#default#userdata");document.body.appendChild(l);return l},methods:{init:function(){var l=c.ie.prefix+h(this.name);this.el=c.ie.make_userdata(l);if(this.o.defer){this.load()}},get:function(l,n,m){var o;l=h(l);if(!this.o.defer){this.load()}o=this.el.getAttribute(l);if(n){n.call(m||this,o?true:false,o)}},set:function(l,o,n,m){l=h(l);this.el.setAttribute(l,o);if(!this.o.defer){this.save()}if(n){n.call(m||this,true,o)}},remove:function(l,n,m){var o;l=h(l);if(!this.o.defer){this.load()}o=this.el.getAttribute(l);this.el.removeAttribute(l);if(!this.o.defer){this.save()}if(n){n.call(m||this,o?true:false,o)}},load:function(){this.el.load(h(this.name))},save:function(){this.el.save(h(this.name))}}},cookie:{delim:":",size:4000,test:function(){return d.Cookie.enabled?true:false},methods:{key:function(l){return this.name+c.cookie.delim+l},get:function(l,n,m){var o;l=this.key(l);o=g.get(l);if(n){n.call(m||this,o!=null,o)}},set:function(l,o,n,m){l=this.key(l);g.set(l,o,this.o);if(n){n.call(m||this,true,o)}},remove:function(l,o,n,m){var o;l=this.key(l);o=g.remove(l);if(n){n.call(m||this,o!=null,o)}}}},flash:{test:function(){if(!deconcept||!deconcept.SWFObjectUtil){return false}var l=deconcept.SWFObjectUtil.getPlayerVersion().major;return(l>=8)?true:false},methods:{init:function(){if(!c.flash.el){var p,m,n,l=a.flash;n=document.createElement("div");n.id=l.div_id;document.body.appendChild(n);p=new deconcept.SWFObject(this.o.swf_path||l.path,l.id,l.size.w,l.size.h,"8");for(m in l.args){p.addVariable(m,l.args[m])}p.write(n);c.flash.el=document.getElementById(l.id)}this.el=c.flash.el},get:function(l,n,m){var p;l=h(l);try{p=this.el.get(this.name,l)}catch(o){p=null}if(p=="null"){p=null}if(n){n.call(m||this,p!==null,p)}},set:function(m,p,o,n){var l;m=h(m);l=this.el.set(this.name,m,p);if(o){o.call(n||this,true,p)}},remove:function(l,n,m){var o;l=h(l);o=this.el.remove(this.name,l);if(n){n.call(m||this,true,o)}}}}};var j=function(){var q,n,m,p,o=a.methods,r=a.search_order;for(q=0,n=o.length;q<n;q++){d.Store.prototype[o[q]]=f}d.type=null;d.size=-1;for(q=0,n=r.length;!d.type&&q<n;q++){m=c[r[q]];if(m.test()){d.type=r[q];d.size=m.size;for(p in m.methods){d.Store.prototype[p]=m.methods[p]}}}d._init=true};d={VERSION:k,type:null,size:0,add:function(l){c[l.id]=l;a.search_order=[l.id].concat(a.search_order);j()},remove:function(m){var l=b(a.search_order,m);if(l<0){return}a.search_order.splice(l,1);delete c[m];j()},Cookie:g,Store:function(l,m){if(!a.name_re.exec(l)){throw new Error("Invalid name")}if(!d.type){throw new Error("No suitable storage found")}m=m||{};this.name=l;m.domain=m.domain||location.host||"localhost";m.domain=m.domain.replace(/:\d+$/,"");this.o=m;m.expires=m.expires||365*2;m.path=m.path||"/";this.init()}};j();return d})();myDeco.readCookie=function(b){var f=b+"=";var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var g=a[d];while(g.charAt(0)==" "){g=g.substring(1,g.length)}if(g.indexOf(f)===0){return unescape(g.substring(f.length,g.length))}}return null};myDeco.createCookie=function(c,f,h,g,d){var a="";if(h){var b=new Date();b.setTime(b.getTime()+(h*24*60*60*1000));a="; expires="+b.toGMTString()}d=(d&&d!="None"?"; domain="+d:"");g=(g&&g!="None"?"; path="+g:"; path=/");document.cookie=c+"="+escape(f)+a+g+d};myDeco.eraseCookie=function(a,c,b){this.createCookie(a,"",-1,c,b)};myDeco.tracking={tags:myDeco.settings.TRACKING_TAGS,init:function(){var a=(new String(document.location.href)).toQueryParams();this.tags.each(function(b){var c=a[b.paramName];if(c){myDeco.tracking.setTrackingCookie(b.cookieName,encodeURIComponent(c),b.type=="internal");throw $break}})},setTrackingCookie:function(b,c,a){this.tags.each(function(f){var d=f.cookieDomain||myDeco.settings.USER_DATA_COOKIE_DOMAIN;if(f.paramName==b||f.cookieName==b){myDeco.createCookie(f.cookieName,encodeURIComponent(c),f.cookieAge,null,d)}else{if(!a){myDeco.eraseCookie(f.cookieName,null,d)}}})}};myDeco.tracking.init();var omniture_params=["pageName","pageType","server","channel","prop1","prop2","prop3","prop4","prop5","prop6","prop7","prop8","prop9","prop10","prop11","campaign","state","zip","eVar1","eVar2","eVar3","eVar4","eVar5","eVar6","eVar7","eVar8","eVar9","eVar10","eVar11","events","hier1","hier2"];myDeco.OmnitureAjax={checkCookies:function(){var b=false;var a=new Hash();omniture_params.each(function(c){param_name="omniture_"+c;cvalue=myDeco.readCookie(param_name);if(cvalue){a.set(c,cvalue);b=true;myDeco.eraseCookie(param_name)}});if(b){myDeco.OmnitureAjax.send(a,"[Cookies]")}},onComplete:function(b,d){var c=false;var a=new Hash();myDeco.OmnitureAjax.response=d.responseText.evalJSON();omniture_params.each(function(f){param_name="omniture_"+f;value=myDeco.OmnitureAjax.response[param_name];cvalue=myDeco.readCookie(param_name);if(value){a.set(f,value);c=true}else{if(cvalue){a.set(f,cvalue);c=true}}if(cvalue){myDeco.eraseCookie(param_name)}});if(c){myDeco.OmnitureAjax.send(a,"[Ajax]")}},send:function(a,d){try{var b=s_gi(s_account);if(b.pageName.indexOf(d)==-1){b.pageName=s_pagename+d}if(b.prop3.indexOf(d)==-1){b.prop3=s_pagetype+d}a.keys().each(function(f){b[f]=a.get(f)});b.t()}catch(c){console.log("Error : tracking.js : myDeco.OmnitureAjax.send"+c)}},init:function(){Ajax.Responders.register({onComplete:myDeco.OmnitureAjax.onComplete});myDeco.OmnitureAjax.checkCookies()}};document.observe("dom:loaded",myDeco.OmnitureAjax.init);myDeco.username=null;myDeco.setUserData=function(){var cookie=myDeco.readCookie(myDeco.settings.USER_DATA_COOKIE_NAME);if(cookie){var userData={};try{try{userData=eval("("+cookie+")")}catch(e){cookie=cookie.slice(1,-1);userData=eval("("+cookie+")")}if(typeof userData!="object"){throw"Not an object"}}catch(e){console.log("Invalid user_data cookie value: "+e)}for(var prop in userData){myDeco[prop]=userData[prop]}}myDeco.urls.updateUserUrls(myDeco.username)};myDeco.setUserData();if(typeof(myDeco)=="undefined"){var myDeco={}}if(typeof(myDeco.user)=="undefined"){myDeco.user={}}myDeco.user={init:function(){this.updateLoginArea();this.updateCounters();this.updateFeedbackLink();this.updateCommentAvatar();$$(".ajax-login-link").invoke("observe","click",this.ajaxLoginClickHandler.bindAsEventListener(this));$$(".ajax-logout-link").invoke("observe","click",this.ajaxLogoutClickHandler.bindAsEventListener(this))},updateLoginArea:function(){var a=$("guest_section");var c=$("user_section");if(myDeco.username){var b=$("username-container");if(b){b.update("Welcome, "+myDeco.username+"!")}$$(".replace-username-link").each(function(d){d.href=d.href.replace("username",myDeco.username)});$$(".logged-only").invoke("show");if(a){a.hide()}if(c){c.show()}}else{if(a){a.show()}if(c){c.hide()}$$(".logout-info").invoke("show");$$("#navigation .facebook-connect").invoke("observe","click",function(d){d.stop();FB.Connect.requireSession(function(){window.location=myDeco.urls.userLoginFacebook+"?next="})})}},updateCommentAvatar:function(){var a=$("user_comment_avatar");if(a&&typeof(myDeco.avatar)!="undefined"){a.setStyle({backgroundImage:"url("+myDeco.avatar+")",backgroundPosition:"center center",backgroundRepeat:"no-repeat"})}},updateCounters:function(a){if(a){myDeco.setUserData()}if($("alert-count")){if(myDeco.alert_count==1){$("alert-count").innerHTML=myDeco.alert_count+" alert"}else{$("alert-count").innerHTML=myDeco.alert_count+" alerts"}}if(!myDeco.alert_count&&$("alerts-link")&&!$("alerts-link").ancestors()[0].hasClassName("active")){$("alerts-link").addClassName("grey-colored")}if($("profile-alert-count")){$("profile-alert-count").innerHTML=myDeco.alert_count}if($("shortlist-count")){$("shortlist-count").innerHTML=myDeco.shortlist_count}},updateFeedbackLink:function(){var a={href:"mailto:launch@mydeco.com?subject=Feedback&amp;body=Please write your feedback here%0A%0A%0A%0A----------- Technical information - please leave this here, it will help us! -----------%0A%0AURL: "+document.location+"%0ABrowser: "+navigator.userAgent+"%0AUser: "+myDeco.username};if($("feedback")){$("feedback").appendChild(Builder.node("a",a,"Send us feedback"))}},ajaxLoginClickHandler:function(c){c.stop();var a=myDeco.urls.ajaxIframeLogin+"?callback=myDeco.user.ajaxLoginSuccessHandler";var b=new Element("iframe",{src:a});b.setStyle({position:"fixed",top:"100px",left:((document.viewport.getWidth()/2)-160)+"px",width:"320px",height:"320px",overflow:"auto",border:"0px",zIndex:1500});b.allowTransparency="true";b.scrolling="no";b.frameBorder=0;document.body.appendChild(b);this.iframe=b},ajaxLoginSuccessHandler:function(a){myDeco.setUserData();this.updateLoginArea();this.iframe.remove();if(!myDeco.username){myDeco.popupForms.alert("There was an unexpected login error.  Please enable cookies and try again.")}else{document.fire("mydeco:login",{username:myDeco.username})}},ajaxLogoutClickHandler:function(a){a.stop();myDeco.eraseCookie(myDeco.settings.AUTH_COOKIE_NAME,null,myDeco.settings.AUTH_COOKIE_DOMAIN);myDeco.eraseCookie(myDeco.settings.USER_DATA_COOKIE_NAME,null,myDeco.settings.USER_DATA_COOKIE_DOMAIN);myDeco.setUserData();this.updateLoginArea();document.fire("mydeco:login",{})},ajaxLoginCloseHandler:function(a){this.iframe.remove()}};addLoadEvent(myDeco.user.init.bind(myDeco.user));if(typeof(myDeco)=="undefined"){var myDeco={}}if(typeof(console)=="undefined"){if(typeof(loadFirebugConsole)=="function"){loadFirebugConsole()}else{var console={log:function(a){},info:function(a){},warn:function(a){},error:function(a){alert(a)}}}}try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}myDeco.browser={isIE6:navigator.userAgent.indexOf("MSIE 6.0")>=0,isIE8:navigator.userAgent.indexOf("MSIE 8.0")>=0};function FCKeditor_OnComplete(a){myDeco.formControls.characterCounter.initFck(a)}myDeco.insertForm={init:function(){var a=$$(".insert-form")}};function addLoadEvent(a){document.observe("dom:loaded",a)}myDeco.openPopup=function(c){Event.stop(c);var b=c.findElement("A");var a=window.open(b.href,b.target||"myDecoPopup");a.focus()};myDeco.menu={timeOut:null,popupMenus:null,lazy:{},init:function(){this.lazy=$("main-menu-lazy");if(!this.lazy){return}this.lazy=this.lazy.innerHTML.evalJSON();this.popupMenus=$$(".popup-menu");if(!$("main-menu")){return}if($("prefdb")){new Autocompleter.SelectBox("prefdb",{onShow:this.onShow})}var a=navigator.userAgent;if(a.indexOf("MSIE 6")!=-1){this.popupMenus.each(this.initPopup4IE.bind(this))}$$(".nav-menu li a").each(this.initMenuItem.bind(this))},onShow:function(a,b){b.style.display="block";if(!b.style.position||b.style.position=="absolute"){b.style.position="absolute";Position.clone(a,b,{setHeight:false,setWidth:false,offsetTop:a.getHeight()})}new Effect.Appear(b,{duration:0.3})},initMenuItem:function(a){if(a.id){a.popupMenu=$(a.id+"-popup");if(a.popupMenu||this.lazy[a.id.replace("-menu","")]){a.observe("mouseover",this.showMenu.bindAsEventListener(this));a.observe("mouseout",this.hideMenu.bindAsEventListener(this))}if(a.popupMenu){a.popupMenu.observe("mouseover",this.keepMenu.bindAsEventListener(this));a.popupMenu.observe("mouseout",this.hideMenu.bindAsEventListener(this))}}},initPopup4IE:function(menuItem){var iframe=$(document.createElement("iframe")),li=$(document.createElement("li"));iframe.src=myDeco.settings.STATIC_URL+"img/blank.gif";with(li.style){styleFloat="none";display="block";width="0px";height="0px";padding="0";zIndex=-1}with(iframe.style){position="absolute";top="0px";left="0px";display="block";border="none";backgroundColor="black";width=menuItem.getWidth()+"px";height=menuItem.getHeight()+"px";zIndex=-1;zoom=1}iframe.scrolling="no";iframe.frameBorder=0;li.appendChild(iframe);menuItem.appendChild(li)},showMenu:function(m){var a=Event.element(m),b=a.id.replace("-menu",""),g=a.positionedOffset();if(!a.popupMenu&&this.lazy[b]){a.popupMenu=new Element("UL").writeAttribute({id:a.id+"-popup",className:"popup-menu iframe-popup clearfix",style:"display:none"});for(var n=0,o=this.lazy[b].length;n<o;n++){var k=new Element("LI");for(var d=0,f=this.lazy[b][n].length;d<f;d++){var j=this.lazy[b][n][d],h="";j.u=j.u.replace(/\*/g,"/");if(j.ih){h=new Element("STRONG").update(j.t);if(d>0){h.addClassName("subheader")}if(j.u==""&&j.c!=""){h.addClassName(j.c)}}else{if(j.u!=""){h=new Element("A").writeAttribute("href",j.u).update(j.t);if(j.c!=""){h.addClassName(j.c)}if(j.it){h=new Element("P").insert({bottom:h})}}}if(h!=""){k.insert({bottom:h})}}a.popupMenu.insert({bottom:k})}$("navigation").insert({bottom:a.popupMenu});a.popupMenu.observe("mouseover",this.keepMenu.bindAsEventListener(this));a.popupMenu.observe("mouseout",this.hideMenu.bindAsEventListener(this));if(myDeco.browser.isIE6){this.initPopup4IE(a.popupMenu)}this.popupMenus=$$(".popup-menu")}if(this.timeOut){clearTimeout(this.timeOut)}this.popupMenus.invoke("hide");$$("#main-menu li a").invoke("removeClassName","hover");a.addClassName("hover");if(a.hasClassName("right-aligned")){a.popupMenu.setStyle({top:g.top+a.getHeight()+"px",left:g.left+a.getWidth()-a.popupMenu.getWidth()-1+"px"}).show()}else{a.popupMenu.setStyle({top:g.top+a.getHeight()+"px",left:g.left-1+"px"}).show()}},keepMenu:function(a){if(this.timeOut){clearTimeout(this.timeOut)}},hideMenu:function(c){var b=Event.element(c),a=(b.popupMenu?b.popupMenu:Event.findElement(c,".popup-menu"));this.timeOut=setTimeout(function(){a.hide();$$("#main-menu li a").invoke("removeClassName","hover")},100)}};addLoadEvent(myDeco.menu.init.bind(myDeco.menu));myDeco.formControls={init:function(){try{myDeco.formControls.activeElements.init();myDeco.formControls.friendsDropdown.init();myDeco.formControls.autosubmit.init();myDeco.formControls.selectAll.init();myDeco.formControls.characterCounter.init();myDeco.formControls.defaultValue.init()}catch(a){console.log("Error : main.js : myDeco.formControls.init"+a)}},submitButtons:{init:function(a){a=Object.isElement(a)?a:document.body;Element.select(a,"input[type=submit]")._each(function(b){if(b.hasClassName("_submitButton")){return}var c=b.up("form");if(c.id!="search"){if(!b.value){b.value="Submit"}var d='<div class="submit-button"><a href="#" class="button form-submit-button '+b.className+(b.disabled?" disabled":"")+'"><span class="inner">'+b.value+"</span></a></div>";b.insert({before:d});b.remove();c.observe("keypress",function(g){if(g.element().tagName=="TEXTAREA"){return}var f=g.which||g.keyCode;if(f==Event.KEY_RETURN){myDeco.formControls.submitButtons.submit(g)}})}});$$(".form-submit-button").invoke("observe","click",myDeco.formControls.submitButtons.submit)},submit:function(c){c.stop();var b=c.findElement("form");if(!c.findElement("a.no-submit")&&!b.hasClassName("disabled")){var d=Event.createRealEvent("submit");if(Prototype.Browser.IE||Prototype.Browser.WebKit){function a(f){if(f.stopped){return}f.stop();f.element().submit()}b.observe("submit",function(f){a.defer(f)})}if(!b.hasClassName("search-form")){myDeco.formControls.submitButtons.disable(b)}Event.fireRealEvent(b,d,"submit")}},enable:function(a){if(!a){$$("form").invoke("removeClassName","disabled")}else{a.removeClassName("disabled")}},disable:function(a){if(!a){$$("form").invoke("addClassName","disabled")}else{a.addClassName("disabled")}}},activeElements:{init:function(){var a=$$(".field textarea",".field input",".field select");a._each(function(b){b.observe("focus",myDeco.formControls.activeElements.focus);b.observe("blur",myDeco.formControls.activeElements.blur)})},focus:function(d){var c=Event.element(d);var b=$(c.parentNode);b.toggleClassName("active-field");var f=c.getAttribute("title");var g=b.getElementsByClassName("error");if(f){if(g.length==0){var a=myDeco.bubbles.create(f);c.parentNode.appendChild(a);c.bubble=a;c.bubble.style.display="block";c.bubble.id=c.id+"-bubble"}}},blur:function(c){var b=Event.element(c);var d=b.getAttribute("title");if(d){b.bubble.style.display="none"}var a=b.parentNode;a.toggleClassName("active-field")}},characterCounter:{counters:[],init:function(){console.log("main.js : mydeco.characterCounter.init");var a=$$("#content textarea[charcounter]");a._each(function(d){console.log("main-general.js : mydeco.charCounter.init : found charcounter");var c=d.getAttribute("maxlength");var b=$(d).next(".character-counter").firstDescendant(".character-count");console.log("main-general.js : mydeco.charCounter.init : charcounter: "+b);b.innerHTML=c-d.value.length;var f={element:b,maxLength:c};myDeco.formControls.characterCounter.counters[d.identify()]=f;Event.observe(d,"keyup",myDeco.formControls.characterCounter.handleChange.bindAsEventListener(d,f))})},initFck:function(a){console.log("main-general.js: myDeco.formControls.characterCounter.initFck: "+a.Name);var b=myDeco.formControls.characterCounter.counters[a.Name];if(b==null){return false}Event.observe(a.EditorDocument,"keyup",myDeco.formControls.characterCounter.handleFckChange.bindAsEventListener(a,b))},handleChange:function(b,a){try{if(this.value.length>a.maxLength){this.value=this.value.substring(0,a.maxLength);a.element.innerHTML="0"}else{a.element.innerHTML=a.maxLength-this.value.length}}catch(b){console.log("Error: main-general.js : myDeco.formControls.characterCounter.handleChange : "+b)}},handleFckChange:function(d,c){var b=this.GetData(true);var a=myDeco.formControls.characterCounter.countFckText(this);if(a>c.maxLength){this.Commands.GetCommand("Undo").Execute();a=myDeco.formControls.characterCounter.countFckText(this)}c.element.innerHTML=c.maxLength-a},countFckText:function(a){if((typeof(a)=="undefined")||(a==null)){return 0}var c=0;if(Prototype.Browser.IE){c=a.EditorDocument.body.innerText.length}else{var b=a.EditorDocument.createRange();b.selectNodeContents(a.EditorDocument.body);c=b.toString().length}return c}},autosubmit:{init:function(){var a=$$(".autosubmit");a._each(function(b){if(b.tagName=="INPUT"){Event.observe(b,"click",function(f){var c=f.element();var d=c;while(c.tagName!="FORM"){c=c.parentNode}if(c.action){c.submit()}})}else{Event.observe(b,"change",function(g){var c=g.element();var f=c;while(c.tagName!="FORM"){c=c.parentNode}if(c.action&&(c.className.match("autochange")==null)){c.submit()}else{var d=f.selectedIndex;if(f.options[d].value){document.location=f.options[d].value}}})}})}},defaultValue:{init:function(){var a=$$("input.default-value-js");a._each(function(b){b.getValue=function(){return(this.value!=this.defaultValue)?this.value:""};b.setValue=function(c){this.value=c;this.removeClassName("default-value-js")};b.clear=function(){this.value=this.defaultValue;this.addClassName("default-value-js")};b.present=function(){return(this.value!=this.defaultValue&&this.value!="")};b.observe("focus",function(d){var c=d.element();if(c.value==c.defaultValue){c.value="";c.removeClassName("default-value-js")}});b.observe("blur",function(d){var c=d.element();if(c.value==""){c.clear()}});b.ancestors()._each(function(c){if(c.match("form")){c.observe("submit",function(d){b.value=b.getValue()})}})})}},autoclear:{init:function(){var a=$$(".autoclear input",".autoclear textarea");a._each(myDeco.formControls.autoclear.setInitialValue)},setInitialValue:function(a){var b=a;while(b.tagName!="FORM"){b=b.parentNode}if(!b.autoclear){b.autoclear=[]}b.observe("submit",myDeco.formControls.autoclear.clearDefaultText);b.autoclear.push(a);a.initialValue=a.value;Event.observe(a,"focus",function(){if(a.value==a.initialValue){a.value=""}})},clearDefaultText:function(b){var a=Event.element(b);a.autoclear._each(function(c){if(c.value==c.initialValue){c.value=""}})}},selectAll:{init:function(){var a=$$(".select-all");a._each(function(d){var b=d;while(b.tagName!="FIELDSET"){b=b.parentNode}var c=b.select('[type="checkbox"]');d.checkboxes=c;Event.observe(d,"change",myDeco.formControls.selectAll.select)})},select:function(b){var a=b.element();a.checkboxes._each(function(c){c.checked=a.checked})}},friendsDropdown:{init:function(){var a=myDeco.formControls.friendsDropdown.button=$("write-message-friends-button");var c=myDeco.formControls.friendsDropdown.list=$("write-message-friends-list");if(a&&c){Event.observe(a,"click",myDeco.formControls.friendsDropdown.handleClick);Event.observe(a,"mouseout",myDeco.formControls.friendsDropdown.handleMouseout);Event.observe(c,"mouseout",myDeco.formControls.friendsDropdown.handleMouseout);var b=$$("#write-message-friends-list input");b._each(function(d){myDeco.formControls.friendsDropdown.checkboxes.init(d)})}},handleClick:function(){console.log("main.js : myDeco.formControls.friendsDropdown.handleClick()");Event.observe(myDeco.formControls.friendsDropdown.button,"mouseover",myDeco.formControls.friendsDropdown.show);Event.observe(myDeco.formControls.friendsDropdown.list,"mouseover",myDeco.formControls.friendsDropdown.show);myDeco.formControls.friendsDropdown.show()},handleMouseout:function(){console.log("main.js : myDeco.formControls.friendsDropdown.handleMouseout()");myDeco.formControls.friendsDropdown.timeout=setTimeout(myDeco.formControls.friendsDropdown.hide,200)},show:function(){console.log("main.js : myDeco.formControls.friendsDropdown.show()");clearTimeout(myDeco.formControls.friendsDropdown.timeout);myDeco.formControls.friendsDropdown.list.style.display="block";Event.stopObserving(myDeco.formControls.friendsDropdown.button,"click",myDeco.formControls.friendsDropdown.handleClick);Event.observe(myDeco.formControls.friendsDropdown.button,"click",myDeco.formControls.friendsDropdown.hide)},hide:function(){console.log("main.js : myDeco.formControls.friendsDropdown.hide()");myDeco.formControls.friendsDropdown.list.style.display="none";Event.stopObserving(myDeco.formControls.friendsDropdown.button,"mouseover",myDeco.formControls.friendsDropdown.show);Event.stopObserving(myDeco.formControls.friendsDropdown.list,"mouseover",myDeco.formControls.friendsDropdown.show);Event.stopObserving(myDeco.formControls.friendsDropdown.button,"click",myDeco.formControls.friendsDropdown.hide);Event.observe(myDeco.formControls.friendsDropdown.button,"click",myDeco.formControls.friendsDropdown.handleClick)},checkboxes:{init:function(a){console.log("main.js : myDeco.formControls.friendsDropdown.checkboxes.init");Event.observe(a,"change",myDeco.formControls.friendsDropdown.checkboxes.handleChange)},handleChange:function(d){var b=d.element();var c=b.value;var a=$("write-message-to");if(b.checked){if(a.value.indexOf(c)==-1){console.log("main.js : myDeco.formControls.friendsDropdown.checkboxes.handleChange : adding "+c);a.value+=c+"; "}}else{console.log("main.js : myDeco.formControls.friendsDropdown.checkboxes.handleChange : removing "+c);c=c+"; ";a.value=a.value.replace(c,"")}}}}};addLoadEvent(myDeco.formControls.submitButtons.init);addLoadEvent(myDeco.formControls.init);myDeco.addCacheMissParam=function(b,c){var d=(c||"_nc")+"="+new Date().valueOf();var a=b.href||b;a+=(a.include("?")?"&":"?")+d;if(b.href){b.href=a}return a};addLoadEvent(function(){$$("a.force-cache-miss").each(myDeco.addCacheMissParam)});var InfoPopupsClass=function(h,g,f){if(!g||!h){return}var f=f||{};f.timeout=f.timeout||0;f.position=f.position||"top";f.outOfViewport=f.outOfViewport||false;var c=this;this.popupLink=$(h);this.popupContainer=$(g);this.hiddenClass=c.popupContainer.className+"-hidden";this.popupContainer.addClassName(this.hiddenClass);if(!f.dontOverlay){var a=this.popupContainer.remove();Element.insert(document.body,{bottom:a})}var d=function(j){if(c.timeout&&c.popupContainer.style.display!="none"){clearTimeout(c.timeout);return}c.popupContainer.removeClassName(c.hiddenClass);c.popupContainer.show();if(!f.dontOverlay){if(f.outOfViewport||(c.popupContainer.style.top=="")||(c.popupContainer.style.left=="")){c.popupContainer.addClassName("bubble-"+f.position);myDeco.popupForms.setPosition(c.popupContainer,h,{position:f.position,outOfViewport:f.outOfViewport})}}};var b=function(k){var j=(k.relatedTarget)?k.relatedTarget:k.toElement;if(!j){return}while(j!=c.popupContainer&&j.nodeName!="BODY"){j=j.parentNode;if(!j){return}if(j==c.popupContainer){return}}c.timeout=setTimeout(function(){c.popupContainer.addClassName(c.hiddenClass);c.popupContainer.hide()},f.timeout)};this.popupLink.observe("mouseover",d);this.popupLink.observe("mouseout",b);this.popupContainer.observe("mouseover",d);this.popupContainer.observe("mouseout",b)};myDeco.infoPopups={build:function(c,a){a=a||"";var b=0;$$(a+" .info-popup-link").each(function(f){var d=$(f.id.replace("link","container"));new InfoPopupsClass(f,d,{position:f.hasClassName("left")?"left":"right",timeout:300,outOfViewport:true});b++});if(b>0){console.log("main.js : "+b+" myDeco.infoPopups.build")}}};addLoadEvent(myDeco.infoPopups.build);myDeco.location2coords=function(a,c,b){new Ajax.Request(myDeco.urls.ws.location_to_coords,{method:"get",parameters:"location="+encodeURIComponent(a),onSuccess:function(d){if(typeof c=="function"){c(d.responseText.evalJSON()[0].coord)}},onFailure:function(d){if(typeof b=="function"){b(d.responseText.evalJSON().error)}}})};myDeco.facebook={permissionUrl:"http://www.facebook.com/authorize.php?api_key="+myDeco.settings.FBC_API_KEY+"&v=1.0&ext_perm=share_item&next=",init:function(){if(myDeco.username!=null){$$(".fb-share-link").invoke("observe","click",myDeco.facebook.shareItem)}},shareItem:function(b){b.stop();var a=b.element();FB.Connect.requireSession(function(){var c=a.readAttribute("rel").split(";");try{new Ajax.Request(myDeco.urls.shareOnFacebook,{method:"post",parameters:{url:encodeURIComponent(c[0]),comment:c[1]},onSuccess:function(){a.up(".fb-share").update("You have shared this on Facebook.")},onFailure:function(g){console.log("shareItem.onFailure");var f=g.responseText.evalJSON();if(f.error.message.error_msg){console.log("Error: "+f.error.message.error_msg+", code="+f.error.message.error_code);if(f.error.message.error_code==282){document.location=myDeco.facebook.permissionUrl+encodeURIComponent(document.location)}else{myDeco.popupForms.alert(f.error.message.error_msg,null,a)}}else{myDeco.popupForms.alert("Internal error. Please try again later.",null,a)}}})}catch(d){console.log("Error: "+d)}})}};addLoadEvent(myDeco.facebook.init);function fireEventFromChild(a,d,c,b){d=(c?c+":":"")+d;if(typeof b=="undefined"){$$(a).invoke("fire",d)}else{$$(a).invoke("fire",d,b)}}myDeco.newpost={init:function(){if(myDeco.username!=null&&$("write-new-post")){$("write-new-post").href="/people/"+myDeco.username+"/blog/post"}}};addLoadEvent(myDeco.newpost.init);myDeco.prefix_currency=function(a){return isNaN(+a)?a:myDeco.settings.LOCALECONV.currency_symbol+a};myDeco.animate={isPositionFixed:function(a){var b;do{if(a.getStyle("position")=="fixed"){return true}a=a.getOffsetParent();b=a.tagName.toLowerCase()}while(b&&b!="body"&&b!="html");return false},getOffset:function(b){var c=Object.extend({},b.cumulativeOffset());if(this.isPositionFixed(b)){var a=document.viewport.getScrollOffsets();c.left+=a.left;c.top+=a.top}return c},transition:function(h,c,g){if(!Object.isElement(h)||!Object.isElement(c)){return false}var b=4,d=Object.extend(this.getOffset(h),h.getDimensions()),a=Object.extend(this.getOffset(c),c.getDimensions()),f=new Element("div");d=Object.extend(d,{border:parseInt(h.getStyle("borderLeftWidth"))||0});f.setStyle({position:"absolute",zIndex:5000,left:d.left+d.border-b+"px",top:d.top+d.border-b+"px",border:b+"px solid #459FDB",width:d.width+"px",height:d.height+"px"});$("body").insert(f);new Effect.Morph(f,{duration:0.5,style:{width:a.width+"px",height:a.height+"px",left:a.left-b+"px",top:a.top-b+"px"},afterFinish:function(){f.remove();if(typeof g=="function"){g()}}})}};myDeco.storage={store:null,ready:false,callbacks:[],init_counter:0,get:function(b,c){var a=this;this.onready(function(){a.store.get(b,c)})},set:function(b,c){var a=this;this.onready(function(){a.store.set(b,c)})},remove:function(b){var a=this;this.onready(function(){a.store.remove(b)})},init:function(){var b=this;if(!this.store){this.store=new Persist.Store("MYD_"+(location.hostname).replace(/(\.)/g,"_"),{swf_path:"/media/img/persist.swf"})}try{this.store.set("storage_status","ready");this.store.get("storage_status",function(f,g){if(f&&g=="ready"){b.ready=true}})}catch(d){}if(this.ready){this.store.remove("storage_status");for(var c=0,a=this.callbacks.length;c<a;c++){this.callbacks[c]()}}else{if(this.init_counter++<300){setTimeout(this.init.bind(this),50)}}},onready:function(a){if(typeof a!="function"){return}if(this.ready){a()}else{this.callbacks.push(a)}}};addLoadEvent(myDeco.storage.init.bind(myDeco.storage));myDeco.shortlist={buttons:$H(),data:[],storeName:"wishlist_pending",init:function(){if(myDeco.username){myDeco.storage.remove("wishlist_"+myDeco.username)}if(myDeco.username){this.storeName="wishlist"}this.load();if(myDeco.username){this.shortlistPending();this.periodicalSync();this.checkShortlistOwner()}this.update();if(myDeco.username){$$(".prod-slist-all").invoke("observe","click",this.sendAllFromRoom.bind(this))}$("body").observe("updated:search",this.update.bind(this))},update:function(){var a=this,b=$$(".shortlist-button");this.buttons=$H();b.each(function(d){var c=/guid:(\w*)/.exec(d.rel),f=/tracking:(.*)/.exec(d.rel);if(c){d.guid=c[1]}if(f){d.tracking=f[1]}Event.observe(d,"click",a.buttonClick.bind(a));a.buttons.set(d.guid,d)});this.shortlisted()},load:function(){myDeco.storage.get(myDeco.shortlist.storeName,function(a,b){myDeco.shortlist.data=(b||"null").evalJSON()||[]})},save:function(c){var a=this,b;if(typeof c=="string"){c=[c]}this.load();if(c&&c.length){c.each(function(d){b=false;a.data.each(function(f){if(f.toString()==d.toString()){b=true}});if(!b){a.data.push(d)}})}myDeco.storage.set(this.storeName,this.data.toJSON());$("body").fire("updated:shortlist");this.shortlisted();return b},remove:function(c){if(typeof c=="string"){c=[c]}if(!c.length){return false}this.load();var b=this,a=[];c.each(function(d){b.data.each(function(f){if(f.toString()!=d.toString()){a.push(f)}})});this.data=a;myDeco.storage.set(this.storeName,this.data.toJSON());$("body").fire("updated:shortlist");return true},shortlistPending:function(){var a=this;myDeco.storage.get("wishlist_pending",function(b,c){var d=(c||"null").evalJSON()||[];if(d.length){a.sync(d)}})},checkShortlistOwner:function(){var a=this;myDeco.storage.get("wishlist_last_username",function(b,c){if(c!=myDeco.username){myDeco.storage.remove("wishlist");a.sync()}})},sync:function(b){var a=this;b=b||[];if(!myDeco.shortlist.syncing){new Ajax.Request(myDeco.urls.addShortlistProduct,{parameters:{sync:true,wishlist:b.toJSON()},onCreate:function(){a.syncing=true},onComplete:function(){a.syncing=false},onSuccess:function(d){var c=d.responseText.evalJSON();if(c.wishlisted){myDeco.storage.remove(a.storeName);myDeco.storage.remove("wishlist_pending");myDeco.storage.set("wishlist_last_sync",Math.round(Number(new Date())/(1000*60*60)));if(myDeco.username){myDeco.storage.set("wishlist_last_username",myDeco.username)}a.save(c.wishlisted)}}})}},periodicalSync:function(){var a=this;myDeco.storage.get("wishlist_last_sync",function(c,d){var b=Math.round(Number(new Date())/(1000*60*60));if((!d||b>+d+3)){a.sync()}})},reset:function(){myDeco.storage.remove("whishlist");myDeco.storage.remove("wishlist_pending");myDeco.storage.remove("whishlist_last_sync");this.save()},sendAllFromRoom:function(d){var a=this,b=Event.findElement(d,"a");Event.stop(d);if(b.hasClassName("disabled")){return false}var c=new Ajax.Request(myDeco.urls.shortlistAllFromRoom,{parameters:"room_id="+b.id.replace("sh-room-",""),onCreate:function(){b.addClassName("disabled").innerHTML="Shortlisting..."},onComplete:function(g){var f=g.responseText.evalJSON();if(f.success){b.addClassName("disabled").innerHTML="Shortlisted";a.updateState(f.guids);a.save(f.guids)}else{b.removeClassName("disabled").innerHTML="Shortlisting error";console.warn("myDeco.shortlist.sendAllFromRoom error: "+f.error.type+" "+f.error.message)}},onFailure:function(){b.removeClassName("disabled").innerHTML="Shortlisting error"}});return false},buttonClick:function(c,a){c.stop();var b=c.findElement("a");if(!b.hasClassName("shortlisted")&&!b.hasClassName("disabled")){this.sendOne(b,a)}return false},updateButton:function(a){a.addClassName("shortlisted");a.removeClassName("disabled");a.firstDescendant("span").update("Wishlisted")},sendOne:function(b,a){b=$(b);a=a||b.guid;this.sendOneCompleteCallback=function(f){var d=f.responseText.evalJSON();if(d.success){this.save(a);this.updateButton(b)}else{console.warn("myDeco.shortlist.sendOne error: "+d.error.type+" "+d.error.message)}};b.addClassName("disabled");if(myDeco.username){var c=new Ajax.Request(myDeco.urls.addShortlistProduct,{parameters:'wishlist=["'+a+'"]&tracking='+b.tracking,onComplete:this.sendOneCompleteCallback.bind(this)})}else{this.save(a);this.updateButton(b)}myDeco.animate.transition($("guid-"+a),$("bm-target-wishlist"))},shortlisted:function(){if(!this.data){return}var a=[];this.data.each(function(b){if(typeof b=="string"){a.push(b)}});this.updateState(a)},updateState:function(b){var a=this;$A(b).each(function(c){var d=a.buttons.get(c);if(d&&!d.hasClassName("shortlisted")){a.updateButton(d)}})}};myDeco.storage.onready(myDeco.shortlist.init.bind(myDeco.shortlist));myDeco.groups={init:function(){try{myDeco.groups.invites.init();myDeco.groups.inviteFriendsManually.init();myDeco.groups.inviteFriendsManually.AddingAsFriend.init();myDeco.groups.icons.init()}catch(a){console.log("main.js : myDeco.groups.init : "+a)}},questions:{init:function(){var a=$$(".posted");a._each(function(b){myDeco.groups.questions.activateHideShowLink(b)})},activateHideShowLink:function(a){var d=a.id.replace(/question/,"");var b=$("hide-answers-for-question"+d);if(b){var c=document.createElement("a");c.style.display="none";c.className="link";c.id="show-answers-for-question"+d;c.innerHTML="Show answers";b.parentNode.appendChild(c);Event.observe(b,"click",myDeco.groups.questions.hideReplies);Event.observe(c,"click",myDeco.groups.questions.hideReplies)}},hideReplies:function(f){var a=f.element;var g=a.id.replace(/hide-answers-for-question/,"");var g=g.replace(/show-answers-for-question/,"");var d=$("answers-for-question"+g);var b=$("hide-answers-for-question"+g);var c=$("show-answers-for-question"+g);d.style.display=d.style.display=="block"?"none":"block";b.style.display=b.style.display=="block"?"none":"block";c.style.display=b.style.display=="block"?"none":"block";if(f.preventDefault){f.preventDefault()}f.returnValue=false}},invites:{init:function(){console.log("main.js : groups.invites.init");var a=$("group-invite-friends");if(a){a.friendsList=$("current-friends");a.friendsList.select(".add");if(a.friendsList){a.internalInviteLinks=a.friendsList.select(".add a")}a.invitesList=$("invites-list");a.externalAddButton=$("add-external-friend");a.addInvite=function(c){var d=$(Builder.node("a",{href:"#"},[c.innerHTML]));d.observe("click",function(f){Event.stop(f);a.removeInvite(d)});var b=$(Builder.node("li",{className:"remove internal",id:c.parentNode.id.replace(/friend/,"invite")},[d]));a.invitesList.appendChild(b);c.parentNode.remove()};a.removeInvite=function(c){var d=$(Builder.node("a",{href:"#"},[c.innerHTML]));d.observe("click",function(f){Event.stop(f);a.addInvite(d)});var b=$(Builder.node("li",{className:"add",id:c.parentNode.id.replace(/invite/,"friend")},[d]));a.friendsList.appendChild(b);c.parentNode.remove()};if(a.internalInviteLinks){a.internalInviteLinks._each(function(b){b.observe("click",function(c){Event.stop(c);a.addInvite(b)})})}Event.observe(a.externalAddButton,"click",myDeco.groups.invites.addExternal);Event.observe("group-invite-friends","submit",myDeco.groups.invites.handleSubmit)}},addExternal:function(f){Event.stop(f);var d=Event.findElement(f,"form");var c=$("external-name").value;var b=$("external-email").value;var g=$(Builder.node("a",{href:"#",title:b},c));g.observe("click",function(h){Event.stop(h);g.parentNode.remove()});var a=$(Builder.node("li",{className:"remove external"},[g]));d.invitesList.appendChild(a);c.value=b.value=""},handleSubmit:function(d){Event.stop(d);var c=Event.element(d);var b=[];var a=[];c.select("#invites-list li.internal")._each(function(f){b.push(f.id.replace(/invite-/,""))});c.select("#invites-list li.external a")._each(function(f){a.push({name:f.innerHTML,email:f.title})});$("group-invite-friends-external").value=Object.toJSON(a);$("group-invite-friends-internal").value=Object.toJSON(b);if(!c.submitContainer){c.submitContainer=c.select(".submit-button")[0]}c.submitContainer.toggleClassName("disabled");c.submit()}},icons:{init:function(){console.log("main.js : myDeco.groups.icons.init");$$(".select-icon-li")._each(function(c){var a=c.getElementsByTagName("INPUT")[0].value;if(a){var b=c.getElementsByTagName("IMG")[0];var d=c.getElementsByTagName("IMG")[0].alt;var f=$("group_name").value;if(b&&f&&d){Event.observe(b,"click",function(g){myDeco.groups.icons.setIcon(g,a,f,d)})}}})},setIcon:function(d,a,f,c){Event.stop(d);var b=new Ajax.Request("/groups/"+f+"/edit-icon/",{method:"post",parameters:"image_id="+a,onSuccess:function(j){var h=$$(".group-avatar");var g=h[0].getElementsByTagName("IMG")[0];g.src=c},onFailure:function(){console.log("setting icon failed")}})}},invite:{init:function(){var a=$("add-more-fields");if(a){Event.observe(a,"click",myDeco.groups.invite.addMoreFields)}},createFieldset:function(){var a=Builder.node("fieldset",[Builder.node("div",{className:"field"},[Builder.node("label","Friend's name"),Builder.node("input",{type:"text"})]),Builder.node("div",{className:"field"},[Builder.node("label","Friend's email address"),Builder.node("input",{type:"text"})])])},addMoreFields:function(a){Event.stop(a);$("invite-friends").appendChild(myDeco.groups.invite.createFieldset())}},inviteFriendsManually:{init:function(){try{if($("addfriendbutton")){Event.observe("addfriendbutton","click",myDeco.groups.inviteFriendsManually.addFriend)}if($("import")){Event.observe("import","submit",myDeco.groups.inviteFriendsManually.addContactsToImport)}if($("send-your-invites")){Event.observe($("send-your-invites").down(".form-submit-button"),"click",myDeco.groups.inviteFriendsManually.handleSubmit)}}catch(a){console.log("main.js : myDeco.groups.inviteFriendsManually.init : "+a)}},addFriend:function(){var d=$("invite_name");var a=$("invite_email");var f=$("contacts-to-invite")||$("contacts-imported");var b=myDeco.formValidation.validate($("invite"));if(b.valid){var c=Builder.node("li",{className:"remove"},[Builder.node("a",{href:"#",title:a.value,className:""},[d.value])]);f.appendChild(c);Event.observe(f.lastChild,"click",function(g){Event.stop(g);Event.findElement(g,"li").remove();return false});d.value="";a.value=""}},addContactsToImport:function(b){Event.stop(b);var a=$("import");$("manual_contacts").value=myDeco.groups.inviteFriendsManually.collectContacts();a.submit()},handleSubmit:function(c){Event.stop(c);var a=$("send-your-invites");if(!($("contacts-to-invite")||$("contacts-imported")).empty()){$("invites").value=myDeco.groups.inviteFriendsManually.collectContacts();a.submit()}else{if($("invite-submit-div").hasClassName("error-appear")){return}$("invite-submit-div").addClassName("error-appear");var b=Builder.node("div",[Builder.node("div",{className:"error form-error-field"},"Please add at least one friend before you re-submit")]);Element.insert($("invite-submit-div").firstChild,{before:b.innerHTML})}},collectContacts:function(){var a=[];($("contacts-to-invite")||$("contacts-imported")).immediateDescendants()._each(function(b){a.push({email:b.descendants()[0].title,name:b.descendants()[0].innerHTML})});return a.toJSON()},AddingAsFriend:{init:function(){try{if($("friends-invite-completed")){$("friends-invite-completed").immediateDescendants()._each(function(b){if(b.hasClassName("exist")){Event.observe(b.down(".exist"),"click",myDeco.groups.inviteFriendsManually.AddingAsFriend.SendAddingRequest)}})}}catch(a){console.log("myDeco.groups.inviteFriendsManually.AddingAsFriend error : "+a)}},SendAddingRequest:function(b){Event.stop(b);var d=Event.element(b);var a=d.href.toQueryParams();var c={username:a.username};try{new Ajax.Request(myDeco.urls.addFriend,{method:"post",parameters:c,onCreate:function(){console.log("Sending addFriend request...")},onSuccess:function(g){var f=g.responseText.evalJSON();if(f.success){Event.stopObserving(d,"click",myDeco.groups.inviteFriendsManually.AddingAsFriend.SendAddingRequest);d.replace('<a href="/people/'+a.username+'" class="requested">Friends request pending...</a>')}else{console.log("addFriend error: "+f.error)}},onFailure:function(){console.log("addFriend failed")}})}catch(b){console.log("myDeco.inviteFriendsManually.AddingAsFriend.sendAddingReq error: "+b)}return false}}}};addLoadEvent(myDeco.groups.init);myDeco.actionLinks={init:function(){myDeco.actionLinks.notMyStyle.init();myDeco.actionLinks.myStyle.init()},notMyStyle:{init:function(){console.log("main.js : myDeco.actionLinks.notMyStyle.init");var a=$$("a.not-my-style");a._each(function(b){myDeco.actionLinks.notMyStyle.activateLink(b)})},activateLink:function(a){Event.observe(a,"click",myDeco.actionLinks.notMyStyle.send)},send:function(d){Event.stop(d);console.log("main.js : myDeco.actionLinks.notMyStyle.send");var b=d.element();var a=b.getAttribute("rel");var f=a.toQueryParams();var c=new Ajax.Request(myDeco.urls.setScore,{parameters:f,method:"post",onSuccess:function(){myDeco.actionLinks.notMyStyle.success(b)},onFailure:function(){myDeco.actionLinks.notMyStyle.failure(b)}})},success:function(a){var b=Builder.node("span","marked Not my style");a.replace(b.innerHTML)},failure:function(){alert("Sorry, there has been an error. Please try again later.")}},myStyle:{init:function(){console.log("main.js : myDeco.actionLinks.myStyle.init");var a=$$(".recommend");a._each(function(b){myDeco.actionLinks.myStyle.activateLink(b)})},activateLink:function(b){var a=b.getAttribute("rel");var d=myDeco.actionLinks.myStyle.urlToParams(a);var c=new Ajax.Request(myDeco.urls.canRate,{parameters:d,method:"post",onSuccess:function(f){myDeco.actionLinks.myStyle.canRate(f,b)}})},canRate:function(c,b){var a=c.responseText.evalJSON();if(a.can_rate){Event.observe(b,"click",myDeco.actionLinks.myStyle.send)}else{myDeco.actionLinks.myStyle.deactivateLink(b)}},urlToParams:function(b,f){var c=b.slice(b.indexOf("score"));var d=c.split("/");var a={content_type:d[1],object_id:d[2]};if(f){a.value=d[3]}return a},send:function(d){Event.stop(d);console.log("main.js : myDeco.actionLinks.myStyle.send");var b=d.element();var a=b.getAttribute("rel");var f=myDeco.actionLinks.myStyle.urlToParams(a,true);var c=new Ajax.Request(myDeco.urls.setScore,{parameters:f,method:"post",onSuccess:function(g){myDeco.actionLinks.myStyle.rateComplete(g,b)},onFailure:function(){myDeco.actionLinks.myStyle.failure()}})},rateComplete:function(c,b){var a=c.responseText.evalJSON();if(a.success){myDeco.actionLinks.myStyle.deactivateLink(b)}else{myDeco.actionLinks.myStyle.failure()}},deactivateLink:function(a){var b=Builder.node("span","Recommended");a.replace(b.innerHTML)},failure:function(){alert("Sorry, there has been an error. Please try again later.")}}};addLoadEvent(myDeco.actionLinks.init);myDeco.postOptions={init:function(){var a=$$(".external-link");a._each(function(d){var g=d.href;var f=g.split("?");var h=(f.length>1)?f[1].substr(4):"";var c=(f.length>2)?f[2]:"";redirectUrl=h+"?"+c;d.href=redirectUrl;var b=false;["del","redd","magnolia","digg"]._each(function(j){if(d.hasClassName(j)){b=true}});if(b){d.target="_blank"}})}};addLoadEvent(myDeco.postOptions.init);myDeco.panelSwitcher={period:5000,next:function(a){if(a.activeLink.next){a.activeLink.next()}},init:function(){var a=$$(".panel-switcher");a._each(function(b){var c=0.5;b.links=b.select(".panel-tab");b.links.each(function(g,f){if(f==0){b.activeLink=g;g.activeImage=g.firstDescendant();g.image=$(Builder.node("img",{src:g.activeImage.src.replace(/-on/,"-off"),style:"display:none"}));g.appendChild(g.image);b.activeLink=g}else{g.image=g.firstDescendant();g.activeImage=$(Builder.node("img",{src:g.image.src.replace(/-off/,"-on"),style:"display:none"}));g.appendChild(g.activeImage)}g.panel=$(g.id.replace(/tab-/,""));var d=g.panel.getElementsByTagName("A");g.panel.firstDescendant().observe("click",function(){location.href=d[0].href});g.activate=function(){if(b.activeLink!=g&&!b.effect){b.effect=true;new Effect.Parallel([new Effect.Fade(b.activeLink.activeImage,{duration:0.25,afterFinish:function(){new Effect.Appear(b.activeLink.image,{duration:0.25})}}),new Effect.Fade(g.image,{duration:0.25,afterFinish:function(){new Effect.Appear(g.activeImage,{duration:0.25})}}),new Effect.Fade(b.activeLink.panel),new Effect.Appear(g.panel)],{duration:c,afterFinish:function(){g.panel.style.zIndex="3";b.activeLink.style.zIndex="2";b.activeLink=g;b.effect=false}})}};g.observe("click",function(h){Event.stop(h);clearInterval(b.interval);b.interval=false;g.activate(h)});g.panel.observe("click",function(){clearInterval(b.interval);b.interval=false})});b.links.each(function(f,d){f.next=function(){if(d+1<b.links.length){b.links[d+1].activate()}}});b.interval=setInterval(function(){myDeco.panelSwitcher.next(b)},myDeco.panelSwitcher.period)})}};addLoadEvent(myDeco.panelSwitcher.init);myDeco.speechBubblesBuild={init:function(){$$(".speech-bubble .speech-bubble-item").each(function(c){var b=c.getElementsByClassName("description")[0];var a=new InfoPopupsClass(c,b,{timeout:200,dontOverlay:true})})}};addLoadEvent(myDeco.speechBubblesBuild.init);myDeco.pluralizer={pluralize:function(){var b=$("profile-alert-count");var a=$("alert-pluralizer");var d=a.innerHTML;if(b){var c=b.innerHTML;if(a){pluralised=(d.substring(d.length-1)=="s")?d:d+"s";notPluralised=pluralised.substring(0,pluralised.length-1);a.innerHTML=(c>1||c==0)?pluralised:notPluralised}}}};myDeco.removeQuestion={init:function(){var a=$$(".delete-question");a._each(function(b){b.observe("click",function(c){myDeco.removeQuestion.remove(c)})})},remove:function(d){Event.stop(d);var a=Event.element(d);var b=a.href.substring(a.href.indexOf("?")+1,a.href.length);var c=myDeco.urls.removeQuestion;new Ajax.Request(c,{method:"post",parameters:b,onSuccess:function(f){myDeco.removeQuestion.handleSuccess(f,d)},onFailure:function(){}})},handleSuccess:function(){window.location.reload()}};addLoadEvent(myDeco.removeQuestion.init);myDeco.resendConfirmationEmail={init:function(){var a=$("confirmation-email");if((a!=null)&&myDeco.confirm_email){a.show();var b=$("confirmation-email-button");b.observe("click",function(c){myDeco.resendConfirmationEmail.send(c)})}},send:function(b){Event.stop(b);var a=myDeco.urls.resendEmail;new Ajax.Request(a,{method:"post",parameters:"",onSuccess:function(c){myDeco.resendConfirmationEmail.handleSuccess(c,b)},onFailure:function(){}})},handleSuccess:function(d,c){var b=d.responseText.evalJSON();var a=$("confirmation-email-notice-area");if(b.success){a.innerHTML="An email has been sent to: "+b.email+"<br><br>Please check your inbox and click the link provided."}else{a.innerHTML="An error occured. Please reload the page and try again."}}};addLoadEvent(myDeco.resendConfirmationEmail.init);myDeco.slideShow={init:function(){var a=$("previous");var b=$("next");if(a&&b){b.observe("click",function(c){myDeco.slideShow.next(c,b)});a.observe("click",function(c){myDeco.slideShow.previous(c,a)});myDeco.slideShow.send(0)}},next:function(c,b){Event.stop(c);var a=myDeco.slideShow.imageNum;if(myDeco.slideShow.nextImage){if(!myDeco.slideShow.initialLoad){myDeco.slideShow.imageNum+=1}myDeco.slideShow.send(myDeco.slideShow.imageNum)}},previous:function(c,b){Event.stop(c);var a=myDeco.slideShow.imageNum;if(a>0){myDeco.slideShow.imageNum-=1;myDeco.slideShow.send((myDeco.slideShow.imageNum));myDeco.slideShow.enableButton(b)}},send:function(a,b){var c="../about-me/gallery/";new Ajax.Request(c,{method:"POST",parameters:{number:a},onSuccess:function(d){myDeco.slideShow.handleSuccess(d)},onFailure:function(){}})},handleSuccess:function(h,f){var a=h.responseText.evalJSON();var g=a.url;var c=a.description;var b=$("galleryImg");var d=$("slide-description");new Effect.Fade(b,{duration:0.5,afterFinish:function(){b.src=g;new Effect.Appear(b,{duration:0.5})}});d.innerHTML=c;myDeco.slideShow.nextImage=a.next;myDeco.slideShow.previousImage=myDeco.slideShow.imageNum;myDeco.slideShow.setButtonStatus();myDeco.slideShow.initialLoad=false},disableButton:function(a){a.addClassName("disabled")},enableButton:function(a){a.removeClassName("disabled")},setButtonStatus:function(){if(!myDeco.slideShow.previousImage){myDeco.slideShow.disableButton($("previous"))}else{myDeco.slideShow.enableButton($("previous"))}if(!myDeco.slideShow.nextImage){myDeco.slideShow.disableButton($("next"))}else{myDeco.slideShow.enableButton($("next"))}},imageNum:0,initialLoad:true,nextImage:false,previousImage:false};addLoadEvent(myDeco.slideShow.init);myDeco.productBubbles={build:function(){$$(".product-thumbnail")._each(function(b){var a=b.firstDescendant();var c=a.next();new InfoPopupsClass(a,c,{position:"right",timeout:300})})}};addLoadEvent(myDeco.productBubbles.build);myDeco.invites={init:function(){console.log("main.js : invites");var a=$("invite-friends");if(a){a.friendsList=$("contacts-imported");if(a.friendsList){a.inviteLinks=a.friendsList.select(".add a")}a.invitesList=$("contacts-to-invite");a.addInvite=function(c){var d=$(Builder.node("a",{href:"#",title:c.getAttribute("title")},[c.innerHTML]));d.observe("click",function(g){Event.stop(g);a.removeInvite(d)});var b=$(Builder.node("li",{className:"remove internal",id:c.parentNode.id.replace(/friend/,"invite")},[d]));a.invitesList.appendChild(b);var f;if(typeof(c.parentNode.remove)!="function"){f=$(c.parentNode)}else{f=c.parentNode}f.remove()};a.removeInvite=function(c){var d=$(Builder.node("a",{href:"#",title:c.getAttribute("title")},[c.innerHTML]));d.observe("click",function(f){Event.stop(f);a.addInvite(d)});var b=$(Builder.node("li",{className:"add",id:c.parentNode.id.replace(/invite/,"friend")},[d]));a.friendsList.appendChild(b);c.parentNode.remove()};if(a.inviteLinks){a.inviteLinks._each(function(b){b.observe("click",function(c){Event.stop(c);a.addInvite(b)})})}Event.observe("invite-friends","submit",myDeco.invites.handleSubmit)}},handleSubmit:function(c){Event.stop(c);var b=Event.element(c);var a=[];b.select("#invites-list li")._each(function(d){a.push({name:d.firstDescendant().innerHTML,email:d.firstDescendant().getAttribute("title")})});$("invites").value=a.toJSON();b.submit()}};addLoadEvent(myDeco.invites.init);myDeco.inlineFormCheck={init:function(){myDeco.inlineFormCheck.userCommentButtons();myDeco.inlineFormCheck.productRatingForm()},userCommentButtons:function(){var a=$$(".user-comment-button");if(a.size()>0){a._each(function(b){if(myDeco.username!=null){b.href="#user-comment";b.addClassName("inline-form-button")}})}},productRatingForm:function(){var b=$("rateit-button");var a=$$(".rateit-button");if(b&&(myDeco.username!=null)){b.addClassName("inline-form-button");a.each(function(c){c.observe("click",function(d){b.showForm(d)})})}else{if(b){b.observe("click",function(c){Event.stop(c);window.location=myDeco.urls.userLoginQuick});a.each(function(c){c.observe("click",function(d){Event.stop(d);window.location=myDeco.urls.userLoginQuick})})}}}};myDeco.showBublesAtRegisterPage={init:function(){$$("sign-up-form .bubble")._each(function(a){Effect.Appear(a,{duration:0.2})})}};addLoadEvent(myDeco.showBublesAtRegisterPage.init);myDeco.rotateQuestion={init:function(){var a=$$(".question-position");a._each(function(b){b.observe("click",function(c){myDeco.rotateQuestion.next(c,a)})})},next:function(h,f){Event.stop(h);var a=myDeco.rotateQuestion.questionNum;if(a>4){a=1;myDeco.rotateQuestion.questionNum=1;var d=$("rotate-question-5");d.hide();var c=$("rotate-question-1");c.show()}else{var g=$("rotate-question-"+a);g.hide();myDeco.rotateQuestion.questionNum+=1;var b=$("rotate-question-"+(a+1));b.show()}},startLoop:0,questionNum:1,initialLoad:true,nextQuestion:false,previousQuestion:false};addLoadEvent(myDeco.rotateQuestion.init);myDeco.showSaveRoomBtn={init:function(){var a=$("room-edit-popup");if(a){Effect.Appear(a,{duration:0.2})}}};addLoadEvent(myDeco.showSaveRoomBtn.init);myDeco.checkForDuplicatePhoto={init:function(){var a=$$(".save-photo").pluck("rel");if(a.length){myDeco.checkForDuplicatePhoto.send(a)}},send:function(a){new Ajax.Request($F("duplicateUrl"),{parameters:{object_ids:a},onSuccess:myDeco.checkForDuplicatePhoto.handleSuccess})},handleSuccess:function(c){var a=c.responseText.evalJSON(),b=a.object_ids;if(b){b._each(function(d){$("add-to-photo-link-"+d).addClassName("disabled")})}}};addLoadEvent(myDeco.checkForDuplicatePhoto.init);myDeco.CmsLinks={init:function(){var a=$$(".cmslink");a._each(function(b){b.observe("click",function(c){myDeco.CmsLinks.click(c,b)})})},click:function(b,a){if(a.href.indexOf("http")==0&&a.href.split("/")[2].split(":")[0]!=window.location.hostname){Event.stop(b);myDeco.CmsLinks.extwin=window.open(a.href,"mydecoext")}}};addLoadEvent(myDeco.CmsLinks.init);myDeco.BasketLogin={init:function(){var a=$("basket-login-button");if(!a){return}a.observe("click",myDeco.BasketLogin.onClick)},onClick:function(d){Event.stop(d);var b=Event.findElement(d,"a").href;var c=Event.findElement(d,"form");var a=c.select("#login_next_url_input")[0];a.value=b;c.submit()}};addLoadEvent(myDeco.BasketLogin.init);myDeco.fileInputs={_observers:{update:null,keystrokes:null},init:function(c){if(this._observers.update==null){this._observers={update:this.update.bindAsEventListener(this),keystrokes:this.getKeyStrokes.bindAsEventListener(this)}}var b=Object.isElement(c)?c.select(".fileinputs > input"):$$(".fileinputs > input"),a=this;b._each(function(g){g.addClassName("file");var f=g.up(".fileinputs");var h=f.select("input.text").first();if(Object.isUndefined(h)){h=Builder.node("input",{className:"text",type:"text"})}var d=f.select("div.fakefile").first();if(Object.isUndefined(d)){d=Builder.node("div",{className:"fakefile"},[Builder.node("div",{className:"field"},h),Builder.node("a",{className:"button"},Builder.node("span",{className:"inner"},"Browse"))]);g.up().insert(d)}g.textInput=h;g.observe("change",a._observers.update);g.observe("keypress",a._observers.keystrokes)})},getKeyStrokes:function(c){var a=c.element();var b=(window.event)?window.event:c;if(b.keyCode==8){a.textInput.value=a.textInput.value.substring(0,a.textInput.value.length-1)}else{a.textInput.value=a.value+String.fromCharCode(b.charCode)}},update:function(b){var a=b.element();a.textInput.value=a.value}};addLoadEvent(myDeco.fileInputs.init.bind(myDeco.fileInputs));myDeco.bubbles={init:function(){$$(".bubble")._each(function(a){a.appendChild(Builder.node("div",{className:"bubble-tip"}))})},create:function(b){var a=Builder.node("div",{className:"bubble"},[Builder.node("div",{className:"rounded"},[Builder.node("p",[b])]),Builder.node("div",{className:"bubble-tip"})]);Effect.Appear(a);return a}};addLoadEvent(myDeco.bubbles.init);myDeco.tabs={};myDeco.tabs.Tab=function(a,b){this._dom=a;this._link=a.down(".cmslink");this._container=$(a.id+"-container");this.isActive=a.hasClassName("active");this._switcherId="";this.prev=null;this.next=null;this._preActivateCallback=b};myDeco.tabs.Tab.prototype={activate:function(a){if(this.isActive){return}this._dom.addClassName("active");if(!a){this._container.show()}else{new Effect.Appear(this._container,{duration:0.4,queue:{scope:this._switcherId,position:"end"}})}this.isActive=true},deactivate:function(a){if(!this.isActive){return}this._dom.removeClassName("active");if(!a){this._container.hide()}else{Effect.Queues.get(this._switcherId).each(function(b){b.cancel()});new Effect.Fade(this._container,{duration:0.1,queue:{scope:this._switcherId}})}this.isActive=false},getId:function(){return this._dom.identify()},attachHandlers:function(a,b,c){this._link.observe("click",function(f){f.stop();if(this.isActive){return}if(a){window.clearInterval(a)}this._preActivateCallback(this);this.activate(b);for(var d=0;d<c.length;d++){c[d](this)}}.bind(this));if(a){this._container.observe("mouseover",function(d){window.clearInterval(a)})}},setContent:function(a){this._container.innerHTML=a},hasContent:function(){return !this._container.innerHTML.blank()},getLink:function(){return this._link},getContainer:function(){return this._container}};myDeco.tabs.TabSwitcher=function(c,b){var a=this;this._options={use_effects:true,period:7000,endless:false,auto_switch:true};this._options=Object.extend(this._options,b);this._dom=c;this._firstTab=null;this.activeTab=null;this._navigationLinks=null;this._interval=null;if(this._options.auto_switch){this._interval=window.setInterval(this.activateNext.bind(this),this._options.period)}this._navigationLinks=this._dom.select(".tabs-navigation");this._navigationLinks.invoke("observe","click",function(h){var g=Event.findElement(h,".tabs-navigation");Event.stop(h);a._navigationLinks.invoke("removeClassName","disabled");var f=!(g.hasClassName("prev-link")?a.activatePrev():a.activateNext());if(f){g.addClassName("disabled")}});this._callbacks=[];var d=null;this._dom.select(".tab:not(.inactive)")._each(function(g){var f=new myDeco.tabs.Tab(g,function(h){a.activeTab.deactivate(a._options.use_effects);a.activeTab=h});f.attachHandlers(a._interval,a._options.use_effects,a._callbacks);f._switcherId=a.getId();if(f.isActive){a.activeTab=f}f.prev=d;if(d){d.next=f}d=f;if(!a._firstTab){a._firstTab=f}})};myDeco.tabs.TabSwitcher.prototype={activateNext:function(){if(!this._firstTab){return false}var a=true;var b=this.activeTab;if(!b.next){if(!this._options.endless){a=false;window.clearInterval(this._interval)}else{b=this._firstTab}}else{b=this.activeTab.next}if(a){this.activeTab.deactivate(this._options.use_effects);b.activate(this._options.use_effects);this.activeTab=b}return a&&b.next},activatePrev:function(){if(!this._firstTab){return false}var a=true;var b=this.activeTab;if(!b.prev){a=false;window.clearInterval(this._interval)}else{b=this.activeTab.prev}if(a){this.activeTab.deactivate(this._options.use_effects);b.activate(this._options.use_effects);this.activeTab=b}return a&&b.prev},getId:function(){return this._dom.identify()},getTabById:function(b){var a=this._firstTab;while(a){if(a.getId()==b){return a}a=a.next}return null},switchTabById:function(b){var a=this.getTabById(b);if(!a||b==this.activeTab.getId()){return}this.activeTab.deactivate(this._options.use_effects);a.activate(this._options.use_effects);this.activeTab=a},addCallback:function(a){if(a instanceof Function){this._callbacks.push(a)}}};myDeco.tabs.tabSwitcherCollection={switchers:[],init:function(b,a){if(myDeco.tabs.tabSwitcherCollection.switchers.length&&!a){return}$$(".tab-switcher")._each(function(d){var c={use_effects:!d.hasClassName("noeffect"),endless:d.hasClassName("endless"),auto_switch:!d.hasClassName("no-auto-switch")};myDeco.tabs.tabSwitcherCollection.switchers.push(new myDeco.tabs.TabSwitcher(d,c))})},getSwitcherById:function(a){if(!myDeco.tabs.tabSwitcherCollection.switchers.length){myDeco.tabs.tabSwitcherCollection.init()}return myDeco.tabs.tabSwitcherCollection.switchers.find(function(b){return b.getId()==a})}};addLoadEvent(myDeco.tabs.tabSwitcherCollection.init);myDeco.showNoticeMessage=function(c){var a=$(c);if(!a){return false}var b=a.select("p")[0];var d=this.readCookie("notice");if(d){d=d.replace(/^\"|\"$/g,"");this.eraseCookie("notice");if(b){b.innerHTML=d}else{var f=document.createElement("p");f.appendChild(document.createTextNode(d));a.appendChild(f)}a.setStyle({position:"static"});a.show();return true}else{return false}};addLoadEvent(function(){myDeco.showNoticeMessage("notice-message-comment")});addLoadEvent(function(){myDeco.showNoticeMessage("notice-message")});Object.extend(Event,{createRealEvent:function(a){if(document.createEvent){var b=document.createEvent("HTMLEvents");b.initEvent(a,true,true);return b}else{if(document.createEventObject){var b=document.createEventObject();return b}}},fireRealEvent:function(a,c,b){if(document.createEvent){a.dispatchEvent(c)}else{if(document.createEventObject){a.fireEvent("on"+b,c)}}console.log("myDeco.fireRealEvent: "+b)}});myDeco.ajaxForm=function(a){this.id=a;this.initForm=function(){if(this.form!=undefined){return}try{this.form=$(this.id);var c=this;this.url=this.form.action;this.submit_button=this.form.down(".form-submit-button");this.enableSubmit();tmp=this.form.select(".error");if(tmp.length){this.err_container=tmp[0];this.err_container.addClassName("hidden")}Event.observe(this.form,"submit",function(d){c.submit(d);Event.stop(d);return false})}catch(b){console.log("popup-forms.js : ajaxForm("+self.id+") : initForm : "+b)}};this.init=function(c,b){this.initForm();myDeco.popupForms.show(b,this.form,"right")};this.submit=function(b){Event.stop(b);var c=this.form.serialize(true);var d=this;new Ajax.Request(this.url,{asynchronous:true,parameters:c,onCreate:function(f){d.handleSubmit(f)},onSuccess:function(f,g){d.handleSuccess(f,g)},onFailure:function(f){d.handleFailure(f)}})};this.handleSubmit=function(c){try{this.disableSubmit()}catch(b){console.log("popup-forms.js : ajaxform : handlesubmit : "+b)}};this.handleSuccess=function(f,c){try{if(this.err_container){this.err_container.addClassName("hidden");this.form.select("fieldset.pof-error")._each(function(g){g.firstDescendant().remove();g.toggleClassName("pof-error")})}var b=f.responseText.evalJSON();if(b.success){if(b.message!=undefined){myDeco.popupForms.alert(b.message)}myDeco.popupForms.hide(this.id);if(typeof this["customSuccess"]=="function"){this.customSuccess(b)}}else{if(b.message){this.err_container.update(b.message);this.err_container.removeClassName("hidden")}if(b.errors){if(typeof this["customError"]=="function"){this.customError(b)}else{var d=this;b.errors.each(function(j){var h=d.form.elements[j.field];var g=false;if(h.length){h=h[0];g=true}while(h.tagName!="FIELDSET"){h=h.parentNode}h=$(h);if(!h.hasClassName("pof-error")){h.addClassName("pof-error");var k=Builder.node("div",[Builder.node("div",{className:"error t1a"},j.error)]);Element.insert(h.firstChild,{before:k.innerHTML})}})}}}this.enableSubmit()}catch(c){console.log("popup-forms.js : ajaxform : handleSuccess : "+c)}};this.handleFailure=function(b){myDeco.popupForms.alert("Sorry, there seems to be an error. <br />Please try again and in the meantime we’ll find <br />a smart techie to fix the issue.")};this.enableSubmit=function(){this.submit_button.removeClassName("disabled")};this.disableSubmit=function(){this.submit_button.addClassName("disabled")}};myDeco.popupForms={init:function(){try{$$(".popup-form .close, .popup-form .cancel")._each(myDeco.popupForms.initCloseButton);$$(".popup-button")._each(myDeco.popupForms.initButton);myDeco.popupForms.instoreVoucherInit()}catch(a){console.log("Error: popup-forms.js : myDeco.popupForms.init : "+a)}},_fetchForm:function(d,a,c){var b=$(d);if(!b){new Ajax.Request(a,{method:"get",asynchronous:false,onSuccess:function(f){$(document.body).insert(f.responseText);b=$(d);myDeco.formControls.submitButtons.init(b);b.select(".close, .cancel")._each(myDeco.popupForms.initCloseButton);if(Object.isFunction(c)){c(b)}}})}return b},initCloseButton:function(a){var b=a.up("form");a.observe("click",function(c){myDeco.popupForms.close(c,b)});b.closeButton=a},initButton:function(a){var b=a.getAttribute("ajaxMethod");a.observe("click",function(d){Event.stop(d);Event.element(d).blur();var c=Event.findElement(d,"A");var f=c.href.toQueryParams();$$(".popup-form").invoke("hide");myDeco.popupForms[b].init(f,d)})},sendHelpUsFeedback:{init:function(d,c){function a(f){f.select("fieldset")._each(function(g){if(g.hasClassName("pof-error")){g.firstDescendant().remove();g.removeClassName("pof-error")}})}var b=myDeco.popupForms._fetchForm("help-us",myDeco.urls.forms.feedback,function(f){a(f);myDeco.starRating.init(f);f.observe("submit",function(g){g.stop();var h=f.serialize(true);new Ajax.Request(myDeco.urls.feedback_post_ajax,{parameters:h,onSuccess:function(k){a(f);var j=k.responseText.evalJSON();if(j.success){$("help-us-form").hide();$("help-us-success").show()}else{j.errors._each(function(m){var l=f.elements[m.field];if(l.length){l=l.shift()}l.up("fieldset").addClassName("pof-error").firstDescendant().insert({before:'<div class="error t1a">'+m.error+"</div>"});if(myDeco.browser.isIE6){f.select("#help-us-rateit .star-rating").invoke("setStyle",{zoom:1})}})}},onFailure:myDeco.popupForms.handleFailure,onComplete:function(){myDeco.formControls.submitButtons.enable(f)}})})});a(b);myDeco.popupForms.show(c,b,"center")}},removeShortlistedProduct:{init:function(b,a){myDeco.popupForms.confirm.active=false;myDeco.popupForms.confirm("Are you sure you want to remove this product?",myDeco.popupForms.removeShortlistedProduct.send,b,a)},send:function(b,a){new Ajax.Request(myDeco.urls.removeShortlistedProduct,{parameters:b,onSuccess:function(c){myDeco.popupForms.removeShortlistedProduct.handleSuccess(c,a)}})},handleSuccess:function(d,c){var a=d.responseText.evalJSON();if(a.errors){}else{var b=$("proditem-"+a.guid);new Effect.Fade(b,{duration:0.8});myDeco.user.updateCounters(true);shortlisted=myDeco.shortlist_count;$$("#profile-shortlist-count, #profile-controls-shortlist-count").invoke("update",shortlisted)}}},savePhoto:{init:function(b,a){a.stop();if(!myDeco.username){location.href=myDeco.urls.userLoginQuick+"?next="+location.href}else{myDeco.popupForms.savePhoto.send(b,a)}},send:function(b,a){new Ajax.Request(myDeco.urls.addToMyPhotos,{parameters:b,onSuccess:function(c){myDeco.popupForms.savePhoto.handleSuccess(c,a)},onFailure:function(c){myDeco.popupForms.alert("Photo has already been added to your portfolio",a)}})},handleSuccess:function(c,b){var a=c.responseText.evalJSON();if(a.success){myDeco.popupForms.alert("Photo has been added to your portfolio",b);Event.findElement(b,"A").addClassName("disabled")}}},deleteScrapbookItem:{init:function(b,a){myDeco.popupForms.confirm.active=false;myDeco.popupForms.confirm("Are you sure you want to delete this?",myDeco.popupForms.deleteScrapbookItem.send,b,a)},send:function(b,a){new Ajax.Request(myDeco.urls.deleteScrapbookItem,{parameters:b,onSuccess:function(c){myDeco.popupForms.deleteScrapbookItem.handleSuccess(c,a)},onFailure:function(){}})},handleSuccess:function(d,c){var b=d.responseText.evalJSON();if(b.id){var a=$("scrapbook-item-"+b.id);Effect.Fade(a,{duration:0.8})}myDeco.inlineForms.updateItemCounter(-1)}},sendtoafriend:{init:function(c,a,b){},send:function(a){console.log("popup-forms.js : myDeco.popupForms.sendtoafriend.send");var b=a.getElements();a.action="mailto:"+b.to;a.action+="?subject="+b.username+" sent you this from mydeco";a.body.value+="\nPage Title: "+document.title;a.body.value+="\nLink: "+document.location.href;a.submit();myDeco.popupForms.hide(a)},onSuccess:function(){}},sendMessage:{init:function(g,f,d){var h=g.username;var c=$("send-message");$("send-message-username").update(h);c.elements.username.value=h;if(typeof myDeco.username!="undefined"){Event.observe(c,"submit",function(j){var k=c.serialize(true);new Ajax.Request(myDeco.urls.sendMessage,{parameters:k,onSuccess:function(l){myDeco.popupForms.sendMessage.handleSuccess(l,c)},onFailure:myDeco.popupForms.handleFailure});Event.stop(j);return false})}else{location.href=myDeco.urls.userLoginQuick+"?next="+location.href}myDeco.popupForms.show(f,c,d);var b=f.findElement("a"),a="right";if(b){if(b.hasClassName("left-aligned")){a="left"}else{if(b.hasClassName("centered")){a="center"}}}myDeco.popupForms.setPosition(c,f,{position:a})},handleSuccess:function(c,b){var b=$("send-message");var a=c.responseText.evalJSON();if(a.success){b.hide();b.reset()}else{a.errors.each(function(f){var d=b.elements[f.field].up("fieldset");if(d.hasClassName("pof-error")){return}d.addClassName("pof-error");var g=Builder.node("div",[Builder.node("div",{className:"error t1a"},f.error)]);Element.insert(d.firstChild,{before:g.innerHTML})})}}},reportInappropriate:{init:function(b,c){if(!myDeco.username){if(b.content_type=="question"||b.content_type=="answer"){myDeco.popupForms.alert("Please login to report this post",c)}return false}var a=myDeco.popupForms._fetchForm("report-inappropriate",myDeco.urls.forms.reportInappropriate);$("report-inappropriate-object-id").value=b.object_id;$("report-inappropriate-content-type").value=b.content_type;new Ajax.Request(myDeco.urls.getInappropriateReasons,{method:"post",onSuccess:function(h){try{var g=h.responseText.evalJSON().reasons;var d=$("report-inappropriate-reasons");d.update("");g._each(function(k){var j=Builder.node("li",[Builder.node("label",[Builder.node("input",{type:"checkbox",value:k.id,name:"reason"}),k.reason])]);d.appendChild(j)});myDeco.popupForms.show(c,a)}catch(f){console.log("response not correctly formatted: "+f)}},onFailure:function(d){a.onFaliure(d,c)}});a.onSuccess=function(f){console.log("success");var d=f.responseText.evalJSON();myDeco.popupForms.hide(a)};a.onFailure=function(f,d){console.log("failure");myDeco.popupForms.alert("Sorry, we were unable to process your request. Please try again later.",d);myDeco.popupForms.hide(a)};a.send=function(d){console.log("send");Event.stop(d);new Ajax.Request(myDeco.urls.reportInappropriate,{parameters:a.serialize(true),onSuccess:a.onSuccess,onFailure:a.onFailure})};a.stopObserving("submit");a.observe("submit",a.send)}},subscribetorss:{init:function(c,a,b){console.log("myDeco.popupForms.subscribetorss");$("subscribe-to-rss").elements.url.value=$("subscribe-to-rss-view").href=a},onSuccess:function(){}},addFriend:{init:function(b,a){if(!myDeco.username){location.href=myDeco.urls.userLoginQuick+"?next="+location.href;return false}var d=b.username;var c="Are you sure you want to add "+d+" to your friends?";myDeco.popupForms.confirm(c,myDeco.popupForms.addFriend.send,b,a,"right")},send:function(b,a){var c=myDeco.urls.addFriend;new Ajax.Request(c,{parameters:b,onSuccess:function(d){myDeco.popupForms.alert("Friend request sent",a)}})}},sendToMyFriend:{init:function(d,b){Event.stop(b);var c=false,a=myDeco.popupForms._fetchForm("send-to-friend-form",myDeco.urls.forms.sendToMyFriend,function(){c=true});a.select("textarea").shift().update($("send-to-my-friend-message").innerHTML);$("email-input").value="";myDeco.popupForms.show(b,a,"center");a.submiting=false;a.onSuccess=function(j,g){var f=j.responseText.evalJSON();if(!f.success){var h=f.error.message||"Some email send error";myDeco.popupForms.hide(a);myDeco.popupForms.alert(h,g,a)}else{myDeco.popupForms.hide(a);myDeco.popupForms.alert("An article has been successfully sent.",g,a)}a.submiting=false};a.onFailure=function(g,f){console.log("failure");myDeco.popupForms.hide(a);myDeco.popupForms.alert("Sorry, we were unable to process your request. Please try again later.",f,a);a.submiting=false};a.send=function(g){Event.stop(g);if(typeof myDeco.username!="undefined"){var f=myDeco.formValidation.validate(a);if(!a.submiting&&f.valid){new Ajax.Request(a.action,{parameters:a.serialize(),onSuccess:a.onSuccess,onFailure:a.onFailure,onComplete:function(){myDeco.formControls.submitButtons.enable(a)}});a.submiting=true}else{if(!f.valid){myDeco.formControls.submitButtons.enable(a)}}}else{location.href=myDeco.urls.userLoginQuick+"?next="+location.href}};if(c){a.observe("submit",a.send)}}},instoreVoucher:new myDeco.ajaxForm("instore-voucher-form"),instoreVoucherInit:function(){if(!$("instore-voucher-form")){return}$("instore-voucher-form").observe("submit",function(a){$$("#instore-voucher-form fieldset.pof-error").each(function(b){b.removeClassName("pof-error");b.select(".error").each(function(c){c.hide();c.innerHTML=""})})})},deleteAccount:{init:function(f,d){Event.stop(d);var c=$("delete-account-form");myDeco.popupForms.show(d,c,"center");if(!c.initialized){if(c.tagName!="FORM"){var a=c.down("form")}c.observe("submit",myDeco.popupForms.deleteAccount.submit);myDeco.popupForms.deleteAccount.form=c;myDeco.popupForms.deleteAccount.button=Event.element(d);myDeco.popupForms.deleteAccount.div1=$("delete1-div");myDeco.popupForms.deleteAccount.div2=$("delete2-div");var b=c.down(".form-submit-button span.inner");myDeco.popupForms.deleteAccount.span=b;c.initialized=true}myDeco.popupForms.deleteAccount.setStep(1)},submit:function(a){if(myDeco.popupForms.deleteAccount.step==1){Event.stop(a);myDeco.popupForms.deleteAccount.setStep(2)}},success:function(){myDeco.popupForms.hide(myDeco.popupForms.deleteAccount.form)},setStep:function(a){myDeco.popupForms.deleteAccount.step=a;myDeco.popupForms.deleteAccount.initDivs()},setSubmitCaption:function(a){var b=myDeco.popupForms.deleteAccount.form.select(".submit-button > .button > .inner").first();b.innerHTML=a},initDivs:function(){var d=myDeco.popupForms.deleteAccount.step;var f=myDeco.popupForms.deleteAccount.div1;var c=myDeco.popupForms.deleteAccount.div2;var b=myDeco.popupForms.deleteAccount.form;var a=myDeco.popupForms.deleteAccount.button;if(d==1){f.style.display="inline";c.style.display="none";myDeco.popupForms.deleteAccount.setSubmitCaption("Next")}else{c.style.display="inline";f.style.display="none";myDeco.popupForms.deleteAccount.setSubmitCaption("Confirm");myDeco.popupForms.setPosition(b,a,{position:"center"})}}},deleteThread:{init:function(b,a){myDeco.popupForms.confirm.active=false;b.action=Event.element(a).href;var c="Are you sure you want to delete this thread?";myDeco.popupForms.confirm(c,myDeco.popupForms.deleteThread.send,b,a)},send:function(a){new Ajax.Request(myDeco.urls.deleteThread,{method:"post",parameters:a,onCreate:function(){},onSuccess:function(){myDeco.popupForms.deleteThread.handleSuccess(a)},onFailure:myDeco.popupForms.handleFailure})},handleSuccess:function(a){var b=a.thread_id;new Effect.Fade($("thread-"+b));$("thread-"+b).remove}},markRoomPub:{init:function(a){new Ajax.Request(myDeco.urls.markRoomPub,{method:"post",parameters:a,onCreate:function(){},onSuccess:function(b){myDeco.popupForms.markRoomPub.handleSuccess(a,b)},onFailure:myDeco.popupForms.handleFailure})},handleSuccess:function(g,f){var b=g.room_id;var h=f.responseText.evalJSON();var a="This is your favourite public design";var l="Make favourite public design";var k=$("room-pubmarker-"+b);if(k.hasClassName("room-details")){Effect.Fade(k);Effect.Fade($("room-pubmark-block-"+b))}var c="room-marker-"+b;$("room-status-string-"+b).update("public");$("room-status-block-"+b).removeClassName("private");$("room-status-block-"+b).addClassName("public");var m=Builder.node("div",{className:"rating-info"},[Builder.node("p",{className:"t2"},[Builder.node("strong","0%")," loved"]),Builder.node("div",{className:"happy-sad-bar"},[Builder.node("span",{className:"progress-bar",style:"background-position: 0px;"},[Builder.node("span",{className:"progress-bar-container"})]),Builder.node("span",{className:"smiley"})]),Builder.node("ul",{className:"icon-links"},[Builder.node("li",{className:"products"},[Builder.node("strong","")," products"]),Builder.node("li",{className:"comments"},[Builder.node("strong","0")," comments"]),Builder.node("li",{className:"views"},[Builder.node("strong","0")," views"])])]);console.log("public_bar : "+m);console.log("favourited : "+h.favourited);var j;if(h.favourited){var d=Builder.node("div",{className:"star highlight",align:"center",id:c},[Builder.node("img",{src:myDeco.settings.STATIC_URL+"img/favourite-star-highlight.png"})]);j=k.parentNode.replaceChild(d,k);$("room-block-"+b).addClassName("highlighted")}else{var d=Builder.node("div",{className:"star off",align:"center"},[Builder.node("a",{id:c,className:"action-button popup-button",ajaxMethod:"markRoomFav",href:myDeco.urls.markRoomFav+"?room_id="+b},[Builder.node("img",{src:myDeco.settings.STATIC_URL+"img/favourite-star-off.png"})])]);j=k.parentNode.replaceChild(d,k)}pbar=$("room-3d-editor-"+b).parentNode.insertBefore(m.hide(),$("room-3d-editor-"+b));Effect.Fade($("room-priv-message-"+b));Effect.Appear(pbar,{queue:"end"});console.log("pbar : "+pbar);myDeco.popupForms.initButton($("room-marker-"+b))}},deleteRoom:{init:function(b,a){myDeco.popupForms.confirm.active=false;var c="Are you sure you want to delete this room?";myDeco.popupForms.confirm(c,myDeco.popupForms.deleteRoom.send,b,a)},send:function(a){new Ajax.Request(myDeco.urls.deleteRoom,{method:"post",parameters:a,onCreate:function(){},onSuccess:function(b){myDeco.popupForms.deleteRoom.handleSuccess(a,b)},onFailure:myDeco.popupForms.handleFailure})},handleSuccess:function(c,f){if(myDeco.roomDetail&&myDeco.roomDetail.delete_next_url){window.location.href=myDeco.roomDetail.delete_next_url}else{var d=c.room_id;var a=f.responseText.evalJSON();var b=$("room-topdiv-"+d);Effect.Fade(b,{afterFinish:function(){b.remove()}});$$(".room-listing").each(function(h,g){if(!(++g%4)){h.addClassName("edge")}else{h.removeClassName("edge")}})}}},deleteTip:{init:function(b,a){myDeco.popupForms.confirm.active=false;var c="Are you sure you want to delete this tip?";myDeco.popupForms.confirm(c,myDeco.popupForms.deleteTip.send,b,a)},send:function(a){new Ajax.Request(myDeco.urls.deleteTip,{method:"post",parameters:a,onCreate:function(){},onSuccess:function(b){myDeco.popupForms.deleteTip.handleSuccess(a,b)},onFailure:myDeco.popupForms.handleFailure})},handleSuccess:function(b,d){var c=b.tip_id;var a=$("back-to-tips");if(a){window.location.href="/people/"+myDeco.username+"/tips/"}else{Effect.Fade($("tip-block-"+c))}}},alert:function(f,g,d){var c=$(Builder.node("a",{className:"button"},[Builder.node("span",{className:"inner"},"OK")]));c.observe("click",function(){new Effect.Fade(c.parentNode,{duration:0.3})});var b=$(Builder.node("div",{className:"popup-form alert-popup",style:"display:none"},[Builder.node("div"),c]));b.down("div").update(f);document.body.appendChild(b);if(g&&Event.element(g)){var a=Event.element(g)}else{if(typeof(d)!="undefined"){var a=d}}if(typeof(a)!="undefined"){b.clonePosition(a,{setWidth:false,setHeight:false})}b.toggle()},confirm:function(c,d,j,f,a){if(!myDeco.popupForms.confirm.active){myDeco.popupForms.confirm.active=true;if(typeof(a)=="undefined"){a="right"}var h=Builder.node("a",{className:"button"},[Builder.node("span",{className:"inner"},"Yes")]);var g=Builder.node("a",{className:"button"},[Builder.node("span",{className:"inner"},"No")]);var b=Builder.node("div",{className:"popup-form",id:"delete-confirm"},[Builder.node("div",{className:"inner"},[Builder.node("p",{align:"center"},c),Builder.node("div",{className:"confirm-buttons"},[h,g])])]);document.body.appendChild(b);myDeco.popupForms.setPosition(b,f,{position:a});$(h).observe("click",function(){myDeco.popupForms.confirm.active=false;$(b).remove();if(d){d(j,f)}else{return true}});$(g).observe("click",function(){myDeco.popupForms.confirm.active=false;$(b).remove();return false})}},handleFailure:function(){myDeco.popupForms.alert("Sorry, there was an error. Please try again later.")},blockuser:{init:function(a){var b=a.username;$("block-user-username").update(b);$("block-user").elements.username.value=b},onSuccess:function(a){}},setPosition:function(h,m,c){var c=c||{};c.position=c.position||"top";c.outOfViewport=c.outOfViewport||false;try{var f=m.element()||m}catch(r){var f=m}var j=0;var l=0;var s=h.offsetWidth||h.getWidth();var t=h.offsetHeight||h.getHeight();var p=$(h).down(".bubble-tip");var g=f.cumulativeOffset();f.superOffsetLeft=f.superOffsetLeft||g.left;f.superOffsetTop=f.superOffsetTop||g.top;var d=f.superOffsetLeft;var q=f.superOffsetTop;var a=f.offsetWidth;var u=f.offsetHeight;var n=document.viewport.getWidth();var b=document.viewport.getHeight();if(c.outOfViewport||c.position=="center"){var o=document.viewport.getScrollOffsets()[1];var k=document.viewport.getScrollOffsets()[0]}switch(c.position){case"top":l=q-t-10;j=d;if(c.outOfViewport&&(o>l)){l=o+10}break;case"right":l=q;j=d+a+(p?p.getWidth()+5:10);if(c.outOfViewport&&(k+n<j+s)){j=k+n-s-10}break;case"bottom":l=q+u+10;j=d;if(c.outOfViewport&&(o+b<l+t)){l=o+b-t-10}break;case"left":l=q;j=d-s-10;if(c.outOfViewport&&(k>j)){j=k+10}break;case"center":l=o+((b/2)-(t/2));j=k+((n/2)-(s/2));break}h.style.left=j+"px";h.style.top=l+"px"},show:function(f,c,a,d){if(f&&!f.stopped){f.stop()}if(typeof(a)=="undefined"){a="right"}console.log("popup-forms.js : myDeco.popupForms.show : show popup");$A(c.elements)._each(function(g){g.disabled=false});if(f){var b=f.element()}else{var b=d}if(a!="up"){myDeco.popupForms.setPosition(c,b,{position:a});Effect.Appear(c,{duration:0.2})}else{Effect.Appear(c,{duration:0,to:0.1,afterFinish:function(g){myDeco.popupForms.setPosition(c,b,{position:a});Effect.Appear(c,{duration:0.2,to:1})}})}try{c.reopen()}catch(f){}},close:function(b,c){b.stop();if(c==null){var a=b.element();c=a.hasClassName("popup-form")?a:a.up(".popup-form")}myDeco.popupForms.hide(c)},hide:function(a){Effect.Fade(a,{duration:0.2})},submit:function(d){Event.stop(d);var a=Event.element(d);var c=a.id.gsub(/-/,"");if(myDeco.popupForms[c].send){myDeco.popupForms[c].send(a)}else{var f=Form.serialize(a);var g=a.getAttribute("ajaxmethod").gsub(/-/,"");var b=myDeco.urls[g];if(!b){b=a.getAttribute("action").split("?")[0]+"ajax/"}console.log("myDeco.popupForms.submit : "+b+"?"+f);new Ajax.Request(b,{method:"post",parameters:f,onCreate:function(){myDeco.popupForms.handleCreate(a)},onSuccess:function(h){myDeco.popupForms.handleSuccess(a,h)},onFailure:function(h){myDeco.popupForms.handleFailure(a,h)}});$A(container.elements)._each(function(h){h.disabled=false})}},handleCreate:function(a){console.log("popup-forms.js : myDeco.popupforms.handleCreate");a.overlay=Builder.node("div",{className:"popup-form-overlay"},[Builder.node("p",{className:"message"},"Processing...")]);a.overlay.style.height=a.offsetHeight+"px";a.appendChild(a.overlay)},handleSuccess:function(b,c){var a=c.responseText.evalJSON();if(a.error){console.log("found error");myDeco.popupForms.showMessage(b,a.error)}else{console.log("success");myDeco.popupForms.showMessage(b,{message:"Success!"});myDeco.popupForms[b.id.gsub(/-/,"")].onSuccess()}if(b.itemToDelete){b.itemToDelete.remove()}window.setTimeout(function(){myDeco.popupForms.hide(b)},1000)},handleFailure:function(c,f){try{var a=f.responseText.evalJSON();if(a.error){myDeco.popupForms.showMessage(c,a.error)}return true}catch(d){var b={message:"Sorry, there has been an error. Please try again later.",type:"No response."};myDeco.popupForms.showMessage(c,b)}},showMessage:function(b,a){console.log("popupForms:showMessage");try{b.overlay.parentNode.removeChild(b.overlay)}catch(c){b.overlay=Builder.node("div",{className:"popup-form-overlay"},[Builder.node("p",{className:"message"},a.message),Builder.node("p",{className:"hidden"},a.type),Builder.node("a",{className:"close",onClick:"myDeco.popupForms.close(event)"},[Builder.node("img",{src:myDeco.settings.STATIC_URL+"img/base/button-close.png",alt:"Close"})])]);b.overlay.style.height=b.offsetHeight+"px";b.appendChild(b.overlay)}}};addLoadEvent(myDeco.popupForms.init);myDeco.inlineForms={init:function(){try{console.log("myDeco.inlineForms.init");myDeco.inlineFormCheck.init();var b=$$(".inline-form-button");b._each(function(d){d.form=$(d.id.replace(/-button/,""));if(d.form==null){return}d.effect=false;d.formOpen=false;d.showForm=function(g){Event.stop(g);if(!d.effect&&!d.formOpen){var f=$("reply-sent");if(f){f.remove()}d.form.select(".error-message").invoke("hide");d.form.select(".bubble").invoke("remove");d.effect=Effect.SlideDown(d.form,{duration:0.6,afterFinish:function(){d.formOpen=true;d.effect=false;if(Prototype.Browser.IE&&$("id_blog_content")&&(FCKeditorAPI.GetInstance("id_blog_content").EditMode==FCK_EDITMODE_WYSIWYG)){oEditor.MakeEditable()}if(d.form.id!="rated"){d.form.scrollTo()}}});if(d.form.id=="message-reply"&&$("message-reply-button")){$("message-reply-button").hide()}if(d.form.id=="rated"){d.hide()}}};d.observe("click",function(f){d.showForm(f)});if(!d.hasClassName("alternate")){d.hideForm=function(){Effect.SlideUp(d.form,{duration:0.6,queue:"end",afterFinish:function(){d.formOpen=false}})};d.form.select(".cancel").invoke("observe","click",function(f){f.stop();d.hideForm();if(d.form.id=="message-reply"&&$("message-reply-button")){$("message-reply-button").show()}});if((!document.implementation.hasFeature("Events","2.0"))&&(d.form.tagName!="FORM")){var c=d.form.down("form");c.observe("submit",function(f){myDeco.inlineForms.submit(f,d)})}else{d.form.observe("submit",function(f){myDeco.inlineForms.submit(f,d)})}if(d.form.id=="ask-question"){d.form.observe("click",function(f){myDeco.inlineForms.showBubble(f)})}}})}catch(a){console.log("Error: popup-forms.js : myDeco.inlineForms.init : "+a)}},submit:function(g,c){try{var d=g.element();var b=d.down(".submit-button a");if(b.hasClassName("disabled")){return}b.toggleClassName("disabled");var a=myDeco.formValidation.validate(d);if(a.valid){if(d.getAttribute("ajaxsubmit")!="false"){Event.stop(g);var h=d.serialize();var f=myDeco.urls[d.getAttribute("ajaxmethod")];var j=d.getAttribute("ajaxmethod");if(!f){f=d.getAttribute("action")+"ajax/"}new Ajax.Request(f,{method:"post",parameters:h,onCreate:function(){console.log("sending...")},onSuccess:function(k){myDeco.inlineForms.success(k,d,j,c,b)},onFailure:function(k){b.toggleClassName("disabled");console.log("failure")}})}}else{g.stop();b.toggleClassName("disabled")}}catch(g){console.log("popup-forms.js : inlineForms : submit : "+g)}},showBubble:function(b){try{var c=document.getElementsByClassName("bubble",Event.element(b).parentNode);var a=Event.element(b);if(a.tagName!="OPTION"){c[0].show();a.observe("blur",function(){c[0].hide()})}}catch(b){console.log("popup-foms.js : inlineForms : showBubble :"+b)}},clearAllBubbles:function(a){a.getElements()._each(function(b){if(b.bubble instanceof Object){b.bubble.remove();b.bubble=null}})},success:function(d,c,b,h,f){try{var g=d.responseText.evalJSON();this.clearAllBubbles(c);if(g.success){if(c.getAttribute("ajaxreset")!="false"){c.reset()}var j;if(myDeco.inlineForms.update[b]){j=myDeco.inlineForms.update[b](g)}var a=c.up(".inline-form");h.hideForm();if(j){Effect.Appear(j,{queue:"end",afterFinish:function(){f.toggleClassName("disabled")}})}}else{f.toggleClassName("disabled");try{g.errors._each(function(m){console.log(m.field+" : "+m.error);if(m.field=="__all__"){m.field="comment"}var n=c.elements[m.field];var l=myDeco.bubbles.create(m.error);n.parentNode.appendChild(l);n.bubble=l})}catch(k){console.log(k)}}}catch(k){console.log("popup-foms.js : inlineForms : success :"+k)}},showMessage:function(b){try{var a=Builder.node("div",[Builder.node("div",{className:"inline-form-message",style:"display:none"},successmessage)]);b.insert(b,a.innerHTML)}catch(c){console.log("popup-forms.js : inlineForms : showMessage :"+c)}},update:{sendMessage:function(b){try{var d=$("message-reply");if(d){var a=d.parentNode;var c=Builder.node("div",[Builder.node("li",{className:"alert own"},[Builder.node("div",{className:"message"},[Builder.node("div",{className:"user-avatar avatar"},[Builder.node("a",{href:"/profile/"+b.sender+"/"},[Builder.node("img",{src:b.sender_avatar,width:82,height:82})])]),Builder.node("div",{className:"content-block"},[Builder.node("div",{className:"headers"},[Builder.node("strong",{className:"t3 name"},b.sender)]),Builder.node("div",{className:"content"},[Builder.node("p",b.message)])]),Builder.node("div",{className:"clear"})]),Builder.node("div",{className:"footer"},[Builder.node("div",{className:"footer-line"}," ")])])]);Element.insert(d,{after:c.innerHTML});return($("reply-sent"));setTimeout("window.location.reload()",1000)}}catch(f){console.log("popup-foms.js : inlineForms : update : sendMessage :"+f)}},askQuestion:function(b){try{console.log("popup-forms.js : inlineForms.update.askQuestion");var a=Builder.node("div",[Builder.node("li",{className:"question",style:"display:none;"},[Builder.node("div",{className:"avatar"},[Builder.node("img",{src:b.question.avatarUrl,width:82,height:82})]),Builder.node("div",{className:"headers"},[Builder.node("strong",{className:"title"},[Builder.node("a",{href:"/profile/"+b.question.username+"/"},b.question.username)]),Builder.node("br"),Builder.node("span",{className:"date"}," on "+b.question.datetime+" | ")]),Builder.node("div",{className:"body"},[Builder.node("strong",{className:"title"},b.question.subject),Builder.node("p",b.question.answers+" answers"),Builder.node("a",{href:b.question.url},"more")])])]);Element.insert("recently-asked-questions",{top:a.innerHTML});return($("recently-asked-questions").firstChild)}catch(c){console.log("popup-foms.js : inlineForms : update : askQuestion :"+c)}},addBookmark:function(c){try{var h={object_id:c.bookmark.id};var j=Builder.node("a",{id:"delete-scrapbook-button-"+c.bookmark.id,className:"button-delete",href:"/scrapbook/"+c.bookmark.id+"/delete"},"delete bookmark");var g=Builder.node("p");g.innerHTML=c.bookmark.description;var b=Builder.node("div",[Builder.node("li",{id:"scrapbook-item-"+c.bookmark.id,className:"bookmark",style:"display:none;"},[Builder.node("a",{className:"title t3 c1",href:c.bookmark.url},[Builder.node("strong",c.bookmark.title)]),Builder.node("span",{className:"date"},c.bookmark.created),Builder.node("a",{className:"link c1",href:c.bookmark.url},c.bookmark.url),g,Builder.node("a",{className:"button",href:"/scrapbook/"+c.bookmark.id+"/edit/"},[Builder.node("span",{className:"inner"},"edit")]),j])]);var d=$("bookmark-list");if(!d){var a=$$(".empty-state");var d=Builder.node("ul",{id:"bookmark-list"});a[0].parentNode.appendChild(d);a[0].remove();d=$("bookmark-list")}Element.insert(d,{top:b.innerHTML});myDeco.inlineForms.updateItemCounter(1);Event.observe(j.id,"click",function(k){myDeco.popupForms.deleteScrapbookItem.init(h,k)});return(d.firstChild)}catch(f){console.log("popup-forms.js : inlineForms : update : addBookmark :"+f)}},addNote:function(b){console.log("update.addNote");var g=Builder.node("a",{id:"scrapbook-delete-button-"+b.note.id,className:"button-delete",href:"#"},"delete");var f={object_id:b.note.id};var c=Builder.node("div",[Builder.node("li",{id:"scrapbook-item-"+b.note.id,className:"note",style:"display:none;"},[Builder.node("strong",{className:"title t3"},b.note.title),Builder.node("span",{className:"date"},b.note.created),$(Builder.node("p")).update(b.note.description),Builder.node("a",{className:"button",href:"/scrapbook/"+b.note.id+"/edit/"},[Builder.node("span",{className:"inner"},"edit")]),g])]);var d=$("note-list");if(!d){var a=$$(".empty-state");var d=Builder.node("ul",{id:"note-list"});a[0].parentNode.appendChild(d);a[0].remove();d=$("note-list")}Element.insert("note-list",{top:c.innerHTML});myDeco.inlineForms.updateItemCounter(1);Event.observe($(g.id),"click",function(h){myDeco.popupForms.deleteScrapbookItem.init(f,h)});return(d.firstChild)},addReview:function(d){d.ratings._each(function(k){if(k.type=="rating"){img_id="avg-rating";not_rated_id="avg-not-rated"}else{img_id=k.type+"-avg-rating";not_rated_id=k.type+"-avg-not-rated"}if(k.score){if($(img_id)){$(img_id).src=myDeco.settings.STATIC_URL+"img/product/star-rating"+k.score+".png"}else{$(not_rated_id).replace('<img src="'+myDeco.settings.STATIC_URL+"img/product/star-rating"+k.score+'.png" id="'+img_id+'" />')}}});if(!d.review.comment){return}var b=$("user-review"+d.review.id);if(!b){b=$("new-user-review");b.id="user-review"+d.review.id;b.removeClassName("hidden");b.addClassName("last");if($("no-reviews")){$("no-reviews").remove();var j=b.parentNode;var f=Builder.node("h3","mydeco customer reviews");var c=Builder.node("div",{"class":"ratings-and-reviews"},[Builder.node("div",{"class":"reviews-container"})]);j.insertBefore(f,b);j.insertBefore(c,b);c.firstChild.appendChild(j.removeChild(b))}}else{b.update("")}ratings=Builder.node("div",{"class":"ratings"},[Builder.node("h4",d.user.username+"'s ratings")]);d.rating_order._each(function(m){if(m=="rating"){return}var n=Builder.node("h5",d.avail_ratings[m].title);var k=Builder.node("div",{"class":"rating-stars"});k.id="rating-stars-"+m;if(d.review.ratings[m]>0){var l=Builder.node("img",{src:myDeco.settings.STATIC_URL+"img/product/star-rating"+d.review.ratings[m]+".png","class":"stars-image"})}else{var l=Builder.node("span",{"class":"not-rated"},"Not rated")}k.appendChild(l);ratings.appendChild(n);ratings.appendChild(k)});var h=Builder.node("div",{"class":"comment avatar"},[Builder.node("a",{href:d.user.url},[Builder.node("img",{src:d.user.avatar_url})])]);var g=Builder.node("div",{"class":"review"},[Builder.node("p",{"class":"user"},[Builder.node("a",{href:d.user.url},d.user.username)]),Builder.node("p",{"class":"date"},d.review.created),Builder.node("p",d.review.comment)]);var a=Builder.node("div",[ratings,h,g]);Element.insert(b,{top:a.innerHTML});return(b.firstChild)}},updateItemCounter:function(c){var b=$("item-counter");var a=$("item-pluralizer");var f=a.innerHTML;if(b){var d=b.innerHTML;d=(d=="no")?1:((d*1)+c);b.innerHTML=d;if(a){pluralised=(f.substring(f.length-1)=="s")?f:f+"s";notPluralised=pluralised.substring(0,pluralised.length-1);a.innerHTML=(d>1||d==0)?pluralised:notPluralised}}}};addLoadEvent(myDeco.inlineForms.init);myDeco.knowledge={init:function(){console.log("myDeco.knowledge.init");$$("#question-list a.expand")._each(function(a){a.invoke("observe","click",myDeco.knowledge.expand)})},expand:function(c){var a=Event.element(c);var b=c.findElement("LI");b.toggleClassName("expanded");a.innerHTML=a.innerHTML.indexOf("View")>-1?"Hide answers":"View full question";a.blur();Event.stop(c)}};addLoadEvent(myDeco.knowledge.init);myDeco.editStrapline={init:function(){console.log("myDeco.editStrapline.init");var c=$("strapline-text");var b=$("strapline-form");var d=$("strapline-input");var a=$("generator-link");if(b&&c){Event.observe(c,"click",myDeco.editStrapline.showForm);b.observe("submit",function(f){Event.stop(f)});a.observe("click",myDeco.editStrapline.generateStrapline);$("strapline-app").observe("keypress",myDeco.editStrapline.handleSubmit)}},generateStrapline:function(b){this.blur();var a=$("strapline-input");a.value=generate_strapline();a.focus()},handleSubmit:function(a){if(window.event&&window.event.keyCode==13){myDeco.editStrapline.send(a)}else{if(a&&(a.keyCode==13||a.which==13)){myDeco.editStrapline.send(a)}}},send:function(b){var a=$("strapline-form");if(b){Event.stop(b)}ajaxMethod="editStrapline";new Ajax.Request(myDeco.urls[ajaxMethod],{parameters:a.serialize(true),onSuccess:myDeco.editStrapline.handleSuccess})},hideForm:function(){if($("strapline-form").style.display!="none"){var a=$("generator-link");$("strapline-form").toggle();$("text").toggle();myDeco.editStrapline.inputVisible=false;a.hide();$("strapline-bubble").hide()}},showForm:function(h){if(!myDeco.editStrapline.inputVisible){var c=Event.element(h);var f=$("strapline-form");var g=$("strapline-input");var d=$("generator-link");g.value=$("text").innerHTML;f.show();d.show();$("text").hide();myDeco.editStrapline.inputVisible=true;g.focus();var a=$("strapline-bubble");if(a.parentNode.id!="main"){$("main").appendChild(a.parentNode.removeChild(a))}$("strapline-bubble").show()}},handleSuccess:function(b){$("strapline-input").blur();var a=b.responseText.evalJSON();if(a.strapline){$("text").innerHTML=a.strapline}myDeco.editStrapline.hideForm()},inputVisible:false};addLoadEvent(myDeco.editStrapline.init);myDeco.editTipsTitle={init:function(){console.log("myDeco.editTipsTitle.init");if(!$("add-blog")){return}var b=$("edit-title");var a=$("tips_name");var c=$("tips_form");var d=$("tips_input");if(c&&a){Event.observe(b,"click",myDeco.editTipsTitle.showForm);d.observe("blur",function(f){myDeco.editTipsTitle.hideForm()});c.observe("submit",function(f){Event.stop(f)});c.observe("keypress",myDeco.editTipsTitle.handleSubmit)}},sendTitle:function(){ajaxMethod="editTipsTitle";new Ajax.Request(myDeco.urls[ajaxMethod],{parameters:$("tips_form").serialize(true),onSuccess:myDeco.editTipsTitle.handleSuccess})},handleSubmit:function(b){var a;if(!b){var b=window.event}if(b.keyCode){a=b.keyCode}else{if(b.which){a=b.which}}if(a==13){myDeco.editTipsTitle.sendTitle()}},hideForm:function(){$("tips_form").toggle();$("tips_name").toggle();$("edit-title").toggle()},showForm:function(d){Event.stop(d);var a=Event.element(d);var b=$("tips_form");var c=$("tips_input");c.value=$("tips_name").innerHTML;b.toggle();$("tips_name").toggle();c.focus();$("edit-title").toggle()},handleSuccess:function(b){var a=b.responseText.evalJSON();if(a.tips_name){$("tips_name").innerHTML=a.tips_name}myDeco.editTipsTitle.hideForm()}};addLoadEvent(myDeco.editTipsTitle.init);myDeco.lightwindowPopUps={init:function(){console.log("myDeco.lightwindowPopUps.init");$$("#room-image-enlarge").invoke("observe","click",myDeco.lightwindowPopUps.roomImageMap)},roomImageMap:function(g){Event.stop(g);var c=g.findElement("a"),b=c.href.substring(c.href.indexOf("#")+1),d=$(b);if(d){var f=d.down("img").getDimensions(),a=d.down("#room-render-map");if(a){a.setStyle({width:f.width+"px",height:f.height+"px"})}myLightWindow.activateWindow({title:c.title,href:"#"+b,type:"inline",width:f.width,height:f.height})}else{myLightWindow.activateWindow({title:c.title,href:c.href,type:"image"})}}};addLoadEvent(myDeco.lightwindowPopUps.init);myDeco.newsletter={defaultValue:"Your email address",init:function(){var a=$$("#newsletter-box form").first();if(!a){return}var b=a.down('input[name="ev-EMAIL_FIELD"]');this._blur(b);b.observe("focus",this._focus.bindAsEventListener(this));b.observe("blur",this._blur.bindAsEventListener(this));a.observe("submit",this._submit.bindAsEventListener(this))},_submit:function(b){var a=b.findElement("form");if(myDeco.formValidation.validate(a)){b.stop();return}new Ajax.Request(a.getAttribute("action"),{onComplete:function(h){try{var c=h.responseText.evalJSON()}catch(j){this._error()}if(!c.success){this._error(c.message)}else{var g=a.up("#newsletter-box"),f=g.down(".initial"),k=g.down(".success"),d=k.down(".email");if(d){d.update(field.getValue())}if(k){k.show();if(f){f.hide()}else{a.hide()}}else{document.location="/the-magazine/articles/newsletter-confirmation"}}},onError:this._error.bindAsEventListener(this)})},_error:function(b){var b=b||"Unknown error is occured, please try again later";var a=$("newsletter-box").down(".error");if(a){a.update(b);a.invoke("show")}else{document.location="/the-magazine/articles/subscribe-error"}},_focus:function(b){var a=b.findElement("input");if(a.getValue()==this.defaultValue){a.value=""}a.removeClassName("blur")},_blur:function(b){var a=Object.isElement(b)?b:b.findElement("input");if(a.getValue()==""){a.value=this.defaultValue}a.addClassName("blur")}};addLoadEvent(myDeco.newsletter.init.bind(myDeco.newsletter));myDeco.findTalent={init:function(){if(!$("find-talent")){return}$("find-talent").show();myDeco.findTalent.form=new myDeco.ajaxForm("talent-finder");myDeco.findTalent.form.initForm();myDeco.findTalent.form.url=myDeco.urls.find_talent_ajax;myDeco.findTalent.form.customSuccess=function(a){$$(".find-talent.initial")[0].hide();$$(".find-talent.success")[0].show()}}};addLoadEvent(myDeco.findTalent.init);myDeco.srcHref={value:""};myDeco.formValidation={init:function(){$$("form.validate:not(.popup-form):not(.inline-form)")._each(function(a){Event.observe(a,"submit",function(b){if(!myDeco.formValidation.validate(a).valid){b.stop();myDeco.formControls.submitButtons.enable(a)}})})},validate:function(a){var c=false;var b=new Array();a.select(".validate")._each(function(f){if(f.bubble instanceof Object){f.bubble.remove();f.bubble=""}var g=myDeco.formValidation.isValid(f);if(g!==true){c=true;var d=myDeco.bubbles.create(g);if(f.hasClassName("right")){d.addClassName("bubble-right");d.setStyle({right:f.getWidth()+15+"px",top:"2px"})}else{d.setStyle({left:f.getWidth()+20+"px",top:"2px"})}f.insert({after:d});if(myDeco.browser.isIE6){d.appendChild(document.createTextNode(" "))}f.bubble=d}});return{valid:!c}},isValid:function(g){if(g.hasClassName("v-required")&&g.value==""){return"Please ensure each field is complete before you re-submit."}if(g.hasClassName("v-required-inbox")&&g.value==""){return"Oops! You forgot your message!"}if(g.hasClassName("v-email")&&!myDeco.formValidation.validateEmail(g.value)){return"We'd love you to bend the rules in room design, but not in our forms! Sorry, our system doesn't recognise your email address. Please check and try again."}if(g.hasClassName("v-password")&&!myDeco.formValidation.validatePassword(g.value)){return"Passwords must be 5-15 characters and may contain numbers, letters and underscores."}if(g.hasClassName("v-passwordconfirm")&&!myDeco.formValidation.validatePasswordConfirm(g.value)){return"Your passwords must match."}if(g.hasClassName("v-date")&&!myDeco.formValidation.validateDate(g.value)){return"Must be a valid date of the form dd/mm/yyyy. Eg: 19/09/2007"}if(g.hasClassName("v-url")&&!myDeco.formValidation.validateUrl(g.value)){return"Please enter a valid url that begins with http://"}var d="v-word-length-",b=g.className.indexOf(d),c="v-maxlength-",f=g.className.indexOf(c);if(b!=-1){var h=g.className.indexOf(" ",b);if(h==-1){h=g.className.length}var a=g.className.substr(b+d.length,h);if(!myDeco.formValidation.validateWordLength(g.value,parseInt(a))){return"Oops! Please make sure words in your comment do not exceed "+a+" characters in length."}}if(f!=-1){var h=g.className.indexOf(" ",f);if(h==-1){h=g.className.length}var a=g.className.substr(f+c.length,h);if(!myDeco.formValidation.validateLength(g.value,parseInt(a))){return"Oops! Please make sure your text do not exceed "+a+" characters."}}if(g.hasClassName("v-no-html")&&!myDeco.formValidation.validateNoHTML(g.value)){return"Should not contain any HTML-like tags"}return true},validateEmail:function(a){return/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/.test(a)},validatePassword:function(a){return/^[a-zA-Z]\w{3,14}$/.test(a)},validatePasswordConfirm:function(a){var b=($("sign-up-password1")!=null)?"sign-up-password1":"id_password1";return $(b).value==a},validateDate:function(a){return/(((0[13578]|10|12)([-.\/])(0[1-9]|[12][0-9]|3[01])([-.\/])(\d{4}))|((0[469]|11)([-.\/])([0][1-9]|[12][0-9]|30)([-.\/])(\d{4}))|((2)([-.\/])(0[1-9]|1[0-9]|2[0-8])([-.\/])(\d{4}))|((2)(\.|-|\/)(29)([-.\/])([02468][048]00))|((2)([-.\/])(29)([-.\/])([13579][26]00))|((2)([-.\/])(29)([-.\/])([0-9][0-9][0][48]))|((2)([-.\/])(29)([-.\/])([0-9][0-9][2468][048]))|((2)([-.\/])(29)([-.\/])([0-9][0-9][13579][26])))/.test(a)},validateUrl:function(a){return/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(a)},validateWordLength:function(b,a){var d=b.split(" ");for(var c=0;c<d.length;c++){if(d[c].length>a){return false}}return true},validateLength:function(b,a){return b.length<=a},validateNoHTML:function(a){return !/<[a-zA-Z]+(\s[^>]*)?>/.test(a)}};addLoadEvent(myDeco.formValidation.init);myDeco.autocomplete={init:function(){if(!$("query")||!$("complete-container")){return false}myDeco.autocomplete.completer=new Ajax.Autocompleter("query","complete-container-inner",myDeco.settings.AUTOCOMPLETE_URL,{onShow:myDeco.autocomplete.onShow,onHide:myDeco.autocomplete.onHide,beforeUpdateChoices:myDeco.autocomplete.beforeUpdateChoices,method:"get",paramName:"query",autoSelect:false})},onShow:function(a,b){b.style.display="block";b=b.parentNode;if(!b.style.position||b.style.position=="absolute"){b.style.position="absolute";Position.clone(a,b,{setHeight:false,setWidth:false,offsetTop:a.offsetHeight})}new Effect.Appear(b,{duration:0.3})},onHide:function(a,b){new Effect.Fade(b.parentNode,{duration:0.3});new Effect.Fade(b,{duration:0,queue:"end"})},beforeUpdateChoices:function(a){a=a.evalJSON();a=a.result;var c="<ul>";for(var b in a){if(a[b]["match"]){c=c+"<li>"+a[b].match+"</li>"}}c=c+"</ul>";return c}};addLoadEvent(myDeco.autocomplete.init);myDeco.geo_autocomplete={init:function(){if(!$("postcode")||!$("geo-autocomplete")){return false}myDeco.geo_autocomplete.completer=new Ajax.Autocompleter("postcode","geo-autocomplete-inner",myDeco.urls.ws.location_to_coords,{onShow:myDeco.autocomplete.onShow,onHide:myDeco.autocomplete.onHide,beforeUpdateChoices:myDeco.geo_autocomplete.beforeUpdateChoices,method:"get",paramName:"location",autoSelect:false})},beforeUpdateChoices:function(a){a=a.evalJSON();var c="<ul>";for(var b in a){if(a[b]["address"]){c=c+"<li>"+a[b].address+"</li>"}}c=c+"</ul>";return c}};addLoadEvent(myDeco.geo_autocomplete.init);myDeco.toolWindow={toolProperties:{planner:{toolUrl:myDeco.urls.roomPlanner,className:"3d",width:1180,height:635},decorate:{toolUrl:myDeco.urls.roomDecorate,className:"decorated-photo",width:1082,height:722},montage:{toolUrl:myDeco.urls.roomMontage,className:"montage",width:1082,height:722},furnish:{toolUrl:myDeco.urls.roomFurnish,className:"furnished-photo",width:1000,height:635},browser:{className:"rooms-browser",width:1082,height:722},panorama:{className:"panorama",width:800,height:600}},windowFeatures:function(a){return["width="+a.width,"height="+a.height,"left="+Math.round((screen.availWidth-a.width)/2),"top="+Math.round((screen.availHeight-a.height)/2),"scrollbars=yes","toolbars=no","resizable=yes"].join(",")},switchToolState:function(b,d,k,f){if(b){b.stop()}f=f||$(b.currentTarget||b.srcElement);d=d||"openRoom";k=k||f.readAttribute("rel");var g="planner",h,a;for(var c in this.toolProperties){if(f.hasClassName(this.toolProperties[c].className)){g=c;break}}h=this.toolProperties[g];a=window.open("",g,this.windowFeatures(h));try{a.switchState(b,d,k)}catch(j){window.loadAction=d;window.loadValue=k;a.location=h.toolUrl||f.readAttribute("href")}a.focus()},initToolLinks:function(a){a=Object.isElement(a)?a:$(document.body);a.select("a.edit-room-project").invoke("observe","click",this.switchToolState.bindAsEventListener(this));a.select("a.add-product-to-moodboard").invoke("observe","click",this.switchToolState.bindAsEventListener(this,"addProduct"));a.select("a.rooms-browser").invoke("observe","click",this.switchToolState.bindAsEventListener(this,"open"));a.select("a.room-reply-link").invoke("observe","click",this.switchToolState.bindAsEventListener(this,"conversationReply"))}};addLoadEvent(myDeco.toolWindow.initToolLinks.bindAsEventListener(myDeco.toolWindow));myDeco.userProfileNextLevel={init:function(){if(myDeco.username!=undefined){if($("next-rank-"+myDeco.username)){myDeco.userProfileNextLevel.notify()}}},notify:function(){var a=$("next-rank-"+myDeco.username);var b=$("cur-rank");if(a.visible()){new Effect.Fade(a,{duration:0.2});new Effect.Appear(b,{duration:0.2,queue:"end"})}else{new Effect.Fade(b,{duration:0.2});new Effect.Appear(a,{duration:0.2,queue:"end"})}window.setTimeout("myDeco.userProfileNextLevel.notify()",5000)}};addLoadEvent(myDeco.userProfileNextLevel.init);myDeco.tipsRating={init:function(){myDeco.tipsRating.forms=$$(".tips-parameters-form");if(myDeco.tipsRating.forms.length){var a=$$(".rating-button");a._each(function(b){if(!b.hasClassName("disabled")){b.observe("click",myDeco.tipsRating.buttonClick)}});if(myDeco.tipsRating.forms.length==1){}}},buttonClick:function(d){Event.stop(d);var b=Event.findElement(d,"A");var a=b.parentNode;var f=a.id.slice(12);var c=$(f);if(!b.hasClassName("disabled")){myDeco.tipsRating.value=(b.id=="like-tip-button")?1:-1;myDeco.tipsRating.setScore(c,myDeco.tipsRating.value)}},canRate:function(){try{myDeco.tipsRating.forms._each(function(b){new Ajax.Request(myDeco.urls.canRate,{method:"post",parameters:b.serialize(),onCreate:function(){console.log("Sending canRate request...")},onSuccess:function(d){var c=d.responseText.evalJSON();if(c.success){console.log("canRate response: "+c.can_rate);if(c.can_rate){myDeco.tipsRating.enableRatingButtons(b)}}else{console.log("canRate error: "+c.error)}},onFailure:function(){console.log("canRate failed")}})})}catch(a){console.log("ERROR: "+a.message)}},setScore:function(b,a){try{new Ajax.Request(myDeco.urls.setScore,{method:"post",parameters:b.serialize()+"&value="+a,onSuccess:function(g){var d=g.responseText.evalJSON();if(d.success){myDeco.tipsRating.setScoreSuccess(b)}else{var f=$("rating_bar_"+b.id);f.select(".percent_liked")[0].innerHTML="You have already voted";myDeco.tipsRating.disableRatingButtons(b)}},onFailure:function(d){console.log(d)}})}catch(c){console.log("setScore ERROR: "+c.message)}},disableRatingButtons:function(a){$(a.parentNode).select(".sadface")[0].addClassName("disabled");$(a.parentNode).select(".smiley")[0].addClassName("disabled")},enableRatingButtons:function(a){$(a.parentNode).select(".sadface")[0].removeClassName("disabled");$(a.parentNode).select(".smiley")[0].removeClassName("disabled")},setScoreSuccess:function(b){try{var f=$("rating_bar_"+b.id);var l=$("buttons_bar_"+b.id);var h=$("rating_title_"+b.id);var n=f.select(".not-rated-div")[0];var a=f.select(".rated-div")[0];if(n.style.display!="none"){n.style.display="none";a.style.display="inline"}myDeco.tipsRating.disableRatingButtons(b);var c=parseInt(b.select(".like_count")[0].innerHTML);var g=parseInt(b.select(".dislike_count")[0].innerHTML);var d;if(myDeco.tipsRating.value==1){d=f.select(".like")[0];c++}else{d=f.select(".dislike")[0];g++}var m=parseInt(d.innerHTML);d.innerHTML=m+1;var k=Math.round(c/(c+g)*100);f.select(".percent_liked")[0].firstChild.innerHTML=k+"%";var o=l.select(".progress-bar-container")[0];o.setStyle({width:k+"%"});o.addClassName("full");o.innerHTML="";h.innerHTML="Thanks for your vote!"}catch(j){console.log("setScoreSuccess ERROR: "+j.message)}}};addLoadEvent(myDeco.tipsRating.init);myDeco.subscribeAlerts={init:function(){myDeco.subscribeAlerts.subscribe=$("id_subscribe_group");if(myDeco.subscribeAlerts.subscribe){myDeco.subscribeAlerts.subscribe.observe("click",myDeco.subscribeAlerts.checkboxClicked)}},checkboxClicked:function(d){Event.stop(d);var c=Event.element(d);var f=c;var b=!c.checked;while(f.tagName!="FORM"){f=f.parentNode}var a=f.action;try{new Ajax.Request(a,{method:"post",parameters:"type="+c.value,onCreate:function(){console.log("Sending checkboxClicked request...")},onSuccess:function(h){var g=h.responseText.evalJSON();if(g.success){c.checked=g.enabled;console.log("checkboxClicked response: "+g.success)}else{c.checked=b;console.log("checkboxClicked error: "+g.error)}},onFailure:function(){c.checked=b;console.log("subscribeAlerts checkboxClicked failed")}})}catch(d){console.log("subscribeAlerts ERROR: "+d.message)}}};addLoadEvent(myDeco.subscribeAlerts.init);myDeco.switchRoomType={init:function(c,d){var b=$$("#room-topdiv-"+d+" .edit-room-make"+c)[0];if(b.hasClassName("disabled")){return}var a;if(c=="private"){a=myDeco.urls.markRoomPrivate}if(c=="public"){a=myDeco.urls.markRoomPub}new Ajax.Request(a,{method:"post",parameters:{room_id:d},onSuccess:function(f){myDeco.switchRoomType.handleSuccess(d,f)},onFailure:function(g){var f=g.responseText.evalJSON(true);if(f.error){}myDeco.popupForms.alert(f.error.message,null,b)}})},handleSuccess:function(d,c){var a=c.responseText.evalJSON();if(!a.success){myDeco.popupForms.handleFailure();return}var b="#room-topdiv-"+d+" ";if(a["public"]){$$(b+".edit-room-makeprivate")[0].removeClassName("disabled");$$(b+".edit-room-makepublic")[0].addClassName("disabled");$$(b+".privatemessage")[0].hide();$$(b+".star")[0].show();$$(b+".rating-info")[0].show()}else{$$(b+".overview")[0].removeClassName("favourited");$$(b+".edit-room-makeprivate")[0].addClassName("disabled");$$(b+".edit-room-makepublic")[0].removeClassName("disabled");$$(b+".star")[0].hide();$$(b+".rating-info")[0].hide();$$(b+".privatemessage")[0].show()}}};myDeco.markRoomFav={busy:false,init:function(a){if(myDeco.markRoomFav.busy){return}new Ajax.Request(myDeco.urls.markRoomFav,{method:"post",parameters:{room_id:a},onCreate:function(){myDeco.markRoomFav.busy=true},onComplete:function(){myDeco.markRoomFav.busy=false},onSuccess:function(b){myDeco.markRoomFav.handleSuccess(a,b)},onFailure:myDeco.popupForms.handleFailure})},handleSuccess:function(c,b){var a=b.responseText.evalJSON();if(!a.success){myDeco.popupForms.handleFailure();return}$$(".room-listing .overview")._each(function(d){if(d.id==("room-block-"+c)){d.toggleClassName("favourited")}else{d.removeClassName("favourited")}})}};myDeco.listHover={init:function(){$$("#user-links > li").each(function(a){a.observe("mouseover",function(b){this.addClassName("user-links-item-hover")});a.observe("mouseout",function(b){this.removeClassName("user-links-item-hover")})})}};addLoadEvent(myDeco.listHover.init);myDeco.hoverBubble={initBubbles:function(d,c,a){var b=$$(d);b._each(function(f){var g=f.getElementsByClassName(c);var k=f.getElementsByClassName(a);if(g.length>0&&k.length>0){var j=g[0];var h=k[0];new InfoPopupsClass(j,h,{outOfViewport:true,position:"top",timeout:100})}})}};myDeco.SBL={error_callback:null,params:$H({startrank:0,prefdb:"product",view:"geo_products"}),init:function(){if(myDeco.isHighend){myDeco.SBL.params.prefdb="product_designbar"}myDeco.SBL.form=$("shop-by-location-form");if(myDeco.SBL.form){myDeco.SBL.form.observe("submit",function(a){Event.stop(a);myDeco.SBL.go(myDeco.SBL.form.postcode.getValue(),myDeco.SBL.form.serialize(true),myDeco.SBL.error_callback)})}},go:function(c,b,a){if(b){myDeco.SBL.params.update(b)}myDeco.createCookie("geolocation",c,60);myDeco.location2coords(c,myDeco.SBL._go,a)},_go:function(a){myDeco.SBL.params.set("distance_centre",a.join(","));location.href="/search/?"+myDeco.SBL.params.toQueryString()}};addLoadEvent(myDeco.SBL.init);myDeco.starRating={ratings:{},init:function(b){b=Object.isElement(b)?b:document.body;var a=b.select(".star-rating");a._each(function(d){if(!d.id||!d.hasClassName("use_ajax")){d.select("li a").invoke("observe","click",myDeco.starRating.starClickSimple);return}var f=d.id.split("-");var c={ctype:f[0],object_id:f[1],canRate:false,rate_type:"rating"};myDeco.starRating.ratings[d.id]=c});if(Object.keys(myDeco.starRating.ratings).length==0){return}new Ajax.Request(myDeco.urls.canRateMulti,{parameters:{ratings:$H(myDeco.starRating.ratings).toJSON()},method:"post",onSuccess:function(d){var c=d.responseText.evalJSON();if(c.success){myDeco.starRating.ratings=c.ratings;$H(myDeco.starRating.ratings)._each(function(f){rating=$(f.key);info=f.value;if(info.canRate){rating.select("li a")._each(function(g){g.observe("click",myDeco.starRating.starClickAjax.bindAsEventListener(g,rating))})}else{myDeco.starRating.handleBlocked(rating)}})}},onFailure:function(c){myDeco.starRating.ratings._each(function(d){rating=$(d.key);myDeco.starRating.handleBlocked(rating)})}})},handleBlocked:function(c){var b=myDeco.starRating.ratings[c.id],a=c.up("form").down(".new-rating-message");if(!b.canRate){c.addClassName("inactive");if(a){a.hide()}if(b.score!=null){myDeco.starRating.setScore(b.ctype,b.score)}}},starClickSimple:function(a){a.stop();var b=myDeco.starRating.getDataFromId(this.id);myDeco.starRating.setScore(b.rating,b.score)},getDataFromId:function(b){var a=b.split("-");return{rating:a[0],score:a.slice(-1)}},starClickAjax:function(c,b){c.stop();var a=myDeco.starRating.ratings[b.id];if(!a.canRate){return}var d=myDeco.starRating.getDataFromId(this.id)["score"];new Ajax.Request(myDeco.urls.setScore,{parameters:{content_type:a.ctype,value:d,object_id:a.object_id},method:"post",onSuccess:function(m){var g=m.responseText.evalJSON();if(g.success){var k=$("votes-"+a.ctype),f=b.up("form").down(".new-rating-message");if(k){var l=(parseInt(k.innerHTML)||0)+1;k.update(l);k.removeClassName("empty");var h=$("avg-rating-"+a.ctype);if(h){var j=Math.round((window.parseInt(h.readAttribute("rel"))*(l-1)+window.parseInt(d))/l);h.src=h.src.replace(/\d+\.png$/,j+".png")}}if(f){f.hide()}myDeco.starRating.setScore(a.ctype,d);b.addClassName("inactive");myDeco.starRating.ratings[ratingId]["canRate"]=false}}})},setScore:function(a,b){$(a+"-rating-input-"+b).checked=true;$(a+"-stars").setStyle({width:20*b+"%"});message=$(a+"-rated-message");if(message){message.show()}}};addLoadEvent(myDeco.starRating.init);myDeco.buynow={omniture:function(d,a,b){try{gts="GoToShop";chan=gts;if(s_account.indexOf("wl-")){chan=s_channel}var f=s_gi(s_account);f.pageName=gts+":"+s_pagename;f.channel=chan;f.prop1=gts;f.prop2=gts;f.prop3=gts;f.events="purchase";f.products=";"+a+";1;"+b;f.linkTrackVars="pageName,channel,prop1,prop2,prop3,events,products,eVar5";f.linkTrackEvents="purchase";f.tl(d,"o",gts)}catch(c){console.log("Error : buynow.js : myDeco.buynow.ominture"+c)}},clickHandler:function(d,a,c){var b=d.findElement("A");myDeco.buynow.buynowClick(b,a,c);if(b.hasClassName("external")){Event.stop(d);this.openWindow()}},buynowClick:function(b,a,c){myDeco.buynow.firePixel(b,a);myDeco.buynow.button_url=b.href;myDeco.buynow.omniture(b,a,c)},firePixel:function(a,b){var c=document.createElement("img");c.src="https://cc.gbppc.com/ct/67/x.gif?cid="+b;document.body.appendChild(c)},showBuynowLayer:function(){var b=$("buy-now-div");if(b.parentNode!=document.body){var a=b.parentNode.removeChild(b);a.style.display="";document.body.appendChild(a)}else{b.style.display=""}myDeco.buynow.currSquare=1;myDeco.buynow.updateSquares();myDeco.buynow.interval=window.setInterval(myDeco.buynow.updateSquares,800)},updateSquares:function(){if(myDeco.buynow.currSquare<4){new Effect.Morph("square"+myDeco.buynow.currSquare,{style:"background:#919622;",duration:0.6});myDeco.buynow.currSquare++}else{myDeco.buynow.sendData()}},sendData:function(){window.clearInterval(myDeco.buynow.interval);myDeco.buynow.openWindow();new Effect.Opacity("main",{duration:0.1,to:1,afterFinish:myDeco.buynow.hideBuynowLayer})},openWindow:function(){var a=window.open(myDeco.buynow.button_url,"GTSpopup");a.focus()},hideBuynowLayer:function(){for(var a=1;a<4;a++){$("square"+a).style.background="#c8c9b7"}$("buy-now-div").style.display="none"}};myDeco.productData={products:[],store_limit:50,compliances:{g:"guid",u:"url",n:"name",p:"price",s:"supplier",l:"supplier_logo",t:"thumbnail",d:"price_before_discount"},init:function(){var a=this;this.load();if(typeof(product_info)!="undefined"){this.addFromPP()}myDeco.storage.get("productData.last_purge",function(c,d){var b=Math.round(Number(new Date())/(1000*60*60));if((!d||b>+d+24)){a.reset();myDeco.storage.set("productData.last_purge",b)}})},get:function(c,d){var b=this;if(typeof c=="string"){c=[c]}else{c=this.clone(c)}var a=this.products.filter(function(g){var f=c.indexOf(g.guid);if(f!=-1){c.splice(f,1);return true}});if(c.length){c=c.splice(0,20);new Ajax.Request(myDeco.urls.ws.product,{method:"get",parameters:{id:c},onSuccess:function(f){f=f.responseText.evalJSON();f=$H(f).each(function(j){var g=j[0];j=j[1];if(!j){return}var k={};j.guid=g;if(j.available){for(var h in b.compliances){k[b.compliances[h]]=j[b.compliances[h]]}k=b.compactUrls(k)[0];a.push(k)}});b.save(a);if(typeof d=="function"){d(b.clone(a))}}})}else{if(typeof d=="function"){d(this.clone(a))}}},reset:function(){this.products=[];myDeco.storage.remove("productData")},load:function(){var a=this;myDeco.storage.get("productData",function(b,c){c=(c||"null").evalJSON()||[];a.products=a.expand(c)})},save:function(c,b){if(!(c instanceof Array)){c=[c]}c=this.clone(c);var a=this;c=c.filter(function(d){return d&&d.guid});this.products=this.products.map(function(g){for(var f=0,d=c.length;f<d;f++){if(g.guid==c[f]["guid"]){return c.splice(f,1)}}return g});if(c.length){if(b){this.products.unshift(c[0]);if(this.products.length>this.store_limit){this.products.splice(9,1)}}else{this.products=this.products.concat(c,this.products.splice(10))}}if(this.products.length>this.store_limit){this.products.splice(this.store_limit,this.products.length-this.store_limit)}myDeco.storage.set("productData",this.compact(this.products))},addFromPP:function(){if(typeof(product_info)=="undefined"||!product_info.available){return false}this.save(this.compactUrls(product_info),true)},compactUrls:function(b){if(!(b instanceof Array)){b=this.clone([b])}else{b=this.clone(b)}var a={url:/^.*\/p\/([^/]+)\/.*$/,thumbnail:/^.*\/product_images\/thumbs\/110\/(.+)$/,supplier_logo:/^.*\/supplier_logos\/(.+)$/};return b.map(function(d){for(var c in a){if(d[c]){d[c]=(a[c].exec(d[c])||[])[1]}}return d})},compact:function(a){return this._compact(this.clone(a)).toJSON()},expand:function(a){return this._compact(a,true)},_compact:function(c,b){if(c&&!(c instanceof Array)){c=[c]}var a=this;return c.map(function(f){for(var d in a.compliances){if(b){f[a.compliances[d]]=f[d];delete f[d]}else{f[d]=f[a.compliances[d]];delete f[a.compliances[d]]}}return f})},clone:function(a){return a.toJSON().evalJSON()}};myDeco.storage.onready(myDeco.productData.init.bind(myDeco.productData));myDeco.recentlyViewed={products:[],init:function(){myDeco.storage.remove("rec_vwd");this.load();if(typeof product_info!="undefined"){this.save(product_info.guid)}},load:function(){var a=this;myDeco.storage.get("recentlyViewed",function(b,c){a.products=(c||"null").evalJSON()||[]})},save:function(a){if(!a){return false}this.products=this.products.filter(function(b){return b!=a});this.products.unshift(a);if(this.products.length>10){this.products=this.products.splice(0,10)}myDeco.storage.set("recentlyViewed",this.products.toJSON())},reset:function(){myDeco.storage.remove("recentlyViewed");this.products=[]}};myDeco.storage.onready(myDeco.recentlyViewed.init.bind(myDeco.recentlyViewed));myDeco.bookmarks={items:null,count:0,init:function(){this.load()},load:function(){var a=this;myDeco.storage.get("bookmarksPending",function(b,c){a.items=(c||"null").evalJSON();if(myDeco.username&&a.items){a.bookmarkPending()}});if(this.items){this.saveCount(this.items.length)}else{if(myDeco.username){myDeco.storage.get("bookmarksCount",function(b,c){a.saveCount(+c||0)})}}},saveCount:function(a){myDeco.storage.set("bookmarksCount",a);this.count=a;$("body").fire("updated:bookmarks")},bookmarkPending:function(){var a=this;new Ajax.Request(myDeco.urls.bookmarksAjax,{method:"post",contentType:"application/x-www-form-urlencoded",parameters:{bookmarks:Object.toJSON(this.items)},onSuccess:function(c){var b=c.responseText.evalJSON();myDeco.storage.remove("bookmarksPending");a.items=null;a.saveCount(b.count)}})}};myDeco.storage.onready(myDeco.bookmarks.init.bind(myDeco.bookmarks));myDeco.surveyMonkey={exiting_site:true,init:function(){Event.observe(window,"unload",function(){if(myDeco.surveyMonkey.exiting_site&&!myDeco.readCookie("smonkey")){popup=window.open("/surveymonkeylauncher.html","smlauncher","height=10,width=10,scrollbars=no,resizable=no,status=no");try{popup.blur()}catch(a){}window.focus()}});$$("a").each(function(a){Event.observe(a,"click",function(b){a=b.element();if(!a.href||a.href.indexOf("mydeco.com/")!=-1||a.href.substring(0,1)=="/"){myDeco.surveyMonkey.exiting_site=false}else{myDeco.surveyMonkey.exiting_site=true}})});$$("form").each(function(a){Event.observe(a,"submit",function(b){a=b.element();if(!a.action||a.action.indexOf("mydeco.com/")!=-1||a.action.substring(0,1)=="/"){myDeco.surveyMonkey.exiting_site=false}else{myDeco.surveyMonkey.exiting_site=true}})})}};myDeco.carousel=function(c){c=Object.extend({container:false,get:false,count:false,from:"start",maxwidth:171,maxheight:171,minwidth:50,minheight:50,radius:122,zIndex:200,speed:15,buttons:{prev:'<a href="#" class="carousel-prev">previous</a>',next:'<a href="#" class="carousel-next">next</a>'},after:false,before:false},c);if(!(c.container&&c.get&&c.count)){return}var z=c.count(),k=false,h=0,s=0,q=c.container.hide(),r=q.getDimensions(),b=r.width,n=r.height,g=c.maxwidth-c.minwidth,p=c.maxheight-c.minheight,f=b/2,d=n/2,m=["","","","",""],a,l;function y(D){var B=Math.sin(D),A=0.5+Math.cos(D)/2,C=c.minwidth+g*A,x=c.minheight+p*A,E=0;if(A>0.29&&A<0.71){E=1}else{if(A>=0.71){E=2}}return{position:"absolute",width:C+"px",height:x+"px",left:(f-C/2+B*c.radius)+"px",top:(d-x/2)+"px",opacity:A,zIndex:c.zIndex+E}}function u(B){var A=B.element().up("div.carousel-item"),x=m.indexOf(A);if(x==2){return true}B.stop();if(x<2){Event.fireRealEvent(a,Event.createRealEvent("click"),"click")}else{Event.fireRealEvent(l,Event.createRealEvent("click"),"click")}return false}function t(x,A){h+=10;x(h/100);if(h>=100){A();h=0}else{setTimeout(function(){t(x,A)},c.speed)}}function v(C,B){for(var A=(B<0?0:1);A<(B<0?4:5);A++){if(m[A]){m[A].setStyle(y(-Math.PI+Math.PI/2*A-Math.PI/2*C*B))}}}function w(x){if(x>0){a.show()}else{a.hide()}if(x<z-1){l.show()}else{l.hide()}}if(z==0){return}switch(c.from){case"end":s=z-1;break;case"center":s=Math.round((z-1)/2);break;default:s=0}for(var j=0;j<5;j++){if(s+j-2>=0&&s+j-2<z){m[j]='<div class="carousel-item">'+c.get(s+j-2)+"</div>"}}q.update(c.buttons.next+m.join("")+c.buttons.prev).setOpacity(1).show();var o=q.childElements();$A(o.slice(1,o.length-1)).each(function(B,A){var x=(A+2-(s>1?2:s));m[x]=B.setStyle(y(-Math.PI+Math.PI/2*x)).observe("click",u)});a=o.last().observe("click",function(x){x.stop();if(!k){if(typeof c.before=="function"){c.before(m[2],s)}k=true;t(function(A){v(A,-1)},function(){if(s==0){return}s--;if(s>1){m[0].insert({before:'<div class="carousel-item" style="opacity:0">'+c.get(s-2)+"</div>"});m.unshift((q.childElements())[1].setStyle(y(-Math.PI)).observe("click",u))}else{m.unshift("")}if(m[5]){m[5].remove()}m.splice(5,1);w(s);k=false;if(typeof c.after=="function"){c.after(m[2],s)}})}});l=o.first().observe("click",function(x){x.stop();if(!k){if(typeof c.before=="function"){c.before(m[2],s)}k=true;t(function(A){v(A,1)},function(){if(s==z-1){return}s++;if(m[0]){m[0].remove()}m.shift();if(s<z-2){m[3].insert({after:'<div class="carousel-item" style="opacity:0">'+c.get(s+2)+"</div>"});var A=q.childElements();m.push(A[A.length-2].setStyle(y(Math.PI)).observe("click",u))}else{m.push("")}w(s);k=false;if(typeof c.after=="function"){c.after(m[2],s)}})}});w(s);if(typeof c.after=="function"){c.after(m[2],s)}q.setOpacity(1).show()};myDeco.favbar={limit:{room3d:20,photo:20,montage:20,search:20},bar:null,popup:null,counters:{},items:{room3d:[],photo:[],montage:[],search:[]},init:function(){var c=this,g=$("favbar"),a=$("body");if(!g){return}$$(".bm-target").each(function(h){var j=h.down("span.bm-counter");if(j){c.counters[h.id.replace("bm-target-","")]=j}});this.load();if(myDeco.site_section=="home"){var d=myDeco.shortlist.data.length;for(var f in this.items){d+=this.items[f].length}if(!d){return false}}a.observe("updated:shortlist",this.updateCounters.bind(this)).observe("updated:bookmarks",this.updateCounters.bind(this)).observe("updated:favbar",this.updateCounters.bind(this));if(myDeco.site_section=="design"){a.observe("updated:favbar",this.favourited.bind(this));this.favourited();$$(".favourites").invoke("observe","click",this.add.bindAsEventListener(this))}if(myDeco.site_section=="search"){this.add();a.observe("updated:search",this.add.bindAsEventListener(this))}this.updateCounters();this.bar=g.down(".user");this.popup=Object.extend(g.down(".bm-popup"),{targets:{wishlist:function(h){var j=!myDeco.shortlist.data||!myDeco.shortlist.data.length;h.update("<h1><i></i>Your wishlist</h1>"+(myDeco.username?'<a href="'+myDeco.urls.profileWishlist+'" class="view-all black">View all<i></i></a>':"")+'<div class="carousel"'+(j?' style="display:none"':"")+'></div><div class="bm-product-info"><div class="bm-info-content">'+(j?"<br />You have no products in your wishlist yet.":"")+"</div></div>");if(!j){myDeco.productData.get(myDeco.shortlist.data,function(k){myDeco.favbar.renderProducts(h,k)})}},room3d:function(h){var j=c.items.room3d;h.update('<h1><i></i>Your favourite 3D rooms</h1>							<div class="carousel"'+(!j.length?' style="display:none"':"")+'></div>							<div class="bm-room-info"><div class="bm-info-content">'+(!j.length?"<br />You have no favourite 3D rooms yet.":"")+"</div></div>");if(j.length){myDeco.favbar.renderRooms(h,j)}},photo:function(h){var j=c.items.photo;h.update('<h1><i></i>Your favourite photos</h1>							<div class="carousel"'+(!j.length?' style="display:none"':"")+'></div>							<div class="bm-room-info"><div class="bm-info-content">'+(!j.length?"<br />You have no favourite photos yet.":"")+"</div></div>");if(j.length){myDeco.favbar.renderRooms(h,j)}},montage:function(h){var j=c.items.montage;h.update('<h1><i></i>Your favourite moodboards</h1>							<div class="carousel"'+(!j.length?' style="display:none"':"")+'></div>							<div class="bm-room-info"><div class="bm-info-content">'+(!j.length?"<br />You have no favourite moodboards yet.":"")+"</div></div>");if(j.length){myDeco.favbar.renderRooms(h,j)}},bookmarks:function(h){h.update("<h1><i></i>Your favourite bookmarks</h1>"+(myDeco.username?'<a href="'+myDeco.urls.profileBookmarks+'" class="view-all black">View all<i></i></a>':"")+'<div class="bm-bookmarks-info">							<div class="bm-info-content"></div>							<div class="ajax-loader" style="display:none"></div>						</div>');myDeco.favbar.renderBookmarks(h)},recent:function(h){var j=!myDeco.recentlyViewed.products||!myDeco.recentlyViewed.products.length;h.update('<h1 style="padding-left:0">Recently viewed products</h1>							<div class="carousel"'+(j?' style="display:none"':"")+'></div>							<div class="bm-product-info"><div class="bm-info-content">'+(j?"<br />You have no recently viewed products yet.":"")+"</div></div>");if(!j){myDeco.productData.get(myDeco.recentlyViewed.products,function(k){myDeco.favbar.renderProducts(h,k)});h.select("a.product, a.supplier, a.bynow, a.read-more").invoke("observe","click",function(n){try{var o="RecentlyViewed",m=o;if(s_account.indexOf("wl-")){m=s_channel}var k=s_gi(s_account);k.pageName=o+":"+s_pagename;k.channel=m;k.prop1=o;k.prop2=o;k.prop3=o;k.linkTrackVars="pageName,channel,prop1,prop2,prop3";k.tl(n.findElement("a"),"o",o)}catch(l){}})}},search:function(h){var j=!c.items.search.length;h.update('<h1 style="padding-left:0">Recent searches</h1>							<div class="bm-info-content">'+(j?'<br />You hadn’t searched anything yet. <a href="/search/">Try now &gt;</a>':"")+"</div>");if(!j){myDeco.favbar.renderSearches(h)}},share:function(h){h.setStyle({width:"100px"});h.update('<ul class="share-it">							<li><a class="email" href="#"></a></li>							<li><a class="facebook" href="#"></a></li>						</ul>');h.select("a").invoke("observe","click",c.popup.close.bindAsEventListener(c.popup));myDeco.sharethis.init(h)}},content:g.down(".bm-popup-content"),arrow:g.down(".bm-bubble-beak"),lastTarget:false,close:function(j){var h=this;this.lastTarget=false;this.removeClassName("active");Effect.Fade(this,{duration:0.4,afterFinish:function(){h.writeAttribute("class","bm-popup");if(typeof j=="function"){j()}}});Effect.Fade(this.arrow,{duration:0.4});return this},open:function(h){var j=this,n=h.id.replace("bm-target-","");if(this.lastTarget==n&&this.opened()){this.close()}else{if(this.opened()){this.close(function(){j.open(h)})}else{this.lastTarget=n;this.setOpacity(0).show();this.content.setStyle({width:"400px"});if(typeof j.targets[n]=="function"){(j.targets[n])(this.content)}else{this.content.update("")}var l=this.getDimensions().width,k=h.select(".bm-counter, strong").shift(),m=Math.round((k.positionedOffset()).left+k.getDimensions().width/2-l/2);this.setStyle({left:m+"px"}).addClassName("active bm-popup-target-"+n);new Effect.Opacity(this,{from:0,to:1,duration:0.4});Effect.Appear(this.arrow.setStyle({left:(m+l/2-14)+"px"}),{duration:0.4})}}return this},opened:function(){return this.hasClassName("active")}});this.bar.select(".bm-popup-link").invoke("observe","click",function(h){h.stop();c.popup.open(h.findElement("li"))});var b=function(j){var h=j.findElement("li");if(!h.tooltip){h.tooltip=h.select("#bm-info-popup")[0]}if(j.type=="mouseover"){h.tooltip.setStyle({display:"block"})}else{h.tooltip.setStyle({display:"none"})}};this.bar.select(".bm-header").invoke("observe","mouseover",b).invoke("observe","mouseout",b);this.bar.select(".bm-header a").invoke("observe","click",function(h){h.stop();if(c.bar.hasClassName("active")){c.popup.close();c.bar.removeClassName("active").select(".bm-target")._each(function(j){Effect.Fade(j,{duration:0.4})});myDeco.storage.set("favbar.visible",false)}else{c.bar.addClassName("active").select(".bm-target")._each(function(j){Effect.Appear(j,{duration:0.4})});myDeco.storage.set("favbar.visible",true)}});this.popup.select(".bm-popup-close").invoke("observe","click",function(h){h.stop();c.popup.close()});myDeco.storage.get("favbar.visible",function(j,h){if(!j||h!=="false"){c.bar.addClassName("active").select(".bm-target").invoke("show")}Effect.Appear(c.bar,{duration:0.4})})},_convertRoomType:function(a){return a.replace(/.*photo/,"photo").replace("3d","room3d")},favourited:function(){var a=this;$$(".favourites").each(function(f){var d=a._convertRoomType(f.rel);switch(d){case"room3d":case"photo":case"montage":var b=a.items[d];for(var c=0,g=false;c<b.length&&!g;c++){g=b[c].u==myDeco.roomDetail.room_id}}if(g){f.addClassName("favourited disabled")}else{f.removeClassName("favourited").removeClassName("disabled")}})},add:function(d){var c={},a;if(d&&d.type=="click"){d.stop();var b=d.findElement("a");a=this._convertRoomType(b.rel);if(b.hasClassName("disabled")){return false}}if(myDeco.site_section=="search"){a="search"}this.load();switch(a){case"room3d":case"photo":case"montage":this._addRoom(a);break;case"search":this._addSearch()}},_addRoom:function(b){var c={n:myDeco.roomDetail.room_name,u:myDeco.roomDetail.room_id,t:myDeco.roomDetail.room_thumb};for(var a=0;a<this.items[b].length;a++){if(this.items[b][a].u==c.u){return false}}this.items[b].unshift(c);if(this.items[b].length>this.limit[b]){this.items[b]=this.items[b].splice(0,this.limit[b])}this.save();myDeco.animate.transition($("room-image-container"),$("bm-target-"+b))},_addSearch:function(){var d=$("query").getValue();if(!d){return false}var b={n:d,p:$$("#prefdb option").filter(function(f){return f.selected})[0].innerHTML.toLowerCase().replace("all","products"),u:$("#search-permalink").attr("href")||(location.href)};for(var a=0,c=false;a<this.items.search.length&&!c;a++){c=this.items.search[a].n==b.n&&this.items.search[a].p==b.p;if(c){this.items.search[a]=b}}if(!c){this.items.search.unshift(b)}if(this.items.search.length>this.limit.search){this.items.search=this.items.search.splice(0,this.limit.search)}this.save()},reset:function(){myDeco.storage.remove("favbar.items");this.load()},load:function(){var a=this;myDeco.storage.get("favbar.items",function(b,c){a.items=Object.extend(a.items,(c||"null").evalJSON()||{})})},save:function(){myDeco.storage.set("favbar.items",Object.toJSON(this.items));$("body").fire("updated:favbar")},updateCounters:function(){var a=this,c;for(var b in this.counters){switch(b){case"wishlist":c=myDeco.shortlist.data.length;break;case"bookmarks":c=myDeco.bookmarks.count;break;case"recent":c=myDeco.recentlyViewed.products.length;break;default:c=this.items[b].length}if(c!=+this.counters[b].innerHTML){new Effect.Opacity(this.counters[b],{from:1,to:0,duration:0.25,afterFinish:(function(d,f){return function(){a.counters[d].update(f);new Effect.Opacity(a.counters[d],{from:0,to:1,duration:0.5})}})(b,c)})}}},renderProducts:function(a,c){var b=a.down(".bm-info-content");this.popup.addClassName("bm-popup-type-products");myDeco.carousel({container:a.down(".carousel"),get:function(d){var f=c[d];if(!f.thumb){f.thumb=new Image();f.thumb_big=new Image();f.thumb.src=myDeco.settings.PRODUCT_MEDIA_URL+"thumbs/110/"+f.thumbnail;f.thumb_big.src=myDeco.settings.PRODUCT_MEDIA_URL+"thumbs/150/"+f.thumbnail}return'<div class="product product-thumb-big" style="background-image:url('+f.thumb_big.src+')"></div>								<div class="product product-thumb" style="background-image:url('+f.thumb.src+')"></div>								<a href="'+myDeco.settings.SITE_URL+"p/"+f.url+"/"+f.guid+'/" class="product"></a>'},count:function(){return c.length},before:function(d){d.down(".product-thumb").show();d.down(".product-thumb-big").hide();d.down(".supplier").remove();b.hide()},after:function(k,d){var l=c[d],h=l.name,g="/aff/?product="+l.guid,j="myDeco.buynow.buynowClick(this, '"+l.guid+"', '"+l.price+"')",f='<a href="'+(l.supplier_logo?g:"#")+'" onclick="'+j+'" class="supplier'+(!l.supplier_logo?" text":"")+'"'+(l.supplier_logo?" style=\"background-image:url('"+myDeco.settings.SUPPLIER_MEDIA_URL+"supplier_logos/"+l.supplier_logo+"')\"":"")+"><span>"+l.supplier+"</span></a>";k.down(".product-thumb-big").show();k.down(".product-thumb").hide();k.insert({bottom:f});if(h.length>80){h=h.substring(0,80)+"&hellip;"}b.update(h+"<strong>"+(l.price?myDeco.prefix_currency(l.price):"")+'</strong>					<a class="button button-black-arrow buynow buy-now-button" href="/aff/?product='+l.guid+'" target="_blank" onclick=""><span class="inner">Go to shop</span></a><a href="'+myDeco.settings.SITE_URL+"p/"+l.url+"/"+l.guid+'/" class="read-more">Read more &gt;</a>');b.show()}})},renderRooms:function(a,b){var c=a.down(".bm-info-content");this.popup.addClassName("bm-popup-type-rooms");myDeco.carousel({maxwidth:169,maxheight:126,minwidth:56,minheight:42,radius:122,container:a.down(".carousel"),get:function(d){var f=b[d];if(!f.thumb){f.thumb=new Image();f.thumb.src=f.t}return'<a class="product" href="/rooms/detail/'+f.n.toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-")+"-"+f.u+'/"><img class="product" title="'+f.n+'" alt="'+f.n+'" src="'+f.thumb.src+'" /></a>'},count:function(){return b.length},before:function(d){c.hide()},after:function(h,d){var g=b[d],f=g.n;if(f.length>160){f=f.substring(0,160)+"&hellip;"}c.update('<a href="/rooms/detail/'+g.n.toLowerCase().replace(/\s+/g,"-").replace(/-+/g,"-")+"-"+g.u+'/" class="black">'+f+"</a>");c.show()}})},renderBookmarks:function(b){var d=b.down(".bm-info-content");function c(f){if(!f||!f.length){d.update("You have no favourite bookmarks yet.");return false}var g=new Element("ul");f.each(function(j,h){var k=new Element("a",{"class":"black",href:j[1],title:j[0],target:"_blank"}).update(j[0]);g.insert(new Element("li",{"class":h%2?"odd":"even"}).insert(k.cloneNode(true)).insert(k.removeClassName("black").update(j[1])))});d.insert(g)}if(myDeco.username){var a=b.down(".ajax-loader");a.show();new Ajax.Request(myDeco.urls.bookmarksAjax,{method:"get",onSuccess:function(g){var f=g.responseText.evalJSON();a.hide();myDeco.bookmarks.saveCount(f.count);c(f.bookmarks)}})}else{c(myDeco.bookmarks.items)}},renderSearches:function(a){var b=this.items.search,d=a.down(".bm-info-content");for(var c=0;c<b.length;c++){d.insert('<a class="black" href="'+b[c].u+'">'+b[c].n+"</a><span>"+b[c].p+"</span><br />")}}};myDeco.storage.onready(myDeco.favbar.init.bind(myDeco.favbar));myDeco.sharethis={init:function(c){var a=this,b=document.location.href;c=c&&Object.isElement(c)?c:$$(".share-it");if(!Object.isArray(c)){c=[c]}c._each(function(d){d.select(".facebook-stats").invoke("observe","click",a.stats.bindAsEventListener(a));d.select(".facebook").invoke("observe","click",function(f){f.stop();a.stats(f);window.open("http://www.facebook.com/sharer.php?u="+b,"facebook_share","toolbar=0,status=0,width=626,height=436")});d.select(".email").invoke("observe","click",function(h){h.stop();var f=h.findElement("*[rel], *[href]"),g=$$('head meta[name="description"]').shift(),j=Object.extend({subject:"Check out "+document.title.replace(/[\r\n\s]+/," "),body:(g?g.readAttribute("content")+"\r\n\r\n":"")+b},(f.readAttribute("rel")||f.readAttribute("href")).toQueryParams());document.location="mailto:?"+Object.toQueryString(j)})})},stats:function(d,a){var b=d?d.findElement(".share-it"):false,f={url:a||document.location.href},c=b?b.readAttribute("rel"):false;if(c){c=c.split(":");f.ctype=c[0];f.object_id=c[1]}new Ajax.Request(myDeco.urls.saveSharedItem,{method:"post",parameters:f})}};addLoadEvent(myDeco.sharethis.init.bind(myDeco.sharethis));