Type.registerNamespace("OW8.Components");OW8.Components.TravelPlanerHelper=function(){var f="/Services/Geographical/TravelPlanerHelperSvc.svc/";function b(p){var j=$(p.ServerControls.DepartureAirport);var o=$(p.ServerControls.StayLength);var q=$(p.ServerControls.DepartureDate);var r=p.Item.Id;var k=p.Item.CategoryId;var s=p.NoOfMonthsToShow;var m=new Date();var l=m.getMonth();var n=new OW8.Components.DatePicker({target:q,weekNumbers:true,addCalendarButton:true,startMonth:new Month(),numberOfMonths:s,outputDateFormat:MooTools.lang.get("Date","shortDate"),date:(q.get("value")?Date.parseISODate(q.get("value")):new Date())});if($defined(j)){j.addEvent("change",function(t){h(j,o,q,p,n)})}if($defined(o)){o.addEvent("change",function(t){c(n,r,j,o,q)})}if($defined(q)){c(n,r,j,o,q)}}function c(n,r,j,o,p){var k=j.value.split(";");var q=o.value;var s=p.value;var l=k[0];var m=f+"DepartureDatesByHotel/"+r+"/"+l+"/"+q;d(m,function(t){a(n,t,s,p)})}function h(j,p,r,q,o){var s=q.Item.Id;var l=j.value.split(";");var k=p.value;var m=l[0];var n=f+"DurationsByHotel/"+s+"/"+m;e(n,function(t){i(t,k,p);GetDurationsDropDown(j,p,r,q)});c(o,s,j,p,r)}function e(k,j){var l=null;var m=new Request.JSON({method:"get",url:k,async:true,onSuccess:function(n,o){j.call(this,n)}}).send()}function d(k,j){var l=null;var m=new Request.JSON({method:"get",url:k,async:true,onSuccess:function(n,o){j.call(this,n)}}).send()}function i(j,l,k){g(j,k,l);return}function a(l,j,n,m){var k=j;l.setSelectableDates(k);return}function g(m,t,p){if(!t){return}var k=t.getElements("option");var n=false;var q=true;var o=true;for(var s=0;s<k.length;++s){k[s].disabled=true}for(var l=0;l<m.length;++l){if(m[l]==p){o=false;selectedValueIndex=l;break}}for(var s=0;s<k.length;++s){var r=k[s];for(var l=0;l<m.length;++l){if(m[l]==r.value){r.disabled=false;if(!n){t.selectedIndex=s;n=true}break}}if(!o){if(r.value==p){t.selectedIndex=s}}}}return{init:b}}();