var Cookies=Class.create({initialize:function(b,a){this.path=b||"/";this.domain=a||null},get:function(b){var a=b+"=";var c=false;document.cookie.split(";").invoke("strip").each(function(d){if(d.startsWith(a)){c=unescape(d.substring(a.length,d.length));throw $break}});return c},set:function(g,f,h){if(typeof g!="string"){throw"Invalid key"}if(typeof f!="string"&&typeof f!="number"){throw"Invalid value"}if(h&&typeof h!="number"){throw"Invalid expiration time"}var c=g+"="+escape(new String(f));if(h){var b=new Date();b.setTime(b.getTime()+(h*86400000));var e="; expires="+b.toGMTString()}else{var e=""}var d="; path="+escape(this.path);var a=(this.domain)?"; domain="+escape(this.domain):"";var i=c+e+d+a;document.cookie=i}});var Recommendation=Class.create({initialize:function(b,a,d,e,c){this.userid=b;this.cookiename=a;this.user2sessionUrl=d;this.controlGroupUrl=e;this.context=c;if((element=$("products"))){element.setStyle("display: none")}},detailview:function(a){this.ensureControlGroup(this.doDetailviewRequest,a)},basketview:function(a){this.ensureControlGroup(this.doBasketViewRequest,a)},ensureControlGroup:function(c,a){this.controlGroupId=new Cookies().get(this.cookiename);var b=this.user2sessionUrl;if(typeof this.controlGroupId!="string"){new Ajax.Request(b,{method:"get",onComplete:function(){this.doControlgroupRequest(c,a)}.bind(this)})}else{c.apply(this,[a])}},doDetailviewRequest:function(a){if(this.controlGroupId!="0"){$("products").setStyle("display: block");return}var b=this.context;new Ajax.Request(a,{method:"get",onSuccess:function(e){var d=$("recommendationlist");var c="";e.responseJSON.each(function(g,h){if(h>3){throw $break}var f=(g.URL.match(/^http/)!=null)?g.URL:b+g.URL;c+='<li><a href="'+f+'"><img src="'+g.imageURL+'"/></a></li>'}.bind(this));d.update(c);$("recommendations").setStyle({display:"block",visibility:"visible"});$("products").setStyle({display:"none",visibility:"hidden"});$("compactDirectory").setStyle({display:"none",visibility:"hidden"})},onFailure:function(){$("products").setStyle({display:"block",visibility:"visible"});$("compactDirectory").setStyle({display:"block",visibility:"visible"});$("recommendations").setStyle({display:"none",visibility:"hidden"})}})},doBasketViewRequest:function(a){new Ajax.Request(a,{method:"get",onSuccess:function(d){var c=$("overlay-recommendationlist");var b="";if(d.responseJSON.size()>0){d.responseJSON.each(function(e,f){if(f>2){throw $break}b+='<div class="recBasketResult">';b+='	<a href="'+e.URL+'"><img src="'+e.imageURL+'"/></a>';b+='	<span class="productname">'+e.name+"&nbsp;</span>";b+='	<span class="textdeco">'+e.param1+"&#8364;&nbsp;</span>";b+='	<span class="new">'+e.param2+"&#8364;*&nbsp;</span>";b+="</div>"});c.update(b);$("overlay-recommendations").setStyle("display:block")}}})},doControlgroupRequest:function(b,a){new Ajax.Request(this.controlGroupUrl,{method:"get",onComplete:function(e){this.controlGroupId=e.responseText;if(this.controlGroupId!="0"&&this.controlGroupId!="1"){this.controlGroupId="1"
}var d=new Cookies();d.set(this.cookiename,this.controlGroupId,0);b.apply(this,[a])}.bind(this)})},basket:function(a){this.ensureControlGroup(this.doBasketRequest,a)},doBasketRequest:function(a){new Ajax.Request(a,{method:"get"})},order:function(a){this.ensureControlGroup(this.doOrderRequest,a)},doOrderRequest:function(a){new Ajax.Request(a,{method:"get"})},soldOut:function(a){this.ensureControlGroup(this.doSoldOutRequest,a)},doSoldOutRequest:function(a){new Ajax.Request(a,{method:"get"})}});var B4fUtils={attachFormSubmitToElement:function(b,a){Event.observe(b,"click",function(){$(a).submit();return true})}};Effect.Scroll=Class.create();Object.extend(Object.extend(Effect.Scroll.prototype,Effect.Base.prototype),{initialize:function(b){this.element=$(b);var a=Object.extend({x:0,y:0,mode:"absolute"},arguments[1]||{});this.start(a)},setup:function(){if(this.options.continuous&&!this.element._ext){this.element.cleanWhitespace();this.element._ext=true;this.element.appendChild(this.element.firstChild)}this.originalLeft=this.element.scrollLeft;this.originalTop=this.element.scrollTop;if(this.options.mode=="absolute"){this.options.x-=this.originalLeft;this.options.y-=this.originalTop}},update:function(a){this.element.scrollLeft=this.options.x*a+this.originalLeft;this.element.scrollTop=this.options.y*a+this.originalTop}});var ScrollInsideContainer=Class.create({scrollTo:function(a,b){var c=$(a);if(c==null){return}if(b==""){b="defaultFilter"}Position.prepare();container_y=Position.cumulativeOffset(c)[1];element_y=Position.cumulativeOffset($(b))[1];new Effect.Scroll(a,{x:0,y:(element_y-container_y)});return false}});
