var $ddsmoothmenu_open_menu=false;var $ddsmoothmenu_close_menus=new Array();var ddsmoothmenu={arrowimages:{down:["downarrowclass","",0],right:["rightarrowclass",""]},transition:{overtime:300,outtime:300},shadow:{enabled:false,offsetx:1,offsety:1},detectwebkit:navigator.userAgent.toLowerCase().indexOf("applewebkit")!=-1,getajaxmenu:function(c,b){var a=c("#"+b.contentsource[0]);a.html("Loading Menu...");c.ajax({url:b.contentsource[1],async:true,error:function(d){a.html("Error fetching content. Server Response: "+d.responseText)},success:function(d){a.html(d);ddsmoothmenu.buildmenu(c,b)}})},buildshadow:function(b,a){},processMouseIn:function(e,h){var f=$("div.fake-children",this).length==1;if(f){$(this).children("a:eq(0)").addClass("selected")}if(this.istopheader){$(this).addClass("selected");$(this).children("a:eq(0)").addClass("selected");if(!h){$("body").trigger("OnTopMenuSelected",this)}}if(f){return}var i=$(this).children("div.menu, ul").eq(0);this._offsets=$(this).offset();var j=this.istopheader?this._offsets.left:this._dimensions.w;if(i.queue().length<=1){var b=i.outerWidth()-i.width();var c=j;var d=scrollbarWidth();if(c+(220+d)>$(window).width()){c=$(window).width()-(220+d)}i.css({top:this._offsets.top+$(this).outerHeight(),left:c+"px"}).animate({height:"show",opacity:"show"},ddsmoothmenu.transition.overtime,"",function(){var k=$(".sub-menu-bottom",i);k.css("top",k.parent().outerHeight())});if(e.shadow.enabled){var a=this.istopheader?i.offset().left+ddsmoothmenu.shadow.offsetx:j;var g=this.istopheader?i.offset().top+e.shadow.offsety:this._shadowoffset.y;if(!this.istopheader&&ddsmoothmenu.detectwebkit){this.$shadow.css({opacity:1})}this.$shadow.css({overflow:"",width:this._dimensions.subulw+"px",left:a+"px",top:g+"px"}).animate({height:this._dimensions.subulh+"px"},ddsmoothmenu.transition.overtime)}}},processMouseOut:function(c){if($("div.fake-children",this).length==1){$(this).children("a:eq(0)").removeClass("selected")}else{var a=$(this).children("div.menu, ul").eq(0);a.animate({height:"hide",opacity:"hide"},ddsmoothmenu.transition.outtime);if(c.shadow.enabled){if(ddsmoothmenu.detectwebkit){this.$shadow.children("div.menu, div").eq(0).css({opacity:0})}this.$shadow.css({overflow:"hidden"}).animate({height:0},ddsmoothmenu.transition.outtime)}}if(this.istopheader){$(this).removeClass("selected");$(this).children("a:eq(0)").removeClass("selected");var b=new Array();for(var d=0;d<$ddsmoothmenu_close_menus.length;d++){if($ddsmoothmenu_close_menus[d]!=this){b.push($ddsmoothmenu_close_menus[d])}}$ddsmoothmenu_close_menus=b}},buildmenu:function(d,b){var e=ddsmoothmenu;var a=d("#"+b.mainmenuid+">table");var c=a.find("div.menu, ul").not("ul.regular").parent();c=c.add(d("div.fake-children").parent());c.each(function(g){var j=d(this).css({zIndex:100-g});var f=d(this).find("div.menu, ul").eq(0).css({display:"block",zIndex:100-g});this.istopheader=j.parents("ul, #menu_table").length==1?true:false;var h=d(this);this._dimensions={w:j.outerWidth(),h:j.outerHeight(),subulw:f.outerWidth(),subulh:f.outerHeight()};f.css({top:this.istopheader?j.offset().top+this._dimensions.h:0});if(!this.istopheader){j.remove().append("body")}j.hover(function(p){var k=d(this).data("hide_timer");if(k){clearTimeout(k);d(this).data("hide_timer",false)}var i=$ddsmoothmenu_close_menus.length>0;for(var q=0;q<$ddsmoothmenu_close_menus.length;q++){if($ddsmoothmenu_close_menus[q]!=this){e.processMouseOut.call($ddsmoothmenu_close_menus[q],e)}}$ddsmoothmenu_close_menus=new Array();var l=d(this).data("show_timer");if(l){clearTimeout(l);d(this).data("show_timer",false)}var o=d($ddsmoothmenu_open_menu).data("show_timer");if(o){clearTimeout(o);d($ddsmoothmenu_open_menu).data("show_timer",false);$ddsmoothmenu_open_menu=false}if(i){e.processMouseIn.call(this,e,true)}else{var n=this;var m=setTimeout(function(){d(n).data("show_timer",false);e.processMouseIn.call(n,e,false)},300);d(this).data("show_timer",m);$ddsmoothmenu_open_menu=n}},function(m){var i=d(this).data("show_timer");if(i){clearTimeout(i);d(this).data("show_timer",false);if($ddsmoothmenu_open_menu==this){$ddsmoothmenu_open_menu=false}if($ddsmoothmenu_close_menus.length==0){return}}var l=this;var k=setTimeout(function(){e.processMouseOut.call(l,e)},1000);d(this).data("hide_timer",k);$ddsmoothmenu_close_menus.push(l)});d("ul > li, table > td",j).mouseenter(function(i){d("a",this).addClass("selected");window.status=d("a",this).attr("href")}).mouseleave(function(i){d("a",this).removeClass("selected");window.status=""}).click(function(i){window.location.href=d("a",this).attr("href")})});a.find("ul, div.menu").not("ul.regular").css({display:"none",visibility:"visible"})},init:function(b){if(typeof b.customtheme=="object"&&b.customtheme.length==2){var a="#"+b.mainmenuid;document.write('<style type="text/css">\n'+a+", "+a+" ul li a {background:"+b.customtheme[0]+";}\n"+a+" ul li a:hover {background:"+b.customtheme[1]+";}\n</style>")}jQuery(document).ready(function(c){if(typeof b.contentsource=="object"){ddsmoothmenu.getajaxmenu(c,b)}else{ddsmoothmenu.buildmenu(c,b)}})}};function scrollbarWidth(){var c=$('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>');$("body").append(c);var b=$("div",c).innerWidth();c.css("overflow-y","scroll");var a=$("div",c).innerWidth();$(c).remove();return(b-a)}ddsmoothmenu.init({mainmenuid:"smoothmenu1",contentsource:"markup"});$(document).ready(function(){TB.init("a.thickbox, area.thickbox, input.thickbox");TB.imgLoader=new Image();TB.imgLoader.src=TB.pathToImage});function TB(){this.imgLoader=null;this.pathToImage="images/loadingAnimation.gif";this.Width=null;this.Height=null}TB.init=function(a){$(a).click(function(){var c=this.title||this.name||null;var b=this.href||this.alt;var d=this.rel||false;TB.show({caption:c,url:b,imageGroup:d});this.blur();return false})};TB.show=function(f){try{if(typeof document.body.style.maxHeight==="undefined"){$("body","html").css({height:"100%",width:"100%"});$("html").css("overflow","hidden");if(document.getElementById("TB_HideSelect")===null){$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(TB.remove)}}else{if(document.getElementById("TB_overlay")===null){$("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(TB.remove)}}if(TB.detectMacXFF()){$("#TB_overlay").addClass("TB_overlayMacFFBGHack")}else{$("#TB_overlay").addClass("TB_overlayBG")}if(f.caption===null){f.caption=""}$("body").append("<div id='TB_load'><img src='"+TB.imgLoader.src+"' /></div>");$("#TB_load").show();var c;if(f.url.indexOf("?")!==-1){c=f.url.substr(0,f.url.indexOf("?"))}else{c=f.url}var b=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;var a={};if(c.toLowerCase().match(b)){TB.processImages(f,b)}else{var g=f.url.replace(/^[^\?]+\??/,"");a=TB.parseQuery(g);TB.processDialog(f,a)}if(a.modal!="true"){$(document).bind("keyup",function(h){if(h.which==27){TB.remove()}})}}catch(d){}};TB.processImages=function(e,f){var l="";var g="";var n="";var h="";var c="";var b="";var k="";var m=false;if(e.imageGroup){var a=$("a[@rel="+e.imageGroup+"]").get();for(var j=0;((j<a.length)&&(b===""));j++){var d=a[j].href.toLowerCase().match(f);if(!(a[j].href==e.url)){if(m){h=a[j].title;c=a[j].href;b="<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>"}else{l=a[j].title;g=a[j].href;n="<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>"}}else{m=true;k="Image "+(j+1)+" of "+a.length}}}var i=new Image();$(i).bind("load",function(){$(this).unbind("load");var o=TB.scaleImage.call(TB,this);TB.Width=o.width+30;TB.Height=o.height+60;$("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+e.url+"' width='"+o.width+"' height='"+o.height+"' alt='"+e.caption+"'/></a><div id='TB_caption'>"+e.caption+"<div id='TB_secondLine'>"+k+n+b+"</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");$("#TB_closeWindowButton").click(TB.remove);if(n!==""){function q(){$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");TB.show({caption:l,url:g,imageGroup:e.imageGroup});return false}$("#TB_prev").click(q)}if(b!==""){function p(){$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");TB.show({caption:h,url:c,imageGroup:e.imageGroup});return false}$("#TB_next").click(p)}$(document).bind("keydown",function(s){var r=s.which;if(r==27){TB.remove()}else{if(r==190){if(b!=""){$(this).unbind("keydown");p()}}else{if(r==188){if(n!=""){$(this).unbind("keydown");q()}}}}});TB.position();$("#TB_load").remove();$("#TB_ImageOff").click(TB.remove);$("#TB_window").css("display","block")});i.src=e.url};TB.scaleImage=function(e){var d=TB.getPageSize();var b=d[0]-150;var f=d[1]-150;var c=e.width;var a=e.height;if(c>b){a=a*(b/c);c=b;if(a>f){c=c*(f/a);a=f}}else{if(a>f){c=c*(f/a);a=f;if(c>b){a=a*(b/c);c=b}}}return{width:c,height:a}};TB.processDialog=function(e,a){TB.Width=(a.width*1)+30||630;TB.Height=(a.height*1)+40||440;var b=TB.Width-30;var d=TB.Height-45;if(e.url.indexOf("TB_iframe")!=-1){urlNoQuery=e.url.split("TB_");$("#TB_iframeContent").remove();if(a.modal!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+e.caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='TB.showIframe()' style='width:"+(b+29)+"px;height:"+(d+17)+"px;' > </iframe>")}else{$("#TB_overlay").unbind();$("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='TB.showIframe()' style='width:"+(b+29)+"px;height:"+(d+17)+"px;'> </iframe>")}}else{if($("#TB_window").css("display")!="block"){if(a.modal!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+e.caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+b+"px;height:"+d+"px'></div>")}else{$("#TB_overlay").unbind();$("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+b+"px;height:"+d+"px;'></div>")}}else{$("#TB_ajaxContent")[0].style.width=b+"px";$("#TB_ajaxContent")[0].style.height=d+"px";$("#TB_ajaxContent")[0].scrollTop=0;$("#TB_ajaxWindowTitle").html(e.caption)}}$("#TB_closeWindowButton").click(TB.remove);if(e.url.indexOf("TB_inline")!=-1){$("#TB_ajaxContent").html($("#"+a.inlineId).html());$("#TB_window").unload(function(){$("#"+a.inlineId).html($("#TB_ajaxContent").html())});TB.position();$("#TB_load").remove();$("#TB_window").css("display","block")}else{if(e.url.indexOf("TB_iframe")!=-1){TB.position();if($.browser.safari){$("#TB_load").remove();$("#TB_window").css("display","block")}}else{var c=e.url+"&random="+(new Date().getTime());if(e.postParams===undefined){$.get(c,function(f){TB.onDataReceived(f,e)})}else{$.post(c,e.postParams,function(f){TB.onDataReceived(f,e)})}}}};TB.parseRedirect=function(b){var a=new RegExp("^#redirect#(.*)").exec(b);if(a!=null){return a[1]}return false};TB.onDataReceived=function(b,a){if($.isFunction(a.onDataReceived)){if(!a.onDataReceived(b)){return}}var c=TB.parseRedirect(b);if(c!==false){window.location.href=c;return}$("#TB_ajaxContent").html(b);TB.position();$("#TB_load").remove();TB.init("#TB_ajaxContent a.thickbox");$("#TB_window").css("display","block");if($.isFunction(a.onAfterShow)){a.onAfterShow()}};TB.showIframe=function(){$("#TB_load").remove();$("#TB_window").css("display","block")};TB.remove=function(){$("#TB_imageOff").unbind("click");$("#TB_closeWindowButton").unbind("click");$("#TB_window").fadeOut("fast",function(){$("#TB_window,#TB_overlay,#TB_HideSelect").trigger("unload").unbind().remove()});$("#TB_load").remove();if(typeof document.body.style.maxHeight=="undefined"){$("body","html").css({height:"auto",width:"auto"});$("html").css("overflow","")}$(document).unbind("keydown").unbind("keyup");return false};TB.position=function(){$("#TB_window").css({marginLeft:"-"+parseInt((TB.Width/2),10)+"px",width:TB.Width+"px"});if(!(jQuery.browser.msie&&jQuery.browser.version<7)){$("#TB_window").css({marginTop:"-"+parseInt((TB.Height/2),10)+"px"})}};TB.parseQuery=function(d){var e={};if(!d){return e}var a=d.split(/[;&]/);for(var c=0;c<a.length;c++){var g=a[c].split("=");if(!g||g.length!=2){continue}var b=unescape(g[0]);var f=unescape(g[1]);f=f.replace(/\+/g," ");e[b]=f}return e};TB.getPageSize=function(){var c=document.documentElement;var a=window.innerWidth||self.innerWidth||(c&&c.clientWidth)||document.body.clientWidth;var b=window.innerHeight||self.innerHeight||(c&&c.clientHeight)||document.body.clientHeight;return[a,b]};TB.detectMacXFF=function(){var a=navigator.userAgent.toLowerCase();if(a.indexOf("mac")!=-1&&a.indexOf("firefox")!=-1){return true}return false};var loading=false;var $control_widths={};function LeftMenu(){}LeftMenu.init=function(){loading=true;this.PopularTab=document.getElementById("left_popular_tab");this.A2ZTab=document.getElementById("left_a2z_tab");this.PopularData=document.getElementById("left_popular_data");this.A2ZData=document.getElementById("left_a2z_data");this._filterNames=["country_resort","country_resort_ids","trip_type","departure_city","super_region"];if(!this.PopularTab||!this.A2ZTab||!this.PopularData||!this.A2ZData){return}$(this.PopularTab).click(function(){LeftMenu.switchTab("popular",true)});$(this.A2ZTab).click(function(){LeftMenu.switchTab("a2z",true)});this.listingModeFound=true;this.listingMode=getCookie("country_sorting");if(!this.listingMode){this.listingModeFound=false;this.listingMode="popular"}LeftMenu.switchTab(this.listingMode);$("img.left-menu-country-arrow","#left_menu").each(function(){var f=$(this);if(!f.attr("id").match(/left_menu_arrow_(.*)_([0-9]+)/)){return}f.attr("countryId",RegExp.$2).attr("listingMode",RegExp.$1).click(function(g){LeftMenu.toggleCountry(f.attr("countryId"),f.attr("listingMode"))});if(RegExp.$2==current_country){LeftMenu.toggleCountry(f.attr("countryId"),f.attr("listingMode"),true)}});$("#lm_filter_trip_type, #lm_filter_departure_city, #lm_filter_super_region").click(function(f){LeftMenu.applyFilter()});var b=this;$("#lm_filter_country_resort").flexbox(this.prepareCountryOptions(),{width:$control_widths.lm_filter_country_resort!==undefined?$control_widths.lm_filter_country_resort:183,contentClass:"flexbox-content",paging:false,showArrow:true,maxVisibleRows:15,showResultsOnType:false,autoCompleteFirstMatch:false,watermark:b.countryResortWatermark,onBeforeSelect:function(f){if(f.attr("id")==b.anyLabel){f.attr("id","");f.attr("val","")}return f},onSelect:function(){LeftMenu.applyFilter($("#lm_filter_country_resort_hidden").val(),"country")}});var a=false;$("#lm_filter_country_resort_input").keyup(function(f){var g=$(this).val();if(a){clearTimeout(a)}a=setTimeout(function(){LeftMenu.applyFilter(g,"text")},500)});this.loadFilter();var e=$("#left_popular_data").width();var d=$("#left_a2z_data").width();var c=e>d?e:d;if($("#direction_menu_table").width()<c){$("#direction_menu_table").width(c)}if($("#trip-timetable-menu").width()<c){$("#trip-timetable-menu").width(c)}if($("#nothing-found-menu").width()<c){$("#nothing-found-menu").width(c)}if($("#country_menu_tabs").width()>c){$("#country_menu_tabs").width(c)}loading=false};LeftMenu.prepareCountryOptions=function(){var a=0;var b={results:[{id:"",name:this.anyLabel}],total:0};for(var c in this.countriesDropdown){b.results.push({id:c,name:this.countriesDropdown[c]["l"+this.languageId+"_CountryName"]});a++}b.total=a;return b};LeftMenu.loadFilter=function(){this._filters={};for(var b=0;b<this._filterNames.length;b++){var a=getCookie("lm_filter_"+this._filterNames[b]);if(this._filterNames[b]=="country_resort_ids"){a=a?a.split(","):[]}else{if(a===null){a=""}}this._filters[this._filterNames[b]]=a}this.showFilter(false)};LeftMenu.showFilter=function(c){for(var b=0;b<this._filterNames.length;b++){var a=$("#lm_filter_"+this._filterNames[b]);if(a.length){if(a.get(0).tagName.toLowerCase()=="select"){a.val(this._filters[this._filterNames[b]])}}else{if(this._filters.country_resort==""){$("#lm_filter_country_resort_input").addClass("watermark").val(this.countryResortWatermark)}else{$("#lm_filter_country_resort_input").removeClass("watermark").val(this._filters.country_resort)}}}this.applyFilter(undefined,undefined,c)};LeftMenu.saveFilter=function(){for(var b=0;b<this._filterNames.length;b++){var a=this._filters[this._filterNames[b]];if(this._filterNames[b]=="country_resort_ids"){a=a?a.join(","):""}setCookie("lm_filter_"+this._filterNames[b],a)}};LeftMenu.resetFilter=function(){for(var a=0;a<this._filterNames.length;a++){this._filters[this._filterNames[a]]=""}this.saveFilter();this.showFilter();this.listingModeFound=false;deleteCookie("country_sorting");LeftMenu.switchTab("popular",false)};LeftMenu.applyFilter=function(z,k,w){if(w===undefined){w=true}for(var a=0;a<this._filterNames.length;a++){var B=$("#lm_filter_"+this._filterNames[a]);if(B.length){if(B.get(0).tagName.toLowerCase()=="select"){this._filters[this._filterNames[a]]=B.val()}}else{if(k!==undefined){if(z==this.countryResortWatermark||!z.length){z="";k="text"}if(k=="country"){this._filters.country_resort=this.countries[z]["l"+this.languageId+"_CountryName"];this._filters[this._filterNames[a]]=this.getCoutryResortIDs(z,"country")}else{this._filters.country_resort=z;this._filters[this._filterNames[a]]=this.getCoutryResortIDs(z,"text")}}}}this.saveFilter();if(!this.listingModeFound&&w){LeftMenu.switchTab("a2z")}var r=$("li.country-elem-"+this.listingMode+".reset-filters");if(!LeftMenu.haveFilters()){var E=$("li.country-elem-"+this.listingMode+", a.country-elem").not(r);E.show();r.hide();$("a.trip-schedule-reset-link-home-page").hide();$("li.resort-elem","#left_"+this.listingMode+"_data").show();var x=this;var f=E.not(".country-elem-separator");f.filter("li").each(function(){var F=$("img.left-menu-country-arrow",this);var H=F.attr("countryId");var G=F.attr("listingMode");$("li.resort-elem","#resorts_"+G+"_"+H).show();x.toggleCountry(H,G,H==current_country)});f.filter("a").removeClass("highlighted-text");$("#country_menu_tabs").show();$("a.resort-elem").removeClass("highlighted-text");$("div.trip-type-block").removeClass("highlighted-background");$("a.trip-schedule-link-left-menu, a.trip-schedule-link-home-page").attr("href",this.tripScheduleLink);$("a.booking-link").attr("href",this.bookingLink);$("a.tickets-link").attr("href",this.ticketsLink);$("a.trip-schedule-link-left-menu").html(this.tripScheduleLinkTextAll);$("a.booking-link").html(this.bookingLinkTextAll);$("a.tickets-link").html(this.ticketsLinkTextAll);$("li.left-menu-hotel-booking, li.left-menu-ticket-booking").hide();$("#nothing-found-menu").hide();$("#trip-timetable-menu").show();return}var d=[];var o=[];var l=this._filters.country_resort_ids?this._filters.country_resort_ids.join(","):"";l=l?l.split(","):[];for(var a=0;a<l.length;a++){var A=l[a].split("_");if(A[0]=="C"){d.push(".country-id-"+A[1])}else{o.push(".resort-id-"+A[1])}}var E=$("li.country-elem-"+this.listingMode+", a.country-elem").not(r);var t=E;if(d.length){t=t.filter(d.join(","))}else{if(this._filters.country_resort){t=t.not("*")}}var C=$("li.resort-elem","#left_"+this.listingMode+"_data").add("a.resort-elem");var s=C;if(o.length){s=s.filter(o.join(","))}else{if(this._filters.country_resort){s=s.not("*")}}var y=$("div.trip-type-block");if(this._filters.trip_type){t=t.filter(".country-trip-type-"+this._filters.trip_type);s=s.filter(".resort-trip-type-"+this._filters.trip_type);y.filter(".trip-type-id-"+this._filters.trip_type).addClass("highlighted-background");y=y.not(".trip-type-id-"+this._filters.trip_type)}y.removeClass("highlighted-background");if(this._filters.departure_city){var e=".country-departure-city-"+this._filters.departure_city;var c=".resort-departure-city-"+this._filters.departure_city;if(this._filters.departure_city==this.defaultDepartureCity){e+=", .country-departure-city-"+this.noDepartureCityId;c+=", .resort-departure-city-"+this.noDepartureCityId}t=t.filter(e);s=s.filter(c)}if(this._filters.super_region){t=t.filter(".country-super-region-id-"+this._filters.super_region);s=s.filter(".resort-super-region-id-"+this._filters.super_region)}var x=this;t.not("a, .country-elem-separator").each(function(){if(!$(this).attr("class").match(/country-id-([\d]+)/)){return}var G=RegExp.$1;var F=$("li.resort-elem","#resorts_"+x.listingMode+"_"+G);if(s.not(F).length==s.length){t=t.not(this);t=t.not($("li.country-elem-separator.country-id-"+G+", a.country-id-"+G))}});if(loading&&(this.currentCountry&&t.filter(".country-id-"+this.currentCountry).length==0||this.currentResort&&s.filter(".resort-id-"+this.currentResort).length==0)){this.resetFilter();return}var h=E.not(t);var g=C.not(s);var x=this;var v=t.not("a").length/2<=this.autoExpandCountryCount;t.not("a").show();t.filter("a").addClass("highlighted-text");var b=t.not(".country-elem-separator");b.not("a").each(function(){var F=$("img.left-menu-country-arrow",this);var H=F.attr("countryId");var G=F.attr("listingMode");s.not("a").show();g.not("a").hide();x.toggleCountry(H,G,H==current_country?true:v)});s.filter("a").addClass("highlighted-text");g.filter("a").removeClass("highlighted-text");var i=h.not("a");i.hide();i.not(".country-elem-separator").each(function(){var F=$("img.left-menu-country-arrow",this);x.toggleCountry(F.attr("countryId"),F.attr("listingMode"),false)});h.filter("a").removeClass("highlighted-text");if(b.length==0){$("#nothing-found-menu").show();$("#trip-timetable-menu").hide();$("#country_menu_tabs").hide();var q=this._getFirstResort();if(q!==false){var j=this.baseUrl+this.resorts[q]["BookingLink"];$("a.booking-link").attr("href",j);var m=this.baseUrl+this.resorts[q]["TicketBookingLink"];$("a.tickets-link").attr("href",m);$("a.booking-link").html(this.bookingLinkText);$("a.tickets-link").html(this.ticketsLinkText)}else{$("a.booking-link").attr("href",this.bookingLink);$("a.tickets-link").attr("href",this.ticketsLink);$("a.booking-link").html(this.bookingLinkTextAll);$("a.tickets-link").html(this.ticketsLinkTextAll)}}else{$("li.left-menu-hotel-booking, li.left-menu-ticket-booking").hide();$("#nothing-found-menu").hide();$("#trip-timetable-menu").show();$("#country_menu_tabs").show()}var D=new Array();if(this._filters.super_region){D.push("super_region_id="+this._filters.super_region)}var u=new Array();for(var a=0;a<l.length;a++){var A=l[a].split("_");if(A[0]=="C"){u.push(A[1])}}var n=false;if(u.length){D.push("country="+u.join(","))}else{if($("#lm_filter_country_resort_input").val()){n=true}}if(this._filters.trip_type){D.push("trip_type="+this._filters.trip_type)}if(this._filters.departure_city){D.push("departure_city="+this._filters.departure_city)}var p=this.tripScheduleLink;if(D.length){p+=(p.indexOf("?")!=-1?"&":"?")+D.join("&");$("a.trip-schedule-link-left-menu").html(this.tripScheduleLinkText)}else{$("a.trip-schedule-link-left-menu").html(this.tripScheduleLinkTextAll)}$("a.trip-schedule-link-left-menu, a.trip-schedule-link-home-page").attr("href",p);if(n){D.push("country=not_found");var p=this.tripScheduleLink;p+=(p.indexOf("?")!=-1?"&":"?")+D.join("&");$("a.trip-search-form-button").attr("href",p)}r.show();$("a.trip-schedule-reset-link-home-page").show()};LeftMenu._getFirstResort=function(){for(var b=0;b<this._filters.country_resort_ids.length;b++){var a=this._filters.country_resort_ids[b].split("_");if(a[0]=="R"){return a[1];break}}return false};LeftMenu._getClassNames=function(b){var a=[];b.each(function(){a.push($(this).attr("class"))});return a};LeftMenu.haveFilters=function(){for(var a=0;a<this._filterNames.length;a++){$value=this._filters[this._filterNames[a]];if(this._filterNames[a]=="country_resort_ids"){$value=$value?$value.join(","):""}if($value){return true}}return false};LeftMenu.getCoutryResortIDs=function(l,h){if(h=="country"){var b=new Array("C_"+l);for(var i in this.resorts){var j=this.resorts[i]["CountryId"];if(j!=l){continue}b.push("R_"+i)}return b}if(!l.length){return[]}var e={"Ē":"E","ē":"e","Ŗ":"R","ŗ":"r","Ū":"U","ū":"u","Ī":"I","ī":"i","Ā":"A","ā":"a","Š":"S","š":"s","Ģ":"G","ģ":"g","Ķ":"K","ķ":"k","Ļ":"L","ļ":"l","Ž":"Z","ž":"z","Č":"C","č":"c","Ņ":"N","ņ":"n"};for(var p in e){l=l.replace(p,e[p])}var b=new Array();var g={};var m={};var k=new RegExp("^"+l+".*","i");var d=new RegExp("( |\\+|\\-)"+l+".*","i");for(var i in this.resorts){var r=[this.resorts[i]["l1_ResortName"],this.resorts[i]["l2_ResortName"],this.resorts[i]["l3_ResortName"],this.resorts[i]["l1_ResortAliases"],this.resorts[i]["l2_ResortAliases"],this.resorts[i]["l3_ResortAliases"]];r=r.join("; ").split("; ");var j=this.resorts[i]["CountryId"];for(var a=0;a<r.length;a++){if(r[a].match(k)||r[a].match(d)){b.push("C_"+j);b.push("R_"+i);if(m[j]===undefined){m[j]=new Array()}m[j].push(i);break}}if(g[j]===undefined){g[j]=new Array()}g[j].push(i)}for(var j in this.countries){if(this.countries[j]["l1_CountryName"].match(k)||this.countries[j]["l2_CountryName"].match(k)||this.countries[j]["l3_CountryName"].match(k)||this.countries[j]["l1_CountryName"].match(d)||this.countries[j]["l2_CountryName"].match(d)||this.countries[j]["l3_CountryName"].match(d)){b.push("C_"+j);for(var i in this.resorts){var n=this.resorts[i]["CountryId"];if(n!=j){continue}b.push("R_"+i)}}}var c=new Array();for(var a=0;a<b.length;a++){if(!in_array(b[a],c)){c.push(b[a])}}var f=new Array();for(var a=0;a<c.length;a++){var o=c[a].split("_");var j=o[1];if((o[0]=="C")&&(m[j]===undefined||!m[j].length)){for(var q=0;q<g[j].length;q++){f.push("R_"+g[j][q])}}f.push(c[a])}return f};LeftMenu.toggleCountry=function(d,b,c){var a=$("#left_menu_arrow_"+b+"_"+d);if(a.length==0){return}if(c===undefined){c=a.attr("src").match(/left_menu_arrow_right\.gif/)}if(c){a.attr("src","img/left_menu_arrow_down.gif");$("#resorts_"+b+"_"+d).show()}else{a.attr("src","img/left_menu_arrow_right.gif");$("#resorts_"+b+"_"+d).hide()}};LeftMenu.switchTab=function(b,f){if(this.listingMode==b&&$("#left_"+this.listingMode+"_data").css("display")!="none"){return}if(f===undefined){f=false}if(b=="a2z"){var a=this.A2ZData;var c=this.PopularData;var d=this.A2ZTab;var e=this.PopularTab}else{var a=this.PopularData;var c=this.A2ZData;var d=this.PopularTab;var e=this.A2ZTab}a.style.display=document.all?"block":"table";c.style.display="none";setCookie("country_sorting",b);this.listingMode=b;if(f){this.listingModeFound=true;this.applyFilter(undefined,undefined,false)}};LeftMenu.countryClick=function(a){a=a?a:window.event};function ResortImages(){}ResortImages.Galleries=new Array();ResortImages.Holders=new Array();ResortImages.GalleryPointers=new Array();ResortImages.addAdditionalImages=function(b,a){if(!a||a==""){return}a=a.split("|");this.Galleries[b]=a};ResortImages.init=function(){if(!document.getElementById("resorts_block")){return}var a=document.getElementById("resorts_block").getElementsByTagName("IMG");for(var d=0;d<a.length;d++){var c=a[d];if(c.id.match(/resort_image_([0-9]+)/)){var b=RegExp.$1;if(!this.Galleries[b]){continue}this.Holders[b]=c;window.setInterval("ResortImages.rotate("+b+")",3000+Math.round(Math.random()*5000));this.GalleryPointers[b]=0}}};ResortImages.rotate=function(a){if(++this.GalleryPointers[a]>=this.Galleries[a].length){this.GalleryPointers[a]=0}this.Holders[a].src=this.Galleries[a][this.GalleryPointers[a]]};$(document).ready(function(){ResortImages.init();LeftMenu.init();$("a.trip-type-menu-item").mouseover(function(a){var b=$(this);setTimeout(function(){var e=b.attr("trip_type_id");if(e==$last_trip_type_id){return}$("a.trip-type-menu-item","table.travel-menu").not(b).removeClass("force-selected");b.addClass("force-selected");showTripTypeMenuCMSBlock(false);var d=$trip_type_resorts[e];var g=$("li.last-cell","ul.countries-menu-right");if(d.more_link===false){g.hide()}else{g.show();$("a:first",g).attr("href",d.more_link)}var h=$("ul.countries-menu-left");var c=$("ul.countries-menu-right");clearTripTypeMenu();for(var i=0;i<d.resorts.length;i++){var f='<li><a href="'+d.resorts[i]["link"]+'">'+d.resorts[i]["name"]+"</a></li>";if(i<10){h.append(f)}else{g.before(f)}}$last_trip_type_id=e},0)});$("body").bind("OnTopMenuSelected",function(b,a){if($(a).attr("menu_type")=="travel-menu"){showTripTypeMenuCMSBlock(true)}})});function clearTripTypeMenu(){if($last_trip_type_id===false){return}$("ul.countries-menu-left").empty();$("li","ul.countries-menu-right").not(".last-cell").remove()}function showTripTypeMenuCMSBlock(a){if(a===undefined){a=true}var b=$("#trip_type_menu_cms_block");if(a){clearTripTypeMenu();b.show();b.parents("td:first").attr("width","69%");$("td.menu-vert-dots").width(0);$("td.countries-menu-right").hide();$("a.trip-type-menu-item","table.travel-menu").removeClass("force-selected")}else{b.hide();b.parents("td:first").attr("width","35%");$("td.menu-vert-dots").width(2);$("td.countries-menu-right").show()}}function addEvent(el,evname,func,traditional){if(traditional){eval("el.on"+evname+"="+func);return}if(el.attachEvent){el.attachEvent("on"+evname,func)}else{el.addEventListener(evname,func,true)}}function addLoadEvent(b,a){if(!a){a=window}var c=a.onload;if(typeof a.onload!="function"){a.onload=b}else{a.onload=function(){if(c){c()}b()}}}function setCookie(a,b){if(getCookie(a)!=b){document.cookie=a+"="+escape(b)+"; path=/"}}function getCookie(b){var d=document.cookie;var a=d.indexOf(b+"=");if(a==-1){return null}a=d.indexOf("=",a)+1;var c=d.indexOf(";",a);if(c==-1){c=d.length}return unescape(d.substring(a,c))}function deleteCookie(a){if(getCookie(a)){document.cookie=a+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/"}}function runOnClick(b){var a;var c=typeof(b)=="string"?document.getElementById(b):b;if(document.createEvent){a=document.createEvent("HTMLEvents");a.initEvent("click",true,false);(a)?c.dispatchEvent(a):(c.onchange&&c.onchange());return}if(c.fireEvent){c.fireEvent("onclick")}}function open_photos(c,b,a,d){var i=Math.round((screen.width-a)/2);var g=Math.round((screen.height-d)/2);var f="left="+i+",top="+g+",width="+a+",height="+d+",status=yes,resizable=yes,menubar=no,scrollbars=yes,toolbar=no";b=b.replace(/(\/|-)/g,"_");var e=window.open(c,b,f);e.focus()}function in_array(b,a){return array_search(b,a)!=-1}function array_search(c,b){for(var a=0;a<b.length;a++){if(b[a]==c){return a}}return -1}function update_checkbox(a,b){b.value=a.checked?1:0}
/*
 * jQuery corner plugin: simple corner rounding
 * Examples and documentation at: http://jquery.malsup.com/corner/
 * version 2.04 (11-FEB-2010)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * @author Dave Methvin (http://methvin.com/jquery/jq-corner.html)
 * @author Mike Alsup   (http://jquery.malsup.com/corner/)
 */
(function(c){var a=navigator.userAgent;var g=c.browser.mozilla&&/gecko/i.test(a);var i=c.browser.safari&&/Safari\/[5-9]/.test(a);var d=document.documentMode||0;var k=c.browser.msie&&((c.browser.version<8&&!d)||d<8);var h=c.browser.msie&&(function(){var m=document.createElement("div");try{m.style.setExpression("width","0+0");m.style.removeExpression("width")}catch(l){return false}return true})();function f(l,m){return parseInt(c.css(l,m))||0}function j(l){var l=parseInt(l).toString(16);return(l.length<2)?"0"+l:l}function b(n){for(;n&&n.nodeName.toLowerCase()!="html";n=n.parentNode){var l=c.css(n,"backgroundColor");if(l=="rgba(0, 0, 0, 0)"){continue}if(l.indexOf("rgb")>=0){var m=l.match(/\d+/g);return"#"+j(m[0])+j(m[1])+j(m[2])}if(l&&l!="transparent"){return l}}return"#ffffff"}function e(n,l,m){switch(n){case"round":return Math.round(m*(1-Math.cos(Math.asin(l/m))));case"cool":return Math.round(m*(1+Math.cos(Math.asin(l/m))));case"sharp":return Math.round(m*(1-Math.cos(Math.acos(l/m))));case"bite":return Math.round(m*(Math.cos(Math.asin((m-l-1)/m))));case"slide":return Math.round(m*(Math.atan2(l,m/l)));case"jut":return Math.round(m*(Math.atan2(m,(m-l-1))));case"curl":return Math.round(m*(Math.atan(l)));case"tear":return Math.round(m*(Math.cos(l)));case"wicked":return Math.round(m*(Math.tan(l)));case"long":return Math.round(m*(Math.sqrt(l)));case"sculpt":return Math.round(m*(Math.log((m-l-1),m)));case"dogfold":case"dog":return(l&1)?(l+1):m;case"dog2":return(l&2)?(l+1):m;case"dog3":return(l&3)?(l+1):m;case"fray":return(l%2)*m;case"notch":return m;case"bevelfold":case"bevel":return l+1}}c.fn.corner=function(l){if(this.length==0){if(!c.isReady&&this.selector){var m=this.selector,n=this.context;c(function(){c(m,n).corner(l)})}return this}return this.each(function(v){var u=c(this);var D=[l||"",u.attr(c.fn.corner.defaults.metaAttr)||""].join(" ").toLowerCase();var K=/keep/.test(D);var C=((D.match(/cc:(#[0-9a-f]+)/)||[])[1]);var p=((D.match(/sc:(#[0-9a-f]+)/)||[])[1]);var G=parseInt((D.match(/(\d+)px/)||[])[1])||10;var E=/round|bevelfold|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dogfold|dog/;var r=((D.match(E)||["round"])[0]);var s=/dogfold|bevelfold/.test(D);var q={T:0,B:1};var z={TL:/top|tl|left/.test(D),TR:/top|tr|right/.test(D),BL:/bottom|bl|left/.test(D),BR:/bottom|br|right/.test(D)};if(!z.TL&&!z.TR&&!z.BL&&!z.BR){z={TL:1,TR:1,BL:1,BR:1}}if(c.fn.corner.defaults.useNative&&r=="round"&&(g||i)&&!C&&!p){if(z.TL){u.css(g?"-moz-border-radius-topleft":"-webkit-border-top-left-radius",G+"px")}if(z.TR){u.css(g?"-moz-border-radius-topright":"-webkit-border-top-right-radius",G+"px")}if(z.BL){u.css(g?"-moz-border-radius-bottomleft":"-webkit-border-bottom-left-radius",G+"px")}if(z.BR){u.css(g?"-moz-border-radius-bottomright":"-webkit-border-bottom-right-radius",G+"px")}return}var H=document.createElement("div");H.style.overflow="hidden";H.style.height="1px";H.style.backgroundColor=p||"transparent";H.style.borderStyle="solid";var N={T:parseInt(c.css(this,"paddingTop"))||0,R:parseInt(c.css(this,"paddingRight"))||0,B:parseInt(c.css(this,"paddingBottom"))||0,L:parseInt(c.css(this,"paddingLeft"))||0};if(typeof this.style.zoom!=undefined){this.style.zoom=1}if(!K){this.style.border="none"}H.style.borderColor=C||b(this.parentNode);var F=c.curCSS(this,"height");for(var I in q){var y=q[I];if((y&&(z.BL||z.BR))||(!y&&(z.TL||z.TR))){H.style.borderStyle="none "+(z[I+"R"]?"solid":"none")+" none "+(z[I+"L"]?"solid":"none");var O=document.createElement("div");c(O).addClass("jquery-corner");var B=O.style;y?this.appendChild(O):this.insertBefore(O,this.firstChild);if(y&&F!="auto"){if(c.css(this,"position")=="static"){this.style.position="relative"}B.position="absolute";B.bottom=B.left=B.padding=B.margin="0";if(h){B.setExpression("width","this.parentNode.offsetWidth")}else{B.width="100%"}}else{if(!y&&c.browser.msie){if(c.css(this,"position")=="static"){this.style.position="relative"}B.position="absolute";B.top=B.left=B.right=B.padding=B.margin="0";if(h){var L=f(this,"borderLeftWidth")+f(this,"borderRightWidth");B.setExpression("width","this.parentNode.offsetWidth - "+L+'+ "px"')}else{B.width="100%"}}else{B.position="relative";B.margin=!y?"-"+N.T+"px -"+N.R+"px "+(N.T-G)+"px -"+N.L+"px":(N.B-G)+"px -"+N.R+"px -"+N.B+"px -"+N.L+"px"}}for(var J=0;J<G;J++){var x=Math.max(0,e(r,J,G));var M=H.cloneNode(false);M.style.borderWidth="0 "+(z[I+"R"]?x:0)+"px 0 "+(z[I+"L"]?x:0)+"px";y?O.appendChild(M):O.insertBefore(M,O.firstChild)}if(s&&c.support.boxModel){if(y&&k){continue}for(var P in z){if(!z[P]){continue}if(y&&(P=="TL"||P=="TR")){continue}if(!y&&(P=="BL"||P=="BR")){continue}var A={position:"absolute",border:"none",margin:0,padding:0,overflow:"hidden",backgroundColor:H.style.borderColor};var t=c("<div/>").css(A).css({width:G+"px",height:"1px"});switch(P){case"TL":t.css({bottom:0,left:0});break;case"TR":t.css({bottom:0,right:0});break;case"BL":t.css({top:0,left:0});break;case"BR":t.css({top:0,right:0});break}O.appendChild(t[0]);var Q=c("<div/>").css(A).css({top:0,bottom:0,width:"1px",height:G+"px"});switch(P){case"TL":Q.css({left:G});break;case"TR":Q.css({right:G});break;case"BL":Q.css({left:G});break;case"BR":Q.css({right:G});break}O.appendChild(Q[0])}}}}})};c.fn.uncorner=function(){if(g||i){this.css(g?"-moz-border-radius":"-webkit-border-radius",0)}c("div.jquery-corner",this).remove();return this};c.fn.corner.defaults={useNative:true,metaAttr:"data-corner"}})(jQuery);PolylineEncoder=function(c,b,e,d){var a;if(!c){c=18}if(!b){b=2}if(!e){e=0.00001}if(!d){d=true}this.numLevels=c;this.zoomFactor=b;this.verySmall=e;this.forceEndpoints=d;this.zoomLevelBreaks=new Array(c);for(a=0;a<c;a++){this.zoomLevelBreaks[a]=e*Math.pow(b,c-a-1)}};PolylineEncoder.prototype.dpEncode=function(n){var l=0;var k=[];var h=new Array(n.length);var g,b,o,f,m,j;var e,a,d;var c;if(n.length>2){k.push([0,n.length-1]);while(k.length>0){j=k.pop();g=0;c=Math.pow(n[j[1]].lat()-n[j[0]].lat(),2)+Math.pow(n[j[1]].lng()-n[j[0]].lng(),2);for(e=j[0]+1;e<j[1];e++){o=this.distance(n[e],n[j[0]],n[j[1]],c);if(o>g){g=o;b=e;if(g>l){l=g}}}if(g>this.verySmall){h[b]=g;k.push([j[0],b]);k.push([b,j[1]])}}}a=this.createEncodings(n,h);d=this.encodeLevels(n,h,l);return{encodedPoints:a,encodedLevels:d,encodedPointsLiteral:a.replace(/\\/g,"\\\\")}};PolylineEncoder.prototype.dpEncodeToJSON=function(d,b,e,c){var a;if(!c){c=0.9}if(!e){e=3}if(!b){b="#0000ff"}a=this.dpEncode(d);return{color:b,weight:e,opacity:c,points:a.encodedPoints,levels:a.encodedLevels,numLevels:this.numLevels,zoomFactor:this.zoomFactor}};PolylineEncoder.prototype.dpEncodeToGPolyline=function(c,a,d,b){if(!b){b=0.9}if(!d){d=3}if(!a){a="#0000ff"}return new GPolyline.fromEncoded(this.dpEncodeToJSON(c,a,d,b))};PolylineEncoder.prototype.dpEncodeToGPolygon=function(g,c,f,h,b,j,k,a){var e,d;if(!c){c="#0000ff"}if(!f){f=3}if(!h){h=0.9}if(!b){b=c}if(!j){j=h/3}if(k==undefined){k=true}if(a==undefined){a=true}d=new Array(0);for(e=0;e<g.length;e++){d.push(this.dpEncodeToJSON(g[e],c,f,h))}return new GPolygon.fromEncoded({polylines:d,color:b,opacity:j,fill:k,outline:a})};PolylineEncoder.prototype.distance=function(f,e,d,a){var c,b;if(e.lat()===d.lat()&&e.lng()===d.lng()){b=Math.sqrt(Math.pow(d.lat()-f.lat(),2)+Math.pow(d.lng()-f.lng(),2))}else{c=((f.lat()-e.lat())*(d.lat()-e.lat())+(f.lng()-e.lng())*(d.lng()-e.lng()))/a;if(c<=0){b=Math.sqrt(Math.pow(f.lat()-e.lat(),2)+Math.pow(f.lng()-e.lng(),2))}if(c>=1){b=Math.sqrt(Math.pow(f.lat()-d.lat(),2)+Math.pow(f.lng()-d.lng(),2))}if(0<c&&c<1){b=Math.sqrt(Math.pow(f.lat()-e.lat()-c*(d.lat()-e.lat()),2)+Math.pow(f.lng()-e.lng()-c*(d.lng()-e.lng()),2))}}return b};PolylineEncoder.prototype.createEncodings=function(n,f){var b,g,h;var d=0;var e=0;var c="";for(b=0;b<n.length;b++){if(f[b]!=undefined||b==0||b==n.length-1){var l=n[b];var j=l.lat();var k=l.lng();var a=Math.floor(j*100000);var m=Math.floor(k*100000);g=a-d;h=m-e;d=a;e=m;c+=this.encodeSignedNumber(g)+this.encodeSignedNumber(h)}}return c};PolylineEncoder.prototype.computeLevel=function(a){var b;if(a>this.verySmall){b=0;while(a<this.zoomLevelBreaks[b]){b++}return b}};PolylineEncoder.prototype.encodeLevels=function(d,e,b){var a;var c="";if(this.forceEndpoints){c+=this.encodeNumber(this.numLevels-1)}else{c+=this.encodeNumber(this.numLevels-this.computeLevel(b)-1)}for(a=1;a<d.length-1;a++){if(e[a]!=undefined){c+=this.encodeNumber(this.numLevels-this.computeLevel(e[a])-1)}}if(this.forceEndpoints){c+=this.encodeNumber(this.numLevels-1)}else{c+=this.encodeNumber(this.numLevels-this.computeLevel(b)-1)}return c};PolylineEncoder.prototype.encodeNumber=function(b){var a="";var c,d;while(b>=32){c=(32|(b&31))+63;a+=(String.fromCharCode(c));b>>=5}d=b+63;a+=(String.fromCharCode(d));return a};PolylineEncoder.prototype.encodeSignedNumber=function(a){var b=a<<1;if(a<0){b=~(b)}return(this.encodeNumber(b))};PolylineEncoder.latLng=function(b,a){this.y=b;this.x=a};PolylineEncoder.latLng.prototype.lat=function(){return this.y};PolylineEncoder.latLng.prototype.lng=function(){return this.x};PolylineEncoder.pointsToLatLngs=function(b){var a,c;c=new Array(0);for(a=0;a<b.length;a++){c.push(new PolylineEncoder.latLng(b[a][0],b[a][1]))}return c};PolylineEncoder.pointsToGLatLngs=function(c){var b,a;a=new Array(0);for(b=0;b<c.length;b++){a.push(new GLatLng(c[b][0],c[b][1]))}return a};function GMapHelper(){}GMapHelper.outlineColor="#ff0000";GMapHelper.outlineWeight=3;GMapHelper.outlineOpacity=0.8;GMapHelper.fillColor="#f33f00";GMapHelper.fillOpacity=0.2;GMapHelper.polygonRestored=false;GMapHelper.createdIcons=new Array();GMapHelper.init=function(c,a,b){GMapHelper.map=c;if(a){GMapHelper.areaInput=a}if(b){GMapHelper.markersInput=b}};GMapHelper.prepareSavedPolygon=function(a){var b=a.split("--@@@@--");GMapHelper.areaPolygon=GPolygon.fromEncoded({polylines:[{points:b[0],levels:b[1],numLevels:5,zoomFactor:2,color:GMapHelper.outlineColor,weight:GMapHelper.outlineWeight,opacity:GMapHelper.outlineOpacity}],color:GMapHelper.fillColor,fill:true,opacity:GMapHelper.fillOpacity,outline:true});GMapHelper.polygonRestored=true};GMapHelper.restorePolygon=function(){if(GMapHelper.areaInput.value!=""){GMapHelper.prepareSavedPolygon(GMapHelper.areaInput.value)}else{GMapHelper.areaPolygon=new GPolygon([],GMapHelper.outlineColor,GMapHelper.outlineWeight,GMapHelper.outlineOpacity,GMapHelper.fillColor,GMapHelper.fillOpacity)}GMapHelper.map.addOverlay(GMapHelper.areaPolygon)};GMapHelper.encodePolygon=function(){var c=new Array();for(var b=0;b<GMapHelper.areaPolygon.getVertexCount();b++){c[b]=GMapHelper.areaPolygon.getVertex(b)}polylineEncoder=new PolylineEncoder(5);var a=polylineEncoder.dpEncode(c);GMapHelper.areaInput.value=a.encodedPoints+"--@@@@--"+a.encodedLevels};GMapHelper.drawPolygon=function(){GMapHelper.map.removeOverlay(GMapHelper.areaPolygon);GMapHelper.areaPolygon=new GPolygon([],GMapHelper.outlineColor,GMapHelper.outlineWeight,GMapHelper.outlineOpacity,GMapHelper.fillColor,GMapHelper.fillOpacity);GMapHelper.map.addOverlay(GMapHelper.areaPolygon);GMapHelper.areaPolygon.enableDrawing()};GMapHelper.editPolygon=function(){GMapHelper.areaPolygon.enableEditing()};GMapHelper.saveData=function(){GMapHelper.encodePolygon();GMapHelper.saveMarkers()};GMapHelper.adjustMapByPolygon=function(){if(GMapHelper.polygonRestored){var a=GMapHelper.areaPolygon.getBounds();GMapHelper.map.setZoom(GMapHelper.map.getBoundsZoomLevel(a));GMapHelper.map.setCenter(a.getCenter())}};GMapHelper.createMarker=function(f,b,i,e,h){if(!GMapHelper.createdIcons[f]){GMapHelper.createdIcons[f]=new Array()}if(GMapHelper.createdIcons[f][b]){GMapHelper.createdIcons[f][b].openInfoWindow("I'm here");return}var c=f+" "+i;if(!e||!h){var a=GMapHelper.map.getCenter()}else{var a=new GLatLng(e,h)}var g=new GIcon(G_DEFAULT_ICON);g.iconSize=new GSize(32,32);if(f=="resort"){g.image="http://www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png"}if(f=="airport"){g.image="http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png"}if(f=="region"){g.image="http://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png"}var d=new GMarker(a,{title:c,draggable:true,icon:g});d._add_type=f;d._add_id=b;d.bindInfoWindowHtml(c);GMapHelper.map.addOverlay(d);GMapHelper.createdIcons[f][b]=d;var j=document.getElementById("map_elem_"+f+"_"+b);j.className=j.className+" onmap"};GMapHelper.saveMarkers=function(){var c="";for(var b in GMapHelper.createdIcons){c+=b+":";for(var d in GMapHelper.createdIcons[b]){var a=GMapHelper.createdIcons[b][d].getLatLng();c+=d+"("+a.lat()+"x"+a.lng()+"),"}c=c.replace(/,$/,"");c+=";"}c=c.replace(/;$/,"");GMapHelper.markersInput.value=c};GMapHelper.restoreMarkers=function(){var d=GMapHelper.markersInput.value.split(";");for(var c=0;c<d.length;c++){if(d[c].match(/(.*):(.*)/)){var e=RegExp.$1;var b=RegExp.$2;var h=b.split(",");for(var k=0;k<h.length;k++){if(h[k].match(/([0-9]+)\((.*)\)/)){var a=RegExp.$1;var g=RegExp.$2;var f=g.split("x");var j=document.getElementById("map_elem_"+e+"_"+a);if(j){GMapHelper.createMarker(e,a,j.innerHTML,f[0],f[1])}}}}}};
