

// Filename: /javascript/shared/notifier.js
// Was: 2395, now: 1104, compression: 54%

var Notifier=new Class({Implements:[Options],options:{fade_delay:4,container_id:"NotifyHeader",content_id:"NotifyContent",close_handle_id:"closeNotify"},fade_out_delay_id:null,initialize:function(options){this.setOptions(options);var container=$(this.options.container_id);container.fade("hide");container.removeClass("hidden");var close_handle=$(this.options.close_handle_id);if(close_handle){close_handle.addEvent("click",this.hide.bind(this,false));}},show:function(seconds){if(this.fade_out_delay_id!=null){$clear(this.fade_out_delay_id);this.fade_out_delay_id=null;}
if(seconds>-1){this.fade_out_delay_id=this.hide.delay(seconds,this);}
$(this.options.container_id).fade("in");},hide:function(instantly){$clear(this.fade_out_delay_id);this.fade_out_delay_id=null;if(instantly){$(this.options.container_id).fade("hide");}
else{$(this.options.container_id).fade("out");}},showMessage:function(msg,lifespan){lifespan=(lifespan||this.options.fade_delay)*1000;var container=$(this.options.container_id);if(container){$(this.options.content_id).set("html",msg);this.show(lifespan);}
else{alert(msg);}}});

// 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: /javascript/shared/iepngfix_tilebg.js
// Was: 0, now: 0, compression: NaN%


// 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/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();});
