if(!$defined(window.console)){window.console={log:$empty}}var MXMxmas;(function(){var l;var k={};var m={};var a={baseURL:"http://www.sbb-xmas.ch/",flashBaseURL:"http://data.mxm.ch/SBB-XMAS-09/",gfxSource:"_gfx/sticky/",serviceURL:"_service/",lang:1,fallBack:false};var d;var i={load:function(o){o.request({url:a.baseURL+a.serviceURL+"dict.asp?noCache="+$time(),method:"get",data:"&lang="+a.lang,onComplete:"MXMxmas.Dict.processLoad"})},processLoad:function(o){this.items=new Hash(JSON.decode(o));this.fireEvent.delay(50,this,"complete")},get:function(o){return(this.items.has(o))?this.items.get(o):"["+o+"]"}};$extend(i,new Events());var j={EVENTS:{CLOSE:function(){j.fireEvent("CLOSE")}},initialize:function(){this.isOpen=false;this.build()},build:function(){this.container=new Element("div",{styles:{position:"fixed",left:0,bottom:0,"z-index":10000,width:"100%",height:7}}).set("tween",{link:"cancel",transition:"sine:out"}).inject($(document.body));this.element=new Element("div",{styles:{position:"absolute",left:0,top:0,overflow:"hidden",width:"100%",height:"100%"}}).inject(this.container);if(Browser.Engine.trident){this.wrapper=new Element("div").wraps(this.container);this.container.setStyle("position","absolute");this.adjustIE();window.addEvent("scroll",this.adjustIE.bind(this));window.addEvent("resize",this.adjustIE.bind(this))}this.flashContainer=new Element("div",{styles:{position:"absolute",left:0,top:0,"z-index":10,width:"100%",height:350}}).inject(this.element);this.swiff=new Swiff(a.flashBaseURL+"mxmxmas-sticky.swf",{width:"100%",height:"100%",container:this.flashContainer,wMode:"transparent",vars:{lang:a.lang,serviceURL:a.baseURL+a.serviceURL},callBacks:{onLoad:function(){(function(){j.swiff.remote("Main.setDict",i.items.getClean());j.fireEvent("FLASHREADY");this.checkUser()}).delay(50,this)}.bind(this)}});this.openButton=new Element("a",{html:i.get("STICKYAD-BUTTON_1"),styles:{display:"none",position:"absolute",right:0,top:-37,width:157,height:37,"margin-right":20,"line-height":37,"text-align":"center","font-weight":"bold",color:"#fff",background:"url("+a.baseURL+a.gfxSource+"btn_sticky-open.gif) no-repeat left top",cursor:"pointer"},events:{click:this.open.bind(this)}}).inject(this.container);this.closeButton=new Element("a",{styles:{position:"absolute",right:20,top:0,"z-index":20,width:120,height:30,cursor:"pointer"},events:{click:this.EVENTS.CLOSE.bind(this)}}).inject(this.container);new Element("img",{src:a.baseURL+a.gfxSource+"transparent.gif",styles:{width:"100%",height:"100%"}}).inject(this.closeButton)},adjustIE:function(){this.wrapper.setStyles({position:"absolute",left:0,top:window.getSize().y+window.getScroll().y,"z-index":10000,width:"100%"})},attach:function(){if(Browser.Engine.trident){this.wrapper.inject($(document.body))}else{this.element.inject($(document.body))}},detach:function(){if(Browser.Engine.trident){this.wrapper.dispose()}else{this.element.dispose()}},open:function(){this.isOpen=true;Cookie.write("stickyIsOpen","1",{path:"/",duration:365});this.openButton.setStyle("display","none");this.container.tween("height",350)},close:function(){this.isOpen=false;Cookie.write("stickyIsOpen","0",{path:"/",duration:365});this.container.get("tween").start("height",0).chain(function(){this.openButton.setStyle("display","block")}.bind(this))},toggle:function(){(this.isOpen)?this.close():this.open()},getElement:function(){return this.element},checkUser:function(){d.request({url:a.baseURL+a.serviceURL+"user.asp?noCache="+$time(),method:"post",data:"current_url="+window.location.href,onComplete:"MXMxmas.processCheckUser"})},processCheckUser:function(o){var p=JSON.decode(o);l=p;this.swiff.remote("Main.setData",l);j.fireEvent("USERDATA");if(l.user){k=l.user;m=new Hash(l.collections);j.fireEvent("LOGIN")}}};$extend(j,new Events());var f={initialize:function(){this.isOpen=false;this.build()},build:function(){this.element=new Element("div",{styles:{position:"absolute",left:0,bottom:-53,"z-index":20,width:"100%",height:34,"background-color":"#fff","border-top":"1px solid #a0a0a0"}}).set("tween",{link:"cancel",duration:300,transition:"sine:out"});this.toggleButton=new Element("a",{styles:{position:"absolute",left:"50%",top:-19,padding:"3px 15px 0 60px","margin-left":-51,color:"#515151",background:"#fff url("+a.baseURL+a.gfxSource+"bg_login-button-closed.gif) no-repeat 15px center",border:"1px solid #a0a0a0","border-width":"1px 1px 0",cursor:"pointer"},events:{click:this.toggle.bind(this)}}).inject(this.element);this.toggleButtonLabel=new Element("label",{styles:{display:"block","padding-right":45,background:"#fff url("+a.baseURL+a.gfxSource+"bg_login-button-closed.gif) no-repeat right center",cursor:"pointer"}}).inject(this.toggleButton);this.toggleButton.roundCorners(10,0);this.setToggleButtonLabel(i.get("STICKYAD-BUTTON_10"))},open:function(){this.isOpen=true;this.toggleButton.setStyle("background-image","url("+a.baseURL+a.gfxSource+"bg_login-button-open.gif)");this.toggleButtonLabel.setStyle("background-image","url("+a.baseURL+a.gfxSource+"bg_login-button-open.gif)");this.element.tween("bottom",0)},close:function(){this.isOpen=false;this.toggleButton.setStyle("background-image","url("+a.baseURL+a.gfxSource+"bg_login-button-closed.gif)");this.toggleButtonLabel.setStyle("background-image","url("+a.baseURL+a.gfxSource+"bg_login-button-closed.gif)");this.element.tween("bottom",-29)},toggle:function(){(this.isOpen)?this.close():this.open()},setToggleButtonLabel:function(o){this.toggleButtonLabel.set("text",o)},getElement:function(){return this.element}};var h={initialize:function(){this.bound={hideError:this.hideError.bind(this)};this.build()},build:function(){this.element=new Element("form",{styles:{position:"absolute",left:10,top:5},events:{submit:function(o){o.stop()}.bindWithEvent(this)}});this.label=new Element("label",{text:i.get("STICKYAD-BUTTON_4"),styles:{"margin-right":10,color:"#515151"}}).inject(this.element);this.input=new Element("input",{type:"text",styles:{width:200,"margin-right":10,"background-color":"#fff"},events:{keydown:function(o){if(o.key=="enter"){this.send()}}.bind(this)}}).inject(this.element);this.submitButton=new Element("input",{type:"submit",value:i.get("START-LABEL_1"),"class":"button",styles:{padding:"0 5px"},events:{click:this.send.bind(this)}}).inject(this.element);this.loader=new Element("img",{src:a.baseURL+a.gfxSource+"icon-loader.gif",styles:{visibility:"hidden","margin-left":10,"margin-top":2,"vertical-align":"top"}}).inject(this.element);new Element("span",{text:"|",styles:{margin:"0 30px 0 10px",color:"#515151"}}).inject(this.element);this.notRegisteredYet=new Element("a",{text:i.get("STICKYAD-BUTTON_5"),href:l.landingpage+"?lang="+a.lang,styles:{color:"#f00"}}).inject(this.element);this.errorContainer=new Element("div",{styles:{position:"absolute",left:0,top:0,padding:"4px 6px","background-color":"#fcc",border:"1px solid #ec1c24",opacity:0}}).set("tween",{transition:"sine:out"}).inject(this.element);this.errorContainer.roundCorners(5)},send:function(){this.lockForm();this.timer=function(){this.showLoader()}.delay(300,this);d.request({url:a.baseURL+a.serviceURL+"login.asp?noCache="+$time(),method:"post",data:"login_email="+this.input.get("value"),onComplete:"MXMxmas.Login.processLogin"})},processLogin:function(o){this.unlockForm();if(this.timer){this.timer=$clear(this.timer)}this.hideLoader();var p=JSON.decode(o);if(p.error.id>0){if(p.error.redirect){window.location.href=p.error.redirect}if(p.error.id==3){this.showError(p.error.msg)}}else{j.swiff.remote("Main.setData",p);if(p.user){k=p.user;Cookie.write("stickyUserEmail",k.email,{path:"/"});m=new Hash(p.collections);j.fireEvent("LOGIN")}}},lockForm:function(){this.input.set("disabled",true);this.submitButton.set("disabled",true)},unlockForm:function(){this.input.set("disabled",false);this.submitButton.set("disabled",false)},showLoader:function(){this.loader.setStyle("visibility","visible")},hideLoader:function(){this.loader.setStyle("visibility","hidden")},showError:function(o){var p=this.input.getPosition(this.element);this.errorContainer.setStyles({left:p.x,top:p.y-37});this.errorContainer.set("text",o);this.errorContainer.tween("opacity",0.7);this.input.addEvent("focus",this.bound.hideError)},hideError:function(){this.input.removeEvent("focus",this.bound.hideError);this.errorContainer.get("tween").start("opacity",0).chain(function(){this.errorContainer.set("text","")}.bind(this))},detach:function(){this.element.dispose()},clear:function(){this.input.set("value","")},getElement:function(){return this.element}};var n={initialize:function(){this.collections=new Hash();this.build()},build:function(){this.element=new Element("div",{styles:{position:"relative",left:0,top:0,margin:"5px 0 0 10px","vertical-align":"top"}});this.userLabel=new Element("span",{styles:{display:"inline-block","padding-top":5,"margin-right":10,"vertical-align":"top"}}).inject(this.element);this.collectionContainer=new Element("span",{styles:{position:"relative",left:0,top:0,"margin-right":20}}).inject(this.element);this.miscContainer=new Element("span",{styles:{display:"inline-block",padding:"5px 0","vertical-align":"top"}}).inject(this.element);this.overviewButton=new Element("a",{href:a.baseURL+"?lang="+a.lang,text:i.get("LOGGEDIN-BUTTON_1"),"class":"button",styles:{padding:"0 10px","vertical-align":"top"}}).inject(this.miscContainer);new Element("span",{"class":"red"}).wraps(this.overviewButton);this.logoutButton=new Element("a",{text:i.get("LOGGEDIN-BUTTON_2"),"class":"button",styles:{position:"absolute",right:10,top:5,padding:"0 5px"},events:{click:this.logout.bind(this)}}).inject(this.element);new Element("span",{"class":"red"}).wraps(this.logoutButton)},setUserLabel:function(){this.userLabel.set("html","<strong>"+i.get("STICKYAD-BUTTON_6")+"</strong> ({email}):".substitute(k))},loadCollections:function(){m.forEach(function(p,o){var p=new e(o);p.getElement().inject(this.collectionContainer);this.collections.include(o,p)},this)},updateCollections:function(o){new Hash(o).forEach(function(q,p){if(this.collections.has(p)){this.collections.get(p).setCount(q)}},this)},logout:function(){d.request({url:a.baseURL+a.serviceURL+"logout.asp?noCache="+$time(),onComplete:"MXMxmas.Profile.processLogout"})},processLogout:function(o){var p=JSON.decode(o);if(p.error.id==0){j.fireEvent("LOGOUT")}},detach:function(){this.element.dispose()},clear:function(){k.email="";this.setUserLabel();k={};this.collectionContainer.empty();m={}},getElement:function(){return this.element}};var e=new Class({options:{total:10},colors:{leshop:"#39741e",blue:"#455ab3",red:"#bc0000",gold:"#e3bc54"},initialize:function(o){this.type=o;this.count=m[o];this.build()},build:function(){this.element=new Element("span",{styles:{display:"inline-block",height:29,"padding-top":5,"padding-left":48,"margin-right":10,"font-weight":"bold",color:this.colors[this.type],background:"url("+a.baseURL+a.gfxSource+"profile-parcel-"+this.type+".gif) no-repeat left top"}});if(this.count==-1){this.element.setStyle("display","none")}if(Browser.Engine.presto){this.element.setStyle("height",24)}this.setCount(this.count)},setCount:function(o){if(o>=0&&o<=this.options.total){this.count=o;this.element.set("text",this.count+" / "+this.options.total);this.checkCount()}else{if(o==-1){this.element.set("text","- / -")}}},checkCount:function(){if(this.count==this.options.total){this.alertComplete()}},alertComplete:function(){if(!this.hrefComplete){new Element("a",{text:i.get("STICKYAD-BUTTON_7"),href:a.baseURL+"?mode=lottery&parcel="+this.type,styles:{"margin-left":10,color:this.colors[this.type]}}).inject(this.element)}},getElement:function(){return this.element}});var c={dict:{"1":{message:"Bei «Santa verfolgen», dem SBB Weihnachtsgewinnspiel 2009, können hier Geschenkpakete gesammelt werden, welche Santa vom Schlitten fallen lässt. Leider sind die Geschenkpakete zurzeit alle ausgegangen. Aber keine Sorge: Sobald Santa zu Hause am Nordpol Nachschub geholt hat, geht das Geschenkpaketesammeln weiter.",closeButton:"&raquo; schliessen"},"2":{message:"Le concours de Noël CFF 2009 «A la poursuite de Santa» consiste à collectionner des cadeaux tombant du traîneau de Santa. Malheureusement, tous les cadeaux ont déjà disparu. Mais ne vous inquiétez pas: dès que Santa sera de retour du Pôle Nord, le jeu rep.",closeButton:"&raquo; fermer"},"3":{message:"Nel gioco a premi natalizio 2009 delle FFS «Insegui Santa», si possono raccogliere qui i pacchi regalo che Santa ha lasciato cadere dalla sua slittas. Purtroppo ora sono esauriti i pacchetti. Ma niente paura: non appena Santa torna dal suo rifornimento al Polo Nord, la raccolta potrà continuare.",closeButton:"&raquo; chiudere"},"4":{message:"You can collect the gift packages that Santa has dropped from his sleigh here in «Follow Santa», the 2009 SBB Christmas competition. Unfortunately there are no gift packages left at the moment. But don't worry, as soon as Santa has fetched some more from his home at the North Pole, there'll be more gift packages for you to collect.",closeButton:"&raquo; close"}},initialize:function(){if(Cookie.read("dontShowFallback")=="1"){return false}this.build();this.setMessage(this.dict[a.lang].message);this.setCloseButtonLabel(this.dict[a.lang].closeButton)},build:function(){this.container=new Element("div",{styles:{position:"fixed",left:0,bottom:0,width:"100%",height:0}}).inject($(document.body));if(Browser.Engine.trident){this.wrapper=new Element("div").wraps(this.container);this.container.setStyle("position","absolute");this.adjustIE();window.addEvent("scroll",this.adjustIE.bind(this));window.addEvent("resize",this.adjustIE.bind(this))}this.element=new Element("div",{styles:{position:"absolute",left:"50%",bottom:30,width:500,height:125,"padding-top":80,"margin-left":-250,background:"url("+a.baseURL+a.gfxSource+"fallback-santa.gif) no-repeat right top"}}).inject(this.container);this.messageContainer=new Element("div",{styles:{width:"80%",padding:"15px 10px","text-align":"center","font-weight":"bold","background-color":"#fff",border:"1px solid #c0c0c0"}}).inject(this.element);this.messageContainer.roundCorners(5);this.message=new Element("div").inject(this.messageContainer);this.closeButton=new Element("a",{styles:{"font-weight":"normal",color:"#f00"},events:{click:this.close.bind(this)}});new Element("div",{styles:{"margin-top":10,"text-align":"right",cursor:"pointer"}}).adopt(this.closeButton).inject(this.messageContainer)},adjustIE:function(){this.wrapper.setStyles({position:"absolute",left:0,top:window.getSize().y+window.getScroll().y,"z-index":10000,width:"100%"})},setMessage:function(o){this.message.set("html",o)},setCloseButtonLabel:function(o){this.closeButton.set("html",o)},close:function(){Cookie.write("dontShowFallback","1",{path:"/"});if(Browser.Engine.trident){this.wrapper.destroy()}else{this.container.destroy()}}};window.addEvent("domready",function(){if(!a.fallBack){i.addEvent("complete",function(){j.initialize();j.addEvent("CLOSE",function(){f.close.delay(50,f);j.close.delay(50,j)});j.addEvent("LOGIN",function(){h.detach();h.clear();f.setToggleButtonLabel(i.get("STICKYAD-BUTTON_6"));n.setUserLabel();n.loadCollections();n.getElement().inject(f.getElement());if(!f.isOpen){f.open()}j.swiff.remote("Main.Login")});j.addEvent("LOGOUT",function(){n.detach();n.clear();f.setToggleButtonLabel(i.get("STICKYAD-BUTTON_10"));if(Cookie.read("stickyUserEmail")){h.input.set("value",Cookie.read("stickyUserEmail"))}h.getElement().inject(f.getElement());j.swiff.remote("Main.Logout")});j.addEvent("USERDATA",function(){f.initialize();f.getElement().inject(j.getElement());h.initialize();if(Cookie.read("stickyUserEmail")){h.input.set("value",Cookie.read("stickyUserEmail"))}h.getElement().inject(f.getElement());n.initialize();f.getElement().setStyle("bottom",-29);if(window.location.href.search(/^http:\/\/mct.sbb.ch\/mct\/\w{0,2}\/?reisen.*/)>-1&&window.getSize().y<=768){j.container.setStyle("height",0);j.openButton.setStyle("display","block")}else{if(Cookie.read("stickyIsOpen")!="0"){j.open()}else{j.container.setStyle("height",0);j.openButton.setStyle("display","block")}}})});d=new b({flashSource:a.flashBaseURL+"mxmxmas-xhrbridge.swf"});d.addEvent("ready",function(){i.load(d)})}else{c.initialize()}});MXMxmas=j;var g=function(){var r=a;var o=j;var p=h;var q=n;var s=i;return{EVENTS:{CLOSE:o.EVENTS.CLOSE},processCheckUser:o.processCheckUser.bind(o),Login:{processLogin:p.processLogin.bind(p)},Profile:{processLogout:q.processLogout.bind(q),updateCollections:q.updateCollections.bind(q)},Dict:{processLoad:s.processLoad.bind(s)},setLang:function(t){r.lang=t},enableFallBack:function(){r.fallBack=true}}}();MXMxmas=g;var b=new Class({Implements:[Options,Events],initialize:function(o){this.setOptions(o);this.build()},build:function(){this.container=new Element("div",{styles:{position:"absolute",left:0,top:0,width:0,height:0}}).inject($(document.body));this.swiff=new Swiff(this.options.flashSource,{width:"1",height:"1",container:this.container,wMode:"transparent",callBacks:{onLoad:function(){this.fireEvent.delay(50,this,"onReady")}.bind(this)}})},request:function(o){this.swiff.remote("request",o)}});Element.implement({roundCorners:function(){var r="{prefix}border-{y}{x}radius";var q="";var t="top";var p="-right-";var o="bottom";var s="-left-";switch(Browser.Engine.name){case"webkit":q="-webkit-";break;case"gecko":r="{prefix}border-radius{y}{x}";q="-moz-";t="-top";p="right";o="-bottom";s="left";break}switch(arguments.length){case 1:this.setStyle(r.substitute({prefix:q}),arguments[0]);break;case 2:this.setStyle(r.substitute({prefix:q,y:t,x:s}),arguments[0]);this.setStyle(r.substitute({prefix:q,y:t,x:p}),arguments[0]);this.setStyle(r.substitute({prefix:q,y:o,x:p}),arguments[1]);this.setStyle(r.substitute({prefix:q,y:o,x:s}),arguments[1]);break;case 4:this.setStyle(r.substitute({prefix:q,y:t,x:s}),arguments[0]);this.setStyle(r.substitute({prefix:q,y:t,x:p}),arguments[1]);this.setStyle(r.substitute({prefix:q,y:o,x:p}),arguments[2]);this.setStyle(r.substitute({prefix:q,y:o,x:s}),arguments[3]);break}}})})();