/*
	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
	Available via Academic Free License >= 2.1 OR the modified BSD license.
	see: http://dojotoolkit.org/license for details
*/

/*
	This is a compiled version of Dojo, built for deployment and not for
	development. To get an editable version, please visit:

		http://dojotoolkit.org

	for documentation and information on getting the source.
*/

dojo._xdResourceLoaded(function(_1,_2,_3){return {depends:[["provide","dojo.date"],["provide","dojo.cldr.supplemental"],["provide","dojo.regexp"],["provide","dojo.string"],["provide","dojo.date.locale"],["provide","dojo.cookie"],["provide","dijit._base.focus"],["provide","dijit._base.manager"],["provide","dojo.AdapterRegistry"],["provide","dijit._base.place"],["provide","dijit._base.window"],["provide","dijit._base.popup"],["provide","dijit._base.scroll"],["provide","dijit._base.sniff"],["provide","dijit._base.typematic"],["provide","dijit._base.wai"],["provide","dijit._base"],["provide","dijit._Widget"],["require","dijit._base"],["provide","dojo.date.stamp"],["provide","dojo.parser"],["provide","dijit._Templated"],["provide","dijit._Container"],["provide","topaz.utils.datefunctions"],["provide","topaz.utils.bahelper"],["provide","topaz.data.DayData"],["provide","dojox.collections._base"],["provide","dojox.collections.ArrayList"],["provide","topaz.data.CalendarData"],["provide","topaz.loader.bookability.AvailabilityLoader"],["provide","topaz.control.AvailabilityController"],["provide","topaz.data.Availability"],["provide","topaz.data.HotelData"],["provide","topaz.loader.bookability.HotelInfoLoader"],["provide","topaz.data.RoomData"],["provide","topaz.loader.bookability.RoomInfoLoader"],["provide","topaz.data.RateData"],["provide","topaz.loader.bookability.RateLoader"],["provide","topaz.loader.bookability.InfoMatrixLoader"],["provide","topaz.data.InfoMatrix"],["provide","topaz.loader.bookability.CalendarLoader"],["provide","topaz.widget.DatepickerPanel"],["provide","topaz.widget.DatepickerPanel_ArrivalNightsSelect"],["provide","topaz.widget.CalendarWidget"],["provide","topaz.widget.CalendarsPanel"],["provide","topaz.widget.DatepickerPanel_WithAvailabilityCalendar"],["i18n._preloadLocalizations","dojo.nls.topaz_datepicker",["ROOT","ar","ca","cs","da","de","de-de","el","en","en-gb","en-us","es","es-es","fi","fi-fi","fr","fr-fr","he","he-il","hu","it","it-it","ja","ja-jp","ko","ko-kr","nl","nl-nl","no","pl","pt","pt-br","pt-pt","ru","sk","sl","sv","th","tr","xx","zh","zh-cn","zh-tw"]]],defineResource:function(_4,_5,_6){if(!_4._hasResource["dojo.date"]){_4._hasResource["dojo.date"]=true;_4.provide("dojo.date");_4.date.getDaysInMonth=function(_7){var _8=_7.getMonth();var _9=[31,28,31,30,31,30,31,31,30,31,30,31];if(_8==1&&_4.date.isLeapYear(_7)){return 29;}return _9[_8];};_4.date.isLeapYear=function(_a){var _b=_a.getFullYear();return !(_b%400)||(!(_b%4)&&!!(_b%100));};_4.date.getTimezoneName=function(_c){var _d=_c.toString();var tz="";var _f;var pos=_d.indexOf("(");if(pos>-1){tz=_d.substring(++pos,_d.indexOf(")"));}else{var pat=/([A-Z\/]+) \d{4}$/;if((_f=_d.match(pat))){tz=_f[1];}else{_d=_c.toLocaleString();pat=/ ([A-Z\/]+)$/;if((_f=_d.match(pat))){tz=_f[1];}}}return (tz=="AM"||tz=="PM")?"":tz;};_4.date.compare=function(_12,_13,_14){_12=new Date(Number(_12));_13=new Date(Number(_13||new Date()));if(_14!=="undefined"){if(_14=="date"){_12.setHours(0,0,0,0);_13.setHours(0,0,0,0);}else{if(_14=="time"){_12.setFullYear(0,0,0);_13.setFullYear(0,0,0);}}}if(_12>_13){return 1;}if(_12<_13){return -1;}return 0;};_4.date.add=function(_15,_16,_17){var sum=new Date(Number(_15));var _19=false;var _1a="Date";switch(_16){case "day":break;case "weekday":var _1b,_1c;var mod=_17%5;if(!mod){_1b=(_17>0)?5:-5;_1c=(_17>0)?((_17-5)/5):((_17+5)/5);}else{_1b=mod;_1c=parseInt(_17/5);}var _1e=_15.getDay();var adj=0;if(_1e==6&&_17>0){adj=1;}else{if(_1e==0&&_17<0){adj=-1;}}var _20=_1e+_1b;if(_20==0||_20==6){adj=(_17>0)?2:-2;}_17=(7*_1c)+_1b+adj;break;case "year":_1a="FullYear";_19=true;break;case "week":_17*=7;break;case "quarter":_17*=3;case "month":_19=true;_1a="Month";break;case "hour":case "minute":case "second":case "millisecond":_1a="UTC"+_16.charAt(0).toUpperCase()+_16.substring(1)+"s";}if(_1a){sum["set"+_1a](sum["get"+_1a]()+_17);}if(_19&&(sum.getDate()<_15.getDate())){sum.setDate(0);}return sum;};_4.date.difference=function(_21,_22,_23){_22=_22||new Date();_23=_23||"day";var _24=_22.getFullYear()-_21.getFullYear();var _25=1;switch(_23){case "quarter":var m1=_21.getMonth();var m2=_22.getMonth();var q1=Math.floor(m1/3)+1;var q2=Math.floor(m2/3)+1;q2+=(_24*4);_25=q2-q1;break;case "weekday":var _2a=Math.round(_4.date.difference(_21,_22,"day"));var _2b=parseInt(_4.date.difference(_21,_22,"week"));var mod=_2a%7;if(mod==0){_2a=_2b*5;}else{var adj=0;var _2e=_21.getDay();var _2f=_22.getDay();_2b=parseInt(_2a/7);mod=_2a%7;var _30=new Date(_21);_30.setDate(_30.getDate()+(_2b*7));var _31=_30.getDay();if(_2a>0){switch(true){case _2e==6:adj=-1;break;case _2e==0:adj=0;break;case _2f==6:adj=-1;break;case _2f==0:adj=-2;break;case (_31+mod)>5:adj=-2;}}else{if(_2a<0){switch(true){case _2e==6:adj=0;break;case _2e==0:adj=1;break;case _2f==6:adj=2;break;case _2f==0:adj=1;break;case (_31+mod)<0:adj=2;}}}_2a+=adj;_2a-=(_2b*2);}_25=_2a;break;case "year":_25=_24;break;case "month":_25=(_22.getMonth()-_21.getMonth())+(_24*12);break;case "week":_25=parseInt(_4.date.difference(_21,_22,"day")/7);break;case "day":_25/=24;case "hour":_25/=60;case "minute":_25/=60;case "second":_25/=1000;case "millisecond":_25*=_22.getTime()-_21.getTime();}return Math.round(_25);};}if(!_4._hasResource["dojo.cldr.supplemental"]){_4._hasResource["dojo.cldr.supplemental"]=true;_4.provide("dojo.cldr.supplemental");_4.cldr.supplemental.getFirstDayOfWeek=function(_32){var _33={mv:5,ae:6,af:6,bh:6,dj:6,dz:6,eg:6,er:6,et:6,iq:6,ir:6,jo:6,ke:6,kw:6,lb:6,ly:6,ma:6,om:6,qa:6,sa:6,sd:6,so:6,tn:6,ye:6,as:0,au:0,az:0,bw:0,ca:0,cn:0,fo:0,ge:0,gl:0,gu:0,hk:0,ie:0,il:0,is:0,jm:0,jp:0,kg:0,kr:0,la:0,mh:0,mo:0,mp:0,mt:0,nz:0,ph:0,pk:0,sg:0,th:0,tt:0,tw:0,um:0,us:0,uz:0,vi:0,za:0,zw:0,et:0,mw:0,ng:0,tj:0,sy:4};var _34=_4.cldr.supplemental._region(_32);var dow=_33[_34];return (dow===undefined)?1:dow;};_4.cldr.supplemental._region=function(_36){_36=_4.i18n.normalizeLocale(_36);var _37=_36.split("-");var _38=_37[1];if(!_38){_38={de:"de",en:"us",es:"es",fi:"fi",fr:"fr",he:"il",hu:"hu",it:"it",ja:"jp",ko:"kr",nl:"nl",pt:"br",sv:"se",zh:"cn"}[_37[0]];}else{if(_38.length==4){_38=_37[2];}}return _38;};_4.cldr.supplemental.getWeekend=function(_39){var _3a={eg:5,il:5,sy:5,"in":0,ae:4,bh:4,dz:4,iq:4,jo:4,kw:4,lb:4,ly:4,ma:4,om:4,qa:4,sa:4,sd:4,tn:4,ye:4};var _3b={ae:5,bh:5,dz:5,iq:5,jo:5,kw:5,lb:5,ly:5,ma:5,om:5,qa:5,sa:5,sd:5,tn:5,ye:5,af:5,ir:5,eg:6,il:6,sy:6};var _3c=_4.cldr.supplemental._region(_39);var _3d=_3a[_3c];var end=_3b[_3c];if(_3d===undefined){_3d=6;}if(end===undefined){end=0;}return {start:_3d,end:end};};}if(!_4._hasResource["dojo.regexp"]){_4._hasResource["dojo.regexp"]=true;_4.provide("dojo.regexp");_4.regexp.escapeString=function(str,_40){return str.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,function(ch){if(_40&&_40.indexOf(ch)!=-1){return ch;}return "\\"+ch;});};_4.regexp.buildGroupRE=function(arr,re,_44){if(!(arr instanceof Array)){return re(arr);}var b=[];for(var i=0;i<arr.length;i++){b.push(re(arr[i]));}return _4.regexp.group(b.join("|"),_44);};_4.regexp.group=function(_47,_48){return "("+(_48?"?:":"")+_47+")";};}if(!_4._hasResource["dojo.string"]){_4._hasResource["dojo.string"]=true;_4.provide("dojo.string");_4.string.rep=function(str,num){if(num<=0||!str){return "";}var buf=[];for(;;){if(num&1){buf.push(str);}if(!(num>>=1)){break;}str+=str;}return buf.join("");};_4.string.pad=function(_4c,_4d,ch,end){if(!ch){ch="0";}var out=String(_4c),pad=_4.string.rep(ch,Math.ceil((_4d-out.length)/ch.length));return end?out+pad:pad+out;};_4.string.substitute=function(_52,map,_54,_55){_55=_55||_4.global;_54=(!_54)?function(v){return v;}:_4.hitch(_55,_54);return _52.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(_57,key,_59){var _5a=_4.getObject(key,false,map);if(_59){_5a=_4.getObject(_59,false,_55).call(_55,_5a,key);}return _54(_5a,key).toString();});};_4.string.trim=String.prototype.trim?_4.trim:function(str){str=str.replace(/^\s+/,"");for(var i=str.length-1;i>=0;i--){if(/\S/.test(str.charAt(i))){str=str.substring(0,i+1);break;}}return str;};}if(!_4._hasResource["dojo.date.locale"]){_4._hasResource["dojo.date.locale"]=true;_4.provide("dojo.date.locale");(function(){function _5d(_5e,_5f,_60,_61){return _61.replace(/([a-z])\1*/ig,function(_62){var s,pad;var c=_62.charAt(0);var l=_62.length;var _67=["abbr","wide","narrow"];switch(c){case "G":s=_5f[(l<4)?"eraAbbr":"eraNames"][_5e.getFullYear()<0?0:1];break;case "y":s=_5e.getFullYear();switch(l){case 1:break;case 2:if(!_60){s=String(s);s=s.substr(s.length-2);break;}default:pad=true;}break;case "Q":case "q":s=Math.ceil((_5e.getMonth()+1)/3);pad=true;break;case "M":var m=_5e.getMonth();if(l<3){s=m+1;pad=true;}else{var _69=["months","format",_67[l-3]].join("-");s=_5f[_69][m];}break;case "w":var _6a=0;s=_4.date.locale._getWeekOfYear(_5e,_6a);pad=true;break;case "d":s=_5e.getDate();pad=true;break;case "D":s=_4.date.locale._getDayOfYear(_5e);pad=true;break;case "E":var d=_5e.getDay();if(l<3){s=d+1;pad=true;}else{var _6c=["days","format",_67[l-3]].join("-");s=_5f[_6c][d];}break;case "a":var _6d=(_5e.getHours()<12)?"am":"pm";s=_5f[_6d];break;case "h":case "H":case "K":case "k":var h=_5e.getHours();switch(c){case "h":s=(h%12)||12;break;case "H":s=h;break;case "K":s=(h%12);break;case "k":s=h||24;break;}pad=true;break;case "m":s=_5e.getMinutes();pad=true;break;case "s":s=_5e.getSeconds();pad=true;break;case "S":s=Math.round(_5e.getMilliseconds()*Math.pow(10,l-3));pad=true;break;case "v":case "z":s=_4.date.getTimezoneName(_5e);if(s){break;}l=4;case "Z":var _6f=_5e.getTimezoneOffset();var tz=[(_6f<=0?"+":"-"),_4.string.pad(Math.floor(Math.abs(_6f)/60),2),_4.string.pad(Math.abs(_6f)%60,2)];if(l==4){tz.splice(0,0,"GMT");tz.splice(3,0,":");}s=tz.join("");break;default:throw new Error("dojo.date.locale.format: invalid pattern char: "+_61);}if(pad){s=_4.string.pad(s,l);}return s;});};_4.date.locale.format=function(_71,_72){_72=_72||{};var _73=_4.i18n.normalizeLocale(_72.locale);var _74=_72.formatLength||"short";var _75=_4.date.locale._getGregorianBundle(_73);var str=[];var _77=_4.hitch(this,_5d,_71,_75,_72.fullYear);if(_72.selector=="year"){var _78=_71.getFullYear();if(_73.match(/^zh|^ja/)){_78+="年";}return _78;}if(_72.selector!="time"){var _79=_72.datePattern||_75["dateFormat-"+_74];if(_79){str.push(_7a(_79,_77));}}if(_72.selector!="date"){var _7b=_72.timePattern||_75["timeFormat-"+_74];if(_7b){str.push(_7a(_7b,_77));}}var _7c=str.join(" ");return _7c;};_4.date.locale.regexp=function(_7d){return _4.date.locale._parseInfo(_7d).regexp;};_4.date.locale._parseInfo=function(_7e){_7e=_7e||{};var _7f=_4.i18n.normalizeLocale(_7e.locale);var _80=_4.date.locale._getGregorianBundle(_7f);var _81=_7e.formatLength||"short";var _82=_7e.datePattern||_80["dateFormat-"+_81];var _83=_7e.timePattern||_80["timeFormat-"+_81];var _84;if(_7e.selector=="date"){_84=_82;}else{if(_7e.selector=="time"){_84=_83;}else{_84=_82+" "+_83;}}var _85=[];var re=_7a(_84,_4.hitch(this,_87,_85,_80,_7e));return {regexp:re,tokens:_85,bundle:_80};};_4.date.locale.parse=function(_88,_89){var _8a=_4.date.locale._parseInfo(_89);var _8b=_8a.tokens,_8c=_8a.bundle;var re=new RegExp("^"+_8a.regexp+"$",_8a.strict?"":"i");var _8e=re.exec(_88);if(!_8e){return null;}var _8f=["abbr","wide","narrow"];var _90=[1970,0,1,0,0,0,0];var _91="";var _92=_4.every(_8e,function(v,i){if(!i){return true;}var _95=_8b[i-1];var l=_95.length;switch(_95.charAt(0)){case "y":if(l!=2&&_89.strict){_90[0]=v;}else{if(v<100){v=Number(v);var _97=""+new Date().getFullYear();var _98=_97.substring(0,2)*100;var _99=Math.min(Number(_97.substring(2,4))+20,99);var num=(v<_99)?_98+v:_98-100+v;_90[0]=num;}else{if(_89.strict){return false;}_90[0]=v;}}break;case "M":if(l>2){var _9b=_8c["months-format-"+_8f[l-3]].concat();if(!_89.strict){v=v.replace(".","").toLowerCase();_9b=_4.map(_9b,function(s){return s.replace(".","").toLowerCase();});}v=_4.indexOf(_9b,v);if(v==-1){return false;}}else{v--;}_90[1]=v;break;case "E":case "e":var _9d=_8c["days-format-"+_8f[l-3]].concat();if(!_89.strict){v=v.toLowerCase();_9d=_4.map(_9d,function(d){return d.toLowerCase();});}v=_4.indexOf(_9d,v);if(v==-1){return false;}break;case "D":_90[1]=0;case "d":_90[2]=v;break;case "a":var am=_89.am||_8c.am;var pm=_89.pm||_8c.pm;if(!_89.strict){var _a1=/\./g;v=v.replace(_a1,"").toLowerCase();am=am.replace(_a1,"").toLowerCase();pm=pm.replace(_a1,"").toLowerCase();}if(_89.strict&&v!=am&&v!=pm){return false;}_91=(v==pm)?"p":(v==am)?"a":"";break;case "K":if(v==24){v=0;}case "h":case "H":case "k":if(v>23){return false;}_90[3]=v;break;case "m":_90[4]=v;break;case "s":_90[5]=v;break;case "S":_90[6]=v;}return true;});var _a2=+_90[3];if(_91==="p"&&_a2<12){_90[3]=_a2+12;}else{if(_91==="a"&&_a2==12){_90[3]=0;}}var _a3=new Date(_90[0],_90[1],_90[2],_90[3],_90[4],_90[5],_90[6]);if(_89.strict){_a3.setFullYear(_90[0]);}var _a4=_8b.join(""),_a5=_a4.indexOf("d")!=-1,_a6=_a4.indexOf("M")!=-1;if(!_92||(_a6&&_a3.getMonth()>_90[1])||(_a5&&_a3.getDate()>_90[2])){return null;}if((_a6&&_a3.getMonth()<_90[1])||(_a5&&_a3.getDate()<_90[2])){_a3=_4.date.add(_a3,"hour",1);}return _a3;};function _7a(_a7,_a8,_a9,_aa){var _ab=function(x){return x;};_a8=_a8||_ab;_a9=_a9||_ab;_aa=_aa||_ab;var _ad=_a7.match(/(''|[^'])+/g);var _ae=_a7.charAt(0)=="'";_4.forEach(_ad,function(_af,i){if(!_af){_ad[i]="";}else{_ad[i]=(_ae?_a9:_a8)(_af);_ae=!_ae;}});return _aa(_ad.join(""));};function _87(_b1,_b2,_b3,_b4){_b4=_4.regexp.escapeString(_b4);if(!_b3.strict){_b4=_b4.replace(" a"," ?a");}return _b4.replace(/([a-z])\1*/ig,function(_b5){var s;var c=_b5.charAt(0);var l=_b5.length;var p2="",p3="";if(_b3.strict){if(l>1){p2="0"+"{"+(l-1)+"}";}if(l>2){p3="0"+"{"+(l-2)+"}";}}else{p2="0?";p3="0{0,2}";}switch(c){case "y":s="\\d{2,4}";break;case "M":s=(l>2)?"\\S+?":p2+"[1-9]|1[0-2]";break;case "D":s=p2+"[1-9]|"+p3+"[1-9][0-9]|[12][0-9][0-9]|3[0-5][0-9]|36[0-6]";break;case "d":s="[12]\\d|"+p2+"[1-9]|3[01]";break;case "w":s=p2+"[1-9]|[1-4][0-9]|5[0-3]";break;case "E":s="\\S+";break;case "h":s=p2+"[1-9]|1[0-2]";break;case "k":s=p2+"\\d|1[01]";break;case "H":s=p2+"\\d|1\\d|2[0-3]";break;case "K":s=p2+"[1-9]|1\\d|2[0-4]";break;case "m":case "s":s="[0-5]\\d";break;case "S":s="\\d{"+l+"}";break;case "a":var am=_b3.am||_b2.am||"AM";var pm=_b3.pm||_b2.pm||"PM";if(_b3.strict){s=am+"|"+pm;}else{s=am+"|"+pm;if(am!=am.toLowerCase()){s+="|"+am.toLowerCase();}if(pm!=pm.toLowerCase()){s+="|"+pm.toLowerCase();}if(s.indexOf(".")!=-1){s+="|"+s.replace(/\./g,"");}}s=s.replace(/\./g,"\\.");break;default:s=".*";}if(_b1){_b1.push(_b5);}return "("+s+")";}).replace(/[\xa0 ]/g,"[\\s\\xa0]");};})();(function(){var _bd=[];_4.date.locale.addCustomFormats=function(_be,_bf){_bd.push({pkg:_be,name:_bf});};_4.date.locale._getGregorianBundle=function(_c0){var _c1={};_4.forEach(_bd,function(_c2){var _c3=_4.i18n.getLocalization(_c2.pkg,_c2.name,_c0);_c1=_4.mixin(_c1,_c3);},this);return _c1;};})();_4.date.locale.addCustomFormats("dojo.cldr","gregorian");_4.date.locale.getNames=function(_c4,_c5,_c6,_c7){var _c8;var _c9=_4.date.locale._getGregorianBundle(_c7);var _ca=[_c4,_c6,_c5];if(_c6=="standAlone"){var key=_ca.join("-");_c8=_c9[key];if(_c8[0]==1){_c8=undefined;}}_ca[1]="format";return (_c8||_c9[_ca.join("-")]).concat();};_4.date.locale.isWeekend=function(_cc,_cd){var _ce=_4.cldr.supplemental.getWeekend(_cd);var day=(_cc||new Date()).getDay();if(_ce.end<_ce.start){_ce.end+=7;if(day<_ce.start){day+=7;}}return day>=_ce.start&&day<=_ce.end;};_4.date.locale._getDayOfYear=function(_d0){return _4.date.difference(new Date(_d0.getFullYear(),0,1,_d0.getHours()),_d0)+1;};_4.date.locale._getWeekOfYear=function(_d1,_d2){if(arguments.length==1){_d2=0;}var _d3=new Date(_d1.getFullYear(),0,1).getDay();var adj=(_d3-_d2+7)%7;var _d5=Math.floor((_4.date.locale._getDayOfYear(_d1)+adj-1)/7);if(_d3==_d2){_d5++;}return _d5;};}if(!_4._hasResource["dojo.cookie"]){_4._hasResource["dojo.cookie"]=true;_4.provide("dojo.cookie");_4.cookie=function(_d6,_d7,_d8){var c=document.cookie;if(arguments.length==1){var _da=c.match(new RegExp("(?:^|; )"+_4.regexp.escapeString(_d6)+"=([^;]*)"));return _da?decodeURIComponent(_da[1]):undefined;}else{_d8=_d8||{};var exp=_d8.expires;if(typeof exp=="number"){var d=new Date();d.setTime(d.getTime()+exp*24*60*60*1000);exp=_d8.expires=d;}if(exp&&exp.toUTCString){_d8.expires=exp.toUTCString();}_d7=encodeURIComponent(_d7);var _dd=_d6+"="+_d7,_de;for(_de in _d8){_dd+="; "+_de;var _df=_d8[_de];if(_df!==true){_dd+="="+_df;}}document.cookie=_dd;}};_4.cookie.isSupported=function(){if(!("cookieEnabled" in navigator)){this("__djCookieTest__","CookiesAllowed");navigator.cookieEnabled=this("__djCookieTest__")=="CookiesAllowed";if(navigator.cookieEnabled){this("__djCookieTest__","",{expires:-1});}}return navigator.cookieEnabled;};}if(!_4._hasResource["dijit._base.focus"]){_4._hasResource["dijit._base.focus"]=true;_4.provide("dijit._base.focus");_4.mixin(_5,{_curFocus:null,_prevFocus:null,isCollapsed:function(){var _e0=_4.doc;if(_e0.selection){var s=_e0.selection;if(s.type=="Text"){return !s.createRange().htmlText.length;}else{return !s.createRange().length;}}else{var _e2=_4.global;var _e3=_e2.getSelection();if(_4.isString(_e3)){return !_e3;}else{return !_e3||_e3.isCollapsed||!_e3.toString();}}},getBookmark:function(){var _e4,_e5=_4.doc.selection;if(_e5){var _e6=_e5.createRange();if(_e5.type.toUpperCase()=="CONTROL"){if(_e6.length){_e4=[];var i=0,len=_e6.length;while(i<len){_e4.push(_e6.item(i++));}}else{_e4=null;}}else{_e4=_e6.getBookmark();}}else{if(window.getSelection){_e5=_4.global.getSelection();if(_e5){_e6=_e5.getRangeAt(0);_e4=_e6.cloneRange();}}else{console.warn("No idea how to store the current selection for this browser!");}}return _e4;},moveToBookmark:function(_e9){var _ea=_4.doc;if(_ea.selection){var _eb;if(_4.isArray(_e9)){_eb=_ea.body.createControlRange();_4.forEach(_e9,function(n){_eb.addElement(n);});}else{_eb=_ea.selection.createRange();_eb.moveToBookmark(_e9);}_eb.select();}else{var _ed=_4.global.getSelection&&_4.global.getSelection();if(_ed&&_ed.removeAllRanges){_ed.removeAllRanges();_ed.addRange(_e9);}else{console.warn("No idea how to restore selection for this browser!");}}},getFocus:function(_ee,_ef){return {node:_ee&&_4.isDescendant(_5._curFocus,_ee.domNode)?_5._prevFocus:_5._curFocus,bookmark:!_4.withGlobal(_ef||_4.global,_5.isCollapsed)?_4.withGlobal(_ef||_4.global,_5.getBookmark):null,openedForWindow:_ef};},focus:function(_f0){if(!_f0){return;}var _f1="node" in _f0?_f0.node:_f0,_f2=_f0.bookmark,_f3=_f0.openedForWindow;if(_f1){var _f4=(_f1.tagName.toLowerCase()=="iframe")?_f1.contentWindow:_f1;if(_f4&&_f4.focus){try{_f4.focus();}catch(e){}}_5._onFocusNode(_f1);}if(_f2&&_4.withGlobal(_f3||_4.global,_5.isCollapsed)){if(_f3){_f3.focus();}try{_4.withGlobal(_f3||_4.global,_5.moveToBookmark,null,[_f2]);}catch(e){}}},_activeStack:[],registerIframe:function(_f5){_5.registerWin(_f5.contentWindow,_f5);},registerWin:function(_f6,_f7){_4.connect(_f6.document,"onmousedown",function(evt){_5._justMouseDowned=true;setTimeout(function(){_5._justMouseDowned=false;},0);_5._onTouchNode(_f7||evt.target||evt.srcElement);});var doc=_f6.document;if(doc){if(_4.isIE){doc.attachEvent("onactivate",function(evt){if(evt.srcElement.tagName.toLowerCase()!="#document"){_5._onFocusNode(_f7||evt.srcElement);}});doc.attachEvent("ondeactivate",function(evt){_5._onBlurNode(_f7||evt.srcElement);});}else{doc.addEventListener("focus",function(evt){_5._onFocusNode(_f7||evt.target);},true);doc.addEventListener("blur",function(evt){_5._onBlurNode(_f7||evt.target);},true);}}doc=null;},_onBlurNode:function(_fe){_5._prevFocus=_5._curFocus;_5._curFocus=null;if(_5._justMouseDowned){return;}if(_5._clearActiveWidgetsTimer){clearTimeout(_5._clearActiveWidgetsTimer);}_5._clearActiveWidgetsTimer=setTimeout(function(){delete _5._clearActiveWidgetsTimer;_5._setStack([]);_5._prevFocus=null;},100);},_onTouchNode:function(_ff){if(_5._clearActiveWidgetsTimer){clearTimeout(_5._clearActiveWidgetsTimer);delete _5._clearActiveWidgetsTimer;}var _100=[];try{while(_ff){if(_ff.dijitPopupParent){_ff=_5.byId(_ff.dijitPopupParent).domNode;}else{if(_ff.tagName&&_ff.tagName.toLowerCase()=="body"){if(_ff===_4.body()){break;}_ff=_5.getDocumentWindow(_ff.ownerDocument).frameElement;}else{var id=_ff.getAttribute&&_ff.getAttribute("widgetId");if(id){_100.unshift(id);}_ff=_ff.parentNode;}}}}catch(e){}_5._setStack(_100);},_onFocusNode:function(node){if(!node){return;}if(node.nodeType==9){return;}_5._onTouchNode(node);if(node==_5._curFocus){return;}if(_5._curFocus){_5._prevFocus=_5._curFocus;}_5._curFocus=node;_4.publish("focusNode",[node]);},_setStack:function(_103){var _104=_5._activeStack;_5._activeStack=_103;for(var _105=0;_105<Math.min(_104.length,_103.length);_105++){if(_104[_105]!=_103[_105]){break;}}for(var i=_104.length-1;i>=_105;i--){var _107=_5.byId(_104[i]);if(_107){_107._focused=false;_107._hasBeenBlurred=true;if(_107._onBlur){_107._onBlur();}if(_107._setStateClass){_107._setStateClass();}_4.publish("widgetBlur",[_107]);}}for(i=_105;i<_103.length;i++){_107=_5.byId(_103[i]);if(_107){_107._focused=true;if(_107._onFocus){_107._onFocus();}if(_107._setStateClass){_107._setStateClass();}_4.publish("widgetFocus",[_107]);}}}});_4.addOnLoad(function(){_5.registerWin(window);});}if(!_4._hasResource["dijit._base.manager"]){_4._hasResource["dijit._base.manager"]=true;_4.provide("dijit._base.manager");_4.declare("dijit.WidgetSet",null,{constructor:function(){this._hash={};},add:function(_108){if(this._hash[_108.id]){throw new Error("Tried to register widget with id=="+_108.id+" but that id is already registered");}this._hash[_108.id]=_108;},remove:function(id){delete this._hash[id];},forEach:function(func){for(var id in this._hash){func(this._hash[id]);}},filter:function(_10c){var res=new _5.WidgetSet();this.forEach(function(_10e){if(_10c(_10e)){res.add(_10e);}});return res;},byId:function(id){return this._hash[id];},byClass:function(cls){return this.filter(function(_111){return _111.declaredClass==cls;});}});_5.registry=new _5.WidgetSet();_5._widgetTypeCtr={};_5.getUniqueId=function(_112){var id;do{id=_112+"_"+(_112 in _5._widgetTypeCtr?++_5._widgetTypeCtr[_112]:_5._widgetTypeCtr[_112]=0);}while(_5.byId(id));return id;};_5.findWidgets=function(root){var _115=[];function _116(root){var list=_4.isIE?root.children:root.childNodes,i=0,node;while(node=list[i++]){if(node.nodeType!=1){continue;}var _11b=node.getAttribute("widgetId");if(_11b){var _11c=_5.byId(_11b);_115.push(_11c);}else{_116(node);}}};_116(root);return _115;};if(_4.isIE){_4.addOnWindowUnload(function(){_4.forEach(_5.findWidgets(_4.body()),function(_11d){if(_11d.destroyRecursive){_11d.destroyRecursive();}else{if(_11d.destroy){_11d.destroy();}}});});}_5.byId=function(id){return (_4.isString(id))?_5.registry.byId(id):id;};_5.byNode=function(node){return _5.registry.byId(node.getAttribute("widgetId"));};_5.getEnclosingWidget=function(node){while(node){if(node.getAttribute&&node.getAttribute("widgetId")){return _5.registry.byId(node.getAttribute("widgetId"));}node=node.parentNode;}return null;};_5._tabElements={area:true,button:true,input:true,object:true,select:true,textarea:true};_5._isElementShown=function(elem){var _122=_4.style(elem);return (_122.visibility!="hidden")&&(_122.visibility!="collapsed")&&(_122.display!="none")&&(_4.attr(elem,"type")!="hidden");};_5.isTabNavigable=function(elem){if(_4.hasAttr(elem,"disabled")){return false;}var _124=_4.hasAttr(elem,"tabindex");var _125=_4.attr(elem,"tabindex");if(_124&&_125>=0){return true;}var name=elem.nodeName.toLowerCase();if(((name=="a"&&_4.hasAttr(elem,"href"))||_5._tabElements[name])&&(!_124||_125>=0)){return true;}return false;};_5._getTabNavigable=function(root){var _128,last,_12a,_12b,_12c,_12d;var _12e=function(_12f){_4.query("> *",_12f).forEach(function(_130){var _131=_5._isElementShown(_130);if(_131&&_5.isTabNavigable(_130)){var _132=_4.attr(_130,"tabindex");if(!_4.hasAttr(_130,"tabindex")||_132==0){if(!_128){_128=_130;}last=_130;}else{if(_132>0){if(!_12a||_132<_12b){_12b=_132;_12a=_130;}if(!_12c||_132>=_12d){_12d=_132;_12c=_130;}}}}if(_131&&_130.nodeName.toUpperCase()!="SELECT"){_12e(_130);}});};if(_5._isElementShown(root)){_12e(root);}return {first:_128,last:last,lowest:_12a,highest:_12c};};_5.getFirstInTabbingOrder=function(root){var _134=_5._getTabNavigable(_4.byId(root));return _134.lowest?_134.lowest:_134.first;};_5.getLastInTabbingOrder=function(root){var _136=_5._getTabNavigable(_4.byId(root));return _136.last?_136.last:_136.highest;};_5.defaultDuration=_4.config["defaultDuration"]||200;}if(!_4._hasResource["dojo.AdapterRegistry"]){_4._hasResource["dojo.AdapterRegistry"]=true;_4.provide("dojo.AdapterRegistry");_4.AdapterRegistry=function(_137){this.pairs=[];this.returnWrappers=_137||false;};_4.extend(_4.AdapterRegistry,{register:function(name,_139,wrap,_13b,_13c){this.pairs[((_13c)?"unshift":"push")]([name,_139,wrap,_13b]);},match:function(){for(var i=0;i<this.pairs.length;i++){var pair=this.pairs[i];if(pair[1].apply(this,arguments)){if((pair[3])||(this.returnWrappers)){return pair[2];}else{return pair[2].apply(this,arguments);}}}throw new Error("No match found");},unregister:function(name){for(var i=0;i<this.pairs.length;i++){var pair=this.pairs[i];if(pair[0]==name){this.pairs.splice(i,1);return true;}}return false;}});}if(!_4._hasResource["dijit._base.place"]){_4._hasResource["dijit._base.place"]=true;_4.provide("dijit._base.place");_5.getViewport=function(){var _142=(_4.doc.compatMode=="BackCompat")?_4.body():_4.doc.documentElement;var _143=_4._docScroll();return {w:_142.clientWidth,h:_142.clientHeight,l:_143.x,t:_143.y};};_5.placeOnScreen=function(node,pos,_146,_147){var _148=_4.map(_146,function(_149){var c={corner:_149,pos:{x:pos.x,y:pos.y}};if(_147){c.pos.x+=_149.charAt(1)=="L"?_147.x:-_147.x;c.pos.y+=_149.charAt(0)=="T"?_147.y:-_147.y;}return c;});return _5._place(node,_148);};_5._place=function(node,_14c,_14d){var view=_5.getViewport();if(!node.parentNode||String(node.parentNode.tagName).toLowerCase()!="body"){_4.body().appendChild(node);}var best=null;_4.some(_14c,function(_150){var _151=_150.corner;var pos=_150.pos;if(_14d){_14d(node,_150.aroundCorner,_151);}var _153=node.style;var _154=_153.display;var _155=_153.visibility;_153.visibility="hidden";_153.display="";var mb=_4.marginBox(node);_153.display=_154;_153.visibility=_155;var _157=(_151.charAt(1)=="L"?pos.x:Math.max(view.l,pos.x-mb.w)),_158=(_151.charAt(0)=="T"?pos.y:Math.max(view.t,pos.y-mb.h)),endX=(_151.charAt(1)=="L"?Math.min(view.l+view.w,_157+mb.w):pos.x),endY=(_151.charAt(0)=="T"?Math.min(view.t+view.h,_158+mb.h):pos.y),_15b=endX-_157,_15c=endY-_158,_15d=(mb.w-_15b)+(mb.h-_15c);if(best==null||_15d<best.overflow){best={corner:_151,aroundCorner:_150.aroundCorner,x:_157,y:_158,w:_15b,h:_15c,overflow:_15d};}return !_15d;});node.style.left=best.x+"px";node.style.top=best.y+"px";if(best.overflow&&_14d){_14d(node,best.aroundCorner,best.corner);}return best;};_5.placeOnScreenAroundNode=function(node,_15f,_160,_161){_15f=_4.byId(_15f);var _162=_15f.style.display;_15f.style.display="";var _163=_15f.offsetWidth;var _164=_15f.offsetHeight;var _165=_4.coords(_15f,true);_15f.style.display=_162;return _5._placeOnScreenAroundRect(node,_165.x,_165.y,_163,_164,_160,_161);};_5.placeOnScreenAroundRectangle=function(node,_167,_168,_169){return _5._placeOnScreenAroundRect(node,_167.x,_167.y,_167.width,_167.height,_168,_169);};_5._placeOnScreenAroundRect=function(node,x,y,_16d,_16e,_16f,_170){var _171=[];for(var _172 in _16f){_171.push({aroundCorner:_172,corner:_16f[_172],pos:{x:x+(_172.charAt(1)=="L"?0:_16d),y:y+(_172.charAt(0)=="T"?0:_16e)}});}return _5._place(node,_171,_170);};_5.placementRegistry=new _4.AdapterRegistry();_5.placementRegistry.register("node",function(n,x){return typeof x=="object"&&typeof x.offsetWidth!="undefined"&&typeof x.offsetHeight!="undefined";},_5.placeOnScreenAroundNode);_5.placementRegistry.register("rect",function(n,x){return typeof x=="object"&&"x" in x&&"y" in x&&"width" in x&&"height" in x;},_5.placeOnScreenAroundRectangle);_5.placeOnScreenAroundElement=function(node,_178,_179,_17a){return _5.placementRegistry.match.apply(_5.placementRegistry,arguments);};}if(!_4._hasResource["dijit._base.window"]){_4._hasResource["dijit._base.window"]=true;_4.provide("dijit._base.window");_5.getDocumentWindow=function(doc){if(_4.isIE&&window!==document.parentWindow&&!doc._parentWindow){doc.parentWindow.execScript("document._parentWindow = window;","Javascript");var win=doc._parentWindow;doc._parentWindow=null;return win;}return doc._parentWindow||doc.parentWindow||doc.defaultView;};}if(!_4._hasResource["dijit._base.popup"]){_4._hasResource["dijit._base.popup"]=true;_4.provide("dijit._base.popup");_5.popup=new function(){var _17d=[],_17e=1000,_17f=1;this.prepare=function(node){var s=node.style;s.visibility="hidden";s.position="absolute";s.top="-9999px";if(s.display=="none"){s.display="";}_4.body().appendChild(node);};this.open=function(args){var _183=args.popup,_184=args.orient||{"BL":"TL","TL":"BL"},_185=args.around,id=(args.around&&args.around.id)?(args.around.id+"_dropdown"):("popup_"+_17f++);var _187=_4.create("div",{id:id,"class":"dijitPopup",style:{zIndex:_17e+_17d.length,visibility:"hidden"}},_4.body());_5.setWaiRole(_187,"presentation");_187.style.left=_187.style.top="0px";if(args.parent){_187.dijitPopupParent=args.parent.id;}var s=_183.domNode.style;s.display="";s.visibility="";s.position="";s.top="0px";_187.appendChild(_183.domNode);var _189=new _5.BackgroundIframe(_187);var best=_185?_5.placeOnScreenAroundElement(_187,_185,_184,_183.orient?_4.hitch(_183,"orient"):null):_5.placeOnScreen(_187,args,_184=="R"?["TR","BR","TL","BL"]:["TL","BL","TR","BR"],args.padding);_187.style.visibility="visible";var _18b=[];var _18c=function(){for(var pi=_17d.length-1;pi>0&&_17d[pi].parent===_17d[pi-1].widget;pi--){}return _17d[pi];};_18b.push(_4.connect(_187,"onkeypress",this,function(evt){if(evt.charOrCode==_4.keys.ESCAPE&&args.onCancel){_4.stopEvent(evt);args.onCancel();}else{if(evt.charOrCode===_4.keys.TAB){_4.stopEvent(evt);var _18f=_18c();if(_18f&&_18f.onCancel){_18f.onCancel();}}}}));if(_183.onCancel){_18b.push(_4.connect(_183,"onCancel",null,args.onCancel));}_18b.push(_4.connect(_183,_183.onExecute?"onExecute":"onChange",null,function(){var _190=_18c();if(_190&&_190.onExecute){_190.onExecute();}}));_17d.push({wrapper:_187,iframe:_189,widget:_183,parent:args.parent,onExecute:args.onExecute,onCancel:args.onCancel,onClose:args.onClose,handlers:_18b});if(_183.onOpen){_183.onOpen(best);}return best;};this.close=function(_191){while(_4.some(_17d,function(elem){return elem.widget==_191;})){var top=_17d.pop(),_194=top.wrapper,_195=top.iframe,_196=top.widget,_197=top.onClose;if(_196.onClose){_196.onClose();}_4.forEach(top.handlers,_4.disconnect);if(!_196||!_196.domNode){return;}this.prepare(_196.domNode);_195.destroy();_4.destroy(_194);if(_197){_197();}}};}();_5._frames=new function(){var _198=[];this.pop=function(){var _199;if(_198.length){_199=_198.pop();_199.style.display="";}else{if(_4.isIE){var burl=_4.config["dojoBlankHtmlUrl"]||(_4.moduleUrl("dojo","resources/blank.html")+"")||"javascript:\"\"";var html="<iframe src='"+burl+"'"+" style='position: absolute; left: 0px; top: 0px;"+"z-index: -1; filter:Alpha(Opacity=\"0\");'>";_199=_4.doc.createElement(html);}else{_199=_4.create("iframe");_199.src="javascript:\"\"";_199.className="dijitBackgroundIframe";}_199.tabIndex=-1;_4.body().appendChild(_199);}return _199;};this.push=function(_19c){_19c.style.display="none";if(_4.isIE){_19c.style.removeExpression("width");_19c.style.removeExpression("height");}_198.push(_19c);};}();_5.BackgroundIframe=function(node){if(!node.id){throw new Error("no id");}if(_4.isIE<7||(_4.isFF<3&&_4.hasClass(_4.body(),"dijit_a11y"))){var _19e=_5._frames.pop();node.appendChild(_19e);if(_4.isIE){_19e.style.setExpression("width",_4._scopeName+".doc.getElementById('"+node.id+"').offsetWidth");_19e.style.setExpression("height",_4._scopeName+".doc.getElementById('"+node.id+"').offsetHeight");}this.iframe=_19e;}};_4.extend(_5.BackgroundIframe,{destroy:function(){if(this.iframe){_5._frames.push(this.iframe);delete this.iframe;}}});}if(!_4._hasResource["dijit._base.scroll"]){_4._hasResource["dijit._base.scroll"]=true;_4.provide("dijit._base.scroll");_5.scrollIntoView=function(node){try{node=_4.byId(node);var doc=_4.doc;var body=_4.body();var html=body.parentNode;if((!(_4.isFF>=3||_4.isIE||_4.isWebKit)||node==body||node==html)&&(typeof node.scrollIntoView=="function")){node.scrollIntoView(false);return;}var ltr=_4._isBodyLtr();var _1a4=_4.isIE>=8&&!_1a5;var rtl=!ltr&&!_1a4;var _1a7=body;var _1a5=doc.compatMode=="BackCompat";if(_1a5){html._offsetWidth=html._clientWidth=body._offsetWidth=body.clientWidth;html._offsetHeight=html._clientHeight=body._offsetHeight=body.clientHeight;}else{if(_4.isWebKit){body._offsetWidth=body._clientWidth=html.clientWidth;body._offsetHeight=body._clientHeight=html.clientHeight;}else{_1a7=html;}html._offsetHeight=html.clientHeight;html._offsetWidth=html.clientWidth;}function _1a8(_1a9){var ie=_4.isIE;return ((ie<=6||(ie>=7&&_1a5))?false:(_4.style(_1a9,"position").toLowerCase()=="fixed"));};function _1ab(_1ac){var _1ad=_1ac.parentNode;var _1ae=_1ac.offsetParent;if(_1ae==null||_1a8(_1ac)){_1ae=html;_1ad=(_1ac==body)?html:null;}_1ac._offsetParent=_1ae;_1ac._parent=_1ad;var bp=_4._getBorderExtents(_1ac);_1ac._borderStart={H:(_1a4&&!ltr)?(bp.w-bp.l):bp.l,V:bp.t};_1ac._borderSize={H:bp.w,V:bp.h};_1ac._scrolledAmount={H:_1ac.scrollLeft,V:_1ac.scrollTop};_1ac._offsetSize={H:_1ac._offsetWidth||_1ac.offsetWidth,V:_1ac._offsetHeight||_1ac.offsetHeight};_1ac._offsetStart={H:(_1a4&&!ltr)?_1ae.clientWidth-_1ac.offsetLeft-_1ac._offsetSize.H:_1ac.offsetLeft,V:_1ac.offsetTop};_1ac._clientSize={H:_1ac._clientWidth||_1ac.clientWidth,V:_1ac._clientHeight||_1ac.clientHeight};if(_1ac!=body&&_1ac!=html&&_1ac!=node){for(var dir in _1ac._offsetSize){var _1b1=_1ac._offsetSize[dir]-_1ac._clientSize[dir]-_1ac._borderSize[dir];var _1b2=_1ac._clientSize[dir]>0&&_1b1>0;if(_1b2){_1ac._offsetSize[dir]-=_1b1;if(_4.isIE&&rtl&&dir=="H"){_1ac._offsetStart[dir]+=_1b1;}}}}};var _1b3=node;while(_1b3!=null){if(_1a8(_1b3)){node.scrollIntoView(false);return;}_1ab(_1b3);_1b3=_1b3._parent;}if(_4.isIE&&node._parent){var _1b4=node._offsetParent;node._offsetStart.H+=_1b4._borderStart.H;node._offsetStart.V+=_1b4._borderStart.V;}if(_4.isIE>=7&&_1a7==html&&rtl&&body._offsetStart&&body._offsetStart.H==0){var _1b5=html.scrollWidth-html._offsetSize.H;if(_1b5>0){body._offsetStart.H=-_1b5;}}if(_4.isIE<=6&&!_1a5){html._offsetSize.H+=html._borderSize.H;html._offsetSize.V+=html._borderSize.V;}if(rtl&&body._offsetStart&&_1a7==html&&html._scrolledAmount){var ofs=body._offsetStart.H;if(ofs<0){html._scrolledAmount.H+=ofs;body._offsetStart.H=0;}}_1b3=node;while(_1b3){var _1b7=_1b3._parent;if(!_1b7){break;}if(_1b7.tagName=="TD"){var _1b8=_1b7._parent._parent._parent;if(_1b7!=_1b3._offsetParent&&_1b7._offsetParent!=_1b3._offsetParent){_1b7=_1b8;}}var _1b9=_1b3._offsetParent==_1b7;for(var dir in _1b3._offsetStart){var _1bb=dir=="H"?"V":"H";if(rtl&&dir=="H"&&(_1b7!=html)&&(_1b7!=body)&&(_4.isIE||_4.isWebKit)&&_1b7._clientSize.H>0&&_1b7.scrollWidth>_1b7._clientSize.H){var _1bc=_1b7.scrollWidth-_1b7._clientSize.H;if(_1bc>0){_1b7._scrolledAmount.H-=_1bc;}}if(_1b7._offsetParent.tagName=="TABLE"){if(_4.isIE){_1b7._offsetStart[dir]-=_1b7._offsetParent._borderStart[dir];_1b7._borderStart[dir]=_1b7._borderSize[dir]=0;}else{_1b7._offsetStart[dir]+=_1b7._offsetParent._borderStart[dir];}}if(_4.isIE){_1b7._offsetStart[dir]+=_1b7._offsetParent._borderStart[dir];}var _1bd=_1b3._offsetStart[dir]-_1b7._scrolledAmount[dir]-(_1b9?0:_1b7._offsetStart[dir])-_1b7._borderStart[dir];var _1be=_1bd+_1b3._offsetSize[dir]-_1b7._offsetSize[dir]+_1b7._borderSize[dir];var _1bf=(dir=="H")?"scrollLeft":"scrollTop";var _1c0=dir=="H"&&rtl;var _1c1=_1c0?-_1be:_1bd;var _1c2=_1c0?-_1bd:_1be;var _1c3=(_1c1*_1c2<=0)?0:Math[(_1c1<0)?"max":"min"](_1c1,_1c2);if(_1c3!=0){var _1c4=_1b7[_1bf];_1b7[_1bf]+=(_1c0)?-_1c3:_1c3;var _1c5=_1b7[_1bf]-_1c4;}if(_1b9){_1b3._offsetStart[dir]+=_1b7._offsetStart[dir];}_1b3._offsetStart[dir]-=_1b7[_1bf];}_1b3._parent=_1b7._parent;_1b3._offsetParent=_1b7._offsetParent;}_1b7=node;var next;while(_1b7&&_1b7.removeAttribute){next=_1b7.parentNode;_1b7.removeAttribute("_offsetParent");_1b7.removeAttribute("_parent");_1b7=next;}}catch(error){console.error("scrollIntoView: "+error);node.scrollIntoView(false);}};}if(!_4._hasResource["dijit._base.sniff"]){_4._hasResource["dijit._base.sniff"]=true;_4.provide("dijit._base.sniff");(function(){var d=_4,html=d.doc.documentElement,ie=d.isIE,_1ca=d.isOpera,maj=Math.floor,ff=d.isFF,_1cd=d.boxModel.replace(/-/,""),_1ce={dj_ie:ie,dj_ie6:maj(ie)==6,dj_ie7:maj(ie)==7,dj_iequirks:ie&&d.isQuirks,dj_opera:_1ca,dj_opera8:maj(_1ca)==8,dj_opera9:maj(_1ca)==9,dj_khtml:d.isKhtml,dj_webkit:d.isWebKit,dj_safari:d.isSafari,dj_gecko:d.isMozilla,dj_ff2:maj(ff)==2,dj_ff3:maj(ff)==3};_1ce["dj_"+_1cd]=true;for(var p in _1ce){if(_1ce[p]){if(html.className){html.className+=" "+p;}else{html.className=p;}}}_4._loaders.unshift(function(){if(!_4._isBodyLtr()){html.className+=" dijitRtl";for(var p in _1ce){if(_1ce[p]){html.className+=" "+p+"-rtl";}}}});})();}if(!_4._hasResource["dijit._base.typematic"]){_4._hasResource["dijit._base.typematic"]=true;_4.provide("dijit._base.typematic");_5.typematic={_fireEventAndReload:function(){this._timer=null;this._callback(++this._count,this._node,this._evt);this._currentTimeout=(this._currentTimeout<0)?this._initialDelay:((this._subsequentDelay>1)?this._subsequentDelay:Math.round(this._currentTimeout*this._subsequentDelay));this._timer=setTimeout(_4.hitch(this,"_fireEventAndReload"),this._currentTimeout);},trigger:function(evt,_1d2,node,_1d4,obj,_1d6,_1d7){if(obj!=this._obj){this.stop();this._initialDelay=_1d7||500;this._subsequentDelay=_1d6||0.9;this._obj=obj;this._evt=evt;this._node=node;this._currentTimeout=-1;this._count=-1;this._callback=_4.hitch(_1d2,_1d4);this._fireEventAndReload();}},stop:function(){if(this._timer){clearTimeout(this._timer);this._timer=null;}if(this._obj){this._callback(-1,this._node,this._evt);this._obj=null;}},addKeyListener:function(node,_1d9,_1da,_1db,_1dc,_1dd){if(_1d9.keyCode){_1d9.charOrCode=_1d9.keyCode;_4.deprecated("keyCode attribute parameter for dijit.typematic.addKeyListener is deprecated. Use charOrCode instead.","","2.0");}else{if(_1d9.charCode){_1d9.charOrCode=String.fromCharCode(_1d9.charCode);_4.deprecated("charCode attribute parameter for dijit.typematic.addKeyListener is deprecated. Use charOrCode instead.","","2.0");}}return [_4.connect(node,"onkeypress",this,function(evt){if(evt.charOrCode==_1d9.charOrCode&&(_1d9.ctrlKey===undefined||_1d9.ctrlKey==evt.ctrlKey)&&(_1d9.altKey===undefined||_1d9.altKey==evt.ctrlKey)&&(_1d9.shiftKey===undefined||_1d9.shiftKey==evt.ctrlKey)){_4.stopEvent(evt);_5.typematic.trigger(_1d9,_1da,node,_1db,_1d9,_1dc,_1dd);}else{if(_5.typematic._obj==_1d9){_5.typematic.stop();}}}),_4.connect(node,"onkeyup",this,function(evt){if(_5.typematic._obj==_1d9){_5.typematic.stop();}})];},addMouseListener:function(node,_1e1,_1e2,_1e3,_1e4){var dc=_4.connect;return [dc(node,"mousedown",this,function(evt){_4.stopEvent(evt);_5.typematic.trigger(evt,_1e1,node,_1e2,node,_1e3,_1e4);}),dc(node,"mouseup",this,function(evt){_4.stopEvent(evt);_5.typematic.stop();}),dc(node,"mouseout",this,function(evt){_4.stopEvent(evt);_5.typematic.stop();}),dc(node,"mousemove",this,function(evt){_4.stopEvent(evt);}),dc(node,"dblclick",this,function(evt){_4.stopEvent(evt);if(_4.isIE){_5.typematic.trigger(evt,_1e1,node,_1e2,node,_1e3,_1e4);setTimeout(_4.hitch(this,_5.typematic.stop),50);}})];},addListener:function(_1eb,_1ec,_1ed,_1ee,_1ef,_1f0,_1f1){return this.addKeyListener(_1ec,_1ed,_1ee,_1ef,_1f0,_1f1).concat(this.addMouseListener(_1eb,_1ee,_1ef,_1f0,_1f1));}};}if(!_4._hasResource["dijit._base.wai"]){_4._hasResource["dijit._base.wai"]=true;_4.provide("dijit._base.wai");_5.wai={onload:function(){var div=_4.create("div",{id:"a11yTestNode",style:{cssText:"border: 1px solid;"+"border-color:red green;"+"position: absolute;"+"height: 5px;"+"top: -999px;"+"background-image: url(\""+(_4.config.blankGif||_4.moduleUrl("dojo","resources/blank.gif"))+"\");"}},_4.body());var cs=_4.getComputedStyle(div);if(cs){var _1f4=cs.backgroundImage;var _1f5=(cs.borderTopColor==cs.borderRightColor)||(_1f4!=null&&(_1f4=="none"||_1f4=="url(invalid-url:)"));_4[_1f5?"addClass":"removeClass"](_4.body(),"dijit_a11y");if(_4.isIE){div.outerHTML="";}else{_4.body().removeChild(div);}}}};if(_4.isIE||_4.isMoz){_4._loaders.unshift(_5.wai.onload);}_4.mixin(_5,{_XhtmlRoles:/banner|contentinfo|definition|main|navigation|search|note|secondary|seealso/,hasWaiRole:function(elem,role){var _1f8=this.getWaiRole(elem);return role?(_1f8.indexOf(role)>-1):(_1f8.length>0);},getWaiRole:function(elem){return _4.trim((_4.attr(elem,"role")||"").replace(this._XhtmlRoles,"").replace("wairole:",""));},setWaiRole:function(elem,role){var _1fc=_4.attr(elem,"role")||"";if(_4.isFF<3||!this._XhtmlRoles.test(_1fc)){_4.attr(elem,"role",_4.isFF<3?"wairole:"+role:role);}else{if((" "+_1fc+" ").indexOf(" "+role+" ")<0){var _1fd=_4.trim(_1fc.replace(this._XhtmlRoles,""));var _1fe=_4.trim(_1fc.replace(_1fd,""));_4.attr(elem,"role",_1fe+(_1fe?" ":"")+role);}}},removeWaiRole:function(elem,role){var _201=_4.attr(elem,"role");if(!_201){return;}if(role){var _202=_4.isFF<3?"wairole:"+role:role;var t=_4.trim((" "+_201+" ").replace(" "+_202+" "," "));_4.attr(elem,"role",t);}else{elem.removeAttribute("role");}},hasWaiState:function(elem,_205){if(_4.isFF<3){return elem.hasAttributeNS("http://www.w3.org/2005/07/aaa",_205);}return elem.hasAttribute?elem.hasAttribute("aria-"+_205):!!elem.getAttribute("aria-"+_205);},getWaiState:function(elem,_207){if(_4.isFF<3){return elem.getAttributeNS("http://www.w3.org/2005/07/aaa",_207);}return elem.getAttribute("aria-"+_207)||"";},setWaiState:function(elem,_209,_20a){if(_4.isFF<3){elem.setAttributeNS("http://www.w3.org/2005/07/aaa","aaa:"+_209,_20a);}else{elem.setAttribute("aria-"+_209,_20a);}},removeWaiState:function(elem,_20c){if(_4.isFF<3){elem.removeAttributeNS("http://www.w3.org/2005/07/aaa",_20c);}else{elem.removeAttribute("aria-"+_20c);}}});}if(!_4._hasResource["dijit._base"]){_4._hasResource["dijit._base"]=true;_4.provide("dijit._base");}if(!_4._hasResource["dijit._Widget"]){_4._hasResource["dijit._Widget"]=true;_4.provide("dijit._Widget");_4.require("dijit._base");_4.connect(_4,"connect",function(_20d,_20e){if(_20d&&_4.isFunction(_20d._onConnect)){_20d._onConnect(_20e);}});_5._connectOnUseEventHandler=function(_20f){};(function(){var _210={};var _211=function(dc){if(!_210[dc]){var r=[];var _214;var _215=_4.getObject(dc).prototype;for(var _216 in _215){if(_4.isFunction(_215[_216])&&(_214=_216.match(/^_set([a-zA-Z]*)Attr$/))&&_214[1]){r.push(_214[1].charAt(0).toLowerCase()+_214[1].substr(1));}}_210[dc]=r;}return _210[dc]||[];};_4.declare("dijit._Widget",null,{id:"",lang:"",dir:"","class":"",style:"",title:"",srcNodeRef:null,domNode:null,containerNode:null,attributeMap:{id:"",dir:"",lang:"","class":"",style:"",title:""},_deferredConnects:{onClick:"",onDblClick:"",onKeyDown:"",onKeyPress:"",onKeyUp:"",onMouseMove:"",onMouseDown:"",onMouseOut:"",onMouseOver:"",onMouseLeave:"",onMouseEnter:"",onMouseUp:""},onClick:_5._connectOnUseEventHandler,onDblClick:_5._connectOnUseEventHandler,onKeyDown:_5._connectOnUseEventHandler,onKeyPress:_5._connectOnUseEventHandler,onKeyUp:_5._connectOnUseEventHandler,onMouseDown:_5._connectOnUseEventHandler,onMouseMove:_5._connectOnUseEventHandler,onMouseOut:_5._connectOnUseEventHandler,onMouseOver:_5._connectOnUseEventHandler,onMouseLeave:_5._connectOnUseEventHandler,onMouseEnter:_5._connectOnUseEventHandler,onMouseUp:_5._connectOnUseEventHandler,_blankGif:(_4.config.blankGif||_4.moduleUrl("dojo","resources/blank.gif")),postscript:function(_217,_218){this.create(_217,_218);},create:function(_219,_21a){this.srcNodeRef=_4.byId(_21a);this._connects=[];this._deferredConnects=_4.clone(this._deferredConnects);for(var attr in this.attributeMap){delete this._deferredConnects[attr];}for(attr in this._deferredConnects){if(this[attr]!==_5._connectOnUseEventHandler){delete this._deferredConnects[attr];}}if(this.srcNodeRef&&(typeof this.srcNodeRef.id=="string")){this.id=this.srcNodeRef.id;}if(_219){this.params=_219;_4.mixin(this,_219);}this.postMixInProperties();if(!this.id){this.id=_5.getUniqueId(this.declaredClass.replace(/\./g,"_"));}_5.registry.add(this);this.buildRendering();if(this.domNode){this._applyAttributes();var _21c=this.srcNodeRef;if(_21c&&_21c.parentNode){_21c.parentNode.replaceChild(this.domNode,_21c);}for(attr in this.params){this._onConnect(attr);}}if(this.domNode){this.domNode.setAttribute("widgetId",this.id);}this.postCreate();if(this.srcNodeRef&&!this.srcNodeRef.parentNode){delete this.srcNodeRef;}this._created=true;},_applyAttributes:function(){var _21d=function(attr,_21f){if((_21f.params&&attr in _21f.params)||_21f[attr]){_21f.attr(attr,_21f[attr]);}};for(var attr in this.attributeMap){_21d(attr,this);}_4.forEach(_211(this.declaredClass),function(a){if(!(a in this.attributeMap)){_21d(a,this);}},this);},postMixInProperties:function(){},buildRendering:function(){this.domNode=this.srcNodeRef||_4.create("div");},postCreate:function(){},startup:function(){this._started=true;},destroyRecursive:function(_222){this.destroyDescendants(_222);this.destroy(_222);},destroy:function(_223){this.uninitialize();_4.forEach(this._connects,function(_224){_4.forEach(_224,_4.disconnect);});_4.forEach(this._supportingWidgets||[],function(w){if(w.destroy){w.destroy();}});this.destroyRendering(_223);_5.registry.remove(this.id);},destroyRendering:function(_226){if(this.bgIframe){this.bgIframe.destroy(_226);delete this.bgIframe;}if(this.domNode){if(_226){_4.removeAttr(this.domNode,"widgetId");}else{_4.destroy(this.domNode);}delete this.domNode;}if(this.srcNodeRef){if(!_226){_4.destroy(this.srcNodeRef);}delete this.srcNodeRef;}},destroyDescendants:function(_227){_4.forEach(this.getChildren(),function(_228){if(_228.destroyRecursive){_228.destroyRecursive(_227);}});},uninitialize:function(){return false;},onFocus:function(){},onBlur:function(){},_onFocus:function(e){this.onFocus();},_onBlur:function(){this.onBlur();},_onConnect:function(_22a){if(_22a in this._deferredConnects){var _22b=this[this._deferredConnects[_22a]||"domNode"];this.connect(_22b,_22a.toLowerCase(),_22a);delete this._deferredConnects[_22a];}},_setClassAttr:function(_22c){var _22d=this[this.attributeMap["class"]||"domNode"];_4.removeClass(_22d,this["class"]);this["class"]=_22c;_4.addClass(_22d,_22c);},_setStyleAttr:function(_22e){var _22f=this[this.attributeMap["style"]||"domNode"];if(_4.isObject(_22e)){_4.style(_22f,_22e);}else{if(_22f.style.cssText){_22f.style.cssText+="; "+_22e;}else{_22f.style.cssText=_22e;}}this["style"]=_22e;},setAttribute:function(attr,_231){_4.deprecated(this.declaredClass+"::setAttribute() is deprecated. Use attr() instead.","","2.0");this.attr(attr,_231);},_attrToDom:function(attr,_233){var _234=this.attributeMap[attr];_4.forEach(_4.isArray(_234)?_234:[_234],function(_235){var _236=this[_235.node||_235||"domNode"];var type=_235.type||"attribute";switch(type){case "attribute":if(_4.isFunction(_233)){_233=_4.hitch(this,_233);}if(/^on[A-Z][a-zA-Z]*$/.test(attr)){attr=attr.toLowerCase();}_4.attr(_236,attr,_233);break;case "innerHTML":_236.innerHTML=_233;break;case "class":_4.removeClass(_236,this[attr]);_4.addClass(_236,_233);break;}},this);this[attr]=_233;},attr:function(name,_239){var args=arguments.length;if(args==1&&!_4.isString(name)){for(var x in name){this.attr(x,name[x]);}return this;}var _23c=this._getAttrNames(name);if(args==2){if(this[_23c.s]){return this[_23c.s](_239)||this;}else{if(name in this.attributeMap){this._attrToDom(name,_239);}this[name]=_239;}return this;}else{if(this[_23c.g]){return this[_23c.g]();}else{return this[name];}}},_attrPairNames:{},_getAttrNames:function(name){var apn=this._attrPairNames;if(apn[name]){return apn[name];}var uc=name.charAt(0).toUpperCase()+name.substr(1);return apn[name]={n:name+"Node",s:"_set"+uc+"Attr",g:"_get"+uc+"Attr"};},toString:function(){return "[Widget "+this.declaredClass+", "+(this.id||"NO ID")+"]";},getDescendants:function(){if(this.containerNode){var list=_4.query("[widgetId]",this.containerNode);return list.map(_5.byNode);}else{return [];}},getChildren:function(){if(this.containerNode){return _5.findWidgets(this.containerNode);}else{return [];}},nodesWithKeyClick:["input","button"],connect:function(obj,_242,_243){var d=_4;var dc=_4.connect;var _246=[];if(_242=="ondijitclick"){if(!this.nodesWithKeyClick[obj.nodeName]){var m=d.hitch(this,_243);_246.push(dc(obj,"onkeydown",this,function(e){if(!d.isFF&&e.keyCode==d.keys.ENTER&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey){return m(e);}else{if(e.keyCode==d.keys.SPACE){d.stopEvent(e);}}}),dc(obj,"onkeyup",this,function(e){if(e.keyCode==d.keys.SPACE&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey){return m(e);}}));if(d.isFF){_246.push(dc(obj,"onkeypress",this,function(e){if(e.keyCode==d.keys.ENTER&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey){return m(e);}}));}}_242="onclick";}_246.push(dc(obj,_242,this,_243));this._connects.push(_246);return _246;},disconnect:function(_24b){for(var i=0;i<this._connects.length;i++){if(this._connects[i]==_24b){_4.forEach(_24b,_4.disconnect);this._connects.splice(i,1);return;}}},isLeftToRight:function(){return _4._isBodyLtr();},isFocusable:function(){return this.focus&&(_4.style(this.domNode,"display")!="none");},placeAt:function(_24d,_24e){if(_24d["declaredClass"]&&_24d["addChild"]){_24d.addChild(this,_24e);}else{_4.place(this.domNode,_24d,_24e);}return this;}});})();}if(!_4._hasResource["dojo.date.stamp"]){_4._hasResource["dojo.date.stamp"]=true;_4.provide("dojo.date.stamp");_4.date.stamp.fromISOString=function(_24f,_250){if(!_4.date.stamp._isoRegExp){_4.date.stamp._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/;}var _251=_4.date.stamp._isoRegExp.exec(_24f);var _252=null;if(_251){_251.shift();if(_251[1]){_251[1]--;}if(_251[6]){_251[6]*=1000;}if(_250){_250=new Date(_250);_4.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(prop){return _250["get"+prop]();}).forEach(function(_254,_255){if(_251[_255]===undefined){_251[_255]=_254;}});}_252=new Date(_251[0]||1970,_251[1]||0,_251[2]||1,_251[3]||0,_251[4]||0,_251[5]||0,_251[6]||0);var _256=0;var _257=_251[7]&&_251[7].charAt(0);if(_257!="Z"){_256=((_251[8]||0)*60)+(Number(_251[9])||0);if(_257!="-"){_256*=-1;}}if(_257){_256-=_252.getTimezoneOffset();}if(_256){_252.setTime(_252.getTime()+_256*60000);}}return _252;};_4.date.stamp.toISOString=function(_258,_259){var _=function(n){return (n<10)?"0"+n:n;};_259=_259||{};var _25c=[];var _25d=_259.zulu?"getUTC":"get";var date="";if(_259.selector!="time"){var year=_258[_25d+"FullYear"]();date=["0000".substr((year+"").length)+year,_(_258[_25d+"Month"]()+1),_(_258[_25d+"Date"]())].join("-");}_25c.push(date);if(_259.selector!="date"){var time=[_(_258[_25d+"Hours"]()),_(_258[_25d+"Minutes"]()),_(_258[_25d+"Seconds"]())].join(":");var _261=_258[_25d+"Milliseconds"]();if(_259.milliseconds){time+="."+(_261<100?"0":"")+_(_261);}if(_259.zulu){time+="Z";}else{if(_259.selector!="time"){var _262=_258.getTimezoneOffset();var _263=Math.abs(_262);time+=(_262>0?"-":"+")+_(Math.floor(_263/60))+":"+_(_263%60);}}_25c.push(time);}return _25c.join("T");};}if(!_4._hasResource["dojo.parser"]){_4._hasResource["dojo.parser"]=true;_4.provide("dojo.parser");_4.parser=new function(){var d=_4;var _265=d._scopeName+"Type";var qry="["+_265+"]";var _267=0,_268={};var _269=function(_26a,_26b){var nso=_26b||_268;if(_4.isIE){var cn=_26a["__dojoNameCache"];if(cn&&nso[cn]===_26a){return cn;}}var name;do{name="__"+_267++;}while(name in nso);nso[name]=_26a;return name;};function _26f(_270){if(d.isString(_270)){return "string";}if(typeof _270=="number"){return "number";}if(typeof _270=="boolean"){return "boolean";}if(d.isFunction(_270)){return "function";}if(d.isArray(_270)){return "array";}if(_270 instanceof Date){return "date";}if(_270 instanceof d._Url){return "url";}return "object";};function _271(_272,type){switch(type){case "string":return _272;case "number":return _272.length?Number(_272):NaN;case "boolean":return typeof _272=="boolean"?_272:!(_272.toLowerCase()=="false");case "function":if(d.isFunction(_272)){_272=_272.toString();_272=d.trim(_272.substring(_272.indexOf("{")+1,_272.length-1));}try{if(_272.search(/[^\w\.]+/i)!=-1){_272=_269(new Function(_272),this);}return d.getObject(_272,false);}catch(e){return new Function();}case "array":return _272?_272.split(/\s*,\s*/):[];case "date":switch(_272){case "":return new Date("");case "now":return new Date();default:return d.date.stamp.fromISOString(_272);}case "url":return d.baseUrl+_272;default:return d.fromJson(_272);}};var _274={};function _275(_276){if(!_274[_276]){var cls=d.getObject(_276);if(!d.isFunction(cls)){throw new Error("Could not load class '"+_276+"'. Did you spell the name correctly and use a full path, like 'dijit.form.Button'?");}var _278=cls.prototype;var _279={},_27a={};for(var name in _278){if(name.charAt(0)=="_"){continue;}if(name in _27a){continue;}var _27c=_278[name];_279[name]=_26f(_27c);}_274[_276]={cls:cls,params:_279};}return _274[_276];};this._functionFromScript=function(_27d){var _27e="";var _27f="";var _280=_27d.getAttribute("args");if(_280){d.forEach(_280.split(/\s*,\s*/),function(part,idx){_27e+="var "+part+" = arguments["+idx+"]; ";});}var _283=_27d.getAttribute("with");if(_283&&_283.length){d.forEach(_283.split(/\s*,\s*/),function(part){_27e+="with("+part+"){";_27f+="}";});}return new Function(_27e+_27d.innerHTML+_27f);};this.instantiate=function(_285,_286){var _287=[];_286=_286||{};d.forEach(_285,function(node){if(!node){return;}var type=_265 in _286?_286[_265]:node.getAttribute(_265);if(!type||!type.length){return;}var _28a=_275(type),_28b=_28a.cls,ps=_28b._noScript||_28b.prototype._noScript;var _28d={},_28e=node.attributes;for(var name in _28a.params){var item=name in _286?{value:_286[name],specified:true}:_28e.getNamedItem(name);if(!item||(!item.specified&&(!_4.isIE||name.toLowerCase()!="value"))){continue;}var _291=item.value;switch(name){case "class":_291="className" in _286?_286.className:node.className;break;case "style":_291="style" in _286?_286.style:(node.style&&node.style.cssText);}var _292=_28a.params[name];if(typeof _291=="string"){_28d[name]=_271(_291,_292);}else{_28d[name]=_291;}}if(!ps){var _293=[],_294=[];d.query("> script[type^='dojo/']",node).orphan().forEach(function(_295){var _296=_295.getAttribute("event"),type=_295.getAttribute("type"),nf=d.parser._functionFromScript(_295);if(_296){if(type=="dojo/connect"){_293.push({event:_296,func:nf});}else{_28d[_296]=nf;}}else{_294.push(nf);}});}var _298=_28b["markupFactory"];if(!_298&&_28b["prototype"]){_298=_28b.prototype["markupFactory"];}var _299=_298?_298(_28d,node,_28b):new _28b(_28d,node);_287.push(_299);var _29a=node.getAttribute("jsId");if(_29a){d.setObject(_29a,_299);}if(!ps){d.forEach(_293,function(_29b){d.connect(_299,_29b.event,null,_29b.func);});d.forEach(_294,function(func){func.call(_299);});}});d.forEach(_287,function(_29d){if(_29d&&_29d.startup&&!_29d._started&&(!_29d.getParent||!_29d.getParent())){_29d.startup();}});return _287;};this.parse=function(_29e){var list=d.query(qry,_29e);var _2a0=this.instantiate(list);return _2a0;};}();(function(){var _2a1=function(){if(_4.config["parseOnLoad"]==true){_4.parser.parse();}};if(_4.exists("dijit.wai.onload")&&(_5.wai.onload===_4._loaders[0])){_4._loaders.splice(1,0,_2a1);}else{_4._loaders.unshift(_2a1);}})();}if(!_4._hasResource["dijit._Templated"]){_4._hasResource["dijit._Templated"]=true;_4.provide("dijit._Templated");_4.declare("dijit._Templated",null,{templateString:null,templatePath:null,widgetsInTemplate:false,_skipNodeCache:false,_stringRepl:function(tmpl){var _2a3=this.declaredClass,_2a4=this;return _4.string.substitute(tmpl,this,function(_2a5,key){if(key.charAt(0)=="!"){_2a5=_4.getObject(key.substr(1),false,_2a4);}if(typeof _2a5=="undefined"){throw new Error(_2a3+" template:"+key);}if(_2a5==null){return "";}return key.charAt(0)=="!"?_2a5:_2a5.toString().replace(/"/g,"&quot;");},this);},buildRendering:function(){var _2a7=_5._Templated.getCachedTemplate(this.templatePath,this.templateString,this._skipNodeCache);var node;if(_4.isString(_2a7)){node=_4._toDom(this._stringRepl(_2a7));}else{node=_2a7.cloneNode(true);}this.domNode=node;this._attachTemplateNodes(node);if(this.widgetsInTemplate){var cw=(this._supportingWidgets=_4.parser.parse(node));this._attachTemplateNodes(cw,function(n,p){return n[p];});}this._fillContent(this.srcNodeRef);},_fillContent:function(_2ac){var dest=this.containerNode;if(_2ac&&dest){while(_2ac.hasChildNodes()){dest.appendChild(_2ac.firstChild);}}},_attachTemplateNodes:function(_2ae,_2af){_2af=_2af||function(n,p){return n.getAttribute(p);};var _2b2=_4.isArray(_2ae)?_2ae:(_2ae.all||_2ae.getElementsByTagName("*"));var x=_4.isArray(_2ae)?0:-1;for(;x<_2b2.length;x++){var _2b4=(x==-1)?_2ae:_2b2[x];if(this.widgetsInTemplate&&_2af(_2b4,"dojoType")){continue;}var _2b5=_2af(_2b4,"dojoAttachPoint");if(_2b5){var _2b6,_2b7=_2b5.split(/\s*,\s*/);while((_2b6=_2b7.shift())){if(_4.isArray(this[_2b6])){this[_2b6].push(_2b4);}else{this[_2b6]=_2b4;}}}var _2b8=_2af(_2b4,"dojoAttachEvent");if(_2b8){var _2b9,_2ba=_2b8.split(/\s*,\s*/);var trim=_4.trim;while((_2b9=_2ba.shift())){if(_2b9){var _2bc=null;if(_2b9.indexOf(":")!=-1){var _2bd=_2b9.split(":");_2b9=trim(_2bd[0]);_2bc=trim(_2bd[1]);}else{_2b9=trim(_2b9);}if(!_2bc){_2bc=_2b9;}this.connect(_2b4,_2b9,_2bc);}}}var role=_2af(_2b4,"waiRole");if(role){_5.setWaiRole(_2b4,role);}var _2bf=_2af(_2b4,"waiState");if(_2bf){_4.forEach(_2bf.split(/\s*,\s*/),function(_2c0){if(_2c0.indexOf("-")!=-1){var pair=_2c0.split("-");_5.setWaiState(_2b4,pair[0],pair[1]);}});}}}});_5._Templated._templateCache={};_5._Templated.getCachedTemplate=function(_2c2,_2c3,_2c4){var _2c5=_5._Templated._templateCache;var key=_2c3||_2c2;var _2c7=_2c5[key];if(_2c7){if(!_2c7.ownerDocument||_2c7.ownerDocument==_4.doc){return _2c7;}_4.destroy(_2c7);}if(!_2c3){_2c3=_5._Templated._sanitizeTemplateString(_4.trim(_4._getText(_2c2)));}_2c3=_4.string.trim(_2c3);if(_2c4||_2c3.match(/\$\{([^\}]+)\}/g)){return (_2c5[key]=_2c3);}else{return (_2c5[key]=_4._toDom(_2c3));}};_5._Templated._sanitizeTemplateString=function(_2c8){if(_2c8){_2c8=_2c8.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,"");var _2c9=_2c8.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);if(_2c9){_2c8=_2c9[1];}}else{_2c8="";}return _2c8;};if(_4.isIE){_4.addOnWindowUnload(function(){var _2ca=_5._Templated._templateCache;for(var key in _2ca){var _2cc=_2ca[key];if(!isNaN(_2cc.nodeType)){_4.destroy(_2cc);}delete _2ca[key];}});}_4.extend(_5._Widget,{dojoAttachEvent:"",dojoAttachPoint:"",waiRole:"",waiState:""});}if(!_4._hasResource["dijit._Container"]){_4._hasResource["dijit._Container"]=true;_4.provide("dijit._Container");_4.declare("dijit._Container",null,{isContainer:true,buildRendering:function(){this.inherited(arguments);if(!this.containerNode){this.containerNode=this.domNode;}},addChild:function(_2cd,_2ce){var _2cf=this.containerNode;if(_2ce&&typeof _2ce=="number"){var _2d0=this.getChildren();if(_2d0&&_2d0.length>=_2ce){_2cf=_2d0[_2ce-1].domNode;_2ce="after";}}_4.place(_2cd.domNode,_2cf,_2ce);if(this._started&&!_2cd._started){_2cd.startup();}},removeChild:function(_2d1){if(typeof _2d1=="number"&&_2d1>0){_2d1=this.getChildren()[_2d1];}if(!_2d1||!_2d1.domNode){return;}var node=_2d1.domNode;node.parentNode.removeChild(node);},_nextElement:function(node){do{node=node.nextSibling;}while(node&&node.nodeType!=1);return node;},_firstElement:function(node){node=node.firstChild;if(node&&node.nodeType!=1){node=this._nextElement(node);}return node;},getChildren:function(){return _4.query("> [widgetId]",this.containerNode).map(_5.byNode);},hasChildren:function(){return !!this._firstElement(this.containerNode);},destroyDescendants:function(_2d5){_4.forEach(this.getChildren(),function(_2d6){_2d6.destroyRecursive(_2d5);});},_getSiblingOfChild:function(_2d7,dir){var node=_2d7.domNode;var _2da=(dir>0?"nextSibling":"previousSibling");do{node=node[_2da];}while(node&&(node.nodeType!=1||!_5.byNode(node)));return node?_5.byNode(node):null;},getIndexOfChild:function(_2db){var _2dc=this.getChildren();for(var i=0,c;c=_2dc[i];i++){if(c==_2db){return i;}}return -1;}});}if(!_4._hasResource["topaz.utils.datefunctions"]){_4._hasResource["topaz.utils.datefunctions"]=true;_4.provide("topaz.utils.datefunctions");var _2df=new Array("January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");var _2e0=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sun","Mon","Tue","Wed","Thu","Fri","Sat");function LZ(x){return (x<0||x>9?"":"0")+x;};function _2e3(val,_2e5){var date=_2e7(val,_2e5);if(date==0){return false;}return true;};function _2e8(_2e9,_2ea,_2eb,_2ec){var d1=_2e7(_2e9,_2ea);var d2=_2e7(_2eb,_2ec);if(d1==0||d2==0){return -1;}else{if(d1>d2){return 1;}}return 0;};function _2ef(date,_2f1){_2f1=_2f1+"";var _2f2="";var _2f3=0;var c="";var _2f5="";var y=date.getYear()+"";var M=date.getMonth()+1;var d=date.getDate();var E=date.getDay();var H=date.getHours();var m=date.getMinutes();var s=date.getSeconds();var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;var _30c=new Object();if(y.length<4){y=""+(y-0+1900);}_30c["y"]=""+y;_30c["yyyy"]=y;_30c["yy"]=y.substring(2,4);_30c["M"]=M;_30c["MM"]=LZ(M);_30c["MMM"]=_2df[M-1];_30c["NNN"]=_2df[M+11];_30c["d"]=d;_30c["dd"]=LZ(d);_30c["E"]=_2e0[E+7];_30c["EE"]=_2e0[E];_30c["H"]=H;_30c["HH"]=LZ(H);if(H==0){_30c["h"]=12;}else{if(H>12){_30c["h"]=H-12;}else{_30c["h"]=H;}}_30c["hh"]=LZ(_30c["h"]);if(H>11){_30c["K"]=H-12;}else{_30c["K"]=H;}_30c["k"]=H+1;_30c["KK"]=LZ(_30c["K"]);_30c["kk"]=LZ(_30c["k"]);if(H>11){_30c["a"]="PM";}else{_30c["a"]="AM";}_30c["m"]=m;_30c["mm"]=LZ(m);_30c["s"]=s;_30c["ss"]=LZ(s);while(_2f3<_2f1.length){c=_2f1.charAt(_2f3);_2f5="";while((_2f1.charAt(_2f3)==c)&&(_2f3<_2f1.length)){_2f5+=_2f1.charAt(_2f3++);}if(_30c[_2f5]!=null){_2f2=_2f2+_30c[_2f5];}else{_2f2=_2f2+_2f5;}}return _2f2;};function _30d(val){var _30f="1234567890";for(var i=0;i<val.length;i++){if(_30f.indexOf(val.charAt(i))==-1){return false;}}return true;};function _311(str,i,_314,_315){for(var x=_315;x>=_314;x--){var _317=str.substring(i,i+x);if(_317.length<_314){return null;}if(_30d(_317)){return _317;}}return null;};function _2e7(val,_319){val=val+"";_319=_319+"";var _31a=0;var _31b=0;var c="";var _31d="";var _31e="";var x,y;var now=new Date();var year=now.getYear();var _323=now.getMonth()+1;var date=1;var hh=now.getHours();var mm=now.getMinutes();var ss=now.getSeconds();var ampm="";while(_31b<_319.length){c=_319.charAt(_31b);_31d="";while((_319.charAt(_31b)==c)&&(_31b<_319.length)){_31d+=_319.charAt(_31b++);}if(_31d=="yyyy"||_31d=="yy"||_31d=="y"){if(_31d=="yyyy"){x=4;y=4;}if(_31d=="yy"){x=2;y=2;}if(_31d=="y"){x=2;y=4;}year=_311(val,_31a,x,y);if(year==null){return 0;}_31a+=year.length;if(year.length==2){if(year>70){year=1900+(year-0);}else{year=2000+(year-0);}}}else{if(_31d=="MMM"||_31d=="NNN"){_323=0;for(var i=0;i<_2df.length;i++){var _32a=_2df[i];if(val.substring(_31a,_31a+_32a.length).toLowerCase()==_32a.toLowerCase()){if(_31d=="MMM"||(_31d=="NNN"&&i>11)){_323=i+1;if(_323>12){_323-=12;}_31a+=_32a.length;break;}}}if((_323<1)||(_323>12)){return 0;}}else{if(_31d=="EE"||_31d=="E"){for(var i=0;i<_2e0.length;i++){var _32b=_2e0[i];if(val.substring(_31a,_31a+_32b.length).toLowerCase()==_32b.toLowerCase()){_31a+=_32b.length;break;}}}else{if(_31d=="MM"||_31d=="M"){_323=_311(val,_31a,_31d.length,2);if(_323==null||(_323<1)||(_323>12)){return 0;}_31a+=_323.length;}else{if(_31d=="dd"||_31d=="d"){date=_311(val,_31a,_31d.length,2);if(date==null||(date<1)||(date>31)){return 0;}_31a+=date.length;}else{if(_31d=="hh"||_31d=="h"){hh=_311(val,_31a,_31d.length,2);if(hh==null||(hh<1)||(hh>12)){return 0;}_31a+=hh.length;}else{if(_31d=="HH"||_31d=="H"){hh=_311(val,_31a,_31d.length,2);if(hh==null||(hh<0)||(hh>23)){return 0;}_31a+=hh.length;}else{if(_31d=="KK"||_31d=="K"){hh=_311(val,_31a,_31d.length,2);if(hh==null||(hh<0)||(hh>11)){return 0;}_31a+=hh.length;}else{if(_31d=="kk"||_31d=="k"){hh=_311(val,_31a,_31d.length,2);if(hh==null||(hh<1)||(hh>24)){return 0;}_31a+=hh.length;hh--;}else{if(_31d=="mm"||_31d=="m"){mm=_311(val,_31a,_31d.length,2);if(mm==null||(mm<0)||(mm>59)){return 0;}_31a+=mm.length;}else{if(_31d=="ss"||_31d=="s"){ss=_311(val,_31a,_31d.length,2);if(ss==null||(ss<0)||(ss>59)){return 0;}_31a+=ss.length;}else{if(_31d=="a"){if(val.substring(_31a,_31a+2).toLowerCase()=="am"){ampm="AM";}else{if(val.substring(_31a,_31a+2).toLowerCase()=="pm"){ampm="PM";}else{return 0;}}_31a+=2;}else{if(val.substring(_31a,_31a+_31d.length)!=_31d){return 0;}else{_31a+=_31d.length;}}}}}}}}}}}}}}if(_31a!=val.length){return 0;}if(_323==2){if(((year%4==0)&&(year%100!=0))||(year%400==0)){if(date>29){return 0;}}else{if(date>28){return 0;}}}if((_323==4)||(_323==6)||(_323==9)||(_323==11)){if(date>30){return 0;}}if(hh<12&&ampm=="PM"){hh=hh-0+12;}else{if(hh>11&&ampm=="AM"){hh-=12;}}var _32c=new Date(year,_323-1,date,hh,mm,ss);return _32c.getTime();};function _32d(val){var _32f=(arguments.length==2)?arguments[1]:false;generalFormats=new Array("y-M-d","MMM d, y","MMM d,y","y-MMM-d","d-MMM-y","MMM d");monthFirst=new Array("M/d/y","M-d-y","M.d.y","MMM-d","M/d","M-d");dateFirst=new Array("d/M/y","d-M-y","d.M.y","d-MMM","d/M","d-M");var _330=new Array("generalFormats",_32f?"dateFirst":"monthFirst",_32f?"monthFirst":"dateFirst");var d=null;for(var i=0;i<_330.length;i++){var l=window[_330[i]];for(var j=0;j<l.length;j++){d=_2e7(val,l[j]);if(d!=0){return new Date(d);}}}return null;};}if(!_4._hasResource["topaz.utils.bahelper"]){_4._hasResource["topaz.utils.bahelper"]=true;_4.provide("topaz.utils.bahelper");_4.declare("BAHelper",null,{included_files:[],browserSupported:function(){var _335=false;if(_4.isIE>=7||_4.isFF>=2||_4.isSafari>=3||_4.isChrome>=1){_335=true;}return _335;},disableEnterKey:function(e){try{console.debug("BAHelper.disableEnterKey");var key;if(window.event){key=window.event.keyCode;}else{key=e.which;}if(key==13){return false;}else{return true;}}catch(err){console.debug("bahelper.disableEnterKey-error: "+err.message);}},scrollYTo:function(_338,_339,_33a){try{var _33b=_4._docScroll();var dir;if(_33b.y>_338){dir=-1;}else{dir=1;}if(Math.abs(_33b.y-_338)>=_339){window.scrollBy(0,_339*dir);this.scrollYTo(_338,_339,_33a);}else{window.scrollBy(0,_339*dir);}}catch(err){console.debug("baHelper.scrollYTo-error: "+err.message);}},purgeDomElement:function(d){var a=d.attributes,i,l,n;if(a){l=a.length;for(i=0;i<l;i+=1){n=a[i].name;if(typeof d[n]==="function"){d[n]=null;}}}a=d.childNodes;if(a){l=a.length;for(i=0;i<l;i+=1){purge(d.childNodes[i]);}}},getAncestorWithThisMethod:function(_342,_343){var _344=_342.parentNode;try{eval("dijit.byId('"+_344.id+"')."+_343+"();");return _344;}catch(err){if(_344!=null){return this.getAncestorWithThisMethod(_344,_343);}else{return null;}}},showCalendarInContextOfRoom:function(_345,_346,_347){try{var X=_5.byId(_345);if(!_347){_347="Selected room";}var Y=_5.byId(_345+"_selectedStayDates");Y.setRoomId(_346);Y.setAvailDayLegendDescr(_347+" available");Y.setOtherAvailLegendDescr("Other rooms available");Y.showOtherRoomsLegend();Y.openPopInWindow();Y.redrawCalendars();}catch(err){console.debug("bahelper.showCalendarInContextOfRoom-error: "+err.message);}},showCalendarInContextOfHotel:function(_34a,_34b,_34c){var X=_5.byId(_34a);if(!_34c){_34c="Selected hotel";}var Y=_5.byId(_34a+"_selectedStayDates");Y.setHotelId(_34b);Y.setRoomId("");Y.setAvailDayLegendDescr(_34c+" available");Y.setOtherAvailLegendDescr("Other hotels available");Y.openPopInWindow();Y.redrawCalendars();},dojoFxSizeTo:function(args){try{var node=(args.node=_4.byId(args.node));var _351=_4.getComputedStyle;var _352=args.method||"chain";if(_352=="chain"){args.duration=(args.duration/2);}var top,_354,left,_356,_357,_358=null;var init=(function(){var _35a=node;return function(){var pos=_351(_35a).position;top=(pos=="absolute"?node.offsetTop:parseInt(_351(node).top)||0);left=(pos=="absolute"?node.offsetLeft:parseInt(_351(node).left)||0);_357=parseInt(_4.style(node,"width"));_358=parseInt(_4.style(node,"height"));if(args.aboutTopLeft){_356=left;_354=top;}else{if(args.aboutBottomRight){_356=args.left;_354=args.top;}else{_356=left-((args.width-_357)/2);_354=top-((args.height-_358)/2);}}if(pos!="absolute"&&pos!="relative"){var ret=_4.coords(_35a,true);top=ret.y;left=ret.x;_35a.style.position="absolute";_35a.style.top=top+"px";_35a.style.left=left+"px";}};})();init();var _35d=_4.animateProperty(_4.mixin({properties:{height:{start:_358,end:args.height||0,unit:"px"},top:{start:top,end:_354}}},args));var _35e=_4.animateProperty(_4.mixin({properties:{width:{start:_357,end:args.width||0,unit:"px"},left:{start:left,end:_356}}},args));var anim=_4.fx[((args.method=="combine")?"combine":"chain")]([_35d,_35e]);_4.connect(anim,"beforeBegin",anim,init);return anim;}catch(err){console.debug("bahelper.dojoFxSizeTo-error: "+err.message);}},clearOptions:function(_360){for(x=_360.length;x>=0;x--){_360[x]=null;}},AddToOptionList:function(_361,_362,_363){_361[_361.length]=new Option(_363,_362);},getContainingWidgetObject:function(_364){return this.getAncestorWithThisMethod(_364,"returnWidgetType");},zIndexFix:function(){var _365=5000;_4.query("DIV").forEach(function(node,_367,arr){_4.style(node,"z-index",_365);_365-=10;});},ieSelectBugProof:function(_369){_369.innerHTML=(_369.innerHTML+"<iframe src=\"about:blank\" scrolling=\"no\" frameborder=\"0\" style=\"filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);\"></iframe>");var _36a=_369.firstChild;_36a.style.width=_369.offsetWidth+"px";_36a.style.height=_369.offsetHeight+"px";_36a.style.position="relative";_36a.style.top=_369.top-_36a.style.height;_36a.style.zIndex="-1";},ArrayCopy:function(_36b){var _36c=new Array();var i;for(i in _36b){_36c[i]=_36b[i];}return _36c;},trim:function(s){while(s.substring(0,1)==" "){s=s.substring(1,s.length);}while(s.substring(s.length-1,s.length)==" "){s=s.substring(0,s.length-1);}return s;},addLeadingZeros:function(_36f){return parseInt(_36f,10)<10?"0"+_36f:""+_36f;},Left:function(str,n){if(n<=0){return "";}else{if(n>String(str).length){return str;}else{return String(str).substring(0,n);}}},Right:function(str,n){if(n<=0){return "";}else{if(n>String(str).length){return str;}else{var iLen=String(str).length;return String(str).substring(iLen,iLen-n);}}},populateCCtexts:function(_375){var i;var _377;var _378=new Array();for(i=0;i<_375.length;i++){switch(_375[i]){case "AX":_377="American Express";break;case "MC":_377="Mastercard";break;case "VI":_377="Visa";break;case "DC":_377="Discover Card";break;case "DI":_377="Diners Club";break;case "JC":_377="Japan Credit Bureau";break;case "EN":_377="Enroute";break;case "CB":_377="Carte Blanche";break;case "EU":_377="Euro Card";break;case "ER":_377="Encore";break;case "pr":_377="Guest will Prepay";break;}_378[i]=_377;}return _378;},replaceSubstring:function(_379,from,to){var _37c="";while(_379.length>=from.length&&_379.length>0&&from.length>0){if(_379.substring(0,from.length)==from){_37c+=to;_379=_379.substring(from.length);}else{_37c+=_379.substring(0,1);_379=_379.substring(1);}}return _37c+_379;},extractday:function(_37d){_37d+="";return parseInt(_37d.substring(3,5),10);},extractyear:function(_37e){_37e+="";return parseInt(_37e.substring(6,10),10);},extractmonth:function(_37f){_37f+="";return parseInt(_37f.substring(0,2),10);},_getmonthnumdays:function(_380,_381){var _382=0;switch(_380){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_382=31;break;case 2:if((_381%4)==0){_382=29;}else{_382=28;}break;default:_382=30;break;}return _382;},dateAdd:function(_383,_384){var _385=parseInt(this.extractmonth(_383),10);var _386=parseInt(this.extractday(_383),10);var _387=parseInt(this.extractyear(_383),10);var _388=this._getmonthnumdays(_385,_387);_386+=parseInt(_384,10);if(_386>_388){_386=_386-_388;_385++;}if(_385>12){_385=1;_387++;}_385=_385<10?"0"+_385:""+_385;_386=_386<10?"0"+_386:""+_386;return _385+"/"+_386+"/"+_387;},dateDifference:function(_389,_38a){var _38b=_38a;var ctr=0;while(ctr<700&&_38b!=_389){_38b=this.dateAdd(_38b,"01");ctr++;}return ctr;},isCCExpOK_B3:function(_38d){try{var _38e=true;var y=parseInt(_38d.elements["item[ccxpire_yr]"].value*1,10);var m=parseInt(_38d.elements["item[ccxpire_mo]"].value*1,10);var b=document.forms.bang;var _392=2007;var _393=5;if((_392>y)||(_392==y&&_393>m)){alert("Select a credit card that expires after your arrival date");return false;}return true;}catch(errorObj){console.debug("bahelper.isCCExpOK_B3-error"+errorObj.message);}},checkRooms:function(ppl,_395){try{var _396=1;var _397=0;_396=ppl.selectedIndex+1;_397=_395.selectedIndex;if(_397>=_396){alert("Rooms must have at least one adult.");return false;}return true;}catch(errorObj){return true;}},checkCreditCard_B3:function(_398,_399,_39a){try{var f=document.reservationForm;var _39c=_398.options[_398.selectedIndex].value;if(_39c=="VI"){var _39d="VISA";}if(_39c=="AX"){var _39d="American Express";}if(_39c=="DC"){var _39d="Discover";}if(_39c=="MC"){var _39d="MasterCard";}var _39e=stripCharsInBag(_399.value,creditCardDelimiters);if(_39c=="pr"){if(f.elements["prepay"][0]!=undefined){for(a=0;a<f.elements["prepay"].length;a++){if((f.elements["prepay"][a].checked==true)&&(f.elements["prepay"][a].value=="C")){alert("Please provide a valid credit card type and number");return false;}}}return true;}if(!checkString(f.elements["item[ccholder]"],iccholder)){return false;}if(!isCardMatch(_39c,_39e)){return warnInvalid(_399,iCreditCardPrefix+_39d+iCreditCardSuffix);}else{if(_39c=="AX"){_399.value=_39e.substring(0,4)+"-"+_39e.substring(4,10)+"-"+_39e.substring(10,15);}else{_399.value=_39e.substring(0,4)+"-"+_39e.substring(4,8)+"-"+_39e.substring(8,12)+"-"+_39e.substring(12,16);}return true;}}catch(errorObj){return true;}},ValidateForm_B3:function(_39f){console.debug("In bahelper.ValidateForm_B3");try{if(checkString(_39f.elements["item[fname]"],sfname)&&checkString(_39f.elements["item[lname]"],slname)&&checkString(_39f.elements["item[addr1]"],saddress1)&&checkString(_39f.elements["item[addr2]"],saddress2,true)&&checkString(_39f.elements["item[city]"],scity)&&checkString(_39f.elements["item[zip]"],iZip)&&checkString(_39f.elements["item[state]"],sstate,true)&&checkPhone(_39f.elements["item[callphone]"])&&checkEmail(_39f.elements["item[email]"])&&this.checkRooms(_39f.elements["item[number_adults]"],_39f.elements["item[number_children]"])&&this.checkCreditCard_B3(_39f.elements["item[cctype]"],_39f.elements["item[ccnumb]"],_39f)&&(this.isCCExpOK_B3(_39f))){return true;}else{return false;}}catch(errorObj){console.debug("bahelper.ValidateForm_B3-error: "+errorObj.message);return true;}},makeHidden:function(_3a0){document.getElementById(_3a0).style.visibility="hidden";},makeVisible:function(_3a1){document.getElementById(_3a1).style.visibility="visible";},getXMLobject:function(_3a2){var _3a3;if(document.implementation.createDocument){var _3a4=new DOMParser();_3a3=_3a4.parseFromString(_3a2,"text/xml");}else{if(window.ActiveXObject){_3a3=new ActiveXObject("Microsoft.XMLDOM");_3a3.async="false";_3a3.loadXML(_3a2);}}return _3a3;},getValuefromXML:function(_3a5,_3a6,_3a7){var _3a8;try{_3a8=_3a5.getElementsByTagName(_3a7)[_3a6].childNodes[0].nodeValue;return unescape(_3a8);}catch(e){return false;}},getIndexOfValuefromXML:function(_3a9,_3aa,_3ab){var _3ac;try{var i=0;var _3ae=false;while(!_3ae&&i<_3a9.getElementsByTagName(_3aa).length){if(_3ab==_3a9.getElementsByTagName(_3aa)[i].childNodes[0].nodeValue){_3ac=i;_3ae=true;}else{i++;}}return _3ac;}catch(e){return 0;}},getAttrValueFromXML:function(_3af,_3b0,_3b1){try{var root=_3af.getElementsByTagName(_3b0)[0];return root.getAttribute(_3b1);}catch(err){console.debug("bahelper.getAttrValueFromXML-error: '"+err.message+"', rootName='"+_3b0+"', attr='"+_3b1+"'");return false;}},getCheckedValue:function(_3b3){if(!_3b3){return "";}var _3b4=_3b3.length;if(_3b4==undefined){if(_3b3.checked){return _3b3.value;}else{return "";}}for(var i=0;i<_3b4;i++){if(_3b3[i].checked){return _3b3[i].value;}}return "";},setCheckedValue:function(_3b6,_3b7){if(!_3b6){return;}var _3b8=_3b6.length;if(_3b8==undefined){if(_3b7.toString){_3b6.checked=(_3b6.value==_3b7.toString());}else{_3b6.checked=false;}return;}for(var i=0;i<_3b8;i++){_3b6[i].checked=false;if(_3b6[i].value==_3b7.toString()){_3b6[i].checked=true;}}},IsNumeric:function(_3ba){var _3bb="0123456789.";var _3bc=true;var Char;for(i=0;i<_3ba.length&&_3bc==true;i++){Char=_3ba.charAt(i);if(_3bb.indexOf(Char)==-1){_3bc=false;}}return _3bc;},getArrayAverage:function(_3be){var sum=0;var _3c0=0;if(_3be.length>=1){if(!this.IsNumeric(_3be[0])){_3be.shift();}}for(var i=0;i<_3be.length;i++){sum+=parseFloat(_3be[i]);if(_3be[i]==false||_3be[i]=="false"||!this.IsNumeric(_3be[i])){_3c0++;}}var _3c2=_3be.length-_3c0;if(_3c2>0){return parseFloat(sum/(_3be.length-_3c0));}else{return 0;}},getCSVfromArray:function(_3c3){var _3c4="";for(var i=0;i<_3c3.length;i++){_3c4+=_3c3[i];if(i<_3c3.length-1){_3c4+=",";}}return _3c4;},getHTMLParameters:function(_3c6,_3c7){console.debug("bahelper.getHTMLParameters: pageLocation="+_3c7);_3c7=_3c7+"";var _3c8=_3c7.split("?",2);var url=_3c8[0];var _3ca;if(!(_3c6 instanceof Array)){_3c6=new Array();}var left,_3cc;if(_3c8.length>1){_3ca=_3c8[1].split("&");for(var i=0;i<_3ca.length;i++){var _3ce=_3ca[i].split("=",2);left=_3ce[0];_3cc=_3ce[1];_3c6[left]=_3cc;}}return _3c6;},include_dom:function(_3cf){var _3d0=document.getElementsByTagName("head").item(0);var js=document.createElement("script");js.setAttribute("language","javascript");js.setAttribute("type","text/javascript");js.setAttribute("src",_3cf);_3d0.appendChild(js);return false;},include_once:function(_3d2){if(!in_array(_3d2,this.included_files)){this.included_files[this.included_files.length]=_3d2;this.include_dom(_3d2);}},in_array:function(_3d3,_3d4){for(var i=0;i<_3d4.length;i++){if(_3d4[i]==_3d3){return true;}}return false;},getPrefix:function(_3d6,_3d7){_3d6=_3d6+"";var _3d8=_3d6.split(_3d7);return _3d8[0];},stripMarkup:function(_3d9,_3da){try{if(!_3da){_3da="";}_3d9+="";var _3db=_3d9.split("<");var str1,str2,str3;if(_3db.length<2){return _3da+_3d9;}else{str1=_3d9;str2=str1.split("<");var _3df="";var _3e0="";for(var i=1;i<str2.length;i++){if(i!=1){_3df+="<";}_3df+=str2[i];}str3=_3df.split(">");_3df="";for(var i=1;i<str3.length;i++){if(i!=1){_3df+=">";}_3df+=str3[i];}return this.stripMarkup(_3df,_3da+_3e0+str2[0]);}}catch(err){console.debug("bahelper.stripMarkup-error: "+err.message);}},capitalizeString:function(word){return word.substring(0,1).toUpperCase()+word.substring(1);},escape:function(_3e3,_3e4){try{var _3e5="";var _3e6="";for(var i=0;i<_3e3.length;i++){_3e6=_3e3.substring(i,i+1);console.debug("bahelper.escape: thisChar="+_3e6+", = '"+_3e4+"'? "+(_3e6==_3e4));if(_3e6!=_3e4){_3e5+=escape(_3e6);}else{_3e5+=_3e6;}}return _3e5;}catch(err){console.debug("bahelper.escape-error: "+err.message);return _3e3;}},constructor:function(){this.included_files=new Array();}});try{baHelper=new BAHelper();}catch(err){console.debug("topaz/utils/bahelper.js error: "+err.message);}}if(!_4._hasResource["topaz.data.DayData"]){_4._hasResource["topaz.data.DayData"]=true;_4.provide("topaz.data.DayData");_4.declare("DayData",null,{month:0,day:0,year:0,daysTilCutoff:0,numberAvailable:0,canBookOnline:0,averageRate:0,lowRate:0,highRate:0,restriction:"",avail:false,otherHotel:false,otherRoom:false,otherRate:false,otherPromo:false,isDate:function(_3e8){var _3e9=_3e8.match("/^(dd?)/(dd?)/(d{4})$/");if(!_3e9){return false;}var yr=Number(_3e9[3]);var mt=Number(_3e9[1]);var da=Number(_3e9[2]);var d=new Date(yr,mt-1,da);return (d.getMonth()+1==mt&&d.getDate()==da);},setDate:function(_3ee,day,year){try{this.dateObj=new Date();this.dateObj.setFullYear(year,_3ee-1,day);this.month=this.dateObj.getMonth()+1;this.day=this.dateObj.getDate();this.year=this.dateObj.getFullYear();}catch(err){console.debug("Error in DayData.setDate: "+err.message);}},getDate:function(_3f1){if(!_3f1||_3f1==null){_3f1="MM/dd/yyyy";}var _3f2=new Date();_3f2.setFullYear(this.year,this.month-1,this.day);return _4.date.locale.format(_3f2,{selector:"date",datePattern:_3f1});},setDaysTilCutoff:function(_3f3){this.daysTilCutoff=_3f3;},getDaysTilCutoff:function(){return this.daysTilCutoff;},setNumberAvailable:function(_3f4){this.numberAvailable=_3f4;},getNumberAvailable:function(){return this.numberAvailable;},setCanBookOnline:function(_3f5){this.canBookOnline=_3f5;},getCanBookOnline:function(){return this.canBookOnline;},setAverageRate:function(_3f6){this.averageRate=_3f6;},getAverageRate:function(){return this.averageRate;},setLowRate:function(_3f7){this.lowRate=_3f7;},getLowRate:function(){return this.lowRate;},setHighRate:function(_3f8){this.highRate=_3f8;},getHighRate:function(){return this.highRate;},getDay:function(){return this.day;},setRestriction:function(_3f9){this.restriction=_3f9;},getRestriction:function(){return this.restriction;},getOtherHotel:function(){return this.otherHotel;},setOtherHotel:function(_3fa){this.otherHotel=_3fa;},getOtherRoom:function(){return this.otherRoom;},setOtherRoom:function(_3fb){this.otherRoom=_3fb;},getOtherRate:function(){return this.otherRate;},setOtherRatel:function(_3fc){this.otherRate=_3fc;},getOtherPromo:function(){return this.otherPromo;},setOtherPromo:function(_3fd){this.otherPromo=_3fd;},constructor:function(_3fe,day,year){this.setDate(_3fe,day,year);}});}if(!_4._hasResource["dojox.collections._base"]){_4._hasResource["dojox.collections._base"]=true;_4.provide("dojox.collections._base");_6.collections.DictionaryEntry=function(k,v){this.key=k;this.value=v;this.valueOf=function(){return this.value;};this.toString=function(){return String(this.value);};};_6.collections.Iterator=function(arr){var a=arr;var _405=0;this.element=a[_405]||null;this.atEnd=function(){return (_405>=a.length);};this.get=function(){if(this.atEnd()){return null;}this.element=a[_405++];return this.element;};this.map=function(fn,_407){return _4.map(a,fn,_407);};this.reset=function(){_405=0;this.element=a[_405];};};_6.collections.DictionaryIterator=function(obj){var a=[];var _40a={};for(var p in obj){if(!_40a[p]){a.push(obj[p]);}}var _40c=0;this.element=a[_40c]||null;this.atEnd=function(){return (_40c>=a.length);};this.get=function(){if(this.atEnd()){return null;}this.element=a[_40c++];return this.element;};this.map=function(fn,_40e){return _4.map(a,fn,_40e);};this.reset=function(){_40c=0;this.element=a[_40c];};};}if(!_4._hasResource["dojox.collections.ArrayList"]){_4._hasResource["dojox.collections.ArrayList"]=true;_4.provide("dojox.collections.ArrayList");_6.collections.ArrayList=function(arr){var _410=[];if(arr){_410=_410.concat(arr);}this.count=_410.length;this.add=function(obj){_410.push(obj);this.count=_410.length;};this.addRange=function(a){if(a.getIterator){var e=a.getIterator();while(!e.atEnd()){this.add(e.get());}this.count=_410.length;}else{for(var i=0;i<a.length;i++){_410.push(a[i]);}this.count=_410.length;}};this.clear=function(){_410.splice(0,_410.length);this.count=0;};this.clone=function(){return new _6.collections.ArrayList(_410);};this.contains=function(obj){for(var i=0;i<_410.length;i++){if(_410[i]==obj){return true;}}return false;};this.forEach=function(fn,_418){_4.forEach(_410,fn,_418);};this.getIterator=function(){return new _6.collections.Iterator(_410);};this.indexOf=function(obj){for(var i=0;i<_410.length;i++){if(_410[i]==obj){return i;}}return -1;};this.insert=function(i,obj){_410.splice(i,0,obj);this.count=_410.length;};this.item=function(i){return _410[i];};this.remove=function(obj){var i=this.indexOf(obj);if(i>=0){_410.splice(i,1);}this.count=_410.length;};this.removeAt=function(i){_410.splice(i,1);this.count=_410.length;};this.reverse=function(){_410.reverse();};this.sort=function(fn){if(fn){_410.sort(fn);}else{_410.sort();}};this.setByIndex=function(i,obj){_410[i]=obj;this.count=_410.length;};this.toArray=function(){return [].concat(_410);};this.toString=function(_424){return _410.join((_424||","));};};}if(!_4._hasResource["topaz.data.CalendarData"]){_4._hasResource["topaz.data.CalendarData"]=true;_4.provide("topaz.data.CalendarData");try{_4.declare("CalendarData",null,{calMonth:3,calYear:2007,siteId:globalSiteId,hNum:"",roomType:"",promoCode:"",ratePlan:"",timeOut:0,timeOutLength:600,loaded:false,_currentMonth:false,context:"STORAGE",availCalSource:"",loadMonth:function(){this.loaded=false;this.loaded=true;timeOut=new Date();var _425=timeOut.getSeconds()+this.timeOutLength;timeOut.setSeconds(_425);},setCalMonth:function(_426){this.setMonth=_426;},getCalMonth:function(){return this.calMonth;},getCalYear:function(){return this.calYear;},setSiteId:function(_427){this.siteId=_427;},getSiteId:function(){return this.siteId;},_setLoaded:function(_428){this.loaded=_428;},isLoaded:function(){return this.loaded;},setHNum:function(_429){this.hNum=_429;},getHNum:function(){return this.hNum;},setRoomType:function(_42a){this.roomType=_42a;},getRoomType:function(){return this.roomType;},setRatePlan:function(_42b){this.ratePlan=_42b;},getRatePlan:function(){if(!this.ratePlan||this.ratePlan=="undefined"||this.ratePlan==undefined){this.ratePlan="";}return this.ratePlan;},setPromoCode:function(_42c){this.promoCode=_42c;},getPromoCode:function(){return this.promoCode;},setTimeOutLength:function(_42d){this.timeOutLenght=_42d;},_getmonthnumdays:function(_42e,_42f){var _430=0;_42e=parseInt(_42e,10);_42f=parseInt(_42f,10);switch(_42e){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_430=31;break;case 2:if((_42f%4)==0){_430=29;}else{_430=28;}break;default:_430=30;break;}return _430;},getDayData:function(_431){return this.days.item(_431);},getNumDays:function(){return this.numDays;},getMonthYear:function(){var mth;if(this.calMonth+0<10){mth="0"+this.calMonth;}else{mth=""+this.calMonth;}return mth+"/"+this.calYear;},getMonthYearXML:function(){var mth;if(this.calMonth+0<10){mth="0"+this.calMonth;}else{mth=""+this.calMonth;}return this.calYear+"-"+mth;},setContext:function(_434){this.context=_434;},getContext:function(){return this.context;},isTimedOut:function(){var rc=true;var _436=new Date();var _437=_436.getSeconds()+this.timeOutLength;_436.setSeconds(_437);if(timeOut>_436){rc=false;}return rc;},constructor:function(_438,year,_43a,_43b){if(_43b){this.availCalSource=_43b;}if(_43a!=undefined&&_43a!=""){this.siteId=_43a;}console.debug("CalendarData.initializer");try{this.loader=new CalendarLoader(this);this.numDays=this._getmonthnumdays(_438,year);this.days=new _6.collections.ArrayList();this.days.insert(0,null);this.calMonth=_438;this.calYear=year;startPos=1;var _43c=new Date();var _43d=_4.date.locale.format(_43c,{selector:"date",datePattern:"MM/dd/yyyy"});if(_43d.substring(0,2)==_438&&_43d.substring(6)==year){this._currentMonth=true;startPos=_43d.substring(3,5);for(i=1;i<startPos;i++){this.days.insert(i,null);}}for(i=startPos;i<=this.numDays;i++){newDay=new DayData(_438,i,year);this.days.insert(i,newDay);}}catch(err){console.debug("Error in CalendarData.initializer(): "+err.message);}}});}catch(err){console.debug("CalendarData.error: "+err.message);}}if(!_4._hasResource["topaz.loader.bookability.AvailabilityLoader"]){_4._hasResource["topaz.loader.bookability.AvailabilityLoader"]=true;_4.provide("topaz.loader.bookability.AvailabilityLoader");_4.declare("AvailabilityLoader",null,{arrDate:"",depDate:"",nightstay:1,siteId:"",hotelId:"",roomId:"",promoCode:"",domainName:hostname,returnHotelAvailabilityData:function(_43e){return _43e;},returnRoomAvailabilityData:function(_43f){console.debug("returnRoomAvailabilityData stub");console.debug("stub: availObject.vacancyString = "+availObject.vacancyString);console.debug("stub: availObject rates average = "+baHelper.getArrayAverage(availObject.rates.toArray()));return _43f;},setAttributes:function(_440,_441,_442,_443,_444,_445){this.hotelId=_440;this.nightstay=_442;this.arrDate=_441;this.depDate=_443;this.roomId=_444;this.promoCode=_445;},ajaxHotelAvailabilityRequest:function(_446){var args=arguments;var _448=_4.xhrPost({url:urlProtocol+this.domainName+"/b07/criteriaoutput.php?siteid="+this.siteId+"&xml=<availabilityquery showall=\"true\"><arrivedate>"+this.arrDate+"</arrivedate><departdate>"+this.depDate+"</departdate><nights>"+this.nightstay+"</nights></availabilityquery>",contentType:"text/xml",handleAs:"xml",timeout:40000,load:_4.hitch(this,function(_449,_44a){try{var _44b=[_449,_44a];for(var i=1;i<args.length;i++){_44b.push(args[i]);}_446.apply(this,_44b);}catch(err){console.debug("AvailabilityLoader.ajaxHotelAvailabilityRequest-callback-error: "+err.message);}})});},ajaxRoomAvailabilityRequest:function(_44d){var args=arguments;var _44f=_4.xhrPost({url:urlProtocol+this.domainName+"/b07/hoteltop.php?siteid="+this.siteId+"&xml=<roomavailabilityquery showall=\"true\"><hotelid>"+escape(this.hotelId)+"</hotelid><arrivedate>"+this.arrDate+"</arrivedate><nights>"+this.nightstay+"</nights><departdate>"+this.depDate+"</departdate><promocode>"+this.promoCode+"</promocode></roomavailabilityquery>",contentType:"text/xml",handleAs:"xml",timeout:40000,load:_4.hitch(this,function(_450,_451){try{var _452=[_450,_451];for(var i=1;i<args.length;i++){_452.push(args[i]);}_44d.apply(this,_452);}catch(err){console.debug("AvailabilityLoader.ajaxRoomAvailabilityRequest-callback-error: "+err.message);}})});},setHotelAvailObj:function(_454,_455,_456,_457,_458,_459,_45a){var _45b;var _45c;console.debug(_454.xml);var root=_454.getElementsByTagName("availabilityqueryresult")[0];_45b=root.getElementsByTagName("hotel");for(var i=0;i<_45b.length;i++){var _45f=baHelper.getValuefromXML(_45b[i],0,"hotelid");var _460=_45f+"~"+_457.promoCode+"~"+_457.arrDate+"~"+_457.depDate;try{_45c=new Availability(_45f,_457.arrDate,_457.depDate,"","","");_45c.vacancy="true"==baHelper.getValuefromXML(_45b[i],0,"vacancy");_45c.vacancyString=baHelper.getValuefromXML(_45b[i],0,"availablestring");_45c.tooLateToBook="true"==baHelper.getValuefromXML(_45b[i],0,"aftercutoff");_45c.comment="Test comment "+i;if(_45c.vacancyString&&_45c.vacancyString!="false"&&_45c.vacancyString!=""){console.debug("tempAvailObj.vacancyString = '"+_45c.vacancyString+"' so setting TIMESTAMP for HOTEL");_45c.echo();_457.setTimestamp("HOTEL",_460);_457.hotelAvailMatrix[_460]=_45c;}if(_458==unescape(_45b[i].getElementsByTagName("hotelid")[0].firstChild.nodeValue)){_456=_45c;this.returnHotelAvailabilityData=_4.hitch(_459,_45a);this.returnHotelAvailabilityData(_456);}}catch(err){console.debug("B-setHotelAvailObj-error: "+err.message);}}},setRoomAvailObj:function(_461,_462,_463,_464,_465,_466,_467,_468){try{var _469=false;var root=_461.getElementsByTagName("roomavailabilityresult")[0];if(!root){_4.publish("roomAvailabilityResultFail",[_465,_466]);}var _46b=root.getElementsByTagName("discount");var _46c=baHelper.getValuefromXML(root,0,"hotelid");var _46d=baHelper.getValuefromXML(root,0,"promocode");if(!_46d){_46d="";}var i,j;var _470=0;for(i=0;i<_46b.length;i++){var _471=_46b[i].getElementsByTagName("room")[0];var _472=baHelper.getValuefromXML(_471,0,"roomid");var _473=_472.split(":");var _474=_473[0];var _475="";if(_473.length>1){_475=_473[1];}if(_466==_475){_470=i;}}if(_466!=""&&_470==0){_4.publish("noRoomsAvailable",[_46c,_466,_46d,_4.cookie("arrivalDate"),_4.cookie("departureDate"),_4.cookie("nightstay")]);}var _476=new Array();var _477=_46b[_470].getElementsByTagName("room");console.debug("roomNodes.length = "+_477.length);for(j=0;j<_477.length;j++){var _472=baHelper.getValuefromXML(_477[j],0,"roomid");var _473=_472.split(":");var _474=_473[0];var _475="";if(_473.length>1){_475=_473[1];}var _478=_46c+"~"+_46d+"~"+_474+"~"+_475+"~"+_464.arrDate+"~"+_464.depDate;try{tempAvailObj=new Availability(_46c,_464.arrDate,_464.depDate,_474,_475,_46d);tempAvailObj.vacancy="true"==baHelper.getValuefromXML(_477[j],0,"vacancy");tempAvailObj.vacancyString=baHelper.getValuefromXML(_477[j],0,"comment");tempAvailObj.comment=baHelper.getValuefromXML(_477[j],0,"comment");if((tempAvailObj.comment+"")=="Call Us"){tempAvailObj.tooLateToBook=true;}else{tempAvailObj.tooLateToBook=false;}if(tempAvailObj.comment=="No Vacancy"){tempAvailObj.vacancy=false;}var _479=tempAvailObj.comment+"";if(_479.indexOf("Minimum")>0){tempAvailObj.minRestriction=_479;}tempAvailObj.numberAvailable=baHelper.getValuefromXML(_477[j],0,"roomsavailable");_476["ROOM_"+_474]=tempAvailObj.numberAvailable;tempAvailObj.roomIdFull=_472;var _47a=""+baHelper.getValuefromXML(_477[j],0,"rate");var _47b=_47a.split(",",31);for(var k=0;k<_47b.length;k++){tempAvailObj.rates.insert(k,_47b[k]);}if(tempAvailObj.vacancyString&&tempAvailObj.vacancyString!="false"&&tempAvailObj.vacancyString!=""){tempAvailObj.rates.remove("false");tempAvailObj.rates.remove(false);console.debug("tempAvailObj.vacancyString = '"+tempAvailObj.vacancyString+"' so setting TIMESTAMP for ROOM");_464.setTimestamp("ROOM",_478);_464.roomAvailMatrix[_478]=tempAvailObj;_464.roomAvailMatrix[_478].rates.remove("false");_464.roomAvailMatrix[_478].rates.remove(false);}if(_465==_474&&_466==_475){_469=true;if(!_463){console.debug("availObject was null. instantiated new Avail. object");_463=new Availability();}_4.mixin(_463,tempAvailObj);console.debug("availObject.vacancyString = "+_463.vacancyString);console.debug("availObject.numberAvailable = "+_463.numberAvailable);console.debug("availObject rates average = "+baHelper.getArrayAverage(_463.rates.toArray()));this.returnRoomAvailabilityData=_4.hitch(_467,_468);this.returnRoomAvailabilityData(_463);}}catch(err){console.debug("B-setRoomAvailObj-error: "+err.message);}}if(_469&&_463!=null){var _477=_461.getElementsByTagName("room");var _47a=""+baHelper.getValuefromXML(_477,0,"rate");var _47b=_47a.split(",",15);for(var i=0;i<_47b.length;i++){_463.rates.insert(i,_47b[i]);}}else{_478=_46c+"~"+_46d+"~"+_465+"~"+_466+"~"+_464.arrDate+"~"+_464.depDate;var _47d=_476["ROOM_"+_474]<1;if(!_464.roomAvailMatrix[_478]){_4.publish("roomNotAvailableForPackage",[_465,_466,_47d]);}}}catch(err){console.debug("AvailabilityLoader.setRoomAvailObj-error: "+err.message);}},constructor:function(_47e){this.siteId=_47e;}});}if(!_4._hasResource["topaz.control.AvailabilityController"]){_4._hasResource["topaz.control.AvailabilityController"]=true;_4.provide("topaz.control.AvailabilityController");_4.declare("AvailabilityController",null,{loader:null,domainName:hostname,arrDate:null,depDate:null,nightstay:1,siteId:0,hotelId:0,roomType:0,ratePlan:"",promoCode:"",secondsToExpiration:900,hotelAvailMatrix:[],hotelAvailMatrixTimestamp:[],roomAvailMatrix:[],roomAvailMatrixTimestamp:[],baObjReference:null,returnHotelAvailabilityData:null,returnRoomAvailabilityData:null,setBookabilityReference:function(_47f){this.baObjReference=_47f;},setBookingPageReference:function(_480){this.baObjReference=_480;},setTimestamp:function(_481,_482){var Now=new Date();var _484=Now.getTime();switch(_481){case "HOTEL":this.hotelAvailMatrixTimestamp[_482]=_484;break;case "ROOM":this.roomAvailMatrixTimestamp[_482]=_484;break;}},availabilityExpired:function(_485,_486){var Now=new Date();var _488=Now.getTime();var _489;switch(_485){case "HOTEL":_489=this.hotelAvailMatrixTimestamp[_486];break;case "ROOM":_489=this.roomAvailMatrixTimestamp[_486];break;}if(!_489||_489==undefined){_489=0;}if(!_489||_488-_489>(this.secondsToExpiration*1000)){switch(_485){case "HOTEL":this.hotelAvailMatrixTimestamp[_486]=_488;break;case "ROOM":this.roomAvailMatrixTimestamp[_486]=_488;break;}return true;}else{return false;}},returnHotelAvailabilityData:function(_48a){return _48a;},returnRoomAvailabilityData:function(_48b){return _48b;},forceExpireAvail:function(_48c,_48d,_48e,_48f,_490,_491,_492,_493){try{switch(_48c){case "HOTEL":var _494=_48d+"~"+_493+"~"+_48e+"~"+_48f;this.hotelAvailMatrix[_494]=null;this.hotelAvailMatrixTimestamp[_494]=0;console.debug("Force-expired HOTEL: matrixKey =  "+_494);break;case "ROOM":var _494=_48d+"~"+_493+"~"+_491+"~"+_492+"~"+_48e+"~"+_48f;this.roomAvailMatrix[_494]=null;this.roomAvailMatrixTimestamp[_494]=0;console.debug("Force-expired ROOM: matrixKey =  "+_494);break;}}catch(err){console.debug("AvailabilityController.forceExpireAvail-error: "+err.message);}},getAvailability:function(_495,_496,_497,_498,_499,_49a,_49b,_49c,_49d,_49e,_49f){try{this.arrDate=_497;this.depDate=_498;this.hotelId=_496;this.nightstay=_499;this.promoCode=_49c;var _4a0=new Availability();var _4a1;console.debug("About to getAvailability for context="+_495);switch(_495){case "HOTEL":_4a1=_496+"~"+_49c+"~"+_497+"~"+_498;console.debug("Getting availability for HOTEL: matrixKey =  "+_4a1);testCtr++;if((_49f!=undefined&&_49f)||this.availabilityExpired(_495,_4a1)){console.debug("Hotel ("+_496+") Availability expired or null..making ajax call");this.loader.setAttributes(_496,_497,_499,_498,_49a,_49c);this.loader.ajaxHotelAvailabilityRequest(this.loader.setHotelAvailObj,_4a0,this,_496,_49d,_49e);}else{console.debug("Hotel ("+_496+") Availability neither expired nor null");_4.mixin(_4a0,this.hotelAvailMatrix[_4a1]);this.returnHotelAvailabilityData=_4.hitch(_49d,_49e);this.returnHotelAvailabilityData(_4a0);}break;case "ROOM":_4a1=_496+"~"+_49c+"~"+_49a+"~"+_49b+"~"+_497+"~"+_498;console.debug("Getting availability for ROOM: matrixKey =  "+_4a1);if(_49f||this.availabilityExpired(_495,_4a1)){this.loader.returnRoomAvailabilityData=_4.hitch(_49d,_49e);this.loader.setAttributes(_496,_497,_499,_498,_49a,_49c);this.loader.ajaxRoomAvailabilityRequest(this.loader.setRoomAvailObj,_4a0,this,_49a,_49b,_49d,_49e);}else{_4.mixin(_4a0,this.roomAvailMatrix[_4a1]);this.returnRoomAvailabilityData=_4.hitch(_49d,_49e);this.returnRoomAvailabilityData(_4a0);}break;}}catch(err){console.debug("getAvailability-error: "+err.message);}},isHotelBookable:function(_4a2){try{var _4a3=false;if(!_4a2.tooLateToBook&&(_4a2.minRestriction=="")&&_4a2.vacancy){_4a3=true;}return _4a3;}catch(err){alert("AvailabilityController.isHotelBookable-error: "+err.message);}},getHotelAvailabilityString:function(_4a4){try{var _4a5="";if(_4a4.tooLateToBook){_4a5="<span class=\"notAvailable\">Too late to book online. Call us.</span>";}else{if(_4a4.minRestriction!=""){_4a5="<span class=\"notAvailable\">"+_4a4.minRestriction+"</span>";}else{if(_4a4.vacancy){_4a5="<span class=\"available\">"+_4a4.vacancyString+"</span>";}else{_4a5="<span class=\"notAvailable\">"+_4a4.vacancyString+"</span>";}}}return _4a5;}catch(err){alert("AvailabilityController.getHotelAvailabilityString-error: "+err.message);}},isRoomBookable:function(_4a6){try{console.debug("availabilityController.isRoomBookable start");console.debug("availabilityObject.echo(): "+_4a6.echo());var _4a7=_4a6.comment+"";var good=true;if(_4a6.tooLateToBook&&_4a6.tooLateToBook!="false"){console.debug("A");good=false;}if(_4a6.minRestriction!=""){console.debug("B");good=false;}if(_4a7=="Call Us"){console.debug("D");good=false;}if(_4a7=="No Vacancy"||_4a7=="Not Available"){console.debug("E");good=false;}if(_4a7.indexOf("Minimum")>=0){console.debug("F");good=false;}var _4a9=_4a6.rates.toArray();var _4aa=baHelper.getArrayAverage(_4a9);if(parseFloat(_4aa)<0.01){good=false;}console.debug("availabilityController.isRoomBookable finish");return good;}catch(err){console.debug("AvailabilityController.isRoomBookable-error:"+err.message);}},getRoomAvailabilityString:function(_4ab){try{var _4ac="";var _4ad=_4ab.comment+"";if(_4ab.tooLateToBook&&_4ab.tooLateToBook!="false"){_4ac="<span class=\"notAvailable\">Cannot book online. Please call us.</span>";}else{if(_4ab.minRestriction!=""){_4ac="<span class=\"notAvailable\">"+_4ab.minRestriction+"</span>";}else{if(_4ad=="Call Us"){_4ac="<span class=\"notAvailable\">"+_4ad+"</span>";}else{if(_4ad=="No Vacancy"||_4ad=="Not Available"){_4ac="<span class=\"notAvailable\">"+_4ad+"</span>";}else{if(_4ad.indexOf("Minimum")>=0){_4ac="<span class=\"notAvailable\">"+_4ad+"</span>";}else{_4ac="<span class=\"available\">"+_4ab.vacancyString+"</span>";}}}}}return _4ac;}catch(err){console.debug("AvailabilityController.getRoomAvailabilityString-error:"+err.message);}},constructor:function(site){this.siteId=site;this.loader=new AvailabilityLoader(site);this.hotelAvailMatrix=new Array();this.hotelAvailMatrixTimestamp=new Array();this.roomAvailMatrix=new Array();this.roomAvailMatrixTimestamp=new Array();}});try{availabilityController=new AvailabilityController(globalSiteId);}catch(err){console.debug("topaz/control/AvailabilityController.js error: "+err.message);}}if(!_4._hasResource["topaz.data.Availability"]){_4._hasResource["topaz.data.Availability"]=true;_4.provide("topaz.data.Availability");_4.declare("Availability",null,{vacancyString:"",comment:"",vacancy:false,tooLateToBook:false,minRestriction:"",numberAvailable:0,rateString:"",rates:null,hotelid:0,arrDate:"",depDate:"",numDays:0,roomType:"",roomIdFull:"",ratePlan:"",promoCode:"",duration:"P1DT0H0M0S",isBookable:function(){return availabilityController.isRoomBookable(this);},getHotelId:function(){return this.hotelid;},getDurationString:function(){var _4af;switch(this.duration){case "P1DT0H0M0S":_4af="/night";break;case "P7DT0H0M0S":_4af="/week";break;case "P28DT0H0M0S":case "P29DT0H0M0S":case "P30DT0H0M0S":case "P31DT0H0M0S":_4af="/month";break;}return _4af;},setRate:function(_4b0,_4b1){this.rates.insert(_4b0,_4b1);},getRate:function(_4b2){return this.rates.item(_4b2);},getRateForDate:function(_4b3){},getRatesCSV:function(){var _4b4="";try{this.rates.remove("false");this.rates.remove(false);var _4b5=this.rates.toArray();for(var i=0;i<_4b5.length;i++){_4b4+=_4b5[i];if(i<_4b5.length-1){_4b4+=",";}}}catch(err){console.debug("Availability.getRatesCSV-error: "+err.message);}return _4b4;},getRatesAverage:function(){try{var _4b7=this.rates.toArray();return baHelper.getArrayAverage(_4b7);}catch(err){console.debug("Availability.getRatesAverage-error: "+err.message);}},echo:function(){var _4b8=this.getRatesAverage();console.debug("Availability OBJECT: "+"\r"+"vacancyString: "+this.vacancyString+"\r"+"comment: "+this.comment+"\r"+"vacancy: "+this.vacancy+"\r"+"tooLateToBook: "+this.tooLateToBook+"\r"+"minRestriction: "+this.minRestriction+"\r"+"numberAvailable: "+this.numberAvailable+"\r"+"rateString: "+this.rateString+"\r"+"rates: "+(this.rates==null?"null":"NOT null")+"\r"+"(rateCSV): "+this.getRatesCSV()+"\r"+"rate average: "+_4b8+"/night\r"+"hotelid: "+this.hotelid+"\r"+"arrDate: "+this.arrDate+"\r"+"depDate: "+this.depDate+"\r"+"numDays: "+this.numDays+"\r"+"roomType: "+this.roomType+"\r"+"ratePlan: "+this.ratePlan+"\r"+"promoCode: "+this.promoCode);},constructor:function(_4b9,_4ba,_4bb,_4bc,_4bd,_4be){this.hotelid=_4b9;this.arrDate=_4ba;this.depDate=_4bb;this.roomType=_4bc;this.ratePlan=_4bd;this.promoCode=_4be;this.rates=new _6.collections.ArrayList();}});}if(!_4._hasResource["topaz.data.HotelData"]){_4._hasResource["topaz.data.HotelData"]=true;_4.provide("topaz.data.HotelData");_4.declare("HotelData",null,{siteId:globalSiteId,hNum:"43",hName:"",hCode:"",hotelType:"",address:"",city:"",state:"",zip:"",country:"",longitude:"",latitude:"",childCutoffAge:0,parkingAvail:true,parkingPrice:0,rollawayAvail:false,rollawayPrice:0,cribAvail:false,cribPrice:5,checkInTime:"",checkOutTime:"",cancelPolicy:"",cancelPolicyString:"",extraPersonPrice:0,extraRollawayFormula:"",taxPct:1,acceptedCreditCardsCSV:"",holdPolicy:"N",phoneMain:"",phoneRes800:"",phoneRes:"",phoneResFax:"",freqStayProgramName:"Frequent Stay Program",hotelGeneralDesc:"",amenitiesDesc:"",directionsDesc:"",locationDesc:"",decorstyleDesc:"",roomTypesDesc:"",restaurantDesc:"",reservationNotes:"",packagesDesc:"",numBeds:0,numBaths:0,area:"",maxOccupancy:8,imageURLs:[],addOns:[],dataLoaded:false,dataLoadTimer:null,getHotelId:function(){return this.hNum;},loadHotelInformation:function(){this.loader.ajaxHotelInformationRequest(this.loader.populateHotelData,this);},loadHotelInformationSynchronously:function(){this.loader.synchroHotelInformationRequest(this.loader.populateHotelData,this);},onLoaderSuccess:function(_4bf){},onLoaderFailure:function(_4c0){},onLoaderDone:function(_4c1){if(_4c1){console.debug("HotelData.onLoaderDone -- Hotel Name: "+this.hName);this.onLoaderSuccess(this);}else{console.debug("HotelData: There was an error");this.onLoaderFailure(null);}},onAddOnsLoaderDone:function(_4c2){},constructor:function(hnum,_4c4){this.hNum=hnum;if(_4c4){this.siteId=_4c4;}this.loader=new HotelInfoLoader(this.siteId,this.hNum);this.imageURLs=new Array();}});}if(!_4._hasResource["topaz.loader.bookability.HotelInfoLoader"]){_4._hasResource["topaz.loader.bookability.HotelInfoLoader"]=true;_4.provide("topaz.loader.bookability.HotelInfoLoader");_4.declare("HotelInfoLoader",null,{domainName:hostname,hNum:"",siteId:"",ajaxHotelInformationRequest:function(_4c5){var args=arguments;console.debug("HotelInfoLoader.ajaxHotelInformationRequest: "+urlProtocol+this.domainName+"/b07/haag.php?siteid="+this.siteId+"&xml=<hotelinfoquery><hotelid>"+this.hNum+"</hotelid></hotelinfoquery>");var _4c7=_4.xhrPost({url:urlProtocol+this.domainName+"/b07/haag.php?siteid="+this.siteId+"&xml=<hotelinfoquery><hotelid>"+this.hNum+"</hotelid></hotelinfoquery>",contentType:"text/xml",handleAs:"xml",timeout:40000,load:_4.hitch(this,function(_4c8,_4c9){try{var _4ca=[_4c8,_4c9];for(var i=1;i<args.length;i++){_4ca.push(args[i]);}_4c5.apply(this,_4ca);}catch(err){console.debug("HotelInfoLoader.ajaxHotelInformationRequest-callback-error: "+err.message);}})});},synchroHotelInformationRequest:function(_4cc){var args=arguments;var _4ce=_4.xhrPost({url:urlProtocol+this.domainName+"/b07/haag.php?siteid="+this.siteId+"&xml=<hotelinfoquery><hotelid>"+this.hNum+"</hotelid></hotelinfoquery>",contentType:"text/xml",handleAs:"xml",timeout:40000,sync:true,load:_4.hitch(this,function(_4cf,_4d0){try{var _4d1=[_4cf,_4d0];for(var i=1;i<args.length;i++){_4d1.push(args[i]);}_4cc.apply(this,_4d1);}catch(err){console.debug("HotelInfoLoader.synchroHotelInformationRequest-callback-error: "+err.message);}})});},populateHotelData:function(_4d3,_4d4,_4d5){try{console.debug("HotelInfoLoader.populateHotelData response="+_4d3.childNodes[0].nodeName);if(_4d3){var _4d6=_4d3.getElementsByTagName("hotelinforesult")[0];var _4d7=_4d6;if(baHelper.getValuefromXML(_4d7,0,"name")){_4d5.hName=baHelper.getValuefromXML(_4d7,0,"name");_4d5.hCode=baHelper.getValuefromXML(_4d7,0,"hotelcode");_4d5.imageURLs["property"]=_4d5.hCode+"_ex.jpg";_4d5.address=baHelper.getValuefromXML(_4d7,0,"address");_4d5.city=baHelper.getValuefromXML(_4d7,0,"city");_4d5.state=baHelper.getValuefromXML(_4d7,0,"state");_4d5.zip=baHelper.getValuefromXML(_4d7,0,"zip");_4d5.country=baHelper.getValuefromXML(_4d7,0,"country");_4d5.longitude=baHelper.getValuefromXML(_4d7,0,"longitude");_4d5.latitude=baHelper.getValuefromXML(_4d7,0,"latitude");_4d5.childCutoffAge=baHelper.getValuefromXML(_4d7,0,"childcutoffage");_4d5.parkingAvail=baHelper.getValuefromXML(_4d7,0,"parkingavailable");_4d5.parkingPrice=baHelper.getValuefromXML(_4d7,0,"parkingprice");_4d5.rollawayAvail=baHelper.getValuefromXML(_4d7,0,"rollawayavailable");_4d5.rollawayPrice=baHelper.getValuefromXML(_4d7,0,"rollawayprice");_4d5.cribAvail=baHelper.getValuefromXML(_4d7,0,"cribavailable");_4d5.cribPrice=baHelper.getValuefromXML(_4d7,0,"cribprice");_4d5.checkInTime=baHelper.getValuefromXML(_4d7,0,"checkintime");_4d5.checkOutTime=baHelper.getValuefromXML(_4d7,0,"checkouttime");_4d5.cancelPolicy=baHelper.getValuefromXML(_4d7,0,"cancelpolicy");_4d5.cancelPolicyString=baHelper.getValuefromXML(_4d7,0,"cancelpolicystring");_4d5.extraPersonPrice=baHelper.getValuefromXML(_4d7,0,"extrapersonprice");_4d5.extraRollawayFormula=baHelper.getValuefromXML(_4d7,0,"extrarollawayformula");_4d5.taxPct=baHelper.getValuefromXML(_4d7,0,"taxpct");_4d5.acceptedCreditCardsCSV=baHelper.getValuefromXML(_4d7,0,"acceptedcreditcards");_4d5.holdPolicy=baHelper.getValuefromXML(_4d7,0,"holdpolicy");_4d5.phoneMain=baHelper.getValuefromXML(_4d7,0,"phonemain");_4d5.phoneRes800=baHelper.getValuefromXML(_4d7,0,"phoneres800");_4d5.phoneRes=baHelper.getValuefromXML(_4d7,0,"phoneres");_4d5.phoneResFax=baHelper.getValuefromXML(_4d7,0,"phoneresfax");_4d5.freqStayProgramName=baHelper.getValuefromXML(_4d7,0,"frequentstayprogramname");_4d5.hotelGeneralDesc=baHelper.getValuefromXML(_4d7,0,"general");_4d5.directionsDesc=baHelper.getValuefromXML(_4d7,0,"directions");_4d5.locationDesc=baHelper.getValuefromXML(_4d7,0,"location");_4d5.decorstyleDesc=baHelper.getValuefromXML(_4d7,0,"decorstyle");_4d5.roomTypesDesc=baHelper.getValuefromXML(_4d7,0,"roomtypes");_4d5.restaurantDesc=baHelper.getValuefromXML(_4d7,0,"restaurant");_4d5.reservationNotes=baHelper.getValuefromXML(_4d7,0,"reservationnotes");_4d5.packagesDesc=baHelper.getValuefromXML(_4d7,0,"packages");_4d5.dataLoaded=true;_4d5.onLoaderDone(true,null);}else{console.debug("A: HotelInfoLoader.populateHotelData response.documentElement.firstChild.nodeValue="+_4d3.documentElement.firstChild.nodeValue);_4d5.onLoaderDone(false,null);}}}catch(err){console.debug("HotelInfoLoader.populateHotelData-error: "+err.message);console.debug("B: HotelInfoLoader.populateHotelData response.documentElement.firstChild.nodeValue="+_4d3.documentElement.firstChild.nodeValue);_4d5.onLoaderDone(false,err);}},constructor:function(_4d8,_4d9){this.hNum=_4d9;this.siteId=_4d8;}});}if(!_4._hasResource["topaz.data.RoomData"]){_4._hasResource["topaz.data.RoomData"]=true;_4.provide("topaz.data.RoomData");_4.declare("RoomData",null,{siteId:globalSiteId,hNum:"",promoCode:"",roomId:"",displayOrder:"",roomType:"",shortDescription:"",longDescription:"",availabilityObj:null,vacancy:false,canBookOnline:false,comment:"",maxPeople:2,maxExtraBed:1,imageURLs:[],infoMatrixReference:null,dataLoaded:false,dataLoadTimer:null,echo:function(){console.debug("RoomData OBJECT: "+"\r"+"roomId: "+this.roomId+"\r"+"roomType: "+this.roomType+"\r"+"hNum: "+this.hNum+"\r"+"siteId: "+this.siteId+"\r"+"promoCode: "+this.promoCode+"\r"+"displayOrder: "+this.displayOrder+"\r"+"shortDescription: "+this.shortDescription+"\r"+"longDescription: "+this.longDescription+"\r"+"canBookOnline: "+this.canBookOnline+"\r"+"comment: "+this.comment+"\r"+"maxPeople: "+this.maxPeople+"\r"+"maxExtraBed: "+this.maxExtraBed+"\r"+"availabilityObj: "+(this.availabilityObj==null?"null":"NOT null"));},getHotelId:function(){return this.hNum;},loadRoomInformation:function(){console.debug("RoomData.loadRoomInformation");this.loader.ajaxRoomInformationRequest(this.loader.populateRoomData,this);},onLoaderSuccess:function(_4da){},onLoaderFailure:function(_4db){},onLoaderDone:function(_4dc){if(_4dc){this.onLoaderSuccess(this);}else{this.onLoaderFailure(null);}},constructor:function(_4dd,_4de,_4df,_4e0){this.roomId=_4de;this.hNum=_4dd;this.promoCode=_4df;this.loader=new RoomInfoLoader(this.siteId,this.hNum,this.roomId,this.promoCode,this);this.infoMatrixReference=_4e0;this.imageURLs=new Array();}});}if(!_4._hasResource["topaz.loader.bookability.RoomInfoLoader"]){_4._hasResource["topaz.loader.bookability.RoomInfoLoader"]=true;_4.provide("topaz.loader.bookability.RoomInfoLoader");_4.declare("RoomInfoLoader",null,{domainName:hostname,hNum:"",siteId:"",roomId:"1",promoCode:"",roomData:null,channel:"web",ajaxRoomInformationRequest:function(_4e1){try{}catch(err){console.debug("RoomInfoLoader.ajaxRoomInformationRequest-error: "+err.message);}var args=arguments;var _4e3=new Date();var _4e4=this.buildXMLString();var _4e5=_4.rawXhrPost({url:urlProtocol+this.domainName+"/b07/infoWS.php",postData:_4e4,contentType:"text/xml",handleAs:"xml",timeout:40000,load:_4.hitch(this,function(_4e6,_4e7){try{var _4e8=[_4e6,_4e7];for(var i=1;i<args.length;i++){_4e8.push(args[i]);}_4e1.apply(this,_4e8);}catch(err){console.debug("RoomInfoLoader.ajaxRoomInformationRequest-callback-error: "+err.message);}})});},buildXMLString:function(){var _4ea="<infoRequest context=\"roomtype\" recurse=\"false\">"+"<siteid>"+this.siteId+"</siteid>"+"<hotelid>"+this.hNum+"</hotelid>"+"<channel>"+this.channel+"</channel>";if(this.roomData!=null){_4ea+="<roomid>"+this.roomData.roomId+"</roomid>";}_4ea+="</infoRequest>";return _4ea;},onLastAjaxCallComplete:function(){},populateRoomData:function(_4eb,_4ec,_4ed){var data=_4eb;try{if(data){var _4ef=data.getElementsByTagName("infoResponse")[0];var idx=0;var _4f1=data.getElementsByTagName("roomInfo");var _4f2=false;if(_4f1){while(!_4f2&&idx<_4f1.length){if(_4ed.roomId==baHelper.getValuefromXML(_4f1[idx],0,"roomId")){_4f2=true;}else{idx++;}}}if(_4f2){if(parseInt(_4ed.roomId,10)==parseInt(baHelper.getValuefromXML(_4f1[idx],0,"roomId"),10)){_4ed.displayOrder=baHelper.getValuefromXML(_4f1[idx],0,"displayorder");_4ed.roomType=baHelper.getValuefromXML(_4f1[idx],0,"roomType");_4ed.shortDescription=baHelper.getValuefromXML(_4f1[idx],0,"shortDescription");_4ed.longDescription=baHelper.getValuefromXML(_4f1[idx],0,"longDescription");_4ed.canBookOnline=baHelper.getValuefromXML(_4f1[idx],0,"canBookOnline");_4ed.maxPeople=baHelper.getValuefromXML(_4f1[idx],0,"maxPeopleInRoom");_4ed.maxExtraBed=baHelper.getValuefromXML(_4f1[idx],0,"maxExtraBedsInRoom");_4ed.imageURLs["guestroom"]=_4ed.getHotelId()+"_room"+_4ed.roomId+".jpg";_4ed.dataLoaded=true;_4ed.onLoaderDone(true,null);}else{_4ed.onLoaderDone(false,null);}}else{console.debug("RoomInfoLoader.populateRoomData-error2: Room ID ["+_4ed.roomId+"] not found");_4ed.onLoaderDone(false,null);}}}catch(err){console.debug("RoomInfoLoader.populateRoomData-error3: "+err.message);_4ed.onLoaderDone(false,err);}},constructor:function(_4f3,_4f4,_4f5,_4f6,_4f7){console.debug("RoomInfoLoader.constructor");try{this.hNum=_4f4;this.siteId=_4f3;this.roomId=_4f5;this.promoCode=_4f6;this.roomData=_4f7;}catch(err){console.debug("RoomInfoLoader.constructor-error: "+err.message);}}});}if(!_4._hasResource["topaz.data.RateData"]){_4._hasResource["topaz.data.RateData"]=true;_4.provide("topaz.data.RateData");_4.declare("RateData",null,{siteId:globalSiteId,hotelId:"",channel:"web",ratePlanId:"",ratePlanName:"",ratePlanDescription:"",ratePlanLongDescription:"",active:false,showAlways:false,replaceRack:false,discountType:"",showOnWeb:false,imageUrl:"",bigImageUrl:"",allDays:false,netMode:"",minNights:0,maxNights:0,infoMatrixReference:null,dataLoaded:false,dataLoadTimer:null,setInfoMatrixReference:function(_4f8){this.infoMatrixReference=_4f8;},loadRatePlanInformation:function(){var _4f9=new RateLoader(this);_4f9.setHNum(this.hotelId);_4f9.ajaxRateRequest(_4f9.loadRates,this);},onLoaderSuccess:function(_4fa){},onLoaderFailure:function(_4fb){},onLoaderDone:function(_4fc){if(_4fc){this.onLoaderSuccess(this);}else{this.onLoaderFailure(null);}},setSiteId:function(_4fd){this.siteId=_4fd;},getSiteId:function(){return this.siteId;},_setLoaded:function(_4fe){this.loaded=_4fe;},isLoaded:function(){return this.loaded;},setHotelId:function(_4ff){this.hotelId=_4ff;},getHotelId:function(){return this.hotelId;},setChannel:function(_500){this.channel=_500;},getChannel:function(){return this.channel;},setRatePlanId:function(_501){this.ratePlanId=_501;},getRatePlanId:function(){return this.ratePlanId;},setRatePlanName:function(_502){this.ratePlanName=_502;},getRatePlanName:function(){return this.ratePlanName;},setRate:function(_503,_504){this.rates.insert(_503,_504);},getRate:function(_505){return this.rates.item(_505);},getRatesCSV:function(){var _506="";var _507;for(_507 in this.rates){if(_507.substring(2,3)=="/"&&_507.substring(5,6)=="/"){_506+=this.rates[_507]+",";}}_506=_506.substring(0,_506.length-1);return _506;},setRatePlanDescription:function(_508){this.ratePlanDescription=_508;},getRatePlanDescription:function(){return this.ratePlanDescription;},setRatePlanLongDescription:function(_509){this.ratePlanLongDescription=_509;},getRatePlanLongDescription:function(){return this.ratePlanLongDescription;},setImageUrl:function(_50a){this.imageUrl=_50a;},getImageUrl:function(){return this.imageUrl;},setBigImageUrl:function(_50b){this.bigImageUrl=_50b;},getBigImageUrl:function(){return this.bigImageUrl;},setNetMode:function(_50c){this.netMode=_50c;},getNetMode:function(){return this.netMode;},setActive:function(_50d){if(typeof _50d=="string"){if(_50d=="true"){this.active=true;}else{this.active=false;}}else{this.active=_50d;}},isActive:function(){return this.active;},setShowAlways:function(_50e){if(typeof _50e=="string"){if(_50e=="true"){this.showAlways=true;}else{this.showAlways=false;}}else{this.showAlways=_50e;}},isShowAlways:function(){return this.showAlways;},setReplaceRack:function(_50f){if(typeof _50f=="string"){if(_50f=="true"){this.replaceRack=true;}else{this.replaceRack=false;}}else{this.replaceRack=_50f;}},isReplaceRack:function(){return this.replaceRack;},setShowOnWeb:function(_510){if(typeof _510=="string"){if(_510=="true"){this.showOnWeb=true;}else{this.showOnWeb=false;}}else{this.showOnWeb=_510;}},isShowOnWeb:function(){return this.showOnWeb;},setAllDays:function(_511){if(typeof _511=="string"){if(_511=="true"){this.allDays=true;}else{this.allDays=false;}}else{this.allDays=_511;}},isAllDays:function(){return this.allDays;},setMaxNights:function(_512){this.maxNights=_512;},getMaxNights:function(){return this.maxNights;},setMinNights:function(_513){this.minNights=_513;},getMinNights:function(){return this.minNights;},setDiscountType:function(_514){this.discountType=_514;},getDiscountType:function(){return this.discountType;},constructor:function(_515){console.debug("RateData.constructor");this.hotelId=_515;this.rates=new _6.collections.ArrayList();}});}if(!_4._hasResource["topaz.loader.bookability.RateLoader"]){_4._hasResource["topaz.loader.bookability.RateLoader"]=true;_4.provide("topaz.loader.bookability.RateLoader");_4.declare("RateLoader",null,{domainName:hostname,uriDir:uriDir,hNum:"",siteId:globalSiteId,channel:"web",promoCode:"",roomId:"",ratePlanId:"",message:"Class",rateData:null,theMatrix:null,setTheMatrix:function(_516){this.theMatrix=_516;},setDomainName:function(_517){this.domainName=_517;},setHNum:function(_518){this.hNum=_518;},setRatePlanId:function(_519){this.ratePlanId=_519;},setSiteId:function(_51a){this.siteId=_51a;},setChannel:function(_51b){this.channel=_51b;},ajaxRateRequest:function(_51c){infoMatrix.loader.ajaxCallCtrs["rateplan"]++;var args=arguments;var self=this;var _51f=urlProtocol+this.domainName+"/"+this.uriDir+"/infoWS.php";var _520=this.buildXMLString();var _521=_4.rawXhrPost({url:_51f,postData:_520,contentType:"text/xml",handleAs:"xml",timeout:40000,load:_4.hitch(this,function(_522,_523){try{var _524=[_522,_523];for(var i=1;i<args.length;i++){_524.push(args[i]);}_51c.apply(this,_524);try{infoMatrix.loader.ajaxCallCtrs["rateplan"]--;if(infoMatrix.loader.ajaxCallCtrs["rateplan"]<=0){infoMatrix.onLastRatePlanAjaxCallComplete();infoMatrix.loader.ajaxCallCtrs["rateplan"]=0;}}catch(err){console.debug("RateLoader.ajaxRateRequest--error: "+err.message);}}catch(err){console.debug("RateLoader.ajaxRateRequest-callback-error: "+err.message);}})});},buildXMLString:function(){var _526="<infoRequest context=\"rateplan\" recurse=\"false\">"+"<siteid>"+this.siteId+"</siteid>"+"<hotelid>"+this.hNum+"</hotelid>"+"<channel>"+this.channel+"</channel>";if(this.rateData!=null){_526+="<ratePlan>"+this.rateData.getRatePlanId()+"</ratePlan>";}_526+="</infoRequest>";return _526;},loadAllRatePlans:function(_527,_528,_529){var hnum;var _52b=_527.getElementsByTagName("hotelid");if(_52b&&_52b.length>0&&_52b.item(0).firstChild){var _52c=_52b.item(0).firstChild.nodeValue;hnum=_52c;}_529.RatePlanInfo[hnum]=new Array();_529.RatePlanIds[hnum]=new Array();var _52d=_527.getElementsByTagName("ratePlanInfo");for(var i=0;i<_52d.length;i++){var _52f=new RateData();_52f.setSiteId(globalSiteId);_52f.setInfoMatrixReference(_529);var _530=_52d.item(i);this.populateRatePlan(_52f,_530);_529.RatePlanIds[hnum].push(_52f.getRatePlanId());_529.RatePlanInfo[hnum][_52f.getRatePlanId()]=_52f;}},loadAllRatePlanIds:function(_531,_532,_533){var hnum;var _535=_531.getElementsByTagName("hotelid");if(_535&&_535.length>0&&_535.item(0).firstChild){var _536=_535.item(0).firstChild.nodeValue;hnum=_536;}_533.RatePlanIds[hnum]=new Array();var _537=_531.getElementsByTagName("ratePlanInfo");for(var i=0;i<_537.length;i++){var _539=_537.item(i);var _53a=_539.getElementsByTagName("ratePlanId");if(_53a&&_53a.length>0&&_53a.item(0).firstChild){var _53b=_53a.item(0).firstChild.nodeValue;_533.RatePlanIds[hnum].push(_53b);}}this.onRatePlanIdsLoaded();},onRatePlanIdsLoaded:function(){},loadRatePlan:function(_53c,_53d,_53e){var hnum;var _540=_53c.getElementsByTagName("hotelid");if(_540&&_540.length>0&&_540.item(0).firstChild){var _541=_540.item(0).firstChild.nodeValue;hnum=_541;}if(!_53e.RatePlanInfo[hnum]){_53e.RatePlanInfo[hnum]=new Array();}if(!_53e.RatePlanIds[hnum]){_53e.RatePlanIds[hnum]=new Array();}var _542=_53c.getElementsByTagName("ratePlanInfo");this.rateData.setSiteId(globalSiteId);var _543=_542.item(i);this.populateRatePlan(this.rateData,_543);_53e.RatePlanIds[hnum].push(this.rateData.getRatePlanId());_53e.RatePlanInfo[hnum][this.rateData.getRatePlanId()]=this.rateData;this.onRatePlanLoaded(this.rateData,_543);},onRatePlanLoaded:function(){},loadRates:function(_544,_545,_546){var _547=_544;this.populateRatePlan(_546,_547);},populateRatePlan:function(_548,_549){try{var _54a=_549.getElementsByTagName("ratePlanId");if(_54a&&_54a.length>0&&_54a.item(0).firstChild){var _54b=_54a.item(0).firstChild.nodeValue;_548.setRatePlanId(_54b);}var _54c=_549.getElementsByTagName("ratePlanName");if(_54c&&_54c.length>0&&_54c.item(0).firstChild){var _54d=_54c.item(0).firstChild.nodeValue;_548.setRatePlanName(_54d);}var _54e=_549.getElementsByTagName("ratePlanDescription");if(_54e&&_54e.length>0&&_54e.item(0).firstChild){var _54f=_54e.item(0).firstChild.nodeValue;_548.setRatePlanDescription(_54f);}var _550=_549.getElementsByTagName("ratePlanLongDescription");if(_550&&_550.length>0&&_550.item(0).firstChild){var _551=_550.item(0).firstChild.nodeValue;_548.setRatePlanLongDescription(_551);}var _552=_549.getElementsByTagName("image");if(_552&&_552.length>0&&_552.item(0).firstChild){var _553=_552.item(0).firstChild.nodeValue;_548.setImageUrl(_553);}var _554=_549.getElementsByTagName("bigImage");if(_554&&_554.length>0&&_554.item(0).firstChild){var _555=_554.item(0).firstChild.nodeValue;_548.setBigImageUrl(_555);}var _556=_549.getElementsByTagName("netmode");if(_556&&_556.length>0&&_556.item(0).firstChild){var _557=_556.item(0).firstChild.nodeValue;_548.setNetMode(_557);}var _558=_549.getElementsByTagName("minNights");if(_558&&_558.length>0&&_558.item(0).firstChild){var rStr=_558.item(0).firstChild.nodeValue;_548.setMinNights(rStr);}var _55a=_549.getElementsByTagName("maxNights");if(_55a&&_55a.length>0&&_55a.item(0).firstChild){var rStr=_55a.item(0).firstChild.nodeValue;_548.setMaxNights(rStr);}var _55b=_549.getElementsByTagName("active");if(_55b&&_55b.length>0&&_55b.item(0).firstChild){var _551=_55b.item(0).firstChild.nodeValue;if(_551=="true"){_548.setActive(true);}else{_548.setActive(false);}}var _55c=_549.getElementsByTagName("allDays");if(_55c&&_55c.length>0&&_55c.item(0).firstChild){var _55d=_55c.item(0).firstChild.nodeValue;if(_55d=="true"){_548.setAllDays(true);}else{_548.setAllDays(false);}}var _55e=_549.getElementsByTagName("showOnWeb");if(_55e&&_55e.length>0&&_55e.item(0).firstChild){webStr=_55e.item(0).firstChild.nodeValue;if(webStr=="true"){_548.setShowOnWeb(true);}else{_548.setShowOnWeb(false);}}var _55f=_549.getElementsByTagName("replaceRack");if(_55f&&_55f.length>0&&_55f.item(0).firstChild){webStr=_55f.item(0).firstChild.nodeValue;if(webStr=="true"){_548.setReplaceRack(true);}else{_548.setReplaceRack(false);}}var _560=_549.getElementsByTagName("discountType");if(_560&&_560.length>0&&_560.item(0).firstChild){var _561=_560.item(0).firstChild.nodeValue;_548.setDiscountType(_561);}_548.dataLoaded=true;_548.onLoaderDone(true,null);}catch(err){console.debug("RateLoader-loadRates-error: "+err.message);}},constructor:function(_562){this.message="New Instantance";this.rateData=_562;}});}if(!_4._hasResource["topaz.loader.bookability.InfoMatrixLoader"]){_4._hasResource["topaz.loader.bookability.InfoMatrixLoader"]=true;_4.provide("topaz.loader.bookability.InfoMatrixLoader");_4.declare("InfoMatrixLoader",null,{ajaxCallCtrs:[],siteId:globalSiteId,populateHotelIds:function(_563,_564,_565){try{console.debug("InfoMatrixLoader.populateHotelIds");var _566=_563;console.debug("A");var _567=_566.getElementsByTagName("hotel");console.debug("B");_565.HotelIds=new Array();console.debug("C");for(var i=0;i<_567.length;i++){console.debug("D"+i);_565.HotelIds[i]=baHelper.getValuefromXML(_567[i],0,"hotelid");}console.debug("E");_565.onHotelIdsLoaded();console.debug("F");}catch(err){console.debug("InfoMatrixLoader.populateHotelIds-error: "+err.message);}},ajaxHotelIdsRequest:function(_569){console.debug("in InfoMatrixLoader.ajaxHotelIdsRequest: http://"+hostname+"/b2/xmlsite.php?siteid="+this.siteId+"&xml=");var args=arguments;var _56b=_4.rawXhrPost({url:urlProtocol+hostname+"/b07/xmlsite.php?siteid="+this.siteId+"&xml=",contentType:"text/xml",handleAs:"xml",timeout:40000,error:function(){console.debug("Error in ajaxHotelIdsRequest ajax call");},load:_4.hitch(this,function(_56c,_56d){try{var _56e=[_56c,_56d];for(var i=1;i<args.length;i++){_56e.push(args[i]);}_569.apply(this,_56e);}catch(err){console.debug("InfoMatrixLoader.ajaxHotelIdsRequest-callback-error: "+err.message);}})});},constructor:function(){console.debug("InfoMatrixLoader constructor");this.ajaxCallCtrs=new Array();this.ajaxCallCtrs["room"]=0;this.ajaxCallCtrs["hotel"]=0;this.ajaxCallCtrs["rateplan"]=0;this.ajaxCallRefs=new Array();this.ajaxCallRefs["room"]=new Array();this.ajaxCallRefs["hotel"]=new Array();this.ajaxCallRefs["rateplan"]=new Array();}});}if(!_4._hasResource["topaz.data.InfoMatrix"]){_4._hasResource["topaz.data.InfoMatrix"]=true;_4.provide("topaz.data.InfoMatrix");_4.declare("InfoMatrix",null,{siteId:globalSiteId,promoCode:"",HotelIds:null,RoomIds:null,RatePlanIds:null,HotelInfo:null,RoomInfo:null,RatePlanInfo:null,resetPromoCode:function(_570){this.promoCode=_570;while(this.HotelInfo.length>0){this.HotelInfo.pop();}while(this.RoomInfo.length>0){this.RoomInfo.pop();}this.HotelInfo=new Array();this.RoomInfo=new Array();},updateMembers:function(_571){if(!this.HotelIds){this.HotelIds=new Array();}if(!this.RoomIds){this.RoomIds=new Array();}if(!this.RatePlanIds){this.RatePlanIds=new Array();}if(!this.HotelInfo){this.HotelInfo=new Array();}if(!this.RoomInfo){this.RoomInfo=new Array();}if(!this.RatePlanInfo){this.RatePlanInfo=new Array();}_4.mixin(this.HotelIds,_571.HotelIds);_4.mixin(this.RoomIds,_571.RoomIds);_4.mixin(this.RatePlanIds,_571.RatePlanIds);_4.mixin(this.HotelInfo,_571.HotelInfo);_4.mixin(this.RoomInfo,_571.RoomInfo);_4.mixin(this.RatePlanInfo,_571.RatePlanInfo);},testFunction:function(){return true;},onHotelIdsLoaded:function(){console.debug("onHotelIdsLoaded stub");},onRatePlanIdsLoaded:function(){},populateRoomIds:function(){this.RoomIds=new Array("1","2","3");},populateRatePlanIds:function(type,data,http,_575){try{var hnum;var _577=data.getElementsByTagName("hotelid");if(_577&&_577.length>0&&_577.item(0).firstChild){var _578=_577.item(0).firstChild.nodeValue;hnum=_578;}_575.RatePlanInfo[hnum]=new Array();_575.RatePlanIds[hnum]=new Array();var _579=data.getElementsByTagName("ratePlanInfo");for(var i=0;i<_579.length;i++){var _57b=new RateData();_57b.setSiteId(globalSiteId);_57b.setInfoMatrixReference(this);var _57c=new RateLoader(_57b);_57c.setTheMatrix(infoMatrix);_57c.setHNum(hnum);_57c.ajaxRateRequest(_57c.loadRatePlan,infoMatrix);_57c.onRatePlanLoaded=_4.hitch(this,function(_57d,_57e){_57d.setSiteId(globalSiteId);_57c.populateRatePlan(_57d,_57e);_575.RatePlanIds[_57d.getHotelId()].push(_57d.getRatePlanId());_575.RatePlanInfo[_57d.getHotelId()][_57d.getRatePlanId()]=_57d;});}_575.onRatePlanIdsLoaded();}catch(err){console.debug("In infoMatrix.populateRatePlanIds--error: "+err.message);}},returnHotelData:function(_57f){return _57f;},returnRoomData:function(_580){return _580;},returnRateData:function(_581){return _581;},getHotelData:function(_582,_583,_584,_585){try{if(this.HotelInfo==null){this.HotelInfo=new Array();}if(this.HotelInfo[_582]!=null){console.debug("Found HotelData for id "+_582+" to list from saved infoMatrix. this.HotelInfo[thisHotelId].hName = "+this.HotelInfo[_582].hName);this.returnHotelData=_4.hitch(_583,_584);if(this.HotelInfo[_582].dataLoadTimer!=undefined){clearInterval(this.HotelInfo[_582].dataLoadTimer);}if(this.HotelInfo[_582].dataLoaded){this.returnHotelData(this.HotelInfo[_582]);}else{this.HotelInfo[_582].dataLoadTimer=window.setInterval(_4.hitch(this,function(){if(this.HotelInfo[_582].dataLoaded){this.returnHotelData(this.HotelInfo[_582]);clearInterval(this.HotelInfo[_582].dataLoadTimer);}}),1000);}}else{console.debug("In InfoMatrix.getHotelData: No HotelData for id "+_582+"... creating new HotelData");this.HotelInfo[_582]=new HotelData(_582);this.HotelInfo[_582].loader.domainName=hostname;if(_585){this.HotelInfo[_582].loadHotelInformationSynchronously();this.returnHotelData=_4.hitch(_583,_584);this.returnHotelData(this.HotelInfo[_582]);}else{this.HotelInfo[_582].loadHotelInformation();}this.HotelInfo[_582].onLoaderSuccess=_4.hitch(_583,_584);}}catch(err){console.debug("InfoMatrix.getHotelData-error: "+err.message);}},onLastRoomAjaxCallComplete:function(){console.debug("In onLastRoomAjaxCallComplete stub");},onLastRatePlanAjaxCallComplete:function(){console.debug("In onLastRatePlanAjaxCallComplete stub");},getRoomData:function(_586,_587,_588,_589,_58a){try{if(this.RoomInfo==null){this.RoomInfo=new Array();}if(this.RoomInfo[_586]==null){this.RoomInfo[_586]=new Array();}if(this.RoomInfo[_586][_587] instanceof RoomData){this.returnRoomData=_4.hitch(_589,_58a);if(this.RoomInfo[_586][_587].dataLoadTimer!=undefined){clearInterval(this.RoomInfo[_586][_587].dataLoadTimer);}if(this.RoomInfo[_586][_587].dataLoaded){this.returnRoomData(this.RoomInfo[_586][_587]);}else{this.RoomInfo[_586][_587].dataLoadTimer=window.setInterval(_4.hitch(this,function(){if(this.RoomInfo[_586][_587].dataLoaded){this.returnRoomData(this.RoomInfo[_586][_587]);clearInterval(this.RoomInfo[_586][_587].dataLoadTimer);}}),1000);}}else{console.debug("Instantiating RoomData for hotel["+_586+"] room["+_587+"]. infoMatrix.siteId="+this.siteId);this.RoomInfo[_586][_587]=new RoomData(_586,_587,_588,this);this.RoomInfo[_586][_587].infoMatrixReference=this;this.RoomInfo[_586][_587].loader.domainName=hostname;this.RoomInfo[_586][_587].loadRoomInformation();this.RoomInfo[_586][_587].onLoaderSuccess=_4.hitch(_589,_58a);this.RoomInfo[_586][_587].onLoaderFailure=_4.hitch(_589,_58a);}}catch(err){console.debug("InfoMatrix.getRoomData-error: "+err.message);}},getRatePlan:function(_58b,_58c,_58d,_58e){try{console.debug("InfoMatrix.getRatePlan start, thisRatePlanId="+_58c);if(this.RatePlanInfo==null){this.RatePlanInfo=new Array();}if(this.RatePlanInfo[_58b]==null){this.RatePlanInfo[_58b]=new Array();}if(this.RatePlanInfo[_58b][_58c] instanceof RateData){this.returnRateData=_4.hitch(_58d,_58e);if(this.RatePlanInfo[_58b][_58c].dataLoadTimer!=undefined){clearInterval(this.RatePlanInfo[_58b][_58c].dataLoadTimer);}if(this.RatePlanInfo[_58b][_58c].dataLoaded){this.returnRateData(this.RatePlanInfo[_58b][_58c]);}else{this.RatePlanInfo[_58b][_58c].dataLoadTimer=window.setInterval(_4.hitch(this,function(){if(this.RatePlanInfo[_58b][_58c].dataLoaded){this.returnRateData(this.RatePlanInfo[_58b][_58c]);clearInterval(this.RatePlanInfo[_58b][_58c].dataLoadTimer);}}),1000);}}else{this.RatePlanInfo[_58b][_58c]=new RateData(_58b);this.RatePlanInfo[_58b][_58c].setInfoMatrixReference(this);this.RatePlanInfo[_58b][_58c].setRatePlanId(_58c);this.RatePlanInfo[_58b][_58c].loadRatePlanInformation();this.RatePlanInfo[_58b][_58c].onLoaderSuccess=_4.hitch(_58d,_58e);}}catch(err){console.debug("InfoMatrix.getRatePlan-error:"+err.message);}},populateThisHotel:function(hnum){},populateThisRoom:function(_590){},populateOtherHotels:function(_591){},populateOtherRooms:function(_592){},populateAllRatePlans:function(_593){rateLoader=new RateLoader(null);rateLoader.setHNum(_593);rateLoader.setTheMatrix(this);rateLoader.ajaxRateRequest(rateLoader.loadAllRatePlans);},onLoaderDone:function(_594,err){if(_594){console.debug("onLoaderDone Successful, Room Type: "+this.roomType);}else{console.debug("There was an error - "+err.message);}},constructor:function(){console.debug("InfoMatrix.initializer");this.HotelInfo=new Array();this.RoomInfo=new Array();this.RatePlanInfo=new Array();this.HotelIds=new Array();this.RoomIds=new Array();this.RatePlanIds=new Array();}});try{infoMatrix=new InfoMatrix();infoMatrix.loader=new InfoMatrixLoader();}catch(err){console.debug("topaz/data/InfoMatrix.js error: "+err.message);}}if(!_4._hasResource["topaz.loader.bookability.CalendarLoader"]){_4._hasResource["topaz.loader.bookability.CalendarLoader"]=true;_4.provide("topaz.loader.bookability.CalendarLoader");_4.declare("CalendarLoader",null,{domainName:hostname,availCalSource:"/b07/availCalWS_devel.php",promoCode:"",roomId:"",rateClass:"",message:"Class",postCreate:function(){console.debug("postCreate CalendarLoader");},setDomainName:function(_596){this.domainName=_596;},setHNum:function(_597){this.hNum=_597;},setSiteId:function(_598){this.siteId=_598;},setPromoCode:function(_599){this.promoCode=_599;},setRoomType:function(_59a){this.roomId=_59a;},setStartDate:function(_59b){this.startDate=_59b;},setEndDate:function(_59c){this.endDate=_59c;},loadMe:function(){},_extractday:function(_59d){_59d+="";return parseInt(_59d.substring(3,5),10);},_extractyear:function(_59e){_59e+="";return parseInt(_59e.substring(6,10),10);},_extractmonth:function(_59f){_59f+="";return parseInt(_59f.substring(0,2),10);},ajaxCalendarRequest:function(_5a0){try{var args=arguments;var self=this;var _5a3=urlProtocol+this.domainName+this.availCalSource;console.debug("urlString: "+_5a3);var _5a4=this.buildXMLString();var _5a5=_4.rawXhrPost({url:_5a3,postData:_5a4,contentType:"text/xml",handleAs:"xml",timeout:40000,load:_4.hitch(this,function(_5a6,_5a7){try{var _5a8=[_5a6,_5a7];for(var i=1;i<args.length;i++){_5a8.push(args[i]);}_5a0.apply(this,_5a8);}catch(err){console.debug("CalendarLoader.ajaxCalendarRequest-callback-error: "+err.message);}})});}catch(err){console.debug("ajaxCalendarRequest-error: "+err.message);}},buildXMLString:function(){var _5aa="<calendarrequest>"+"<siteid>"+this.calData.getSiteId()+"</siteid>"+"<month>"+this.calData.getMonthYear()+"</month>"+"<hotelid>"+this.calData.getHNum()+"</hotelid>";if(this.calData.getRatePlan()!=""){_5aa+="<discounts>"+this.calData.getRatePlan()+"</discounts>";}if(this.calData.getPromoCode()!=""){_5aa+="<promocode>"+this.calData.getPromoCode()+"</promocode>";}if(this.calData.getRoomType()!=""){_5aa+="<roomid>"+this.calData.getRoomType()+"</roomid>";}if(this.calData.getRatePlan()!=""){_5aa+="<includediscounts>"+this.calData.getRatePlan()+"</includediscounts>";}_5aa+="</calendarrequest>";console.debug("ajaxCalendarRequest: "+escape(_5aa));return _5aa;},onLoaderDone:function(){},loadCalendar:function(_5ab,_5ac){var data=_5ab;console.debug("In CalendarLoader.loadCalendar");try{var days=data.getElementsByTagName("day");for(var i=0;i<days.length;i++){var _5b0=days.item(i);var _5b1=_5b0.getElementsByTagName("date");if(_5b1){var _5b2=_5b1.item(0).firstChild;var _5b3=_5b2.nodeValue;var _5b4=_5b3.substring(3,5);var _5b5=parseInt(_5b4,10);var _5b6=this.calData.getDayData(_5b5);var _5b7,_5b8,_5b9;if(_5b6){if(_5b6.month==0||_5b6.day==0||_5b6.year==0){_5b7=this._extractmonth(_5b3);_5b8=this._extractday(_5b3);_5b9=this._extractyear(_5b3);console.debug("tempMth/tempDay/tempYr => "+_5b7+"/"+_5b8+"/"+_5b9);_5b6.setDate(_5b7,_5b8,_5b9);}var _5ba=_5b0.getElementsByTagName("daysTilCutoff");if(_5ba&&_5ba.length>0){var _5bb=_5ba.item(0).firstChild.nodeValue;_5b6.setDaysTilCutoff(_5bb);}var _5bc=_5b0.getElementsByTagName("numberAvailable");if(_5bc&&_5bc.length>0){var _5bd=_5bc.item(0).firstChild.nodeValue;_5b6.setNumberAvailable(_5bd);}var _5be=_5b0.getElementsByTagName("canBookOnline");if(_5be&&_5be.length>0){cboStr=_5be.item(0).firstChild.nodeValue;if(cboStr=="true"){_5b6.setCanBookOnline(true);}else{_5b6.setCanBookOnline(false);}}var _5bf=_5b0.getElementsByTagName("averageRate");if(_5bf&&_5bf.length>0){arStr=_5bf.item(0).firstChild.nodeValue;_5b6.setAverageRate(arStr);}var _5c0=_5b0.getElementsByTagName("rateLo");if(_5c0&&_5c0.length>0){rlStr=_5c0.item(0).firstChild.nodeValue;_5b6.setLowRate(rlStr);}var _5c1=_5b0.getElementsByTagName("rateHi");if(_5c1&&_5c1.length>0){rhStr=_5c1.item(0).firstChild.nodeValue;_5b6.setHighRate(rhStr);}var _5c2=_5b0.getElementsByTagName("restrictions");if(_5c2&&_5c2.length>0){rStr=_5c2.item(0).firstChild.nodeValue;_5b6.setRestriction(rStr);}var _5c3=_5b0.getElementsByTagName("otherRoomsAvailable");if(_5c3&&_5c3.length>0){var _5c4=_5c3.item(0).firstChild.nodeValue;_5b6.setOtherRoom(_5c4);}}else{console.debug("dayData is null");}}else{console.debug("dayEle is null for i="+i);}}this.onLoaderDone();}catch(err){console.debug("i="+i+", CalendarLoader.loadCalendar-error: "+err.message);}},constructor:function(_5c5){this.calData=_5c5;if(_5c5.availCalSource&&_5c5.availCalSource!=""){this.availCalSource=_5c5.availCalSource;}this.message="New Instantance";console.debug("initialized CalendarLoader. this.availCalSource="+this.availCalSource);}});}if(!_4._hasResource["topaz.widget.DatepickerPanel"]){_4._hasResource["topaz.widget.DatepickerPanel"]=true;_4.provide("topaz.widget.DatepickerPanel");_4.declare("topaz.widget.DatepickerPanel",[_5._Widget,_5._Templated],{declaredClass:"DatepickerPanel",templateString:"<div id=\"${id}\" dojoAttachPoint=\"mainNode\" class=\"datepickerpanel\">\r\n   <div class=\"innerContainer\">\t\r\n\t\t <form dojoAttachPoint=\"formNode\" method=\"get\" action=\"${submitMode}\">\r\n\t\t\t<div class=\"errorMessage\" dojoAttachPoint=\"errorMessageNode\">\r\n\t\t\t</div>\r\n\t\t\t<div class=\"arrival\">\r\n\t\t\t \t<div class=\"label arrivalLabel\">\r\n\t\t\t\t  \t<span class=\"label arrivalLabel\">\r\n\t\t\t\t\t\t${arrivalLabel}\r\n\t\t\t\t\t</span> \r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"inputBox arrivalInputbox\">\t\t\t\t\r\n\t\t\t\t\t<span class=\"inputbox arrivalInputbox\">\r\n\t\t\t\t\t\t<input dojoAttachEvent=\"onfocus:onArrivalFocus,onblur:onArrivalBlur\"\r\n\t\t\t\t\t\t class=\"faded_text\" dojoAttachPoint=\"arrivalInput\" type=\"text\" name=\"arrivaldate\" value=\"${initialArrVal}\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"departure\">\r\n\t\t\t\t<div class=\"label departureLabel\">\r\n\t\t\t\t  \t<span class=\"label departureLabel\">\r\n\t\t\t\t\t\t${departureLabel}\r\n\t\t\t\t\t</span> \r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"inputBox departureInputbox\">\r\n\t\t\t\t\t<span class=\"inputbox departureInputbox\">\r\n\t\t\t\t\t\t<input dojoAttachEvent=\"onfocus:onDepartureFocus,onblur:onDepartureBlur\" class=\"faded_text\" dojoAttachPoint=\"departureInput\" type=\"text\" name=\"departuredate\" value=\"${initialDepVal}\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"numGuests\">\r\n\t\t\t\t<div class=\"label numGuestsLabel\">\r\n\t\t\t\t\t${numGuestsLabel}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"selectbox numGuestsSelectbox\">\r\n\t\t\t\t\t<span class=\"selectbox numGuestsSelectbox\">\r\n\t\t\t\t\t\t<select dojoAttachEvent=\"onchange:onNumGuestsChange\" dojoAttachPoint=\"numGuestsSelectNode\" name=\"numGuests\" value=\"\">\r\n\t\t\t\t\t\t</select>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\t\r\n\t\t\t</div>\r\n\t\t\t<br>\r\n\t\t\t<input type=\"hidden\" name=\"nightstay\" value=\"1\" dojoAttachPoint=\"nightstayNode\">\r\n\t\t\t<input type=\"hidden\" name=\"month\">\r\n\t\t\t<input type=\"hidden\" name=\"day\">\r\n\t\t\t<input type=\"hidden\" name=\"year\">\r\n\t\t\t<input type=\"hidden\" name=\"siteid\" value=\"${siteId}\">\r\n\t\t\t<input type=\"hidden\" name=\"hnum\" value=\"${hnum}\">\r\n\t\t\t<div class=\"submitButton\" dojoAttachPoint=\"submitButtonImageNode\" dojoAttachEvent=\"onclick:onSubmit\"><span class=\"submitButtonText\">${submitButtonText}</span>\r\n\t\t\t</div>\r\n\t\t </form>\r\n\t</div>\r\n</div>\r\n",id:"",topazRoot:_4.moduleUrl("topaz"),submitButtonImageSrc:"",readCookies:false,hideButtonUntilValid:false,arrivalLabel:"Arrival Date: ",departureLabel:"Departure Date: ",autoSubmit:false,nightstayLabel:"Nights: ",numGuestsLabel:"Number of Guests: ",initialArrVal:"ex: 12/30/2009",initialDepVal:"ex: 12/31/2009",siteId:"",hnum:"",arrDate:"",depDate:"",nightstay:"",numGuests:1,maxGuests:6,autoNextDayDep:true,lastArrivalDate:"",lastDepartureDate:"",submitMode:"BA2_SETDATE",submitHandler:"this.defaultSubmitHandler",script:"hoteltop.php",selectorStyle:"ARRIVAL_DEPARTURE",selectorElementType:"INPUT",mainNode:null,formNode:null,arrivalInput:null,departureInput:null,nightstayNode:null,submitButtonImageNode:null,submitButtonText:"Check Availability",validate:function(){try{var _5c6=true;_4.removeClass(this.errorMessageNode,"noshow");if(_5c6&&(this.departureInput.value==this.initialDepVal||this.arrivalInput.value==this.initialArrVal)){this.errorMessageNode.innerHTML="Stay dates incomplete.";_5c6=false;}if(_5c6&&!_32d(this.arrivalInput.value+"")){this.errorMessageNode.innerHTML="Invalid stay dates";_5c6=false;}if(_5c6&&_2e8(this.departureInput.value+"","MM/dd/yyyy",this.arrivalInput.value+"","MM/dd/yyyy")==0){if(this.autoNextDayDep){this.departureInput.value=this._dateAdd(this.arrivalInput.value+"",1);}else{this.errorMessageNode.innerHTML="Arrival date must be earlier than departure date.";_5c6=false;}}if(_5c6){_4.addClass(this.errorMessageNode,"noshow");}return _5c6;}catch(err){console.debug("DatepickerPanel.validate-error: "+err.message);}},defaultSubmitHandler:function(){console.debug("DatepickerPanel.defaultSubmitHandler");},setArrivalDate:function(_5c7){console.debug("DatepickerPanel.setArrivalDate("+_5c7+")");this.arrDate=_5c7;this.arrivalInput.value=_5c7;},setDepartureDate:function(_5c8){this.depDate=_5c8;this.departureInput.value=_5c8;},_extractday:function(_5c9){_5c9+="";return parseInt(_5c9.substring(3,5),10);},_extractyear:function(_5ca){_5ca+="";return parseInt(_5ca.substring(6,10),10);},_extractmonth:function(_5cb){_5cb+="";return parseInt(_5cb.substring(0,2),10);},_getmonthnumdays:function(_5cc,_5cd){var _5ce=0;switch(_5cc){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_5ce=31;break;case 2:if((_5cd%4)==0){_5ce=29;}else{_5ce=28;}break;default:_5ce=30;break;}return _5ce;},_dateAdd:function(_5cf,_5d0){var _5d1=parseInt(this._extractmonth(_5cf),10);var _5d2=parseInt(this._extractday(_5cf),10);var _5d3=parseInt(this._extractyear(_5cf),10);var _5d4=this._getmonthnumdays(_5d1,_5d3);_5d2+=parseInt(_5d0,10);if(_5d2>_5d4){_5d2=_5d2-_5d4;_5d1++;}if(_5d1>12){_5d1=1;_5d3++;}_5d1=_5d1<10?"0"+_5d1:""+_5d1;_5d2=_5d2<10?"0"+_5d2:""+_5d2;return _5d1+"/"+_5d2+"/"+_5d3;},_dateDifference:function(_5d5,_5d6){var _5d7=_5d6;var ctr=0;while(ctr<700&&_5d7!=_5d5){_5d7=this._dateAdd(_5d7,"01");ctr++;}return ctr;},populateNumGuests:function(){var _5d9=this.numGuestsSelectNode;_5d9.innerHTML="";var _5da=(this.readCookies&&_4.cookie("numGuests"))?_4.cookie("numGuests"):this.numGuests;for(i=1;i<=this.maxGuests;i++){_5d9.options[i-1]=new Option(i+"",i+"",false,false);if(parseInt(_5d9.options[i-1].value,10)==parseInt(_5da,10)){_5d9.options[i-1].selected=true;}else{_5d9.options[i-1].selected=false;}}},computeArrivalDateComponents:function(){var _5db=_32d(this.arrivalInput.value+"");this.formNode.month.value=_2ef(_5db,"MM");this.formNode.day.value=_2ef(_5db,"dd");this.formNode.year.value=_2ef(_5db,"yyyy");this.arrDate=_2ef(_5db,"MM/dd/yyyy");},computeNightstay:function(){this.formNode.nightstay.value=this._dateDifference(this.departureInput.value,this.arrivalInput.value);this.nightstay=this.nightstayNode.value;this.depDate=this._dateAdd(this.arrDate,this.nightstay);},updateCookies:function(){console.debug("DatepickerPanel.updateCookies begin");_4.cookie("arrivalDate",this.arrDate);_4.cookie("departureDate",this.depDate);_4.cookie("nightstay",this.nightstay);_4.cookie("numGuests",this.numGuests);console.debug("DatepickerPanel.updateCookies end");},onValidateFail:function(){},onNumGuestsChange:function(evt){console.debug("DatepickerPanel.onNumGuestsChange");this.numGuests=parseInt(this.numGuestsSelectNode.value,10);_4.cookie("numGuests",this.numGuests);if(this.autoSubmit){this.onSubmit();}},onSubmit:function(){try{console.debug("DatepickerPanel.onSubmit: this.submitMode="+this.submitMode);if(this.submitMode=="EXECUTE_JS"){var _5dd=document.scrollTop;if(this.validate()){this.computeArrivalDateComponents();this.computeNightstay();this.updateCookies();_4.publish("stayDatesChange",[this.arrDate,this.depDate]);}else{this.onValidateFail();}if(this.submitHandler!=""){eval(this.submitHandler+"();");setTimeout(_4.hitch(this,function(){document.scrollTop=_5dd;}),1000);}return false;}else{console.debug("DatepickerPanel.onSubmit:"+urlProtocol+"www.bookability.net/b2/"+this.script+"?siteid="+this.siteId+"&hnum="+this.hnum+"&nightstay="+this.nightstayNode.value);this.formNode.setAttribute("action",urlProtocol+"www.bookability.net/b2/"+this.script+"?siteid="+this.siteId+"&hnum="+this.hnum+"&nightstay="+this.nightstayNode.value);if(this.validate()){this.computeArrivalDateComponents();this.computeNightstay();this.updateCookies();console.debug("About to submit DatepickerPanel.formNode");this.formNode.submit();}}}catch(err){console.debug("DatepickerPanel.onSubmit-error: "+err.message);}},fadeInputText:function(_5de,_5df){var obj;if(_5df=="DEPARTURE"){obj=this.departureInput;}else{obj=this.arrivalInput;}if(_5de){_4.addClass(obj,"faded_text");}else{_4.removeClass(obj,"faded_text");}},onArrivalFocus:function(){console.debug("DatepickerPanel.onArrivalFocus");this.arrivalInput.value="";this.fadeInputText(false,"ARRIVAL");},onDepartureFocus:function(){console.debug("DatepickerPanel.onDepartureFocus");this.departureInput.value="";this.fadeInputText(false,"DEPARTURE");},onArrivalBlur:function(evt){console.debug("DatepickerPanel.onArrivalBlur");var _5e2=_32d(this.arrivalInput.value+"");if(_5e2){this.arrivalInput.value=_2ef(_5e2,"MM/dd/yyyy");}else{this.arrivalInput.value=this.lastArrivalDate;this.fadeInputText(true,"ARRIVAL");}if(this.hideButtonUntilValid&&this.datesChanged()){if(this.checkInputBoxes()){this.lastArrivalDate=this.arrivalInput.value;}}},datesChanged:function(){var _5e3=false;if(this.arrivalInput.value!=this.lastArrivalDate){_5e3=true;}if(this.departureInput.value!=this.lastDepartureDate){_5e3=true;}return _5e3;},onDepartureBlur:function(evt){console.debug("DatepickerPanel.onDepartureBlur");var _5e5=_32d(this.departureInput.value+"");if(_5e5){this.departureInput.value=_2ef(_5e5,"MM/dd/yyyy");}else{this.departureInput.value=this.lastDepartureDate;this.fadeInputText(true,"DEPARTURE");}if(this.hideButtonUntilValid&&this.datesChanged()){if(this.checkInputBoxes()){this.lastDepartureDate=this.departureInput.value;}}},setNumGuests:function(_5e6){try{if(_5e6){this.numGuests=_5e6;this.numGuestsSelectNode.value=this.numGuests;}else{throw ({message:"received no parameters"});}}catch(err){console.debug("DatepickerPanel.setNumGuests-error: "+err.message);}},setDateFromCookies:function(){try{if(_4.cookie("arrivalDate")){this.arrDate=_4.cookie("arrivalDate");this.arrivalInput.value=this.arrDate;this.fadeInputText(false,"ARRIVAL");if(_4.cookie("departureDate")){this.depDate=_4.cookie("departureDate");this.departureInput.value=this.depDate;this.fadeInputText(false,"DEPARTURE");this.computeNightstay();}else{if(_4.cookie("nightstay")){this.nightstay=_4.cookie("nightstay");this.nightstayNode.value=this.nightstay;}this.depDate=this._dateAdd(this.arrDate,this.nightstay);this.departureInput.value=this.depDate;this.fadeInputText(false,"DEPARTURE");}}}catch(err){console.debug("DatepickerPanel.setDateFromCookies-error: "+err.message);}},hideSubmitButton:function(){_4.addClass(this.submitButtonImageNode,"noshow");},showSubmitButton:function(){_4.removeClass(this.submitButtonImageNode,"noshow");},checkInputBoxes:function(){if(this.validate()){if(this.autoSubmit){this.onSubmit();}else{this.showSubmitButton();}return true;}else{this.hideSubmitButton();return false;}},postCreate:function(){if(this.submitButtonImageSrc==""){this.submitButtonImageSrc=_4.moduleUrl("topaz","widget/images/checkavailability.gif");this.submitButtonImageNode.src=this.submitButtonImageSrc;}},testBrowser:function(){try{var _5e7=baHelper.browserSupported();if(!_5e7){this.submitMode="BA2_SETDATE";console.debug("DatepickerPanel.testBrowser-error: browser not capable of some AJAX functionality. Submitting to HTML booking engine.");}return _5e7;}catch(err){console.debug("DatepickerPanel.testBrowser-error: "+err.message);}},startup:function(){this.testBrowser();if(this.hideButtonUntilValid){this.hideSubmitButton();}if(this.readCookies){this.setDateFromCookies();if(_4.cookie("numGuests")&&(parseInt(_4.cookie("numGuests"),10)>0)){this.setNumGuests(_4.cookie("numGuests"));}}if(parseInt(this.numGuests,10)<1){this.numGuests=1;}_4.subscribe("stayDatesChange",this,"setDateFromCookies");_4.subscribe("numGuestsChange",this,"setNumGuests");this.populateNumGuests();this.lastArrivalDate=this.initialArrVal;this.lastDepartureDate=this.initialDepVal;}});}if(!_4._hasResource["topaz.widget.DatepickerPanel_ArrivalNightsSelect"]){_4._hasResource["topaz.widget.DatepickerPanel_ArrivalNightsSelect"]=true;_4.provide("topaz.widget.DatepickerPanel_ArrivalNightsSelect");_4.declare("topaz.widget.DatepickerPanel_ArrivalNightsSelect",[_5._Widget,_5._Templated],{declaredClass:"DatepickerPanel_ArrivalNightsSelect",templateString:"<div id=\"${id}\" widgetId=\"${id}\" dojoAttachPoint=\"mainNode\" class=\"datepickerPanel\">\r\n \t<form dojoAttachPoint=\"formNode\" method=\"${formMethod}\" action=\"${formAction}\">\r\n  \t<div class=\"label arrivalLabel\">\r\n\t\t<span>${arrivalLabel}</span>\r\n\t</div> \r\n\t<div class=\"arrivalSelect\" dojoAttachPoint=\"arrivalMonthSelectSpan\">\r\n\t\t<select dojoType=\"Select\" dojoAttachPoint=\"arrivalMonthSelect\" type=\"text\" name=\"month\" class=\"month\"\r\n\t\t\t\tdojoAttachEvent=\"onchange:onArrivalMonthChange\">\r\n\t\t</select>\r\n\t\t<select dojoType=\"Select\" dojoAttachPoint=\"arrivalDaySelect\" type=\"text\" name=\"day\" class=\"day\"\r\n\t\t\t\tdojoAttachEvent=\"onchange:onArrivalDayChange\">\r\n\t\t</select>\r\n\t\t<select dojoType=\"Select\" dojoAttachPoint=\"arrivalYearSelect\" type=\"text\" name=\"year\" class=\"year\"\r\n\t\t\t\tdojoAttachEvent=\"onchange:onArrivalYearChange\">\r\n\t\t</select>\r\n\t</div>\r\n\t<div class=\"label nightstayLabel\">\r\n\t\t<span>${nightstayLabel}</span>\r\n\t</div>\r\n\t<div class=\"nightstaySelect\">\r\n\t\t<select size=\"1\" dojoAttachPoint=\"nightStaySelect\" type=\"text\" name=\"nightstay\"\r\n\t\t\t\tdojoAttachEvent=\"onchange:onNightStayChange\">\r\n\t\t\t<option value=\"1\" selected >1</option>\r\n\t\t\t<option value=\"2\">2</option>\r\n\t\t\t<option value=\"3\">3</option>\r\n\t\t\t<option value=\"4\">4</option>\r\n\t\t\t<option value=\"5\">5</option>\r\n\t\t\t<option value=\"6\">6</option>\r\n\t\t\t<option value=\"7\">7</option>\r\n\t\t\t<option value=\"8\">8</option>\r\n\t\t\t<option value=\"9\">9</option>\r\n\t\t\t<option value=\"10\">10</option>\r\n\t\t\t<option value=\"11\">11</option>\r\n\t\t\t<option value=\"12\">12</option>\r\n\t\t\t<option value=\"13\">13</option>\r\n\t\t\t<option value=\"14\">14</option>\r\n\t\t\t<option value=\"15\">15</option>\r\n\t\t</select>\t\r\n\t</div>\r\n\t<div class=\"promoCode\">\r\n\t\t<span class=\"promoCodeLabel\">\r\n\t\t\t${promoCodeLabel}\r\n\t\t</span>\r\n\t\t<span class=\"promoCodeInput\">\r\n\t\t\t<input type=\"text\" name=\"pcod\" value=\"${promoCode}\">\t\r\n\t\t</span>\r\n\t</div>\r\n   <div\r\n\tclass=\"submitButton\">\r\n\t\t<a href=\"#\" dojoAttachEvent=\"onclick:onSubmit\"><img dojoAttachPoint=\"submitButtonImageNode\" border=\"0\" src=\"${submitButtonImageSrc}\" alt=\"${submitAltText}\"></a>\r\n   </div>\r\n\t<input type=\"hidden\" name=\"siteid\" value=\"${siteId}\">\r\n\t<input type=\"hidden\" name=\"hnum\" value=\"${hotelId}\">\r\n\t</form>\r\n</div>\r\n",mainNode:null,formNode:null,arrivalMonthSelectSpan:null,arrivalMonthSelect:null,arrivalDaySelect:null,arrivalYearSelect:null,nightStaySelect:null,submitButtonImageNode:null,vertical:false,id:"",submitMode:"BA2_SETDATE",submitHandler:"this.defaultSubmitHandler",readCookies:false,promoCodeLabel:"Promo Code:",arrivalLabel:"Arrival Date:",nightstayLabel:"Nights:",submitButtonImageSrc:"",submitAltText:"Check Availability",formMethod:"GET",formAction:"http://www.bookability.net/b2/hoteltop.php",formActionEnabled:true,dateFormat:"MM/dd/yyyy",monthArray:["Month","January","February","March","April","May","June","July","August","September","October","November","December"],arrivalMonth:null,arrivalDay:null,arrivalYear:null,nightstay:1,promoCode:"",siteId:"",hotelId:"",daysInAdvance:0,numYearChoices:3,maxNights:15,setSiteId:function(_5e8){try{this.siteId=_5e8;this.formNode.siteid.value=_5e8;}catch(err){console.debug("DP_ANS.setSiteId-error: "+err.message);}},setHotelId:function(_5e9){try{this.hotelId=_5e9;this.formNode.hnum.value=_5e9;}catch(err){console.debug("DP_ANS.setHotelId-error: "+err.message);}},_extractday:function(_5ea){_5ea+="";return parseInt(_5ea.substring(3,5),10);},_extractyear:function(_5eb){_5eb+="";return parseInt(_5eb.substring(6,10),10);},_extractmonth:function(_5ec){_5ec+="";return parseInt(_5ec.substring(0,2),10);},_getMonthNumDays:function(_5ed,_5ee){var _5ef=0;switch(parseInt(_5ed,10)){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_5ef=31;break;case 2:if((_5ee%4)==0){_5ef=29;}else{_5ef=28;}break;default:_5ef=30;break;}return _5ef;},_dateAdd:function(_5f0,_5f1){var _5f2=parseInt(this._extractmonth(_5f0),10);var _5f3=parseInt(this._extractday(_5f0),10);var _5f4=parseInt(this._extractyear(_5f0),10);var _5f5=this._getMonthNumDays(_5f2,_5f4);_5f3+=parseInt(_5f1,10);while(_5f3>_5f5){_5f3=_5f3-_5f5;_5f2++;if(_5f2>12){_5f2=1;_5f4++;}_5f5=this._getMonthNumDays(_5f2,_5f4);}_5f2=_5f2<10?"0"+_5f2:""+_5f2;_5f3=_5f3<10?"0"+_5f3:""+_5f3;return _5f2+"/"+_5f3+"/"+_5f4;},_getDateStr:function(strM,strD,strY,_5f9){if(!_5f9){_5f9="MM/dd/yyyy";}return _4.date.locale.format(this._getDate(strM,strD,strY),{selector:"date",datePattern:_5f9});},_getDate:function(strM,strD,strY){var _5fd=new Date();var _5fe=parseInt(strM,10)-1;var _5ff=parseInt(strD,10);var _600=parseInt(strY,10);_5fd.setFullYear(_600,_5fe,_5ff);return _5fd;},getArrivalDate:function(){return this._getDateStr(this.arrivalMonth,this.arrivalDay,this.arrivalYear,"MM/dd/yyyy");},getDepartureDate:function(){return this._dateAdd(this.getArrivalDate(),this.nightstay);},_checkDates:function(){try{var _601=this.getmonthnumdays(this.arrivalMonth,this.arrivalYear);if(this.arrivalDay>_601){this.arrivalDay=_601;}this.populateDays();}catch(err){console.debug("DP_ANS._checkDates-error: "+err.message);}},onArrivalMonthChange:function(evt){try{console.debug("DP_ANS.onArrivalMonthChange");this.arrivalMonth=parseInt(this.arrivalMonthSelect.value);this._checkDates();}catch(err){console.debug("DP_ANS.onArrivalMonthChange-error: "+err.message);}},onArrivalDayChange:function(evt){console.debug("DP_ANS.onArrivalDayChange");this.arrivalDay=parseInt(this.arrivalDaySelect.value);},onArrivalYearChange:function(evt){console.debug("DP_ANS.onArrivalYearChange");this.arrivalYear=parseInt(this.arrivalYearSelect.value);this._checkDates();},onNightStayChange:function(evt){console.debug("DP_ANS.onNightStayChange");this.nightstay=parseInt(this.nightStaySelect.value);},defaultSubmitHandler:function(){console.debug("DatepickerPanel_ArrivalNightsSelect.defaultSubmitHandler");},onSubmit:function(evt){if(this.submitMode=="EXECUTE_JS"){this.formNode.setAttribute("action","#");this.updateCookies();eval(this.submitHandler+"();");_4.publish("stayDatesChange",[this.getArrivalDate(),getDepartureDate()]);}else{if(this.formActionEnabled){this.formNode.submit();}}},addLeadingZeros:function(num){var _608;if(parseInt(num)<10){_608="0"+num;}else{_608=""+num;}return _608;},getmonthnumdays:function(_609,_60a){var _60b=0;switch(parseInt(_609)){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_60b=31;break;case 2:if((parseInt(_60a)%4)==0){_60b=29;}else{_60b=28;}break;default:_60b=30;break;}return _60b;},populateDays:function(){var _60c=this.arrivalDaySelect;this.arrivalDaySelect.innerHTML="";_60c.options[0]=new Option("dd","00",false,false);for(i=1;i<=this.getmonthnumdays(this.arrivalMonth,this.arrivalYear);i++){_60c.options[i]=new Option(i+"",i,false,false);if(_60c.options[i].value==this.arrivalDay){_60c.options[i].selected=true;}else{_60c.options[i].selected=false;}}},populateDropDowns:function(){try{var _60d=new Date();var _60e=this.arrivalMonthSelect;_60e.options[0]=new Option(this.monthArray[0],"0",false,false);_60e.options[1]=new Option(this.monthArray[1],"1",false,false);_60e.options[2]=new Option(this.monthArray[2],"2",false,false);_60e.options[3]=new Option(this.monthArray[3],"3",false,false);_60e.options[4]=new Option(this.monthArray[4],"4",false,false);_60e.options[5]=new Option(this.monthArray[5],"5",false,false);_60e.options[6]=new Option(this.monthArray[6],"6",false,false);_60e.options[7]=new Option(this.monthArray[7],"7",false,false);_60e.options[8]=new Option(this.monthArray[8],"8",false,false);_60e.options[9]=new Option(this.monthArray[9],"9",false,false);_60e.options[10]=new Option(this.monthArray[10],"10",false,false);_60e.options[11]=new Option(this.monthArray[11],"11",false,false);_60e.options[12]=new Option(this.monthArray[12],"12",false,false);var _60f;for(i=0;i<=12;i++){if(_60e.options[i].value==this.arrivalMonth){_60e.options[i].selected=true;_60f=i;}else{_60e.options[i].selected=false;}}this.populateDays();var _611=this.arrivalYearSelect;_611.options[0]=new Option("Year","0000",false,false);for(var i=1;i<=this.numYearChoices;i++){_611.options[i]=new Option(_60d.getFullYear()+i-1,_60d.getFullYear()+i-1,false,false);if(_611.options[i].value==this.arrivalYear){_611.options[i].selected=true;}}nightstayselect=this.nightStaySelect;nightstayselect.options[0]=new Option(" ","00",false,false);for(i=1;i<=this.maxNights;i++){nightstayselect.options[i]=new Option(i+"",this.addLeadingZeros(i),false,false);if(nightstayselect.options[i].value==this.nightstay){nightstayselect.options[i].selected=true;}else{nightstayselect.options[i].selected=false;}}if(!_4.cookie("arrivalDate")){this.updateCookies();_4.publish("stayDatesChange",[this.getArrivalDate(),getDepartureDate()]);}}catch(err){console.debug("DP_ANS.populateDropDowns-error: "+err.message);}},updateCookies:function(){try{console.debug("DatepickerPanel_ArrivalNightsSelect.updateCookies begin");_4.cookie("arrivalDate",this.getArrivalDate());_4.cookie("departureDate",this.getDepartureDate());_4.cookie("nightstay",this.nightstay);console.debug("DatepickerPanel_ArrivalNightsSelect.updateCookies end");}catch(err){console.debug("DatepickerPanel_ArrivalNightSelect.updateCookies-error: "+err.message);}},setDateFromCookies:function(){if(_4.cookie("arrivalDate")){this.arrivalMonth=this._extractmonth(_4.cookie("arrivalDate"));this.arrivalDay=this._extractday(_4.cookie("arrivalDate"));this.arrivalYear=this._extractyear(_4.cookie("arrivalDate"));if(_4.cookie("nightstay")){this.nightstay=this.addLeadingZeros(_4.cookie("nightstay"));}}this.populateDropDowns();},postCreate:function(){console.debug("DatepickerPanel_ArrivalNightsSelect.postCreate");},startup:function(){console.debug("DatepickerPanel_ArrivalNightsSelect.startup");try{if(!(this.arrivalMonth&&this.arrivalDay&&this.arrivalYear)){var _612=new Date();var _613=_4.date.add(_612,"day",this.daysInAdvance);this.arrivalMonth=_613.getMonth()+1;this.arrivalDay=_613.getDate();this.arrivalYear=_613.getFullYear();if(this.vertical){_4.removeClass(this.mainNode,"datepickerPanel_horizontal");_4.addClass(this.mainNode,"datepickerPanel_vertical");}else{_4.removeClass(this.mainNode,"datepickerPanel_vertical");_4.addClass(this.mainNode,"datepickerPanel_horizontal");}}if(this.submitButtonImageSrc==""||!this.submitButtonImageSrc){this.submitButtonImageSrc=_4.moduleUrl("topaz","widget/images/datepicker_submit.gif");this.submitButtonImageNode.src=this.submitButtonImageSrc;}if(this.readCookies){this.setDateFromCookies();_4.subscribe("stayDatesChange",this,"setDateFromCookies");}this.populateDropDowns();}catch(err){console.debug("DP_ANS.startup-error: "+err.message);}}});}if(!_4._hasResource["topaz.widget.CalendarWidget"]){_4._hasResource["topaz.widget.CalendarWidget"]=true;_4.provide("topaz.widget.CalendarWidget");_4.declare("topaz.widget.CalendarWidget",[_5._Widget,_5._Templated],{declaredClass:"CalendarWidget",templateString:"<div id=\"${id}\" widgetId=\"${id}\" dojoAttachPoint=\"mainNode\" class=\"calendarWidget\">\r\n\t<div dojoAttachPoint=\"calendarNode\" class=\"calendar\">\r\n\t\t<table class=\"calendarlayout\">\t\r\n\t\t\t<tr class=\"monthyear\">\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<table class=\"monthyearlayout\">\r\n\t\t\t\t\t   <tr>\r\n\t\t\t\t\t      <td class=\"month\"><span dojoAttachPoint=\"monthSpanNode\">&nbsp;</span>\r\n\t\t\t\t\t      </td>\r\n\t\t\t\t\t      <td class=\"year\"><span dojoAttachPoint=\"yearSpanNode\">&nbsp;</span>\r\n\t\t\t\t\t      </td>\r\n\t\t\t\t\t   </tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr class=\"space_under_monthyear\">\r\n\t\t\t\t<td></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr class=\"daylabelsrow\">\r\n\t\t\t\t<td class=\"daylabels\">\r\n\t\t\t\t\t<table class=\"daylabelsgrid\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td><span dojoAttachPoint=\"sundaySpanNode\">Su</span></td>\r\n\t\t\t\t\t\t\t<td><span dojoAttachPoint=\"mondaySpanNode\">Mo</span></td>\r\n\t\t\t\t\t\t\t<td><span dojoAttachPoint=\"tuesdaySpanNode\">Tu</span></td>\r\n\t\t\t\t\t\t\t<td><span dojoAttachPoint=\"wednesdaySpanNode\">We</span></td>\r\n\t\t\t\t\t\t\t<td><span dojoAttachPoint=\"thursdaySpanNode\">Th</span></td>\r\n\t\t\t\t\t\t\t<td><span dojoAttachPoint=\"fridaySpanNode\">Fr</span></td>\r\n\t\t\t\t\t\t\t<td><span dojoAttachPoint=\"saturdaySpanNode\">Sa</span></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr class=\"space_under_daylabels\">\r\n\t\t\t\t<td></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr class=\"daysrow\">\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<table class=\"daysgrid\">\r\n\t\t\t\t\t\t<tr class=\"daysgrid_row1\">\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row1_col1\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row1_col2\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row1_col3\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row1_col4\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row1_col5\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row1_col6\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row1_col7\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class=\"daysgrid_row2\">\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row2_col1\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row2_col2\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row2_col3\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row2_col4\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row2_col5\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row2_col6\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row2_col7\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class=\"daysgrid_row3\">\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row3_col1\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row3_col2\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row3_col3\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row3_col4\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row3_col5\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row3_col6\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row3_col7\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class=\"daysgrid_row4\">\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row4_col1\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row4_col2\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row4_col3\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row4_col4\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row4_col5\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row4_col6\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row4_col7\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class=\"daysgrid_row5\">\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row5_col1\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row5_col2\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row5_col3\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row5_col4\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row5_col5\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row5_col6\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row5_col7\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class=\"daysgrid_row6\">\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row6_col1\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row6_col2\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row6_col3\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row6_col4\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row6_col5\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row6_col6\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td dojoAttachPoint=\"calendar_row6_col7\"><span dojoAttachEvent=\"onclick:onCalendarDayClick\">&nbsp;</span>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</div>\r\n\t<!--span id=\"testingA\">xAx</span>\r\n\t<span dojoType=\"tooltip\" connectId=\"testingA\" caption=\"TESTING TOOLTIP A\"></span>\r\n\t<span id=\"testingB\">xBx</span>\r\n\t<span dojoType=\"tooltip\" connectId=\"testingB\" caption=\"TESTING TOOLTIP B\"></span>\r\n\t<span dojoType=\"tooltip\" connectId=\"04_21_2007\" caption=\"Arnold's Birthday!\"></span-->\r\n</div>\r\n",containerId:"",calendarData:null,domainName:hostname,hotelId:"",siteId:"",promoCode:"",roomId:"",ratePlanId:"",month:3,year:2007,availCalSource:"",tempSpan:null,mainNode:null,calendarNode:null,monthSpanNode:null,yearSpanNode:null,calendar_row1_col1:null,calendar_row1_col2:null,calendar_row1_col3:null,calendar_row1_col4:null,calendar_row1_col5:null,calendar_row1_col6:null,calendar_row1_col7:null,calendar_row2_col1:null,calendar_row2_col2:null,calendar_row2_col3:null,calendar_row2_col4:null,calendar_row2_col5:null,calendar_row2_col6:null,calendar_row2_col7:null,calendar_row3_col1:null,calendar_row3_col2:null,calendar_row3_col3:null,calendar_row3_col4:null,calendar_row3_col5:null,calendar_row3_col6:null,calendar_row3_col7:null,calendar_row4_col1:null,calendar_row4_col2:null,calendar_row4_col3:null,calendar_row4_col4:null,calendar_row4_col5:null,calendar_row4_col6:null,calendar_row4_col7:null,calendar_row5_col1:null,calendar_row5_col2:null,calendar_row5_col3:null,calendar_row5_col4:null,calendar_row5_col5:null,calendar_row5_col6:null,calendar_row5_col7:null,calendar_row6_col1:null,calendar_row6_col2:null,calendar_row6_col3:null,calendar_row6_col4:null,calendar_row6_col5:null,calendar_row6_col6:null,calendar_row6_col7:null,setSiteId:function(_614){this.siteId=_614;},setMonth:function(_615){this.month=parseInt(_615);},setYear:function(_616){this.year=parseInt(_616);},_getMonthString:function(_617){var _618;switch(parseInt(_617)){case 1:_618="January";break;case 2:_618="February";break;case 3:_618="March";break;case 4:_618="April";break;case 5:_618="May";break;case 6:_618="June";break;case 7:_618="July";break;case 8:_618="August";break;case 9:_618="September";break;case 10:_618="October";break;case 11:_618="November";break;case 12:_618="December";break;}return _618;},drawBlankCalendar:function(){try{var _619=this.month;var _61a=this.year;var _61b;var _61c=this._getDayOfWeek(_619,1,_61a);var _61d=0;var _61e=0;var _61f;var j;for(j=0;j<42;j++){if(j%7==0){_61d++;_61e=1;}else{_61e++;}_61f=j-_61c+1;_61b=(_619<10)?"0"+_619:_619;tempCalDay=(_61f<10)?"0"+_61f:_61f;eval("this.tempSpan = this.calendar_row"+_61d+"_col"+_61e+".firstChild;");if(_61f>0&&_61f<=this._getMonthNumDays(_619,_61a)){var _621="this.tempSpan = this.calendar_row"+_61d+"_col"+_61e+".childNodes[0];";eval(_621);this.tempSpan.setAttribute("id",this.id+"_"+_61b+"_"+tempCalDay+"_"+_61a);this.tempSpan.innerHTML=_61f;var _622=_4.date.locale.format(new Date(),{selector:"date",datePattern:"MM/dd/yyyy"});var _623=_622!=_61b+"/"+tempCalDay+"/"+_61a;var _624=new Date();_624.setFullYear(_61a,_619-1,_61f);if(_623&&0==_4.date.compare(_624,new Date(),"date")){this.tempSpan.className="pastday";}else{this.tempSpan.className="defaultday";}}else{this.tempSpan.innerHTML="&nbsp;";this.tempSpan.setAttribute("id","");this.tempSpan.className="blankspace";}}}catch(err){console.debug("CalendarWidget.drawBlankCalendar-error: "+err.message);}},_getMonthNumDays:function(_625,_626){var _627=0;switch(parseInt(_625,10)){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_627=31;break;case 2:if((_626%4)==0){_627=29;}else{_627=28;}break;default:_627=30;break;}return _627;},onDateSelect:function(_628,_629,evt,_62b){},onCalendarDayClick:function(evt){try{if(evt){evt.stopPropagation();evt.cancelBubble=true;}var _62d=evt.srcElement?evt.srcElement:evt.originalTarget;var _62e=_62d.getAttribute("id")+"";var _62f=this.id+"_";var _630=_62e.substring(_62f.length);this.onDateSelect(_630,_62d,evt,this.id);}catch(err){console.debug("CalendarWidget.onCalendarDayClick-error: "+err.message);}},_getDayOfWeek:function(_631,_632,_633){var _634=new Date();_634.setFullYear(parseInt(_633,10),parseInt(_631,10)-1,parseInt(_632,10));return parseInt(_634.getDay(),10);},initialize:function(){this.drawBlankCalendar();},_replaceSubstring:function(_635,from,to){var _638="";while(_635.length>=from.length&&_635.length>0&&from.length>0){if(_635.substring(0,from.length)==from){_638+=to;_635=_635.substring(from.length);}else{_638+=_635.substring(0,1);_635=_635.substring(1);}}return _638+_635;},displayAvailability:function(){try{var _639;var _63a;var _63b;var _63c;for(_63b=1;_63b<=this.calendarData.getNumDays();_63b++){if(!this.calendarData.getDayData(_63b)){continue;}var _63d=this.calendarData.getDayData(_63b);var _63e=_63d.getDate();var _63f=this._replaceSubstring(_63e,"/","_");var _640=_4.byId(this.id+"_"+_63f);_639=_63d.getNumberAvailable();_63a=true;_63c=_63d.getRestriction();if(_63a&&(_639>0)&&(_63c==""||_63c+0==0)){_4.removeClass(_640,"defaultday");_4.addClass(_640,"availableday");}else{if((_639>0)&&(_63c!=""||_63c+0>0)){_4.removeClass(_640,"defaultday");_4.addClass(_640,"withrestrictions");}else{if(parseInt(_63d.getOtherRoom(),10)>0){_4.removeClass(_640,"defaultday");_4.addClass(_640,"otherrooms_availableday");}else{_4.removeClass(_640,"defaultday");_4.addClass(_640,"soldoutday");}}}}}catch(err){console.debug("CalendarWidget.displayAvailability-error: "+err.message);}},onLoaderDone:function(_641,_642){try{if(this.calendarData){if(this.calendarData.hNum!=""){this.displayAvailability();}}}catch(err){console.debug("CalendarWidget.onLoaderDone-error: "+err.message);}},postCreate:function(){},startup:function(){var _643;var _644;this.monthSpanNode.innerHTML=this._getMonthString(this.month);this.yearSpanNode.innerHTML=this.year;this.initialize();if(!this.calendarData){try{try{this.calendarData=new CalendarData(this.month,this.year,this.siteId,this.availCalSource);if(this.calendarData.loader&&this.availCalSource&&this.availCalSource!=""){this.calendarData.loader.availCalSource=this.availCalSource;}}catch(err){}this.calendarData.setHNum(this.hotelId);this.calendarData.setPromoCode(this.promoCode);this.calendarData.setRoomType(this.roomId);this.calendarData.setRatePlan(this.ratePlanId);_644=this.calendarData.loader;_4.connect(_644,"onLoaderDone",this,"onLoaderDone");if(this.hotelId!=""&&this.siteId!=""){_644.ajaxCalendarRequest(_644.loadCalendar);}else{var _645=false;this.onLoaderDone(null,null,_645);}}catch(err){console.debug("CalendarWidget.startup-error: "+err.message);}}}});}if(!_4._hasResource["topaz.widget.CalendarsPanel"]){_4._hasResource["topaz.widget.CalendarsPanel"]=true;_4.provide("topaz.widget.CalendarsPanel");_4.declare("topaz.widget.CalendarsPanel",[_5._Widget,_5._Templated,_5._Container],{declaredClass:"CalendarsPanel",templateString:"<div id=\"${id}\" widgetId=\"${id}\" dojoAttachPoint=\"mainNode\" class=\"calendarspanel\">\r\n  <div   dojoAttachEvent=\"onclick:onPanelClick\">\r\n\t<div class=\"close\">\r\n\t\t<span class=\"closeControl\" dojoAttachEvent=\"onclick:_onCloseClick\">\r\n\t\t\t<IMG id=\"${id}_close\" dojoAttachPoint=\"closeControlImg\" src=\"${topazRoot}/widget/images/closeButton.gif\" style=\"cursor:pointer; text-decoration: underline;\" ALT=\"Close\">\r\n\t\t</span>\r\n\t</div>  \r\n\t<div class=\"control\">\r\n\t\t<span class=\"prevControl\" dojoAttachEvent=\"onclick:onPrevClick\">\r\n\t\t\t<IMG id=\"${id}_prev\" dojoAttachPoint=\"prevControlImg\" src=\"${topazRoot}/widget/images/prev.gif\" style=\"cursor:pointer; text-decoration: underline;\" ALT=\"Prev\">\r\n\t\t</span>\r\n\t\t&nbsp;\r\n\t\t<span class=\"nextControl\" dojoAttachEvent=\"onclick:onNextClick\">\r\n\t\t\t<IMG dojoAttachPoint=\"nextControlImg\" src=\"${topazRoot}/widget/images/next.gif\"  style=\"cursor:pointer; text-decoration: underline;\" ALT=\"Next\">\t\t\t\t\r\n\t\t</span>\r\n\t\t<br>\r\n\t</div>\r\n\t<div dojoAttachPoint=\"ratePlanContextNode\" id=\"${id}_ratePlanContext\" class=\"context ratePlanContext\">\r\n\t</div>\t\t\r\n\t<div dojoAttachPoint=\"roomTypeContextNode\" id=\"${id}_roomTypeContext\" class=\"context roomTypeContext\">\r\n\t</div>\t\t\r\n\t<div dojoAttachPoint=\"calendarsContainerNode\" class=\"calendarContainer\">\r\n\t</div>\r\n\t<div dojoAttachPoint=\"instructionsNode\" id=\"${id}_instructions\" class=\"instructions\">&nbsp;\r\n\t</div>\t\r\n\t<div class=\"legendNode\" dojoAttachPoint=\"legendNode\">\r\n\t\t<table class=\"legend\">\r\n\t\t   <tr class=\"legendrow_availableday\">\r\n\t\t\t<td class=\"availableday\">15</td>\r\n\t\t\t<td class=\"legend_descr\" dojoAttachPoint=\"availDayLegendDescrNode\">${availableDayLegendString}</td>\r\n\t\t   </tr>\r\n\t\t   <tr class=\"legendrow_withrestrictions\">\r\n\t\t\t<td class=\"withrestrictions\">15</td>\r\n\t\t\t<td class=\"legend_descr\" dojoAttachPoint=\"withRestrLegendDescrNode\">${withRestrictionsLegendString}</td>\r\n\t\t   </tr>\t\t   \r\n\t\t   <tr dojoAttachPoint=\"otherRmsRowNode\" class=\"legendrow_otherrooms_avail\">\r\n\t\t\t<td class=\"otherrooms_availableday\">15</td>\r\n\t\t\t<td class=\"legend_descr\" dojoAttachPoint=\"otherRmsAvailLegendDescrNode\">${otherAvailLegendString}</td>\r\n\t\t   </tr>\r\n\t\t   <tr class=\"legendrow_soldout\">\r\n\t\t\t<td class=\"soldoutday\">15</td>\r\n\t\t\t<td class=\"legend_descr\">${soldoutDayLegendString}</td>\r\n\t\t   </tr>\r\n\t\t</table>\t\t\r\n\t</div>\t\r\n\t<div dojoAttachPoint=\"loadingImageDivNode\" class=\"loadingImage\">\r\n\t\t<img src=\"${topazRoot}/widget/images/loading.gif\" alt=\"Refreshing Calendars...\" />\r\n\t</div>\r\n   </div>\t\t\t\r\n</div>\r\n",dojoRoot:_4.baseUrl,topazRoot:_4.moduleUrl("topaz"),id:"",siteId:"",hotelId:"",roomId:"",promoCode:"",ratePlanId:"",readCookies:false,clearRoomOnHotelChange:false,hotelContextOnly:false,numCals:2,autoInitialize:true,resetInstructions:true,calCtr:0,rangeSelect:true,onlyAutoRefreshForHotelId:"",onlyAutoRefreshForRoomId:"",onlyAutoRefreshForRatePlanId:"",calendars:[],availCalSource:"",startMonth:"",startYear:"",availableDayLegendString:"Selected room available",otherAvailLegendString:"Other rooms available",soldoutDayLegendString:"Sold-out",withRestrictionsLegendString:"Avail. w/Restrictions",instrArrText:"CLICK ARRIVAL DATE",instrDepText:"CLICK DEPARTURE DATE",selectMode:"arrival",numDaysAdvance:0,arrivalDate:"",departureDate:"",lastArrivalDate:"",lastDepartureDate:"",instructionShown:true,requireAvailability:false,clickedDates:[],calendarIds:[],timeoutRef:null,timeoutDelay:1000,loadedCals:0,loadTimeout:20000,loadingTimer:null,mainNode:null,instructionsNode:null,legendNode:null,prevControlImg:null,nextControlImg:null,closeControlImg:null,availDayLegendDescrNode:null,otherRmsAvailLegendDescrNode:null,otherRmsRowNode:null,withRestrLegendDescrNode:null,tooltipNode:null,loadingImageDivNode:null,calendarsContainerNode:null,ratePlanContextNode:null,roomTypeContextNode:null,setRatePlanContextHtml:function(_646){if(!this.hotelContextOnly){this.ratePlanContextNode.innerHTML=_646;}},setRoomTypeContextHtml:function(_647){if(!this.hotelContextOnly){this.roomTypeContextNode.innerHTML=_647;}},whichCalIndex:function(_648){try{var _649=this._extractmonth(_648)+0;var _64a=parseInt(this.startMonth,10);if(_64a<=_649){return _649-_64a;}else{}return _649+12-_64a;}catch(err){console.debug("CalendarsPanel.whichCalIndex-error: "+err.message);}},getCalId:function(_64b){return this.calendarIds[this.whichCalIndex(_64b)];},setInstructionsHtml:function(_64c){this.instructionsNode.innerHTML=_64c;},getFormattedArrivalDate:function(_64d){if(!_64d){_64d="MM/dd/yyyy";}var d=new Date();d.setFullYear(this._extractyear(this.arrivalDate),this._extractmonth(this.arrivalDate)-1,this._extractday(this.arrivalDate));console.debug(d);return _4.date.locale.format(d,{selector:"date",datePattern:_64d});},showOtherRoomsLegend:function(){_4.removeClass(this.otherRmsRowNode,"noshow");},hideOtherRoomsLegend:function(){_4.addClass(this.otherRmsRowNode,"noshow");},getHotelId:function(){return this.hotelId;},setLoading:function(){_4.removeClass(this.loadingImageDivNode,"noshow");this.loadingTimer=setTimeout(_4.hitch(this,function(){this.resetLoading();}),this.loadTimeout);},resetLoading:function(){_4.addClass(this.loadingImageDivNode,"noshow");if(this.loadingTimer){clearTimeout(this.loadingTimer);}},setAvailDayLegendDescr:function(_64f){this.availDayLegendDescrNode.innerHTML=_64f;},setOtherAvailLegendDescr:function(_650){this.otherRmsAvailLegendDescrNode.innerHTML=_650;},_extractday:function(_651){_651+="";return parseInt(_651.substring(3,5),10);},_extractyear:function(_652){_652+="";return parseInt(_652.substring(6,10),10);},_extractmonth:function(_653){_653+="";console.debug("CalendarsPanel._extractmonth('"+_653+"') ==>"+parseInt(_653.substring(0,2),10));return parseInt(_653.substring(0,2),10);},_dateAdd:function(_654,_655){var _656=parseInt(this._extractmonth(_654),10);var _657=parseInt(this._extractday(_654),10);var _658=parseInt(this._extractyear(_654),10);var _659=this._getMonthNumDays(_656,_658);_657+=parseInt(_655,10);while(_657>_659){_657=_657-_659;_656++;if(_656>12){_656=1;_658++;}_659=this._getMonthNumDays(_656,_658);}_656=_656<10?"0"+_656:""+_656;_657=_657<10?"0"+_657:""+_657;return _656+"/"+_657+"/"+_658;},computeNightstay:function(){var _65a=this.arrivalDate;var _65b=this.departureDate;var _65c=0;var _65d=_65a;while(_65c<62&&_65d!=_65b){_65d=this._dateAdd(_65d,"01");_65c++;}return _65c;},setSiteId:function(_65e){this.siteId=_65e;},setHotelId:function(_65f){this.hotelId=_65f;},_checkAvailabilityForDate:function(_660){try{_660=_660.substring(0,2)+"/"+_660.substring(3,5)+"/"+_660.substring(6);console.debug("CalendarsPanel._checkAvailabilityForDate start. thisDate="+_660);var _661=false;_4.query("#"+this.id+" DIV.calendar SPAN").forEach(function(node,_663,arr){if(_4.hasClass(node,"availableday")){var _665=node.id+"";var _666=_665.substring(_665.length-10);_666=_666.substring(0,2)+"/"+_666.substring(3,5)+"/"+_666.substring(6);if(_660==_666){_661=true;}}});console.debug("CalendarsPanel._checkAvailabilityForDate finish. thisDate="+_660+", found="+_661);return _661;}catch(err){console.debug("CalendarsPanel._checkAvailabilityForDate-error: "+err.message);}},_getMonthForCalendarNumber:function(_667){var _668=parseInt(this.startMonth,10)+_667-1;return _668>12?_668-12:_668;},_getYearForCalendarNumber:function(_669){if(_669==2&&this.startMonth==12){return parseInt(this.startYear,10)+1;}else{return parseInt(this.startYear,10);}},onDayClick:function(_66a,_66b,evt,_66d){evt.stopPropagation();evt.cancelBubble=true;_66a+="";console.debug("CalendarsPanel.onDayClick, thisDateStr="+_66a+", calWidgetId="+_66d);if(this.clickedDates==null){this.clickedDates=new Array();}this.clickedDates[this.clickedDates.length]=_66d+"_"+_66a;_66a=_66a.substring(0,2)+"/"+_66a.substring(3,5)+"/"+_66a.substring(6);if(this.rangeSelect){console.debug("CalendarsPanel thisSpanObj.id="+_66b.id);console.debug("CalendarsPanel thisDateStr="+_66a);_4.addClass(_66b,"clicked_date");this.setLoading();setTimeout(_4.hitch(this,function(){this._setArrivalDeparture(_66b);this.resetLoading();}),300);}else{this._undoHighlightStayDates(this.lastArrivalDate,this.lastDepartureDate);this._highlightStayDates(_66a,_66a);this.lastArrivalDate=_66a;this.lastDepartureDate=_66a;}this.onDateClick(_66a);},onDateClick:function(_66e){console.debug("CalendarsPanel.onDateClick, thisDateStr="+_66e);},onFirstCalendarLoaderDone:function(_66f,_670,_671){if(this.numCals==1){this.resetLoading();}},onLoaderDone:function(){this.loadedCals++;if(this.numCals==this.loadedCals){this.onAvailabilityReady();}},onAvailabilityReady:function(){},drawCalendars:function(){try{this.calendarsContainerNode.innerHTML="";delete this.calendars;this.calendars=new Array();var i;var _673=parseInt(this.startMonth,10),_674=parseInt(this.startYear,10);var _675=this.calendars;console.debug("In CalendarsPanel.drawCalendars, this.hotelId = "+this.hotelId+", this.promoCode = "+this.promoCode+", this.roomId = "+this.roomId);if(this.hotelId==""){this.resetLoading();}if(this.calendarIds!=null){delete this.calendarIds;}this.calendarIds=new Array();this.loadedCals=0;for(i=0;i<this.numCals;i++){console.debug(this.id+" Adding cal for: "+_673+"/"+_674);var _676=document.createElement("div");this.calendarsContainerNode.appendChild(_676);_676.setAttribute("id",this.id+"_cal"+this.calCtr);this.calendarIds[i]=this.id+"_cal"+this.calCtr;var _677="";if(this.availCalSource!=""){_677=this.availCalSource;}console.debug("this.availCalSource = "+this.availCalSource);console.debug("useThisACSource = "+_677);var _678={widgetId:this.id+"_cal"+this.calCtr,month:_673,year:_674,hotelId:this.hotelId,siteId:this.siteId,promoCode:this.promoCode,roomId:this.hotelContextOnly?"":this.roomId,ratePlanId:this.hotelContextOnly?"":this.ratePlanId,availCalSource:_677,containerId:this.id};this.calCtr++;_675[i]=new topaz.widget.CalendarWidget(_678,_676);_675[i].onDateSelect=_4.hitch(this,this.onDayClick);if(i==0){_4.connect(_675[0],"onLoaderDone",this,"onFirstCalendarLoaderDone");}_4.connect(_675[i],"onLoaderDone",this,"onLoaderDone");_675[i].startup();_673++;if(_673>12){_673=1;_674++;}}this._highlightStayDates(this.arrivalDate,this.departureDate);}catch(err){console.debug("CalendarsPanel.drawCalendars-error: "+err.message);}},_getMonthNumDays:function(_679,_67a){var _67b=0;switch(parseInt(_679,10)){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_67b=31;break;case 2:if((_67a%4)==0){_67b=29;}else{_67b=28;}break;default:_67b=30;break;}return _67b;},onPanelClick:function(evt){console.debug("CalendarsPanel.onPanelClick");evt.stopPropagation();evt.cancelBubble=true;},_onCloseClick:function(evt){console.debug("[CLOSE]");evt.stopPropagation();evt.cancelBubble=true;this.onCloseClick(evt);},onCloseClick:function(evt){},onPrevClick:function(evt){evt.stopPropagation();evt.cancelBubble=true;console.debug("[PREV]");this.setLoading();_4.addClass(this.prevControlImg,"hide");setTimeout(_4.hitch(this,function(){_4.removeClass(this.prevControlImg,"hide");}),200);this.startMonth=parseInt(this.startMonth,10)-1;if(this.startMonth<1){this.startYear=parseInt(this.startYear,10)-1;this.startMonth=12;}if(this.startMonth<10){this.startMonth="0"+this.startMonth;}else{this.startMonth+="";}this.startYear+="";clearTimeout(this.timeoutRef);this.timeoutRef=setTimeout(_4.hitch(this,function(){this.initialize();}),this.timeoutDelay);},onNextClick:function(evt){evt.stopPropagation();evt.cancelBubble=true;console.debug("[NEXT]");this.setLoading();_4.addClass(this.nextControlImg,"hide");setTimeout(_4.hitch(this,function(){_4.removeClass(this.nextControlImg,"hide");}),200);this.startMonth=parseInt(this.startMonth,10)+1;if(this.startMonth>12){this.startYear=parseInt(this.startYear,10)+1;this.startMonth=1;}if(this.startMonth<10){this.startMonth="0"+this.startMonth;}else{this.startMonth+="";}this.startYear+="";clearTimeout(this.timeoutRef);this.timeoutRef=setTimeout(_4.hitch(this,function(){this.initialize();}),this.timeoutDelay);},_getDayOfWeek:function(_681,_682,_683){var _684=new Date();_684.setFullYear(parseInt(_683,10),parseInt(_681,10)-1,parseInt(_682,10));return parseInt(_684.getDay(),10);},setRoomId:function(_685){this.roomId=_685;},setPromoCode:function(_686){this.promoCode=_686;},getStartMonthFromArrival:function(){var x=parseInt(this.arrivalDate.substring(0,2),10);return x;},getStartYearFromArrival:function(){var x=parseInt(this.arrivalDate.substring(6,10),10);return x;},initialize:function(){try{this.setLoading();var _689=_4.date.locale.format(new Date(),{selector:"date",datePattern:"MM/dd/yyyy"});console.debug("CalendarsPanel.initialize, this.arrivalDate =  "+this.arrivalDate);if(this.arrivalDate==""){this.arrivalDate=this._dateAdd(_689,this.numDaysAdvance);console.debug("CalendarsPanel.initialize: Have just set CalendarsPanel.arrivalDate to "+this.arrivalDate);this.departureDate=this._dateAdd(this.arrivalDate,"1");}console.debug("About to set this.lastArrivalDate = "+this.arrivalDate);this.lastArrivalDate=this.arrivalDate;console.debug("About to set this.lastDepartureDate = "+this.departureDate);this.lastDepartureDate=this.departureDate;this.onDefaultStayDatesSet();var _68a=this;var _68b=new Date();console.debug("startYear="+_68a.startYear);if(!_68a.startYear||_68a.startYear==""){_68a.startYear=this.getStartYearFromArrival();}console.debug("startYear="+this.startYear);console.debug("startMonth="+this.startMonth);if(!_68a.startMonth||_68a.startMonth==""){_68a.startMonth=this.getStartMonthFromArrival();}console.debug("startMonth="+_68a.startMonth);this.drawCalendars();}catch(err){console.debug("CalendarsPanel.initialize-error:"+err.message);this.resetLoading();}},_checkStayRangeIsAvailable:function(_68c,_68d){var _68e=_68c;var _68f=true;var ctr=0;while(_68e!=_68d&&ctr<29){_68f=_68f&&this._checkAvailabilityForDate(_68e);_68e=this._dateAdd(_68e,"01");ctr++;}_68f=_68f&&ctr<29;return _68f;},_getDateObject:function(_691,_692){if(!_692){_692="MM/dd/yyyy";}return _4.date.locale.parse(_691,{selector:"date",datePattern:_692});},getArrivalMonth:function(){var _693=this._getDateObject(this.arrivalDate);return _693.getMonth()+1;},_highlightStayDates:function(_694,_695){try{console.debug("CalendarsPanel._highlightStayDates start");var _696;var _697=_694;var ctr=0;if(_4.date.compare(this._getDateObject(_695),this._getDateObject(_694),"date")>=0){_696=this.getCalId(_697)+"_"+this._replaceSubstring(_697,"/","_");_4.addClass(_4.byId(_696),"highlighted");if(this.rangeSelect){while(_697!=_695&&ctr<29){_697=this._dateAdd(_697,"01");_696=this.getCalId(_697)+"_"+this._replaceSubstring(_697,"/","_");_4.addClass(_4.byId(_696),"highlighted");ctr++;}}}}catch(err){console.debug("CalendarsPanel._highlightStayDates-error: "+err.message);}},_unclickDates:function(){setTimeout(_4.hitch(this,function(){var i;if(this.clickedDates!=null){for(i=0;i<this.clickedDates.length;i++){try{if(_4.byId(this.clickedDates[i])){_4.removeClass(_4.byId(this.clickedDates[i]),"clicked_date");}}catch(err){console.debug("CalendarsPanel._unclickDates: ignored error: "+err.message);}}}this.clickedDates=null;}),500);},_undoHighlightStayDates:function(_69a,_69b){console.debug("About to _undoHighlightStayDates "+_69a+"-"+_69b);var _69c;var _69d=_69a;var ctr=0;if(_69a!=""&&_69b!=""){try{_69c=this.getCalId(_69a)+"_"+this._replaceSubstring(_69a,"/","_");_4.removeClass(_4.byId(_69c),"clicked_date");_69c=this.getCalId(_69b)+"_"+this._replaceSubstring(_69b,"/","_");_4.removeClass(_4.byId(_69c),"clicked_date");if(_4.date.compare(this._getDateObject(_69b),this._getDateObject(_69a),"date")>=0){_69c=this.getCalId(_69d)+"_"+this._replaceSubstring(_69d,"/","_");_4.removeClass(_4.byId(_69c),"highlighted");while(_69d!=_69b&&ctr<29){_69d=this._dateAdd(_69d,"01");_69c=this.getCalId(_69d)+"_"+this._replaceSubstring(_69d,"/","_");_4.removeClass(_4.byId(_69c),"highlighted");ctr++;}}}catch(err){console.debug("CalendarsPanel._undoHighlightStayDates: arrival and/or departure dates to undo are not in view.");}}},onDateRangeSelected:function(){},updateCookies:function(){_4.cookie("arrivalDate",this.arrivalDate);_4.cookie("departureDate",this.departureDate);_4.cookie("nightstay",parseInt(this.computeNightstay(),10));},_stringRight:function(str,n){if(n<=0){return "";}else{if(n>String(str).length){return str;}else{var iLen=String(str).length;return String(str).substring(iLen,iLen-n);}}},_setArrivalDeparture:function(_6a2){console.debug("CalendarsPanel._setArrivalDeparture begin");var _6a3=false;var _6a4="";var _6a5,_6a6,_6a7,_6a8,_6a9;var _6aa;_6aa=this._stringRight(_6a2.id+"",10);if(_6aa.substring(2,3)=="_"){console.debug("CalendarsPanel.lastArrivalDate="+this.lastArrivalDate);console.debug("CalendarsPanel.lastDepartureDate="+this.lastDepartureDate);switch(this.selectMode){case "arrival":this._undoHighlightStayDates(this.lastArrivalDate,this.lastDepartureDate);this.arrivalDate=this._replaceSubstring(_6aa,"_","/");this.departureDate=this._dateAdd(this.arrivalDate,1);this.selectMode="departure";if(this.instructionShown){this.instructionsNode.innerHTML="Arriving on "+this.arrivalDate+"<br><span class=\"instruct_bold\">"+this.instrDepText+"</span>"+_6a4;}break;case "departure":_6a7=this._replaceSubstring(_6aa,"_","/");_6a8=this._extractmonth(_6a7);_6a9=this._extractday(_6a7);_6a6=""+this._extractyear(_6a7)+(_6a8<10?"0"+_6a8:_6a8)+(_6a9<10?"0"+_6a9:_6a9);_6a8=this._extractmonth(this.arrivalDate);_6a9=this._extractday(this.arrivalDate);_6a5=""+this._extractyear(this.arrivalDate)+(_6a8<10?"0"+_6a8:_6a8)+(_6a9<10?"0"+_6a9:_6a9);if(!this.requireAvailability||this.requireAvailability=="false"||this._checkStayRangeIsAvailable(this.arrivalDate,_6a7+"")){if(_6a6>_6a5){this.selectMode="arrival";this.departureDate=_6a7;if(this.instructionShown){this.instructionsNode.innerHTML="Arriving on "+this.arrivalDate+"<br>Departing on "+this.departureDate+"<br>"+_6a4;if(this.resetInstructions&&this.instructionShown){setTimeout(_4.hitch(this,function(){this.instructionsNode.innerHTML="<span class=\"instruct_bold\">"+this.instrArrText+"</span>";}),2000);}}this.daterangeSelected=true;this.onDateRangeSelected();this._unclickDates();this._undoHighlightStayDates(this.lastArrivalDate,this.lastDepartureDate);this._highlightStayDates(this.arrivalDate,this.departureDate);this.lastArrivalDate=this.arrivalDate;this.lastDepartureDate=this.departureDate;this.updateCookies();setTimeout(_4.hitch(this,function(){_4.publish("stayDatesChange",[this.arrivalDate,this.departureDate]);}),300);}_6a3=true;}else{alert("Selected dates have at least one that is non-available.  Please select other dates.");console.debug("Reverting back...unhighlighting "+this.arrivalDate+" - "+this.departureDate);this._undoHighlightStayDates(this.arrivalDate,this.departureDate);this._highlightStayDates(this.lastArrivalDate,this.lastDepartureDate);this._unclickDates();this.selectMode="arrival";this.arrivalDate=this.lastArrivalDate;this.departureDate=this.lastDepartureDate;if(_6a6>_6a5){if(this.instructionShown){this.instructionsNode.innerHTML="<span class=\"instruct_bold\">"+this.instrArrText+"</span>";}}else{if(this.instructionShown){this.instructionsNode.innerHTML="Arriving on "+this.arrivalDate+"<br> Departing on "+this.departureDate+"<br>";if(this.resetInstructions&&this.instructionShown){setTimeout(_4.hitch(this,function(){this.instructionsNode.innerHTML="<span class=\"instruct_bold\">"+this.instrArrText+"</span>";}),2000);}}}}break;}}console.debug("CalendarsPanel._setArrivalDeparture end");return _6a3;},_replaceSubstring:function(_6ab,from,to){var _6ae="";while(_6ab.length>=from.length&&_6ab.length>0&&from.length>0){if(_6ab.substring(0,from.length)==from){_6ae+=to;_6ab=_6ab.substring(from.length);}else{_6ae+=_6ab.substring(0,1);_6ab=_6ab.substring(1);}}return _6ae+_6ab;},onDefaultStayDatesSet:function(){},setParametersFromCookies:function(){if(_4.cookie("hotelId")){this.hotelId=_4.cookie("hotelId");}if(_4.cookie("roomId")){this.roomId=_4.cookie("roomId");}if(_4.cookie("promoCode")){this.promoCode=_4.cookie("promoCode");}this.ratePlanId=_4.cookie("ratePlanId");if(!_4.cookie("ratePlanId")){this.ratePlanId="";}},refresh:function(){if(this.readCookies){this.setParametersFromCookies();}if(_4.cookie("arrivalDate")&&_4.cookie("departureDate")){this.arrivalDate=_4.cookie("arrivalDate");this.departureDate=_4.cookie("departureDate");}this.initialize();},refreshForHotelChange:function(){if(this.onlyAutoRefreshForHotelId==""||this.onlyAutoRefreshForHotelId==_4.cookie("hotelId")){if(this.clearRoomOnHotelChange){_4.cookie("roomId","");this.roomId="";this.setRoomTypeContextHtml("");}this.refresh();}},refreshForRoomTypeChange:function(_6af,_6b0){if(this.onlyAutoRefreshForRoomId==""||this.onlyAutoRefreshForRoomId==_4.cookie("roomId")){if(_6af!=""){this.setRoomTypeContextHtml(_6b0);}else{this.setRoomTypeContextHtml("");}if(!globRatePlanBeforeRoom){this.ratePlanId="";}this.refresh();}},refreshForRatePlanChange:function(_6b1,_6b2){if(this.onlyAutoRefreshForRatePlanId==""||this.onlyAutoRefreshForRatePlanId==_4.cookie("ratePlanId")){if(_6b1!=""&&_6b2&&_6b2!="undefined"){this.setRatePlanContextHtml(_6b2);}else{this.setRatePlanContextHtml("");}if(globRatePlanBeforeRoom){this.roomId="";}this.refresh();}},postCreate:function(){console.debug("CalendarsPanel.postCreate");},startup:function(){try{console.debug("CalendarsPanel.startup");if(this.readCookies){this.setParametersFromCookies();}if(_4.cookie("arrivalDate")&&_4.cookie("departureDate")){this.arrivalDate=_4.cookie("arrivalDate");this.departureDate=_4.cookie("departureDate");}this.calendars=new Array();if(this.startMonth==""){if(this.month!=""&&this.month!=null){this.startMonth=this.month;}}if(this.startYear==""){if(this.year!=""&&this.year!=null){this.startYear=this.year;}}if(this.instructionShown){this.instructionsNode.innerHTML="<span class=\"instruct_bold\">"+this.instrArrText+"</span>";}if(this.autoInitialize&&this.autoInitialize!="false"){console.debug("About to auto-initialize");this.initialize();}else{this.resetLoading();}_4.subscribe("selectedHotelChange",this,"refreshForHotelChange");_4.subscribe("selectedRoomTypeChange",this,"refreshForRoomTypeChange");_4.subscribe("selectedRatePlanChange",this,"refreshForRatePlanChange");_4.subscribe("stayDatesChange",this,"refresh");}catch(err){console.debug("CalendarsPanel.startup-error: "+err.message);}}});}if(!_4._hasResource["topaz.widget.DatepickerPanel_WithAvailabilityCalendar"]){_4._hasResource["topaz.widget.DatepickerPanel_WithAvailabilityCalendar"]=true;_4.provide("topaz.widget.DatepickerPanel_WithAvailabilityCalendar");_4.declare("topaz.widget.DatepickerPanel_WithAvailabilityCalendar",[_5._Widget,_5._Templated,_5._Container],{declaredClass:"DatepickerPanel_WithAvailabilityCalendar",widgetsInTemplate:true,templateString:"<div id=\"${id}\" dojoAttachPoint=\"mainNode\" class=\"datepickerpanel_withavailabilitycalendar\">\r\n\t<div class=\"innerContainer\" dojoAttachPoint=\"innerContainerNode\">\t\t\r\n\t\t<div class=\"datepickerContainer\" dojoAttachPoint=\"dpContainerNode\">\r\n\t\t\t<div id=\"${id}_datepicker\" dojoType=\"topaz.widget.DatepickerPanel\"  dojoAttachPoint=\"datepickerObject\"\r\n\t\t\t\tsiteId=\"${siteId}\"\r\n\t\t\t\thnum=\"${hotelId}\" \r\n\t\t\t\tsubmitHandler=\"${submitHandler}\"\r\n\t\t\t\tsubmitMode=\"${submitMode}\"\r\n\t\t\t\tsubmitButtonImageSrc=\"${submitButtonImageSrc}\"\r\n\t\t\t\tarrivalLabel=\"${arrivalLabel}\"\r\n\t\t\t\tdepartureLabel=\"${departureLabel}\"\r\n\t\t\t\tnumGuestsLabel=\"${numGuestsLabel}\"\r\n\t\t\t\thideButtonUntilValid=\"${hideButtonUntilValid}\"\r\n\t\t\t\tinitialArrVal=\"${initialArrVal}\"\r\n\t\t\t\tinitialDepVal=\"${initialDepVal}\"\r\n\t\t\t\tnumGuests=\"${numGuests}\"\r\n\t\t\t\tmaxGuests=\"${maxGuests}\"\r\n\t\t\t\tautoSubmit=\"${autoSubmit}\"\r\n\t\t\t\treadCookies=\"${readCookies}\"\r\n\t\t\t></div>\r\n\t\t</div>\r\n\t\t<div id=\"${id}_calendars\" dojoType=\"topaz.widget.CalendarsPanel\"  dojoAttachPoint=\"calendarsObject\"\r\n\t\t\tsiteId = \"${siteId}\"\r\n\t\t\thotelId = \"${hotelId}\"\r\n\t\t\tdomainName=\"${domainName}\"\r\n\t\t\tnumCals=\"${numCalendars}\"\r\n\t\t\trangeSelect=\"false\"\r\n\t\t\tinstrArrText=\"${instructionsText}\"\r\n\t\t\treadCookies=\"true\"\r\n\t\t\tavailableDayLegendString=\"${availableDayLegendString}\"\r\n\t\t\tavailCalSource=\"${availCalSource}\"\r\n\t\t></div>\r\n\t\t<div dojoAttachEvent=\"onclick:onArrivalCalClick\" class=\"calendarIcon arrivalCalendarIcon\">\r\n\t\t</div>\r\n\t\t<div dojoAttachEvent=\"onclick:onDepartureCalClick\" class=\"calendarIcon departureCalendarIcon\">\r\n\t\t</div>\t\t\t\t\t\r\n\t\t<div dojoAttachPoint=\"blockerNode\" class=\"blocker noshow\" dojoAttachEvent=\"onclick:onBlockerClick\">\r\n\t\t</div>\r\n\t</div>\t\t\r\n\t<div id=\"${id}_alt\" class=\"altDatepicker\" dojoAttachPoint=\"altDatepickerNode\" dojoType=\"topaz.widget.DatepickerPanel_ArrivalNightsSelect\"\r\n\t\tsiteId=\"${siteId}\"\r\n\t\thotelId=\"${hotelId}\"\r\n\t\tdaysInAdvance=\"${daysInAdvance}\"\r\n\t\tsubmitMode=\"BA2_SETDATE\"\r\n\t\tvertical=\"true\"\r\n\t>\r\n\t</div>\r\n</div>\r\n",id:"",siteId:"",hotelId:"",domainName:"",numCalendars:1,daysInAdvance:0,setDefaultDates:true,readCookies:true,submitMode:"EXECUTE_JS",submitHandler:"this.defaultSubmitHandler",submitButtonImageSrc:"",instructionsText:"Click to select date",inputState:"ARRIVAL",lastInputState:"",arrivalLabel:"Arrival Date:",departureLabel:"Departure Date:",numGuestsLabel:"Number of Guests:",initialArrVal:"ex: 07/30/2009",initialDepVal:"ex: 07/31/2009",numGuests:"",maxGuests:6,autoSubmit:false,hideButtonUntilValid:false,availableDayLegendString:"Rooms are available",availCalSource:"",checkBrowser:true,mainNode:null,datepickerObject:null,calendarsObject:null,setInstructionsHtml:function(_6b3){if(this.calendarsObject){this.calendarsObject.setInstructionsHtml(_6b3);}},setArrivalDepartureDates:function(_6b4){try{console.debug("DP_WAC.setArrivalDepartureDates: skipCheck="+_6b4+", this.readCookies="+this.readCookies);if(this.datepickerObject){if(this.readCookies&&_4.cookie("arrivalDate")&&_4.cookie("departureDate")){this.datepickerObject.arrivalInput.value=_4.cookie("arrivalDate");this.datepickerObject.fadeInputText(false,"ARRIVAL");this.datepickerObject.departureInput.value=_4.cookie("departureDate");this.datepickerObject.fadeInputText(false,"DEPARTURE");if(!_6b4){this.datepickerObject.checkInputBoxes();}}else{if(this.setDefaultDates){var _6b5=new Date();var _6b6=_4.date.locale.format(_4.date.add(_6b5,"day",this.daysInAdvance),{selector:"date",datePattern:"MM/dd/yyyy"});this.datepickerObject.setArrivalDate(_6b6);this.datepickerObject.fadeInputText(false,"ARRIVAL");this.datepickerObject.setDepartureDate(this.datepickerObject._dateAdd(_6b6,1));this.datepickerObject.fadeInputText(false,"DEPARTURE");if(!_6b4){this.datepickerObject.checkInputBoxes();}}}}}catch(err){console.debug("DatepickerPanel_WithAvailabilityCalendar.setArrivalDepartureDates-error: "+err.message);}},onValidateFail:function(){console.debug("DatepickerPanel.onValidateFail");var _6b7=true;this.setArrivalDepartureDates(_6b7);this.hideCalendars();},hideCalendars:function(){if(this.calendarsObject){if(this.calendarsObject.mainNode){_4.addClass(this.calendarsObject.mainNode,"noshow");}}this.hideBlocker();},showCalendars:function(){if(this.calendarsObject){if(this.calendarsObject.mainNode){_4.removeClass(this.calendarsObject.mainNode,"noshow");this.showBlocker();}}},setInputState:function(_6b8){console.debug("About to call setInputState("+_6b8+")");this.lastInputState=this.inputState;if(_6b8=="DEPARTURE"){this.inputState="DEPARTURE";}else{this.inputState="ARRIVAL";}},onArrivalCalClick:function(evt){console.debug("DatepickerPanel_WithAvailabilityCalendar.onArrivalCalClick");this.setInputState("ARRIVAL");this.setInstructionsHtml("Click to select Arrival Date");if(this.calendarsObject){_4.removeClass(this.calendarsObject.mainNode,"departureState");_4.addClass(this.calendarsObject.mainNode,"arrivalState");}if(this.datepickerObject){this.datepickerObject.fadeInputText(false,"ARRIVAL");}this.showCalendars();},onDepartureCalClick:function(evt){console.debug("DatepickerPanel_WithAvailabilityCalendar.onDepartureFocus");this.setInputState("DEPARTURE");this.setInstructionsHtml("Click to select Departure Date");if(this.calendarsObject){_4.removeClass(this.calendarsObject.mainNode,"arrivalState");_4.addClass(this.calendarsObject.mainNode,"departureState");}if(this.datepickerObject){this.datepickerObject.fadeInputText(false,"DEPARTURE");}this.showCalendars();},onArrivalFocus:function(){console.debug("DatepickerPanel_WithAvailabilityCalendar.onArrivalFocus");this.setInputState("ARRIVAL");this.setInstructionsHtml("Click to select Arrival Date");if(this.calendarsObject){_4.removeClass(this.calendarsObject.mainNode,"departureState");_4.addClass(this.calendarsObject.mainNode,"arrivalState");}this.showCalendars();},onDepartureFocus:function(){console.debug("DatepickerPanel_WithAvailabilityCalendar.onDepartureFocus");this.setInputState("DEPARTURE");this.setInstructionsHtml("Click to select Departure Date");if(this.calendarsObject){_4.removeClass(this.calendarsObject.mainNode,"arrivalState");_4.addClass(this.calendarsObject.mainNode,"departureState");}this.showCalendars();},onArrivalBlur:function(evt){console.debug("DatepickerPanel_WithAvailabilityCalendar.onArrivalBlur");setTimeout(_4.hitch(this,function(){if(this.inputState==""){this.hideCalendars();}}),125);},onDepartureBlur:function(evt){console.debug("DatepickerPanel_WithAvailabilityCalendar.onDepartureBlur");setTimeout(_4.hitch(this,function(){if(this.inputState==""){this.hideCalendars();}}),125);},_onSubmit:function(){if(!this.datepickerObject.testBrowser()){this.submitMode="BA2_SETDATE";}else{this.onSubmit();}},onSubmit:function(){this.hideCalendars();},onCalPanelClick:function(evt){console.debug("DatepickerPanel_WithAvailabilityCalendar.onCalPanelClick, this.inputState="+this.inputState);this.setInputState(this.lastInputState);},onCalPrevClick:function(evt){},onCalNextClick:function(evt){},onCalDayClick:function(_6c0){console.debug("DatepickerPanel_WithAvailabilityCalendar.onCalDayClick: "+_6c0);try{if(this.inputState=="ARRIVAL"){console.debug("About to set arrival date to: "+_6c0);_4.cookie("arrivalDate",_6c0);this.datepickerObject.setArrivalDate(_6c0);this.datepickerObject.fadeInputText(false,"ARRIVAL");}else{if(this.inputState=="DEPARTURE"){console.debug("About to set departure date to: "+_6c0);_4.cookie("departureDate",_6c0);this.datepickerObject.setDepartureDate(_6c0);this.datepickerObject.fadeInputText(false,"DEPARTURE");}}if(this.autoSubmit&&this.datepickerObject){this.datepickerObject.onSubmit();}this.setInputState(this.lastInputState);this.hideCalendars();}catch(err){console.debug("DatepickerPanel_WAC-error: "+err.message);}},postCreate:function(){_4.connect(this.calendarsObject,"onDateClick",this,"onCalDayClick");_4.connect(this.calendarsObject,"onCloseClick",this,"onCloseClick");_4.connect(this.datepickerObject,"onArrivalFocus",this,"onArrivalFocus");_4.connect(this.datepickerObject,"onDepartureFocus",this,"onDepartureFocus");_4.connect(this.calendarsObject,"onPrevClick",this,"onCalPrevClick");_4.connect(this.calendarsObject,"onNextClick",this,"onCalNextClick");_4.connect(this.calendarsObject,"onPanelClick",this,"onCalPanelClick");_4.connect(this.datepickerObject,"onArrivalBlur",this,"onArrivalBlur");_4.connect(this.datepickerObject,"onDepartureBlur",this,"onDepartureBlur");_4.connect(this.datepickerObject,"onSubmit",this,"_onSubmit");_4.connect(this.datepickerObject,"onValidateFail",this,"onValidateFail");},showBlocker:function(){_4.removeClass(this.blockerNode,"noshow");},hideBlocker:function(){_4.addClass(this.blockerNode,"noshow");},onCloseClick:function(evt){console.debug("DatepickerPanel_WAC-onCloseClick");evt.stopPropagation();evt.cancelBubble=true;this.onBlockerClick(evt);},onBlockerClick:function(evt){try{console.debug("DatepickerPanel_WAC-onBlockerClick");this.hideCalendars();this.setInputState("");var _6c3=true;this.setArrivalDepartureDates(_6c3);if(this.datepickerObject){this.datepickerObject.validate();}}catch(err){console.debug("DatepickerPanel_WAC-error: "+err.message);}},startup:function(){if(this.siteId==""){this.siteId=globalSiteId;}if(!baHelper.browserSupported()&&this.checkBrowser){_4.addClass(this.innerContainerNode,"noshow");}else{this.hideCalendars();if(this.autoSubmit&&this.datepickerObject){_4.addClass(this.datepickerObject.submitButtonImageNode,"noshow");}if(this.submitButtonImageSrc==""){this.submitButtonImageSrc=_4.moduleUrl("topaz","widget/images/checkavailability.gif");}this.setArrivalDepartureDates();_4.addClass(this.altDatepickerNode.mainNode,"noshow");}}});}}};});

