/*
	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.
*/

if(!dojo._hasResource["dojo.date"]){dojo._hasResource["dojo.date"]=true;dojo.provide("dojo.date");dojo.date.getDaysInMonth=function(_1){var _2=_1.getMonth();var _3=[31,28,31,30,31,30,31,31,30,31,30,31];if(_2==1&&dojo.date.isLeapYear(_1)){return 29;}return _3[_2];};dojo.date.isLeapYear=function(_4){var _5=_4.getFullYear();return !(_5%400)||(!(_5%4)&&!!(_5%100));};dojo.date.getTimezoneName=function(_6){var _7=_6.toString();var tz="";var _9;var _a=_7.indexOf("(");if(_a>-1){tz=_7.substring(++_a,_7.indexOf(")"));}else{var _b=/([A-Z\/]+) \d{4}$/;if((_9=_7.match(_b))){tz=_9[1];}else{_7=_6.toLocaleString();_b=/ ([A-Z\/]+)$/;if((_9=_7.match(_b))){tz=_9[1];}}}return (tz=="AM"||tz=="PM")?"":tz;};dojo.date.compare=function(_c,_d,_e){_c=new Date(Number(_c));_d=new Date(Number(_d||new Date()));if(_e!=="undefined"){if(_e=="date"){_c.setHours(0,0,0,0);_d.setHours(0,0,0,0);}else{if(_e=="time"){_c.setFullYear(0,0,0);_d.setFullYear(0,0,0);}}}if(_c>_d){return 1;}if(_c<_d){return -1;}return 0;};dojo.date.add=function(_f,_10,_11){var sum=new Date(Number(_f));var _13=false;var _14="Date";switch(_10){case "day":break;case "weekday":var _15,_16;var mod=_11%5;if(!mod){_15=(_11>0)?5:-5;_16=(_11>0)?((_11-5)/5):((_11+5)/5);}else{_15=mod;_16=parseInt(_11/5);}var _18=_f.getDay();var adj=0;if(_18==6&&_11>0){adj=1;}else{if(_18==0&&_11<0){adj=-1;}}var _1a=_18+_15;if(_1a==0||_1a==6){adj=(_11>0)?2:-2;}_11=(7*_16)+_15+adj;break;case "year":_14="FullYear";_13=true;break;case "week":_11*=7;break;case "quarter":_11*=3;case "month":_13=true;_14="Month";break;case "hour":case "minute":case "second":case "millisecond":_14="UTC"+_10.charAt(0).toUpperCase()+_10.substring(1)+"s";}if(_14){sum["set"+_14](sum["get"+_14]()+_11);}if(_13&&(sum.getDate()<_f.getDate())){sum.setDate(0);}return sum;};dojo.date.difference=function(_1b,_1c,_1d){_1c=_1c||new Date();_1d=_1d||"day";var _1e=_1c.getFullYear()-_1b.getFullYear();var _1f=1;switch(_1d){case "quarter":var m1=_1b.getMonth();var m2=_1c.getMonth();var q1=Math.floor(m1/3)+1;var q2=Math.floor(m2/3)+1;q2+=(_1e*4);_1f=q2-q1;break;case "weekday":var _24=Math.round(dojo.date.difference(_1b,_1c,"day"));var _25=parseInt(dojo.date.difference(_1b,_1c,"week"));var mod=_24%7;if(mod==0){_24=_25*5;}else{var adj=0;var _28=_1b.getDay();var _29=_1c.getDay();_25=parseInt(_24/7);mod=_24%7;var _2a=new Date(_1b);_2a.setDate(_2a.getDate()+(_25*7));var _2b=_2a.getDay();if(_24>0){switch(true){case _28==6:adj=-1;break;case _28==0:adj=0;break;case _29==6:adj=-1;break;case _29==0:adj=-2;break;case (_2b+mod)>5:adj=-2;}}else{if(_24<0){switch(true){case _28==6:adj=0;break;case _28==0:adj=1;break;case _29==6:adj=2;break;case _29==0:adj=1;break;case (_2b+mod)<0:adj=2;}}}_24+=adj;_24-=(_25*2);}_1f=_24;break;case "year":_1f=_1e;break;case "month":_1f=(_1c.getMonth()-_1b.getMonth())+(_1e*12);break;case "week":_1f=parseInt(dojo.date.difference(_1b,_1c,"day")/7);break;case "day":_1f/=24;case "hour":_1f/=60;case "minute":_1f/=60;case "second":_1f/=1000;case "millisecond":_1f*=_1c.getTime()-_1b.getTime();}return Math.round(_1f);};}if(!dojo._hasResource["dojo.i18n"]){dojo._hasResource["dojo.i18n"]=true;dojo.provide("dojo.i18n");dojo.i18n.getLocalization=function(_2c,_2d,_2e){_2e=dojo.i18n.normalizeLocale(_2e);var _2f=_2e.split("-");var _30=[_2c,"nls",_2d].join(".");var _31=dojo._loadedModules[_30];if(_31){var _32;for(var i=_2f.length;i>0;i--){var loc=_2f.slice(0,i).join("_");if(_31[loc]){_32=_31[loc];break;}}if(!_32){_32=_31.ROOT;}if(_32){var _35=function(){};_35.prototype=_32;return new _35();}}throw new Error("Bundle not found: "+_2d+" in "+_2c+" , locale="+_2e);};dojo.i18n.normalizeLocale=function(_36){var _37=_36?_36.toLowerCase():dojo.locale;if(_37=="root"){_37="ROOT";}return _37;};dojo.i18n._requireLocalization=function(_38,_39,_3a,_3b){var _3c=dojo.i18n.normalizeLocale(_3a);var _3d=[_38,"nls",_39].join(".");var _3e="";if(_3b){var _3f=_3b.split(",");for(var i=0;i<_3f.length;i++){if(_3c["indexOf"](_3f[i])==0){if(_3f[i].length>_3e.length){_3e=_3f[i];}}}if(!_3e){_3e="ROOT";}}var _41=_3b?_3e:_3c;var _42=dojo._loadedModules[_3d];var _43=null;if(_42){if(dojo.config.localizationComplete&&_42._built){return;}var _44=_41.replace(/-/g,"_");var _45=_3d+"."+_44;_43=dojo._loadedModules[_45];}if(!_43){_42=dojo["provide"](_3d);var _46=dojo._getModuleSymbols(_38);var _47=_46.concat("nls").join("/");var _48;dojo.i18n._searchLocalePath(_41,_3b,function(loc){var _4a=loc.replace(/-/g,"_");var _4b=_3d+"."+_4a;var _4c=false;if(!dojo._loadedModules[_4b]){dojo["provide"](_4b);var _4d=[_47];if(loc!="ROOT"){_4d.push(loc);}_4d.push(_39);var _4e=_4d.join("/")+".js";_4c=dojo._loadPath(_4e,null,function(_4f){var _50=function(){};_50.prototype=_48;_42[_4a]=new _50();for(var j in _4f){_42[_4a][j]=_4f[j];}});}else{_4c=true;}if(_4c&&_42[_4a]){_48=_42[_4a];}else{_42[_4a]=_48;}if(_3b){return true;}});}if(_3b&&_3c!=_3e){_42[_3c.replace(/-/g,"_")]=_42[_3e.replace(/-/g,"_")];}};(function(){var _52=dojo.config.extraLocale;if(_52){if(!_52 instanceof Array){_52=[_52];}var req=dojo.i18n._requireLocalization;dojo.i18n._requireLocalization=function(m,b,_56,_57){req(m,b,_56,_57);if(_56){return;}for(var i=0;i<_52.length;i++){req(m,b,_52[i],_57);}};}})();dojo.i18n._searchLocalePath=function(_59,_5a,_5b){_59=dojo.i18n.normalizeLocale(_59);var _5c=_59.split("-");var _5d=[];for(var i=_5c.length;i>0;i--){_5d.push(_5c.slice(0,i).join("-"));}_5d.push(false);if(_5a){_5d.reverse();}for(var j=_5d.length-1;j>=0;j--){var loc=_5d[j]||"ROOT";var _61=_5b(loc);if(_61){break;}}};dojo.i18n._preloadLocalizations=function(_62,_63){function _64(_65){_65=dojo.i18n.normalizeLocale(_65);dojo.i18n._searchLocalePath(_65,true,function(loc){for(var i=0;i<_63.length;i++){if(_63[i]==loc){dojo["require"](_62+"_"+loc);return true;}}return false;});};_64();var _68=dojo.config.extraLocale||[];for(var i=0;i<_68.length;i++){_64(_68[i]);}};}if(!dojo._hasResource["dojo.cldr.supplemental"]){dojo._hasResource["dojo.cldr.supplemental"]=true;dojo.provide("dojo.cldr.supplemental");dojo.cldr.supplemental.getFirstDayOfWeek=function(_6a){var _6b={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 _6c=dojo.cldr.supplemental._region(_6a);var dow=_6b[_6c];return (dow===undefined)?1:dow;};dojo.cldr.supplemental._region=function(_6e){_6e=dojo.i18n.normalizeLocale(_6e);var _6f=_6e.split("-");var _70=_6f[1];if(!_70){_70={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"}[_6f[0]];}else{if(_70.length==4){_70=_6f[2];}}return _70;};dojo.cldr.supplemental.getWeekend=function(_71){var _72={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 _73={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 _74=dojo.cldr.supplemental._region(_71);var _75=_72[_74];var end=_73[_74];if(_75===undefined){_75=6;}if(end===undefined){end=0;}return {start:_75,end:end};};}if(!dojo._hasResource["dojo.regexp"]){dojo._hasResource["dojo.regexp"]=true;dojo.provide("dojo.regexp");dojo.regexp.escapeString=function(str,_78){return str.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,function(ch){if(_78&&_78.indexOf(ch)!=-1){return ch;}return "\\"+ch;});};dojo.regexp.buildGroupRE=function(arr,re,_7c){if(!(arr instanceof Array)){return re(arr);}var b=[];for(var i=0;i<arr.length;i++){b.push(re(arr[i]));}return dojo.regexp.group(b.join("|"),_7c);};dojo.regexp.group=function(_7f,_80){return "("+(_80?"?:":"")+_7f+")";};}if(!dojo._hasResource["dojo.string"]){dojo._hasResource["dojo.string"]=true;dojo.provide("dojo.string");dojo.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("");};dojo.string.pad=function(_84,_85,ch,end){if(!ch){ch="0";}var out=String(_84),pad=dojo.string.rep(ch,Math.ceil((_85-out.length)/ch.length));return end?out+pad:pad+out;};dojo.string.substitute=function(_8a,map,_8c,_8d){_8d=_8d||dojo.global;_8c=(!_8c)?function(v){return v;}:dojo.hitch(_8d,_8c);return _8a.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(_8f,key,_91){var _92=dojo.getObject(key,false,map);if(_91){_92=dojo.getObject(_91,false,_8d).call(_8d,_92,key);}return _8c(_92,key).toString();});};dojo.string.trim=String.prototype.trim?dojo.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(!dojo._hasResource["dojo.date.locale"]){dojo._hasResource["dojo.date.locale"]=true;dojo.provide("dojo.date.locale");(function(){function _95(_96,_97,_98,_99){return _99.replace(/([a-z])\1*/ig,function(_9a){var s,pad;var c=_9a.charAt(0);var l=_9a.length;var _9f=["abbr","wide","narrow"];switch(c){case "G":s=_97[(l<4)?"eraAbbr":"eraNames"][_96.getFullYear()<0?0:1];break;case "y":s=_96.getFullYear();switch(l){case 1:break;case 2:if(!_98){s=String(s);s=s.substr(s.length-2);break;}default:pad=true;}break;case "Q":case "q":s=Math.ceil((_96.getMonth()+1)/3);pad=true;break;case "M":var m=_96.getMonth();if(l<3){s=m+1;pad=true;}else{var _a1=["months","format",_9f[l-3]].join("-");s=_97[_a1][m];}break;case "w":var _a2=0;s=dojo.date.locale._getWeekOfYear(_96,_a2);pad=true;break;case "d":s=_96.getDate();pad=true;break;case "D":s=dojo.date.locale._getDayOfYear(_96);pad=true;break;case "E":var d=_96.getDay();if(l<3){s=d+1;pad=true;}else{var _a4=["days","format",_9f[l-3]].join("-");s=_97[_a4][d];}break;case "a":var _a5=(_96.getHours()<12)?"am":"pm";s=_97[_a5];break;case "h":case "H":case "K":case "k":var h=_96.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=_96.getMinutes();pad=true;break;case "s":s=_96.getSeconds();pad=true;break;case "S":s=Math.round(_96.getMilliseconds()*Math.pow(10,l-3));pad=true;break;case "v":case "z":s=dojo.date.getTimezoneName(_96);if(s){break;}l=4;case "Z":var _a7=_96.getTimezoneOffset();var tz=[(_a7<=0?"+":"-"),dojo.string.pad(Math.floor(Math.abs(_a7)/60),2),dojo.string.pad(Math.abs(_a7)%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: "+_99);}if(pad){s=dojo.string.pad(s,l);}return s;});};dojo.date.locale.format=function(_a9,_aa){_aa=_aa||{};var _ab=dojo.i18n.normalizeLocale(_aa.locale);var _ac=_aa.formatLength||"short";var _ad=dojo.date.locale._getGregorianBundle(_ab);var str=[];var _af=dojo.hitch(this,_95,_a9,_ad,_aa.fullYear);if(_aa.selector=="year"){var _b0=_a9.getFullYear();if(_ab.match(/^zh|^ja/)){_b0+="年";}return _b0;}if(_aa.selector!="time"){var _b1=_aa.datePattern||_ad["dateFormat-"+_ac];if(_b1){str.push(_b2(_b1,_af));}}if(_aa.selector!="date"){var _b3=_aa.timePattern||_ad["timeFormat-"+_ac];if(_b3){str.push(_b2(_b3,_af));}}var _b4=str.join(" ");return _b4;};dojo.date.locale.regexp=function(_b5){return dojo.date.locale._parseInfo(_b5).regexp;};dojo.date.locale._parseInfo=function(_b6){_b6=_b6||{};var _b7=dojo.i18n.normalizeLocale(_b6.locale);var _b8=dojo.date.locale._getGregorianBundle(_b7);var _b9=_b6.formatLength||"short";var _ba=_b6.datePattern||_b8["dateFormat-"+_b9];var _bb=_b6.timePattern||_b8["timeFormat-"+_b9];var _bc;if(_b6.selector=="date"){_bc=_ba;}else{if(_b6.selector=="time"){_bc=_bb;}else{_bc=_ba+" "+_bb;}}var _bd=[];var re=_b2(_bc,dojo.hitch(this,_bf,_bd,_b8,_b6));return {regexp:re,tokens:_bd,bundle:_b8};};dojo.date.locale.parse=function(_c0,_c1){var _c2=dojo.date.locale._parseInfo(_c1);var _c3=_c2.tokens,_c4=_c2.bundle;var re=new RegExp("^"+_c2.regexp+"$",_c2.strict?"":"i");var _c6=re.exec(_c0);if(!_c6){return null;}var _c7=["abbr","wide","narrow"];var _c8=[1970,0,1,0,0,0,0];var _c9="";var _ca=dojo.every(_c6,function(v,i){if(!i){return true;}var _cd=_c3[i-1];var l=_cd.length;switch(_cd.charAt(0)){case "y":if(l!=2&&_c1.strict){_c8[0]=v;}else{if(v<100){v=Number(v);var _cf=""+new Date().getFullYear();var _d0=_cf.substring(0,2)*100;var _d1=Math.min(Number(_cf.substring(2,4))+20,99);var num=(v<_d1)?_d0+v:_d0-100+v;_c8[0]=num;}else{if(_c1.strict){return false;}_c8[0]=v;}}break;case "M":if(l>2){var _d3=_c4["months-format-"+_c7[l-3]].concat();if(!_c1.strict){v=v.replace(".","").toLowerCase();_d3=dojo.map(_d3,function(s){return s.replace(".","").toLowerCase();});}v=dojo.indexOf(_d3,v);if(v==-1){return false;}}else{v--;}_c8[1]=v;break;case "E":case "e":var _d5=_c4["days-format-"+_c7[l-3]].concat();if(!_c1.strict){v=v.toLowerCase();_d5=dojo.map(_d5,function(d){return d.toLowerCase();});}v=dojo.indexOf(_d5,v);if(v==-1){return false;}break;case "D":_c8[1]=0;case "d":_c8[2]=v;break;case "a":var am=_c1.am||_c4.am;var pm=_c1.pm||_c4.pm;if(!_c1.strict){var _d9=/\./g;v=v.replace(_d9,"").toLowerCase();am=am.replace(_d9,"").toLowerCase();pm=pm.replace(_d9,"").toLowerCase();}if(_c1.strict&&v!=am&&v!=pm){return false;}_c9=(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;}_c8[3]=v;break;case "m":_c8[4]=v;break;case "s":_c8[5]=v;break;case "S":_c8[6]=v;}return true;});var _da=+_c8[3];if(_c9==="p"&&_da<12){_c8[3]=_da+12;}else{if(_c9==="a"&&_da==12){_c8[3]=0;}}var _db=new Date(_c8[0],_c8[1],_c8[2],_c8[3],_c8[4],_c8[5],_c8[6]);if(_c1.strict){_db.setFullYear(_c8[0]);}var _dc=_c3.join(""),_dd=_dc.indexOf("d")!=-1,_de=_dc.indexOf("M")!=-1;if(!_ca||(_de&&_db.getMonth()>_c8[1])||(_dd&&_db.getDate()>_c8[2])){return null;}if((_de&&_db.getMonth()<_c8[1])||(_dd&&_db.getDate()<_c8[2])){_db=dojo.date.add(_db,"hour",1);}return _db;};function _b2(_df,_e0,_e1,_e2){var _e3=function(x){return x;};_e0=_e0||_e3;_e1=_e1||_e3;_e2=_e2||_e3;var _e5=_df.match(/(''|[^'])+/g);var _e6=_df.charAt(0)=="'";dojo.forEach(_e5,function(_e7,i){if(!_e7){_e5[i]="";}else{_e5[i]=(_e6?_e1:_e0)(_e7);_e6=!_e6;}});return _e2(_e5.join(""));};function _bf(_e9,_ea,_eb,_ec){_ec=dojo.regexp.escapeString(_ec);if(!_eb.strict){_ec=_ec.replace(" a"," ?a");}return _ec.replace(/([a-z])\1*/ig,function(_ed){var s;var c=_ed.charAt(0);var l=_ed.length;var p2="",p3="";if(_eb.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=_eb.am||_ea.am||"AM";var pm=_eb.pm||_ea.pm||"PM";if(_eb.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(_e9){_e9.push(_ed);}return "("+s+")";}).replace(/[\xa0 ]/g,"[\\s\\xa0]");};})();(function(){var _f5=[];dojo.date.locale.addCustomFormats=function(_f6,_f7){_f5.push({pkg:_f6,name:_f7});};dojo.date.locale._getGregorianBundle=function(_f8){var _f9={};dojo.forEach(_f5,function(_fa){var _fb=dojo.i18n.getLocalization(_fa.pkg,_fa.name,_f8);_f9=dojo.mixin(_f9,_fb);},this);return _f9;};})();dojo.date.locale.addCustomFormats("dojo.cldr","gregorian");dojo.date.locale.getNames=function(_fc,_fd,_fe,_ff){var _100;var _101=dojo.date.locale._getGregorianBundle(_ff);var _102=[_fc,_fe,_fd];if(_fe=="standAlone"){var key=_102.join("-");_100=_101[key];if(_100[0]==1){_100=undefined;}}_102[1]="format";return (_100||_101[_102.join("-")]).concat();};dojo.date.locale.isWeekend=function(_104,_105){var _106=dojo.cldr.supplemental.getWeekend(_105);var day=(_104||new Date()).getDay();if(_106.end<_106.start){_106.end+=7;if(day<_106.start){day+=7;}}return day>=_106.start&&day<=_106.end;};dojo.date.locale._getDayOfYear=function(_108){return dojo.date.difference(new Date(_108.getFullYear(),0,1,_108.getHours()),_108)+1;};dojo.date.locale._getWeekOfYear=function(_109,_10a){if(arguments.length==1){_10a=0;}var _10b=new Date(_109.getFullYear(),0,1).getDay();var adj=(_10b-_10a+7)%7;var week=Math.floor((dojo.date.locale._getDayOfYear(_109)+adj-1)/7);if(_10b==_10a){week++;}return week;};}if(!dojo._hasResource["dojo.cookie"]){dojo._hasResource["dojo.cookie"]=true;dojo.provide("dojo.cookie");dojo.cookie=function(name,_10f,_110){var c=document.cookie;if(arguments.length==1){var _112=c.match(new RegExp("(?:^|; )"+dojo.regexp.escapeString(name)+"=([^;]*)"));return _112?decodeURIComponent(_112[1]):undefined;}else{_110=_110||{};var exp=_110.expires;if(typeof exp=="number"){var d=new Date();d.setTime(d.getTime()+exp*24*60*60*1000);exp=_110.expires=d;}if(exp&&exp.toUTCString){_110.expires=exp.toUTCString();}_10f=encodeURIComponent(_10f);var _115=name+"="+_10f,_116;for(_116 in _110){_115+="; "+_116;var _117=_110[_116];if(_117!==true){_115+="="+_117;}}document.cookie=_115;}};dojo.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(!dojo._hasResource["dijit._base.focus"]){dojo._hasResource["dijit._base.focus"]=true;dojo.provide("dijit._base.focus");dojo.mixin(dijit,{_curFocus:null,_prevFocus:null,isCollapsed:function(){var _118=dojo.doc;if(_118.selection){var s=_118.selection;if(s.type=="Text"){return !s.createRange().htmlText.length;}else{return !s.createRange().length;}}else{var _11a=dojo.global;var _11b=_11a.getSelection();if(dojo.isString(_11b)){return !_11b;}else{return !_11b||_11b.isCollapsed||!_11b.toString();}}},getBookmark:function(){var _11c,_11d=dojo.doc.selection;if(_11d){var _11e=_11d.createRange();if(_11d.type.toUpperCase()=="CONTROL"){if(_11e.length){_11c=[];var i=0,len=_11e.length;while(i<len){_11c.push(_11e.item(i++));}}else{_11c=null;}}else{_11c=_11e.getBookmark();}}else{if(window.getSelection){_11d=dojo.global.getSelection();if(_11d){_11e=_11d.getRangeAt(0);_11c=_11e.cloneRange();}}else{console.warn("No idea how to store the current selection for this browser!");}}return _11c;},moveToBookmark:function(_121){var _122=dojo.doc;if(_122.selection){var _123;if(dojo.isArray(_121)){_123=_122.body.createControlRange();dojo.forEach(_121,function(n){_123.addElement(n);});}else{_123=_122.selection.createRange();_123.moveToBookmark(_121);}_123.select();}else{var _125=dojo.global.getSelection&&dojo.global.getSelection();if(_125&&_125.removeAllRanges){_125.removeAllRanges();_125.addRange(_121);}else{console.warn("No idea how to restore selection for this browser!");}}},getFocus:function(menu,_127){return {node:menu&&dojo.isDescendant(dijit._curFocus,menu.domNode)?dijit._prevFocus:dijit._curFocus,bookmark:!dojo.withGlobal(_127||dojo.global,dijit.isCollapsed)?dojo.withGlobal(_127||dojo.global,dijit.getBookmark):null,openedForWindow:_127};},focus:function(_128){if(!_128){return;}var node="node" in _128?_128.node:_128,_12a=_128.bookmark,_12b=_128.openedForWindow;if(node){var _12c=(node.tagName.toLowerCase()=="iframe")?node.contentWindow:node;if(_12c&&_12c.focus){try{_12c.focus();}catch(e){}}dijit._onFocusNode(node);}if(_12a&&dojo.withGlobal(_12b||dojo.global,dijit.isCollapsed)){if(_12b){_12b.focus();}try{dojo.withGlobal(_12b||dojo.global,dijit.moveToBookmark,null,[_12a]);}catch(e){}}},_activeStack:[],registerIframe:function(_12d){dijit.registerWin(_12d.contentWindow,_12d);},registerWin:function(_12e,_12f){dojo.connect(_12e.document,"onmousedown",function(evt){dijit._justMouseDowned=true;setTimeout(function(){dijit._justMouseDowned=false;},0);dijit._onTouchNode(_12f||evt.target||evt.srcElement);});var doc=_12e.document;if(doc){if(dojo.isIE){doc.attachEvent("onactivate",function(evt){if(evt.srcElement.tagName.toLowerCase()!="#document"){dijit._onFocusNode(_12f||evt.srcElement);}});doc.attachEvent("ondeactivate",function(evt){dijit._onBlurNode(_12f||evt.srcElement);});}else{doc.addEventListener("focus",function(evt){dijit._onFocusNode(_12f||evt.target);},true);doc.addEventListener("blur",function(evt){dijit._onBlurNode(_12f||evt.target);},true);}}doc=null;},_onBlurNode:function(node){dijit._prevFocus=dijit._curFocus;dijit._curFocus=null;if(dijit._justMouseDowned){return;}if(dijit._clearActiveWidgetsTimer){clearTimeout(dijit._clearActiveWidgetsTimer);}dijit._clearActiveWidgetsTimer=setTimeout(function(){delete dijit._clearActiveWidgetsTimer;dijit._setStack([]);dijit._prevFocus=null;},100);},_onTouchNode:function(node){if(dijit._clearActiveWidgetsTimer){clearTimeout(dijit._clearActiveWidgetsTimer);delete dijit._clearActiveWidgetsTimer;}var _138=[];try{while(node){if(node.dijitPopupParent){node=dijit.byId(node.dijitPopupParent).domNode;}else{if(node.tagName&&node.tagName.toLowerCase()=="body"){if(node===dojo.body()){break;}node=dijit.getDocumentWindow(node.ownerDocument).frameElement;}else{var id=node.getAttribute&&node.getAttribute("widgetId");if(id){_138.unshift(id);}node=node.parentNode;}}}}catch(e){}dijit._setStack(_138);},_onFocusNode:function(node){if(!node){return;}if(node.nodeType==9){return;}dijit._onTouchNode(node);if(node==dijit._curFocus){return;}if(dijit._curFocus){dijit._prevFocus=dijit._curFocus;}dijit._curFocus=node;dojo.publish("focusNode",[node]);},_setStack:function(_13b){var _13c=dijit._activeStack;dijit._activeStack=_13b;for(var _13d=0;_13d<Math.min(_13c.length,_13b.length);_13d++){if(_13c[_13d]!=_13b[_13d]){break;}}for(var i=_13c.length-1;i>=_13d;i--){var _13f=dijit.byId(_13c[i]);if(_13f){_13f._focused=false;_13f._hasBeenBlurred=true;if(_13f._onBlur){_13f._onBlur();}if(_13f._setStateClass){_13f._setStateClass();}dojo.publish("widgetBlur",[_13f]);}}for(i=_13d;i<_13b.length;i++){_13f=dijit.byId(_13b[i]);if(_13f){_13f._focused=true;if(_13f._onFocus){_13f._onFocus();}if(_13f._setStateClass){_13f._setStateClass();}dojo.publish("widgetFocus",[_13f]);}}}});dojo.addOnLoad(function(){dijit.registerWin(window);});}if(!dojo._hasResource["dijit._base.manager"]){dojo._hasResource["dijit._base.manager"]=true;dojo.provide("dijit._base.manager");dojo.declare("dijit.WidgetSet",null,{constructor:function(){this._hash={};},add:function(_140){if(this._hash[_140.id]){throw new Error("Tried to register widget with id=="+_140.id+" but that id is already registered");}this._hash[_140.id]=_140;},remove:function(id){delete this._hash[id];},forEach:function(func){for(var id in this._hash){func(this._hash[id]);}},filter:function(_144){var res=new dijit.WidgetSet();this.forEach(function(_146){if(_144(_146)){res.add(_146);}});return res;},byId:function(id){return this._hash[id];},byClass:function(cls){return this.filter(function(_149){return _149.declaredClass==cls;});}});dijit.registry=new dijit.WidgetSet();dijit._widgetTypeCtr={};dijit.getUniqueId=function(_14a){var id;do{id=_14a+"_"+(_14a in dijit._widgetTypeCtr?++dijit._widgetTypeCtr[_14a]:dijit._widgetTypeCtr[_14a]=0);}while(dijit.byId(id));return id;};dijit.findWidgets=function(root){var _14d=[];function _14e(root){var list=dojo.isIE?root.children:root.childNodes,i=0,node;while(node=list[i++]){if(node.nodeType!=1){continue;}var _153=node.getAttribute("widgetId");if(_153){var _154=dijit.byId(_153);_14d.push(_154);}else{_14e(node);}}};_14e(root);return _14d;};if(dojo.isIE){dojo.addOnWindowUnload(function(){dojo.forEach(dijit.findWidgets(dojo.body()),function(_155){if(_155.destroyRecursive){_155.destroyRecursive();}else{if(_155.destroy){_155.destroy();}}});});}dijit.byId=function(id){return (dojo.isString(id))?dijit.registry.byId(id):id;};dijit.byNode=function(node){return dijit.registry.byId(node.getAttribute("widgetId"));};dijit.getEnclosingWidget=function(node){while(node){if(node.getAttribute&&node.getAttribute("widgetId")){return dijit.registry.byId(node.getAttribute("widgetId"));}node=node.parentNode;}return null;};dijit._tabElements={area:true,button:true,input:true,object:true,select:true,textarea:true};dijit._isElementShown=function(elem){var _15a=dojo.style(elem);return (_15a.visibility!="hidden")&&(_15a.visibility!="collapsed")&&(_15a.display!="none")&&(dojo.attr(elem,"type")!="hidden");};dijit.isTabNavigable=function(elem){if(dojo.hasAttr(elem,"disabled")){return false;}var _15c=dojo.hasAttr(elem,"tabindex");var _15d=dojo.attr(elem,"tabindex");if(_15c&&_15d>=0){return true;}var name=elem.nodeName.toLowerCase();if(((name=="a"&&dojo.hasAttr(elem,"href"))||dijit._tabElements[name])&&(!_15c||_15d>=0)){return true;}return false;};dijit._getTabNavigable=function(root){var _160,last,_162,_163,_164,_165;var _166=function(_167){dojo.query("> *",_167).forEach(function(_168){var _169=dijit._isElementShown(_168);if(_169&&dijit.isTabNavigable(_168)){var _16a=dojo.attr(_168,"tabindex");if(!dojo.hasAttr(_168,"tabindex")||_16a==0){if(!_160){_160=_168;}last=_168;}else{if(_16a>0){if(!_162||_16a<_163){_163=_16a;_162=_168;}if(!_164||_16a>=_165){_165=_16a;_164=_168;}}}}if(_169&&_168.nodeName.toUpperCase()!="SELECT"){_166(_168);}});};if(dijit._isElementShown(root)){_166(root);}return {first:_160,last:last,lowest:_162,highest:_164};};dijit.getFirstInTabbingOrder=function(root){var _16c=dijit._getTabNavigable(dojo.byId(root));return _16c.lowest?_16c.lowest:_16c.first;};dijit.getLastInTabbingOrder=function(root){var _16e=dijit._getTabNavigable(dojo.byId(root));return _16e.last?_16e.last:_16e.highest;};dijit.defaultDuration=dojo.config["defaultDuration"]||200;}if(!dojo._hasResource["dojo.AdapterRegistry"]){dojo._hasResource["dojo.AdapterRegistry"]=true;dojo.provide("dojo.AdapterRegistry");dojo.AdapterRegistry=function(_16f){this.pairs=[];this.returnWrappers=_16f||false;};dojo.extend(dojo.AdapterRegistry,{register:function(name,_171,wrap,_173,_174){this.pairs[((_174)?"unshift":"push")]([name,_171,wrap,_173]);},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(!dojo._hasResource["dijit._base.place"]){dojo._hasResource["dijit._base.place"]=true;dojo.provide("dijit._base.place");dijit.getViewport=function(){var _17a=(dojo.doc.compatMode=="BackCompat")?dojo.body():dojo.doc.documentElement;var _17b=dojo._docScroll();return {w:_17a.clientWidth,h:_17a.clientHeight,l:_17b.x,t:_17b.y};};dijit.placeOnScreen=function(node,pos,_17e,_17f){var _180=dojo.map(_17e,function(_181){var c={corner:_181,pos:{x:pos.x,y:pos.y}};if(_17f){c.pos.x+=_181.charAt(1)=="L"?_17f.x:-_17f.x;c.pos.y+=_181.charAt(0)=="T"?_17f.y:-_17f.y;}return c;});return dijit._place(node,_180);};dijit._place=function(node,_184,_185){var view=dijit.getViewport();if(!node.parentNode||String(node.parentNode.tagName).toLowerCase()!="body"){dojo.body().appendChild(node);}var best=null;dojo.some(_184,function(_188){var _189=_188.corner;var pos=_188.pos;if(_185){_185(node,_188.aroundCorner,_189);}var _18b=node.style;var _18c=_18b.display;var _18d=_18b.visibility;_18b.visibility="hidden";_18b.display="";var mb=dojo.marginBox(node);_18b.display=_18c;_18b.visibility=_18d;var _18f=(_189.charAt(1)=="L"?pos.x:Math.max(view.l,pos.x-mb.w)),_190=(_189.charAt(0)=="T"?pos.y:Math.max(view.t,pos.y-mb.h)),endX=(_189.charAt(1)=="L"?Math.min(view.l+view.w,_18f+mb.w):pos.x),endY=(_189.charAt(0)=="T"?Math.min(view.t+view.h,_190+mb.h):pos.y),_193=endX-_18f,_194=endY-_190,_195=(mb.w-_193)+(mb.h-_194);if(best==null||_195<best.overflow){best={corner:_189,aroundCorner:_188.aroundCorner,x:_18f,y:_190,w:_193,h:_194,overflow:_195};}return !_195;});node.style.left=best.x+"px";node.style.top=best.y+"px";if(best.overflow&&_185){_185(node,best.aroundCorner,best.corner);}return best;};dijit.placeOnScreenAroundNode=function(node,_197,_198,_199){_197=dojo.byId(_197);var _19a=_197.style.display;_197.style.display="";var _19b=_197.offsetWidth;var _19c=_197.offsetHeight;var _19d=dojo.coords(_197,true);_197.style.display=_19a;return dijit._placeOnScreenAroundRect(node,_19d.x,_19d.y,_19b,_19c,_198,_199);};dijit.placeOnScreenAroundRectangle=function(node,_19f,_1a0,_1a1){return dijit._placeOnScreenAroundRect(node,_19f.x,_19f.y,_19f.width,_19f.height,_1a0,_1a1);};dijit._placeOnScreenAroundRect=function(node,x,y,_1a5,_1a6,_1a7,_1a8){var _1a9=[];for(var _1aa in _1a7){_1a9.push({aroundCorner:_1aa,corner:_1a7[_1aa],pos:{x:x+(_1aa.charAt(1)=="L"?0:_1a5),y:y+(_1aa.charAt(0)=="T"?0:_1a6)}});}return dijit._place(node,_1a9,_1a8);};dijit.placementRegistry=new dojo.AdapterRegistry();dijit.placementRegistry.register("node",function(n,x){return typeof x=="object"&&typeof x.offsetWidth!="undefined"&&typeof x.offsetHeight!="undefined";},dijit.placeOnScreenAroundNode);dijit.placementRegistry.register("rect",function(n,x){return typeof x=="object"&&"x" in x&&"y" in x&&"width" in x&&"height" in x;},dijit.placeOnScreenAroundRectangle);dijit.placeOnScreenAroundElement=function(node,_1b0,_1b1,_1b2){return dijit.placementRegistry.match.apply(dijit.placementRegistry,arguments);};}if(!dojo._hasResource["dijit._base.window"]){dojo._hasResource["dijit._base.window"]=true;dojo.provide("dijit._base.window");dijit.getDocumentWindow=function(doc){if(dojo.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(!dojo._hasResource["dijit._base.popup"]){dojo._hasResource["dijit._base.popup"]=true;dojo.provide("dijit._base.popup");dijit.popup=new function(){var _1b5=[],_1b6=1000,_1b7=1;this.prepare=function(node){var s=node.style;s.visibility="hidden";s.position="absolute";s.top="-9999px";if(s.display=="none"){s.display="";}dojo.body().appendChild(node);};this.open=function(args){var _1bb=args.popup,_1bc=args.orient||{"BL":"TL","TL":"BL"},_1bd=args.around,id=(args.around&&args.around.id)?(args.around.id+"_dropdown"):("popup_"+_1b7++);var _1bf=dojo.create("div",{id:id,"class":"dijitPopup",style:{zIndex:_1b6+_1b5.length,visibility:"hidden"}},dojo.body());dijit.setWaiRole(_1bf,"presentation");_1bf.style.left=_1bf.style.top="0px";if(args.parent){_1bf.dijitPopupParent=args.parent.id;}var s=_1bb.domNode.style;s.display="";s.visibility="";s.position="";s.top="0px";_1bf.appendChild(_1bb.domNode);var _1c1=new dijit.BackgroundIframe(_1bf);var best=_1bd?dijit.placeOnScreenAroundElement(_1bf,_1bd,_1bc,_1bb.orient?dojo.hitch(_1bb,"orient"):null):dijit.placeOnScreen(_1bf,args,_1bc=="R"?["TR","BR","TL","BL"]:["TL","BL","TR","BR"],args.padding);_1bf.style.visibility="visible";var _1c3=[];var _1c4=function(){for(var pi=_1b5.length-1;pi>0&&_1b5[pi].parent===_1b5[pi-1].widget;pi--){}return _1b5[pi];};_1c3.push(dojo.connect(_1bf,"onkeypress",this,function(evt){if(evt.charOrCode==dojo.keys.ESCAPE&&args.onCancel){dojo.stopEvent(evt);args.onCancel();}else{if(evt.charOrCode===dojo.keys.TAB){dojo.stopEvent(evt);var _1c7=_1c4();if(_1c7&&_1c7.onCancel){_1c7.onCancel();}}}}));if(_1bb.onCancel){_1c3.push(dojo.connect(_1bb,"onCancel",null,args.onCancel));}_1c3.push(dojo.connect(_1bb,_1bb.onExecute?"onExecute":"onChange",null,function(){var _1c8=_1c4();if(_1c8&&_1c8.onExecute){_1c8.onExecute();}}));_1b5.push({wrapper:_1bf,iframe:_1c1,widget:_1bb,parent:args.parent,onExecute:args.onExecute,onCancel:args.onCancel,onClose:args.onClose,handlers:_1c3});if(_1bb.onOpen){_1bb.onOpen(best);}return best;};this.close=function(_1c9){while(dojo.some(_1b5,function(elem){return elem.widget==_1c9;})){var top=_1b5.pop(),_1cc=top.wrapper,_1cd=top.iframe,_1ce=top.widget,_1cf=top.onClose;if(_1ce.onClose){_1ce.onClose();}dojo.forEach(top.handlers,dojo.disconnect);if(!_1ce||!_1ce.domNode){return;}this.prepare(_1ce.domNode);_1cd.destroy();dojo.destroy(_1cc);if(_1cf){_1cf();}}};}();dijit._frames=new function(){var _1d0=[];this.pop=function(){var _1d1;if(_1d0.length){_1d1=_1d0.pop();_1d1.style.display="";}else{if(dojo.isIE){var burl=dojo.config["dojoBlankHtmlUrl"]||(dojo.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\");'>";_1d1=dojo.doc.createElement(html);}else{_1d1=dojo.create("iframe");_1d1.src="javascript:\"\"";_1d1.className="dijitBackgroundIframe";}_1d1.tabIndex=-1;dojo.body().appendChild(_1d1);}return _1d1;};this.push=function(_1d4){_1d4.style.display="none";if(dojo.isIE){_1d4.style.removeExpression("width");_1d4.style.removeExpression("height");}_1d0.push(_1d4);};}();dijit.BackgroundIframe=function(node){if(!node.id){throw new Error("no id");}if(dojo.isIE<7||(dojo.isFF<3&&dojo.hasClass(dojo.body(),"dijit_a11y"))){var _1d6=dijit._frames.pop();node.appendChild(_1d6);if(dojo.isIE){_1d6.style.setExpression("width",dojo._scopeName+".doc.getElementById('"+node.id+"').offsetWidth");_1d6.style.setExpression("height",dojo._scopeName+".doc.getElementById('"+node.id+"').offsetHeight");}this.iframe=_1d6;}};dojo.extend(dijit.BackgroundIframe,{destroy:function(){if(this.iframe){dijit._frames.push(this.iframe);delete this.iframe;}}});}if(!dojo._hasResource["dijit._base.scroll"]){dojo._hasResource["dijit._base.scroll"]=true;dojo.provide("dijit._base.scroll");dijit.scrollIntoView=function(node){try{node=dojo.byId(node);var doc=dojo.doc;var body=dojo.body();var html=body.parentNode;if((!(dojo.isFF>=3||dojo.isIE||dojo.isWebKit)||node==body||node==html)&&(typeof node.scrollIntoView=="function")){node.scrollIntoView(false);return;}var ltr=dojo._isBodyLtr();var _1dc=dojo.isIE>=8&&!_1dd;var rtl=!ltr&&!_1dc;var _1df=body;var _1dd=doc.compatMode=="BackCompat";if(_1dd){html._offsetWidth=html._clientWidth=body._offsetWidth=body.clientWidth;html._offsetHeight=html._clientHeight=body._offsetHeight=body.clientHeight;}else{if(dojo.isWebKit){body._offsetWidth=body._clientWidth=html.clientWidth;body._offsetHeight=body._clientHeight=html.clientHeight;}else{_1df=html;}html._offsetHeight=html.clientHeight;html._offsetWidth=html.clientWidth;}function _1e0(_1e1){var ie=dojo.isIE;return ((ie<=6||(ie>=7&&_1dd))?false:(dojo.style(_1e1,"position").toLowerCase()=="fixed"));};function _1e3(_1e4){var _1e5=_1e4.parentNode;var _1e6=_1e4.offsetParent;if(_1e6==null||_1e0(_1e4)){_1e6=html;_1e5=(_1e4==body)?html:null;}_1e4._offsetParent=_1e6;_1e4._parent=_1e5;var bp=dojo._getBorderExtents(_1e4);_1e4._borderStart={H:(_1dc&&!ltr)?(bp.w-bp.l):bp.l,V:bp.t};_1e4._borderSize={H:bp.w,V:bp.h};_1e4._scrolledAmount={H:_1e4.scrollLeft,V:_1e4.scrollTop};_1e4._offsetSize={H:_1e4._offsetWidth||_1e4.offsetWidth,V:_1e4._offsetHeight||_1e4.offsetHeight};_1e4._offsetStart={H:(_1dc&&!ltr)?_1e6.clientWidth-_1e4.offsetLeft-_1e4._offsetSize.H:_1e4.offsetLeft,V:_1e4.offsetTop};_1e4._clientSize={H:_1e4._clientWidth||_1e4.clientWidth,V:_1e4._clientHeight||_1e4.clientHeight};if(_1e4!=body&&_1e4!=html&&_1e4!=node){for(var dir in _1e4._offsetSize){var _1e9=_1e4._offsetSize[dir]-_1e4._clientSize[dir]-_1e4._borderSize[dir];var _1ea=_1e4._clientSize[dir]>0&&_1e9>0;if(_1ea){_1e4._offsetSize[dir]-=_1e9;if(dojo.isIE&&rtl&&dir=="H"){_1e4._offsetStart[dir]+=_1e9;}}}}};var _1eb=node;while(_1eb!=null){if(_1e0(_1eb)){node.scrollIntoView(false);return;}_1e3(_1eb);_1eb=_1eb._parent;}if(dojo.isIE&&node._parent){var _1ec=node._offsetParent;node._offsetStart.H+=_1ec._borderStart.H;node._offsetStart.V+=_1ec._borderStart.V;}if(dojo.isIE>=7&&_1df==html&&rtl&&body._offsetStart&&body._offsetStart.H==0){var _1ed=html.scrollWidth-html._offsetSize.H;if(_1ed>0){body._offsetStart.H=-_1ed;}}if(dojo.isIE<=6&&!_1dd){html._offsetSize.H+=html._borderSize.H;html._offsetSize.V+=html._borderSize.V;}if(rtl&&body._offsetStart&&_1df==html&&html._scrolledAmount){var ofs=body._offsetStart.H;if(ofs<0){html._scrolledAmount.H+=ofs;body._offsetStart.H=0;}}_1eb=node;while(_1eb){var _1ef=_1eb._parent;if(!_1ef){break;}if(_1ef.tagName=="TD"){var _1f0=_1ef._parent._parent._parent;if(_1ef!=_1eb._offsetParent&&_1ef._offsetParent!=_1eb._offsetParent){_1ef=_1f0;}}var _1f1=_1eb._offsetParent==_1ef;for(var dir in _1eb._offsetStart){var _1f3=dir=="H"?"V":"H";if(rtl&&dir=="H"&&(_1ef!=html)&&(_1ef!=body)&&(dojo.isIE||dojo.isWebKit)&&_1ef._clientSize.H>0&&_1ef.scrollWidth>_1ef._clientSize.H){var _1f4=_1ef.scrollWidth-_1ef._clientSize.H;if(_1f4>0){_1ef._scrolledAmount.H-=_1f4;}}if(_1ef._offsetParent.tagName=="TABLE"){if(dojo.isIE){_1ef._offsetStart[dir]-=_1ef._offsetParent._borderStart[dir];_1ef._borderStart[dir]=_1ef._borderSize[dir]=0;}else{_1ef._offsetStart[dir]+=_1ef._offsetParent._borderStart[dir];}}if(dojo.isIE){_1ef._offsetStart[dir]+=_1ef._offsetParent._borderStart[dir];}var _1f5=_1eb._offsetStart[dir]-_1ef._scrolledAmount[dir]-(_1f1?0:_1ef._offsetStart[dir])-_1ef._borderStart[dir];var _1f6=_1f5+_1eb._offsetSize[dir]-_1ef._offsetSize[dir]+_1ef._borderSize[dir];var _1f7=(dir=="H")?"scrollLeft":"scrollTop";var _1f8=dir=="H"&&rtl;var _1f9=_1f8?-_1f6:_1f5;var _1fa=_1f8?-_1f5:_1f6;var _1fb=(_1f9*_1fa<=0)?0:Math[(_1f9<0)?"max":"min"](_1f9,_1fa);if(_1fb!=0){var _1fc=_1ef[_1f7];_1ef[_1f7]+=(_1f8)?-_1fb:_1fb;var _1fd=_1ef[_1f7]-_1fc;}if(_1f1){_1eb._offsetStart[dir]+=_1ef._offsetStart[dir];}_1eb._offsetStart[dir]-=_1ef[_1f7];}_1eb._parent=_1ef._parent;_1eb._offsetParent=_1ef._offsetParent;}_1ef=node;var next;while(_1ef&&_1ef.removeAttribute){next=_1ef.parentNode;_1ef.removeAttribute("_offsetParent");_1ef.removeAttribute("_parent");_1ef=next;}}catch(error){console.error("scrollIntoView: "+error);node.scrollIntoView(false);}};}if(!dojo._hasResource["dijit._base.sniff"]){dojo._hasResource["dijit._base.sniff"]=true;dojo.provide("dijit._base.sniff");(function(){var d=dojo,html=d.doc.documentElement,ie=d.isIE,_202=d.isOpera,maj=Math.floor,ff=d.isFF,_205=d.boxModel.replace(/-/,""),_206={dj_ie:ie,dj_ie6:maj(ie)==6,dj_ie7:maj(ie)==7,dj_iequirks:ie&&d.isQuirks,dj_opera:_202,dj_opera8:maj(_202)==8,dj_opera9:maj(_202)==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};_206["dj_"+_205]=true;for(var p in _206){if(_206[p]){if(html.className){html.className+=" "+p;}else{html.className=p;}}}dojo._loaders.unshift(function(){if(!dojo._isBodyLtr()){html.className+=" dijitRtl";for(var p in _206){if(_206[p]){html.className+=" "+p+"-rtl";}}}});})();}if(!dojo._hasResource["dijit._base.typematic"]){dojo._hasResource["dijit._base.typematic"]=true;dojo.provide("dijit._base.typematic");dijit.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(dojo.hitch(this,"_fireEventAndReload"),this._currentTimeout);},trigger:function(evt,_20a,node,_20c,obj,_20e,_20f){if(obj!=this._obj){this.stop();this._initialDelay=_20f||500;this._subsequentDelay=_20e||0.9;this._obj=obj;this._evt=evt;this._node=node;this._currentTimeout=-1;this._count=-1;this._callback=dojo.hitch(_20a,_20c);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,_211,_212,_213,_214,_215){if(_211.keyCode){_211.charOrCode=_211.keyCode;dojo.deprecated("keyCode attribute parameter for dijit.typematic.addKeyListener is deprecated. Use charOrCode instead.","","2.0");}else{if(_211.charCode){_211.charOrCode=String.fromCharCode(_211.charCode);dojo.deprecated("charCode attribute parameter for dijit.typematic.addKeyListener is deprecated. Use charOrCode instead.","","2.0");}}return [dojo.connect(node,"onkeypress",this,function(evt){if(evt.charOrCode==_211.charOrCode&&(_211.ctrlKey===undefined||_211.ctrlKey==evt.ctrlKey)&&(_211.altKey===undefined||_211.altKey==evt.ctrlKey)&&(_211.shiftKey===undefined||_211.shiftKey==evt.ctrlKey)){dojo.stopEvent(evt);dijit.typematic.trigger(_211,_212,node,_213,_211,_214,_215);}else{if(dijit.typematic._obj==_211){dijit.typematic.stop();}}}),dojo.connect(node,"onkeyup",this,function(evt){if(dijit.typematic._obj==_211){dijit.typematic.stop();}})];},addMouseListener:function(node,_219,_21a,_21b,_21c){var dc=dojo.connect;return [dc(node,"mousedown",this,function(evt){dojo.stopEvent(evt);dijit.typematic.trigger(evt,_219,node,_21a,node,_21b,_21c);}),dc(node,"mouseup",this,function(evt){dojo.stopEvent(evt);dijit.typematic.stop();}),dc(node,"mouseout",this,function(evt){dojo.stopEvent(evt);dijit.typematic.stop();}),dc(node,"mousemove",this,function(evt){dojo.stopEvent(evt);}),dc(node,"dblclick",this,function(evt){dojo.stopEvent(evt);if(dojo.isIE){dijit.typematic.trigger(evt,_219,node,_21a,node,_21b,_21c);setTimeout(dojo.hitch(this,dijit.typematic.stop),50);}})];},addListener:function(_223,_224,_225,_226,_227,_228,_229){return this.addKeyListener(_224,_225,_226,_227,_228,_229).concat(this.addMouseListener(_223,_226,_227,_228,_229));}};}if(!dojo._hasResource["dijit._base.wai"]){dojo._hasResource["dijit._base.wai"]=true;dojo.provide("dijit._base.wai");dijit.wai={onload:function(){var div=dojo.create("div",{id:"a11yTestNode",style:{cssText:"border: 1px solid;"+"border-color:red green;"+"position: absolute;"+"height: 5px;"+"top: -999px;"+"background-image: url(\""+(dojo.config.blankGif||dojo.moduleUrl("dojo","resources/blank.gif"))+"\");"}},dojo.body());var cs=dojo.getComputedStyle(div);if(cs){var _22c=cs.backgroundImage;var _22d=(cs.borderTopColor==cs.borderRightColor)||(_22c!=null&&(_22c=="none"||_22c=="url(invalid-url:)"));dojo[_22d?"addClass":"removeClass"](dojo.body(),"dijit_a11y");if(dojo.isIE){div.outerHTML="";}else{dojo.body().removeChild(div);}}}};if(dojo.isIE||dojo.isMoz){dojo._loaders.unshift(dijit.wai.onload);}dojo.mixin(dijit,{_XhtmlRoles:/banner|contentinfo|definition|main|navigation|search|note|secondary|seealso/,hasWaiRole:function(elem,role){var _230=this.getWaiRole(elem);return role?(_230.indexOf(role)>-1):(_230.length>0);},getWaiRole:function(elem){return dojo.trim((dojo.attr(elem,"role")||"").replace(this._XhtmlRoles,"").replace("wairole:",""));},setWaiRole:function(elem,role){var _234=dojo.attr(elem,"role")||"";if(dojo.isFF<3||!this._XhtmlRoles.test(_234)){dojo.attr(elem,"role",dojo.isFF<3?"wairole:"+role:role);}else{if((" "+_234+" ").indexOf(" "+role+" ")<0){var _235=dojo.trim(_234.replace(this._XhtmlRoles,""));var _236=dojo.trim(_234.replace(_235,""));dojo.attr(elem,"role",_236+(_236?" ":"")+role);}}},removeWaiRole:function(elem,role){var _239=dojo.attr(elem,"role");if(!_239){return;}if(role){var _23a=dojo.isFF<3?"wairole:"+role:role;var t=dojo.trim((" "+_239+" ").replace(" "+_23a+" "," "));dojo.attr(elem,"role",t);}else{elem.removeAttribute("role");}},hasWaiState:function(elem,_23d){if(dojo.isFF<3){return elem.hasAttributeNS("http://www.w3.org/2005/07/aaa",_23d);}return elem.hasAttribute?elem.hasAttribute("aria-"+_23d):!!elem.getAttribute("aria-"+_23d);},getWaiState:function(elem,_23f){if(dojo.isFF<3){return elem.getAttributeNS("http://www.w3.org/2005/07/aaa",_23f);}return elem.getAttribute("aria-"+_23f)||"";},setWaiState:function(elem,_241,_242){if(dojo.isFF<3){elem.setAttributeNS("http://www.w3.org/2005/07/aaa","aaa:"+_241,_242);}else{elem.setAttribute("aria-"+_241,_242);}},removeWaiState:function(elem,_244){if(dojo.isFF<3){elem.removeAttributeNS("http://www.w3.org/2005/07/aaa",_244);}else{elem.removeAttribute("aria-"+_244);}}});}if(!dojo._hasResource["dijit._base"]){dojo._hasResource["dijit._base"]=true;dojo.provide("dijit._base");}if(!dojo._hasResource["dijit._Widget"]){dojo._hasResource["dijit._Widget"]=true;dojo.provide("dijit._Widget");dojo.require("dijit._base");dojo.connect(dojo,"connect",function(_245,_246){if(_245&&dojo.isFunction(_245._onConnect)){_245._onConnect(_246);}});dijit._connectOnUseEventHandler=function(_247){};(function(){var _248={};var _249=function(dc){if(!_248[dc]){var r=[];var _24c;var _24d=dojo.getObject(dc).prototype;for(var _24e in _24d){if(dojo.isFunction(_24d[_24e])&&(_24c=_24e.match(/^_set([a-zA-Z]*)Attr$/))&&_24c[1]){r.push(_24c[1].charAt(0).toLowerCase()+_24c[1].substr(1));}}_248[dc]=r;}return _248[dc]||[];};dojo.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:dijit._connectOnUseEventHandler,onDblClick:dijit._connectOnUseEventHandler,onKeyDown:dijit._connectOnUseEventHandler,onKeyPress:dijit._connectOnUseEventHandler,onKeyUp:dijit._connectOnUseEventHandler,onMouseDown:dijit._connectOnUseEventHandler,onMouseMove:dijit._connectOnUseEventHandler,onMouseOut:dijit._connectOnUseEventHandler,onMouseOver:dijit._connectOnUseEventHandler,onMouseLeave:dijit._connectOnUseEventHandler,onMouseEnter:dijit._connectOnUseEventHandler,onMouseUp:dijit._connectOnUseEventHandler,_blankGif:(dojo.config.blankGif||dojo.moduleUrl("dojo","resources/blank.gif")),postscript:function(_24f,_250){this.create(_24f,_250);},create:function(_251,_252){this.srcNodeRef=dojo.byId(_252);this._connects=[];this._deferredConnects=dojo.clone(this._deferredConnects);for(var attr in this.attributeMap){delete this._deferredConnects[attr];}for(attr in this._deferredConnects){if(this[attr]!==dijit._connectOnUseEventHandler){delete this._deferredConnects[attr];}}if(this.srcNodeRef&&(typeof this.srcNodeRef.id=="string")){this.id=this.srcNodeRef.id;}if(_251){this.params=_251;dojo.mixin(this,_251);}this.postMixInProperties();if(!this.id){this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_"));}dijit.registry.add(this);this.buildRendering();if(this.domNode){this._applyAttributes();var _254=this.srcNodeRef;if(_254&&_254.parentNode){_254.parentNode.replaceChild(this.domNode,_254);}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 _255=function(attr,_257){if((_257.params&&attr in _257.params)||_257[attr]){_257.attr(attr,_257[attr]);}};for(var attr in this.attributeMap){_255(attr,this);}dojo.forEach(_249(this.declaredClass),function(a){if(!(a in this.attributeMap)){_255(a,this);}},this);},postMixInProperties:function(){},buildRendering:function(){this.domNode=this.srcNodeRef||dojo.create("div");},postCreate:function(){},startup:function(){this._started=true;},destroyRecursive:function(_25a){this.destroyDescendants(_25a);this.destroy(_25a);},destroy:function(_25b){this.uninitialize();dojo.forEach(this._connects,function(_25c){dojo.forEach(_25c,dojo.disconnect);});dojo.forEach(this._supportingWidgets||[],function(w){if(w.destroy){w.destroy();}});this.destroyRendering(_25b);dijit.registry.remove(this.id);},destroyRendering:function(_25e){if(this.bgIframe){this.bgIframe.destroy(_25e);delete this.bgIframe;}if(this.domNode){if(_25e){dojo.removeAttr(this.domNode,"widgetId");}else{dojo.destroy(this.domNode);}delete this.domNode;}if(this.srcNodeRef){if(!_25e){dojo.destroy(this.srcNodeRef);}delete this.srcNodeRef;}},destroyDescendants:function(_25f){dojo.forEach(this.getChildren(),function(_260){if(_260.destroyRecursive){_260.destroyRecursive(_25f);}});},uninitialize:function(){return false;},onFocus:function(){},onBlur:function(){},_onFocus:function(e){this.onFocus();},_onBlur:function(){this.onBlur();},_onConnect:function(_262){if(_262 in this._deferredConnects){var _263=this[this._deferredConnects[_262]||"domNode"];this.connect(_263,_262.toLowerCase(),_262);delete this._deferredConnects[_262];}},_setClassAttr:function(_264){var _265=this[this.attributeMap["class"]||"domNode"];dojo.removeClass(_265,this["class"]);this["class"]=_264;dojo.addClass(_265,_264);},_setStyleAttr:function(_266){var _267=this[this.attributeMap["style"]||"domNode"];if(dojo.isObject(_266)){dojo.style(_267,_266);}else{if(_267.style.cssText){_267.style.cssText+="; "+_266;}else{_267.style.cssText=_266;}}this["style"]=_266;},setAttribute:function(attr,_269){dojo.deprecated(this.declaredClass+"::setAttribute() is deprecated. Use attr() instead.","","2.0");this.attr(attr,_269);},_attrToDom:function(attr,_26b){var _26c=this.attributeMap[attr];dojo.forEach(dojo.isArray(_26c)?_26c:[_26c],function(_26d){var _26e=this[_26d.node||_26d||"domNode"];var type=_26d.type||"attribute";switch(type){case "attribute":if(dojo.isFunction(_26b)){_26b=dojo.hitch(this,_26b);}if(/^on[A-Z][a-zA-Z]*$/.test(attr)){attr=attr.toLowerCase();}dojo.attr(_26e,attr,_26b);break;case "innerHTML":_26e.innerHTML=_26b;break;case "class":dojo.removeClass(_26e,this[attr]);dojo.addClass(_26e,_26b);break;}},this);this[attr]=_26b;},attr:function(name,_271){var args=arguments.length;if(args==1&&!dojo.isString(name)){for(var x in name){this.attr(x,name[x]);}return this;}var _274=this._getAttrNames(name);if(args==2){if(this[_274.s]){return this[_274.s](_271)||this;}else{if(name in this.attributeMap){this._attrToDom(name,_271);}this[name]=_271;}return this;}else{if(this[_274.g]){return this[_274.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=dojo.query("[widgetId]",this.containerNode);return list.map(dijit.byNode);}else{return [];}},getChildren:function(){if(this.containerNode){return dijit.findWidgets(this.containerNode);}else{return [];}},nodesWithKeyClick:["input","button"],connect:function(obj,_27a,_27b){var d=dojo;var dc=dojo.connect;var _27e=[];if(_27a=="ondijitclick"){if(!this.nodesWithKeyClick[obj.nodeName]){var m=d.hitch(this,_27b);_27e.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){_27e.push(dc(obj,"onkeypress",this,function(e){if(e.keyCode==d.keys.ENTER&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey){return m(e);}}));}}_27a="onclick";}_27e.push(dc(obj,_27a,this,_27b));this._connects.push(_27e);return _27e;},disconnect:function(_283){for(var i=0;i<this._connects.length;i++){if(this._connects[i]==_283){dojo.forEach(_283,dojo.disconnect);this._connects.splice(i,1);return;}}},isLeftToRight:function(){return dojo._isBodyLtr();},isFocusable:function(){return this.focus&&(dojo.style(this.domNode,"display")!="none");},placeAt:function(_285,_286){if(_285["declaredClass"]&&_285["addChild"]){_285.addChild(this,_286);}else{dojo.place(this.domNode,_285,_286);}return this;}});})();}if(!dojo._hasResource["dojo.date.stamp"]){dojo._hasResource["dojo.date.stamp"]=true;dojo.provide("dojo.date.stamp");dojo.date.stamp.fromISOString=function(_287,_288){if(!dojo.date.stamp._isoRegExp){dojo.date.stamp._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/;}var _289=dojo.date.stamp._isoRegExp.exec(_287);var _28a=null;if(_289){_289.shift();if(_289[1]){_289[1]--;}if(_289[6]){_289[6]*=1000;}if(_288){_288=new Date(_288);dojo.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(prop){return _288["get"+prop]();}).forEach(function(_28c,_28d){if(_289[_28d]===undefined){_289[_28d]=_28c;}});}_28a=new Date(_289[0]||1970,_289[1]||0,_289[2]||1,_289[3]||0,_289[4]||0,_289[5]||0,_289[6]||0);var _28e=0;var _28f=_289[7]&&_289[7].charAt(0);if(_28f!="Z"){_28e=((_289[8]||0)*60)+(Number(_289[9])||0);if(_28f!="-"){_28e*=-1;}}if(_28f){_28e-=_28a.getTimezoneOffset();}if(_28e){_28a.setTime(_28a.getTime()+_28e*60000);}}return _28a;};dojo.date.stamp.toISOString=function(_290,_291){var _=function(n){return (n<10)?"0"+n:n;};_291=_291||{};var _294=[];var _295=_291.zulu?"getUTC":"get";var date="";if(_291.selector!="time"){var year=_290[_295+"FullYear"]();date=["0000".substr((year+"").length)+year,_(_290[_295+"Month"]()+1),_(_290[_295+"Date"]())].join("-");}_294.push(date);if(_291.selector!="date"){var time=[_(_290[_295+"Hours"]()),_(_290[_295+"Minutes"]()),_(_290[_295+"Seconds"]())].join(":");var _299=_290[_295+"Milliseconds"]();if(_291.milliseconds){time+="."+(_299<100?"0":"")+_(_299);}if(_291.zulu){time+="Z";}else{if(_291.selector!="time"){var _29a=_290.getTimezoneOffset();var _29b=Math.abs(_29a);time+=(_29a>0?"-":"+")+_(Math.floor(_29b/60))+":"+_(_29b%60);}}_294.push(time);}return _294.join("T");};}if(!dojo._hasResource["dojo.parser"]){dojo._hasResource["dojo.parser"]=true;dojo.provide("dojo.parser");dojo.parser=new function(){var d=dojo;var _29d=d._scopeName+"Type";var qry="["+_29d+"]";var _29f=0,_2a0={};var _2a1=function(_2a2,_2a3){var nso=_2a3||_2a0;if(dojo.isIE){var cn=_2a2["__dojoNameCache"];if(cn&&nso[cn]===_2a2){return cn;}}var name;do{name="__"+_29f++;}while(name in nso);nso[name]=_2a2;return name;};function _2a7(_2a8){if(d.isString(_2a8)){return "string";}if(typeof _2a8=="number"){return "number";}if(typeof _2a8=="boolean"){return "boolean";}if(d.isFunction(_2a8)){return "function";}if(d.isArray(_2a8)){return "array";}if(_2a8 instanceof Date){return "date";}if(_2a8 instanceof d._Url){return "url";}return "object";};function _2a9(_2aa,type){switch(type){case "string":return _2aa;case "number":return _2aa.length?Number(_2aa):NaN;case "boolean":return typeof _2aa=="boolean"?_2aa:!(_2aa.toLowerCase()=="false");case "function":if(d.isFunction(_2aa)){_2aa=_2aa.toString();_2aa=d.trim(_2aa.substring(_2aa.indexOf("{")+1,_2aa.length-1));}try{if(_2aa.search(/[^\w\.]+/i)!=-1){_2aa=_2a1(new Function(_2aa),this);}return d.getObject(_2aa,false);}catch(e){return new Function();}case "array":return _2aa?_2aa.split(/\s*,\s*/):[];case "date":switch(_2aa){case "":return new Date("");case "now":return new Date();default:return d.date.stamp.fromISOString(_2aa);}case "url":return d.baseUrl+_2aa;default:return d.fromJson(_2aa);}};var _2ac={};function _2ad(_2ae){if(!_2ac[_2ae]){var cls=d.getObject(_2ae);if(!d.isFunction(cls)){throw new Error("Could not load class '"+_2ae+"'. Did you spell the name correctly and use a full path, like 'dijit.form.Button'?");}var _2b0=cls.prototype;var _2b1={},_2b2={};for(var name in _2b0){if(name.charAt(0)=="_"){continue;}if(name in _2b2){continue;}var _2b4=_2b0[name];_2b1[name]=_2a7(_2b4);}_2ac[_2ae]={cls:cls,params:_2b1};}return _2ac[_2ae];};this._functionFromScript=function(_2b5){var _2b6="";var _2b7="";var _2b8=_2b5.getAttribute("args");if(_2b8){d.forEach(_2b8.split(/\s*,\s*/),function(part,idx){_2b6+="var "+part+" = arguments["+idx+"]; ";});}var _2bb=_2b5.getAttribute("with");if(_2bb&&_2bb.length){d.forEach(_2bb.split(/\s*,\s*/),function(part){_2b6+="with("+part+"){";_2b7+="}";});}return new Function(_2b6+_2b5.innerHTML+_2b7);};this.instantiate=function(_2bd,_2be){var _2bf=[];_2be=_2be||{};d.forEach(_2bd,function(node){if(!node){return;}var type=_29d in _2be?_2be[_29d]:node.getAttribute(_29d);if(!type||!type.length){return;}var _2c2=_2ad(type),_2c3=_2c2.cls,ps=_2c3._noScript||_2c3.prototype._noScript;var _2c5={},_2c6=node.attributes;for(var name in _2c2.params){var item=name in _2be?{value:_2be[name],specified:true}:_2c6.getNamedItem(name);if(!item||(!item.specified&&(!dojo.isIE||name.toLowerCase()!="value"))){continue;}var _2c9=item.value;switch(name){case "class":_2c9="className" in _2be?_2be.className:node.className;break;case "style":_2c9="style" in _2be?_2be.style:(node.style&&node.style.cssText);}var _2ca=_2c2.params[name];if(typeof _2c9=="string"){_2c5[name]=_2a9(_2c9,_2ca);}else{_2c5[name]=_2c9;}}if(!ps){var _2cb=[],_2cc=[];d.query("> script[type^='dojo/']",node).orphan().forEach(function(_2cd){var _2ce=_2cd.getAttribute("event"),type=_2cd.getAttribute("type"),nf=d.parser._functionFromScript(_2cd);if(_2ce){if(type=="dojo/connect"){_2cb.push({event:_2ce,func:nf});}else{_2c5[_2ce]=nf;}}else{_2cc.push(nf);}});}var _2d0=_2c3["markupFactory"];if(!_2d0&&_2c3["prototype"]){_2d0=_2c3.prototype["markupFactory"];}var _2d1=_2d0?_2d0(_2c5,node,_2c3):new _2c3(_2c5,node);_2bf.push(_2d1);var _2d2=node.getAttribute("jsId");if(_2d2){d.setObject(_2d2,_2d1);}if(!ps){d.forEach(_2cb,function(_2d3){d.connect(_2d1,_2d3.event,null,_2d3.func);});d.forEach(_2cc,function(func){func.call(_2d1);});}});d.forEach(_2bf,function(_2d5){if(_2d5&&_2d5.startup&&!_2d5._started&&(!_2d5.getParent||!_2d5.getParent())){_2d5.startup();}});return _2bf;};this.parse=function(_2d6){var list=d.query(qry,_2d6);var _2d8=this.instantiate(list);return _2d8;};}();(function(){var _2d9=function(){if(dojo.config["parseOnLoad"]==true){dojo.parser.parse();}};if(dojo.exists("dijit.wai.onload")&&(dijit.wai.onload===dojo._loaders[0])){dojo._loaders.splice(1,0,_2d9);}else{dojo._loaders.unshift(_2d9);}})();}if(!dojo._hasResource["dijit._Templated"]){dojo._hasResource["dijit._Templated"]=true;dojo.provide("dijit._Templated");dojo.declare("dijit._Templated",null,{templateString:null,templatePath:null,widgetsInTemplate:false,_skipNodeCache:false,_stringRepl:function(tmpl){var _2db=this.declaredClass,_2dc=this;return dojo.string.substitute(tmpl,this,function(_2dd,key){if(key.charAt(0)=="!"){_2dd=dojo.getObject(key.substr(1),false,_2dc);}if(typeof _2dd=="undefined"){throw new Error(_2db+" template:"+key);}if(_2dd==null){return "";}return key.charAt(0)=="!"?_2dd:_2dd.toString().replace(/"/g,"&quot;");},this);},buildRendering:function(){var _2df=dijit._Templated.getCachedTemplate(this.templatePath,this.templateString,this._skipNodeCache);var node;if(dojo.isString(_2df)){node=dojo._toDom(this._stringRepl(_2df));}else{node=_2df.cloneNode(true);}this.domNode=node;this._attachTemplateNodes(node);if(this.widgetsInTemplate){var cw=(this._supportingWidgets=dojo.parser.parse(node));this._attachTemplateNodes(cw,function(n,p){return n[p];});}this._fillContent(this.srcNodeRef);},_fillContent:function(_2e4){var dest=this.containerNode;if(_2e4&&dest){while(_2e4.hasChildNodes()){dest.appendChild(_2e4.firstChild);}}},_attachTemplateNodes:function(_2e6,_2e7){_2e7=_2e7||function(n,p){return n.getAttribute(p);};var _2ea=dojo.isArray(_2e6)?_2e6:(_2e6.all||_2e6.getElementsByTagName("*"));var x=dojo.isArray(_2e6)?0:-1;for(;x<_2ea.length;x++){var _2ec=(x==-1)?_2e6:_2ea[x];if(this.widgetsInTemplate&&_2e7(_2ec,"dojoType")){continue;}var _2ed=_2e7(_2ec,"dojoAttachPoint");if(_2ed){var _2ee,_2ef=_2ed.split(/\s*,\s*/);while((_2ee=_2ef.shift())){if(dojo.isArray(this[_2ee])){this[_2ee].push(_2ec);}else{this[_2ee]=_2ec;}}}var _2f0=_2e7(_2ec,"dojoAttachEvent");if(_2f0){var _2f1,_2f2=_2f0.split(/\s*,\s*/);var trim=dojo.trim;while((_2f1=_2f2.shift())){if(_2f1){var _2f4=null;if(_2f1.indexOf(":")!=-1){var _2f5=_2f1.split(":");_2f1=trim(_2f5[0]);_2f4=trim(_2f5[1]);}else{_2f1=trim(_2f1);}if(!_2f4){_2f4=_2f1;}this.connect(_2ec,_2f1,_2f4);}}}var role=_2e7(_2ec,"waiRole");if(role){dijit.setWaiRole(_2ec,role);}var _2f7=_2e7(_2ec,"waiState");if(_2f7){dojo.forEach(_2f7.split(/\s*,\s*/),function(_2f8){if(_2f8.indexOf("-")!=-1){var pair=_2f8.split("-");dijit.setWaiState(_2ec,pair[0],pair[1]);}});}}}});dijit._Templated._templateCache={};dijit._Templated.getCachedTemplate=function(_2fa,_2fb,_2fc){var _2fd=dijit._Templated._templateCache;var key=_2fb||_2fa;var _2ff=_2fd[key];if(_2ff){if(!_2ff.ownerDocument||_2ff.ownerDocument==dojo.doc){return _2ff;}dojo.destroy(_2ff);}if(!_2fb){_2fb=dijit._Templated._sanitizeTemplateString(dojo.trim(dojo._getText(_2fa)));}_2fb=dojo.string.trim(_2fb);if(_2fc||_2fb.match(/\$\{([^\}]+)\}/g)){return (_2fd[key]=_2fb);}else{return (_2fd[key]=dojo._toDom(_2fb));}};dijit._Templated._sanitizeTemplateString=function(_300){if(_300){_300=_300.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,"");var _301=_300.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);if(_301){_300=_301[1];}}else{_300="";}return _300;};if(dojo.isIE){dojo.addOnWindowUnload(function(){var _302=dijit._Templated._templateCache;for(var key in _302){var _304=_302[key];if(!isNaN(_304.nodeType)){dojo.destroy(_304);}delete _302[key];}});}dojo.extend(dijit._Widget,{dojoAttachEvent:"",dojoAttachPoint:"",waiRole:"",waiState:""});}if(!dojo._hasResource["dijit._Container"]){dojo._hasResource["dijit._Container"]=true;dojo.provide("dijit._Container");dojo.declare("dijit._Container",null,{isContainer:true,buildRendering:function(){this.inherited(arguments);if(!this.containerNode){this.containerNode=this.domNode;}},addChild:function(_305,_306){var _307=this.containerNode;if(_306&&typeof _306=="number"){var _308=this.getChildren();if(_308&&_308.length>=_306){_307=_308[_306-1].domNode;_306="after";}}dojo.place(_305.domNode,_307,_306);if(this._started&&!_305._started){_305.startup();}},removeChild:function(_309){if(typeof _309=="number"&&_309>0){_309=this.getChildren()[_309];}if(!_309||!_309.domNode){return;}var node=_309.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 dojo.query("> [widgetId]",this.containerNode).map(dijit.byNode);},hasChildren:function(){return !!this._firstElement(this.containerNode);},destroyDescendants:function(_30d){dojo.forEach(this.getChildren(),function(_30e){_30e.destroyRecursive(_30d);});},_getSiblingOfChild:function(_30f,dir){var node=_30f.domNode;var _312=(dir>0?"nextSibling":"previousSibling");do{node=node[_312];}while(node&&(node.nodeType!=1||!dijit.byNode(node)));return node?dijit.byNode(node):null;},getIndexOfChild:function(_313){var _314=this.getChildren();for(var i=0,c;c=_314[i];i++){if(c==_313){return i;}}return -1;}});}if(!dojo._hasResource["topaz.utils.datefunctions"]){dojo._hasResource["topaz.utils.datefunctions"]=true;dojo.provide("topaz.utils.datefunctions");var MONTH_NAMES=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 DAY_NAMES=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 isDate(val,_319){var date=getDateFromFormat(val,_319);if(date==0){return false;}return true;};function compareDates(_31b,_31c,_31d,_31e){var d1=getDateFromFormat(_31b,_31c);var d2=getDateFromFormat(_31d,_31e);if(d1==0||d2==0){return -1;}else{if(d1>d2){return 1;}}return 0;};function formatDate(date,_322){_322=_322+"";var _323="";var _324=0;var c="";var _326="";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 _33d=new Object();if(y.length<4){y=""+(y-0+1900);}_33d["y"]=""+y;_33d["yyyy"]=y;_33d["yy"]=y.substring(2,4);_33d["M"]=M;_33d["MM"]=LZ(M);_33d["MMM"]=MONTH_NAMES[M-1];_33d["NNN"]=MONTH_NAMES[M+11];_33d["d"]=d;_33d["dd"]=LZ(d);_33d["E"]=DAY_NAMES[E+7];_33d["EE"]=DAY_NAMES[E];_33d["H"]=H;_33d["HH"]=LZ(H);if(H==0){_33d["h"]=12;}else{if(H>12){_33d["h"]=H-12;}else{_33d["h"]=H;}}_33d["hh"]=LZ(_33d["h"]);if(H>11){_33d["K"]=H-12;}else{_33d["K"]=H;}_33d["k"]=H+1;_33d["KK"]=LZ(_33d["K"]);_33d["kk"]=LZ(_33d["k"]);if(H>11){_33d["a"]="PM";}else{_33d["a"]="AM";}_33d["m"]=m;_33d["mm"]=LZ(m);_33d["s"]=s;_33d["ss"]=LZ(s);while(_324<_322.length){c=_322.charAt(_324);_326="";while((_322.charAt(_324)==c)&&(_324<_322.length)){_326+=_322.charAt(_324++);}if(_33d[_326]!=null){_323=_323+_33d[_326];}else{_323=_323+_326;}}return _323;};function _isInteger(val){var _33f="1234567890";for(var i=0;i<val.length;i++){if(_33f.indexOf(val.charAt(i))==-1){return false;}}return true;};function _getInt(str,i,_343,_344){for(var x=_344;x>=_343;x--){var _346=str.substring(i,i+x);if(_346.length<_343){return null;}if(_isInteger(_346)){return _346;}}return null;};function getDateFromFormat(val,_348){val=val+"";_348=_348+"";var _349=0;var _34a=0;var c="";var _34c="";var _34d="";var x,y;var now=new Date();var year=now.getYear();var _352=now.getMonth()+1;var date=1;var hh=now.getHours();var mm=now.getMinutes();var ss=now.getSeconds();var ampm="";while(_34a<_348.length){c=_348.charAt(_34a);_34c="";while((_348.charAt(_34a)==c)&&(_34a<_348.length)){_34c+=_348.charAt(_34a++);}if(_34c=="yyyy"||_34c=="yy"||_34c=="y"){if(_34c=="yyyy"){x=4;y=4;}if(_34c=="yy"){x=2;y=2;}if(_34c=="y"){x=2;y=4;}year=_getInt(val,_349,x,y);if(year==null){return 0;}_349+=year.length;if(year.length==2){if(year>70){year=1900+(year-0);}else{year=2000+(year-0);}}}else{if(_34c=="MMM"||_34c=="NNN"){_352=0;for(var i=0;i<MONTH_NAMES.length;i++){var _359=MONTH_NAMES[i];if(val.substring(_349,_349+_359.length).toLowerCase()==_359.toLowerCase()){if(_34c=="MMM"||(_34c=="NNN"&&i>11)){_352=i+1;if(_352>12){_352-=12;}_349+=_359.length;break;}}}if((_352<1)||(_352>12)){return 0;}}else{if(_34c=="EE"||_34c=="E"){for(var i=0;i<DAY_NAMES.length;i++){var _35a=DAY_NAMES[i];if(val.substring(_349,_349+_35a.length).toLowerCase()==_35a.toLowerCase()){_349+=_35a.length;break;}}}else{if(_34c=="MM"||_34c=="M"){_352=_getInt(val,_349,_34c.length,2);if(_352==null||(_352<1)||(_352>12)){return 0;}_349+=_352.length;}else{if(_34c=="dd"||_34c=="d"){date=_getInt(val,_349,_34c.length,2);if(date==null||(date<1)||(date>31)){return 0;}_349+=date.length;}else{if(_34c=="hh"||_34c=="h"){hh=_getInt(val,_349,_34c.length,2);if(hh==null||(hh<1)||(hh>12)){return 0;}_349+=hh.length;}else{if(_34c=="HH"||_34c=="H"){hh=_getInt(val,_349,_34c.length,2);if(hh==null||(hh<0)||(hh>23)){return 0;}_349+=hh.length;}else{if(_34c=="KK"||_34c=="K"){hh=_getInt(val,_349,_34c.length,2);if(hh==null||(hh<0)||(hh>11)){return 0;}_349+=hh.length;}else{if(_34c=="kk"||_34c=="k"){hh=_getInt(val,_349,_34c.length,2);if(hh==null||(hh<1)||(hh>24)){return 0;}_349+=hh.length;hh--;}else{if(_34c=="mm"||_34c=="m"){mm=_getInt(val,_349,_34c.length,2);if(mm==null||(mm<0)||(mm>59)){return 0;}_349+=mm.length;}else{if(_34c=="ss"||_34c=="s"){ss=_getInt(val,_349,_34c.length,2);if(ss==null||(ss<0)||(ss>59)){return 0;}_349+=ss.length;}else{if(_34c=="a"){if(val.substring(_349,_349+2).toLowerCase()=="am"){ampm="AM";}else{if(val.substring(_349,_349+2).toLowerCase()=="pm"){ampm="PM";}else{return 0;}}_349+=2;}else{if(val.substring(_349,_349+_34c.length)!=_34c){return 0;}else{_349+=_34c.length;}}}}}}}}}}}}}}if(_349!=val.length){return 0;}if(_352==2){if(((year%4==0)&&(year%100!=0))||(year%400==0)){if(date>29){return 0;}}else{if(date>28){return 0;}}}if((_352==4)||(_352==6)||(_352==9)||(_352==11)){if(date>30){return 0;}}if(hh<12&&ampm=="PM"){hh=hh-0+12;}else{if(hh>11&&ampm=="AM"){hh-=12;}}var _35b=new Date(year,_352-1,date,hh,mm,ss);return _35b.getTime();};function parseDate(val){var _35d=(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 _35e=new Array("generalFormats",_35d?"dateFirst":"monthFirst",_35d?"monthFirst":"dateFirst");var d=null;for(var i=0;i<_35e.length;i++){var l=window[_35e[i]];for(var j=0;j<l.length;j++){d=getDateFromFormat(val,l[j]);if(d!=0){return new Date(d);}}}return null;};}if(!dojo._hasResource["topaz.utils.bahelper"]){dojo._hasResource["topaz.utils.bahelper"]=true;dojo.provide("topaz.utils.bahelper");dojo.declare("BAHelper",null,{included_files:[],browserSupported:function(){var _363=false;if(dojo.isIE>=7||dojo.isFF>=2||dojo.isSafari>=3||dojo.isOpera>=9.6||dojo.isChrome>=1){_363=true;}return _363;},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(_366,_367,_368){try{var _369=dojo._docScroll();var dir;if(_369.y>_366){dir=-1;}else{dir=1;}if(Math.abs(_369.y-_366)>=_367){window.scrollBy(0,_367*dir);this.scrollYTo(_366,_367,_368);}else{window.scrollBy(0,_367*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(_370,_371){var _372=_370.parentNode;try{eval("dijit.byId('"+_372.id+"')."+_371+"();");return _372;}catch(err){if(_372!=null){return this.getAncestorWithThisMethod(_372,_371);}else{return null;}}},showCalendarInContextOfRoom:function(_373,_374,_375){try{var X=dijit.byId(_373);if(!_375){_375="Selected room";}var Y=dijit.byId(_373+"_selectedStayDates");Y.setRoomId(_374);Y.setAvailDayLegendDescr(_375+" available");Y.setOtherAvailLegendDescr("Other rooms available");Y.showOtherRoomsLegend();Y.openPopInWindow();Y.redrawCalendars();}catch(err){console.debug("bahelper.showCalendarInContextOfRoom-error: "+err.message);}},showCalendarInContextOfHotel:function(_378,_379,_37a){var X=dijit.byId(_378);if(!_37a){_37a="Selected hotel";}var Y=dijit.byId(_378+"_selectedStayDates");Y.setHotelId(_379);Y.setRoomId("");Y.setAvailDayLegendDescr(_37a+" available");Y.setOtherAvailLegendDescr("Other hotels available");Y.openPopInWindow();Y.redrawCalendars();},dojoFxSizeTo:function(args){try{var node=(args.node=dojo.byId(args.node));var _37f=dojo.getComputedStyle;var _380=args.method||"chain";if(_380=="chain"){args.duration=(args.duration/2);}var top,_382,left,_384,_385,_386=null;var init=(function(){var _388=node;return function(){var pos=_37f(_388).position;top=(pos=="absolute"?node.offsetTop:parseInt(_37f(node).top)||0);left=(pos=="absolute"?node.offsetLeft:parseInt(_37f(node).left)||0);_385=parseInt(dojo.style(node,"width"));_386=parseInt(dojo.style(node,"height"));if(args.aboutTopLeft){_384=left;_382=top;}else{if(args.aboutBottomRight){_384=args.left;_382=args.top;}else{_384=left-((args.width-_385)/2);_382=top-((args.height-_386)/2);}}if(pos!="absolute"&&pos!="relative"){var ret=dojo.coords(_388,true);top=ret.y;left=ret.x;_388.style.position="absolute";_388.style.top=top+"px";_388.style.left=left+"px";}};})();init();var _38b=dojo.animateProperty(dojo.mixin({properties:{height:{start:_386,end:args.height||0,unit:"px"},top:{start:top,end:_382}}},args));var _38c=dojo.animateProperty(dojo.mixin({properties:{width:{start:_385,end:args.width||0,unit:"px"},left:{start:left,end:_384}}},args));var anim=dojo.fx[((args.method=="combine")?"combine":"chain")]([_38b,_38c]);dojo.connect(anim,"beforeBegin",anim,init);return anim;}catch(err){console.debug("bahelper.dojoFxSizeTo-error: "+err.message);}},clearOptions:function(_38e){for(x=_38e.length;x>=0;x--){_38e[x]=null;}},AddToOptionList:function(_38f,_390,_391){_38f[_38f.length]=new Option(_391,_390);},getContainingWidgetObject:function(_392){return this.getAncestorWithThisMethod(_392,"returnWidgetType");},zIndexFix:function(){var _393=5000;dojo.query("DIV").forEach(function(node,_395,arr){dojo.style(node,"z-index",_393);_393-=10;});},ieSelectBugProof:function(_397){_397.innerHTML=(_397.innerHTML+"<iframe src=\"about:blank\" scrolling=\"no\" frameborder=\"0\" style=\"filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);\"></iframe>");var _398=_397.firstChild;_398.style.width=_397.offsetWidth+"px";_398.style.height=_397.offsetHeight+"px";_398.style.position="relative";_398.style.top=_397.top-_398.style.height;_398.style.zIndex="-1";},ArrayCopy:function(_399){var _39a=new Array();var i;for(i in _399){_39a[i]=_399[i];}return _39a;},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(_39d){return parseInt(_39d,10)<10?"0"+_39d:""+_39d;},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(_3a3){var i;var _3a5;var _3a6=new Array();for(i=0;i<_3a3.length;i++){switch(_3a3[i]){case "AX":_3a5="American Express";break;case "MC":_3a5="Mastercard";break;case "VI":_3a5="Visa";break;case "DC":_3a5="Discover Card";break;case "DI":_3a5="Diners Club";break;case "JC":_3a5="Japan Credit Bureau";break;case "EN":_3a5="Enroute";break;case "CB":_3a5="Carte Blanche";break;case "EU":_3a5="Euro Card";break;case "ER":_3a5="Encore";break;case "pr":_3a5="Guest will Prepay";break;}_3a6[i]=_3a5;}return _3a6;},replaceSubstring:function(_3a7,from,to){var _3aa="";while(_3a7.length>=from.length&&_3a7.length>0&&from.length>0){if(_3a7.substring(0,from.length)==from){_3aa+=to;_3a7=_3a7.substring(from.length);}else{_3aa+=_3a7.substring(0,1);_3a7=_3a7.substring(1);}}return _3aa+_3a7;},extractday:function(_3ab){_3ab+="";return parseInt(_3ab.substring(3,5),10);},extractyear:function(_3ac){_3ac+="";return parseInt(_3ac.substring(6,10),10);},extractmonth:function(_3ad){_3ad+="";return parseInt(_3ad.substring(0,2),10);},_getmonthnumdays:function(_3ae,_3af){var _3b0=0;switch(_3ae){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_3b0=31;break;case 2:if((_3af%4)==0){_3b0=29;}else{_3b0=28;}break;default:_3b0=30;break;}return _3b0;},dateAdd:function(_3b1,_3b2){var _3b3=parseInt(this.extractmonth(_3b1),10);var _3b4=parseInt(this.extractday(_3b1),10);var _3b5=parseInt(this.extractyear(_3b1),10);var _3b6=this._getmonthnumdays(_3b3,_3b5);_3b4+=parseInt(_3b2,10);if(_3b4>_3b6){_3b4=_3b4-_3b6;_3b3++;}if(_3b3>12){_3b3=1;_3b5++;}_3b3=_3b3<10?"0"+_3b3:""+_3b3;_3b4=_3b4<10?"0"+_3b4:""+_3b4;return _3b3+"/"+_3b4+"/"+_3b5;},dateDifference:function(_3b7,_3b8){var _3b9=_3b8;var ctr=0;while(ctr<700&&_3b9!=_3b7){_3b9=this.dateAdd(_3b9,"01");ctr++;}return ctr;},isCCExpOK_B3:function(_3bb){try{var _3bc=true;var y=parseInt(_3bb.elements["item[ccxpire_yr]"].value*1,10);var m=parseInt(_3bb.elements["item[ccxpire_mo]"].value*1,10);var b=document.forms.bang;var _3c0=2007;var _3c1=5;if((_3c0>y)||(_3c0==y&&_3c1>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,_3c3){try{var _3c4=1;var _3c5=0;_3c4=ppl.selectedIndex+1;_3c5=_3c3.selectedIndex;if(_3c5>=_3c4){alert("Rooms must have at least one adult.");return false;}return true;}catch(errorObj){return true;}},checkCreditCard_B3:function(_3c6,_3c7,_3c8){try{var f=document.reservationForm;var _3ca=_3c6.options[_3c6.selectedIndex].value;if(_3ca=="VI"){var _3cb="VISA";}if(_3ca=="AX"){var _3cb="American Express";}if(_3ca=="DC"){var _3cb="Discover";}if(_3ca=="MC"){var _3cb="MasterCard";}var _3cc=stripCharsInBag(_3c7.value,creditCardDelimiters);if(_3ca=="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(_3ca,_3cc)){return warnInvalid(_3c7,iCreditCardPrefix+_3cb+iCreditCardSuffix);}else{if(_3ca=="AX"){_3c7.value=_3cc.substring(0,4)+"-"+_3cc.substring(4,10)+"-"+_3cc.substring(10,15);}else{_3c7.value=_3cc.substring(0,4)+"-"+_3cc.substring(4,8)+"-"+_3cc.substring(8,12)+"-"+_3cc.substring(12,16);}return true;}}catch(errorObj){return true;}},ValidateForm_B3:function(_3cd){console.debug("In bahelper.ValidateForm_B3");try{if(checkString(_3cd.elements["item[fname]"],sfname)&&checkString(_3cd.elements["item[lname]"],slname)&&checkString(_3cd.elements["item[addr1]"],saddress1)&&checkString(_3cd.elements["item[addr2]"],saddress2,true)&&checkString(_3cd.elements["item[city]"],scity)&&checkString(_3cd.elements["item[zip]"],iZip)&&checkString(_3cd.elements["item[state]"],sstate,true)&&checkPhone(_3cd.elements["item[callphone]"])&&checkEmail(_3cd.elements["item[email]"])&&this.checkRooms(_3cd.elements["item[number_adults]"],_3cd.elements["item[number_children]"])&&this.checkCreditCard_B3(_3cd.elements["item[cctype]"],_3cd.elements["item[ccnumb]"],_3cd)&&(this.isCCExpOK_B3(_3cd))){return true;}else{return false;}}catch(errorObj){console.debug("bahelper.ValidateForm_B3-error: "+errorObj.message);return true;}},makeHidden:function(_3ce){document.getElementById(_3ce).style.visibility="hidden";},makeVisible:function(_3cf){document.getElementById(_3cf).style.visibility="visible";},getXMLobject:function(_3d0){var _3d1;if(document.implementation.createDocument){var _3d2=new DOMParser();_3d1=_3d2.parseFromString(_3d0,"text/xml");}else{if(window.ActiveXObject){_3d1=new ActiveXObject("Microsoft.XMLDOM");_3d1.async="false";_3d1.loadXML(_3d0);}}return _3d1;},getValuefromXML:function(_3d3,_3d4,_3d5){var _3d6;try{_3d6=_3d3.getElementsByTagName(_3d5)[_3d4].childNodes[0].nodeValue;return unescape(_3d6);}catch(e){return false;}},getIndexOfValuefromXML:function(_3d7,_3d8,_3d9){var _3da;try{var i=0;var _3dc=false;while(!_3dc&&i<_3d7.getElementsByTagName(_3d8).length){if(_3d9==_3d7.getElementsByTagName(_3d8)[i].childNodes[0].nodeValue){_3da=i;_3dc=true;}else{i++;}}return _3da;}catch(e){return 0;}},getAttrValueFromXML:function(_3dd,_3de,_3df){try{var root=_3dd.getElementsByTagName(_3de)[0];return root.getAttribute(_3df);}catch(err){console.debug("bahelper.getAttrValueFromXML-error: '"+err.message+"', rootName='"+_3de+"', attr='"+_3df+"'");return false;}},getCheckedValue:function(_3e1){if(!_3e1){return "";}var _3e2=_3e1.length;if(_3e2==undefined){if(_3e1.checked){return _3e1.value;}else{return "";}}for(var i=0;i<_3e2;i++){if(_3e1[i].checked){return _3e1[i].value;}}return "";},setCheckedValue:function(_3e4,_3e5){if(!_3e4){return;}var _3e6=_3e4.length;if(_3e6==undefined){if(_3e5.toString){_3e4.checked=(_3e4.value==_3e5.toString());}else{_3e4.checked=false;}return;}for(var i=0;i<_3e6;i++){_3e4[i].checked=false;if(_3e4[i].value==_3e5.toString()){_3e4[i].checked=true;}}},IsNumeric:function(_3e8){var _3e9="0123456789.";var _3ea=true;var Char;for(i=0;i<_3e8.length&&_3ea==true;i++){Char=_3e8.charAt(i);if(_3e9.indexOf(Char)==-1){_3ea=false;}}return _3ea;},getArrayAverage:function(_3ec){var sum=0;var _3ee=0;if(_3ec.length>=1){if(!this.IsNumeric(_3ec[0])){_3ec.shift();}}for(var i=0;i<_3ec.length;i++){sum+=parseFloat(_3ec[i]);if(_3ec[i]==false||_3ec[i]=="false"||!this.IsNumeric(_3ec[i])){_3ee++;}}var _3f0=_3ec.length-_3ee;if(_3f0>0){return parseFloat(sum/(_3ec.length-_3ee));}else{return 0;}},getCSVfromArray:function(_3f1){var _3f2="";for(var i=0;i<_3f1.length;i++){_3f2+=_3f1[i];if(i<_3f1.length-1){_3f2+=",";}}return _3f2;},getHTMLParameters:function(_3f4,_3f5){console.debug("bahelper.getHTMLParameters: pageLocation="+_3f5);_3f5=_3f5+"";var _3f6=_3f5.split("?",2);var url=_3f6[0];var _3f8;if(!(_3f4 instanceof Array)){_3f4=new Array();}var left,_3fa;if(_3f6.length>1){_3f8=_3f6[1].split("&");for(var i=0;i<_3f8.length;i++){var _3fc=_3f8[i].split("=",2);left=_3fc[0];_3fa=_3fc[1];_3f4[left]=_3fa;}}return _3f4;},include_dom:function(_3fd){var _3fe=document.getElementsByTagName("head").item(0);var js=document.createElement("script");js.setAttribute("language","javascript");js.setAttribute("type","text/javascript");js.setAttribute("src",_3fd);_3fe.appendChild(js);return false;},include_once:function(_400){if(!in_array(_400,this.included_files)){this.included_files[this.included_files.length]=_400;this.include_dom(_400);}},in_array:function(_401,_402){for(var i=0;i<_402.length;i++){if(_402[i]==_401){return true;}}return false;},getPrefix:function(_404,_405){_404=_404+"";var _406=_404.split(_405);return _406[0];},stripMarkup:function(_407,_408){try{if(!_408){_408="";}_407+="";var _409=_407.split("<");var str1,str2,str3;if(_409.length<2){return _408+_407;}else{str1=_407;str2=str1.split("<");var _40d="";var _40e="";for(var i=1;i<str2.length;i++){if(i!=1){_40d+="<";}_40d+=str2[i];}str3=_40d.split(">");_40d="";for(var i=1;i<str3.length;i++){if(i!=1){_40d+=">";}_40d+=str3[i];}return this.stripMarkup(_40d,_408+_40e+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(_411,_412){try{var _413="";var _414="";for(var i=0;i<_411.length;i++){_414=_411.substring(i,i+1);console.debug("bahelper.escape: thisChar="+_414+", = '"+_412+"'? "+(_414==_412));if(_414!=_412){_413+=escape(_414);}else{_413+=_414;}}return _413;}catch(err){console.debug("bahelper.escape-error: "+err.message);return _411;}},constructor:function(){this.included_files=new Array();}});try{baHelper=new BAHelper();}catch(err){console.debug("topaz/utils/bahelper.js error: "+err.message);}}if(!dojo._hasResource["dojox.collections._base"]){dojo._hasResource["dojox.collections._base"]=true;dojo.provide("dojox.collections._base");dojox.collections.DictionaryEntry=function(k,v){this.key=k;this.value=v;this.valueOf=function(){return this.value;};this.toString=function(){return String(this.value);};};dojox.collections.Iterator=function(arr){var a=arr;var _41a=0;this.element=a[_41a]||null;this.atEnd=function(){return (_41a>=a.length);};this.get=function(){if(this.atEnd()){return null;}this.element=a[_41a++];return this.element;};this.map=function(fn,_41c){return dojo.map(a,fn,_41c);};this.reset=function(){_41a=0;this.element=a[_41a];};};dojox.collections.DictionaryIterator=function(obj){var a=[];var _41f={};for(var p in obj){if(!_41f[p]){a.push(obj[p]);}}var _421=0;this.element=a[_421]||null;this.atEnd=function(){return (_421>=a.length);};this.get=function(){if(this.atEnd()){return null;}this.element=a[_421++];return this.element;};this.map=function(fn,_423){return dojo.map(a,fn,_423);};this.reset=function(){_421=0;this.element=a[_421];};};}if(!dojo._hasResource["dojox.collections.ArrayList"]){dojo._hasResource["dojox.collections.ArrayList"]=true;dojo.provide("dojox.collections.ArrayList");dojox.collections.ArrayList=function(arr){var _425=[];if(arr){_425=_425.concat(arr);}this.count=_425.length;this.add=function(obj){_425.push(obj);this.count=_425.length;};this.addRange=function(a){if(a.getIterator){var e=a.getIterator();while(!e.atEnd()){this.add(e.get());}this.count=_425.length;}else{for(var i=0;i<a.length;i++){_425.push(a[i]);}this.count=_425.length;}};this.clear=function(){_425.splice(0,_425.length);this.count=0;};this.clone=function(){return new dojox.collections.ArrayList(_425);};this.contains=function(obj){for(var i=0;i<_425.length;i++){if(_425[i]==obj){return true;}}return false;};this.forEach=function(fn,_42d){dojo.forEach(_425,fn,_42d);};this.getIterator=function(){return new dojox.collections.Iterator(_425);};this.indexOf=function(obj){for(var i=0;i<_425.length;i++){if(_425[i]==obj){return i;}}return -1;};this.insert=function(i,obj){_425.splice(i,0,obj);this.count=_425.length;};this.item=function(i){return _425[i];};this.remove=function(obj){var i=this.indexOf(obj);if(i>=0){_425.splice(i,1);}this.count=_425.length;};this.removeAt=function(i){_425.splice(i,1);this.count=_425.length;};this.reverse=function(){_425.reverse();};this.sort=function(fn){if(fn){_425.sort(fn);}else{_425.sort();}};this.setByIndex=function(i,obj){_425[i]=obj;this.count=_425.length;};this.toArray=function(){return [].concat(_425);};this.toString=function(_439){return _425.join((_439||","));};};}if(!dojo._hasResource["topaz.loader.bookability.AvailabilityLoader"]){dojo._hasResource["topaz.loader.bookability.AvailabilityLoader"]=true;dojo.provide("topaz.loader.bookability.AvailabilityLoader");dojo.declare("AvailabilityLoader",null,{arrDate:"",depDate:"",nightstay:1,siteId:"",hotelId:"",roomId:"",promoCode:"",domainName:hostname,returnHotelAvailabilityData:function(_43a){return _43a;},returnRoomAvailabilityData:function(_43b){console.debug("returnRoomAvailabilityData stub");console.debug("stub: availObject.vacancyString = "+availObject.vacancyString);console.debug("stub: availObject rates average = "+baHelper.getArrayAverage(availObject.rates.toArray()));return _43b;},setAttributes:function(_43c,_43d,_43e,_43f,_440,_441){this.hotelId=_43c;this.nightstay=_43e;this.arrDate=_43d;this.depDate=_43f;this.roomId=_440;this.promoCode=_441;},ajaxHotelAvailabilityRequest:function(_442){var args=arguments;var _444=dojo.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:dojo.hitch(this,function(_445,_446){try{var _447=[_445,_446];for(var i=1;i<args.length;i++){_447.push(args[i]);}_442.apply(this,_447);}catch(err){console.debug("AvailabilityLoader.ajaxHotelAvailabilityRequest-callback-error: "+err.message);}})});},ajaxRoomAvailabilityRequest:function(_449){var args=arguments;var _44b=dojo.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:dojo.hitch(this,function(_44c,_44d){try{var _44e=[_44c,_44d];for(var i=1;i<args.length;i++){_44e.push(args[i]);}_449.apply(this,_44e);}catch(err){console.debug("AvailabilityLoader.ajaxRoomAvailabilityRequest-callback-error: "+err.message);}})});},setHotelAvailObj:function(_450,_451,_452,_453,_454,_455,_456){var _457;var _458;console.debug(_450.xml);var root=_450.getElementsByTagName("availabilityqueryresult")[0];_457=root.getElementsByTagName("hotel");for(var i=0;i<_457.length;i++){var _45b=baHelper.getValuefromXML(_457[i],0,"hotelid");var _45c=_45b+"~"+_453.promoCode+"~"+_453.arrDate+"~"+_453.depDate;try{_458=new Availability(_45b,_453.arrDate,_453.depDate,"","","");_458.vacancy="true"==baHelper.getValuefromXML(_457[i],0,"vacancy");_458.vacancyString=baHelper.getValuefromXML(_457[i],0,"availablestring");_458.tooLateToBook="true"==baHelper.getValuefromXML(_457[i],0,"aftercutoff");_458.comment="Test comment "+i;if(_458.vacancyString&&_458.vacancyString!="false"&&_458.vacancyString!=""){console.debug("tempAvailObj.vacancyString = '"+_458.vacancyString+"' so setting TIMESTAMP for HOTEL");_458.echo();_453.setTimestamp("HOTEL",_45c);_453.hotelAvailMatrix[_45c]=_458;}if(_454==unescape(_457[i].getElementsByTagName("hotelid")[0].firstChild.nodeValue)){_452=_458;this.returnHotelAvailabilityData=dojo.hitch(_455,_456);this.returnHotelAvailabilityData(_452);}}catch(err){console.debug("B-setHotelAvailObj-error: "+err.message);}}},setRoomAvailObj:function(_45d,_45e,_45f,_460,_461,_462,_463,_464){try{var _465=false;var root=_45d.getElementsByTagName("roomavailabilityresult")[0];if(!root){dojo.publish("roomAvailabilityResultFail",[_461,_462]);}var _467=root.getElementsByTagName("discount");var _468=baHelper.getValuefromXML(root,0,"hotelid");var _469=baHelper.getValuefromXML(root,0,"promocode");if(!_469){_469="";}var i,j;var _46c=0;for(i=0;i<_467.length;i++){var _46d=_467[i].getElementsByTagName("room")[0];var _46e=baHelper.getValuefromXML(_46d,0,"roomid");var _46f=_46e.split(":");var _470=_46f[0];var _471="";if(_46f.length>1){_471=_46f[1];}if(_462==_471){_46c=i;}}if(_462!=""&&_46c==0){dojo.publish("noRoomsAvailable",[_468,_462,_469,dojo.cookie("arrivalDate"),dojo.cookie("departureDate"),dojo.cookie("nightstay")]);}var _472=new Array();var _473=_467[_46c].getElementsByTagName("room");console.debug("roomNodes.length = "+_473.length);for(j=0;j<_473.length;j++){var _46e=baHelper.getValuefromXML(_473[j],0,"roomid");var _46f=_46e.split(":");var _470=_46f[0];var _471="";if(_46f.length>1){_471=_46f[1];}var _474=_468+"~"+_469+"~"+_470+"~"+_471+"~"+_460.arrDate+"~"+_460.depDate;try{tempAvailObj=new Availability(_468,_460.arrDate,_460.depDate,_470,_471,_469);tempAvailObj.vacancy="true"==baHelper.getValuefromXML(_473[j],0,"vacancy");tempAvailObj.vacancyString=baHelper.getValuefromXML(_473[j],0,"comment");tempAvailObj.comment=baHelper.getValuefromXML(_473[j],0,"comment");if((tempAvailObj.comment+"")=="Call Us"){tempAvailObj.tooLateToBook=true;}else{tempAvailObj.tooLateToBook=false;}if(tempAvailObj.comment=="No Vacancy"){tempAvailObj.vacancy=false;}var _475=tempAvailObj.comment+"";if(_475.indexOf("Minimum")>0){tempAvailObj.minRestriction=_475;}tempAvailObj.numberAvailable=baHelper.getValuefromXML(_473[j],0,"roomsavailable");_472["ROOM_"+_470]=tempAvailObj.numberAvailable;tempAvailObj.roomIdFull=_46e;var _476=""+baHelper.getValuefromXML(_473[j],0,"rate");var _477=_476.split(",",31);for(var k=0;k<_477.length;k++){tempAvailObj.rates.insert(k,_477[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");_460.setTimestamp("ROOM",_474);_460.roomAvailMatrix[_474]=tempAvailObj;_460.roomAvailMatrix[_474].rates.remove("false");_460.roomAvailMatrix[_474].rates.remove(false);}if(_461==_470&&_462==_471){_465=true;if(!_45f){console.debug("availObject was null. instantiated new Avail. object");_45f=new Availability();}dojo.mixin(_45f,tempAvailObj);console.debug("availObject.vacancyString = "+_45f.vacancyString);console.debug("availObject.numberAvailable = "+_45f.numberAvailable);console.debug("availObject rates average = "+baHelper.getArrayAverage(_45f.rates.toArray()));this.returnRoomAvailabilityData=dojo.hitch(_463,_464);this.returnRoomAvailabilityData(_45f);}}catch(err){console.debug("B-setRoomAvailObj-error: "+err.message);}}if(_465&&_45f!=null){var _473=_45d.getElementsByTagName("room");var _476=""+baHelper.getValuefromXML(_473,0,"rate");var _477=_476.split(",",15);for(var i=0;i<_477.length;i++){_45f.rates.insert(i,_477[i]);}}else{_474=_468+"~"+_469+"~"+_461+"~"+_462+"~"+_460.arrDate+"~"+_460.depDate;var _479=_472["ROOM_"+_470]<1;if(!_460.roomAvailMatrix[_474]){dojo.publish("roomNotAvailableForPackage",[_461,_462,_479]);}}}catch(err){console.debug("AvailabilityLoader.setRoomAvailObj-error: "+err.message);}},constructor:function(_47a){this.siteId=_47a;}});}if(!dojo._hasResource["topaz.control.AvailabilityController"]){dojo._hasResource["topaz.control.AvailabilityController"]=true;dojo.provide("topaz.control.AvailabilityController");dojo.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(_47b){this.baObjReference=_47b;},setBookingPageReference:function(_47c){this.baObjReference=_47c;},setTimestamp:function(_47d,_47e){var Now=new Date();var _480=Now.getTime();switch(_47d){case "HOTEL":this.hotelAvailMatrixTimestamp[_47e]=_480;break;case "ROOM":this.roomAvailMatrixTimestamp[_47e]=_480;break;}},availabilityExpired:function(_481,_482){var Now=new Date();var _484=Now.getTime();var _485;switch(_481){case "HOTEL":_485=this.hotelAvailMatrixTimestamp[_482];break;case "ROOM":_485=this.roomAvailMatrixTimestamp[_482];break;}if(!_485||_485==undefined){_485=0;}if(!_485||_484-_485>(this.secondsToExpiration*1000)){switch(_481){case "HOTEL":this.hotelAvailMatrixTimestamp[_482]=_484;break;case "ROOM":this.roomAvailMatrixTimestamp[_482]=_484;break;}return true;}else{return false;}},returnHotelAvailabilityData:function(_486){return _486;},returnRoomAvailabilityData:function(_487){return _487;},forceExpireAvail:function(_488,_489,_48a,_48b,_48c,_48d,_48e,_48f){try{switch(_488){case "HOTEL":var _490=_489+"~"+_48f+"~"+_48a+"~"+_48b;this.hotelAvailMatrix[_490]=null;this.hotelAvailMatrixTimestamp[_490]=0;console.debug("Force-expired HOTEL: matrixKey =  "+_490);break;case "ROOM":var _490=_489+"~"+_48f+"~"+_48d+"~"+_48e+"~"+_48a+"~"+_48b;this.roomAvailMatrix[_490]=null;this.roomAvailMatrixTimestamp[_490]=0;console.debug("Force-expired ROOM: matrixKey =  "+_490);break;}}catch(err){console.debug("AvailabilityController.forceExpireAvail-error: "+err.message);}},getAvailability:function(_491,_492,_493,_494,_495,_496,_497,_498,_499,_49a,_49b){try{this.arrDate=_493;this.depDate=_494;this.hotelId=_492;this.nightstay=_495;this.promoCode=_498;var _49c=new Availability();var _49d;console.debug("About to getAvailability for context="+_491);switch(_491){case "HOTEL":_49d=_492+"~"+_498+"~"+_493+"~"+_494;console.debug("Getting availability for HOTEL: matrixKey =  "+_49d);testCtr++;if((_49b!=undefined&&_49b)||this.availabilityExpired(_491,_49d)){console.debug("Hotel ("+_492+") Availability expired or null..making ajax call");this.loader.setAttributes(_492,_493,_495,_494,_496,_498);this.loader.ajaxHotelAvailabilityRequest(this.loader.setHotelAvailObj,_49c,this,_492,_499,_49a);}else{console.debug("Hotel ("+_492+") Availability neither expired nor null");dojo.mixin(_49c,this.hotelAvailMatrix[_49d]);this.returnHotelAvailabilityData=dojo.hitch(_499,_49a);this.returnHotelAvailabilityData(_49c);}break;case "ROOM":_49d=_492+"~"+_498+"~"+_496+"~"+_497+"~"+_493+"~"+_494;console.debug("Getting availability for ROOM: matrixKey =  "+_49d);if(_49b||this.availabilityExpired(_491,_49d)){this.loader.returnRoomAvailabilityData=dojo.hitch(_499,_49a);this.loader.setAttributes(_492,_493,_495,_494,_496,_498);this.loader.ajaxRoomAvailabilityRequest(this.loader.setRoomAvailObj,_49c,this,_496,_497,_499,_49a);}else{dojo.mixin(_49c,this.roomAvailMatrix[_49d]);this.returnRoomAvailabilityData=dojo.hitch(_499,_49a);this.returnRoomAvailabilityData(_49c);}break;}}catch(err){console.debug("getAvailability-error: "+err.message);}},isHotelBookable:function(_49e){try{var _49f=false;if(!_49e.tooLateToBook&&(_49e.minRestriction=="")&&_49e.vacancy){_49f=true;}return _49f;}catch(err){alert("AvailabilityController.isHotelBookable-error: "+err.message);}},getHotelAvailabilityString:function(_4a0){try{var _4a1="";if(_4a0.tooLateToBook){_4a1="<span class=\"notAvailable\">Too late to book online. Call us.</span>";}else{if(_4a0.minRestriction!=""){_4a1="<span class=\"notAvailable\">"+_4a0.minRestriction+"</span>";}else{if(_4a0.vacancy){_4a1="<span class=\"available\">"+_4a0.vacancyString+"</span>";}else{_4a1="<span class=\"notAvailable\">"+_4a0.vacancyString+"</span>";}}}return _4a1;}catch(err){alert("AvailabilityController.getHotelAvailabilityString-error: "+err.message);}},isRoomBookable:function(_4a2){try{console.debug("availabilityController.isRoomBookable start");console.debug("availabilityObject.echo(): "+_4a2.echo());var _4a3=_4a2.comment+"";var good=true;if(_4a2.tooLateToBook&&_4a2.tooLateToBook!="false"){console.debug("A");good=false;}if(_4a2.minRestriction!=""){console.debug("B");good=false;}if(_4a3=="Call Us"){console.debug("D");good=false;}if(_4a3=="No Vacancy"||_4a3=="Not Available"){console.debug("E");good=false;}if(_4a3.indexOf("Minimum")>=0){console.debug("F");good=false;}var _4a5=_4a2.rates.toArray();var _4a6=baHelper.getArrayAverage(_4a5);if(parseFloat(_4a6)<0.01){good=false;}console.debug("availabilityController.isRoomBookable finish");return good;}catch(err){console.debug("AvailabilityController.isRoomBookable-error:"+err.message);}},getRoomAvailabilityString:function(_4a7){try{var _4a8="";var _4a9=_4a7.comment+"";if(_4a7.tooLateToBook&&_4a7.tooLateToBook!="false"){_4a8="<span class=\"notAvailable\">Cannot book online. Please call us.</span>";}else{if(_4a7.minRestriction!=""){_4a8="<span class=\"notAvailable\">"+_4a7.minRestriction+"</span>";}else{if(_4a9=="Call Us"){_4a8="<span class=\"notAvailable\">"+_4a9+"</span>";}else{if(_4a9=="No Vacancy"||_4a9=="Not Available"){_4a8="<span class=\"notAvailable\">"+_4a9+"</span>";}else{if(_4a9.indexOf("Minimum")>=0){_4a8="<span class=\"notAvailable\">"+_4a9+"</span>";}else{_4a8="<span class=\"available\">"+_4a7.vacancyString+"</span>";}}}}}return _4a8;}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(!dojo._hasResource["topaz.data.Availability"]){dojo._hasResource["topaz.data.Availability"]=true;dojo.provide("topaz.data.Availability");dojo.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 _4ab;switch(this.duration){case "P1DT0H0M0S":_4ab="/night";break;case "P7DT0H0M0S":_4ab="/week";break;case "P28DT0H0M0S":case "P29DT0H0M0S":case "P30DT0H0M0S":case "P31DT0H0M0S":_4ab="/month";break;}return _4ab;},setRate:function(_4ac,_4ad){this.rates.insert(_4ac,_4ad);},getRate:function(_4ae){return this.rates.item(_4ae);},getRateForDate:function(_4af){},getRatesCSV:function(){var _4b0="";try{this.rates.remove("false");this.rates.remove(false);var _4b1=this.rates.toArray();for(var i=0;i<_4b1.length;i++){_4b0+=_4b1[i];if(i<_4b1.length-1){_4b0+=",";}}}catch(err){console.debug("Availability.getRatesCSV-error: "+err.message);}return _4b0;},getRatesAverage:function(){try{var _4b3=this.rates.toArray();return baHelper.getArrayAverage(_4b3);}catch(err){console.debug("Availability.getRatesAverage-error: "+err.message);}},echo:function(){var _4b4=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: "+_4b4+"/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(_4b5,_4b6,_4b7,_4b8,_4b9,_4ba){this.hotelid=_4b5;this.arrDate=_4b6;this.depDate=_4b7;this.roomType=_4b8;this.ratePlan=_4b9;this.promoCode=_4ba;this.rates=new dojox.collections.ArrayList();}});}if(!dojo._hasResource["topaz.data.HotelData"]){dojo._hasResource["topaz.data.HotelData"]=true;dojo.provide("topaz.data.HotelData");dojo.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(_4bb){},onLoaderFailure:function(_4bc){},onLoaderDone:function(_4bd){if(_4bd){console.debug("HotelData.onLoaderDone -- Hotel Name: "+this.hName);this.onLoaderSuccess(this);}else{console.debug("HotelData: There was an error");this.onLoaderFailure(null);}},onAddOnsLoaderDone:function(_4be){},constructor:function(hnum,_4c0){this.hNum=hnum;if(_4c0){this.siteId=_4c0;}this.loader=new HotelInfoLoader(this.siteId,this.hNum);this.imageURLs=new Array();}});}if(!dojo._hasResource["topaz.loader.bookability.HotelInfoLoader"]){dojo._hasResource["topaz.loader.bookability.HotelInfoLoader"]=true;dojo.provide("topaz.loader.bookability.HotelInfoLoader");dojo.declare("HotelInfoLoader",null,{domainName:hostname,hNum:"",siteId:"",ajaxHotelInformationRequest:function(_4c1){var args=arguments;console.debug("HotelInfoLoader.ajaxHotelInformationRequest: "+urlProtocol+this.domainName+"/b07/haag.php?siteid="+this.siteId+"&xml=<hotelinfoquery><hotelid>"+this.hNum+"</hotelid></hotelinfoquery>");var _4c3=dojo.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:dojo.hitch(this,function(_4c4,_4c5){try{var _4c6=[_4c4,_4c5];for(var i=1;i<args.length;i++){_4c6.push(args[i]);}_4c1.apply(this,_4c6);}catch(err){console.debug("HotelInfoLoader.ajaxHotelInformationRequest-callback-error: "+err.message);}})});},synchroHotelInformationRequest:function(_4c8){var args=arguments;var _4ca=dojo.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:dojo.hitch(this,function(_4cb,_4cc){try{var _4cd=[_4cb,_4cc];for(var i=1;i<args.length;i++){_4cd.push(args[i]);}_4c8.apply(this,_4cd);}catch(err){console.debug("HotelInfoLoader.synchroHotelInformationRequest-callback-error: "+err.message);}})});},populateHotelData:function(_4cf,_4d0,_4d1){try{console.debug("HotelInfoLoader.populateHotelData response="+_4cf.childNodes[0].nodeName);if(_4cf){var _4d2=_4cf.getElementsByTagName("hotelinforesult")[0];var _4d3=_4d2;if(baHelper.getValuefromXML(_4d3,0,"name")){_4d1.hName=baHelper.getValuefromXML(_4d3,0,"name");_4d1.hCode=baHelper.getValuefromXML(_4d3,0,"hotelcode");_4d1.imageURLs["property"]=_4d1.hCode+"_ex.jpg";_4d1.address=baHelper.getValuefromXML(_4d3,0,"address");_4d1.city=baHelper.getValuefromXML(_4d3,0,"city");_4d1.state=baHelper.getValuefromXML(_4d3,0,"state");_4d1.zip=baHelper.getValuefromXML(_4d3,0,"zip");_4d1.country=baHelper.getValuefromXML(_4d3,0,"country");_4d1.longitude=baHelper.getValuefromXML(_4d3,0,"longitude");_4d1.latitude=baHelper.getValuefromXML(_4d3,0,"latitude");_4d1.childCutoffAge=baHelper.getValuefromXML(_4d3,0,"childcutoffage");_4d1.parkingAvail=baHelper.getValuefromXML(_4d3,0,"parkingavailable");_4d1.parkingPrice=baHelper.getValuefromXML(_4d3,0,"parkingprice");_4d1.rollawayAvail=baHelper.getValuefromXML(_4d3,0,"rollawayavailable");_4d1.rollawayPrice=baHelper.getValuefromXML(_4d3,0,"rollawayprice");_4d1.cribAvail=baHelper.getValuefromXML(_4d3,0,"cribavailable");_4d1.cribPrice=baHelper.getValuefromXML(_4d3,0,"cribprice");_4d1.checkInTime=baHelper.getValuefromXML(_4d3,0,"checkintime");_4d1.checkOutTime=baHelper.getValuefromXML(_4d3,0,"checkouttime");_4d1.cancelPolicy=baHelper.getValuefromXML(_4d3,0,"cancelpolicy");_4d1.cancelPolicyString=baHelper.getValuefromXML(_4d3,0,"cancelpolicystring");_4d1.extraPersonPrice=baHelper.getValuefromXML(_4d3,0,"extrapersonprice");_4d1.extraRollawayFormula=baHelper.getValuefromXML(_4d3,0,"extrarollawayformula");_4d1.taxPct=baHelper.getValuefromXML(_4d3,0,"taxpct");_4d1.acceptedCreditCardsCSV=baHelper.getValuefromXML(_4d3,0,"acceptedcreditcards");_4d1.holdPolicy=baHelper.getValuefromXML(_4d3,0,"holdpolicy");_4d1.phoneMain=baHelper.getValuefromXML(_4d3,0,"phonemain");_4d1.phoneRes800=baHelper.getValuefromXML(_4d3,0,"phoneres800");_4d1.phoneRes=baHelper.getValuefromXML(_4d3,0,"phoneres");_4d1.phoneResFax=baHelper.getValuefromXML(_4d3,0,"phoneresfax");_4d1.freqStayProgramName=baHelper.getValuefromXML(_4d3,0,"frequentstayprogramname");_4d1.hotelGeneralDesc=baHelper.getValuefromXML(_4d3,0,"general");_4d1.directionsDesc=baHelper.getValuefromXML(_4d3,0,"directions");_4d1.locationDesc=baHelper.getValuefromXML(_4d3,0,"location");_4d1.decorstyleDesc=baHelper.getValuefromXML(_4d3,0,"decorstyle");_4d1.roomTypesDesc=baHelper.getValuefromXML(_4d3,0,"roomtypes");_4d1.restaurantDesc=baHelper.getValuefromXML(_4d3,0,"restaurant");_4d1.reservationNotes=baHelper.getValuefromXML(_4d3,0,"reservationnotes");_4d1.packagesDesc=baHelper.getValuefromXML(_4d3,0,"packages");_4d1.dataLoaded=true;_4d1.onLoaderDone(true,null);}else{console.debug("A: HotelInfoLoader.populateHotelData response.documentElement.firstChild.nodeValue="+_4cf.documentElement.firstChild.nodeValue);_4d1.onLoaderDone(false,null);}}}catch(err){console.debug("HotelInfoLoader.populateHotelData-error: "+err.message);console.debug("B: HotelInfoLoader.populateHotelData response.documentElement.firstChild.nodeValue="+_4cf.documentElement.firstChild.nodeValue);_4d1.onLoaderDone(false,err);}},constructor:function(_4d4,_4d5){this.hNum=_4d5;this.siteId=_4d4;}});}if(!dojo._hasResource["topaz.data.RoomData"]){dojo._hasResource["topaz.data.RoomData"]=true;dojo.provide("topaz.data.RoomData");dojo.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(_4d6){},onLoaderFailure:function(_4d7){},onLoaderDone:function(_4d8){if(_4d8){this.onLoaderSuccess(this);}else{this.onLoaderFailure(null);}},constructor:function(_4d9,_4da,_4db,_4dc){this.roomId=_4da;this.hNum=_4d9;this.promoCode=_4db;this.loader=new RoomInfoLoader(this.siteId,this.hNum,this.roomId,this.promoCode,this);this.infoMatrixReference=_4dc;this.imageURLs=new Array();}});}if(!dojo._hasResource["topaz.loader.bookability.RoomInfoLoader"]){dojo._hasResource["topaz.loader.bookability.RoomInfoLoader"]=true;dojo.provide("topaz.loader.bookability.RoomInfoLoader");dojo.declare("RoomInfoLoader",null,{domainName:hostname,hNum:"",siteId:"",roomId:"1",promoCode:"",roomData:null,channel:"web",ajaxRoomInformationRequest:function(_4dd){try{}catch(err){console.debug("RoomInfoLoader.ajaxRoomInformationRequest-error: "+err.message);}var args=arguments;var _4df=new Date();var _4e0=this.buildXMLString();var _4e1=dojo.rawXhrPost({url:urlProtocol+this.domainName+"/b07/infoWS.php",postData:_4e0,contentType:"text/xml",handleAs:"xml",timeout:40000,load:dojo.hitch(this,function(_4e2,_4e3){try{var _4e4=[_4e2,_4e3];for(var i=1;i<args.length;i++){_4e4.push(args[i]);}_4dd.apply(this,_4e4);}catch(err){console.debug("RoomInfoLoader.ajaxRoomInformationRequest-callback-error: "+err.message);}})});},buildXMLString:function(){var _4e6="<infoRequest context=\"roomtype\" recurse=\"false\">"+"<siteid>"+this.siteId+"</siteid>"+"<hotelid>"+this.hNum+"</hotelid>"+"<channel>"+this.channel+"</channel>";if(this.roomData!=null){_4e6+="<roomid>"+this.roomData.roomId+"</roomid>";}_4e6+="</infoRequest>";return _4e6;},onLastAjaxCallComplete:function(){},populateRoomData:function(_4e7,_4e8,_4e9){var data=_4e7;try{if(data){var _4eb=data.getElementsByTagName("infoResponse")[0];var idx=0;var _4ed=data.getElementsByTagName("roomInfo");var _4ee=false;if(_4ed){while(!_4ee&&idx<_4ed.length){if(_4e9.roomId==baHelper.getValuefromXML(_4ed[idx],0,"roomId")){_4ee=true;}else{idx++;}}}if(_4ee){if(parseInt(_4e9.roomId,10)==parseInt(baHelper.getValuefromXML(_4ed[idx],0,"roomId"),10)){_4e9.displayOrder=baHelper.getValuefromXML(_4ed[idx],0,"displayorder");_4e9.roomType=baHelper.getValuefromXML(_4ed[idx],0,"roomType");_4e9.shortDescription=baHelper.getValuefromXML(_4ed[idx],0,"shortDescription");_4e9.longDescription=baHelper.getValuefromXML(_4ed[idx],0,"longDescription");_4e9.canBookOnline=baHelper.getValuefromXML(_4ed[idx],0,"canBookOnline");_4e9.maxPeople=baHelper.getValuefromXML(_4ed[idx],0,"maxPeopleInRoom");_4e9.maxExtraBed=baHelper.getValuefromXML(_4ed[idx],0,"maxExtraBedsInRoom");_4e9.imageURLs["guestroom"]=_4e9.getHotelId()+"_room"+_4e9.roomId+".jpg";_4e9.dataLoaded=true;_4e9.onLoaderDone(true,null);}else{_4e9.onLoaderDone(false,null);}}else{console.debug("RoomInfoLoader.populateRoomData-error2: Room ID ["+_4e9.roomId+"] not found");_4e9.onLoaderDone(false,null);}}}catch(err){console.debug("RoomInfoLoader.populateRoomData-error3: "+err.message);_4e9.onLoaderDone(false,err);}},constructor:function(_4ef,_4f0,_4f1,_4f2,_4f3){console.debug("RoomInfoLoader.constructor");try{this.hNum=_4f0;this.siteId=_4ef;this.roomId=_4f1;this.promoCode=_4f2;this.roomData=_4f3;}catch(err){console.debug("RoomInfoLoader.constructor-error: "+err.message);}}});}if(!dojo._hasResource["topaz.data.RateData"]){dojo._hasResource["topaz.data.RateData"]=true;dojo.provide("topaz.data.RateData");dojo.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(_4f4){this.infoMatrixReference=_4f4;},loadRatePlanInformation:function(){var _4f5=new RateLoader(this);_4f5.setHNum(this.hotelId);_4f5.ajaxRateRequest(_4f5.loadRates,this);},onLoaderSuccess:function(_4f6){},onLoaderFailure:function(_4f7){},onLoaderDone:function(_4f8){if(_4f8){this.onLoaderSuccess(this);}else{this.onLoaderFailure(null);}},setSiteId:function(_4f9){this.siteId=_4f9;},getSiteId:function(){return this.siteId;},_setLoaded:function(_4fa){this.loaded=_4fa;},isLoaded:function(){return this.loaded;},setHotelId:function(_4fb){this.hotelId=_4fb;},getHotelId:function(){return this.hotelId;},setChannel:function(_4fc){this.channel=_4fc;},getChannel:function(){return this.channel;},setRatePlanId:function(_4fd){this.ratePlanId=_4fd;},getRatePlanId:function(){return this.ratePlanId;},setRatePlanName:function(_4fe){this.ratePlanName=_4fe;},getRatePlanName:function(){return this.ratePlanName;},setRate:function(_4ff,_500){this.rates.insert(_4ff,_500);},getRate:function(_501){return this.rates.item(_501);},getRatesCSV:function(){var _502="";var _503;for(_503 in this.rates){if(_503.substring(2,3)=="/"&&_503.substring(5,6)=="/"){_502+=this.rates[_503]+",";}}_502=_502.substring(0,_502.length-1);return _502;},setRatePlanDescription:function(_504){this.ratePlanDescription=_504;},getRatePlanDescription:function(){return this.ratePlanDescription;},setRatePlanLongDescription:function(_505){this.ratePlanLongDescription=_505;},getRatePlanLongDescription:function(){return this.ratePlanLongDescription;},setImageUrl:function(_506){this.imageUrl=_506;},getImageUrl:function(){return this.imageUrl;},setBigImageUrl:function(_507){this.bigImageUrl=_507;},getBigImageUrl:function(){return this.bigImageUrl;},setNetMode:function(_508){this.netMode=_508;},getNetMode:function(){return this.netMode;},setActive:function(_509){if(typeof _509=="string"){if(_509=="true"){this.active=true;}else{this.active=false;}}else{this.active=_509;}},isActive:function(){return this.active;},setShowAlways:function(_50a){if(typeof _50a=="string"){if(_50a=="true"){this.showAlways=true;}else{this.showAlways=false;}}else{this.showAlways=_50a;}},isShowAlways:function(){return this.showAlways;},setReplaceRack:function(_50b){if(typeof _50b=="string"){if(_50b=="true"){this.replaceRack=true;}else{this.replaceRack=false;}}else{this.replaceRack=_50b;}},isReplaceRack:function(){return this.replaceRack;},setShowOnWeb:function(_50c){if(typeof _50c=="string"){if(_50c=="true"){this.showOnWeb=true;}else{this.showOnWeb=false;}}else{this.showOnWeb=_50c;}},isShowOnWeb:function(){return this.showOnWeb;},setAllDays:function(_50d){if(typeof _50d=="string"){if(_50d=="true"){this.allDays=true;}else{this.allDays=false;}}else{this.allDays=_50d;}},isAllDays:function(){return this.allDays;},setMaxNights:function(_50e){this.maxNights=_50e;},getMaxNights:function(){return this.maxNights;},setMinNights:function(_50f){this.minNights=_50f;},getMinNights:function(){return this.minNights;},setDiscountType:function(_510){this.discountType=_510;},getDiscountType:function(){return this.discountType;},constructor:function(_511){console.debug("RateData.constructor");this.hotelId=_511;this.rates=new dojox.collections.ArrayList();}});}if(!dojo._hasResource["topaz.loader.bookability.RateLoader"]){dojo._hasResource["topaz.loader.bookability.RateLoader"]=true;dojo.provide("topaz.loader.bookability.RateLoader");dojo.declare("RateLoader",null,{domainName:hostname,uriDir:uriDir,hNum:"",siteId:globalSiteId,channel:"web",promoCode:"",roomId:"",ratePlanId:"",message:"Class",rateData:null,theMatrix:null,setTheMatrix:function(_512){this.theMatrix=_512;},setDomainName:function(_513){this.domainName=_513;},setHNum:function(_514){this.hNum=_514;},setRatePlanId:function(_515){this.ratePlanId=_515;},setSiteId:function(_516){this.siteId=_516;},setChannel:function(_517){this.channel=_517;},ajaxRateRequest:function(_518){infoMatrix.loader.ajaxCallCtrs["rateplan"]++;var args=arguments;var self=this;var _51b=urlProtocol+this.domainName+"/"+this.uriDir+"/infoWS.php";var _51c=this.buildXMLString();var _51d=dojo.rawXhrPost({url:_51b,postData:_51c,contentType:"text/xml",handleAs:"xml",timeout:40000,load:dojo.hitch(this,function(_51e,_51f){try{var _520=[_51e,_51f];for(var i=1;i<args.length;i++){_520.push(args[i]);}_518.apply(this,_520);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 _522="<infoRequest context=\"rateplan\" recurse=\"false\">"+"<siteid>"+this.siteId+"</siteid>"+"<hotelid>"+this.hNum+"</hotelid>"+"<channel>"+this.channel+"</channel>";if(this.rateData!=null){_522+="<ratePlan>"+this.rateData.getRatePlanId()+"</ratePlan>";}_522+="</infoRequest>";return _522;},loadAllRatePlans:function(_523,_524,_525){var hnum;var _527=_523.getElementsByTagName("hotelid");if(_527&&_527.length>0&&_527.item(0).firstChild){var _528=_527.item(0).firstChild.nodeValue;hnum=_528;}_525.RatePlanInfo[hnum]=new Array();_525.RatePlanIds[hnum]=new Array();var _529=_523.getElementsByTagName("ratePlanInfo");for(var i=0;i<_529.length;i++){var _52b=new RateData();_52b.setSiteId(globalSiteId);_52b.setInfoMatrixReference(_525);var _52c=_529.item(i);this.populateRatePlan(_52b,_52c);_525.RatePlanIds[hnum].push(_52b.getRatePlanId());_525.RatePlanInfo[hnum][_52b.getRatePlanId()]=_52b;}},loadAllRatePlanIds:function(_52d,_52e,_52f){var hnum;var _531=_52d.getElementsByTagName("hotelid");if(_531&&_531.length>0&&_531.item(0).firstChild){var _532=_531.item(0).firstChild.nodeValue;hnum=_532;}_52f.RatePlanIds[hnum]=new Array();var _533=_52d.getElementsByTagName("ratePlanInfo");for(var i=0;i<_533.length;i++){var _535=_533.item(i);var _536=_535.getElementsByTagName("ratePlanId");if(_536&&_536.length>0&&_536.item(0).firstChild){var _537=_536.item(0).firstChild.nodeValue;_52f.RatePlanIds[hnum].push(_537);}}this.onRatePlanIdsLoaded();},onRatePlanIdsLoaded:function(){},loadRatePlan:function(_538,_539,_53a){var hnum;var _53c=_538.getElementsByTagName("hotelid");if(_53c&&_53c.length>0&&_53c.item(0).firstChild){var _53d=_53c.item(0).firstChild.nodeValue;hnum=_53d;}if(!_53a.RatePlanInfo[hnum]){_53a.RatePlanInfo[hnum]=new Array();}if(!_53a.RatePlanIds[hnum]){_53a.RatePlanIds[hnum]=new Array();}var _53e=_538.getElementsByTagName("ratePlanInfo");this.rateData.setSiteId(globalSiteId);var _53f=_53e.item(i);this.populateRatePlan(this.rateData,_53f);_53a.RatePlanIds[hnum].push(this.rateData.getRatePlanId());_53a.RatePlanInfo[hnum][this.rateData.getRatePlanId()]=this.rateData;this.onRatePlanLoaded(this.rateData,_53f);},onRatePlanLoaded:function(){},loadRates:function(_540,_541,_542){var _543=_540;this.populateRatePlan(_542,_543);},populateRatePlan:function(_544,_545){try{var _546=_545.getElementsByTagName("ratePlanId");if(_546&&_546.length>0&&_546.item(0).firstChild){var _547=_546.item(0).firstChild.nodeValue;_544.setRatePlanId(_547);}var _548=_545.getElementsByTagName("ratePlanName");if(_548&&_548.length>0&&_548.item(0).firstChild){var _549=_548.item(0).firstChild.nodeValue;_544.setRatePlanName(_549);}var _54a=_545.getElementsByTagName("ratePlanDescription");if(_54a&&_54a.length>0&&_54a.item(0).firstChild){var _54b=_54a.item(0).firstChild.nodeValue;_544.setRatePlanDescription(_54b);}var _54c=_545.getElementsByTagName("ratePlanLongDescription");if(_54c&&_54c.length>0&&_54c.item(0).firstChild){var _54d=_54c.item(0).firstChild.nodeValue;_544.setRatePlanLongDescription(_54d);}var _54e=_545.getElementsByTagName("image");if(_54e&&_54e.length>0&&_54e.item(0).firstChild){var _54f=_54e.item(0).firstChild.nodeValue;_544.setImageUrl(_54f);}var _550=_545.getElementsByTagName("bigImage");if(_550&&_550.length>0&&_550.item(0).firstChild){var _551=_550.item(0).firstChild.nodeValue;_544.setBigImageUrl(_551);}var _552=_545.getElementsByTagName("netmode");if(_552&&_552.length>0&&_552.item(0).firstChild){var _553=_552.item(0).firstChild.nodeValue;_544.setNetMode(_553);}var _554=_545.getElementsByTagName("minNights");if(_554&&_554.length>0&&_554.item(0).firstChild){var rStr=_554.item(0).firstChild.nodeValue;_544.setMinNights(rStr);}var _556=_545.getElementsByTagName("maxNights");if(_556&&_556.length>0&&_556.item(0).firstChild){var rStr=_556.item(0).firstChild.nodeValue;_544.setMaxNights(rStr);}var _557=_545.getElementsByTagName("active");if(_557&&_557.length>0&&_557.item(0).firstChild){var _54d=_557.item(0).firstChild.nodeValue;if(_54d=="true"){_544.setActive(true);}else{_544.setActive(false);}}var _558=_545.getElementsByTagName("allDays");if(_558&&_558.length>0&&_558.item(0).firstChild){var _559=_558.item(0).firstChild.nodeValue;if(_559=="true"){_544.setAllDays(true);}else{_544.setAllDays(false);}}var _55a=_545.getElementsByTagName("showOnWeb");if(_55a&&_55a.length>0&&_55a.item(0).firstChild){webStr=_55a.item(0).firstChild.nodeValue;if(webStr=="true"){_544.setShowOnWeb(true);}else{_544.setShowOnWeb(false);}}var _55b=_545.getElementsByTagName("replaceRack");if(_55b&&_55b.length>0&&_55b.item(0).firstChild){webStr=_55b.item(0).firstChild.nodeValue;if(webStr=="true"){_544.setReplaceRack(true);}else{_544.setReplaceRack(false);}}var _55c=_545.getElementsByTagName("discountType");if(_55c&&_55c.length>0&&_55c.item(0).firstChild){var _55d=_55c.item(0).firstChild.nodeValue;_544.setDiscountType(_55d);}_544.dataLoaded=true;_544.onLoaderDone(true,null);}catch(err){console.debug("RateLoader-loadRates-error: "+err.message);}},constructor:function(_55e){this.message="New Instantance";this.rateData=_55e;}});}if(!dojo._hasResource["topaz.loader.bookability.InfoMatrixLoader"]){dojo._hasResource["topaz.loader.bookability.InfoMatrixLoader"]=true;dojo.provide("topaz.loader.bookability.InfoMatrixLoader");dojo.declare("InfoMatrixLoader",null,{ajaxCallCtrs:[],siteId:globalSiteId,populateHotelIds:function(_55f,_560,_561){try{console.debug("InfoMatrixLoader.populateHotelIds");var _562=_55f;console.debug("A");var _563=_562.getElementsByTagName("hotel");console.debug("B");_561.HotelIds=new Array();console.debug("C");for(var i=0;i<_563.length;i++){console.debug("D"+i);_561.HotelIds[i]=baHelper.getValuefromXML(_563[i],0,"hotelid");}console.debug("E");_561.onHotelIdsLoaded();console.debug("F");}catch(err){console.debug("InfoMatrixLoader.populateHotelIds-error: "+err.message);}},ajaxHotelIdsRequest:function(_565){console.debug("in InfoMatrixLoader.ajaxHotelIdsRequest: http://"+hostname+"/b2/xmlsite.php?siteid="+this.siteId+"&xml=");var args=arguments;var _567=dojo.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:dojo.hitch(this,function(_568,_569){try{var _56a=[_568,_569];for(var i=1;i<args.length;i++){_56a.push(args[i]);}_565.apply(this,_56a);}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(!dojo._hasResource["topaz.data.InfoMatrix"]){dojo._hasResource["topaz.data.InfoMatrix"]=true;dojo.provide("topaz.data.InfoMatrix");dojo.declare("InfoMatrix",null,{siteId:globalSiteId,promoCode:"",HotelIds:null,RoomIds:null,RatePlanIds:null,HotelInfo:null,RoomInfo:null,RatePlanInfo:null,resetPromoCode:function(_56c){this.promoCode=_56c;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(_56d){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();}dojo.mixin(this.HotelIds,_56d.HotelIds);dojo.mixin(this.RoomIds,_56d.RoomIds);dojo.mixin(this.RatePlanIds,_56d.RatePlanIds);dojo.mixin(this.HotelInfo,_56d.HotelInfo);dojo.mixin(this.RoomInfo,_56d.RoomInfo);dojo.mixin(this.RatePlanInfo,_56d.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,_571){try{var hnum;var _573=data.getElementsByTagName("hotelid");if(_573&&_573.length>0&&_573.item(0).firstChild){var _574=_573.item(0).firstChild.nodeValue;hnum=_574;}_571.RatePlanInfo[hnum]=new Array();_571.RatePlanIds[hnum]=new Array();var _575=data.getElementsByTagName("ratePlanInfo");for(var i=0;i<_575.length;i++){var _577=new RateData();_577.setSiteId(globalSiteId);_577.setInfoMatrixReference(this);var _578=new RateLoader(_577);_578.setTheMatrix(infoMatrix);_578.setHNum(hnum);_578.ajaxRateRequest(_578.loadRatePlan,infoMatrix);_578.onRatePlanLoaded=dojo.hitch(this,function(_579,_57a){_579.setSiteId(globalSiteId);_578.populateRatePlan(_579,_57a);_571.RatePlanIds[_579.getHotelId()].push(_579.getRatePlanId());_571.RatePlanInfo[_579.getHotelId()][_579.getRatePlanId()]=_579;});}_571.onRatePlanIdsLoaded();}catch(err){console.debug("In infoMatrix.populateRatePlanIds--error: "+err.message);}},returnHotelData:function(_57b){return _57b;},returnRoomData:function(_57c){return _57c;},returnRateData:function(_57d){return _57d;},getHotelData:function(_57e,_57f,_580,_581){try{if(this.HotelInfo==null){this.HotelInfo=new Array();}if(this.HotelInfo[_57e]!=null){console.debug("Found HotelData for id "+_57e+" to list from saved infoMatrix. this.HotelInfo[thisHotelId].hName = "+this.HotelInfo[_57e].hName);this.returnHotelData=dojo.hitch(_57f,_580);if(this.HotelInfo[_57e].dataLoadTimer!=undefined){clearInterval(this.HotelInfo[_57e].dataLoadTimer);}if(this.HotelInfo[_57e].dataLoaded){this.returnHotelData(this.HotelInfo[_57e]);}else{this.HotelInfo[_57e].dataLoadTimer=window.setInterval(dojo.hitch(this,function(){if(this.HotelInfo[_57e].dataLoaded){this.returnHotelData(this.HotelInfo[_57e]);clearInterval(this.HotelInfo[_57e].dataLoadTimer);}}),1000);}}else{console.debug("In InfoMatrix.getHotelData: No HotelData for id "+_57e+"... creating new HotelData");this.HotelInfo[_57e]=new HotelData(_57e);this.HotelInfo[_57e].loader.domainName=hostname;if(_581){this.HotelInfo[_57e].loadHotelInformationSynchronously();this.returnHotelData=dojo.hitch(_57f,_580);this.returnHotelData(this.HotelInfo[_57e]);}else{this.HotelInfo[_57e].loadHotelInformation();}this.HotelInfo[_57e].onLoaderSuccess=dojo.hitch(_57f,_580);}}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(_582,_583,_584,_585,_586){try{if(this.RoomInfo==null){this.RoomInfo=new Array();}if(this.RoomInfo[_582]==null){this.RoomInfo[_582]=new Array();}if(this.RoomInfo[_582][_583] instanceof RoomData){this.returnRoomData=dojo.hitch(_585,_586);if(this.RoomInfo[_582][_583].dataLoadTimer!=undefined){clearInterval(this.RoomInfo[_582][_583].dataLoadTimer);}if(this.RoomInfo[_582][_583].dataLoaded){this.returnRoomData(this.RoomInfo[_582][_583]);}else{this.RoomInfo[_582][_583].dataLoadTimer=window.setInterval(dojo.hitch(this,function(){if(this.RoomInfo[_582][_583].dataLoaded){this.returnRoomData(this.RoomInfo[_582][_583]);clearInterval(this.RoomInfo[_582][_583].dataLoadTimer);}}),1000);}}else{console.debug("Instantiating RoomData for hotel["+_582+"] room["+_583+"]. infoMatrix.siteId="+this.siteId);this.RoomInfo[_582][_583]=new RoomData(_582,_583,_584,this);this.RoomInfo[_582][_583].infoMatrixReference=this;this.RoomInfo[_582][_583].loader.domainName=hostname;this.RoomInfo[_582][_583].loadRoomInformation();this.RoomInfo[_582][_583].onLoaderSuccess=dojo.hitch(_585,_586);this.RoomInfo[_582][_583].onLoaderFailure=dojo.hitch(_585,_586);}}catch(err){console.debug("InfoMatrix.getRoomData-error: "+err.message);}},getRatePlan:function(_587,_588,_589,_58a){try{console.debug("InfoMatrix.getRatePlan start, thisRatePlanId="+_588);if(this.RatePlanInfo==null){this.RatePlanInfo=new Array();}if(this.RatePlanInfo[_587]==null){this.RatePlanInfo[_587]=new Array();}if(this.RatePlanInfo[_587][_588] instanceof RateData){this.returnRateData=dojo.hitch(_589,_58a);if(this.RatePlanInfo[_587][_588].dataLoadTimer!=undefined){clearInterval(this.RatePlanInfo[_587][_588].dataLoadTimer);}if(this.RatePlanInfo[_587][_588].dataLoaded){this.returnRateData(this.RatePlanInfo[_587][_588]);}else{this.RatePlanInfo[_587][_588].dataLoadTimer=window.setInterval(dojo.hitch(this,function(){if(this.RatePlanInfo[_587][_588].dataLoaded){this.returnRateData(this.RatePlanInfo[_587][_588]);clearInterval(this.RatePlanInfo[_587][_588].dataLoadTimer);}}),1000);}}else{this.RatePlanInfo[_587][_588]=new RateData(_587);this.RatePlanInfo[_587][_588].setInfoMatrixReference(this);this.RatePlanInfo[_587][_588].setRatePlanId(_588);this.RatePlanInfo[_587][_588].loadRatePlanInformation();this.RatePlanInfo[_587][_588].onLoaderSuccess=dojo.hitch(_589,_58a);}}catch(err){console.debug("InfoMatrix.getRatePlan-error:"+err.message);}},populateThisHotel:function(hnum){},populateThisRoom:function(_58c){},populateOtherHotels:function(_58d){},populateOtherRooms:function(_58e){},populateAllRatePlans:function(_58f){rateLoader=new RateLoader(null);rateLoader.setHNum(_58f);rateLoader.setTheMatrix(this);rateLoader.ajaxRateRequest(rateLoader.loadAllRatePlans);},onLoaderDone:function(_590,err){if(_590){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(!dojo._hasResource["topaz.data.DayData"]){dojo._hasResource["topaz.data.DayData"]=true;dojo.provide("topaz.data.DayData");dojo.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(_592){var _593=_592.match("/^(dd?)/(dd?)/(d{4})$/");if(!_593){return false;}var yr=Number(_593[3]);var mt=Number(_593[1]);var da=Number(_593[2]);var d=new Date(yr,mt-1,da);return (d.getMonth()+1==mt&&d.getDate()==da);},setDate:function(_598,day,year){try{this.dateObj=new Date();this.dateObj.setFullYear(year,_598-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(_59b){if(!_59b||_59b==null){_59b="MM/dd/yyyy";}var _59c=new Date();_59c.setFullYear(this.year,this.month-1,this.day);return dojo.date.locale.format(_59c,{selector:"date",datePattern:_59b});},setDaysTilCutoff:function(_59d){this.daysTilCutoff=_59d;},getDaysTilCutoff:function(){return this.daysTilCutoff;},setNumberAvailable:function(_59e){this.numberAvailable=_59e;},getNumberAvailable:function(){return this.numberAvailable;},setCanBookOnline:function(_59f){this.canBookOnline=_59f;},getCanBookOnline:function(){return this.canBookOnline;},setAverageRate:function(_5a0){this.averageRate=_5a0;},getAverageRate:function(){return this.averageRate;},setLowRate:function(_5a1){this.lowRate=_5a1;},getLowRate:function(){return this.lowRate;},setHighRate:function(_5a2){this.highRate=_5a2;},getHighRate:function(){return this.highRate;},getDay:function(){return this.day;},setRestriction:function(_5a3){this.restriction=_5a3;},getRestriction:function(){return this.restriction;},getOtherHotel:function(){return this.otherHotel;},setOtherHotel:function(_5a4){this.otherHotel=_5a4;},getOtherRoom:function(){return this.otherRoom;},setOtherRoom:function(_5a5){this.otherRoom=_5a5;},getOtherRate:function(){return this.otherRate;},setOtherRatel:function(_5a6){this.otherRate=_5a6;},getOtherPromo:function(){return this.otherPromo;},setOtherPromo:function(_5a7){this.otherPromo=_5a7;},constructor:function(_5a8,day,year){this.setDate(_5a8,day,year);}});}if(!dojo._hasResource["topaz.data.CalendarData"]){dojo._hasResource["topaz.data.CalendarData"]=true;dojo.provide("topaz.data.CalendarData");try{dojo.declare("CalendarData",null,{calMonth:3,calYear:2007,siteId:globalSiteId,hNum:"",roomType:"",promoCode:"",ratePlan:"",timeOut:0,timeOutLength:600,loaded:false,_currentMonth:false,context:"STORAGE",loadMonth:function(){this.loaded=false;this.loaded=true;timeOut=new Date();var _5ab=timeOut.getSeconds()+this.timeOutLength;timeOut.setSeconds(_5ab);},setCalMonth:function(_5ac){this.setMonth=_5ac;},getCalMonth:function(){return this.calMonth;},getCalYear:function(){return this.calYear;},setSiteId:function(_5ad){this.siteId=_5ad;},getSiteId:function(){return this.siteId;},_setLoaded:function(_5ae){this.loaded=_5ae;},isLoaded:function(){return this.loaded;},setHNum:function(_5af){this.hNum=_5af;},getHNum:function(){return this.hNum;},setRoomType:function(_5b0){this.roomType=_5b0;},getRoomType:function(){return this.roomType;},setRatePlan:function(_5b1){this.ratePlan=_5b1;},getRatePlan:function(){if(!this.ratePlan||this.ratePlan=="undefined"||this.ratePlan==undefined){this.ratePlan="";}return this.ratePlan;},setPromoCode:function(_5b2){this.promoCode=_5b2;},getPromoCode:function(){return this.promoCode;},setTimeOutLength:function(_5b3){this.timeOutLenght=_5b3;},_getmonthnumdays:function(_5b4,_5b5){var _5b6=0;_5b4=parseInt(_5b4,10);_5b5=parseInt(_5b5,10);switch(_5b4){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_5b6=31;break;case 2:if((_5b5%4)==0){_5b6=29;}else{_5b6=28;}break;default:_5b6=30;break;}return _5b6;},getDayData:function(_5b7){return this.days.item(_5b7);},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(_5ba){this.context=_5ba;},getContext:function(){return this.context;},isTimedOut:function(){var rc=true;var _5bc=new Date();var _5bd=_5bc.getSeconds()+this.timeOutLength;_5bc.setSeconds(_5bd);if(timeOut>_5bc){rc=false;}return rc;},constructor:function(_5be,year,_5c0){if(_5c0!=undefined&&_5c0!=""){this.siteId=_5c0;}console.debug("CalendarData.initializer");try{this.loader=new CalendarLoader(this);this.numDays=this._getmonthnumdays(_5be,year);this.days=new dojox.collections.ArrayList();this.days.insert(0,null);this.calMonth=_5be;this.calYear=year;startPos=1;var _5c1=new Date();var _5c2=dojo.date.locale.format(_5c1,{selector:"date",datePattern:"MM/dd/yyyy"});if(_5c2.substring(0,2)==_5be&&_5c2.substring(6)==year){this._currentMonth=true;startPos=_5c2.substring(3,5);for(i=1;i<startPos;i++){this.days.insert(i,null);}}for(i=startPos;i<=this.numDays;i++){newDay=new DayData(_5be,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(!dojo._hasResource["topaz.loader.bookability.CalendarLoader"]){dojo._hasResource["topaz.loader.bookability.CalendarLoader"]=true;dojo.provide("topaz.loader.bookability.CalendarLoader");dojo.declare("CalendarLoader",null,{domainName:hostname,promoCode:"",roomId:"",rateClass:"",message:"Class",postCreate:function(){console.debug("postCreate CalendarLoader");},setDomainName:function(_5c3){this.domainName=_5c3;},setHNum:function(_5c4){this.hNum=_5c4;},setSiteId:function(_5c5){this.siteId=_5c5;},setPromoCode:function(_5c6){this.promoCode=_5c6;},setRoomType:function(_5c7){this.roomId=_5c7;},setStartDate:function(_5c8){this.startDate=_5c8;},setEndDate:function(_5c9){this.endDate=_5c9;},loadMe:function(){},_extractday:function(_5ca){_5ca+="";return parseInt(_5ca.substring(3,5),10);},_extractyear:function(_5cb){_5cb+="";return parseInt(_5cb.substring(6,10),10);},_extractmonth:function(_5cc){_5cc+="";return parseInt(_5cc.substring(0,2),10);},ajaxCalendarRequest:function(_5cd){try{var args=arguments;var self=this;var _5d0=urlProtocol+this.domainName+"/b07/availCalWS_devel.php";console.debug("urlString: "+_5d0);var _5d1=this.buildXMLString();var _5d2=dojo.rawXhrPost({url:_5d0,postData:_5d1,contentType:"text/xml",handleAs:"xml",timeout:40000,load:dojo.hitch(this,function(_5d3,_5d4){try{var _5d5=[_5d3,_5d4];for(var i=1;i<args.length;i++){_5d5.push(args[i]);}_5cd.apply(this,_5d5);}catch(err){console.debug("CalendarLoader.ajaxCalendarRequest-callback-error: "+err.message);}})});}catch(err){console.debug("ajaxCalendarRequest-error: "+err.message);}},buildXMLString:function(){var _5d7="<calendarrequest>"+"<siteid>"+this.calData.getSiteId()+"</siteid>"+"<month>"+this.calData.getMonthYear()+"</month>"+"<hotelid>"+this.calData.getHNum()+"</hotelid>";if(this.calData.getRatePlan()!=""){_5d7+="<discounts>"+this.calData.getRatePlan()+"</discounts>";}if(this.calData.getPromoCode()!=""){_5d7+="<promocode>"+this.calData.getPromoCode()+"</promocode>";}if(this.calData.getRoomType()!=""){_5d7+="<roomid>"+this.calData.getRoomType()+"</roomid>";}if(this.calData.getRatePlan()!=""){_5d7+="<includediscounts>"+this.calData.getRatePlan()+"</includediscounts>";}_5d7+="</calendarrequest>";console.debug("ajaxCalendarRequest: "+escape(_5d7));return _5d7;},onLoaderDone:function(){},loadCalendar:function(_5d8,_5d9){var data=_5d8;console.debug("In CalendarLoader.loadCalendar");try{var days=data.getElementsByTagName("day");for(var i=0;i<days.length;i++){var _5dd=days.item(i);var _5de=_5dd.getElementsByTagName("date");if(_5de){var _5df=_5de.item(0).firstChild;var _5e0=_5df.nodeValue;var _5e1=_5e0.substring(3,5);var _5e2=parseInt(_5e1,10);var _5e3=this.calData.getDayData(_5e2);var _5e4,_5e5,_5e6;if(_5e3){if(_5e3.month==0||_5e3.day==0||_5e3.year==0){_5e4=this._extractmonth(_5e0);_5e5=this._extractday(_5e0);_5e6=this._extractyear(_5e0);console.debug("tempMth/tempDay/tempYr => "+_5e4+"/"+_5e5+"/"+_5e6);_5e3.setDate(_5e4,_5e5,_5e6);}var _5e7=_5dd.getElementsByTagName("daysTilCutoff");if(_5e7&&_5e7.length>0){var _5e8=_5e7.item(0).firstChild.nodeValue;_5e3.setDaysTilCutoff(_5e8);}var _5e9=_5dd.getElementsByTagName("numberAvailable");if(_5e9&&_5e9.length>0){var _5ea=_5e9.item(0).firstChild.nodeValue;_5e3.setNumberAvailable(_5ea);}var _5eb=_5dd.getElementsByTagName("canBookOnline");if(_5eb&&_5eb.length>0){cboStr=_5eb.item(0).firstChild.nodeValue;if(cboStr=="true"){_5e3.setCanBookOnline(true);}else{_5e3.setCanBookOnline(false);}}var _5ec=_5dd.getElementsByTagName("averageRate");if(_5ec&&_5ec.length>0){arStr=_5ec.item(0).firstChild.nodeValue;_5e3.setAverageRate(arStr);}var _5ed=_5dd.getElementsByTagName("rateLo");if(_5ed&&_5ed.length>0){rlStr=_5ed.item(0).firstChild.nodeValue;_5e3.setLowRate(rlStr);}var _5ee=_5dd.getElementsByTagName("rateHi");if(_5ee&&_5ee.length>0){rhStr=_5ee.item(0).firstChild.nodeValue;_5e3.setHighRate(rhStr);}var _5ef=_5dd.getElementsByTagName("restrictions");if(_5ef&&_5ef.length>0){rStr=_5ef.item(0).firstChild.nodeValue;_5e3.setRestriction(rStr);}var _5f0=_5dd.getElementsByTagName("otherRoomsAvailable");if(_5f0&&_5f0.length>0){var _5f1=_5f0.item(0).firstChild.nodeValue;_5e3.setOtherRoom(_5f1);}}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(_5f2){this.calData=_5f2;this.message="New Instantance";console.debug("initialized CalendarLoader");}});}if(!dojo._hasResource["topaz.widget.CalendarWidget"]){dojo._hasResource["topaz.widget.CalendarWidget"]=true;dojo.provide("topaz.widget.CalendarWidget");dojo.declare("topaz.widget.CalendarWidget",[dijit._Widget,dijit._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,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(_5f3){this.siteId=_5f3;},setMonth:function(_5f4){this.month=parseInt(_5f4);},setYear:function(_5f5){this.year=parseInt(_5f5);},_getMonthString:function(_5f6){var _5f7;switch(parseInt(_5f6)){case 1:_5f7="January";break;case 2:_5f7="February";break;case 3:_5f7="March";break;case 4:_5f7="April";break;case 5:_5f7="May";break;case 6:_5f7="June";break;case 7:_5f7="July";break;case 8:_5f7="August";break;case 9:_5f7="September";break;case 10:_5f7="October";break;case 11:_5f7="November";break;case 12:_5f7="December";break;}return _5f7;},drawBlankCalendar:function(){try{var _5f8=this.month;var _5f9=this.year;var _5fa;var _5fb=this._getDayOfWeek(_5f8,1,_5f9);var _5fc=0;var _5fd=0;var _5fe;var j;for(j=0;j<42;j++){if(j%7==0){_5fc++;_5fd=1;}else{_5fd++;}_5fe=j-_5fb+1;_5fa=(_5f8<10)?"0"+_5f8:_5f8;tempCalDay=(_5fe<10)?"0"+_5fe:_5fe;eval("this.tempSpan = this.calendar_row"+_5fc+"_col"+_5fd+".firstChild;");if(_5fe>0&&_5fe<=this._getMonthNumDays(_5f8,_5f9)){var _600="this.tempSpan = this.calendar_row"+_5fc+"_col"+_5fd+".childNodes[0];";eval(_600);this.tempSpan.setAttribute("id",this.id+"_"+_5fa+"_"+tempCalDay+"_"+_5f9);this.tempSpan.innerHTML=_5fe;var _601=dojo.date.locale.format(new Date(),{selector:"date",datePattern:"MM/dd/yyyy"});var _602=_601!=_5fa+"/"+tempCalDay+"/"+_5f9;var _603=new Date();_603.setFullYear(_5f9,_5f8-1,_5fe);if(_602&&0==dojo.date.compare(_603,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(_604,_605){var _606=0;switch(parseInt(_604,10)){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_606=31;break;case 2:if((_605%4)==0){_606=29;}else{_606=28;}break;default:_606=30;break;}return _606;},onDateSelect:function(_607,_608,evt,_60a){},onCalendarDayClick:function(evt){try{if(evt){evt.stopPropagation();evt.cancelBubble=true;}var _60c=evt.srcElement?evt.srcElement:evt.originalTarget;var _60d=_60c.getAttribute("id")+"";var _60e=this.id+"_";var _60f=_60d.substring(_60e.length);this.onDateSelect(_60f,_60c,evt,this.id);}catch(err){console.debug("CalendarWidget.onCalendarDayClick-error: "+err.message);}},_getDayOfWeek:function(_610,_611,_612){var _613=new Date();_613.setFullYear(parseInt(_612,10),parseInt(_610,10)-1,parseInt(_611,10));return parseInt(_613.getDay(),10);},initialize:function(){this.drawBlankCalendar();},_replaceSubstring:function(_614,from,to){var _617="";while(_614.length>=from.length&&_614.length>0&&from.length>0){if(_614.substring(0,from.length)==from){_617+=to;_614=_614.substring(from.length);}else{_617+=_614.substring(0,1);_614=_614.substring(1);}}return _617+_614;},displayAvailability:function(){try{var _618;var _619;var _61a;var _61b;for(_61a=1;_61a<=this.calendarData.getNumDays();_61a++){if(!this.calendarData.getDayData(_61a)){continue;}var _61c=this.calendarData.getDayData(_61a);var _61d=_61c.getDate();var _61e=this._replaceSubstring(_61d,"/","_");var _61f=dojo.byId(this.id+"_"+_61e);_618=_61c.getNumberAvailable();_619=true;_61b=_61c.getRestriction();if(_619&&(_618>0)&&(_61b==""||_61b+0==0)){dojo.removeClass(_61f,"defaultday");dojo.addClass(_61f,"availableday");}else{if((_618>0)&&(_61b!=""||_61b+0>0)){dojo.removeClass(_61f,"defaultday");dojo.addClass(_61f,"withrestrictions");}else{if((this.roomId==""&&_61c.getOtherHotel()>0)||(this.roomId!=""&&_61c.getOtherRoom()>0)){dojo.removeClass(_61f,"defaultday");dojo.addClass(_61f,"otherrooms_availableday");}else{dojo.removeClass(_61f,"defaultday");dojo.addClass(_61f,"soldoutday");}}}}}catch(err){console.debug("CalendarWidget.displayAvailability-error: "+err.message);}},onLoaderDone:function(_620,_621){try{if(this.calendarData){if(this.calendarData.hNum!=""){this.displayAvailability();}}}catch(err){console.debug("CalendarWidget.onLoaderDone-error: "+err.message);}},postCreate:function(){},startup:function(){var _622;var _623;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);}catch(err){}this.calendarData.setHNum(this.hotelId);this.calendarData.setPromoCode(this.promoCode);this.calendarData.setRoomType(this.roomId);this.calendarData.setRatePlan(this.ratePlanId);_623=this.calendarData.loader;dojo.connect(_623,"onLoaderDone",this,"onLoaderDone");if(this.hotelId!=""&&this.siteId!=""){_623.ajaxCalendarRequest(_623.loadCalendar);}else{var _624=false;this.onLoaderDone(null,null,_624);}}catch(err){console.debug("CalendarWidget.startup-error: "+err.message);}}}});}if(!dojo._hasResource["topaz.widget.CalendarsPanel"]){dojo._hasResource["topaz.widget.CalendarsPanel"]=true;dojo.provide("topaz.widget.CalendarsPanel");dojo.declare("topaz.widget.CalendarsPanel",[dijit._Widget,dijit._Templated,dijit._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=\"Prev\">\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:dojo.baseUrl,topazRoot:dojo.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:[],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(_625){if(!this.hotelContextOnly){this.ratePlanContextNode.innerHTML=_625;}},setRoomTypeContextHtml:function(_626){if(!this.hotelContextOnly){this.roomTypeContextNode.innerHTML=_626;}},whichCalIndex:function(_627){try{var _628=this._extractmonth(_627)+0;var _629=parseInt(this.startMonth,10);if(_629<=_628){return _628-_629;}else{}return _628+12-_629;}catch(err){console.debug("CalendarsPanel.whichCalIndex-error: "+err.message);}},getCalId:function(_62a){return this.calendarIds[this.whichCalIndex(_62a)];},setInstructionsHtml:function(_62b){this.instructionsNode.innerHTML=_62b;},getFormattedArrivalDate:function(_62c){if(!_62c){_62c="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 dojo.date.locale.format(d,{selector:"date",datePattern:_62c});},showOtherRoomsLegend:function(){dojo.removeClass(this.otherRmsRowNode,"noshow");},hideOtherRoomsLegend:function(){dojo.addClass(this.otherRmsRowNode,"noshow");},getHotelId:function(){return this.hotelId;},setLoading:function(){dojo.removeClass(this.loadingImageDivNode,"noshow");this.loadingTimer=setTimeout(dojo.hitch(this,function(){this.resetLoading();}),this.loadTimeout);},resetLoading:function(){dojo.addClass(this.loadingImageDivNode,"noshow");if(this.loadingTimer){clearTimeout(this.loadingTimer);}},setAvailDayLegendDescr:function(_62e){this.availDayLegendDescrNode.innerHTML=_62e;},setOtherAvailLegendDescr:function(_62f){this.otherRmsAvailLegendDescrNode.innerHTML=_62f;},_extractday:function(_630){_630+="";return parseInt(_630.substring(3,5),10);},_extractyear:function(_631){_631+="";return parseInt(_631.substring(6,10),10);},_extractmonth:function(_632){_632+="";console.debug("CalendarsPanel._extractmonth('"+_632+"') ==>"+parseInt(_632.substring(0,2),10));return parseInt(_632.substring(0,2),10);},_dateAdd:function(_633,_634){var _635=parseInt(this._extractmonth(_633),10);var _636=parseInt(this._extractday(_633),10);var _637=parseInt(this._extractyear(_633),10);var _638=this._getMonthNumDays(_635,_637);_636+=parseInt(_634,10);while(_636>_638){_636=_636-_638;_635++;if(_635>12){_635=1;_637++;}_638=this._getMonthNumDays(_635,_637);}_635=_635<10?"0"+_635:""+_635;_636=_636<10?"0"+_636:""+_636;return _635+"/"+_636+"/"+_637;},computeNightstay:function(){var _639=this.arrivalDate;var _63a=this.departureDate;var _63b=0;var _63c=_639;while(_63b<62&&_63c!=_63a){_63c=this._dateAdd(_63c,"01");_63b++;}return _63b;},setSiteId:function(_63d){this.siteId=_63d;},setHotelId:function(_63e){this.hotelId=_63e;},_checkAvailabilityForDate:function(_63f){try{_63f=_63f.substring(0,2)+"/"+_63f.substring(3,5)+"/"+_63f.substring(6);console.debug("CalendarsPanel._checkAvailabilityForDate start. thisDate="+_63f);var _640=false;dojo.query("#"+this.id+" DIV.calendar SPAN").forEach(function(node,_642,arr){if(dojo.hasClass(node,"availableday")){var _644=node.id+"";var _645=_644.substring(_644.length-10);_645=_645.substring(0,2)+"/"+_645.substring(3,5)+"/"+_645.substring(6);if(_63f==_645){_640=true;}}});console.debug("CalendarsPanel._checkAvailabilityForDate finish. thisDate="+_63f+", found="+_640);return _640;}catch(err){console.debug("CalendarsPanel._checkAvailabilityForDate-error: "+err.message);}},_getMonthForCalendarNumber:function(_646){var _647=parseInt(this.startMonth,10)+_646-1;return _647>12?_647-12:_647;},_getYearForCalendarNumber:function(_648){if(_648==2&&this.startMonth==12){return parseInt(this.startYear,10)+1;}else{return parseInt(this.startYear,10);}},onDayClick:function(_649,_64a,evt,_64c){evt.stopPropagation();evt.cancelBubble=true;_649+="";console.debug("CalendarsPanel.onDayClick, thisDateStr="+_649+", calWidgetId="+_64c);if(this.clickedDates==null){this.clickedDates=new Array();}this.clickedDates[this.clickedDates.length]=_64c+"_"+_649;_649=_649.substring(0,2)+"/"+_649.substring(3,5)+"/"+_649.substring(6);if(this.rangeSelect){console.debug("CalendarsPanel thisSpanObj.id="+_64a.id);console.debug("CalendarsPanel thisDateStr="+_649);dojo.addClass(_64a,"clicked_date");this.setLoading();setTimeout(dojo.hitch(this,function(){this._setArrivalDeparture(_64a);this.resetLoading();}),300);}else{this._undoHighlightStayDates(this.lastArrivalDate,this.lastDepartureDate);this._highlightStayDates(_649,_649);this.lastArrivalDate=_649;this.lastDepartureDate=_649;}this.onDateClick(_649);},onDateClick:function(_64d){console.debug("CalendarsPanel.onDateClick, thisDateStr="+_64d);},onFirstCalendarLoaderDone:function(_64e,_64f,_650){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 _652=parseInt(this.startMonth,10),_653=parseInt(this.startYear,10);var _654=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: "+_652+"/"+_653);var _655=document.createElement("div");this.calendarsContainerNode.appendChild(_655);_655.setAttribute("id",this.id+"_cal"+this.calCtr);this.calendarIds[i]=this.id+"_cal"+this.calCtr;var _656={widgetId:this.id+"_cal"+this.calCtr,month:_652,year:_653,hotelId:this.hotelId,siteId:this.siteId,promoCode:this.promoCode,roomId:this.hotelContextOnly?"":this.roomId,ratePlanId:this.hotelContextOnly?"":this.ratePlanId,containerId:this.id};this.calCtr++;_654[i]=new topaz.widget.CalendarWidget(_656,_655);_654[i].onDateSelect=dojo.hitch(this,this.onDayClick);if(i==0){dojo.connect(_654[0],"onLoaderDone",this,"onFirstCalendarLoaderDone");}dojo.connect(_654[i],"onLoaderDone",this,"onLoaderDone");_654[i].startup();_652++;if(_652>12){_652=1;_653++;}}this._highlightStayDates(this.arrivalDate,this.departureDate);}catch(err){console.debug("CalendarsPanel.drawCalendars-error: "+err.message);}},_getMonthNumDays:function(_657,_658){var _659=0;switch(parseInt(_657,10)){case 1:case 3:case 5:case 7:case 8:case 10:case 12:_659=31;break;case 2:if((_658%4)==0){_659=29;}else{_659=28;}break;default:_659=30;break;}return _659;},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();dojo.addClass(this.prevControlImg,"hide");setTimeout(dojo.hitch(this,function(){dojo.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(dojo.hitch(this,function(){this.initialize();}),this.timeoutDelay);},onNextClick:function(evt){evt.stopPropagation();evt.cancelBubble=true;console.debug("[NEXT]");this.setLoading();dojo.addClass(this.nextControlImg,"hide");setTimeout(dojo.hitch(this,function(){dojo.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(dojo.hitch(this,function(){this.initialize();}),this.timeoutDelay);},_getDayOfWeek:function(_65f,_660,_661){var _662=new Date();_662.setFullYear(parseInt(_661,10),parseInt(_65f,10)-1,parseInt(_660,10));return parseInt(_662.getDay(),10);},setRoomId:function(_663){this.roomId=_663;},setPromoCode:function(_664){this.promoCode=_664;},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 _667=dojo.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(_667,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 _668=this;var _669=new Date();console.debug("startYear="+_668.startYear);if(!_668.startYear||_668.startYear==""){_668.startYear=this.getStartYearFromArrival();}console.debug("startYear="+this.startYear);console.debug("startMonth="+this.startMonth);if(!_668.startMonth||_668.startMonth==""){_668.startMonth=this.getStartMonthFromArrival();}console.debug("startMonth="+_668.startMonth);this.drawCalendars();}catch(err){console.debug("CalendarsPanel.initialize-error:"+err.message);this.resetLoading();}},_checkStayRangeIsAvailable:function(_66a,_66b){var _66c=_66a;var _66d=true;var ctr=0;while(_66c!=_66b&&ctr<29){_66d=_66d&&this._checkAvailabilityForDate(_66c);_66c=this._dateAdd(_66c,"01");ctr++;}_66d=_66d&&ctr<29;return _66d;},_getDateObject:function(_66f,_670){if(!_670){_670="MM/dd/yyyy";}return dojo.date.locale.parse(_66f,{selector:"date",datePattern:_670});},getArrivalMonth:function(){var _671=this._getDateObject(this.arrivalDate);return _671.getMonth()+1;},_highlightStayDates:function(_672,_673){try{console.debug("CalendarsPanel._highlightStayDates start");var _674;var _675=_672;var ctr=0;if(dojo.date.compare(this._getDateObject(_673),this._getDateObject(_672),"date")>=0){_674=this.getCalId(_675)+"_"+this._replaceSubstring(_675,"/","_");dojo.addClass(dojo.byId(_674),"highlighted");if(this.rangeSelect){while(_675!=_673&&ctr<29){_675=this._dateAdd(_675,"01");_674=this.getCalId(_675)+"_"+this._replaceSubstring(_675,"/","_");dojo.addClass(dojo.byId(_674),"highlighted");ctr++;}}}}catch(err){console.debug("CalendarsPanel._highlightStayDates-error: "+err.message);}},_unclickDates:function(){setTimeout(dojo.hitch(this,function(){var i;if(this.clickedDates!=null){for(i=0;i<this.clickedDates.length;i++){try{if(dojo.byId(this.clickedDates[i])){dojo.removeClass(dojo.byId(this.clickedDates[i]),"clicked_date");}}catch(err){console.debug("CalendarsPanel._unclickDates: ignored error: "+err.message);}}}this.clickedDates=null;}),500);},_undoHighlightStayDates:function(_678,_679){console.debug("About to _undoHighlightStayDates "+_678+"-"+_679);var _67a;var _67b=_678;var ctr=0;if(_678!=""&&_679!=""){try{_67a=this.getCalId(_678)+"_"+this._replaceSubstring(_678,"/","_");dojo.removeClass(dojo.byId(_67a),"clicked_date");_67a=this.getCalId(_679)+"_"+this._replaceSubstring(_679,"/","_");dojo.removeClass(dojo.byId(_67a),"clicked_date");if(dojo.date.compare(this._getDateObject(_679),this._getDateObject(_678),"date")>=0){_67a=this.getCalId(_67b)+"_"+this._replaceSubstring(_67b,"/","_");dojo.removeClass(dojo.byId(_67a),"highlighted");while(_67b!=_679&&ctr<29){_67b=this._dateAdd(_67b,"01");_67a=this.getCalId(_67b)+"_"+this._replaceSubstring(_67b,"/","_");dojo.removeClass(dojo.byId(_67a),"highlighted");ctr++;}}}catch(err){console.debug("CalendarsPanel._undoHighlightStayDates: arrival and/or departure dates to undo are not in view.");}}},onDateRangeSelected:function(){},updateCookies:function(){dojo.cookie("arrivalDate",this.arrivalDate);dojo.cookie("departureDate",this.departureDate);dojo.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(_680){console.debug("CalendarsPanel._setArrivalDeparture begin");var _681=false;var _682="";var _683,_684,_685,_686,_687;var _688;_688=this._stringRight(_680.id+"",10);if(_688.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(_688,"_","/");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>"+_682;}break;case "departure":_685=this._replaceSubstring(_688,"_","/");_686=this._extractmonth(_685);_687=this._extractday(_685);_684=""+this._extractyear(_685)+(_686<10?"0"+_686:_686)+(_687<10?"0"+_687:_687);_686=this._extractmonth(this.arrivalDate);_687=this._extractday(this.arrivalDate);_683=""+this._extractyear(this.arrivalDate)+(_686<10?"0"+_686:_686)+(_687<10?"0"+_687:_687);if(!this.requireAvailability||this.requireAvailability=="false"||this._checkStayRangeIsAvailable(this.arrivalDate,_685+"")){if(_684>_683){this.selectMode="arrival";this.departureDate=_685;if(this.instructionShown){this.instructionsNode.innerHTML="Arriving on "+this.arrivalDate+"<br>Departing on "+this.departureDate+"<br>"+_682;if(this.resetInstructions&&this.instructionShown){setTimeout(dojo.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(dojo.hitch(this,function(){dojo.publish("stayDatesChange",[this.arrivalDate,this.departureDate]);}),300);}_681=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(_684>_683){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(dojo.hitch(this,function(){this.instructionsNode.innerHTML="<span class=\"instruct_bold\">"+this.instrArrText+"</span>";}),2000);}}}}break;}}console.debug("CalendarsPanel._setArrivalDeparture end");return _681;},_replaceSubstring:function(_689,from,to){var _68c="";while(_689.length>=from.length&&_689.length>0&&from.length>0){if(_689.substring(0,from.length)==from){_68c+=to;_689=_689.substring(from.length);}else{_68c+=_689.substring(0,1);_689=_689.substring(1);}}return _68c+_689;},onDefaultStayDatesSet:function(){},setParametersFromCookies:function(){if(dojo.cookie("hotelId")){this.hotelId=dojo.cookie("hotelId");}if(dojo.cookie("roomId")){this.roomId=dojo.cookie("roomId");}if(dojo.cookie("promoCode")){this.promoCode=dojo.cookie("promoCode");}this.ratePlanId=dojo.cookie("ratePlanId");if(!dojo.cookie("ratePlanId")){this.ratePlanId="";}},refresh:function(){if(this.readCookies){this.setParametersFromCookies();}if(dojo.cookie("arrivalDate")&&dojo.cookie("departureDate")){this.arrivalDate=dojo.cookie("arrivalDate");this.departureDate=dojo.cookie("departureDate");}this.initialize();},refreshForHotelChange:function(){if(this.onlyAutoRefreshForHotelId==""||this.onlyAutoRefreshForHotelId==dojo.cookie("hotelId")){if(this.clearRoomOnHotelChange){dojo.cookie("roomId","");this.roomId="";this.setRoomTypeContextHtml("");}this.refresh();}},refreshForRoomTypeChange:function(_68d,_68e){if(this.onlyAutoRefreshForRoomId==""||this.onlyAutoRefreshForRoomId==dojo.cookie("roomId")){if(_68d!=""){this.setRoomTypeContextHtml(_68e);}else{this.setRoomTypeContextHtml("");}if(!globRatePlanBeforeRoom){this.ratePlanId="";}this.refresh();}},refreshForRatePlanChange:function(_68f,_690){if(this.onlyAutoRefreshForRatePlanId==""||this.onlyAutoRefreshForRatePlanId==dojo.cookie("ratePlanId")){if(_68f!=""&&_690&&_690!="undefined"){this.setRatePlanContextHtml(_690);}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(dojo.cookie("arrivalDate")&&dojo.cookie("departureDate")){this.arrivalDate=dojo.cookie("arrivalDate");this.departureDate=dojo.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();}dojo.subscribe("selectedHotelChange",this,"refreshForHotelChange");dojo.subscribe("selectedRoomTypeChange",this,"refreshForRoomTypeChange");dojo.subscribe("selectedRatePlanChange",this,"refreshForRatePlanChange");dojo.subscribe("stayDatesChange",this,"refresh");}catch(err){console.debug("CalendarsPanel.startup-error: "+err.message);}}});}if(!dojo._hasResource["topaz.widget.ReserveButton"]){dojo._hasResource["topaz.widget.ReserveButton"]=true;dojo.provide("topaz.widget.ReserveButton");dojo.declare("topaz.widget.ReserveButton",[dijit._Widget,dijit._Templated,dijit._Container],{declaredClass:"ReserveButton",templateString:"<div id=\"${id}\" dojoAttachPoint=\"mainNode\" class=\"reserveButton\" dojoAttachEvent=\"onclick:onButtonClick\">\r\n\t<div class=\"innerContainer\" dojoAttachPoint=\"innerContainerNode\" dojoAttachEvent=\"onclick:onButtonClick\">\r\n\t\t<span id=\"${id}_label\" dojoAttachPoint=\"labelSpanNode\" class=\"label checkLabel\">\r\n\t\t\t${checkAvailLabel}\r\n\t\t</span>\r\n\t\t<span id=\"${id}_sublabel1\" dojoAttachPoint=\"subLabel1_SpanNode\" class=\"subLabel1\">\r\n\t\t</span>\r\n\t\t<img id=\"${id}_checkAvail\" class=\"checkAvail\" dojoAttachPoint=\"checkAvailButtonNode\"\r\n\t\t \tdojoAttachEvent=\"onclick:onCheckAvailClick, onmouseover:onCheckAvailMouseover, onmouseout:onCheckAvailMouseout\"\r\n\t\t\tsrc=\"${checkAvailImgSrc}\" alt=\"${checkAvailAltText}\">\r\n\t\t<div dojoAttachPoint=\"calendarsContainerObject\" class=\"calendars noshow\">\r\n\t\t\t<div dojoAttachPoint=\"calendarsObject\" id=\"${id}_calendars\" dojoType=\"topaz.widget.CalendarsPanel\"  \r\n\t\t\t\tnumCals=\"${numCalendars}\"\r\n\t\t\t\tsiteId=\"${siteId}\"\t\t\r\n\t\t\t\thotelId=\"${hotelId}\"\r\n\t\t\t\troomId=\"${roomId}\"\t\r\n\t\t\t\tratePlanId=\"${ratePlanId}\"\r\n\t\t\t\tinstructionShown=\"true\"\r\n\t\t\t\trequireAvailability=\"false\"\r\n\t\t\t\treadCookies=\"false\"\r\n\t\t\t\tloadTimeout=\"5000\"\r\n\t\t\t\tavailableDayLegendString=\"${availDayLegendStr}\"\r\n\t\t\t\totherAvailLegendString=\"${otherAvailLegendStr}\"\r\n\t\t\t\tsoldoutDayLegendString=\"${soldoutDayLegendStr}\"\r\n\t\t\t></div>\t\t\r\n\t\t</div>\t\t\r\n\t\t<div dojoAttachPoint=\"loadingImageDivNode\" class=\"loadingImage\">\r\n\t\t\t<img src=\"${topazRoot}/widget/images/loading.gif\" alt=\"Refreshing...\" />\r\n\t\t</div>\r\n\t\t<div dojoAttachPoint=\"blockerNode\" class=\"blocker noshow\" dojoAttachEvent=\"onclick:onBlockerClick\">\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n",dojoRoot:dojo.baseUrl,topazRoot:dojo.moduleUrl("topaz"),widgetsInTemplate:true,checkAvailImgSrc:"",checkAvailAltText:"Check Availability",checkAvailLabel:"Check Availability",bookLabel:"Book this room",numCalendars:2,siteId:"",hotelId:"",roomId:"",ratePlanId:"",hideCalsAfterSelect:true,delayBeforeHide:1,mode:"CHECK",submitMode:"GOTO_URL",submitHandler:"this.defaultSubmitHandler",submitDelay:"100",dateFormat:"MMM dd, yyyy",urlOnClick:"",requireAvailability:false,availableToBook:false,context:"ROOM",availDayLegendStr:"Selected room available",otherAvailLegendStr:"Other rooms available",soldoutDayLegendStr:"Sold-out",labelSpanNode:null,subLabel1_SpanNode:null,calendarsContainerObject:null,calendarsObject:null,blockerNode:null,innerContainerNode:null,loadingTimer:null,loadTimeout:10000,onBlockerClick:function(evt){this.hideCalendars();},hideCalendars:function(){dojo.addClass(this.calendarsContainerObject,"noshow");this.hideBlocker();},showBlocker:function(){dojo.removeClass(this.blockerNode,"noshow");},hideBlocker:function(){dojo.addClass(this.blockerNode,"noshow");},defaultSubmitHandler:function(){console.debug("Default!");},setMode:function(_692){this.mode=_692;},setLabel:function(_693){this.labelSpanNode.innerHTML=_693;switch(this.mode){case "CHECK":dojo.removeClass(this.labelSpanNode,"bookLabel");dojo.addClass(this.labelSpanNode,"checkLabel");break;case "BOOK":dojo.removeClass(this.labelSpanNode,"checkLabel");dojo.addClass(this.labelSpanNode,"bookLabel");break;}},setSubLabel:function(idx,_695){switch(idx){case 1:this.subLabel1_SpanNode.innerHTML=_695;break;}},onButtonClick:function(evt){var _697=evt.srcElement?evt.srcElement:evt.originalTarget;var _698=this.id+"";var _699=_697.id+"";if(_699.substr(0,_698.length)!=_698){return;}if(!baHelper.browserSupported()){window.location="http://www.bookability.net/b2/hoteltop.php?siteid="+this.siteId+"&hnum="+this.hotelId+"&nightstay=1";return;}if(this.requireAvailability&&!this.availableToBook){this.onCheckAvailClick(evt);}else{if(this.hotelId!=""){dojo.cookie("hotelId",this.hotelId);}if(this.roomId!=""){dojo.cookie("roomId",this.roomId);}if(this.ratePlanId!=""){dojo.cookie("ratePlanId",this.ratePlanId);}switch(this.submitMode){case "EXECUTE_JS":if(this.submitHandler!=""){setTimeout(dojo.hitch(this,function(){eval(this.submitHandler+"();");}),this.submitDelay);}break;case "GOTO_URL":if(this.urlOnClick!=""){setTimeout(dojo.hitch(this,function(){window.location=this.urlOnClick;}),this.submitDelay);}else{console.debug("ReserveButton.onButtonClick-error: Failed ");}break;}}},onCheckAvailMouseover:function(evt){dojo.addClass(this.checkAvailButtonNode,"hover");},onCheckAvailMouseout:function(evt){dojo.removeClass(this.checkAvailButtonNode,"hover");},onCheckAvailClick:function(evt){evt.stopPropagation();evt.cancelBubble=true;dojo.removeClass(this.calendarsContainerObject,"noshow");this.showBlocker();},onCheckAvailMouseOut:function(evt){},onCloseClick:function(evt){evt.stopPropagation();evt.cancelBubble=true;this.hideCalendars();},checkAvailability:function(_69f,_6a0,_6a1){console.debug("ReserveButton.checkAvailability: arrDate="+_69f+", depDate="+_6a0);if(this.context=="RATEPLAN"){this.calendarsObject.onAvailabilityReady=dojo.hitch(this,function(){this.availableToBook=this.calendarsObject._checkStayRangeIsAvailable(_69f,_6a0);if(!this.availableToBook){this.setMode("CHECK");this.setLabel("Not Available");}this._onAvailabilityChecked();});}else{var _6a2=false;availabilityController.getAvailability("ROOM",this.hotelId,_69f,_6a0,_6a1,this.roomId,this.ratePlanId,dojo.cookie("promoCode"),this,this.processAvailability,_6a2);}},processAvailability:function(_6a3){var _6a4=_6a3.comment+"";console.debug("thisComment = "+_6a4);var good=true;if(_6a3.tooLateToBook&&_6a3.tooLateToBook!="false"){this.setMode("CHECK");this.setLabel("Too late to book online.");good=false;}console.debug("minRestriction: "+_6a3.minRestriction);if(_6a3.minRestriction!=""){this.setMode("CHECK");this.setLabel(_6a3.minRestriction);good=false;}if(_6a4=="Call Us"){this.setMode("CHECK");this.setLabel(_6a4);good=false;}if(_6a4=="No Vacancy"||_6a4=="Not Available"){this.setMode("CHECK");this.setLabel(_6a4);good=false;}if(_6a4.indexOf("Minimum")>=0){this.setMode("CHECK");this.setLabel(_6a4);good=false;}this.availableToBook=good;this._onAvailabilityChecked();},_onAvailabilityChecked:function(){},setLoading:function(){dojo.removeClass(this.loadingImageDivNode,"noshow");this.loadingTimer=setTimeout(dojo.hitch(this,function(){this.resetLoading();}),this.loadTimeout);},resetLoading:function(){dojo.addClass(this.loadingImageDivNode,"noshow");if(this.loadingTimer){clearTimeout(this.loadingTimer);}},onStayDatesChange:function(){try{this.setLoading();if(this.hideCalsAfterSelect){setTimeout(dojo.hitch(this,function(){this.hideCalendars();}),this.delayBeforeHide);}var _6a6=this.calendarsObject.computeNightstay();var _6a7=_6a6>1?"s":"";this._onAvailabilityChecked=dojo.hitch(this,function(){if(this.availableToBook){this.setMode("BOOK");this.setLabel(this.bookLabel);}var _6a8=this.calendarsObject.getFormattedArrivalDate(this.dateFormat);this.setSubLabel(1,"("+_6a8+" - "+this.calendarsObject.computeNightstay()+" night"+_6a7+")");this.resetLoading();});this.checkAvailability(this.calendarsObject.arrivalDate,this.calendarsObject.departureDate,this.calendarsObject.computeNightstay());}catch(err){console.debug("ReserveButton.onStayDatesChange-error: "+err.message);}},postCreate:function(){try{console.debug("ReserveButton.postCreate");}catch(err){console.debug("ReserveButton.postCreate-error: "+err.message);}},startup:function(){console.debug("ReserveButton.startup");if(!baHelper.browserSupported()){dojo.addClass(this.checkAvailButtonNode,"noshow");this.resetLoading();return;}var _6a9;if(this.hotelId==""){_6a9=dojo.cookie("hotelId");if(_6a9){this.hotelId=_6a9;}}if(this.ratePlanId==""){_6a9=dojo.cookie("ratePlanId");if(_6a9){this.ratePlanId=_6a9;}}if(this.roomId==""){_6a9=dojo.cookie("roomId");if(_6a9){this.roomId=_6a9;}}if(dojo.cookie("arrivalDate")&&dojo.cookie("departureDate")){this.onStayDatesChange();}dojo.subscribe("stayDatesChange",this,"onStayDatesChange");if(this.checkAvailImgSrc==""||!this.checkAvailImgSrc){this.checkAvailImgSrc=dojo.moduleUrl("topaz","widget/images/reserveButton_availCal.gif");this.checkAvailButtonNode.src=this.checkAvailImgSrc;}dojo.connect(this.calendarsObject,"onCloseClick",this,"onCloseClick");this.resetLoading();}});}dojo.i18n._preloadLocalizations("dojo.nls.topaz_guestrooms",["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"]);
