mojo.provide("stdlib.controller.FilmStripController");mojo.declare("stdlib.controller.FilmStripController",mojo.controller.Controller,{params:{selectedIndex:{},loop:{required:false,defaultValue:false,type:Boolean},triggerSelector:{required:false,defaultValue:"",type:String},extraPageIndex:{},extraPage:{defaultValue:false}},addObservers:function(){var d=function(j){return mojo.query("> .filmstrip-viewer > .filmstrip-content > .filmstrip-page",j)};var c=false;var a=false;this.addObserver(mojo.Messaging.getTopic("/filmstrip/force"),"onPublish","UpdateControllerParam",function(m,l,k){if(m==l.getMessage()["context"]){var j=l.getMessage()["position"];if(!l.getMessage()["extraPage"]){k.setValue("extraPageIndex",null);var o;if(o=k.getValue("extraPage")){o.parentNode.removeChild(o);k.setValue("extraPage",null)}}if((j==0)&&l.getMessage()["extraPage"]&&!k.getValue("extraPageIndex")){var n=d(m);var q=n[0];var p=document.createElement("div");p.className="filmstrip-page";p.innerHTML=q.innerHTML;q.parentNode.appendChild(p);k.setValue("extraPage",p);k.setValue("extraPageIndex",n.length)}c=true;return{control:this.getController().declaredClass,params:"selectedIndex",value:j,element:m}}});this.addObserver("> .filmstrip-prev, > .filmstrip-next","onclick","PreventDefault");this.addObserver("> .filmstrip-prev, > .filmstrip-next","onclick","Messaging",function(l,k,j){return{topic:"/filmstrip/switchedByUser",message:{context:l,position:j.getValue("selectedIndex")}}});var h,f,e,b=this.getContextElement();var g=function(j){if(h){return}h=j?mojo.query(j,b):[];f=h.map(function(k){return[].filter.apply(k.childNodes,[function(l){return l.tagName}])});e=[].concat.apply([],f)};var i=(this.getValue("triggerSelector")=="")?null:this.getValue("triggerSelector")+" >*";this.addObserver(i,"onclick","PreventDefault");this.addObserver(i,"onclick","UpdateClass",function(o,m,k){g(k.getValue("triggerSelector"));var n=m.parentNode;var l=h.indexOf(n);if(l==-1){return}var j=f[l];var p=j.indexOf(m);if(p==-1){return}k.setValue("selectedIndex",p)});this.addObserver(i,"onclick","Messaging",function(l,k,j){return{topic:"/filmstrip/switchedByUser",message:{context:l,position:j.getValue("selectedIndex")}}});this.addObserver("> .filmstrip-next","onclick","UpdateClass",function(m,k){var l=d(m);var j=this.getController().getValue("selectedIndex");j++;if(j>=d(m).length){if(this.getController().getValue("loop")){this.getController().setValue("selectedIndex",0)}}else{this.getController().setValue("selectedIndex",j)}});this.addObserver("> .filmstrip-prev","onclick","UpdateClass",function(m,k){var l=d(m);var j=this.getController().getValue("selectedIndex");j--;if(j<0){if(this.getController().getValue("loop")){this.getController().setValue("selectedIndex",d(m).length-1)}}else{this.getController().setValue("selectedIndex",j)}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(l,k,j){return{element:mojo.query("> .filmstrip-next",l),action:(k.getValue()>=d(l).length-1)?"add":"remove",cssClass:"filmstrip-next-disabled"}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(l,k,j){return{element:mojo.query("> .filmstrip-prev",l),action:(k.getValue()<=0)?"add":"remove",cssClass:"filmstrip-prev-disabled"}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","Tween",function(m,l,k){var j=l.getValue();if(j){a=true}if(k.getValue("extraPage")&&a&&!j&&c){j=k.getValue("extraPageIndex")}c=false;var n=d(m)[j];if(n){return{link:"cancel",x:(-1*n.offsetLeft),y:(-1*n.offsetTop),element:mojo.query("> .filmstrip-viewer > .filmstrip-content",m)}}});this.addObserver(this.getCommand("Tween"),"onComplete","SneakyTween",function(l,k,j){if(j.getValue("extraPage")&&!j.getValue("selectedIndex")){var m=d(l)[0];if(m){return{link:"cancel",x:(-1*m.offsetLeft),y:(-1*m.offsetTop),element:mojo.query("> .filmstrip-viewer > .filmstrip-content",l),duration:0}}}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(k,j){return{element:d(k),action:"remove",cssClass:"filmstrip-page-selected"}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(k,j){var l=d(k)[j.getValue()];if(l){return{element:l,action:"add",cssClass:"filmstrip-page-selected"}}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(l,k,j){g(j.getValue("triggerSelector"));return{element:e,action:"remove",cssClass:"trigger-selected"}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(k,j){var l=h.map(function(m){return[].filter.apply(m.childNodes,[function(n){return n.tagName}])[j.getValue()]});if(l[0]){return{element:l,action:"add",cssClass:"trigger-selected"}}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(l,k){var m=d(l)[k.getValue()];var j=mojo.query("img[lazysrc]",m);$$(j).each(function(o){var n=o.getAttribute("lazysrc");if(n){o.src=n;o.setAttribute("lazysrc","")}})});this.addObserver(this.getConfig("params").selectedIndex,"onChange","Messaging",function(l,k,j){return{topic:"/filmstrip/switched",message:{context:l,position:j.getValue("selectedIndex")}}})},addCommands:function(){this.addCommand("UpdateClass","stdlib.behavior.UpdateCssClassBehavior");this.addCommand("Messaging","stdlib.behavior.MessagingBehavior");this.addCommand("Tween","stdlib.behavior.TweenBehavior");this.addCommand("SneakyTween","stdlib.behavior.TweenBehavior");this.addCommand("PreventDefault","stdlib.behavior.PreventDefaultEventBehavior");this.addCommand("UpdateControllerParam","kiwi.command.UpdateControllerParamCommand")},addIntercepts:function(){}});mojo.provide("kiwi.controller.PrintController");mojo.declare("kiwi.controller.PrintController",mojo.controller.Controller,{params:{selector:{required:true,type:String}},addObservers:function(){this.addObserver(this.getValue("selector"),"onclick","UpdateClass",function(){window.print()})},addCommands:function(){this.addCommand("UpdateClass","stdlib.behavior.UpdateCssClassBehavior")},addIntercepts:function(){}});mojo.provide("kiwi.controller.ChameleonController");mojo.declare("kiwi.controller.ChameleonController",mojo.controller.Controller,{params:{targetSelector:{defaultValue:".target",type:String},chameleonSelector:{defaultValue:".chameleon",type:String},delay:{defaultValue:300,type:Number},target:{},chameleon:{},desiredColor:{}},addObservers:function(){this.setValue("chameleon",mojo.queryFirst(this.getValue("chameleonSelector"),this.getContextElement()));this.setValue("target",this.getValue("targetSelector")?mojo.queryFirst(this.getValue("targetSelector"),this.getContextElement()):this.getContextElement());if(!this.getValue("target")||!this.getValue("chameleon")){return}this.addObserver(this.getConfig("params").desiredColor,"onChange","BasicColorTween",function(c,b,a){return{element:a.getValue("chameleon"),color:b.getValue(),duration:a.getValue("delay")}});this.addObserver(this.getValue("target"),"onmouseenter","UpdateControllerParam",function(c,b,a){return{control:a.declaredClass,params:"desiredColor",value:$(b).getStyle("border-color"),element:c}});this.addObserver(this.getValue("target"),"onmouseleave","UpdateControllerParam",function(c,b,a){return{control:a.declaredClass,params:"desiredColor",value:$(b).getStyle("color"),element:c}})},addCommands:function(){this.addCommand("BasicColorTween","kiwi.behavior.BasicTweenBehavior");this.addCommand("BlockProceed","kiwi.behavior.BlockProceedBehavior");this.addCommand("UpdateControllerParam","kiwi.command.UpdateControllerParamCommand");this.addCommand("UpdateClass","stdlib.behavior.UpdateCssClassBehavior")},addIntercepts:function(){}});mojo.provide("kiwi.controller.SlideoutController");mojo.declare("kiwi.controller.SlideoutController",mojo.controller.Controller,{params:{yardstickSelector:{defaultValue:".slideout-content",type:String},expanderSelector:{defaultValue:".slideout",type:String},targetSelector:{defaultValue:".target",type:String},chameleonSelector:{defaultValue:".chameleon",type:String},measure:{defaultValue:"height",type:String},lockSelector:{defaultValue:"",type:String},initialHideDelay:{defaultValue:0,type:Number},speed:{defaultValue:3,type:Number},desiredMeasure:{},expander:{},yardstick:{},target:{}},addObservers:function(){var a=(this.getValue("measure")=="height")?"scrollHeight":"scrollWidth";this.setValue("expander",mojo.queryFirst(this.getValue("expanderSelector"),this.getContextElement()));this.setValue("yardstick",mojo.queryFirst(this.getValue("yardstickSelector"),this.getContextElement()));this.setValue("target",this.getValue("targetSelector")?mojo.queryFirst(this.getValue("targetSelector"),this.getContextElement()):this.getContextElement());if(!(this.getValue("expander")&&this.getValue("yardstick")&&this.getValue("target"))){return}this.addObserver(this.getValue("target"),"onmouseenter","UpdateControllerParam",function(d,c,b){return{control:b.declaredClass,params:"desiredMeasure",value:b.getValue("yardstick")[a],element:d}});this.addObserver(this.getValue("target"),"onmouseleave","UpdateControllerParam",function(e,d,c){var f=c.getValue("lockSelector");if(f&&mojo.queryFirst(f)){return}var b;if(b=this.getEvent().relatedTarget){if(Object.prototype.toString.call(b)==="[object XULElement]"){return}}return{control:c.declaredClass,params:"desiredMeasure",value:0,element:e}});if(this.getValue("initialHideDelay")){this.addObserver(this,"onInit","UpdateClass",function(d,c,b){window.setTimeout(function(){b.setValue("desiredMeasure",0)},b.getValue("initialHideDelay"))})}this.addObserver(this.getConfig("params").desiredMeasure,"onChange","BasicTween",function(f,d,c){var e=mojo.style(c.getValue("expander"),"width")||0;var b={element:c.getValue("expander"),duration:c.getValue("speed")*Math.abs(c.getValue("desiredMeasure")-e)};b[c.getValue("measure")]=c.getValue("desiredMeasure");return b});this.addObserver(this.getCommand("BasicTween"),"onStart","UpdateClass",function(d,c,b){return{element:b.getValue("yardstick"),action:"add",cssClass:"kc-visible"}});this.addObserver(this.getCommand("BasicTween"),"onComplete","UpdateClass",function(d,c,b){return{element:b.getValue("yardstick"),action:(b.getValue("expander").style[b.getValue("measure")]=="0px")?"remove":"add",cssClass:"kc-visible"}})},addCommands:function(){this.addCommand("BasicTween","kiwi.behavior.BasicTweenBehavior");this.addCommand("BlockProceed","kiwi.behavior.BlockProceedBehavior");this.addCommand("UpdateControllerParam","kiwi.command.UpdateControllerParamCommand");this.addCommand("UpdateClass","stdlib.behavior.UpdateCssClassBehavior")},addIntercepts:function(){this.addIntercept("around","BasicTween","BlockProceed",function(c,b,a){return{condition:!(a.getValue("desiredMeasure")==parseInt(a.getValue("expander").style[a.getValue("measure")]))}})}});mojo.provide("kiwi.controller.SlideshowController");mojo.declare("kiwi.controller.SlideshowController",mojo.controller.Controller,{params:{slideshowAreaSelector:{defaultValue:".slideshow-area",type:String},filmstripTriggers:{defaultValue:".filmstrip-triggers",type:String},pageSelector:{defaultValue:".filmstrip-page",type:String},selectedPageClass:{defaultValue:"filmstrip-page-selected",type:String},thumbnailSelector:{defaultValue:".thumbnail",type:String},thumbnailsOutside:{defaultValue:false,type:Boolean},selectedThumbnailClass:{defaultValue:"thumbnail-selected",type:String},prevImageClass:{defaultValue:"go-prev",type:String},nextImageClass:{defaultValue:"go-next",type:String},playClass:{defaultValue:".play-control",type:String},pauseClass:{defaultValue:".pause-control",type:String},selectedThumbnail:{},preloadedThumbnail:{},scheduledThumbnail:{},delay:{required:false,defaultValue:5000,type:Number},isAnimating:{defaultValue:false,type:Boolean},isLoading:{},isAutoswitching:{defaultValue:false,type:Boolean},extraPage:{defaultValue:false,type:Boolean}},addObservers:function(){var e=mojo.queryFirst(".filmstrip-component",this.getContextElement());var b=mojo.query(this.getValue("thumbnailSelector"),this.getContextElement());if(b.length==0){this.setValue("thumbnailsOutside",true);b=mojo.query(this.getValue("thumbnailSelector"))}if(b.length>1){var d=mojo.queryFirst("."+this.getValue("filmstripTriggers"),this.getContextElement());var c=mojo.queryFirst("."+this.getValue("prevImageClass"),this.getContextElement());var f=mojo.queryFirst("."+this.getValue("nextImageClass"),this.getContextElement());if(d){$(d).show()}if(c){$(c).show()}if(f){$(f).show()}}var a=mojo.queryFirst(this.getValue("slideshowAreaSelector"),this.getContextElement());this.addObserver(this,"onInit","Ticker",function(i,h,g){g.setValue("isAutoswitching",$(i).hasClass("autoswitching"));if(g.getValue("isAutoswitching")){return{action:"start unblock",delay:g.getValue("delay")}}});this.addObserver(this.getCommand("Ticker"),"onFire","Ticker",function(j,i,h){if(h.getValue("isAutoswitching")){var g=h.getValue("preloadedThumbnail"),k;if(g!=null){k=(g+1)%b.length}else{k=b.indexOf(mojo.queryFirst(".kc-photo-thumbnail-active",e))}h.setValue("preloadedThumbnail",k);return{action:"start",delay:h.getValue("delay")}}});this.addObserver(this.getValue("playClass"),"onclick","PreventDefault");this.addObserver(this.getValue("playClass"),"onclick","Ticker",function(i,h,g){g.setValue("isAutoswitching",true);return{action:"start unblock"}});this.addObserver(this.getValue("pauseClass"),"onclick","PreventDefault");this.addObserver(this.getValue("pauseClass"),"onclick","Ticker",function(i,h,g){g.setValue("isAutoswitching",false)});this.addObserver(this.getConfig("params").isAutoswitching,"onChange","UpdateClass",function(i,h,g){var j=(g.getValue("isAutoswitching"))?g.getValue("playClass"):g.getValue("pauseClass");return{element:mojo.query(j,i),action:"remove",cssClass:"show-control"}});this.addObserver(this.getConfig("params").isAutoswitching,"onChange","UpdateClass",function(i,h,g){var j=(g.getValue("isAutoswitching"))?g.getValue("pauseClass"):g.getValue("playClass");return{element:mojo.query(j,i),action:"add",cssClass:"show-control"}});this.addObserver(mojo.Messaging.getTopic("/filmstrip/switchedByUser"),"onPublish","UpdateClass",function(i,h,g){if(h.getMessage().context==e){g.setValue("isAutoswitching",false)}});this.addObserver(this.getValue("thumbnailSelector"),"onclick","PreventDefault");this.addObserver(this.getValue("thumbnailSelector"),"onclick","UpdateClass",function(i,h,g){g.setValue("isAutoswitching",false);mojo.Messaging.publish("/slideshow/activated",{})});this.addObserver(".kc-slideshow-map-buttons .accordion-switcher","onclick","UpdateClass",function(i,h,g){if(mojo.query(">*",h.parentNode).indexOf(h)){g.setValue("isAutoswitching",false);mojo.Messaging.publish("/slideshow/activated",{})}});if(this.getValue("thumbnailsOutside")){this.addObserver(b,"onclick","PreventDefault");this.addObserver(b,"onclick","UpdateClass",function(i,h,g){g.setValue("isAutoswitching",false);mojo.Messaging.publish("/slideshow/activated",{})})}this.addObserver(b,"onclick","UpdateClickedThumbParam",function(i,h,g){return{control:g.declaredClass,params:"preloadedThumbnail",value:b.indexOf(h),element:i}});this.addObserver("."+this.getValue("prevImageClass"),"onclick","PreventDefault");this.addObserver("."+this.getValue("nextImageClass"),"onclick","PreventDefault");this.addObserver("."+this.getValue("prevImageClass")+", ."+this.getValue("nextImageClass"),"onclick","UpdateControllerParam",function(j,i,g){mojo.Messaging.publish("/slideshow/activated",{});g.setValue("isAutoswitching",false);var k=g.getValue("scheduledThumbnail");var h=(k&&(k!="STOP"))||g.getValue("isAnimating");if(!k||(k=="STOP")){k=g.getValue("selectedThumbnail")}var l=$(i).hasClass(g.getValue("nextImageClass"))?1:-1;return{control:g.declaredClass,params:h?"scheduledThumbnail":"preloadedThumbnail",value:(k+b.length+l)%b.length,element:j}});this.addObserver(this.getConfig("params").preloadedThumbnail,"onChange","LoadThumbedImage",function(i,h,g){return{href:b[h.getValue()].href,thumb:b[h.getValue()],where:a}});this.addObserver(this.getCommand("LoadThumbedImage"),"onStartLoad","UpdateClass",function(i,h,g){if(!g.getValue("isAutoswitching")){g.setValue("isLoading",true)}});this.addObserver(mojo.Messaging.getTopic("/slideshow/loadedimage"),"onPublish","Ticker",function(j,h,g){var i=g.getValue("preloadedThumbnail");if((i!=null)&&(h.getMessage().src==b[i].href)){g.setValue("isLoading",false);g.setValue("selectedThumbnail",i);return{action:g.getValue("isAutoswitching")?"unblock":"unblock force"}}});this.addObserver(this.getConfig("params").selectedThumbnail,"onChange","Messaging",function(k,j,i){var h=k.getElements(i.getValue("pageSelector"));var l=0;for(var g=b[j.getValue()];g.tagName!="BODY";g=g.parentNode){if(-1!=(l=h.indexOf(g))){break}}return{topic:"/filmstrip/force",message:{context:e,position:l,extraPage:i.getValue("isAutoswitching")&&i.getValue("extraPage")}}});this.addObserver(this.getConfig("params").selectedThumbnail,"onChange","UpdateThumbDetails",function(j,i,g){var h=i.getValue()+1;return{context:j,element:b[i.getValue()],index:h}});this.addObserver(this.getConfig("params").selectedThumbnail,"onChange","UpdateClass",function(i,h,g){return{element:mojo.query(g.getValue("thumbnailSelector"),i),action:"remove",cssClass:g.getValue("selectedThumbnailClass")}});this.addObserver(this.getConfig("params").selectedThumbnail,"onChange","UpdateClass",function(i,h,g){return{element:b[g.getValue("selectedThumbnail")],action:"add",cssClass:g.getValue("selectedThumbnailClass")}});this.addObserver(this.getConfig("params").selectedThumbnail,"onChange","UpdateClass",function(k,j,h){var g=b[j.getValue()].href;var i=mojo.query("img",a).filter(function(l){return l.src==g})[0];return{element:i,action:"add",cssClass:"kc-slideshow-replacement"}});this.addObserver(this.getConfig("params").selectedThumbnail,"onChange","BasicTween",function(j,i,g){var h=mojo.queryFirst(".kc-slideshow-active",a);var k=mojo.queryFirst(".kc-slideshow-replacement",a);return{opacity:h?(h&&(k!=h))?[1,0]:[1,1]:[0,1],element:h||k,duration:h?1000:0}});this.addObserver(this.getCommand("BasicTween"),"onComplete","UpdateClass",function(j,h,g){var i=mojo.queryFirst(".kc-slideshow-active",j);if(i){i.setOpacity(1)}return{element:i,action:"remove",cssClass:"kc-slideshow-active"}});this.addObserver(this.getCommand("BasicTween"),"onComplete","UpdateClass",function(i,h,g){return{element:mojo.queryFirst(".kc-slideshow-replacement",i),action:"toggle",cssClass:["kc-slideshow-active","kc-slideshow-replacement"]}});this.addObserver(this.getCommand("BasicTween"),"onComplete","UpdateClass",function(i,h,g){return{element:mojo.query(".kc-slideshow-replacement",i),action:"remove",cssClass:["kc-slideshow-replacement"]}});this.addObserver(this.getCommand("BasicTween"),"onStart","UpdateClass",function(i,h,g){g.setValue("isAnimating",true)});this.addObserver(this.getCommand("BasicTween"),"onComplete","UpdateClass",function(i,h,g){g.setValue("isAnimating",false)});this.addObserver(this.getCommand("BasicTween"),"onComplete","UpdateClass",function(i,h,g){var j=g.getValue("scheduledThumbnail");if(typeof j=="number"){g.setValue("preloadedThumbnail",j)}});this.addObserver(this.getCommand("BasicTween"),"onComplete","UpdateClass",function(i,h,g){g.setValue("scheduledThumbnail","STOP")});this.addObserver(this.getConfig("params").isLoading,"onChange","UpdateClass",function(i,h,g){if(!g.getValue("isAutoswitching")){return{element:mojo.query(".kc-slideshow-images-loading",i),action:h.getValue()?"add":"remove",cssClass:["kc-slideshow-images-loading-show"]}}});this.addObserver(this.getConfig("params").isLoading,"onChange","LoadingIndicatorTween",function(i,h,g){if(!g.getValue("isAutoswitching")){return{opacity:h.getValue()?[0,0.6]:[0.6,0],element:mojo.queryFirst(".kc-slideshow-images-loading-backdrop",i),duration:1000}}})},addCommands:function(){this.addCommand("BlockProceed","kiwi.behavior.BlockProceedBehavior");this.addCommand("UpdateClass","stdlib.behavior.UpdateCssClassBehavior");this.addCommand("Ticker","kiwi.behavior.TickerBehavior");this.addCommand("BasicTween","kiwi.behavior.BasicTweenBehavior");this.addCommand("LoadingIndicatorTween","kiwi.behavior.BasicTweenBehavior");this.addCommand("UpdateThumbDetails","kiwi.behavior.UpdateThumbDetailsBehavior");this.addCommand("LoadThumbedImage","kiwi.behavior.LoadThumbedImageBehavior");this.addCommand("Messaging","stdlib.behavior.MessagingBehavior");this.addCommand("PreventDefault","stdlib.behavior.PreventDefaultEventBehavior");this.addCommand("UpdateControllerParam","kiwi.command.UpdateControllerParamCommand");this.addCommand("UpdateClickedThumbParam","kiwi.command.UpdateControllerParamCommand")},addIntercepts:function(){var a=mojo.query(this.getValue("thumbnailSelector"),this.getValue("thumbnailsOutside")?null:this.getContextElement());this.addIntercept("around","UpdateClickedThumbParam","BlockProceed",function(d,c,b){var e=b.getValue("isAnimating");if(e){b.setValue("scheduledThumbnail",a.indexOf(c))}return{condition:!e}})}});mojo.provide("kiwi.controller.TooltipController");mojo.declare("kiwi.controller.TooltipController",mojo.controller.Controller,{params:{},addObservers:function(){var a=mojo.queryFirst(this.getValue("sourceElement"));var b=function(d,c){return{tooltipObj:a,action:d,offsetWidth:c.getValue("offsetWidth"),offsetHeight:c.getValue("offsetHeight"),maxLength:c.getValue("maxLength")}};this.addObserver(this,"onInit",mojo.Messaging.publish("/tooltip/show"));this.addObserver(mojo.Messaging.getTopic("/tooltip/show"),"onPublish","Tooltip",function(e,d,c){return b("show",c)});this.addObserver(mojo.Messaging.getTopic("/tooltip/hide"),"onPublish","Tooltip",function(e,d,c){return b("hide",c)})},addCommands:function(){this.addCommand("Tooltip","kiwi.behavior.TooltipBehavior")},addIntercepts:function(){}});mojo.provide("kiwi.controller.TextInputPromptController");mojo.declare("kiwi.controller.TextInputPromptController",mojo.controller.Controller,{params:{labelElement:{required:false},state:{required:false}},addObservers:function(){this.setValue("labelElement",$$('label[for="'+$(this.getContextElement()).get("id")+'"]'));this.addObserver(this,"onInit","UpdateControllerParam",function(c,b,a){return{control:a.declaredClass,params:"state",value:$(c).get("value")==""?"visible":"hidden",suppressOnChangeCallback:true}});this.addObserver(mojo.Messaging.getTopic("/calendar/reinit"),"onPublish","UpdateControllerParam",function(c,b,a){return{control:a.declaredClass,params:"state",value:$(c).get("value")==""?"visible":"hidden",suppressOnChangeCallback:true}});this.addObserver(this.getContextElement(),"focus","UpdateControllerParam",function(c,b,a){return{control:a.declaredClass,params:"state",value:"hidden"}});this.addObserver(this.getContextElement(),"blur","UpdateControllerParam",function(c,b,a){return{control:a.declaredClass,params:"state",value:$(c).get("value")==""?"visible":"hidden"}});this.addObserver(this.getConfig("params").state,"onChange","BasicTween",function(c,b,a){return{opacity:a.getValue("state")=="hidden"?0:1,element:$(a.getValue("labelElement")[0]),duration:0}})},addCommands:function(){this.addCommand("BasicTween","kiwi.behavior.BasicTweenBehavior");this.addCommand("UpdateControllerParam","kiwi.command.UpdateControllerParamCommand")},addIntercepts:function(){}});mojo.provide("kiwi.controller.FlyoutController");var _kc_flyout=function(){function b(g,f,d,i){var c=$(f).getCoordinates();var h=i.getCoordinates();var e=c.top-parseInt(h.height/2-c.height/2)+d.getValue("topOffset");var j=c.right-d.getValue("rightOffset");if(i.hasClass("left")){j=c.left-h.width}if(i.hasClass("bottom")){e=c.top+c.height}if(i.hasClass("top")){e=c.top-h.height}if(i.hasClass("middle")){e=e-parseInt(h.height/2-c.height/2)}return{y:e,x:j}}function a(c){return c.clone().setStyles({position:"absolute",opacity:"1",width:"211px",display:"block"}).inject(document.body)}return{newClone:function(c){return a(c)},setPosition:function(e,d,c,f){return b(e,d,c,f)}}}();mojo.declare("kiwi.controller.FlyoutController",mojo.controller.Controller,{params:{trigger:{required:false,defaultValue:".kc-flyout-trigger"},target:{required:false,defaultValue:".kc-flyout"},duration:{required:false,defaultValue:300},rightOffset:{defaultValue:-10},topOffset:{defaultValue:0}},addObservers:function(){var e,d;var c=this.getValue("trigger");var a=this.getValue("target");var b=this.getValue("duration");this.addObserver(c,"onclick","PreventDefault");this.addObserver(c,"onmouseover","FlyoutPopup",function(j,i,g){var f=$(i).getParent().getElement(a).setStyles({opacity:0,display:"block",position:"absolute"});var l=f.getCoordinates();var k=l.top-l.bottom;if(f!=e){if(e){e.dispose()}var m={};d=_kc_flyout.newClone(f);var m=_kc_flyout.setPosition(j,i,g,d);d.setPosition(m);g.addObserver(d,"onmouseover","FlyoutPopup",function(n,h){return{opacity:1,element:h,duration:b}});g.addObserver(d,"onmouseout","FlyoutPopup",function(n,h){return{opacity:0,element:h,duration:b}});e=f}else{var m=_kc_flyout.setPosition(j,i,g,d);d.setPosition(m)}return{opacity:1,element:d,duration:b}});this.addObserver(window,"onresize","Null",function(g,f){e=null});this.addObserver(mojo.Messaging.getTopic("/accordion/switchedByUser"),"onpublish","Null",function(){e=null});this.addObserver(c,"onmouseout","FlyoutPopup",function(g,f){return{opacity:0,element:d,duration:b}})},addCommands:function(){this.addCommand("FlyoutPopup","kiwi.behavior.BasicTweenBehavior");this.addCommand("PreventDefault","stdlib.behavior.PreventDefaultEventBehavior");this.addCommand("Null","kiwi.command.NullCommand")},addIntercepts:function(){}});mojo.provide("stdlib.controller.TabController");mojo.declare("stdlib.controller.TabController",mojo.controller.Controller,{params:{selectedIndex:{required:false,defaultValue:0,type:Number},activeOn:{required:false,defaultValue:"onclick"}},addObservers:function(){this.addObserver("> .tabs-nav > .tab",this.getValue("activeOn"),"UpdateClass",function(e,b){var d=mojo.query("> .tabs-nav > .tab",e);var a=0;for(var c=0;c<d.length;c++){if(d[c]==b){a=c;break}}this.getController().setValue("selectedIndex",a)});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(b,a){return{element:mojo.query("> .tabs-nav > .selected",b),action:"remove",cssClass:"selected"}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(b,a){return{element:mojo.query("> .tabs-content > .selected",b),action:"remove",cssClass:"selected"}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(b,a){return{element:mojo.query("> .tabs-nav > .tab",b)[a.getValue()],action:"add",cssClass:"selected"}});this.addObserver(this.getConfig("params").selectedIndex,"onChange","UpdateClass",function(b,a){return{element:mojo.query("> .tabs-content > .tab-content",b)[a.getValue()],action:"add",cssClass:"selected"}});this.addObserver("> .add","onclick","UpdateClass",function(b,a){mojo.Model.add("testData",{name:"new",description:(new Date()).getTime()});this.getController().setValue("selectedIndex",0);this.getController().getConfig("params").selectedIndex.onChange()})},addCommands:function(){this.addCommand("UpdateClass","stdlib.behavior.UpdateCssClassBehavior")},addIntercepts:function(){}});mojo.provide("kiwi.controller.SortByController");mojo.declare("kiwi.controller.SortByController",mojo.controller.Controller,{addObservers:function(){this.addObserver("#sort_by","onchange","Submit",function(b,a){return{form:b}})},addCommands:function(){this.addCommand("Submit","stdlib.behavior.SubmitFormBehavior")},addIntercepts:function(){}});mojo.provide("kiwi.metricsMap.controller.MetricsController");mojo.declare("kiwi.metricsMap.controller.MetricsController",mojo.controller.Controller,{options:{pageIsLoaded:false,analyticsSuite:"omniture"},params:{metricsMap:{defaultValue:"kiwi.metricsMap"},imageClass:{defaultValue:".omni-impressions"}},getMetricsMap:function(){var obj=(eval(this.getValue("metricsMap")));var imClass=this.getValue("imageClass");if(obj.helpers.setImageClassName){obj.helpers.setImageClassName(imClass)}return obj},addObservers:function(){var a=this.options;this.addObserver(this,"onInit","InitPage",{map:this.getMetricsMap()});this.addObserver(mojo.Messaging.getTopic("/analytics/page/tagged"),"onPublish","InitLink",{map:this.getMetricsMap()});this.addObserver(mojo.controller.Map.getInstance(),"onComplete","TrackPage")},addCommands:function(){this.addCommand("BlockProceed","kiwi.behavior.BlockProceedBehavior");this.addCommand("InitPage","kiwi.metricsMap.command.InitializeMetricsMapPageCommand");this.addCommand("TrackPage","kiwi.metricsMap.command.TransactionPageCommand");this.addCommand("InitLink","kiwi.metricsMap.command.InitializeMetricsMapLinkCommand");this.addCommand("TrackLink","kiwi.metricsMap.command.TransactionLinkCommand")},addIntercepts:function(){this.addIntercept("around","TrackPage","BlockProceed",function(c,b,a){var d=false;if(!a.options.pageIsLoaded){d=a.options.pageIsLoaded=true}return{condition:d}})}});mojo.provide("kiwi.MetricsMap");kiwi.MetricsMap={impressions:{},currentProduct:"",pages:[{pattern:/./,properties:function(a){if(typeof s_account!="undefined"){kiwi.MetricsMap.currentProduct=s.products;if(s.channel=="homepage"||s.channel=="search"||s.channel=="property"||s.channel=="photogallery"||s.channel=="promotion"||s.channel=="geolanding"||s.channel=="vanitylanding"){var b=kiwi.MetricsMap.helpers.trackImpressions();if(b){return{events:((s.events)?s.events+",":"")+"event12",products:((s.products)?s.products:"")+b}}}}}}],links:[{pattern:"#guest-review-wizard-abandon-link",event:"onclick",properties:function(a){return{evar18:"Guest Review Wizard",prop13:"Guest Review Wizard",prop27:"Abandon"}}},{pattern:".kc-property-overview-tabs .open-overview",event:"onclick",properties:function(a){return{prop21:"pdp-details-readmore-click",linkName:"pdp-details-readmore-click"}}},{pattern:".filmstrip-component",controller:"stdlib.controller.FilmStripController",command:"Tween",event:"onComplete",properties:function(a){var b=kiwi.MetricsMap.helpers.trackImpressions();if(b){return{linkName:"slideshow",events:"event12",products:b}}}},{pattern:".omniture-slideshow-tracking",controller:"stdlib.controller.FilmStripController",command:"Tween",event:"onComplete",properties:function(a){var b=kiwi.MetricsMap.helpers.trackImpressions();if(b){return{linkName:"slideshow",events:"event12",products:b}}}},{pattern:".home-page-2 .accordion-component",controller:"kiwi.controller.AccordionController",command:"AccordionTween",event:"onComplete",properties:function(a){var b=kiwi.MetricsMap.helpers.trackImpressions();if(b){return{linkName:"homepage_accordion",events:"event12",products:b}}}},{pattern:".omni-property-show-contacthotel",event:"onclick",properties:function(a){return{events:"event7",products:kiwi.MetricsMap.currentProduct}}},{pattern:".concierge-page .kc-concierge-cancel-form button",event:"onclick",properties:function(a){return{events:"event15"}}},{pattern:"#see-room-details-submit",event:"onclick",properties:function(a){return{events:"event25"}}},{pattern:".book-room-tracker",event:"onclick",properties:function(a){return{events:"scOpen"}}},{pattern:"#kc-validate-reservation-cancel",controller:"kiwi.controller.FormValidationController",command:"SubmitForm",event:"execute",properties:function(a){return{linkName:"cancel_registration",events:"event15"}}},{pattern:"#kc-validate-signup",controller:"kiwi.controller.FormValidationController",command:"SubmitForm",event:"execute",properties:function(a){return{linkName:"member_registration",events:"event3"}}},{pattern:"#signup-submit",event:"onclick",properties:function(a){return{events:"event3"}}},{pattern:".kiwi-homepage-expand-icon",event:"onclick",properties:function(a){return{linkName:"homepage-carousel-exand-click"}}},{pattern:"#start-your-search",event:"onclick",properties:function(a){return{prop25:"Start Your Search"}}},{pattern:"#kc-validate-contest",controller:"kiwi.controller.FormValidationController",command:"SubmitForm",event:"execute",properties:function(a){return{linkName:"enter_contest",prop25:"2010lc Enter Contest"}}},{pattern:".promotion-form-wrapper #search-submit",event:"onclick",properties:function(a){return{prop25:"Get Yours",eVar34:"Get Yours"}}},{pattern:"#share-facebook",event:"onclick",properties:function(a){return{prop25:"Share Facebook"}}},{pattern:"#share-twitter",event:"onclick",properties:function(a){return{prop25:"Share Twitter"}}},{pattern:"#share-stumbleupon",event:"onclick",properties:function(a){return{prop25:"Share StumbleUpon"}}},{pattern:"#share-email",event:"onclick",properties:function(a){return{prop25:"Share Email"}}},{pattern:".property-cell .property-logo",event:"onclick",properties:function(a){return{prop25:"pdp property logo",eVar34:"pdp property logo",events:"event17",products:kiwi.MetricsMap.currentProduct}}},{pattern:".contact-info",event:"onclick",properties:function(a){return{prop25:"pdp contact tab website link",eVar34:"pdp contact tab website link",events:"event17",products:kiwi.MetricsMap.currentProduct}}},{pattern:"#kc-metrics-property-tab-overview",event:"onclick",properties:function(a){return{prop25:"Property Detail overview tab",eVar34:"Property Detail overview tab"}}},{pattern:"#kc-metrics-property-tab-amenities",event:"onclick",properties:function(a){return{prop25:"Property Detail amenities tab",eVar34:"Property Detail amenities tab"}}},{pattern:"#kc-metrics-property-tab-interests",event:"onclick",properties:function(a){return{prop25:"Property Detail interests tab",eVar34:"Property Detail interests tab"}}},{pattern:"#kc-metrics-property-tab-reviews",event:"onclick",properties:function(a){return{prop25:"Property Detail guest reviews tab",eVar34:"Property Detail guest reviews tab"}}},{pattern:".kc-property-promo",event:"onclick",properties:function(a){return{prop25:"pdp banner advert",eVar34:"pdp banner advert",events:"event17",products:kiwi.MetricsMap.currentProduct}}}],helpers:{isNodeShowing:function(b){var a=true;while(b!=null){if(mojo.style(b,"visibility")=="hidden"||mojo.style(b,"display")=="none"){a=false;break}b=(b.tagName=="BODY")?null:b.parentNode}return a},impressionClassName:".omni-impressions",setImageClassName:function(a){kiwi.MetricsMap.helpers.impressionClassName=a},getImageClassName:function(){return kiwi.MetricsMap.helpers.impressionClassName},trackImpressions:function(){var f=kiwi.MetricsMap.impressions;var l=kiwi.MetricsMap.helpers.getImageClassName();var a=mojo.query(l);for(var h=0,j=a.length;h<j;h++){var e=a[h];var n=e.getAttribute("omni");var b=e.getAttribute("lazysrc");if(kiwi.MetricsMap.helpers.isNodeShowing(e)&&n&&!b){var k=n.split(",");if(typeof(f[k[0]])=="undefined"){f[k[0]]={}}if(typeof(kiwi.MetricsMap.impressions[k[0]][k[1]])=="undefined"){f[k[0]][k[1]]=false}}}var g=[];var m=false;for(var c in f){for(var d in f[c]){if(!f[c][d]){f[c][d]=true;if(g.length>0){g.push(",")}g.push(";"+d+";;;;evar31="+s.channel+"_"+c.replace(/\s/g,"-"));m=true}}}if(m){return g.join("")}else{return null}}}};mojo.addOnUnload(function(){if(typeof window.elmsString!="undefined"){if(window.elmsString!=""){window.s.prop28=window.elmsString}else{window.s.prop28="Validated"}window.s.tl()}});mojo.provide("stdlib.behavior.UpdateCssClassBehavior");mojo.declare("stdlib.behavior.UpdateCssClassBehavior",mojo.command.Behavior,{execute:function(e){if(!e.paramsObj){return}var b;var c=e.paramsObj.element;var d=e.paramsObj.action;var a=e.paramsObj.cssClass;if(c){this.manageClassAssignment(c,d,a)}},manageClassAssignment:function(e,f,b){if(e==null||typeof e=="undefined"){return}else{if(typeof e=="object"){if(e.length>0){for(var d=0;d<e.length;d++){if(typeof e[d]!="object"){throw new Error("ERROR stdlib.behavior.UpdateCssClassBehavior - element parameter is not an array of type Object");break}}}}else{throw new Error("ERROR stdlib.behavior.UpdateCssClassBehavior - element parameter is not a type Object")}}if(f==null||typeof f=="undefined"){throw new Error("ERROR stdlib.behavior.UpdateCssClassBehavior - action parameter is required")}else{if(typeof f!="string"){throw new Error("ERROR stdlib.behavior.UpdateCssClassBehavior - action parameter is not a type String")}else{if((f!="add")&&(f!="remove")&&(f!="set")&&(f!="toggle")){throw new Error("ERROR stdlib.behavior.UpdateCssClassBehavior - action parameter is invalid")}}}if(b==null||typeof b=="undefined"){throw new Error("ERROR stdlib.behavior.UpdateCssClassBehavior - CssClass parameter is required")}else{if(typeof b=="object"){if(b.length>0){for(var d=0;d<b.length;d++){if(typeof b[d]!="string"){throw new Error("ERROR stdlib.behavior.UpdateCssClassBehavior - CssClass parameter is not an array of type String");break}}}}else{if(typeof b!="string"){throw new Error("ERROR stdlib.behavior.UpdateCssClassBehavior - CssClass parameter is not a type String")}}}if(e){var a=function(g){if(!g.constructor||g.constructor.toString().toLowerCase().indexOf("array")==-1){return false}return true};if(!a(e)){e=[e]}if(!a(b)){b=[b]}cssLength=b.length;elmLength=e.length;for(var d=0;d<elmLength;d++){elm=e[d];if(!elm){continue}for(var c=0;c<cssLength;c++){css=b[c];if(f.length>0){switch(f){case"add":kiwiUtils.addClass(elm,css);break;case"remove":kiwiUtils.removeClass(elm,css);break;case"set":elm.className="";kiwiUtils.addClass(elm,css);break;case"toggle":kiwiUtils.toggleClass(elm,css);break}}}}}},onResponse:function(){}});mojo.provide("stdlib.behavior.MessagingBehavior");mojo.declare("stdlib.behavior.MessagingBehavior",mojo.command.Behavior,{execute:function(a){mojo.Messaging.publish(a.paramsObj.topic,a.paramsObj.message)}});mojo.provide("stdlib.behavior.TweenBehavior");mojo.declare("stdlib.behavior.TweenBehavior",mojo.command.Behavior,{onComplete:function(){},onStart:function(){},_effect:null,execute:function(h){var c={};var f;if(h.getParams().width!=null){c.width=h.getParams().width}if(h.getParams().height!=null){c.height=h.getParams().height}if(kiwiUtils.isIE()&&c.height==0){c.height=1}if(h.getParams().x!=null){c.left=h.getParams().x}if(h.getParams().y!=null){c.top=h.getParams().y}if(h.getParams().duration!=null){c.link=h.getParams().link}if(h.getParams().duration!=null){f=h.getParams().duration}else{f=600}var e=h.getParams().element;if(!mojo.isArray(e)){e=[e]}var a=e.length;var g=this;for(var b=0;b<a;b++){if(e[b]){if(e[b].style.height=="auto"&&c.height!=null){e[b].style.height=kiwiUtils.coords(e[b]).h+"px"}var d=new Fx.Morph(e[b],{link:c.link,duration:f,transition:Fx.Transitions.Expo.easeInOut,onStart:function(){g.onStart();if(kiwiUtils.isIE()&&this.from.height=="1"){this.element.style.display="block"}},onComplete:function(){if(this.to.height=="1"){this.element.style.display="none"}if((this.from.height=="0")||(this.from.height=="1")){this.element.style.height="auto"}if(this.element.style.height=="auto"&&this.to.height>0&&kiwiUtils.coords(this.element).h==0){this.element.style.height=this.to.height+"px"}g.onComplete()}});this._effect=d;d.start(c)}}}});mojo.provide("stdlib.behavior.PreventDefaultEventBehavior");mojo.declare("stdlib.behavior.PreventDefaultEventBehavior",mojo.command.Command,{execute:function(d){try{var b=d.eventObj;var c=d.getParams();var a=c&&c.allowPropagation;if(b.preventDefault){b.preventDefault()}if(b.stopPropagation&&!a){b.stopPropagation()}if(a){if(b.target){b.target.onParole=true}}b.returnValue=false;return false}catch(b){}}});mojo.provide("kiwi.command.UpdateControllerParamCommand");mojo.declare("kiwi.command.UpdateControllerParamCommand",mojo.command.Command,{execute:function(h){var g;var d;var e;var c;var f=h.getParams();if(f){if(f.element!=null){g=f.element}if(f.control!=null){d=f.control}if(f.params!=null){e=f.params}if(f.value!=null){c=f.value}__suppressOnChangeCallback=f.suppressOnChangeCallback}try{if((e!=null)&&(c!=null)){var a;if(g){a=g.mojoControllers[d||h.getController().declaredClass]}else{if(d&&h.getController().declaredClass!=d){a=h.getController().getContextController(d)}else{a=h.getController()}}if(a){a.getConfig("params")[e].setValue(c,__suppressOnChangeCallback)}}}catch(b){}},onResponse:function(){},onError:function(){}});mojo.provide("kiwi.behavior.BasicTweenBehavior");mojo.declare("kiwi.behavior.BasicTweenBehavior",mojo.command.Behavior,{onComplete:function(){},onStart:function(){},_effect:null,execute:function(h){var c={};var f;if(h.getParams().width!=null){c.width=h.getParams().width}if(h.getParams().height!=null){c.height=h.getParams().height}if(h.getParams().x!=null){c.left=h.getParams().x}if(h.getParams().y!=null){c.top=h.getParams().y}if(h.getParams().opacity!=null){c.opacity=h.getParams().opacity}if(h.getParams().color!=null){c.color=h.getParams().color}if(h.getParams().onComplete){this.onComplete=h.getParams().onComplete}if(h.getParams().onStart){this.onStart=h.getParams().onStart}if(c.color=="white"){c.color="#ffffff"}if(h.getParams().duration!=null){f=h.getParams().duration}else{f=600}var e=h.getParams().element;if(!mojo.isArray(e)){e=[e]}var a=e.length;var g=this;for(var b=0;b<a;b++){if(e[b]){var d=new Fx.Morph(e[b],{duration:f,transition:Fx.Transitions.Expo.easeInOut,onStart:function(){g.onStart()},onComplete:function(){g.onComplete()}});if(g._effect){g._effect.cancel()}g._effect=d;d.start(c)}}}});mojo.provide("kiwi.behavior.BlockProceedBehavior");mojo.declare("kiwi.behavior.BlockProceedBehavior",mojo.command.Command,{onBeforeProceed:function(){},onAfterProceed:function(){},onFailProceed:function(){},execute:function(b){var a=b.getParams();if((typeof a.condition=="function"&&a.condition())||(typeof a.condition!="function"&&a.condition)){this.onBeforeProceed();b.invocation.proceed();this.onAfterProceed()}else{this.onFailProceed()}}});mojo.provide("kiwi.behavior.TickerBehavior");mojo.declare("kiwi.behavior.TickerBehavior",mojo.command.Behavior,{tickers:[],execute:function(h){var g=h.getParams();var c=this;if(!g.action){return}var a=function(){c.upcomingTick=null;c.ticking=false;b()};var e=function(){if(c.upcomingTick!=null){window.clearTimeout(c.upcomingTick)}c.upcomingTick=window.setTimeout(a,c.delay)};var b=function(){if(c.armed&&!(c.ticking&&(c.upcomingTick!=null))){c.armed=false;c.upcomingTick=null;c.onFire()}};var f=g.action.split(" ");for(var d=0;d<f.length;d++){action=f[d];switch(action){case"start":c.delay=g.delay;c.ticking=true;c.armed=false;e();break;case"force":c.ticking=false;if((c.upcomingTick!=null)){window.clearTimeout(c.upcomingTick);c.upcomingTick=null}b();break;case"unblock":c.armed=true;b();break;default:return}}},onFire:function(){}});mojo.provide("kiwi.behavior.UpdateThumbDetailsBehavior");mojo.declare("kiwi.behavior.UpdateThumbDetailsBehavior",mojo.command.Behavior,{execute:function(h){var g=h.getParams();if(!g.context||!g.element||!g.index){return}var c=mojo.query(".kc-slideshow-index-target",g.context);c.each(function(i){i.innerHTML=g.index});var d=mojo.query(".progress-bar-index",g.context);var a=mojo.queryFirst(".kc-slideshow-index-count",g.context);if(a&&typeof(parseInt(a.innerHTML))=="number"){d.each(function(i){i.style.width=Math.ceil((g.index/parseInt(a.innerHTML))*100)+"%"})}var f=mojo.query(".kc-photo-detail",g.element.parentNode);var e=mojo.queryFirst("#kc-photo-detail",g.context);if(e){f.each(function(i){e.innerHTML=i.innerHTML})}var b=mojo.query(".kc-slideshow-title-target",g.context);b.each(function(i){i.innerHTML=mojo.queryFirst("img",g.element).title})}});mojo.provide("kiwi.behavior.LoadThumbedImageBehavior");mojo.declare("kiwi.behavior.LoadThumbedImageBehavior",mojo.command.Behavior,{execute:function(e){var d=e.getParams();var c=function(){$(this).setOpacity(1);mojo.Messaging.publish("/slideshow/loadedimage",this)};var a=d.href;if(!a||!d.where){return}var b=mojo.query("img",d.where).filter(function(f){return f.src==a})[0];if(b){if(b.complete){window.setTimeout(function(){c.apply(b)},0)}}else{this.onStartLoad();b=new Element("img").inject(d.where);b.className="results-list-pic-photo omni-impressions";if(d.thumb){kiwiUtils.attr(b,"omni",d.thumb.getAttribute("omni"))}if(!kiwiUtils.isIE()){mojo.connect(b,"onload",c)}if(kiwiUtils.isIE()){mojo.connect(b,"onreadystatechange",function(){if(this.readyState=="complete"){window.setTimeout(function(){c&&c.apply(b);c=false},0)}})}b.src=a}},onStartLoad:function(){}});mojo.provide("kiwi.behavior.TooltipBehavior");mojo.declare("kiwi.behavior.TooltipBehavior",mojo.command.Behavior,{relativeParent:null,intervalID:null,execute:function(a){var d=a.getParams();var b=d.tooltipObj;if(this.relativeParent==null){this.relativeParent=document.body;var k=b.parentNode;while(k!=null&&k!=document.body){var g=mojo.style(k,"position");if(g=="relative"||g=="absolute"){this.relativeParent=k;break}k=k.parentNode}}var h=a.getEvent();var j=((typeof h.pageX=="number")?h.pageX:h.x+document.body.scrollLeft)-Math.ceil(kiwiUtils.coords(this.relativeParent,true).x)+d.offsetWidth;var i=((typeof h.pageY=="number")?h.pageY:h.y+document.body.scrollTop)-Math.ceil(kiwiUtils.coords(this.relativeParent,true).y)+d.offsetHeight;b.style.left=j+"px";b.style.top=i+"px";switch(d.action){case"show":clearInterval(this.intervalID);mojo.style(b,"opacity",1);var f=a.getCaller()[d.tooltipObj.value];if(f.length>d.maxLength){f=f.substring(0,d.maxLength)+"..."}f=f.replace(/\s/g,"&nbsp;");b.innerHTML=f;b.style.display="block";break;case"hide":var c=this;this.intervalID=setInterval(function(){mojo.style(b,"opacity",mojo.style(b,"opacity")-0.3);if(mojo.style(b,"opacity")<=0){b.style.display="none";clearInterval(c.intervalID)}},50);break}}});mojo.provide("kiwi.command.NullCommand");mojo.declare("kiwi.command.NullCommand",mojo.command.Command,{execute:function(a){},onResponse:function(a){},onError:function(a){}});mojo.provide("stdlib.behavior.SubmitFormBehavior");mojo.declare("stdlib.behavior.SubmitFormBehavior",mojo.command.Behavior,{execute:function(g){var f=g.getParams();if(f&&f.abort){return false}if(f&&f.form){if(f.form.tagName.toLowerCase()!="form"){f.form=mojo.queryFirst("form",f.form)}if(typeof f.preSubmitHandler=="function"){if(f.preSubmitHandler(f.form)){f.form.submit();return}}if(f.form.__freeze){f.form.__freeze=false}else{if(f.prune){var d=f.form.elements;for(var a=0;a<d.length;a++){var c=d[a];var b=c.type;var e=false;if(b.search(/text|select|hidden/i)>=0){if(c.value!=""||parseInt(c.value)===0){e=true}}if(b.search(/check|radio/i)>=0){if(c.checked||c.selected){e=true}}if(!e){c.disabled=true}}f.form.submit()}else{f.form.submit()}}}}});mojo.provide("kiwi.metricsMap.command.InitializeMetricsMapPageCommand");mojo.declare("kiwi.metricsMap.command.InitializeMetricsMapPageCommand",mojo.command.Command,{execute:function(a){var d=a.getParams();var b=d.map;var c=b.pages;for(var f=0,h=c.length;f<h;f++){var e={};var k=c[f].pattern;var j=c[f].properties;if(typeof(k)=="string"){var g=mojo.query(k);if(g.length>=1){e=j}}else{if(typeof(k)=="function"||typeof(k)=="object"){var l=new RegExp(k);if(l.test(window.location.href)){if(typeof(j)=="function"){j=j()}e=j}}else{throw new Error("ERROR - metricsMap for Pages contains invalid pattern")}}for(key in e){s[key]=e[key]}}}});mojo.provide("kiwi.metricsMap.command.TransactionPageCommand");mojo.declare("kiwi.metricsMap.command.TransactionPageCommand",mojo.command.Command,{onComplete:function(){},onError:function(){},execute:function(b){if(window.s!=undefined){var a=window.s;a.t();mojo.Messaging.publish("/analytics/page/tagged");if(mojo.config&&mojo.config.isDebug){console.info("--------------| Analytics has Tagged the [page]")}}}});mojo.provide("kiwi.metricsMap.command.InitializeMetricsMapLinkCommand");mojo.declare("kiwi.metricsMap.command.InitializeMetricsMapLinkCommand",mojo.command.Command,{execute:function(g){var f=g.getParams();var e=f.map;var b=e.links;this.controller=g.getController();for(var c=0,a=b.length;c<a;c++){var d=b[c];if(!d.command&&!d.controller){this.addSimpleLinkCommand(d)}else{this.addComplexLinkCommand(d)}}mojo.Messaging.publish("/analytics/links/tagged")},addSimpleLinkCommand:function(c,d){var b=c.pattern;var a=c.event;this.controller.addObserver(b,a,"TrackLink",function(f,e){var g=null;if(typeof(c.properties)=="function"){g=c.properties(e)}else{g=c.properties}if(!g){return false}return{properties:g}})},addComplexLinkCommand:function(c,d){var d=mojo.query(c.pattern);if(d.length==0){return}var e=d[0].mojoControllers[c.controller];if(!e){return}var b=e.getCommand(c.command);if(!b){return}var a=c.event;this.controller.addObserver(b,a,"TrackLink",function(g,f){var h=null;if(typeof(c.properties)=="function"){h=c.properties(f)}else{h=c.properties}if(!h){return false}return{transactionType:"customLink",properties:h}})}});mojo.provide("kiwi.metricsMap.command.TransactionLinkCommand");mojo.declare("kiwi.metricsMap.command.TransactionLinkCommand",mojo.command.Command,{onComplete:function(){},onError:function(){},execute:function(a){var d=a.getParams();if(!d.properties){return}if(!mojo.isArray(d.properties)){d.properties=[d.properties]}var l=window.s;for(var f=0,h=d.properties.length;f<h;f++){var g={};var b=d.callerName||"anonymousTrigger";var e=null;var k=[];var c=[];var j=[];for(key in d.properties[f]){if(key.indexOf("linkName")==0){e=d.properties[f][key]}else{if(key.indexOf("products")==0){j.push(d.properties[f][key]);k.push("products")}else{if(key.indexOf("prop")==0||key.indexOf("eVar")==0){k.push(key)}else{if(key.indexOf("event")==0){c.push(d.properties[f][key])}}}}g[key]=l[key];l[key]=d.properties[f][key]}if(c.length){k.push("events")}j.length?l.products=j.join(","):"";l.linkTrackVars=k.length?k.join(","):"None";l.linkTrackEvents=c.length?c.join(","):"None";if((a.callerObj.href&&(a.callerObj.href.split("#")[0]!=document.location.href.split("#")[0]))){e?l.tl(a.callerObj,"o",e):l.tl(a.callerObj,"o")}else{if(d.transactionType=="customLink"){l.tl(true,"o",e?e:"customLink")}else{l.tl()}}l.products="";for(key in g){l[key]=g[key]}}if(mojo.config&&mojo.config.isDebug){console.info("--------------| Analytics has Tagged the [link]")}}});mojo.provide("kiwi.SiteMapWow");kiwi.SiteMapWow=[{pattern:"div.filmstrip-component",controllers:[{controller:"stdlib.controller.FilmStripController",params:{triggerSelector:".kc-filmstrip-triggers"}}]},{pattern:"#kc-root",controllers:[{controller:"kiwi.controller.PrintController",params:{selector:".kc-print-link"}}]},{pattern:"li.kc-header-mainmenu-item, li.kc-language-selector",controllers:[{controller:"kiwi.controller.SlideoutController",params:{yardstickSelector:".kc-header-submenu",expanderSelector:".kc-header-submenu-wrap",targetSelector:""}},{controller:"kiwi.controller.ChameleonController",params:{targetSelector:"",chameleonSelector:".kc-header-mainmenu-link",delay:750}}]},{pattern:"div.kc-slideshow-wow-homepage, div.kc-slideshow-wow-article",controllers:[{controller:"kiwi.controller.SlideshowController",params:{slideshowAreaSelector:".kc-slideshow-images",thumbnailSelector:"a.kc-photo-thumbnail",selectedThumbnailClass:"kc-photo-thumbnail-active",prevImageClass:"kc-slideshow-prev",nextImageClass:"kc-slideshow-next",pageSelector:"a.kc-photo-thumbnail",filmstripTriggers:"kc-filmstrip-triggers",extraPage:true}}]},{pattern:"li.kc-header-mainmenu-item",controllers:[{controller:"kiwi.controller.SlideoutController",params:{yardstickSelector:".kc-header-submenu",expanderSelector:".kc-header-submenu-wrap",targetSelector:""}}]},{pattern:"div.wow-likes",controllers:[{controller:"kiwi.controller.TooltipController",params:{nodesSelector:"img.wow-likes-img",textAttribute:"alt",tooltipId:"#wow-likes-tooltip",offsetHeight:-50,offsetWidth:10}}]},{pattern:"div.access-newsletter input",controllers:[{controller:"kiwi.controller.TextInputPromptController"}]},{pattern:"div.kc-flyout-container",controllers:[{controller:"kiwi.controller.FlyoutController",params:{}}]},{pattern:"#wow-module-most-popular-editor-picks .tabs-component",controllers:[{controller:"stdlib.controller.TabController"}]},{pattern:"#wow-sort-form",controllers:[{controller:"kiwi.controller.SortByController"}]},{pattern:"div.kc-header-flyout-container",controllers:[{controller:"kiwi.controller.FlyoutController",params:{rightOffset:135,topOffset:125}}]},{pattern:"#kc-root",controllers:[{controller:"kiwi.metricsMap.controller.MetricsController",params:{metricsMap:"kiwi.MetricsMap"}}]}];mojo.registerModulePath("kiwi","../../../../js/kiwi");mojo.registerModulePath("stdlib","../../../../js/stdlib");mojo.registerModulePath("extlib","../../../../js/extlib");mojo.require("mojo.controller.Map");mojo.require("kiwi.SiteMapWow");var init=function(){kiwi.locale=typeof window.kiwi_locale=="undefined"?"en_US":window.kiwi_locale;var a=mojo.controller.Map.getInstance();a.setSiteMap(kiwi.SiteMapWow);a.mapControllers(window.location.href)};kiwiUtils.addOnLoad(init);
