if(typeof Effect=="undefined"){throw ("lightwindow.js requires including script.aculo.us' effects.js library!")}try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}var lightwindow=Class.create();lightwindow.prototype={element:null,contentToFetch:null,windowActive:false,dataEffects:[],dimensions:{cruft:null,container:null,viewport:{height:null,width:null,offsetTop:null,offsetLeft:null}},pagePosition:{x:0,y:0},pageDimensions:{width:null,height:null},preloadImage:[],preloadedImage:[],resizeTo:{height:null,heightPercent:null,width:null,widthPercent:null,fixedTop:null,fixedLeft:null},scrollbarOffset:20,initialize:function(a){this.options=Object.extend({resizeSpeed:9,dimensions:{image:{height:250,width:250},page:{height:250,width:250},inline:{height:50,width:50},media:{height:250,width:250},external:{height:250,width:250},titleHeight:34},classNames:{standard:"lightwindow",action:"lightwindow_action"},fileTypes:{page:["asp","aspx","cgi","cfm","htm","html","pl","php4","php3","php","php5","phtml","rhtml","shtml","txt","vbs","rb"],media:["aif","aiff","asf","avi","divx","m1v","m2a","m2v","m3u","mid","midi","mov","moov","movie","mp2","mp3","mpa","mpa","mpe","mpeg","mpg","mpg","mpga","pps","qt","rm","ram","swf","viv","vivo","wav"],image:["bmp","gif","jpg","png","tiff"]},mimeTypes:{avi:"video/avi",aif:"audio/aiff",aiff:"audio/aiff",gif:"image/gif",bmp:"image/bmp",jpeg:"image/jpeg",m1v:"video/mpeg",m2a:"audio/mpeg",m2v:"video/mpeg",m3u:"audio/x-mpequrl",mid:"audio/x-midi",midi:"audio/x-midi",mjpg:"video/x-motion-jpeg",moov:"video/quicktime",mov:"video/quicktime",movie:"video/x-sgi-movie",mp2:"audio/mpeg",mp3:"audio/mpeg3",mpa:"audio/mpeg",mpa:"video/mpeg",mpe:"video/mpeg",mpeg:"video/mpeg",mpg:"audio/mpeg",mpg:"video/mpeg",mpga:"audio/mpeg",pdf:"application/pdf",png:"image/png",pps:"application/mspowerpoint",qt:"video/quicktime",ram:"audio/x-pn-realaudio-plugin",rm:"application/vnd.rn-realmedia",swf:"application/x-shockwave-flash",tiff:"image/tiff",viv:"video/vivo",vivo:"video/vivo",wav:"audio/wav",wmv:"application/x-mplayer2"},classids:{mov:"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",swf:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",wmv:"clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"},codebases:{mov:"http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0",swf:"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0",wmv:"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"},viewportPadding:10,EOLASFix:"swf,wmv,fla,flv",overlay:{opacity:0.7,image:myDeco.settings.STATIC_URL+"img/lightwindow-white.gif",presetImage:myDeco.settings.STATIC_URL+"img/lightwindow-white-70.png"},skin:{main:'<div id="lightwindow_container" ><div id="lightwindow_title_bar" ><div id="lightwindow_title_bar_inner" ><a id="lightwindow_title_bar_close_link" ></a><span id="lightwindow_title_bar_title"></span></div></div><div id="lightwindow_stage" ><div id="lightwindow_contents" ></div></div></div>',loading:'<div id="lightwindow_loading" style="width:200px"></div>',iframe:'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><body>{body_replace}</body></html>'},formMethod:"get",hideFlash:false,showTitleBar:true,animationHandler:false,transitionHandler:false,finalAnimationHandler:false,formHandler:false},a||{});this.duration=((11-this.options.resizeSpeed)*0.15);this._setupLinks();this._getScroll();this._getPageDimensions();this._browserDimensions();this._addLightWindowMarkup(false);this._setupDimensions()},activate:function(b,a){this._clearWindowContents(true);this._addLoadingWindowMarkup();this._setupWindowElements(a);this._getScroll();this._browserDimensions();this._setupDimensions();this._toggleTroubleElements("hidden",false);this._displayLightWindow("block","hidden");this._setStatus(true);this._monitorKeyboard(true);this._loadWindow()},deactivate:function(){this.windowActive=false;this.animating=false;this.element=null;this._displayLightWindow("none","visible");this._clearWindowContents(false);var a=Effect.Queues.get("lightwindowAnimation").each(function(b){b.cancel()});this._setupDimensions();this._toggleTroubleElements("visible",false);this._monitorKeyboard(false)},createWindow:function(b,a){this._processLink($(b))},activateWindow:function(a){this.element=Object.extend({href:null,title:null,caption:null,rel:null,top:null,left:null,type:null,showImages:null,height:null,width:null,loadingAnimation:null,iframeEmbed:null,form:null,fixedWindow:true,overlayId:""},a||{});if(this.element.type!=null){var b=this.options.dimensions[this.element.type];this.options.dimensions[this.element.type]={width:this.element.width||b.width,height:this.element.height||b.height}}this.contentToFetch=this.element.href;this.windowType=this.element.type?this.element.type:this._fileType(this.element.href);this._clearWindowContents(true);this._addLoadingWindowMarkup();this._getScroll();this._browserDimensions();this._setupDimensions();this._toggleTroubleElements("hidden",false);this._displayLightWindow("block","hidden");this._setStatus(true);this._monitorKeyboard(true);this._loadWindow()},submitForm:function(a){if(this.options.formHandler){this.options.formHandler(a)}else{this._defaultFormHandler(a)}},openWindow:function(a){var a=$(a);this.windowActive=true;this._clearWindowContents(true);this._addLoadingWindowMarkup();this._setupWindowElements(a);this._setStatus(true);this._handleTransition()},_setupLinks:function(){var a=$$("."+this.options.classNames.standard);a.each(function(b){this._processLink(b)}.bind(this))},_processLink:function(c){var b=c.getAttribute("href");if(b.indexOf("?")>-1){b=b.substring(0,b.indexOf("?"))}var a=b.substring(b.indexOf("#")+1);if($(a)){$(a).setStyle({display:"none"})}Event.observe(c,"click",this.activate.bindAsEventListener(this,c),false);c.onclick=function(){return false}},_setupActions:function(){var a=$$("#lightwindow_container ."+this.options.classNames.action);a.each(function(b){Event.observe(b,"click",this[b.getAttribute("rel")].bindAsEventListener(this,b),false);b.onclick=function(){return false}}.bind(this))},_addLightWindowMarkup:function(b){var c=Element.extend(document.createElement("div"));c.setAttribute("id","lightwindow_overlay");if(Prototype.Browser.Gecko){c.setStyle({backgroundImage:"url("+this.options.overlay.presetImage+")",backgroundRepeat:"repeat",height:this.pageDimensions.height+"px"})}else{c.setStyle({opacity:this.options.overlay.opacity,backgroundImage:"url("+this.options.overlay.image+")",backgroundRepeat:"repeat",height:this.pageDimensions.height+"px"})}var d=document.createElement("div");d.setAttribute("id","lightwindow");d.innerHTML=this.options.skin.main;var a=document.getElementsByTagName("body")[0];a.appendChild(c);a.appendChild(d);if($("lightwindow_title_bar_close_link")){Event.observe("lightwindow_title_bar_close_link","click",this.deactivate.bindAsEventListener(this));$("lightwindow_title_bar_close_link").onclick=function(){return false}}if(Prototype.Browser.IE){Event.observe(document,"mousewheel",this._stopScrolling.bindAsEventListener(this),false)}else{Event.observe(window,"DOMMouseScroll",this._stopScrolling.bindAsEventListener(this),false)}Event.observe(c,"click",this.deactivate.bindAsEventListener(this),false);c.onclick=function(){return false}},_addLoadingWindowMarkup:function(){$("lightwindow_contents").innerHTML+=this.options.skin.loading},_setupWindowElements:function(a){this.element=a;this.element.title=null?"":a.getAttribute("title");this.element.caption=null?"":a.getAttribute("caption");this.element.rel=null?"":a.getAttribute("rel");this.element.params=null?"":a.getAttribute("params");this.contentToFetch=this.element.href;this.windowType=this._getParameter("lightwindow_type")?this._getParameter("lightwindow_type"):this._fileType(this.contentToFetch)},_clearWindowContents:function(a){if($("lightwindow_iframe")){Element.remove($("lightwindow_iframe"))}if($("lightwindow_media_primary")){try{$("lightwindow_media_primary").Stop()}catch(b){}Element.remove($("lightwindow_media_primary"))}if($("lightwindow_media_secondary")){try{$("lightwindow_media_secondary").Stop()}catch(b){}Element.remove($("lightwindow_media_secondary"))}if(a){$("lightwindow_contents").innerHTML="";if(!this.windowActive){$("lightwindow_title_bar_title").innerHTML=""}}this.resizeTo.height=null;this.resizeTo.width=null},_setStatus:function(a){this.animating=a;if(a){Element.show("lightwindow_loading")}if(!(/MSIE 6./i.test(navigator.userAgent))){if(this.element.fixedWindow){this._fixedWindow(a)}}},_fixedWindow:function(a){if(a){if(this.windowActive){this._getScroll();$("lightwindow").setStyle({position:"absolute",top:parseFloat($("lightwindow").getStyle("top"))+this.pagePosition.y+"px",left:parseFloat($("lightwindow").getStyle("left"))+this.pagePosition.x+"px"})}else{$("lightwindow").setStyle({position:"absolute"})}}else{if(this.windowActive){this._getScroll();$("lightwindow").setStyle({position:"fixed",top:parseFloat($("lightwindow").getStyle("top"))-this.pagePosition.y+"px",left:parseFloat($("lightwindow").getStyle("left"))-this.pagePosition.x+"px"})}else{if($("lightwindow_iframe")){this._browserDimensions()}$("lightwindow").setStyle({position:"fixed",top:(parseFloat(this._getParameter("lightwindow_top"))?parseFloat(this._getParameter("lightwindow_top"))+"px":this.dimensions.viewport.height/2+"px"),left:(parseFloat(this._getParameter("lightwindow_left"))?parseFloat(this._getParameter("lightwindow_left"))+"px":this.dimensions.viewport.width/2+"px")})}}},_prepareIE:function(c){if(Prototype.Browser.IE){var b,f,d;if(c){var b="100%"}else{var b="auto"}var a=document.getElementsByTagName("body")[0];var g=document.getElementsByTagName("html")[0];g.style.height=a.style.height=b}},_stopScrolling:function(a){if(this.animating){if(a.preventDefault){a.preventDefault()}a.returnValue=false}},_getScroll:function(){if(typeof(window.pageYOffset)=="number"){this.pagePosition.x=window.pageXOffset;this.pagePosition.y=window.pageYOffset}else{if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){this.pagePosition.x=document.body.scrollLeft;this.pagePosition.y=document.body.scrollTop}else{if(document.documentElement){this.pagePosition.x=document.documentElement.scrollLeft;this.pagePosition.y=document.documentElement.scrollTop}}}},_setScroll:function(a,b){document.documentElement.scrollLeft=a;document.documentElement.scrollTop=b},_toggleTroubleElements:function(a,d){if(d){var c=$("lightwindow_contents").getElementsByTagName("select")}else{var c=document.getElementsByTagName("select")}for(var b=0;b<c.length;b++){c[b].style.visibility=a}if(!d){if(this.options.hideFlash){var g=document.getElementsByTagName("object");for(b=0;b!=g.length;b++){g[b].style.visibility=a}var f=document.getElementsByTagName("embed");for(b=0;b!=f.length;b++){f[b].style.visibility=a}}var h=document.getElementsByTagName("iframe");for(b=0;b!=h.length;b++){h[b].style.visibility=a}}},_getPageDimensions:function(){var c,a;if(window.innerHeight&&window.scrollMaxY){c=document.body.scrollWidth;a=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){c=document.body.scrollWidth;a=document.body.scrollHeight}else{c=document.body.offsetWidth;a=document.body.offsetHeight}}var b,d;if(self.innerHeight){b=self.innerWidth;d=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){b=document.documentElement.clientWidth;d=document.documentElement.clientHeight}else{if(document.body){b=document.body.clientWidth;d=document.body.clientHeight}}}if(a<d){this.pageDimensions.height=d}else{this.pageDimensions.height=a}if(c<b){this.pageDimensions.width=b}else{this.pageDimensions.width=c}},_displayLightWindow:function(b,a){$("lightwindow_overlay").style.display=$("lightwindow").style.display=$("lightwindow_container").style.display=b;$("lightwindow_overlay").style.visibility=$("lightwindow").style.visibility=$("lightwindow_container").style.visibility=a},_setupDimensions:function(){var c,d;switch(this.windowType){case"page":c=this.options.dimensions.page.height;d=this.options.dimensions.page.width;break;case"image":c=this.options.dimensions.image.height;d=this.options.dimensions.image.width;break;case"media":c=this.options.dimensions.media.height;d=this.options.dimensions.media.width;break;case"external":c=this.options.dimensions.external.height;d=this.options.dimensions.external.width;break;case"inline":c=this.options.dimensions.inline.height;d=this.options.dimensions.inline.width;break;default:c=this.options.dimensions.page.height;d=this.options.dimensions.page.width;break}var a=this._getParameter("lightwindow_top")?parseFloat(this._getParameter("lightwindow_top"))+this.pagePosition.y:this.dimensions.viewport.height/2+this.pagePosition.y;var b=this._getParameter("lightwindow_left")?parseFloat(this._getParameter("lightwindow_left"))+this.pagePosition.x:this.dimensions.viewport.width/2+this.pagePosition.x;$("lightwindow").setStyle({top:a+"px",left:b+"px"});$("lightwindow_container").setStyle({left:-(d/2)+"px",top:-(c/2)+"px",width:d+22+"px"});$("lightwindow_contents").setStyle({height:c+"px",width:d+"px"})},_fileType:function(a){var f=new RegExp("[^.].("+this.options.fileTypes.image.join("|")+")s*$","i");if(f.test(a)){return"image"}if(a.indexOf("#")>-1&&(document.domain==this._getDomain(a))){return"inline"}if(a.indexOf("?")>-1){a=a.substring(0,a.indexOf("?"))}var b="unknown";var c=new RegExp("[^.].("+this.options.fileTypes.page.join("|")+")s*$","i");var d=new RegExp("[^.].("+this.options.fileTypes.media.join("|")+")s*$","i");if(document.domain!=this._getDomain(a)){b="external"}if(d.test(a)){b="media"}if(b=="external"||b=="media"){return b}if(c.test(a)||a.substr((a.length-1),a.length)=="/"){b="page"}return b},_fileExtension:function(c){if(c.indexOf("?")>-1){c=c.substring(0,c.indexOf("?"))}var b="";for(var a=(c.length-1);a>-1;a--){if(c.charAt(a)=="."){return b}b=c.charAt(a)+b}},_monitorKeyboard:function(a){if(a){document.onkeydown=this._eventKeypress.bind(this)}else{document.onkeydown=""}},_eventKeypress:function(b){if(b==null){var a=event.keyCode}else{var a=b.which}switch(a){case 27:this.deactivate();break;case 13:return;default:break}if(this.animating){return false}},_getDomain:function(f){var h=f.indexOf("//");var b=h+2;var d=f.substring(b,f.length);var a=d.indexOf("/");var g=d.substring(0,a);if(g.indexOf(":")>-1){var c=g.indexOf(":");g=g.substring(0,c)}return g},_getParameter:function(j,d){if(!this.element){return false}if(j=="lightwindow_top"&&this.element.top){return unescape(this.element.top)}else{if(j=="lightwindow_left"&&this.element.left){return unescape(this.element.left)}else{if(j=="lightwindow_type"&&this.element.type){return unescape(this.element.type)}else{if(j=="lightwindow_show_images"&&this.element.showImages){return unescape(this.element.showImages)}else{if(j=="lightwindow_height"&&this.element.height){return unescape(this.element.height)}else{if(j=="lightwindow_width"&&this.element.width){return unescape(this.element.width)}else{if(j=="lightwindow_loading_animation"&&this.element.loadingAnimation){return unescape(this.element.loadingAnimation)}else{if(j=="lightwindow_iframe_embed"&&this.element.iframeEmbed){return unescape(this.element.iframeEmbed)}else{if(j=="lightwindow_form"&&this.element.form){return unescape(this.element.form)}else{if(!d){if(this.element.params){d=this.element.params}else{return}}var g;var f=d.split(",");var c=j+"=";var h=c.length;for(var b=0;b<f.length;b++){if(f[b].substr(0,h)==c){var a=f[b].split("=");g=a[1];break}}if(!g){return false}else{return unescape(g)}}}}}}}}}}},_browserDimensions:function(){if(Prototype.Browser.IE){this.dimensions.viewport.height=document.documentElement.clientHeight;this.dimensions.viewport.width=document.documentElement.clientWidth}else{this.dimensions.viewport.height=window.innerHeight;this.dimensions.viewport.width=document.width||document.body.offsetWidth}},_getScrollerWidth:function(){var f=Element.extend(document.createElement("div"));f.setAttribute("id","lightwindow_scroll_div");f.setStyle({position:"absolute",top:"-10000px",left:"-10000px",width:"100px",height:"100px",overflow:"hidden"});var c=Element.extend(document.createElement("div"));c.setAttribute("id","lightwindow_content_scroll_div");c.setStyle({width:"100%",height:"200px"});f.appendChild(c);var b=document.getElementsByTagName("body")[0];b.appendChild(f);var d=$("lightwindow_content_scroll_div").offsetWidth;f.style.overflow="auto";var a=$("lightwindow_content_scroll_div").offsetWidth;Element.remove($("lightwindow_scroll_div"));this.scrollbarOffset=d-a},_addParamToObject:function(b,c,a,f){var d=document.createElement("param");d.setAttribute("value",c);d.setAttribute("name",b);if(f){d.setAttribute("id",f)}a.appendChild(d);return a},_outerHTML:function(a){if(Prototype.Browser.IE){return a.outerHTML}else{var c=a.cloneNode(true);var b=document.createElement("div");b.appendChild(c);return b.innerHTML}},_convertToMarkup:function(c,b){var a=this._outerHTML(c).replace("</"+b+">","");if(Prototype.Browser.IE){for(var d=0;d<c.childNodes.length;d++){a+=this._outerHTML(c.childNodes[d])}a+="</"+b+">"}return a},_appendObject:function(c,b,a){if(Prototype.Browser.IE){a.innerHTML+=this._convertToMarkup(c,b);if(this.options.EOLASFix.indexOf(this._fileType(this.element.href))>-1){var f=document.getElementsByTagName("object");for(var d=0;d<f.length;d++){if(f[d].getAttribute("data")){f[d].removeAttribute("data")}f[d].outerHTML=f[d].outerHTML;f[d].style.visibility="visible"}}}else{a.appendChild(c)}},_appendIframe:function(a){var b=document.createElement("iframe");b.setAttribute("id","lightwindow_iframe");b.setAttribute("name","lightwindow_iframe");b.setAttribute("src","about:blank");b.setAttribute("height","100%");b.setAttribute("width","100%");b.setAttribute("frameborder","0");b.setAttribute("marginwidth","0");b.setAttribute("marginheight","0");b.setAttribute("scrolling",a);this._appendObject(b,"iframe",$("lightwindow_contents"))},_writeToIframe:function(b){var a=this.options.skin.iframe;a=a.replace("{body_replace}",b);if($("lightwindow_iframe").contentWindow){$("lightwindow_iframe").contentWindow.document.open();$("lightwindow_iframe").contentWindow.document.write(a);$("lightwindow_iframe").contentWindow.document.close()}else{$("lightwindow_iframe").contentDocument.open();$("lightwindow_iframe").contentDocument.write(a);$("lightwindow_iframe").contentDocument.close()}},_loadWindow:function(){switch(this.windowType){case"image":var c=$("lightwindow_contents"),h=new Element("div",{id:"lightwindow_image_div"}),d=new Element("img",{id:"lightwindow_image",border:"0",src:this.contentToFetch});this.resizeTo.height=this.resizeTo.width=0;c.appendChild(h);h.appendChild(d);var b=false;if(this.element.rel){b=new Element("div",{id:"lightwindow_credits"}).update(this.element.rel);c.appendChild(b)}this.checkImage=new PeriodicalExecuter(function(){if(d==null){return}if(d.complete&&!(typeof d.naturalWidth!="undefined"&&d.naturalWidth==0)){this.checkImage.stop();var i=d.getHeight(),j=d.getWidth();this.resizeTo.height=i;this.resizeTo.width+=d.getWidth();d.setStyle({height:"100%",width:"100%"});this._processWindow()}}.bind(this),1);break;case"media":var g=0;this.resizeTo.height=this.resizeTo.width=0;if(this._getParameter("lightwindow_iframe_embed")){this.resizeTo.height=this.dimensions.viewport.height;this.resizeTo.width=this.dimensions.viewport.width}else{this.resizeTo.height=this._getParameter("lightwindow_height");this.resizeTo.width=this._getParameter("lightwindow_width")}this._processWindow();break;case"external":this._appendIframe("auto");this.resizeTo.height=this.dimensions.viewport.height;this.resizeTo.width=this.dimensions.viewport.width;this._processWindow();break;case"page":var a=new Ajax.Request(this.contentToFetch,{method:"get",parameters:"",onComplete:function(i){$("lightwindow_contents").innerHTML+=i.responseText;this.resizeTo.height=$("lightwindow_contents").scrollHeight;this.resizeTo.width=$("lightwindow_contents").scrollWidth;this._processWindow()}.bind(this)});break;case"inline":var f=this.contentToFetch;f=f.substring(f.indexOf("#")+1);new Insertion.Top($("lightwindow_contents"),$(f).innerHTML);if(Prototype.Browser.Gecko){this.resizeTo.height=$("lightwindow_contents").scrollHeight+1;this.resizeTo.width=$("lightwindow_contents").scrollWidth+2}else{if(Prototype.Browser.Opera){this.resizeTo.height=$("lightwindow_contents").scrollHeight;this.resizeTo.width=$("lightwindow_contents").scrollWidth}else{if(Prototype.Browser.IE){this.resizeTo.height=$("lightwindow_contents").scrollHeight-3;this.resizeTo.width=$("lightwindow_contents").scrollWidth+2}else{this.resizeTo.height=$("lightwindow_contents").scrollHeight;this.resizeTo.width=$("lightwindow_contents").scrollWidth+1}}}this._toggleTroubleElements("hidden",true);this._processWindow();break;default:throw ("Page Type could not be determined, please amend this lightwindow URL "+this.contentToFetch);break}},_resizeWindowToFit:function(){if(this.resizeTo.height+this.dimensions.cruft.height>this.dimensions.viewport.height){var a=this.resizeTo.height/this.resizeTo.width;this.resizeTo.height=this.dimensions.viewport.height-this.dimensions.cruft.height-(2*this.options.viewportPadding);if(this.windowType=="image"||(this.windowType=="media"&&!this._getParameter("lightwindow_iframe_embed"))){this.resizeTo.width=this.resizeTo.height/a}}if(this.resizeTo.width+this.dimensions.cruft.width>this.dimensions.viewport.width){var b=this.resizeTo.width/this.resizeTo.height;this.resizeTo.width=this.dimensions.viewport.width-2*this.dimensions.cruft.width-(2*this.options.viewportPadding);if(this.windowType=="image"||(this.windowType=="media"&&!this._getParameter("lightwindow_iframe_embed"))){this.resizeTo.height=this.resizeTo.width/b}}},_presetWindowSize:function(){if(this._getParameter("lightwindow_height")){this.resizeTo.height=parseFloat(this._getParameter("lightwindow_height"))}if(this._getParameter("lightwindow_width")){this.resizeTo.width=parseFloat(this._getParameter("lightwindow_width"))}},_processWindow:function(){this.dimensions.dataEffects=[];if(this.element.title!="null"){$("lightwindow_title_bar_title").innerHTML=this.element.title}else{$("lightwindow_title_bar_title").innerHTML=""}$("lightwindow_container").setStyle({height:"auto",width:$("lightwindow_container").getWidth()+"px"});this.dimensions.container={height:$("lightwindow_container").getHeight(),width:$("lightwindow_container").getWidth()};this.dimensions.cruft={height:this.dimensions.container.height-parseInt($("lightwindow_contents").style.height),width:this.dimensions.container.width-parseInt($("lightwindow_contents").style.width)};this._presetWindowSize();this._resizeWindowToFit();if(!this.windowActive){$("lightwindow_container").setStyle({left:-Math.round((this.dimensions.container.width/2))+"px",top:-Math.round((this.dimensions.container.height/2))+"px"})}$("lightwindow_container").setStyle({height:this.dimensions.container.height+"px",width:this.dimensions.container.width+"px"});this._displayLightWindow("block","visible");Element.hide("lightwindow_loading");this._animateLightWindow()},_animateLightWindow:function(){if(this.options.animationHandler){this.options.animationHandler().bind(this)}else{this._defaultAnimationHandler()}},_handleTransition:function(){if(this.options.transitionHandler){this.options.transitionHandler().bind(this)}else{this._defaultTransitionHandler()}},_handleFinalWindowAnimation:function(a){if(this.options.finalAnimationHandler){this.options.finalAnimationHandler().bind(this,a)}else{this._defaultfinalWindowAnimationHandler(a)}},_defaultAnimationHandler:function(){var b=$("lightwindow_title_bar_inner"),c=$("lightwindow_container"),a=$("lightwindow_contents");b.setStyle({height:"0px",marginTop:this.options.dimensions.titleHeight+"px"});this.dimensions.container={width:this.resizeTo.width+this.dimensions.cruft.width,height:this.resizeTo.height+this.dimensions.cruft.height};new Effect.Parallel([new Effect.Scale(c,100*(this.dimensions.container.width+2)/c.getWidth(),{sync:true,scaleY:false,scaleContent:false,scaleFromCenter:true}),new Effect.Scale(c,100*(this.dimensions.container.height+2)/c.getHeight(),{sync:true,scaleX:false,scaleContent:false,scaleFromCenter:true}),new Effect.Scale(a,100*(this.resizeTo.width+2)/parseInt(a.style.width),{sync:true,scaleY:false,scaleMode:{originalWidth:parseInt(a.style.width)}}),new Effect.Scale(a,100*(this.resizeTo.height+2)/parseInt(a.style.height),{sync:true,scaleX:false,scaleMode:{originalHeight:parseInt(a.style.height)}})],{duration:this.duration,afterFinish:function(){new Effect.Parallel([new Effect.Morph(b,{sync:true,style:{height:this.options.dimensions.titleHeight+"px",marginTop:"0px"}}),new Effect.Appear(b,{sync:true,from:0,to:1})],{duration:this.duration,afterFinish:function(){this._finishWindow()}.bind(this),queue:{position:"end",scope:"lightwindowAnimation"}})}.bind(this),queue:{position:"end",scope:"lightwindowAnimation"}})},_defaultfinalWindowAnimationHandler:function(a){if(this.windowType=="media"||this._getParameter("lightwindow_loading_animation")){Element.hide("lightwindow_loading");this._setStatus(false)}else{Effect.Fade("lightwindow_loading",{duration:0.75,delay:1,afterFinish:function(){this._setStatus(false)}.bind(this),queue:{position:"end",scope:"lightwindowAnimation"}})}},_defaultTransitionHandler:function(){this.dimensions.dataEffects=[];if($("lightwindow_data_slide").getStyle("display")!="none"){this.dimensions.dataEffects.push(new Effect.SlideUp("lightwindow_data_slide",{sync:true}),new Effect.Fade("lightwindow_data_slide",{sync:true,from:1,to:0}))}this.dimensions.dataEffects.push(new Effect.Morph("lightwindow_title_bar_inner",{sync:true,style:{height:"0px",marginTop:this.options.dimensions.titleHeight+"px"}}),new Effect.Fade("lightwindow_title_bar_inner",{sync:true,from:1,to:0}));new Effect.Parallel(this.dimensions.dataEffects,{duration:this.duration,afterFinish:function(){this._loadWindow()}.bind(this),queue:{position:"end",scope:"lightwindowAnimation"}})},_defaultFormHandler:function(d){var b=Event.element(d).parentNode;var c=Form.serialize(this._getParameter("lightwindow_form",b.getAttribute("params")));if(this.options.formMethod=="post"){var a=new Ajax.Request(b.href,{method:"post",postBody:c,onComplete:this.openWindow.bind(this,b)})}else{if(this.options.formMethod=="get"){var a=new Ajax.Request(b.href,{method:"get",parameters:c,onComplete:this.openWindow.bind(this,b)})}}},_finishWindow:function(){var b=$("lightwindow_contents"),c=$("lightwindow_container");b.setStyle({overflow:"auto"});if(b.scrollHeight>b.clientHeight){c.style.width=parseInt(c.style.width)+this.scrollbarOffset+"px";c.style.left=parseInt(c.style.left)-Math.round(this.scrollbarOffset/2)+"px";b.style.width=parseInt(b.style.width)+this.scrollbarOffset+"px"}if(this.windowType=="external"){$("lightwindow_iframe").setAttribute("src",this.element.href);this._handleFinalWindowAnimation(1)}else{if(this.windowType=="media"){var d=document.createElement("object");d.setAttribute("classid",this.options.classids[this._fileExtension(this.contentToFetch)]);d.setAttribute("codebase",this.options.codebases[this._fileExtension(this.contentToFetch)]);d.setAttribute("id","lightwindow_media_primary");d.setAttribute("name","lightwindow_media_primary");d.setAttribute("width",this.resizeTo.width);d.setAttribute("height",this.resizeTo.height);d=this._addParamToObject("movie",this.contentToFetch,d);d=this._addParamToObject("src",this.contentToFetch,d);d=this._addParamToObject("controller","true",d);d=this._addParamToObject("wmode","transparent",d);d=this._addParamToObject("cache","false",d);d=this._addParamToObject("quality","high",d);if(!Prototype.Browser.IE){var a=document.createElement("object");a.setAttribute("type",this.options.mimeTypes[this._fileExtension(this.contentToFetch)]);a.setAttribute("data",this.contentToFetch);a.setAttribute("id","lightwindow_media_secondary");a.setAttribute("name","lightwindow_media_secondary");a.setAttribute("width",this.resizeTo.width);a.setAttribute("height",this.resizeTo.height);a=this._addParamToObject("controller","true",a);a=this._addParamToObject("wmode","transparent",a);a=this._addParamToObject("cache","false",a);a=this._addParamToObject("quality","high",a);d.appendChild(a)}if(this._getParameter("lightwindow_iframe_embed")){this._appendIframe("no");this._writeToIframe(this._convertToMarkup(d,"object"))}else{this._appendObject(d,"object",b)}this._handleFinalWindowAnimation(0)}else{this._handleFinalWindowAnimation(0)}}this._setupActions()}};Event.observe(window,"load",lightwindowInit,false);var myLightWindow=null;function lightwindowInit(){myLightWindow=new lightwindow()}myDeco.btl_products={init:function(){try{myDeco.btl_products.btl_id=$("btl_id").innerHTML;if(!myDecoData.BTLSnapMap){return}myDeco.btl_products.snap_map=myDecoData.BTLSnapMap;myDeco.btl_products.snap_points=$A();myDeco.btl_products.snap_map.each(function(b){myDeco.btl_products.snap_points[myDeco.btl_products.snap_points.length]=parseFloat(b[1].price)});myDeco.btl_products.showButtons();myDeco.btl_products.cache_map=new Hash({});myDeco.btl_products.cacheCurrentProducts();myDeco.btl_products.showSlider();myDeco.btl_products.curr_selected_point=null}catch(a){console.log("Error : btl_products.js : myDeco.btl_products.init : "+a)}},showSlider:function(){try{var b=parseFloat(myDeco.btl_products.snap_points[0]),c=parseFloat(myDeco.btl_products.snap_points[myDeco.btl_products.snap_points.length-1]),h=parseFloat(myDeco.btl_products.snap_points[myDeco.btl_products.snap_points.length-1]),a=document.location.href.toQueryParams();if(a.btl_price){c=Math.round(parseFloat(a.btl_price))}var f=Builder.node("div",{id:"price-slider"},Builder.node("div",{id:"price-slider-container"},[Builder.node("div",{id:"price-slider-track",className:"slider-track"},[Builder.node("div",{id:"price-slider-handler",className:"slider-handle"},[Builder.node("div",{id:"price-slider-blue-bubble",className:"blue-bubble",style:"display: none"},[Builder.node("div",{id:"price-slider-bb-text",className:"blue-bubble-text"},"Under <br />"+myDeco.settings.LOCALECONV.currency_symbol)]),Builder.node("div",{id:"slideme-blue-bubble",className:"slide-me blue-bubble",style:"display: block"},[Builder.node("div",{id:"price-slider-bb-text",className:"blue-bubble-text"},"Slide Me")])])]),Builder.node("div",{id:"price-slider-current"},[myDeco.settings.LOCALECONV.currency_symbol,Builder.node("span",{id:"total-btl-price"},c)]),Builder.node("div",{id:"price-slider-min-label",className:"slider-label"},myDeco.settings.LOCALECONV.currency_symbol+Math.round(b)),Builder.node("div",{id:"price-slider-max-label",className:"slider-label"},myDeco.settings.LOCALECONV.currency_symbol+Math.round(h)),Builder.node("div",{id:"price-slider-range-label",className:"slider-label"},"Price range")]));$("price-range").appendChild(f);var d=new Control.Slider("price-slider-handler","price-slider-track",{range:$R(b,h),sliderValue:c,onSlide:myDeco.btl_products.slideToPoint,onChange:myDeco.btl_products.slidePointSelected});myDeco.btl_products.slider=d;$("price-slider-current").style.display="block";var i=(document.URL).toQueryParams();if((i.btl_price!=null&&i.btl_price!=undefined)&&myDeco.btl_products.snap_points.indexOf(i.btl_price)>=0){setTimeout(function(){myDeco.btl_products.slideToPoint(i.btl_price);myDeco.btl_products.slider.setValue(i.btl_price)},1000)}setTimeout(function(){new Effect.Opacity("slideme-blue-bubble",{duration:2,from:1,to:0})},5500)}catch(g){console.log("Error : btl_products.js : myDeco.btl_products.showSlider : "+g)}},showButtons:function(a){if(a==null){a=""}else{a="#"+a+" "}try{var b=$$(a+".switch-prod-buttons a");b.each(function(d){if(d.href!=""){Event.observe(d,"click",function(f){Event.stop(f);myDeco.btl_products.btnChangeProduct(d.href,d.parentNode.parentNode.parentNode)})}})}catch(c){console.log("Error : btl_products.js : myDeco.btl_products.showButtons : "+c)}myDeco.shortlist.updateUrls()},slideToPoint:function(a){$("price-slider-bb-text").innerHTML="Under <br />"+myDeco.settings.LOCALECONV.currency_symbol+Math.round(a);$("price-slider-blue-bubble").style.display="block";myDeco.btl_products.isSliding=true},slidePointSelected:function(k){if(myDeco.btl_products.isSliding){var i=k;var j=parseFloat(myDeco.btl_products.snap_points[0]);var h=parseFloat(myDeco.btl_products.snap_points[myDeco.btl_products.snap_points.length-1]);var d=h;var a;var f;myDeco.btl_products.snap_points.each(function(m){if(Math.abs(m-i)<d){d=Math.abs(m-i);f=m}});myDeco.btl_products.isSliding=false;myDeco.btl_products.curr_selected_point=f;var l=$A();myDeco.btl_products.snap_map.each(function(m){m=m[1];if(parseFloat(m.price)==f){l=$A(m.products)}});var c=myDeco.btl_products.cache_map.keys();var b=[];l.each(function(m){if(c.indexOf(m)==-1){b.push(m)}});if(b.length>0){var g=myDeco.urls.getBTLProducts+"?id="+myDeco.btl_products.btl_id+"&"+($H({guid:b})).toQueryString();new Effect.Opacity($$(".products-set")[0],{duration:0.2,from:1,to:0.2});myDeco.btl_products.fetchProducts(g,myDeco.btl_products.onListFetchSuccess)}else{new Effect.Opacity($$(".products-set")[0],{duration:0.2,from:1,to:0.2});myDeco.btl_products.updateAndRenderListFromCache();new Effect.Opacity($$(".products-set")[0],{duration:0.2,from:0.2,to:1})}setTimeout(function(){myDeco.btl_products.updateSliderToReflectPrice()},400);$("price-slider-bb-text").innerHTML=myDeco.settings.LOCALECONV.currency_symbol+Math.round(k);$("price-slider-blue-bubble").style.display="block";setTimeout(function(){$("price-slider-blue-bubble").style.display="none"},1500)}$("price-slider-bb-text").innerHTML="Under <br />"+myDeco.settings.LOCALECONV.currency_symbol+(Math.ceil(k/100)*100);myDeco.btl_products.isSliding=false},cacheCurrentProducts:function(){var a=$$(".product-container");if(a&&!Prototype.Browser.IE){a.each(function(d){var b=(d.childElements())[0].id;var c=d.innerHTML;myDeco.btl_products.cache_map.set(b,c)})}},btnChangeProduct:function(c,a){var b=c.substr(c.lastIndexOf("#")+1);myDeco.btl_products.single_current_prod_id=b;myDeco.btl_products.single_current_slot_id=a.id;new Effect.Opacity(a,{duration:0.2,from:1,to:0.2});var f=myDeco.btl_products.cache_map.get(b);if(f==null){var d=myDeco.urls.getBTLProducts+"?id="+myDeco.btl_products.btl_id+"&guid="+b;myDeco.btl_products.updatingProduct=a;myDeco.btl_products.fetchProducts(d,myDeco.btl_products.onItemFetchSuccess)}else{myDeco.btl_products.updateAndRenderItemFromCache();new Effect.Opacity(a,{duration:0.2,from:0.2,to:1})}},fetchProducts:function(c,a){try{new Ajax.Request(c,{method:"get",onCreate:function(){},onSuccess:function(d){a.apply(myDeco.btl_products,[d])},onFailure:function(d){console.log("btl product request failed")}})}catch(b){console.log("Error: btl_products.js: myDeco.btl_products.slidePointSelected "+b)}},onItemFetchSuccess:function(c){try{var a=c.responseText.evalJSON();console.log(a);myDeco.btl_products.cache_map=myDeco.btl_products.cache_map.update($H(a));myDeco.btl_products.updateAndRenderItemFromCache();new Effect.Opacity($(myDeco.btl_products.single_current_slot_id),{duration:0.2,from:0.2,to:1})}catch(b){console.log("Error: btl_products.js: myDeco.btl_products.onItemFetchSuccess "+b)}},updateAndRenderItemFromCache:function(){myDeco.btl_products.renderProdToSlot(myDeco.btl_products.single_current_prod_id,myDeco.btl_products.single_current_slot_id);myDeco.btl_products.calcAndRenderPriceSet();myDeco.btl_products.updateSliderToReflectPrice();myDeco.btl_products.showButtons(myDeco.btl_products.single_current_slot_id)},onListFetchSuccess:function(c){try{var a=c.responseText.evalJSON();myDeco.btl_products.cache_map=myDeco.btl_products.cache_map.update($H(a));myDeco.btl_products.updateAndRenderListFromCache();new Effect.Opacity($$(".products-set")[0],{duration:0.2,from:0.2,to:1})}catch(b){console.log("Error: btl_products.js: myDeco.btl_products.onListFetchSuccess "+b)}},updateAndRenderListFromCache:function(){var b=$A();myDeco.btl_products.snap_map.each(function(c){c=c[1];if(parseFloat(c.price)==myDeco.btl_products.curr_selected_point){b=$A(c.products);if(c.photo){$("btl-image").src=c.photo;$("btl-image-enlarge").href=c.full_photo}}if(parseFloat(c.price)==myDeco.btl_products.curr_selected_point){if(c.room_ws_url){if(!$("save-room-utility").visible()){$("save-room-utility").toggle()}$("room-edit-popup").rel=c.room_ws_url;$("room-edit-popup").removeClassName("decorated-photo");$("room-edit-popup").removeClassName("furnished-photo");$("room-edit-popup").removeClassName("3d");$("room-edit-popup").addClassName(c.room_type)}else{if($("save-room-utility").visible()){$("save-room-utility").toggle()}}}});var a=0;b.each(function(c){myDeco.btl_products.renderProdToSlot(c,"product-container-"+a);a++});myDeco.btl_products.renderPriceSet();myDeco.btl_products.showButtons()},renderPriceSet:function(){$("total-btl-price").innerHTML=Math.round(myDeco.btl_products.curr_selected_point)},calcAndRenderPriceSet:function(){var a=0;$$(".product-price")._each(function(b){a+=parseFloat(b.innerHTML.match(/[0-9,\.]+/).pop().replace(/,/,""))||0});$("total-btl-price").update(Math.floor(a*100)/100)},updateSliderToReflectPrice:function(){myDeco.btl_products.isSliding=false;var a=parseFloat($("total-btl-price").innerHTML);if(!isNaN(a)){myDeco.btl_products.slider.setValue(a)}},renderProdToSlot:function(c,a){var b=$(a);if(myDeco.btl_products.cache_map.get(c)==null){b.innerHTML=""}else{b.innerHTML=myDeco.btl_products.cache_map.get(c)}}};addLoadEvent(myDeco.btl_products.init,true);