$(document).ready(function(){if(window.Settings.SelectedTab){$(".TabContent").hide();$("#"+window.Settings.SelectedTab).show()}window.CurrentPage=new ProductPage();window.InputCalendar=new InputCalendar("InputCalendar");$(window).bind("unload",function(){window.CurrentPage.Dispose()})});function ProductPage(){var C=this;var k=null;var l=null;var j=null;var e=null;var D=0;var B=null;var f=0;var u=0;var r=0;var s=null;var b=false;var y=null;var v=0;if(AjaxMgr.GetBaseToolParams()==null){$(AjaxMgr).bind("OnBaseToolParamsLoaded",z)}else{z()}function z(){v=window.AjaxMgr.GetOnlineId();if(window.Settings.ProductLat!=""){k=new GMapFull("TopMapContent",window.Settings.ProductLat,window.Settings.ProductLng,13,{Weather:true});if(window.location.hash!=""&&$(document).scrollTop()==0){var P=$("a[name=SiteContent]").offset();if(P!=null){window.scrollTo(0,P.top)}}}if(window.Settings.BookingId>0){l=new CitybreakCalendar("CitybreakCalendarFrom",window.Settings.BookingId,window.Settings.PackageId,window.Settings.Lang,true,null,v);j=new CitybreakCalendar("CitybreakCalendarTo",window.Settings.BookingId,window.Settings.PackageId,window.Settings.Lang,false,null,v);$(l).bind("OnDaySelected",F);$(l).bind("OnMonthChanged",i);$(l).one("OnArrivalLoaded",g);$(j).bind("OnNoDates",t);B=new SearchEngine("BookingSearchResult","/Ajax/Citybreak/Search.ashx","/Ajax/Templates/CitybreakSearch.aspx?l="+window.Settings.Lang+"&u="+window.AjaxMgr.GetBaseToolUser(),40,40,"",{},window.Translate.ErrorBookingSearch);B.SetGlobalParam("cbid",v);$(B).bind("OnSearchEnd",G);$(B).bind("OnRenderEnd",I);e=new RoomConfig("RoomConfig");var M=$.cookie("Search");if(M&&M!=null){var L=JSON.parse($.cookie("Search"));var O=new Date();var N=new Date();if(typeof(L.Search.df)!="undefined"&&L.Search.df!=""){b=true;O.parseFormat(L.Search.df);l.SetDate(O);l.DateSelected=O}if(typeof(L.Search.dt)!="undefined"&&L.Search.dt!=""){N.parseFormat(L.Search.dt);j.DateSelected=N}if(typeof(L.Search.rc)!="undefined"){e=new RoomConfig("RoomConfig",L.Search.rc);$("#cntRooms").val(e.GetRoomCount().toString())}if(GetQueryString("b")!=null){try{if(l.DateSelected.getYear()>0){E()}}catch(K){}}}l.Init();j.Init();e.Render()}else{if(window.Settings.ActivityId>0){l=new CitybreakCalendarOther("CitybreakActivityCalendarFrom",window.Settings.ActivityId,window.Settings.Lang,null);$(l).bind("OnDaySelected",q);B=new SearchEngine("BookingSearchResult","/Ajax/Citybreak/SearchOther.ashx","/Ajax/Templates/CitybreakSearchOther.aspx?l="+window.Settings.Lang+"&u="+window.AjaxMgr.GetBaseToolUser(),40,40,"",{},window.Translate.ErrorBookingSearch);$(B).bind("OnSearchEnd",w);$(B).bind("OnRenderEnd",a);var M=$.cookie("Search");if(M&&M!=null){var L=JSON.parse($.cookie("Search"));var O=new Date();if(typeof(L.Search.df)!="undefined"&&L.Search.df!=""){b=true;O.parseFormat(L.Search.df);l.SetDate(O)}}l.Init()}}if(k!=null){k.AddMarker(window.Settings.ProductId,parseFloat(window.Settings.ProductLat),parseFloat(window.Settings.ProductLng),{Icon:k.GetIcon("static",false),Persistent:true})}if($(".ProductImageMain").length>0){s=new ImageViewer(".ProductImageMain","#ThumbsContent")}$("#imgRating").bind("click",x);window.FormManager.Manage("txtVTStation",A);window.FormManager.Manage("txtVTFromDate",d)}this.Dispose=function(){if(k!=null){k.Dispose();k=null}if(l!=null){l.Dispose()}if(j!=null){j.Dispose()}C=null};this.ToggleComments=function(){$("#ProductCommentsContainer").toggle();$("#ProductCommentsForm").toggle()};this.ToggleTdbBranch=function(K){$(K).parent().next("ul").toggle()};this.ToggleTdbAll=function(){$("ul.TDB ul").toggle()};this.SetRoomCount=function(K){e.SetRooms(K)};this.SearchBooking=E;function E(){var L=l.DateSelected;var K=j.DateSelected;if(L.getYear()==0||K.getYear()==0){$.prompt(window.Translate.PromptNoDates);return}$("#BookingSearchResult").css("min-height","50px").loaderShow();B.Search({f:L.toFormat("y-m-d"),t:K.toFormat("y-m-d"),p:window.Settings.BookingId,pl:window.Settings.PackageId,rc:e.ToString(),l:window.Settings.Lang})}this.AddToBasket=function(L,K){var N="CB_"+L.replace(/:/g,"_");$("#"+N).loaderShow({heightRel:3});if(window.Settings.AreaId){var M=$.cookie("CBBasket");if(M==null){M=""}M+=K+"|"+window.Settings.AreaId+"#";$.cookie("CBBasket",M,{path:"/",domain:window.Settings.Domain})}window.AjaxMgr.ReqJSON("/Ajax/Citybreak/Basket.ashx",{a:"add",l:window.Settings.Lang,s:D,k:L,cbid:v},false,function(O){o(O,N)},window.ErrorAddToBasket)};this.ShowCitybreakPackage=function(L,K){OpenWindow("/Pages/CitybreakPackage.aspx?id="+L+"&l="+K+"&cbid="+window.AjaxMgr.GetOnlineId(),"WinCB",640,320,true,true)};this.ShowCitybreakRoom=function(L,K){OpenWindow("/Pages/CitybreakProduct.aspx?id="+L+"&l="+K+"&cbid="+window.AjaxMgr.GetOnlineId(),"WinCB",480,640,true,true)};this.SwitchTabView=function(K,L){K=K||window.event;$("li",".ProductTabs").removeClass("Selected");$(K.currentTarget||K.srcElement).closest("li").addClass("Selected");$(".TabContent").hide();$("#TabContent"+L).show()};this.AddComment=function(){var S=$("#txtCommentUser").val();var L=$("#txtCommentEmail").val();var P=$("#txtCommentBody").val();var N=u;if($.trim(S).length==0||$.trim(L).length==0||$.trim(P).length==0||N==0){$.prompt(window.Translate.PromptAddComment);return}var M=$.cookie("CommentedProducts");if(M!=null&&M.substr(0,1)=="#"){M=M.substr(1)}var Q=false;var V="";if(M!=null&&M!=""){var U=M.split("#");for(var O=0;O<U.length;O++){var K=true;var R=U[O].split("|");if(parseInt(R[0])==window.Settings.ProductId){Q=true;var T=new Date(parseInt(R[1]));if(T<new Date()){$.prompt(window.Translate.PromptCommentTime);return}else{K=false}}if(K){V+=U[O]+"#"}}}if(!Q){V+=window.Settings.ProductId+"|"+new Date().getTime()+"#"}V=V.substr(0,V.length-1);$.cookie("CommentedProducts",V,{expires:365});window.AjaxMgr.ReqJSON("/Ajax/Basetool/Comments.ashx",{a:"add",pid:window.Settings.ProductId,u:S,e:L,c:P,r:N,l:window.Settings.Lang},true,null,window.Translate.ErrorAddComment,true);$("#FormContent").toggle();$("#FormPosted").toggle()};this.ReportComment=function(L){var K=window.Translate.ReportWhy+'<br/><textarea id="txtMessage" name="txtMessage" rows="4" cols="30"></textarea>';$.prompt(K,{callback:function(N,M,O){if(N=="OK"){J(L,O.txtMessage)}},buttons:{Ok:"OK",Cancel:"Cancel"}})};function J(L,K){if(K.length==0){$.prompt(window.Translate.ReportError);return}window.AjaxMgr.ReqJSON("/Ajax/Basetool/Comments.ashx",{a:"report",cid:L,m:K,pid:window.Settings.ProductId},true,function(){$.prompt(window.Translate.ReportOk)},null,false)}this.ViewImage=function(K){s.View(K)};this.ScrollThumbs=function(K){var N=$(".Thumbs").eq(0).width();var L=$("#ThumbsContent").width();var M=L-Math.abs(r+K);if(K<0&&M<N){K=0-M}if(K>0&&r+K>0){K=0-r}if((K<0&&M>0)||(K>0&&r<0)){$("#ThumbsContent").animate({left:r+K},"slow","swing");r+=K}};this.AddFavourite=function(K,M,L){window.Favourites.Add(M,L,window.Settings.IsEvent?2:1);$(K).text(window.Translate.FavouriteSaved)};this.Vasttrafik_GetStations=A;function A(){var K=$("#txtVTStation").val();if(K.length==0){$.prompt(window.Translate.ErrorVTRStation);return}$(".VTRStations").show().loaderShow({width:380});window.AjaxMgr.ReqJSON("/Ajax/Vasttrafik/Client.ashx",{actn:"getstations",q:K},false,H,window.ErrorGlobalSearch)}this.Vasttrafik_GetRoute=d;function d(){var M=$("input:radio[name=rbStation]:checked").val();var L=window.Settings.ProductHalt;var K=$("#txtVTFromDate").val()+" "+$("#ddlVTFromH").val()+":"+$("#ddlVTFromM").val();$("#VTRouteResult").loaderShow({width:400});$("#VTNoResult").hide();window.AjaxMgr.ReqJSON("/Ajax/Vasttrafik/Client.ashx",{actn:"getroute",lat:window.Settings.ProductLat,lng:window.Settings.ProductLng,f:M,t:L,w:K,l:window.Settings.Lang},false,c,window.ErrorGlobalSearch)}function H(N){$("#VTRouteResult").setTemplateURL("/Ajax/Templates/VasttrafikRouteSearch.aspx?l="+window.Settings.Lang+"&t="+window.Settings.Theme);$("#VTStationResult").empty().parent().loaderHide();for(var M=0;M<N.length;M++){$("#VTStationResult").createAppend("tr",{},["td",{},["input",{type:"radio",name:"rbStation",id:"rbStation_"+N[M].Id,value:N[M].Id},""],"td",{},["label",{"for":"rbStation_"+N[M].Id},N[M].Name]])}$("#VTStationResult").find("input:radio").eq(0).attr("checked","checked");var K=new Date();var L=(K.getMinutes()-K.getMinutes()%10)+10;if(L==60){L=0}$("#txtVTFromDate").val(K.toFormat());$("#ddlVTFromH").val(K.getHours());$("#ddlVTFromM").val(L);$("#VTRoute").show()}function c(K){if(K.Routes.length==0){$("#VTRouteResult").loaderHide();$("#VTNoResult").show();return}$("#VTRouteResult").loaderHide().processTemplate(K,"VasttrafikRouteSearch");$("#VTRouteResult .VTRouteSwitch").find("a").bind("click",function(){var M=$(this).attr("id").split("_").Remove(0)[0];var L=$("#VTRoute_"+M).toggle().css("display");if(L=="none"){$(this).find("img").attr("src","/images/themes/"+window.Settings.Theme+"/gui/search_filter_item_switch.png")}else{$(this).find("img").attr("src","/images/gui/search_filter_item_switch_on.png")}})}function p(L){var M=[];for(var K=0;K<L.results.length;K++){M.push("<div><b>"+L.results[K].from_user+"</b><span>"+L.results[K].text+"</span><i>"+L.results[K].created_at+"</i></div>")}$("#ProductTweets").html(M.join(""))}function G(O){$("#BookingSearchResult").loaderHide();D=O.Json.SearchId;var K=O.Json.Records;window.Tracker.Event("Booking","SearchProduct","Hits",K.length);var L=[];for(var N=0;N<K.length;N++){for(var M=0;M<K[N].Rooms.length;M++){L.push(K[N].Rooms[M].RateId)}}window.AjaxMgr.ReqJSON("/Ajax/Citybreak/Rates.ashx",{l:window.Settings.Lang,rc:L.join(","),cbid:v},false,h,window.Translate.ErrorPackageLight)}function I(K){if(K.Items.length==0){$("#BookingSearchResult").html('<div class="ErrorMessage" style="overflow:hidden;"><div class="FloatLeft">'+window.Translate.BookingNoHits+'</div><div class="FloatRight"><a href="javascript://" onclick="window.OpenWindow(\'/Pages/Bookinghelp.aspx?l='+window.Settings.Lang+"', 'BookingHelp', 600, 550, true, true);\">"+window.Translate.Info+"</a></div></div>").show()}}function h(M){for(var L=0;L<M.length;L++){var N=M[L].Description;var K=N.indexOf(".");if(K<25){K=100}N=N.substr(0,K)+"...";$(".Rate_"+M[L].Id).createPrepend("div",{className:"ProdBookingPackage Row"},["a",{href:"javascript:window.CurrentPage.ShowCitybreakPackage("+M[L].Id+", '"+window.Settings.Lang+"')"},["img",{src:"http://images.citybreak.com/image.aspx?ImageId="+M[L].Image+"&crop=1&width=45",style:(M[L].Image=="")?"display:none;":""},"","span",{},"<b>"+M[L].Name+"</b><br/>"+N]])}}function o(K,M){if(K.Status!="Ok"){$.prompt(window.Translate.ErrorAddToBasket)}window.Tracker.Event("Booking","BasketAdd");$("#"+M).loaderHide().addClass("ProdBookingItemChecked").find("a.Button").toggle().parent().prepend('<a href="'+window.Settings.BasketUrl+'" class="BasketLink">'+window.Translate.ToBasket+"</a>");var L=$("#UserBar").find("div.FloatRight").find("span").eq(0).text();L=parseInt(L);$("#UserBar").find("div.FloatRight").find("span").eq(0).text(L+1);$("#UserBar").show().find("a:last").show()}function F(K){j.SetArrival(K.Date,K.Osd);j.Departure()}function g(K){if(b){if(K.Available){j.SetArrival(K.Date,K.Osd);j.Departure()}else{j.DateSelected=new Date(1900,0,1);j.Render()}}else{j.SetDate(l.GetDate());j.Render()}}function i(K){j.Clear();if(j.GetDate()<K.CurrentDate){j.SetDate(l.GetDate())}j.Render()}function t(K){}function x(M){var L=$(M.target).offset();var K=parseInt((M.pageX-L.left)/20);var N=84-(K*20);$(M.target).css("background-position","-"+N+"px 0px");u=K+1}function q(K){$("#BookingSearchResult").loaderShow();B.Search({d:K.Date.toFormat("y-m-d"),p:window.Settings.ActivityId,l:window.Settings.Lang})}function w(K){$("#BookingSearchResult").loaderHide();y=K.Json;if(y.Records.length==0){$("#BookingSearchResult").html("<b>"+Translate.BookingNoHits+"</b>");$("#btnAddToBasketOther").hide()}else{$("#btnAddToBasketOther").show()}}function a(L){for(var K=0;K<y.Records.length;K++){if(y.Records[K].ShowDays){$("#CB_"+y.Records[K].ProdTypeId+' select[name="CBOtherDays"]').change(function(){var S=$(this).closest(".CBOtherItem").attr("id").substr(3);var N=y.Records.FindObj("ProdTypeId",S);var Q=y.Records[N];var M=Q.Category;var P=Q.ProdTypeId;var R=$(this).val();var O=l.DateSelected.toFormat("y-m-d");$("#CB_"+P).find(".CBOtherDayFields").loaderShow();window.AjaxMgr.ReqJSON("/ajax/citybreak/searchdays.ashx",{c:M,d:O,i:R,p:P,l:window.Settings.Lang},false,function(T){m(T,N)},null,false)})}}}function m(P,K){$.extend(true,y.Records[K],P.Records[0]);var O="";for(var N=0;N<P.Records[0].Periods.length;N++){var L=P.Records[0].Periods[N];O+='<div class="Row DatePrice" id="CB_'+P.Records[0].ProdTypeId+"_"+L.Id+'"><div class="FloatLeft"><div class="Date">'+L.DateStart.toFormat()+'</div></div><div class="FloatRight">';for(var M=0;M<L.Prices.length;M++){if(L.Prices[M].UnitPrice>0){O+="<label><span>"+window.Translate.BookingUnits+'</span><input type="text" name="unit" /><b>'+L.Prices[M].UnitPrice+" "+window.Translate.Currency+"</b></label>"}else{for(var R=0;R<L.Prices[M].PriceGroups.length;R++){var Q=L.Prices[M].PriceGroups[R];O+="<label><span>"+Q.Name+'</span><input type="text" name="'+Q.Id+'" /><b>'+Q.Price+"</b></label>"}}}O+="</div></div>"}$("#CB_"+P.Records[0].ProdTypeId).find(".CBOtherDayFields").loaderHide().html(O)}this.AddToBasketOther=function(S){if(y!=null){var S="";var K=0;var Q="";var L=0;var R=false;for(var O=0;O<y.Records.length;O++){S=y.Records[O].Id.replace(/:/g,"_");L=y.Records[O].ProdTypeId;K=y.Records[O].SearchId;Q="";for(var N=0;N<y.Records[O].Periods.length;N++){var M=y.Records[O].Periods[N];var P=0;Q+=M.Id+"#";$("#CB_"+L+"_"+M.Id+" input").each(function(){var U=TryParseInt($(this).val(),0);P+=U;var T=$(this).attr("name");if(T=="unit"){Q+=U}else{Q+=T+","+U+"|"}});if(P>M.Availability){R=true}Q=Q.trimEnd("\\|");Q+="!"}Q=Q.trimEnd("\\!");if(R){break}$("#btnAddToBasketOther").parent().loaderShow();window.AjaxMgr.ReqJSON("/ajax/citybreak/basket.ashx",{a:"addother",k:S,id:K,ba:Q,l:window.Settings.Lang},false,n,null,true)}}if(R){$.prompt(Translate.AvailabilityErrorOther)}};function n(K){$("#btnAddToBasketOther").parent().loaderHide();if(K.Status=="AvailabilityError"){$.prompt(Translate.AvailabilityErrorOther);return}if(K.BasketCount>0){window.location=window.Settings.BasketUrl}}};
