Figment.Import("Figment.Date",Figment.getJSRoot()+"_framework");Figment.Import("Figment.EventHandler",Figment.getJSRoot()+"_framework");Figment.Import("Figment.HashTable",Figment.getJSRoot()+"_framework");Figment.Namespace("Disney.WDPRO.IBC.Dates");Disney.WDPRO.IBC.Dates={paths:new Figment.HashTable(),calculateLOS:function(from,to){var _30f=from.getTime(),toTimeInMillis=to.getTime(),millisPerDay=parseInt("0x5265c00L",16);return Math.round(((toTimeInMillis-_30f)/millisPerDay));},isValidRange:function(_310,end,_312){var rule=Disney.WDPRO.IBC.Dates.paths.get(_312);var _314;var _315,maxDate;if(rule!==null){_314=Disney.WDPRO.IBC.Dates.containsBlockOutDays(_310,end,_312);if(!_314){_315=rule.getMinDate();maxDate=rule.getMaxDate();_314=Figment.Date.between(_310,_315,maxDate);if(_314){_314=Figment.Date.between(end,_315,maxDate);}}}delete rule;delete _315;delete maxDate;return _314;},isValid:function(date,_317){var rule=Disney.WDPRO.IBC.Dates.paths.get(_317);var _319;var _31a,maxDate;if(rule!==null){if(!_319){_31a=rule.getMinDate();maxDate=rule.getMaxDate();_319=Figment.Date.between(date,_31a,maxDate);}}delete rule;delete _31a;delete maxDate;return _319;},resetDefaultArrivalDate:function(_31b){var rule=Disney.WDPRO.IBC.Dates.paths.get(_31b);if(rule!==null){var _31d=rule.getMinDate();if(_31d!==null){return (_31d.getTime());}}return null;},resetDay:function(_31e,_31f,_320){var los=Disney.WDPRO.IBC.Dates.calculateLOS(_31e,_31f);var rule=Disney.WDPRO.IBC.Dates.paths.get(_320);var _323=0;if(rule!==null){if(los>rule.getMaxLOS()){_323=rule.getMaxLOS();}else{if(los<rule.getMinLOS()){_323=rule.getDefaultLOS();}}if(_323>0){_31f=new Date(_31e);_31f.setDate(_31f.getDate()+_323);}}return _31f;},resetDefaultDepartureDate:function(_324,_325){var rule=Disney.WDPRO.IBC.Dates.paths.get(_325);if(rule!==null){if(rule.getDefaultLOS()!==null){var _327=new Date(_324);_327.setDate(_327.getDate()+rule.getDefaultLOS());return _327;}}return null;},containsBlockOutDays:function(_328,end,_32a){var rule=Disney.WDPRO.IBC.Dates.paths.get(_32a);var _32c=false;var _32d;var i;var _32f;if(rule!==null){_32d=rule.getBlockOutDates();if(_32d!==null){for(i=0;i<_32d.length;i++){_32f=_32d[i];if(Figment.Date.between(_32f,_328,end)){_32c=true;break;}}}}delete rule;delete _32f;delete _32d;return _32c;},addPathRules:function(_330,rule){Disney.WDPRO.IBC.Dates.paths.put(_330,rule);},cleanup:function(evt){delete Disney.WDPRO.IBC.Dates.paths;}};Disney.WDPRO.IBC.Dates.Rule=Figment.Class();Disney.WDPRO.IBC.Dates.Rule.prototype={initialize:function(_333,_334,_335,_336,_337){this.minDate=_333;this.maxDate=_334;this.minLOS=_335;this.maxLOS=_336;this.defaultLOS=_337;this.blockoutDays=[];},getMinDate:function(){return this.minDate;},getMaxDate:function(){return this.maxDate;},getMinLOS:function(){return this.minLOS;},getMaxLOS:function(){return this.maxLOS;},getDefaultLOS:function(){return this.defaultLOS;},getBlockOutDates:function(){return this.blockoutDays;},addBlockOutDate:function(date){this.blockoutDays.push(date);},addBlockOutDates:function(_339,end){var los=Disney.WDPRO.IBC.Dates.calculateLOS(_339,end);var i;for(i=0;i<los.length;i++){this.blockoutDays.push(Figment.Date.add(_339,"D",i));}}};Figment.EventHandler.addEvent(document,"unload",Disney.WDPRO.IBC.Dates.cleanup);