

// Filename: /javascript/behaviour.js
// Was: 0, now: 0, compression: NaN%


// Filename: /javascript/last_pages_visited.js
// Was: 0, now: 0, compression: NaN%


// Filename: /javascript/mmscripts.js
// Was: 7775, now: 5621, compression: 28%

function MakePopUps(eles){eles.forEach(function(link){if(link.getAttribute('type')=='popup'){link.addEvent('click',function(){return popup(this.href)});link.title+=' (Popup)';}});}
window.addEvent('domready',function(){MakePopUps($(document.body).getElements('a'));});function slide(link,ele_id){if($(ele_id)){if(link){if(String(link.innerHTML).toLowerCase().indexOf('hide')>-1){sliders.get(ele_id).slideOut();link.innerHTML=link.innerHTML.replace('hide','show').replace('Hide','Show');}else{sliders.get(ele_id).slideIn();link.innerHTML=link.innerHTML.replace('show','hide').replace('Show','Hide');}}
else
{sliders.get(ele_id).slideIn();}}
return false;}
var sliders=new Hash();window.addEvent("domready",function(){$(document.documentElement).getElements('.slider').each(function(element){var elem=$(element.id).setStyle('display','block');var slider=new Fx.Slide(element.id,{mode:'vertical'}).slideOut();sliders.set(element.id,slider);});});function popup(url,name,options){name=name?name:"unknown";options=options?options:{};var width=options['width']?options['width']:1000;var height=options['height']?options['height']:500;newwindow=window.open(url,name,'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width='+width+',height='+height);if(window.focus){newwindow.focus()}
return false;}
function selected_value(ele)
{return ele.options[ele.selectedIndex].value;}
function isVoid(p_strVal){return(typeof(p_strVal)=='undefined'||p_strVal==null||p_strVal==""||String(p_strVal)==""||String(p_strVal)=="undefined"||String(p_strVal)=="null");}
function check_for_debug_info(frm)
{if(location.search.length==0||location.search.indexOf("debug=")==-1)
{return;}
frm=frm||(document.forms.length>0?document.forms[0]:null);if(frm)
{if(frm.debug){frm.debug.value="true";}
eleArray=new Array();for(var i=0;i<frm.elements.length;i++)
{var ele=frm.elements[i];eleArray.push(ele.name+": \t"+ele.value);}
alert("Debug information for form: "+frm.id+":\n\n"+eleArray.join("\n\t"));}}
function addReferrerTag(ref_value,ref_tag)
{if(!document.getElementsByTagName)
{return;}
ref_tag=ref_tag?ref_tag:"ref";links=document.getElementsByTagName("a");var link_total=links.length;for(var i=0;i<link_total;i++)
{var link=links[i];if(link.href.indexOf(ref_tag+"=")==-1&&link.href.indexOf("javascript")==-1&&link.href.indexOf("#")<1)
{if(link.href.indexOf("?")>-1)
{link.href+="&"+ref_tag+"="+ref_value;}
else
{link.href+="?"+ref_tag+"="+ref_value;}}}}
function setCookie(name,value,expires,path,domain){var thisCookie=new String(escape(name)+'='+escape(value)),days=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'),months=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');if(expires){expires=new Date(expires);thisCookie+=';EXPIRES='+
days[expires.getUTCDay()]+', '+
(expires.getUTCDate()<10?'0':'')+expires.getUTCDate()+'-'+
months[expires.getUTCMonth()]+'-'+
String(expires.getUTCFullYear()).substring(1)+' '+
(expires.getUTCHours()<10?'0':'')+expires.getUTCHours()+':'+
(expires.getUTCMinutes()<10?'0':'')+expires.getUTCMinutes()+':'+
(expires.getUTCSeconds()<10?'0':'')+expires.getUTCSeconds()+' GMT';}
if(path){thisCookie+=';PATH='+path;}
if(domain){thisCookie+=';DOMAIN='+domain;}
document.cookie=thisCookie;}
function getCookie(name){var c=new String(document.cookie).split(/; /),p;for(var i=0;i<c.length;i++){p=c[i].split('=');if(p[0]==escape(name))return unescape(String(p[1]).replace(/\+/g,' '));}
return'';}
function deleteCookie(name,path,domain){if(getCookie(name)){document.cookie=name+"="+
((path)?"; path="+path:"")+
((domain)?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT";}}
function MM_preloadImages(){var d=document;if(d.images){if(!d.MM_p)d.MM_p=new Array();var i,j=d.MM_p.length,a=MM_preloadImages.arguments;for(i=0;i<a.length;i++)
if(a[i].indexOf("#")!=0){d.MM_p[j]=new Image;d.MM_p[j++].src=a[i];}}}
function MM_swapImgRestore(){var i,x,a=document.MM_sr;for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)x.src=x.oSrc;}
function MM_findObj(n,d){var p,i,x;if(!d)d=document;if((p=n.indexOf("?"))>0&&parent.frames.length){d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);}
if(!(x=d[n])&&d.all)x=d.all[n];for(i=0;!x&&i<d.forms.length;i++)x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++)x=MM_findObj(n,d.layers[i].document);if(!x&&d.getElementById)x=d.getElementById(n);return x;}
function MM_swapImage(){var i,j=0,x,a=MM_swapImage.arguments;document.MM_sr=new Array;for(i=0;i<(a.length-2);i+=3)
if((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x;if(!x.oSrc)x.oSrc=x.src;x.src=a[i+2];}}
function MM_reloadPage(init){if(init==true)with(navigator){if((appName=="Netscape")&&(parseInt(appVersion)==4)){document.MM_pgW=innerWidth;document.MM_pgH=innerHeight;onresize=MM_reloadPage;}}
else if(innerWidth!=document.MM_pgW||innerHeight!=document.MM_pgH)location.reload();}
MM_reloadPage(true);function MM_showHideLayers(){var i,p,v,obj,args=MM_showHideLayers.arguments;for(i=0;i<(args.length-2);i+=3)if((obj=MM_findObj(args[i]))!=null){v=args[i+2];if(obj.style){obj=obj.style;v=(v=='show')?'visible':(v=='hide')?'hidden':v;}
obj.visibility=v;}}
function display(spanblock,condition,thisvalue){if(condition==""||condition=="&nbsp;"||condition==thisvalue)
{MM_findObj(spanblock).className="hidden"}}
function printformaton(){document.body.className="brandPRINT";}
function printformatoff(){document.body.className="";}
function setStyle(obj,style,value){if(typeof obj=="string"){obj=MM_findObj(obj);}
if(obj!=null){obj.style[style]=value;}}
function updateheader(){}
function AssertJSLoadedOk(){return true;}

// Filename: /javascript/shared/general.js
// Was: 16796, now: 10252, compression: 39%

Array.prototype.shuffle=function(){this.sort(function(){return(Math.round(Math.random())-0.5);});}
function popup(url,name,width,height){name=name?name:"unknown";width=width||980;height=height||500;settings='toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width='+width+',height='+height;newwindow=window.open(url,name,settings);if(window.focus){newwindow.focus()}
return false;}
function MakePopUps(eles){eles.forEach(function(link){if(link.getAttribute('type')=='popup'){link.addEvent('click',function(){return popup(this.href)});link.title+='';}});}
window.addEvent('domready',function(){MakePopUps($(document.body).getElements('a'));});function slide_toggle(link,ele_id){var elem=$(ele_id);if(elem){if(link){if(String(link.innerHTML).toLowerCase().indexOf('hide')>-1){link.innerHTML=link.innerHTML.replace('hide','show').replace('Hide','Show');}else{link.innerHTML=link.innerHTML.replace('show','hide').replace('Show','Hide');}}
var effect=elem.retrieve("MorphFX")
if(effect&&effect.toggle){effect.toggle();}}
return false;}
var HeaderNotifier=null;function Notify(msg,lifespan){if(HeaderNotifier==null){HeaderNotifier=new Notifier();}
HeaderNotifier.showMessage(msg,lifespan);}
window.addEvent('domready',function(){$(document.body).getElements('.slider').each(function(element){if(element.get("tag")=="tbody"){element.addClass("notShown");var showHideTBody={toggle:function(){if(element.hasClass("notShown")){element.removeClass("notShown");}
else{element.addClass("notShown");}}};element.store("MorphFX",showHideTBody);}
else{var slider=new Fx.Slide(element,{mode:'vertical'});slider.hide();element.store("MorphFX",slider);}
element.removeClass("slider");});if(location.host!="localhost"&&!location.host.contains("offroadcode.com")&&!location.host.contains("test")){$$("a[href^=http://www.olympicholidays.com],a[href^=http://ecom1.olympicholidays.com],a[href^=http://ecom1.olympicdirect.com]").each(function(link){if(!link.href.contains(location.host)){link.addEvent("click",function(){pageTracker._link.pass(linkHref);});}});}
$$("a[href*=dynamic_ecom_redirect.asp]").addEvent("click",function(link){PleaseWaitBox.show();});});var PleaseWaitBox={stickyWin:null,prepare:function(options){if($('modalWindow')){this.stickyWin=new StickyWin.Modal({content:$('modalWindow').clone(true,true),showNow:true,modalOptions:{hideOnClick:false,showNow:true,allowMultiple:false,modalStyle:{'background-color':'#8DB1EF','opacity':.6}}});this.stickyWin.hide();}},show:function(options){options=options||{prepared:false};if(top!=self){return;}
this.prepare(options);this.stickyWin.show();},hide:function(){if(this.stickyWin){this.stickyWin.hide();}},cancel:function(){this.hide();if(typeof(search)!=undefined){search.cancelSearch();}
if(Site.degrade){location.reload(false);}else{history.back();}}};var ModalBox={options:{},stickyWin:null,DisplayModalBase:function(title,content,options){options["width"]=options["width"]?options["width"]:"410";options["height"]=options["height"]?options["height"]:"auto";options["auto_size"]=options["auto_size"]==false?false:true;if(options["width"]||options["height"]){options["auto_size"]=false;}
var container=$('ModalContent');var settings={'background-color':'#8DB1EF','opacity':.6};$('ModalContentTitle').set("html",title);$('ModalContentBody').empty();content.inject($('ModalContentBody'));if(options["auto_size"]){container.setStyles({width:"auto",height:"auto"});}
else{if(options["width"]){container.setStyles({width:options["width"]});}
if(options["height"]){container.setStyles({height:options["height"]});}}
this.stickyWin=new StickyWin.Modal({content:$('ModalContent').clone(true,true),modalOptions:{hideOnClick:false,allowMultiple:true,modalStyle:settings}});},closeSticky:function(){if(ModalBox.stickyWin){ModalBox.stickyWin.hide();}},defaultElements:{},DisplayModal:function(modal_content,options){options=options||{};if(top!=self){try{if(window.parent&&window.parent.ModalBox){window.parent.ModalBox.closeSticky();window.parent.ModalBox.DisplayModal(modal_content,options);}}
catch(exc){}
return;}
options["title"]=options["title"]?options["title"]:"Please wait...";options["hide_spinner"]=options["hide_spinner"]?true:false;options["hide_footer"]=options["hide_footer"]?true:false;options["show_close_link"]=options["show_close_link"]?true:false;var contentElems={spinner:$('ModalDefaultSpinner').clone(true,false),spinner_message:$('ModalSpinnerMessage').clone(true,true),footer:$('ModalDefaultFooter').clone(true,true)}
if(options["show_close_link"]){$('closeStickyWin').setStyle("visibility","visible");}else{$('closeStickyWin').setStyle("visibility","hidden");}
var content_container=new Element("div");if(!options["hide_spinner"]||options["spinner_text"]){if(options["spinner_text"]){contentElems.spinner_message.set("html",options["spinner_text"]);}
contentElems.spinner.inject(content_container);}
if(modal_content&&modal_content!=""){if($type(modal_content)=="string"){content=new Element("div",{"html":modal_content});}else{content=$(modal_content);}
content.inject(content_container);}
if(!options["hide_footer"]||options["footer_content"]){if(options["footer_content"]){contentElems.footer.empty();options["footer_content"].inject(contentElems.footer);}
contentElems.footer.inject(content_container);}
this.DisplayModalBase(options["title"],content_container,options);}};function DisplayPleaseWait(){ModalBox.DisplayModal(null,{width:"410"});}
function DisplayUpdatingYourRequest(){ModalBox.DisplayModal(null,{spinner_text:"We are updating your request now."});}
function DisplayNowLeaving(target_location,delay){delay=delay||5;ModalBox.DisplayModal("You are now leaving the Olympic Holidays website. Please wait while you are transferred to the Country & Garden Direct website",{title:"Redirecting",spinner_text:"Please wait whilst we redirect you.",hide_footer:true});if(delay&&delay>0){(function(){window.location=target_location}).delay(delay*1000);}}
function DisplayModalSearchForm(url){url=url?url:"http://www.olympicholidays.com/booking/search_form_loader.asp?url=/booking/af_dynamic_search.asp";var content=$("amendSearchIFrame");if(content==null){content=new Element("iframe",{id:"amendSearchIFrame",src:url,width:"400",height:"360",frameborder:"0",scrolling:"no"});}
ModalBox.DisplayModal(content,{title:"Amend your search...",hide_spinner:true,width:"410px",height:"auto",show_close_link:true});}
function checkForVisibleOnDomReady(){$(document.body).getElements("*.visibleOnDomReady").each(function(element){element.removeClass("visibleOnDomReady");});$$('div.IconBox').each(function(div){div.setStyle("visibility","visible");});}
window.addEvent("domready",function(){checkForVisibleOnDomReady();});window.addEvent("load",function(){if(typeof(pageTracker)!="undefined"){var CategoryPrefix=$('ECOM')?'ECOM.':'WWW.';$$("div.slideshow-images a").each(function(link){link.addEvent("click",function(){pageTracker._trackEvent('HomepageSlideShow','Clicked A Slide',link.url);});});if(jwplayer!="undefined"){var videoBox=$("video_content_small");$$(".video_content_small").each(function(videoBox){var playerName=videoBox.getFirst().getProperty('id')
playerName=playerName.replace('_wrapper','');var player=jwplayer(playerName);if(player){player.onPlay(function(){pageTracker._trackEvent(CategoryPrefix+'HotelPage','TileVideo','Started');});player.onPause(function(){pageTracker._trackEvent(CategoryPrefix+'HotelPage','TileVideo','Paused');});player.onComplete(function(){pageTracker._trackEvent(CategoryPrefix+'HotelPage','TileVideo','Completed');});}});}
$$("a.VideoLink").each(function(button){button.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Video','Button clicked');});});$$("a.PricePanelLink").each(function(button){button.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Price Panels','Button clicked');});});$$("a.MapLink").each(function(button){button.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Map','Button clicked');});});$$("a.GAEvents_PricePanelLink").each(function(button){button.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Price Panels','Link clicked');});});if($("sharx_shoes_r2_c1Map")){$("sharx_shoes_r2_c1Map").getElements("area[@sharx]").each(function(area){area.addEvent("click",function(){pageTracker._trackPageview("/promo/sharx");})})}
if($('sharx-inline-promo-link')){$('sharx-inline-promo-link').addEvent("click",function(link){pageTracker._trackPageview("/promo/sharx");})}
var sb=$("submitbutton");if(sb){switch($("Offroadcode.Template").get("content").toLowerCase()){case"hotel":{sb.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Search','Hotel page search');});break;}
case"countryinfo":{sb.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Search','Country info page search');});break;}
case"regionlisting":{sb.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Search','Region listing page search');});break;}
case"regioninfo":{sb.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Search','Region info page search');});break;}
case"resortlisting":{sb.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Search','Resort listing page search');});break;}
case"resortinfo":{sb.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Search','Resort info page search');});break;}
case"homepage":{sb.addEvent("click",function(){pageTracker._trackEvent(CategoryPrefix+'Search','Homepage search');});break;}}}}});window.addEvent("domready",function(){if($("sharx_shoes_r2_c1Map")){$("sharx_shoes_r2_c1Map").getElements("area[@sharx]").each(function(area){area.addEvent("click",function(){DisplayNowLeaving(area.href);});});}
if($('sharx-inline-promo-link')){$('sharx-inline-promo-link').addEvent("click",function(link){DisplayNowLeaving($('sharx-inline-promo-link').href);});}})
Element.implement({getValue:function(){var ret_val="";if(this.options){var si=this.selectedIndex;if(si>-1){ret_val=this.options[si].value||"";}}
else{ret_val=this.get("value");}
return ret_val;},setValue:function(value){if(this.options){for(i=0;i<this.length;i++)
{if(value==this.options[i].value)
{this.selectedIndex=i
return;}}}
else{this.set("value",value);}}});

// Filename: /dynamicbrochure/brochure.js
// Was: 7816, now: 5472, compression: 30%

function GetBrochureBaseUrl(){var base_url="";if(location.host!="olympic.offroadcode.com"&&location.host!="localhost")
{base_url="http://www.olympicholidays.com";}
return base_url;}
function AddToBrochure(url){window.open(GetBrochureBaseUrl()+"/dynamicbrochure/brochure.asp?"+url,"dynamicbrochure","width=700,height=450,scrollbars=yes").focus();}
function DeleteChecked(){if(confirm("Are you sure you want to delete all the selected pages?")){var hotel=null;var whichHotels=[];if(document.brochure.hotels&&document.brochure.hotels.length){for(var i=0;i<document.brochure.hotels.length;i++)
{hotel=document.brochure.hotels[i];if(hotel&&hotel.checked){whichHotels.push(hotel.value);}}}else{if(document.brochure.hotels.checked){whichHotels.push(document.brochure.hotels.value);}}
document.update.action.value="delete";document.update.id.value=whichHotels.join(",");document.update.submit();}}
function BuildAndSendBrochure(){if(CheckForEmail()){var shortlist=new ShortList();var url='action=addhotels';url+='&ids='+shortlist.Serialize();url+="&firstname="+$("firstname").getValue();url+="&surname="+$("surname").getValue();url+="&email="+$("email").getValue()+";"+$("additional_emails").getValue();AddToBrochure(url);}
return false;}
function SendBrochure(){}
function ViewBrochure()
{window.open(GetBrochureBaseUrl()+"/dynamicbrochure/brochure.asp","dynamicbrochure","width=700,height=450,scrollbars=yes").focus();}
function AddRegionToBrochure(url){window.open(GetBrochureBaseUrl()+"/dynamicbrochure/loading.asp?"+url,"dynamicbrochure","width=700,height=450,scrollbars=yes").focus();}
function CheckForEmail(){var shortlist=new ShortList();var errors=[];var fields_to_highlight=[];var emailsValid=true;var email=$("email")
if(email&&(email.value.search(/@/)==-1||email.value.length<5))
{errors.push("Please enter an email address.");fields_to_highlight.push(email);}
var firstname=$("firstname");if(firstname&&firstname.value.length==0)
{errors.push("Please enter your first name.");fields_to_highlight.push(firstname);}
var reply_to=$("additional_emails");if(reply_to&&(reply_to.value.search(/@/)==-1||reply_to.value.length<5))
{errors.push("Please enter the email address of who you would like to send the shortlist to.");fields_to_highlight.push(reply_to);}
if($('ids')){if(shortlist.Count()==0){errors.push("You do not have any hotels in your shortlist.");$("ids").value="";}else{$("ids").value=shortlist.Serialize();}}
if(errors.length>0){emailsValid=false;fields_to_highlight.each(function(field){field.setStyle("border","2px solid #FF0000");});alert(errors.join("\n"));}
return emailsValid;}
function PopPage(pageToPop,keepWindowOpenOnCompletion){keepWindowOpenOnCompletion=keepWindowOpenOnCompletion&&keepWindowOpenOnCompletion==true?true:false;if(pageToPop&&pageToPop!=null&&String(pageToPop)!="undefinded"&&String(pageToPop).length>0)
{if(window.opener&&!window.opener.closed)
{window.opener.location.href=pageToPop;window.opener.focus();}
else
{newWin=window.open('about:blank','parentwin','');newWin.location.href=pageToPop;newWin.focus();}
if(!keepWindowOpenOnCompletion)
{this.close();}}
else
{window.status="No url passed to popup function";}}
function UpdateTotals(whichHotel){var total=0;if(document.brochure.hotels&&document.brochure.hotels.length){for(i=0;i<document.brochure.hotels.length;i++){if(document.brochure.hotels[i].checked){total+=hotelFileSize;}}}else{if(document.brochure.hotels&&document.brochure.hotels.checked){if(document.brochure.hotels.checked){total+=hotelFileSize;}}}
if(document.brochure.regionFileSize){total+=parseInt(document.brochure.regionFileSize.value);}
if(document.brochure.resortFileSize){total+=parseInt(document.brochure.resortFileSize.value);}
if(document.brochure.includeTACInfo&&document.brochure.includeTACInfo.checked){total+=TACFileSize;}
if(document.brochure.includeFlightInfo&&document.brochure.includeFlightInfo.checked){total+=flightFileSize;}
var span=document.getElementById("totalFileSize");span.innerHTML=total+"kb";document.brochure.totalFileSize.value=total;document.update.action.value="check";document.update.id.value=whichHotel;document.update.submit();return false;}
function ChangeCheckBoxState(newState){var whichHotels="";if(document.brochure.hotels&&document.brochure.hotels.length){for(i=0;i<document.brochure.hotels.length;i++){if(document.brochure.hotels[i].checked!=newState){whichHotels+=i+",";document.brochure.hotels[i].checked=newState;}}}else{if(document.brochure.hotels&&document.brochure.hotels.checked!=newState){document.brochure.hotels.checked=newState;whichHotels+="0,";}}
if(document.brochure.includeTACInfo&&document.brochure.includeTACInfo.checked!=newState){document.brochure.includeTACInfo.checked=newState;whichHotels+="TACinfo,";}
if(document.brochure.includeFlightInfo&&document.brochure.includeFlightInfo.checked!=newState){document.brochure.includeFlightInfo.checked=newState;whichHotels+="flightinfo,";}
return UpdateTotals(whichHotels);}
function CheckForm()
{var errors="";var PageFound=false;if(document.brochure.hotels&&document.brochure.hotels.length)
{for(i=0;i<document.brochure.hotels.length;i++)
{if(document.brochure.hotels[i].checked)
{PageFound=true;break;}}}
else
{if(document.brochure.hotels&&document.brochure.hotels.checked)
{PageFound=true;}}
if(!PageFound)
{errors+="\nYou have not selected any brochure pages, you can do this by clicking on the boxes in the Include In My Brochure column.";}
if(errors!="")
{alert(errors);return false;}
return true;}

// Filename: /javascript/shared/iepngfix_tilebg.js
// Was: 0, now: 0, compression: NaN%


// Filename: /javascript/slideshow.js
// Was: 26409, now: 19148, compression: 27%

String.prototype.stripHTML=function(){var matchTag=/<(?:.|\s)*?>/g;return this.replace(matchTag,"");};var Slideshow=new Class({Implements:[Chain,Events,Options],options:{captions:false,center:true,classes:[],controller:false,delay:2000,duration:750,fast:false,height:false,href:'',hu:'',linked:false,loader:{'animate':['css/loader-#.png',12]},loop:true,match:/\?slide=(\d+)$/,overlap:true,paused:false,random:false,replace:[/(\.[^\.]+)$/,'t$1'],resize:'width',slide:0,thumbnails:false,transition:function(p){return-(Math.cos(Math.PI*p)-1)/2;},width:false},initialize:function(el,data,options){this.setOptions(options);this.slideshow=$(el);if(!this.slideshow)
return;this.slideshow.set('styles',{'display':'block','position':'relative','z-index':0});var match=window.location.href.match(this.options.match);this.counter=this.delay=this.transition=0;this.direction='left';this.paused=false;if(!this.options.overlap)
this.options.duration*=2;var anchor=this.slideshow.getElement('a')||new Element('a');if(!this.options.href)
this.options.href=anchor.get('href')||'';if(this.options.hu.length&&!this.options.hu.test(/\/$/))
this.options.hu+='/';var keys=['slideshow','first','prev','play','pause','next','last','images','captions','controller','thumbnails','hidden','visible','inactive','active','loader'];var values=keys.map(function(key,i){return this.options.classes[i]||key;},this);this.classes=values.associate(keys);this.classes.get=function(){var str='.'+this.slideshow;for(var i=0,l=arguments.length;i<l;i++)
str+=('-'+this[arguments[i]]);return str;}.bind(this.classes);if(!data){this.options.hu='';data={};var thumbnails=this.slideshow.getElements(this.classes.get('thumbnails')+' img');this.slideshow.getElements(this.classes.get('images')+' img').each(function(img,i){var src=img.get('src');var caption=img.get('alt')||img.get('title')||'';var href=img.getParent().get('href')||'';var thumbnail=thumbnails[i].get('src')||'';data[src]={'caption':caption,'href':href,'thumbnail':thumbnail};});}
var loaded=this.load(data);if(!loaded)
return;this.slide=(this.options.match&&match)?match[1].toInt():(this.options.random?$random(0,this.data.images.length-1):this.options.slide);this.events=$H({'keydown':[],'keyup':[],'mousemove':[]});var keyup=function(e){switch(e.key){case'left':this.prev(e.shift);break;case'right':this.next(e.shift);break;case'p':this.pause();break;}}.bind(this);this.events.keyup.push(keyup);document.addEvent('keyup',keyup);var el=this.slideshow.getElement(this.classes.get('images'));var images=(el)?el.empty():new Element('div',{'class':this.classes.get('images').substr(1)}).inject(this.slideshow);var div=images.getSize();this.height=this.options.height||div.y;this.width=this.options.width||div.x;images.set({'styles':{'display':'block','height':this.height,'overflow':'hidden','position':'relative','width':this.width}});this.slideshow.store('images',images);this.a=this.image=this.slideshow.getElement('img')||new Element('img');this.a.set('styles',{'display':'none','position':'absolute','zIndex':1});this.b=this.a.clone();[this.a,this.b].each(function(img){anchor.clone().grab(img).inject(images);});if(this.options.captions)
this._captions();if(this.options.controller)
this._controller();if(this.options.loader)
this._loader();if(this.options.thumbnails)
this._thumbnails();this._preload();},go:function(n,direction){if((this.slide-1+this.data.images.length)%this.data.images.length==n||$time()<this.transition)
return;$clear(this.timer);this.delay=0;this.direction=(direction)?direction:((n<this.slide)?'right':'left');this.slide=n;if(this.preloader)
this.preloader=this.preloader.destroy();this._preload(this.options.fast||this.paused);},first:function(){this.prev(true);},prev:function(first){var n=0;if(!first){if(this.options.random){if(this.showed.i<2)
return;this.showed.i-=2;n=this.showed.array[this.showed.i];}
else
n=(this.slide-2+this.data.images.length)%this.data.images.length;}
this.go(n,'right');},pause:function(p){if($chk(p))
this.paused=(p)?false:true;if(this.paused){this.paused=false;this.delay=this.transition=0;this.timer=this._preload.delay(100,this);[this.a,this.b].each(function(img){['morph','tween'].each(function(p){if(this.retrieve(p))this.get(p).resume();},img);});if(this.options.controller)
this.slideshow.getElement('.'+this.classes.pause).removeClass(this.classes.play);}
else{this.paused=true;this.delay=Number.MAX_VALUE;this.transition=0;$clear(this.timer);[this.a,this.b].each(function(img){['morph','tween'].each(function(p){if(this.retrieve(p))this.get(p).pause();},img);});if(this.options.controller)
this.slideshow.getElement('.'+this.classes.pause).addClass(this.classes.play);}},next:function(last){var n=(last)?this.data.images.length-1:this.slide;this.go(n,'left');},last:function(){this.next(true);},load:function(data){this.firstrun=true;this.showed={'array':[],'i':0};if($type(data)=='array'){this.options.captions=false;data=new Array(data.length).associate(data.map(function(image,i){return image+'?'+i}));}
this.data={'images':[],'captions':[],'hrefs':[],'thumbnails':[]};for(image in data){var obj=data[image]||{};var caption=(obj.caption)?obj.caption.trim():'';var href=(obj.href)?obj.href.trim():((this.options.linked)?this.options.hu+image:this.options.href);var thumbnail=(obj.thumbnail)?obj.thumbnail.trim():image.replace(this.options.replace[0],this.options.replace[1]);this.data.images.push(image);this.data.captions.push(caption);this.data.hrefs.push(href);this.data.thumbnails.push(thumbnail);}
if(this.options.thumbnails&&this.slideshow.retrieve('thumbnails'))
this._thumbnails();if(this.slideshow.retrieve('images')){[this.a,this.b].each(function(img){['morph','tween'].each(function(p){if(this.retrieve(p))this.get(p).cancel();},img);});this.slide=this.transition=0;this.go(0);}
return this.data.images.length;},destroy:function(p){this.events.each(function(array,e){array.each(function(fn){document.removeEvent(e,fn);});});this.pause(1);if(this.options.loader)
$clear(this.slideshow.retrieve('loader').retrieve('timer'));if(this.options.thumbnails)
$clear(this.slideshow.retrieve('thumbnails').retrieve('timer'));this.slideshow.uid=Native.UID++;if(p)
this.slideshow[p]();},_preload:function(fast){if(!this.preloader)
this.preloader=new Asset.image(this.options.hu+this.data.images[this.slide],{'onload':function(){this.store('loaded',true);}});if(this.preloader.retrieve('loaded')&&$time()>this.delay&&$time()>this.transition){if(this.stopped){if(this.options.captions)
this.slideshow.retrieve('captions').get('morph').cancel().start(this.classes.get('captions','hidden'));this.pause(1);if(this.end)
this.fireEvent('end');this.stopped=this.end=false;return;}
this.image=(this.counter%2)?this.b:this.a;this.image.set('styles',{'display':'block','height':'auto','visibility':'hidden','width':'auto','zIndex':this.counter});['src','height','width'].each(function(prop){this.image.set(prop,this.preloader.get(prop));},this);this._resize(this.image);this._center(this.image);var anchor=this.image.getParent();if(this.data.hrefs[this.slide]){anchor.set('href',this.data.hrefs[this.slide]);}else{anchor.erase('href');}
if(this.data.captions[this.slide]){anchor.erase('title');}
if(this.options.loader)
this.slideshow.retrieve('loader').fireEvent('hide');if(this.options.captions)
this.slideshow.retrieve('captions').fireEvent('update',fast);if(this.options.thumbnails)
this.slideshow.retrieve('thumbnails').fireEvent('update',fast);this._show(fast);this._loaded();}
else{if($time()>this.delay&&this.options.loader)
this.slideshow.retrieve('loader').fireEvent('show');this.timer=(this.paused&&this.preloader.retrieve('loaded'))?null:this._preload.delay(100,this,fast);}},_show:function(fast){if(!this.image.retrieve('morph')){var options=(this.options.overlap)?{'duration':this.options.duration,'link':'cancel'}:{'duration':this.options.duration/2,'link':'chain'};$$(this.a,this.b).set('morph',$merge(options,{'onStart':this._start.bind(this),'onComplete':this._complete.bind(this),'transition':this.options.transition}));}
var hidden=this.classes.get('images',((this.direction=='left')?'next':'prev'));var visible=this.classes.get('images','visible');var img=(this.counter%2)?this.a:this.b;if(fast){img.get('morph').cancel().set(hidden);this.image.get('morph').cancel().set(visible);}
else{if(this.options.overlap){img.get('morph').set(visible);this.image.get('morph').set(hidden).start(visible);}
else{var fn=function(hidden,visible){this.image.get('morph').set(hidden).start(visible);}.pass([hidden,visible],this);hidden=this.classes.get('images',((this.direction=='left')?'prev':'next'));img.get('morph').set(visible).start(hidden).chain(fn);}}},_loaded:function(){this.counter++;this.delay=(this.paused)?Number.MAX_VALUE:$time()+this.options.duration+this.options.delay;this.direction='left';this.transition=(this.paused||this.options.fast)?0:$time()+this.options.duration;if(this.slide+1==this.data.images.length&&!this.options.loop&&!this.options.random)
this.stopped=this.end=true;if(this.options.random){this.showed.i++;if(this.showed.i>=this.showed.array.length){var n=this.slide;if(this.showed.array.getLast()!=n)this.showed.array.push(n);while(this.slide==n)
this.slide=$random(0,this.data.images.length-1);}
else
this.slide=this.showed.array[this.showed.i];}
else
this.slide=(this.slide+1)%this.data.images.length;if(this.preloader)
this.preloader=this.preloader.destroy();this._preload();},_center:function(img){if(this.options.center){var size=img.getSize();img.set('styles',{'left':(size.x-this.width)/-2,'top':(size.y-this.height)/-2});}},_resize:function(img){if(this.options.resize){var h=this.preloader.get('height'),w=this.preloader.get('width');var dh=this.height/h,dw=this.width/w,d;if(this.options.resize=='length')
d=(dh>dw)?dw:dh;else
d=(dh>dw)?dh:dw;img.set('styles',{height:Math.ceil(h*d),width:Math.ceil(w*d)});}},_start:function(){this.fireEvent('start');},_complete:function(){if(this.firstrun&&this.options.paused){this.firstrun=false;this.pause(1);}
this.fireEvent('complete');},_captions:function(){if(this.options.captions===true)
this.options.captions={};var el=this.slideshow.getElement(this.classes.get('captions'));var captions=(el)?el.empty():new Element('div',{'class':this.classes.get('captions').substr(1)}).inject(this.slideshow);captions.set({'events':{'update':function(fast){var captions=this.slideshow.retrieve('captions');var empty=(this.data.captions[this.slide]==='');if(fast){var p=(empty)?'hidden':'visible';captions.set('html',this.data.captions[this.slide]).get('morph').cancel().set(this.classes.get('captions',p));}
else{var fn=(empty)?$empty:function(n){var caption_html=this.data.captions[n];var href=this.data.hrefs[n];if(href){caption_html='<a href="'+href+'">'+caption_html+'</a>';}
this.slideshow.retrieve('captions').set('html',caption_html).morph(this.classes.get('captions','visible'))}.pass(this.slide,this);captions.get('morph').cancel().start(this.classes.get('captions','hidden')).chain(fn);}}.bind(this)},'morph':$merge(this.options.captions,{'link':'chain'})});this.slideshow.store('captions',captions);},_controller:function(){if(this.options.controller===true)
this.options.controller={};var el=this.slideshow.getElement(this.classes.get('controller'));var controller=(el)?el.empty():new Element('div',{'class':this.classes.get('controller').substr(1)}).inject(this.slideshow);var ul=new Element('ul').inject(controller);$H({'first':'Shift + Leftwards Arrow','prev':'Leftwards Arrow','pause':'P','next':'Rightwards Arrow','last':'Shift + Rightwards Arrow'}).each(function(accesskey,action){var li=new Element('li',{'class':(action=='pause'&&this.options.paused)?this.classes.play+' '+this.classes[action]:this.classes[action]}).inject(ul);var a=this.slideshow.retrieve(action,new Element('a',{'title':((action=='pause')?this.classes.play.capitalize()+' / ':'')+this.classes[action].capitalize()+' ['+accesskey+']'}).inject(li));a.set('events',{'click':function(action){this[action]();}.pass(action,this),'mouseenter':function(active){this.addClass(active);}.pass(this.classes.active,a),'mouseleave':function(active){this.removeClass(active);}.pass(this.classes.active,a)});},this);controller.set({'events':{'hide':function(hidden){if(!this.retrieve('hidden'))
this.store('hidden',true).morph(hidden);}.pass(this.classes.get('controller','hidden'),controller),'show':function(visible){if(this.retrieve('hidden'))
this.store('hidden',false).morph(visible);}.pass(this.classes.get('controller','visible'),controller)},'morph':$merge(this.options.controller,{'link':'cancel'})}).store('hidden',false);var keydown=function(e){if(['left','right','p'].contains(e.key)){var controller=this.slideshow.retrieve('controller');if(controller.retrieve('hidden'))
controller.get('morph').set(this.classes.get('controller','visible'));switch(e.key){case'left':this.slideshow.retrieve((e.shift)?'first':'prev').fireEvent('mouseenter');break;case'right':this.slideshow.retrieve((e.shift)?'last':'next').fireEvent('mouseenter');break;default:this.slideshow.retrieve('pause').fireEvent('mouseenter');break;}}}.bind(this);this.events.keydown.push(keydown);var keyup=function(e){if(['left','right','p'].contains(e.key)){var controller=this.slideshow.retrieve('controller');if(controller.retrieve('hidden'))
controller.store('hidden',false).fireEvent('hide');switch(e.key){case'left':this.slideshow.retrieve((e.shift)?'first':'prev').fireEvent('mouseleave');break;case'right':this.slideshow.retrieve((e.shift)?'last':'next').fireEvent('mouseleave');break;default:this.slideshow.retrieve('pause').fireEvent('mouseleave');break;}}}.bind(this);this.events.keyup.push(keyup);var mousemove=function(e){var images=this.slideshow.retrieve('images').getCoordinates();if(e.page.x>images.left&&e.page.x<images.right&&e.page.y>images.top&&e.page.y<images.bottom)
this.slideshow.retrieve('controller').fireEvent('show');else
this.slideshow.retrieve('controller').fireEvent('hide');}.bind(this);this.events.mousemove.push(mousemove);document.addEvents({'keydown':keydown,'keyup':keyup,'mousemove':mousemove});this.slideshow.retrieve('controller',controller).fireEvent('hide');},_loader:function(){if(this.options.loader===true)
this.options.loader={};var loader=new Element('div',{'class':this.classes.get('loader').substr(1),'morph':$merge(this.options.loader,{'link':'cancel'})}).store('hidden',false).store('i',1).inject(this.slideshow.retrieve('images'));if(this.options.loader.animate){for(var i=0;i<this.options.loader.animate[1];i++)
img=new Asset.image(this.options.loader.animate[0].replace(/#/,i));if(Browser.Engine.trident4&&this.options.loader.animate[0].contains('png'))
loader.setStyle('backgroundImage','none');}
loader.set('events',{'animate':function(){var loader=this.slideshow.retrieve('loader');var i=(loader.retrieve('i').toInt()+1)%this.options.loader.animate[1];loader.store('i',i);var img=this.options.loader.animate[0].replace(/#/,i);if(Browser.Engine.trident4&&this.options.loader.animate[0].contains('png'))
loader.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+img+'", sizingMethod="scale")';else
loader.setStyle('backgroundImage','url('+img+')');}.bind(this),'hide':function(){var loader=this.slideshow.retrieve('loader');if(!loader.retrieve('hidden')){loader.store('hidden',true).morph(this.classes.get('loader','hidden'));if(this.options.loader.animate)
$clear(loader.retrieve('timer'));}}.bind(this),'show':function(){var loader=this.slideshow.retrieve('loader');if(loader.retrieve('hidden')){loader.store('hidden',false).morph(this.classes.get('loader','visible'));if(this.options.loader.animate)
loader.store('timer',function(){this.fireEvent('animate');}.periodical(50,loader));}}.bind(this)});this.slideshow.retrieve('loader',loader).fireEvent('hide');},_thumbnails:function(){if(this.options.thumbnails===true)
this.options.thumbnails={};var el=this.slideshow.getElement(this.classes.get('thumbnails'));var thumbnails=(el)?el.empty():new Element('div',{'class':this.classes.get('thumbnails').substr(1)}).inject(this.slideshow);thumbnails.setStyle('overflow','hidden');var ul=new Element('ul',{'tween':{'link':'cancel'}}).inject(thumbnails);this.data.thumbnails.each(function(thumbnail,i){var li=new Element('li').inject(ul);var a=new Element('a',{'events':{'click':function(i){this.go(i);return false;}.pass(i,this),'loaded':function(){this.data.thumbnails.pop();if(!this.data.thumbnails.length){var div=thumbnails.getCoordinates();var props=thumbnails.retrieve('props');var limit=0,pos=props[1],size=props[2];thumbnails.getElements('li').each(function(li){var li=li.getCoordinates();if(li[pos]>limit)limit=li[pos];},this);thumbnails.store('limit',div[size]+div[props[0]]-limit);}}.bind(this)},'href':this.options.hu+this.data.images[i],'morph':$merge(this.options.thumbnails,{'link':'cancel'}),'title':this.data.captions[i]}).inject(li);var img=new Asset.image(this.options.hu+thumbnail,{'onload':function(){this.fireEvent('loaded');}.bind(a)}).inject(a);},this);thumbnails.set('events',{'scroll':function(n,fast){var div=this.getCoordinates();var ul=this.getElement('ul').getPosition();var props=this.retrieve('props');var axis=props[3],delta,pos=props[0],size=props[2],value;var tween=this.getElement('ul').get('tween',{'property':pos});if($chk(n)){var li=this.getElements('li')[n].getCoordinates();delta=div[pos]+(div[size]/2)-(li[size]/2)-li[pos]
value=(ul[axis]-div[pos]+delta).limit(this.retrieve('limit'),0);if(fast)
tween.set(value);else
tween.start(value);}
else{var area=div[props[2]]/3,page=this.retrieve('page'),velocity=-0.2;if(page[axis]<(div[pos]+area))
delta=(page[axis]-div[pos]-area)*velocity;else if(page[axis]>(div[pos]+div[size]-area))
delta=(page[axis]-div[pos]-div[size]+area)*velocity;if(delta){value=(ul[axis]-div[pos]+delta).limit(this.retrieve('limit'),0);tween.set(value);}}}.bind(thumbnails),'update':function(fast){var thumbnails=this.slideshow.retrieve('thumbnails');thumbnails.getElements('a').each(function(a,i){if(i==this.slide){if(!a.retrieve('active',false)){a.store('active',true);var active=this.classes.get('thumbnails','active');if(fast)a.get('morph').set(active);else a.morph(active);}}
else{if(a.retrieve('active',true)){a.store('active',false);var inactive=this.classes.get('thumbnails','inactive');if(fast)a.get('morph').set(inactive);else a.morph(inactive);}}},this);if(!thumbnails.retrieve('mouseover'))
thumbnails.fireEvent('scroll',[this.slide,fast]);}.bind(this)})
var div=thumbnails.getCoordinates();thumbnails.store('props',(div.height>div.width)?['top','bottom','height','y']:['left','right','width','x']);var mousemove=function(e){var div=this.getCoordinates();if(e.page.x>div.left&&e.page.x<div.right&&e.page.y>div.top&&e.page.y<div.bottom){this.store('page',e.page);if(!this.retrieve('mouseover')){this.store('mouseover',true);this.store('timer',function(){this.fireEvent('scroll');}.periodical(50,this));}}
else{if(this.retrieve('mouseover')){this.store('mouseover',false);$clear(this.retrieve('timer'));}}}.bind(thumbnails);this.events.mousemove.push(mousemove);document.addEvent('mousemove',mousemove);this.slideshow.store('thumbnails',thumbnails);}});function AssertJSLoadedOk(){return true;}

// Filename: /javascript/shared/shortlist.js
// Was: 3280, now: 1361, compression: 59%

var ShortList=new Class({Implements:[Events,Options],options:{onHotelAdded:$empty,onHotelRemoved:$empty,onShortlistFull:$empty,onHotelExists:$empty,onShortlistCleared:$empty,localhostString:"localhost"},initialize:function(options){this.setOptions(options);},CookieName:"ShortListHotels",Get:function(){return Cookie.get(this.CookieName)?Cookie.get(this.CookieName).split("|"):[];},Set:function(hotels){var options={duration:356,path:"/"};if(!String(location.host).match(this.options.localhostString)){options.domain=location.host.replace(/www|ecom\d/,"");}
Cookie.set(this.CookieName,hotels.join("|"),options);},Count:function(){return this.Get().length;},Add:function(id){var hotels=this.Get();if(hotels.length>=12){this.fireEvent("onShortlistFull",id);return false;}
else{if(this.Contains(id)){this.fireEvent("onHotelExists",id);return false;}
hotels.push(id);this.Set(hotels);this.fireEvent("hotelAdded",id);}
return true;},Remove:function(id){if(this.Contains(id)){this.Set(this.Get().remove(String(id)));this.fireEvent("hotelRemoved",id);return true;}
return false;},RemoveAll:function(){var hotel_list=this.Get().join("|");this.Set([]);this.fireEvent("shortlistCleared",hotel_list);return true;},Contains:function(id){return this.Get().contains(String(id));},Serialize:function(){return this.Get().join(',');}});function AssertJSLoadedOk(){return true;}

// Filename: /javascript/shared/shortlist_view.js
// Was: 7610, now: 4637, compression: 39%

var ShortListView={hotel_source_url:location.protocol+"//"+location.hostname+"/tools/getHotelHtml.asp",notify:Notify,shortlistController:null,selectors:{shortlistItemPrefix:'ShortListItem_',removeLinkPrefix:"Remove_",shortlistContainer:"shortlistContents",viewShortListLink:'my-shortlist-link',shortlistInfo:'shortlist_info',removeAllLink:'RemoveAll'},messages:{emptyShortlist:'<p>Use the "Add to shortlist" button where ever you see a hotel you fancy and we will remember it for you!</p>'},AddHotelHandler:function(hotel_id){if($(this.selectors.shortlistContainer)){new Request.HTML({url:this.hotel_source_url,method:'get',data:{id:hotel_id},encoding:"windows-1252",onSuccess:function(responseTree){if(responseTree.length>0){var container=$(this.selectors.shortlistContainer);if(container){if(this.shortlistController.Count()<=1){container.empty();}
var hotel_div=responseTree[0];if(hotel_div){hotel_div.inject(container,'top');var link_selector=hotel_div.get('id')+' a.RemoveHotel';var remove_link=$(this.selectors.removeLinkPrefix+hotel_id);if(remove_link){remove_link.addEvent("click",function(e){this.shortlistController.Remove(hotel_id);e.stopPropagation();},this);}
var hotelSlide=new Fx.Slide(hotel_div).hide();hotelSlide.toggle();this.notify("This hotel has been added to your shortlist.");var view_shortlist_link=$(this.selectors.viewShortListLink);if(view_shortlist_link){view_shortlist_link.addClass("hidden");}}else{this.NotifyFailure(hotel_id);this.shortlistController.Remove(hotel_id);}}}else{this.NotifyFailure(hotel_id);this.shortlistController.Remove(hotel_id);}}.bind(this)}).send();}else{this.notify("This hotel has been added to your shortlist.");}},NotifyFailure:function(id,message){message=message?message:"There was a problem adding this hotel to your shortlist. Please try again later.";this.notify(message);},RemoveHotelHandler:function(hotel_id){var hotel=$(this.selectors.shortlistItemPrefix+hotel_id);if(hotel){var hotelSlide=new Fx.Slide(hotel);hotelSlide.slideOut();hotel.dispose();}
this.UpdateShortListInfo();return true;},UpdateShortListInfo:function(){if(typeof shortlist!="undefined"){var shortlistInfo=$(this.selectors.shortlistInfo);var container=$(this.selectors.shortlistContainer);var removeAll=$(this.selectors.removeAllLink);if(shortlist.Count()==0){if(shortlistInfo){shortlistInfo.empty();}
if(container){container.set("html",this.messages.emptyShortlist);}
if(removeAll){removeAll.addClass("hidden");}}else{if(shortlistInfo){shortlistInfo.set("html",this.RenderTotalHotels());var options={"href":(location.host.indexOf("ecom")>-1?"http://www.olympicholidays.com":"")+"/dynamicbrochure/email_shortlist.asp","text":"Share your shortlist","style":"margin-left: 5px;"}
var share_link=new Element("a",options);share_link.inject(shortlistInfo,"bottom");}
if(removeAll){removeAll.removeClass("hidden");}}}},RenderTotalHotels:function(){return"Total Hotels: "+this.shortlistController.Count()+" |";},HandleHotelExists:function(hotel_id){this.notify("You already have that hotel in your shortlist. You must really like it!");},HandleShortListFull:function(hotel_id){this.notify("Sorry, your shortlist already contains the maximum number of hotels allowed. Try removing one of your existing hotels before adding this one.");},HandleShortlistCleared:function(hotel_ids){if(hotel_ids.length>1){hotel_ids.split("|").each(function(hotel){var hotel=$(this.selectors.shortlistItemPrefix+hotel);var hotelSlide=new Fx.Slide(hotel);hotelSlide.slideOut();hotel.dispose();},this);this.notify("Your shortlist has been cleared");this.UpdateShortListInfo();}},getHotelIdFromElementId:function(element_id){var delimiter=element_id.indexOf("_");if(delimiter>-1){return element_id.substring(delimiter+1);}}}
window.addEvent("domready",function(){if(typeof(shortlist)!="undefined"){ShortListView.shortlistController=shortlist;$(document.body).getElements('a.ShortListAdd, a.RemoveHotel').each(function(elem){elem=$(elem);if(elem.hasClass("ShortListAdd")){if(elem.id){var id=ShortListView.getHotelIdFromElementId(elem.id);if($chk(id)){elem.removeEvents("click");elem.addEvent("click",function(e){shortlist.Add(id);e.stopPropagation();});}}}
if(elem.hasClass("RemoveHotel")){if(elem.id){var id=ShortListView.getHotelIdFromElementId(elem.id);if($chk(id)){elem.removeEvents("click");elem.addEvent("click",function(e){shortlist.Remove(id);});}}}});var remove_all_link=$('RemoveAll');if(remove_all_link){remove_all_link.addEvent("click",function(){if(confirm("Are you sure you want to clear your shortlist?")){shortlist.RemoveAll();}});}
ShortListView.UpdateShortListInfo();}},this);function AssertJSLoadedOk(){return true;}

// Filename: /javascript/google_search_code.js
// Was: 1212, now: 840, compression: 31%

window.addEvent("domready",function(e){var DEFAULT_SEARCH_TEXT="Keyword/Resort/Hotel Name or Code";var search_box=$("google_query");var cookie_key="last_google_search";if(search_box){if(search_box.value==""){var cookie_value=Cookie.get(cookie_key);if(cookie_value){search_box.value=cookie_value;}
else{search_box.value=DEFAULT_SEARCH_TEXT;}}
search_box.addEvent("focus",function(){if(search_box.value==DEFAULT_SEARCH_TEXT){search_box.value="";}});search_box.addEvent("blur",function(){if(search_box.value==""){search_box.value=DEFAULT_SEARCH_TEXT;}});var search_form=$("globalSearch")||$("google_search_form");if(search_form){search_form.addEvent("submit",function(){if(search_box.value==DEFAULT_SEARCH_TEXT){search_box.value="";}
else{Cookie.set(cookie_key,search_box.value,{duration:7});}});}}});function AssertJSLoadedOk(){return true;}

// Filename: /javascript/shared/mediabox.js
// Was: 13926, now: 8497, compression: 39%

var MediaBoxObject=new Class({box_id:"MediaBox",data:[],loaded:false,current_id:null,current_tab:null,hasRendered:false,map:null,player:null,slideshow:null,initialize:function(data){this.data=data||[];this.window=new StickyWin({content:$(this.box_id),closeClassName:"closeSticky",draggable:true,showNow:false,onClose:function(){if(MediaBox.player&&Browser.Engine.trident){MediaBox.stopPlayer();}}});},startPlayer:function(){try{if(this.player&&Browser.Engine.trident){this.player.sendEvent("PLAY");}}catch(e){}},stopPlayer:function(){try{if(this.player&&Browser.Engine.trident){this.player.sendEvent("STOP");}}catch(e){}},loadScript:function(url){var script=document.createElement("script");script.type="text/javascript";script.src=url;document.body.appendChild(script);},loadScripts:function(){var APIKey=$("GoogleAPIKey");if(APIKey){if($('ECOM')){this.loadScript("javascript/adobe/ac_runactivecontent.js");}else{this.loadScript("/javascript/adobe/ac_runactivecontent.js");}
this.loadScript("http://maps.google.com/maps?file=api&v=2&key="+APIKey.get("content")+"&async=2&callback=scriptsLoadedCallback");}
else
{this.window.hide();alert("Error: Could not find Google API key in meta tag as expecting...");}},show:function(id,tab_to_show){id=id||this.current_id;tab_to_show=tab_to_show||this.current_tab;if(!this.loaded){this.current_id=id;this.current_tab=tab_to_show;this.loadScripts();}
this.window.position();this.window.show();var content=$(this.box_id);var video_content=$('video_content');var video_button=$('video_button');var google_content=$('google_content');var google_map_button=$('google_map_button');var map_content=$('map_content');var map_button=$("map_button");var images_content=$('images_content');var images_button=$("images_button");images_content.setStyle("display","none");images_button.setStyle("display","none");map_content.setStyle("display","none");map_button.setStyle("display","none");video_content.setStyle("display","none");video_button.setStyle("display","none");google_content.setStyle("display","none");google_map_button.setStyle("display","none");var hotel=this.findHotelById(id);if(hotel.map&&hotel.map!=""){var invalid_image_re=new RegExp("asp|htm|html$","g");var match=hotel.map.match(invalid_image_re)
if(!match){map_button.setStyle("display","inline");}}
if(hotel.images){images_button.setStyle("display","inline");}
var has_google=false;var has_map=false;if(hotel.video&&hotel.video!=""){video_button.setStyle("display","inline");has_map=true;}
if(hotel.geo_cords&&hotel.geo_cords!=""){google_map_button.setStyle("display","inline");map_button.setStyle("display","none");has_google=true;}
var tab_id="1";switch(tab_to_show.toLowerCase()){case"video":{MediaBox.renderVideo(media_box_data[0]);this.startPlayer();video_content.setStyle("display","block");tab_id="1";break;}
case"map":case"google":{this.stopPlayer();if(has_google){google_content.setStyle("display","block");tab_id="2";}else{map_content.setStyle("display","block");tab_id="3";}
break;}
case"images":{this.stopPlayer();$('images_content').setStyle("display","block");tab_id="4";break;}}
$(this.box_id).getElements(".tab_wrapper")[0].id="show_tab"+tab_id;if(!this.loaded){return;}
if(this.hasRendered==false||this.current_id==null||this.current_id!=hotel.id){$("MediaBox_HotelName").set("html",hotel.name);if(hotel.blurb!=""){$("MediaBox_Blurb").set("html","<b>Our opinion:</b> "+hotel.blurb);}
this.current_id=hotel.id;this.renderVideo(hotel);if(hotel.geo_cords!=""){this.renderGoogle(hotel);}else{if(hotel.map){map_content.set("html",this.renderMap(hotel));}}
this.renderImages(hotel);this.hasRendered=true;this.current_id=id;this.current_tab=tab_to_show;}
if(this.slideshow){this.slideshow.go(0);}},renderImages:function(hotel){if(hotel.images){var mediabox_slideshow=$("slideshow");if(mediabox_slideshow){if(this.slideshow){this.slideshow.load(hotel.images);}
mediabox_slideshow.set("html","");this.slideshow=new Slideshow(mediabox_slideshow,hotel.images,{captions:false,random:false,hu:"http://www.olympicholidays.com/",loader:{'animate':['http://css.olympicstatic.com/siteimages/ajax/spinner.gif']},delay:5000,controller:(hotel.images.length<1?null:{duration:1000,transition:Fx.Transitions.Elastic.easeOut}),click:DisplayPleaseWait,center:true,width:400,height:338,preload:false});}}},renderVideo:function(hotel){var VideoContent=$('video_content');VideoContent.empty();var innerVideoContent=new Element('div',{id:'OlympicVideoPlayer'});innerVideoContent.inject(VideoContent);var video_url=$('ECOM')?'':'/';video_url+='flash/shared/player-licensed.swf';var player=jwplayer(innerVideoContent).setup({flashplayer:video_url,file:hotel.video,width:490,height:301,"type":'video','backcolor':'ffffff','frontcolor':'003366','screencolor':'ffffff','lightcolor':'003366',autostart:false,javascriptid:'OlympicVideoPlayer',image:hotel.images&&hotel.images.length?"http://www.olympicholidays.com/thumbnail.aspx?width=490&Image="+hotel.images[0]:""});this.player=$('OlympicVideoPlayer');},renderGoogle:function(hotel){if(hotel.geo_cords!=""&&GBrowserIsCompatible()){var mapOptions={size:new GSize(490,340)};var infoWindowOptions={maxWidth:350}
this.map=new GMap2($('google_map'),mapOptions);var latitude=this.translateLatitute(hotel.geo_cords);var longitude=this.translateLongitude(hotel.geo_cords);var point=new GLatLng(latitude,longitude);var marker=new GMarker(point)
this.map.setCenter(point,16,G_HYBRID_MAP);this.map.addOverlay(marker);this.map.openInfoWindow(point,"<b>"+hotel.name+"</b>");this.map.setUIToDefault();}},renderMap:function(hotel){if(hotel.map&&hotel.map!=""){var map_img_html=[];var map_text_html=[];map_img_html.push('<img src="');map_img_html.push(hotel.map);map_img_html.push('" alt="" style="height: auto" />');if(hotel.grid_ref!=""){map_text_html.push('<p>');map_text_html.push(hotel.name);map_text_html.push(" is located at square ");map_text_html.push(hotel.grid_ref);map_text_html.push('</p>');}
return map_img_html.join("")+"\n"+map_text_html.join("");}},findHotelById:function(id){var matched_hotel=null;this.data.each(function(hotel){if(hotel.id==id){matched_hotel=hotel;}});return matched_hotel;},translateLatitute:function(geoinfo){var N=geoinfo.substring(0,geoinfo.indexOf(' '));var min=geoinfo.substring(geoinfo.indexOf(' ')+1,geoinfo.indexOf(','));var lat=eval(N)+eval(min/60);return lat;},translateLongitude:function(geoinfo){geoinfo=geoinfo.substring(geoinfo.indexOf(',')+1,geoinfo.length);var S=geoinfo.substring(0,geoinfo.indexOf(' '));var min=geoinfo.substring(geoinfo.indexOf(' ')+1,geoinfo.length);var lon=eval(S)+eval(min/60);return lon;}});var MediaBox;function scriptsLoadedCallback(){MediaBox.loaded=true;MediaBox.show(null,null,0);}
window.addEvent("domready",function(){if(typeof(media_box_data)!="undefined"){MediaBox=new MediaBoxObject(media_box_data);var links=$$('a.IconLink');if(links.length){links.each(function(link){if(link.hasClass("MapLink")||link.hasClass("VideoLink")||link.hasClass("ImagesLink")){link.addEvent("click",function(event){event.stop();var id_meta=this.id.split("_");var image_id_re=new RegExp("[0-9]$","i");MediaBox.show(id_meta[1],id_meta[0].replace("Link",""),0);});}});}
if($("MediaBox")){$("images_button").getElement("a").addEvent("click",function(){MediaBox.show(null,"images");});$("video_button").getElement("a").addEvent("click",function(){MediaBox.show(null,"video");});$("google_map_button").getElement("a").addEvent("click",function(){MediaBox.show(null,"google");});$("map_button").getElement("a").addEvent("click",function(){MediaBox.show(null,"map");});}}});function setupVideo(){var playerLocation=$('ECOM')?'':'/';playerLocation+='flash/shared/player-licensed.swf';var player;$$(".video_content_small").each(function(videoBox){var skinLocation=null;var skin=videoBox.getProperty("data-skin");if(skin){skinLocation=$('ECOM')?'':'/';skinLocation+='flash/shared/simple_oly/simple/simple.xml';}
var videoUrl=videoBox.getProperty("data-videourl");var height=videoBox.getProperty("data-height")||199;var width=videoBox.getProperty("data-width")||249;player=jwplayer(videoBox.getFirst()).setup({flashplayer:playerLocation,file:videoUrl,width:width,height:height,"type":'video','backcolor':'ffffff','frontcolor':'003366','screencolor':'ffffff','lightcolor':'003366',autostart:false,image:videoBox.getProperty("data-image"),skin:skinLocation});});var videoTile=$('viewVideo');if(videoTile){videoTile.addEvent("click",function(e){player.play();return false;});}}
window.addEvent("domready",function(){setupVideo();});

// Filename: /javascript/header.js
// Was: 0, now: 0, compression: NaN%

