function iBbdex(iBbCex){this.iBfex=iBbCex;this.StartDate=null;this.EndDate=null;var host=window.location.protocol+'//'+window.location.hostname;this.iBKex=new iBaqex(host+"/xml/internal/RoomRateDistribution.php");if(this.iBKex.iBayex())this.iBfex.OnError('Browser does not support required functionality');this.iByex="__A"+(Math.random()*99999).toFixed(0)+"__"+(Math.random()*99999).toFixed(0);eval(this.iByex+" = this;");eval("this.iBKex.iBauex = function (e) { "+this.iByex+".iBbsex(e); }");};iBbdex.prototype={iBbqex:function(iBpex){var iBCex=new iBiex('RoomRateDistribution');iBCex.iBhex('OperatorId',this.iBfex.OperatorId);iBCex.iBhex('RegUserId',this.iBfex.RegUserId);iBCex.iBhex('PropertyId',this.iBfex.PropertyId);iBCex.iBhex('AllMinStays',this.iBfex.AllMinStays);if(this.iBfex.RoomIds instanceof Array){for(var i=0;i<this.iBfex.RoomIds.length;i++)iBCex.iBzex(new iBiex('RoomIds',null,this.iBfex.RoomIds[i]));}if(this.iBfex.RateIds instanceof Array){for(var i=0;i<this.iBfex.RateIds.length;i++)iBCex.iBzex(new iBiex('RateIds',null,this.iBfex.RateIds[i]));}var iBRex=new Date(iBpex.valueOf());iBRex.setDate(iBRex.getDate()+(isNaN(this.iBfex.NoOfDays)||this.iBfex.NoOfDays==''?6:this.iBfex.NoOfDays-1));iBCex.iBhex('FromDate',(iBpex.getFullYear()+'-'+(iBpex.getMonth()+1)+'-'+iBpex.getDate()));iBCex.iBhex('ToDate',(iBRex.getFullYear()+'-'+(iBRex.getMonth()+1)+'-'+iBRex.getDate()));this.StartDate=iBpex;this.EndDate=iBRex;this.iBKex.iBbOex(iBCex);},iBbsex:function(e){if(this.iBKex.iBanex()){var data=this.iBKex.iBazex();var error=data.iBaeex('Error[]',0,'!Message');if(error!='')this.iBfex.OnError(error);else this.iBfex.Build(this.iBbAex());}else{var iBmex=this.iBKex.iBbKex();this.iBfex.OnError(iBmex[0]['Message']);}},iBbAex:function(){var data=this.iBKex.iBazex();var iBGex=new SeekomRooms();iBGex.CurrencySymbol=data.iBaeex('!currencySymbol');iBGex.CurrencyInt=data.iBaeex('!currencyInt');iBGex.StartDate=this.StartDate;iBGex.EndDate=this.EndDate;iBGex.Rooms=new Array();var rooms=data.iBajex('rooms[]');for(var iBbPex in rooms.iBoex()){var iBaaex=rooms[iBbPex];if(iBaaex['closed']=='true')continue;iBrex=new SeekomRoom();iBrex.Id=iBaaex['roomId'];iBrex.Name=iBaaex['roomName'].iBuex(2);iBrex.Desc=iBaaex['description'].iBuex(2);iBrex.MinStaysCount=0;iBrex.HasAvailability=false;iBrex.Rates=new Array();var iBaHex=iBaaex.iBajex('roomRates[]');for(var iBbIex in iBaHex.iBoex()){var rate=iBaHex[iBbIex];if(rate['closed']=='true')continue;iBlex=new SeekomRate();iBlex.Id=rate['rateId'];iBlex.Name=rate['rateName'].iBuex(2);iBlex.Desc=rate['description'].iBuex(2);iBlex.BasePax=rate['basePax'];iBlex.MaxPax=rate['maxPax'];iBlex.Currency=rate['currency'];iBlex.HasAvailability=false;iBlex.MinStays=new Array();var minStays=rate.iBajex('minStays[]');var iBahex=null;for(var iBbzex in minStays.iBoex()){var minStay=minStays[iBbzex];var iBwex=new SeekomMinStay();iBwex.MinStay=minStay['minStay'];iBwex.HasAvailability=false;iBwex.Periods=new Array();var periods=minStay.iBajex('periods[]');for(var iBbJex in periods.iBoex()){var iBsex=periods[iBbJex];iBHex=new SeekomPeriod();iBHex.DateFrom=iBsex['dateFrom'];iBHex.DateTo=iBsex['dateTo'];iBHex.Status=iBsex['closed']=='true'?'Unavailable':iBsex['status'];iBHex.Available=iBsex['availableCount'];iBHex.MinStay=iBsex['minLos'];iBHex.BaseRate=iBsex.iBaeex('baseRate');if(iBHex.Status!='Unavailable')iBwex.HasAvailability=true;iBwex.Periods[iBwex.Periods.length]=iBHex;}if(iBwex.HasAvailability)iBlex.HasAvailability=true;if(iBahex==null)iBahex=iBwex;if(!this.iBfex.HideUnavailMinStays||iBwex.HasAvailability)iBlex.MinStays[iBlex.MinStays.length]=iBwex;}if(iBlex.HasAvailability)iBrex.HasAvailability=true;else{if(this.iBfex.HideUnavailMinStays&&iBahex!=null)iBlex.MinStays[iBlex.MinStays.length]=iBahex;}iBrex.Rates[iBrex.Rates.length]=iBlex;iBrex.MinStaysCount+=iBlex.MinStays.length;}iBGex.Rooms[iBGex.Rooms.length]=iBrex;}return iBGex;}};function SeekomRooms(){};SeekomRooms.prototype={iBqex:'SeekomRooms'};function SeekomRoom(){};SeekomRoom.prototype={iBqex:'SeekomRoom'};function SeekomRate(){};SeekomRate.prototype={iBqex:'SeekomRate'};function SeekomMinStay(){};SeekomMinStay.prototype={iBqex:'SeekomMinStay',GetDay:function(iBgex){var iBaEex=iBgex.getFullYear().toString(),iBBex=(iBgex.getMonth()+1).toString(),iBEex=iBgex.getDate().toString();if(iBBex.length<2)iBBex='0'+iBBex;if(iBEex.length<2)iBEex='0'+iBEex;var iBPex=iBaEex+'-'+iBBex+'-'+iBEex;for(i=0;i<this.Periods.length;i++){if(this.Periods[i].DateFrom<=iBPex&&this.Periods[i].DateTo>=iBPex)return this.Periods[i];if(this.Periods[i].DateFrom>iBPex)break;}var iBsex=new SeekomPeriod();iBsex.MinStay=this.MinStay;return iBsex;}};function SeekomPeriod(){this.DateFrom='';this.DateTo='';this.Status='Unavailable';this.Available=0;this.MinStay=0;this.BaseRate=0;};SeekomPeriod.prototype={iBqex:'SeekomPeriod'};function SeekomDisplayBuilder(){this.iBbYex=null;this.EndDate=null;this.OperatorId=null;this.RegUserId=null;this.PropertyId=null;this.TargetUrl=null;this.TargetWindow='_blank';this.iBcaex=null;this.AllMinStays=true;this.HideUnavailMinStays=true;this.RoomIds=null;this.RateIds=null;this.StartOffsetDays=0;this.NoOfDays=7;this.ColWidths={Name:null,iBbWex:null,MinStay:null,iBchex:null};this.iBbxex=new iBbdex(this);};SeekomDisplayBuilder.prototype={OnError:function(error){alert(error);},ShowBusy:function(){},GetData:function(iBpex){var iBgex=new Date(),iBOex=new Date(iBgex.getFullYear(),iBgex.getMonth(),iBgex.getDate());if(iBpex instanceof Date){iBgex=iBpex;}else if(typeof(iBpex)=='string'){iBgex=this.DateFromString(iBpex);}else if(typeof(iBpex)=='number'){var iBarex=new Date(this.StartDate!=null?this.StartDate:iBOex);iBarex.setDate(iBarex.getDate()+iBpex);iBgex=iBarex;}else{iBgex=iBOex;}if(iBgex<iBOex||iBgex>new Date(iBOex.getFullYear()+3,iBOex.getMonth(),iBOex.getDate()))iBgex=iBOex;if(!this.AllMinStays)this.HideUnavailMinStays=false;this.ShowBusy();this.iBbxex.iBbqex(iBgex);},Build:function(data){},Print:function(iBapex,iBbtex){if(typeof(iBapex)=='string'&&iBbtex)iBdex.Print(iBapex.iBuex());else iBdex.Print(iBapex);},DateFromString:function(iBPex){var iBbyex=parseInt(iBPex.substr(0,4),10),mm=parseInt(iBPex.substr(5,2),10),dd=parseInt(iBPex.substr(8,2),10);return new Date(iBbyex,mm-1,dd);},DateToString:function(iBgex){var iBaEex=iBgex.getFullYear().toString(),iBBex=(iBgex.getMonth()+1).toString(),iBEex=iBgex.getDate().toString();if(iBBex.length<2)iBBex='0'+iBBex;if(iBEex.length<2)iBEex='0'+iBEex;return iBaEex+'-'+iBBex+'-'+iBEex;}}