$(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 r=this;var k=null;var d=null;var c=null;var b=null;var i=0;var y=null;var a=0;var u=0;var j=0;var z=null;var q=false;if(AjaxMgr.GetBaseToolParams()==null){$(AjaxMgr).bind("OnBaseToolParamsLoaded",C)}else{C()}function C(){if(window.Settings.ProductLat!=""&&!window.Settings.DisableFlash){k=window.TopContent.SetMode(2,window.Settings.ProductLat,window.Settings.ProductLng,13,{Weather:true});if(window.location.hash!=""&&$(document).scrollTop()==0){var H=$("a[name=SiteContent]").offset();if(H!=null){window.scrollTo(0,H.top)}}}if(window.Settings.BookingId>0){d=new CitybreakCalendar("CitybreakCalendarFrom",window.Settings.BookingId,window.Settings.PackageId,window.Settings.Lang,true);c=new CitybreakCalendar("CitybreakCalendarTo",window.Settings.BookingId,window.Settings.PackageId,window.Settings.Lang,false);$(d).bind("OnDaySelected",t);$(d).bind("OnMonthChanged",l);$(d).one("OnArrivalLoaded",n);$(c).bind("OnNoDates",g);y=new SearchEngine("BookingSearchResult","/Ajax/Citybreak/Search.ashx","/Ajax/Templates/CitybreakSearch.aspx?l="+window.Settings.Lang+"&u="+window.AjaxMgr.GetBaseToolUser(),40,40,"",{},window.Translate.ErrorBookingSearch);$(y).bind("OnSearchEnd",x);$(y).bind("OnRenderEnd",p);b=new RoomConfig("RoomConfig");if(GetQueryString("b")!=null){var E=$.cookie("Search");if(E&&E!=null){var D=JSON.parse($.cookie("Search"));var G=new Date();var F=new Date();if(typeof(D.Search.df)!="undefined"&&D.Search.df!=""){G.parseFormat(D.Search.df);d.SetDate(G);d.DateSelected=G}if(typeof(D.Search.dt)!="undefined"&&D.Search.dt!=""){F.parseFormat(D.Search.dt);c.DateSelected=F}if(typeof(D.Search.rc)!="undefined"){b=new RoomConfig("RoomConfig",D.Search.rc);$("#cntRooms").val(b.GetRoomCount().toString())}if(d.DateSelected.getYear()>0){q=true;s()}}}d.Init();c.Init();b.Render()}if(k!=null){k.AddMarker(window.Settings.ProductId,parseFloat(window.Settings.ProductLat),parseFloat(window.Settings.ProductLng),{Icon:k.GetIcon("static",false),Persistent:true})}z=new ImageViewer(".ProductImageMain","#ThumbsContent");$("#imgRating").bind("click",e);window.FormManager.Manage("txtVTStation",B);window.FormManager.Manage("txtVTFromDate",w)}this.Dispose=function(){if(k!=null){k.Dispose();k=null}if(d!=null){d.Dispose();c.Dispose()}r=null};this.ToggleComments=function(){$("#ProductCommentsContainer").toggle();$("#ProductCommentsForm").toggle()};this.ToggleTdbBranch=function(D){$(D).parent().next("ul").toggle()};this.ToggleTdbAll=function(){$("ul.TDB ul").toggle()};this.SetRoomCount=function(D){b.SetRooms(D)};this.SearchBooking=s;function s(){var E=d.DateSelected;var D=c.DateSelected;if(E.getYear()==0||D.getYear()==0){$.prompt(window.Translate.PromptNoDates);return}$("#BookingSearchResult").css("min-height","50px").loaderShow();y.Search({f:E.toFormat("y-m-d"),t:D.toFormat("y-m-d"),p:window.Settings.BookingId,pl:window.Settings.PackageId,rc:b.ToString(),l:window.Settings.Lang})}this.AddToBasket=function(E,D){var G="CB_"+E.replace(/:/g,"_");$("#"+G).loaderShow({heightRel:3});if(window.Settings.AreaId){var F=$.cookie("CBBasket");if(F==null){F=""}F+=D+"|"+window.Settings.AreaId+"#";$.cookie("CBBasket",F,{path:"/",domain:window.Settings.Domain})}window.AjaxMgr.ReqJSON("/Ajax/Citybreak/Basket.ashx",{a:"add",l:window.Settings.Lang,s:i,k:E},false,function(H){v(H,G)},window.ErrorAddToBasket)};this.ShowCitybreakPackage=function(E,D){OpenWindow("/Pages/CitybreakPackage.aspx?id="+E+"&l="+D,"WinCB",640,320)};this.ShowCitybreakRoom=function(E,D){OpenWindow("/Pages/CitybreakProduct.aspx?id="+E+"&l="+D,"WinCB",480,640)};this.SwitchTabView=function(D,E){D=D||window.event;if(!$(D.currentTarget).parent().hasClass("Selected")){$("li",".ProductTabs").toggleClass("Selected");$("#TabContent"+E).siblings("div").andSelf().toggle()}};this.AddComment=function(){var L=$("#txtCommentUser").val();var E=$("#txtCommentEmail").val();var I=$("#txtCommentBody").val();var G=u;if($.trim(L).length==0||$.trim(E).length==0||$.trim(I).length==0||G==0){$.prompt(window.Translate.PromptAddComment);return}var F=$.cookie("CommentedProducts");if(F!=null&&F.substr(0,1)=="#"){F=F.substr(1)}var J=false;var O="";if(F!=null&&F!=""){var N=F.split("#");for(var H=0;H<N.length;H++){var D=true;var K=N[H].split("|");if(parseInt(K[0])==window.Settings.ProductId){J=true;var M=new Date(parseInt(K[1]));if(M<new Date()){$.prompt(window.Translate.PromptCommentTime);return}else{D=false}}if(D){O+=N[H]+"#"}}}if(!J){O+=window.Settings.ProductId+"|"+new Date().getTime()+"#"}O=O.substr(0,O.length-1);$.cookie("CommentedProducts",O,{expires:365});window.AjaxMgr.ReqJSON("/Ajax/Basetool/Comments.ashx",{a:"add",pid:window.Settings.ProductId,u:L,e:E,c:I,r:G,l:window.Settings.Lang},true,null,window.Translate.ErrorAddComment,true);$("#FormContent").toggle();$("#FormPosted").toggle()};this.ReportComment=function(E){var D=window.Translate.ReportWhy+'<br/><textarea id="txtMessage" name="txtMessage" rows="4" cols="30"></textarea>';$.prompt(D,{callback:function(G,F,H){if(G=="OK"){A(E,H.txtMessage)}},buttons:{Ok:"OK",Cancel:"Cancel"}})};function A(E,D){if(D.length==0){$.prompt(window.Translate.ReportError);return}window.AjaxMgr.ReqJSON("/Ajax/Basetool/Comments.ashx",{a:"report",cid:E,m:D,pid:window.Settings.ProductId},true,function(){$.prompt(window.Translate.ReportOk)},null,false)}this.ViewImage=function(D){z.View(D)};this.ScrollThumbs=function(D){var G=$(".Thumbs").eq(0).width();var E=$("#ThumbsContent").width();var F=E-Math.abs(j+D);if(D<0&&F<G){D=0-F}if(D>0&&j+D>0){D=0-j}if((D<0&&F>0)||(D>0&&j<0)){$("#ThumbsContent").animate({left:j+D},"slow","swing");j+=D}};this.AddFavourite=function(D,F,E){window.Favourites.Add(F,E,window.Settings.IsEvent?2:1);$(D).text(window.Translate.FavouriteSaved)};this.Vasttrafik_GetStations=B;function B(){var D=$("#txtVTStation").val();if(D.length==0){$.prompt(window.Translate.ErrorVTRStation);return}$(".VTRStations").show().loaderShow({width:380});window.AjaxMgr.ReqJSON("/Ajax/Vasttrafik/Client.ashx",{actn:"getstations",q:D},false,m,window.ErrorGlobalSearch)}this.Vasttrafik_GetRoute=w;function w(){var F=$("input:radio[name=rbStation]:checked").val();var E=window.Settings.ProductHalt;var D=$("#txtVTFromDate").val()+" "+$("#ddlVTFromH").val()+":"+$("#ddlVTFromM").val();$("#VTRouteResult").loaderShow({width:400});window.AjaxMgr.ReqJSON("/Ajax/Vasttrafik/Client.ashx",{actn:"getroute",f:F,t:E,w:D,l:window.Settings.Lang},false,o,window.ErrorGlobalSearch)}function m(G){$("#VTRouteResult").setTemplateURL("/Ajax/Templates/VasttrafikRouteSearch.aspx?l="+window.Settings.Lang+"&t="+window.Settings.Theme);$("#VTStationResult").empty().parent().loaderHide();for(var F=0;F<G.length;F++){$("#VTStationResult").createAppend("tr",{},["td",{},["input",{type:"radio",name:"rbStation",id:"rbStation_"+G[F].IdHashed,value:G[F].IdHashed},""],"td",{},["label",{"for":"rbStation_"+G[F].IdHashed},G[F].FriendlyName]])}$("#VTStationResult").find("input:radio").eq(0).attr("checked","checked");var D=new Date();var E=(D.getMinutes()-D.getMinutes()%10)+10;if(E==60){E=0}$("#txtVTFromDate").val(D.toFormat());$("#ddlVTFromH").val(D.getHours());$("#ddlVTFromM").val(E);$("#VTRoute").show()}function o(D){$("#VTRouteResult").loaderHide().processTemplate(D,"VasttrafikRouteSearch");$("#VTRouteResult .VTRouteSwitch").find("a").bind("click",function(){var F=$(this).attr("id").split("_").Remove(0)[0];var E=$("#VTRoute_"+F).toggle().css("display");if(E=="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 f(E){var F=[];for(var D=0;D<E.results.length;D++){F.push("<div><b>"+E.results[D].from_user+"</b><span>"+E.results[D].text+"</span><i>"+E.results[D].created_at+"</i></div>")}$("#ProductTweets").html(F.join(""))}function x(H){$("#BookingSearchResult").loaderHide();i=H.Json.SearchId;var D=H.Json.Records;window.Tracker.Event("Booking","SearchProduct","Hits",D.length);var E=[];for(var G=0;G<D.length;G++){for(var F=0;F<D[G].Rooms.length;F++){E.push(D[G].Rooms[F].RateId)}}window.AjaxMgr.ReqJSON("/Ajax/Citybreak/Rates.ashx",{l:window.Settings.Lang,rc:E.join(",")},false,h,window.Translate.ErrorPackageLight)}function p(D){if(D.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(F){for(var E=0;E<F.length;E++){var G=F[E].Description;var D=G.indexOf(".");if(D<25){D=100}G=G.substr(0,D)+"...";$(".Rate_"+F[E].Id).createPrepend("div",{className:"ProdBookingPackage Row"},["a",{href:"javascript:window.CurrentPage.ShowCitybreakPackage("+F[E].Id+", '"+window.Settings.Lang+"')"},["img",{src:"http://images.citybreak.com/image.aspx?ImageId="+F[E].Image+"&crop=1&width=45",style:(F[E].Image=="")?"display:none;":""},"","span",{},"<b>"+F[E].Name+"</b><br/>"+G]])}}function v(D,F){if(D.Status!="Ok"){$.prompt(window.Translate.ErrorAddToBasket)}window.Tracker.Event("Booking","BasketAdd");$("#"+F).loaderHide().addClass("ProdBookingItemChecked").find("a.Button").toggle().parent().prepend('<a href="'+window.Settings.BasketUrl+'" class="BasketLink">'+window.Translate.ToBasket+"</a>");var E=$("#UserBar").find("div.FloatRight").find("span").eq(0).text();E=parseInt(E);$("#UserBar").find("div.FloatRight").find("span").eq(0).text(E+1);$("#UserBar").show().find("a:last").show()}function t(D){c.SetArrival(D.Date,D.Osd);c.Departure()}function n(D){if(GetQueryString("b")!=null&&q){c.SetArrival(D.Date,D.Osd);c.Departure()}else{c.SetDate(d.GetDate());c.Render()}}function l(D){c.Clear();if(c.GetDate()<D.CurrentDate){c.SetDate(d.GetDate())}c.Render()}function g(D){}function e(F){var E=$(F.target).offset();var D=parseInt((F.pageX-E.left)/20);var G=84-(D*20);$(F.target).css("background-position","-"+G+"px 0px");u=D+1}};
