﻿
function market(code,desc)
{this.C=code;
this.D=desc;
}

function displayrooms(ddctl)
{
var Nametest;
var clientid ;
Nametest=ddctl.name.split("$");
for (i=0;i<Nametest.length-1;i++)
{
if(i==0)
{
clientid =Nametest[i];
}
else
{
clientid =clientid + "_" + Nametest[i];
}
}
for(i=1;i<=ddctl.options.length-1;i++)
{
var divrooms=document.getElementById(clientid +"_Rooms" + i);
if(i > ddctl.value-1)
divrooms.style.display="none";
else
divrooms.style.display="block";
}
}

function displaychild(ddchildctrl,roomno)
{
var arr=arrchlddiv[roomno];
var arrChildAge=arrchldAgediv[roomno];
var divchildAge=document.getElementById(arrChildAge);
if (ddchildctrl.value==0)
divchildAge.style.display="none";
else
divchildAge.style.display="block";

for(i=0;i<=arr.length-1;i++)
{
var divchild=document.getElementById(arr[i]);
if(i >= ddchildctrl.value)
divchild.style.display="none";
else
divchild.style.display="block";

}
}

// restool new omniture tracking script

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code='',s_objectID;function s_gi(un,pg,ss){var c="=fun@6(~){`Ks=^S~$h ~.substring(~.indexOf(~;@t~';`Bt`t~=new Fun@6(~.toLowerCase()~s_c_il['+s^sn+']~};s.~`m@t~.length~.toUpperCase~=new Object~s"
+".wd~','~){@t~')q='~.location~var ~s.pt(~dynamicAccount~link~s.apv~='+@y(~)@tx^m!Object$eObject.prototype$eObject.prototype[x])~);s.~Element~.getTime()~=new Array~ookieDomainPeriods~s.m_~referrer~.p"
+"rotocol~=new Date~BufferedRequests~}c$s(e){~visitor~;@X^js[k],255)}~=''~javaEnabled~conne@6^M~@0c_i~Name~:'')~onclick~}@t~else ~ternalFilters~javascript~s.dl~@Os.b.addBehavior(\"# default# ~=parseF"
+"loat(~'+tm.get~=='~cookie~s.rep(~s.^T~track~o@0oid~browser~.parent~window~colorDepth~String~while(~.host~.lastIndexOf('~s.sq~s.maxDelay~s.vl_g~r=s.m(f)?s[f](~for(~s.un~s.eo~&&s.~parseInt(~t=s.ot(o)"
+"~j='1.~#4URL~lugins~dynamicVariablePrefix~document~Type~Sampling~s.rc[un]~Download~Event~');~this~tfs~resolution~s.c_r(~s.c_w(~s.eh~s.isie~s.vl_l~s.vl_t~Height~t,h){t=t?t~tcf~isopera~ismac~escape(~"
+".href~screen.~s.fl(~Version~harCode~&&(~_'+~variableProvider~s.pe~)?'Y':'N'~:'';h=h?h~._i~e&&l$HSESSION'~f',~onload~name~home#4~objectID~}else{~.s_~s.rl[u~Width~s.ssl~o.type~Timeout(~ction~Lifetime"
+"~.mrq(\"'+un+'\")~sEnabled~;i++)~'){q='~&&l$HNONE'){~ExternalLinks~charSet~onerror~lnk~currencyCode~.src~s=s_gi(~etYear(~&&!~Opera~'s_~;try{~Math.~s.fsg~s.ns6~s.oun~InlineStats~Track~'0123456789~&&"
+"t~s[k]=~s.epa(~m._d~n=s.oid(o)~,'sqs',q);~LeaveQuery~')>=~'=')~)+'/~){n=~\",''),~vo)~s.sampled~=s.oh(o);~+(y<1900?~s.disable~ingServer~n]=~true~sess~campaign~lif~if(~'http~,100)~s.co(~x in ~s.ape~f"
+"fset~s.c_d~s.br~'&pe~s.gg(~s.gv(~s[mn]~s.qav~,'vo~s.pl~=(apn~Listener~\"s_gs(\")~vo._t~b.attach~d.create~=s.n.app~(''+~!='~'||t~'+n~s()+'~){p=~():''~a):f(~+1))~a['!'+t]~){v=s.n.~channel~un)~.target"
+"~o.value~g+\"_c\"]~\".tl(\")~etscape~(ns?ns:~s_')t=t~k',s.bc~omePage~s.d.get~')<~||!~[b](e);~m[t+1](~return~mobile~height~events~random~code~'MSIE ~rs,~un,~,pev~floor(~atch~s.num(~[\"s_\"+~s.c_gd~s"
+".dc~s.pg~,'lt~.inner~transa~;s.gl(~\"m_\"+n~idt='+~page~Group,~.fromC~sByTag~?'&~+';'~t&&~1);~){s.~[t]=~>=5)~[t](~=l[n];~!a[t])~~s._c=@Nc';`F=^1`5!`F`hn){`F`hl`U;`F`hn=0;}s^sl=`F`hl;s^sn=`F`hn;s^sl"
+"[s^s@os;`F`hn++;s.m`0m){`2$Gm)`4'{$d0`Afl`0x,l){`2x?$Gx)`30,l):x`Aco`0o`H!o)`2o;`Kn`E,x;^B@xo)@tx`4'select$d0&&x`4'filter$d0)n[x]=o[x];`2n`Anum`0x){x`e+x;^B`Kp=0;p<x`C;p++)@t(@V')`4x`3p,p$O<0)`20;`"
+"21`Arep=s_r;@y`0x`1,h=@VABCDEF',i,c=s.@E,n,l,e,y`e;c=c?c`D$M`5x){x`e+x`5c`tAUTO'^m'').c^lAt){^Bi=0;i<x`C@A{c=x`3i,i+#Bn=x.c^lAt(i)`5n>127){l=0;e`e;^4n||l<4){e=h`3n%16,n%16+1)+e;n=(n-n%16)/16;l++}y+"
+"='%u'+e}`Bc`t+')y+='%2B';`my+=^gc)}x=y^zx=x?`v^g''+x),'+`G%2B'):x`5x&&c^Eem==1&&x`4'%u$d0&&x`4'%U$d0){i=x`4'%^R^4i>=0){i++`5h`38)`4x`3i,i+1)`D())>=0)`2x`30,i)+'u00'+x`3i);i=x`4'%',i)}}}}`2x`Aepa`0x"
+"`1;`2x?un^g`v''+x,'+`G ')):x`Apt`0x,d,f,a`1,t=x,z=0,y,r;^4t){y=t`4d);y=y<0?t`C:y;t=t`30,y);^At,$Nt,a)`5r)`2r;z+=y+d`C;t=x`3z,x`C);t=z<x`C?t:''}`2''`Aisf`0t,a){`Kc=a`4':')`5c>=0)a=a`30,c)`5t`30,2)`t"
+"$Z`32);`2(t!`e@W==a)`Afsf`0t,a`1`5`La,`G,'is^ut))@Q+=(@Q!`e?`G`j+t;`20`Afs`0x,f`1;@Q`e;`Lx,`G,'fs^uf);`2@Q`Ac_d`e;$vf`0t,a`1`5!$tt))`21;`20`Ac_gd`0`1,d=`F`J^5^w,n=s.fpC`V,p`5!n)n=s.c`V`5d@L$0@gn?^F"
+"n):2;n=n>2?n:2;p=d^6.')`5p>=0){^4p>=0&&n>1$Ld^6.',p-#Bn--}$0=p>0&&`Ld,'.`Gc_gd^u0)?d`3p):d}}`2$0`Ac_r`0k`1;k=@y(k);`Kc=' '+s.d.`u,i=c`4' '+k+@e,e=i<0?i:c`4';',i),v=i<0?'':@Yc`3i+2+k`C,e<0?c`C:e));`"
+"2v$H[[B]]'?v:''`Ac_w`0k,v,e`1,d=$v(),l=s.`u@7,t;v`e+v;l=l?$Gl)`D$M`5^t@Ct=(v!`e?^Fl?l:0):-60)`5t){e`Z;e.setTime(e`T+(t*1000))}`lk@Cs.d.`u=k+'`Pv!`e?v:'[[B]]')+'; path=/;'+(^t?' expires='+e.toGMT^3("
+")#9`j+(d?' domain='+d#9`j;`2^Vk)==v}`20`Aeh`0o,e,r,f`1,b='s^ne+'^ns^sn,n=-1,l,i,x`5!^Xl)^Xl`U;l=^Xl;^Bi=0;i<l`C&&n<0;i++`Hl[i].o==o&&l[i].e==e)n=i`ln<0@gi;l[n]`E}x#Gx.o=o;x.e=e;f=r?x.b:f`5r||f){x.b"
+"=r?0:o[e];x.o[e]=f`lx.b){x.o[b]=x.b;`2b}`20`Acet`0f,a,t,o,b`1,r,^d`5`O>=5^m!s.^e||`O>=7)){^d`7's`Gf`Ga`Gt`G`Ke,r@O^A$Na)`br=s.m(t)?s#Fe):t(e)}`2r^Rr=^d(s,f,a,t)^z@ts.^f^Eu`4$n4@d0)r=s.m(b)?s[b](a):"
+"b(a);else{^X(`F,'@F',0,o);^A$Na`Reh(`F,'@F',1)}}`2r`Ag^Tet`0e`1;`2`w`Ag^Toe`7'e`G`Ks=`9,c;^X(^1,\"@F\",1`Re^T=1;c=s.t()`5c)s.d.write(c`Re^T=0;`2@p'`Rg^Tfb`0a){`2^1`Ag^Tf`0w`1,p=w^0,l=w`J;`w=w`5p&&p"
+"`J!=l&&p`J^5==l^5){`w=p;`2s.g^Tf(`w)}`2`w`Ag^T`0`1`5!`w){`w=`F`5!s.e^T)`w=s.cet('g^T^u`w,'g^Tet',s.g^Toe,'g^Tfb')}`2`w`Amrq`0u`1,l=@1],n,r;@1]=0`5l)^Bn=0;n<l`C;n++){r#Gs.mr(0,0,r.r,0,r.t,r.u)}`Abr`"
+"0id,rs`1`5@m`a$e^W@Nbr',rs))$1l=rs`Aflush`a`0`1;s.fbr(0)`Afbr`0id`1,br=^V@Nbr')`5!br)br=$1l`5br`H!@m`a)^W@Nbr`G'`Rmr(0,0,br)}$1l=0`Amr`0@q,q,$oid,ta,u`1,dc=$w,t1=s.`x@n,t2=s.`x@nSecure,ns=s.`c`ispa"
+"ce,un=u?u:$Ys.f$S,unc=`v$p'_`G-'),r`E,l,imn=@Ni^n($S,im,b,e`5!rs){rs=@u'+(@3?'s'`j+'://'+(t1?(@3@W2?t2:t1):($Y(@3?'102':unc))+'.'+($w?$w:112)+'.2o7.net')@fb/ss/'+^C+'/'+(s.$i?'5.1':'1'@fH.17/'+@q+'"
+"?AQB=1&ndh=1'+(q?q`j+'&AQE=1'`5^Y@Ls.^f`H`O>5.5)rs=^j$o4095);`mrs=^j$o2047)`lid){$1(id,rs);$h}`ls.d.images&&`O>=3^m!s.^e||`O>=7)^m@R<0||`O>=6.1)`H!s.rc)s.rc`E`5!^O){^O=1`5!s.rl)s.rl`E;@1n]`U;set@5'"
+"@t^1`hl)^1.`9@8',750)^zl=@1n]`5l){r.t=ta;r.u=un;r.r=rs;l[l`C]=r;`2''}imn+='^n^O;^O++}im=`F[imn]`5!im)im=`F[im@onew Image;im@0l=0;im.^v`7'e`G^S@0l=1`5^1`hl)^1.`9@8^Rim@I=rs`5rs`4$2=@d0^m!ta||ta`t_se"
+"lf$Ia`t_top'||(`F.^w@Wa==`F.^w))){b=e`Z;^4!im@0l&&e`T-b`T<500)e`Z}`2''}`2'<im'+'g sr'+'c=\"'+rs+'\" width=1 $j=1 border=0 alt=\"\">'`Agg`0v`1`5!`F['s^nv])`F['s^nv]`e;`2`F['s^nv]`Aglf`0t,a`Ht`30,2)`"
+"t$Z`32);`Ks=^S,v=$3t)`5v)s#Dv`Agl`0v`1`5$x)`Lv,`G,'gl^u0)`Agv`0v`1;`2s['vpm^nv]?s['vpv^nv]:(s[v]?s[v]`j`Ahavf`0t,a`1,b=t`30,4),x=t`34),n=^Fx),k='g^nt,m='vpm^nt,q=t,v=s.`N@UVa$oe=s.`N@U^Qs,mn;@X$4t)"
+"`5s.@G||^D||^p`H^p^Epe`30,4)$H@G_'){mn=^p`30,1)`D()+^p`31)`5$5){v=$5.`xVars;e=$5.`x^Qs}}v=v?v+`G+^Z+`G+^Z2:''`5v@L`Lv,`G,'is^ut))s[k]`e`5t`t$k'&&e)@Xs.fs(s[k],e)}s[m]=0`5t`t^K`ID`6`cID`Ivid`6^I@Bg'"
+"`d`Bt`t`X@Br'`d`Bt`tvmk`Ivmt`6@E@Bce'`5s[k]&&s[k]`D()`tAUTO')@X'ISO8859-1';`Bs[k]^Eem==2)@X'UTF-8'}`Bt`t`c`ispace`Ins`6c`V`Icdp`6`u@7`Icl`6^o`Ivvp`6@H`Icc`6$R`Ich`6#0@6ID`Ixact`6@r`Iv0`6^U`Is`6^2`I"
+"c`6`o^k`Ij`6`f`Iv`6`u@9`Ik`6`z@2`Ibw`6`z^b`Ibh`6`g`Ict`6^x`Ihp`6p^J`Ip';`B$tx)`Hb`tprop`Ic$J;`Bb`teVar`Iv$J;`Bb`thier@Bh$J`d`ls[k]@W$H`N`i'@W$H`N^M')$6+='&'+q+'`Ps[k]);`2''`Ahav`0`1;$6`e;`L^a,`G,'h"
+"av^u0);`2$6`Alnf`0^c`8^r`8:'';`Kte=t`4@e`5t@We>0&&h`4t`3te$O>=0)`2t`30,te);`2''`Aln`0h`1,n=s.`N`is`5n)`2`Ln,`G,'ln^uh);`2''`Altdf`0^c`8^r`8:'';`Kqi=h`4'?^Rh=qi>=0?h`30,qi):h`5#Ah`3h`C-(t`C$O`t.'+t)"
+"`21;`20`Altef`0^c`8^r`8:''`5#Ah`4t)>=0)`21;`20`Alt`0h`1,lft=s.`N^PFile^Ms,lef=s.`NEx`n,@s=s.`NIn`n;@s=@s?@s:`F`J^5^w;h=h`8`5s.`x^PLinks&&lf#A`Llft,`G$yd^uh))`2'd'`5s.`x@D&&h`30,1)$H# '^mlef||@s)^m!"
+"lef||`Llef,`G$ye^uh))^m!@s$e`L@s,`G$ye^uh)))`2'e';`2''`Alc`7'e`G`Ks=`9,b=^X(^S,\"`k\"`R@G=@w^S`Rt(`R@G=0`5b)`2^S$f`2@p'`Rbc`7'e`G`Ks=`9,f,^d`5s.d^Ed.all^Ed.all.cppXYctnr)$h;^D=e@I`S?e@I`S:e$T;^d`7"
+"\"s\",\"`Ke@O@t^D^m^D.tag`i||^D^0`S||^D^0Node))s.t()`b}\");^d(s`Reo=0'`Roh`0o`1,l=`F`J,h=o^h?o^h:'',i,j,k,p;i=h`4':^Rj=h`4'?^Rk=h`4'/')`5h^mi<0||(j>=0&&i>j)||(k>=0&&i>k))$Lo`Y&&o`Y`C>1?o`Y:(l`Y?l`Y"
+"`j;i=l.path^w^6/^Rh=(p?p+'//'`j+(o^5?o^5:(l^5?l^5`j)+(h`30,1)$H/'?l.path^w`30,i<0?0:i@f'`j+h}`2h`Aot`0o){`Kt=o.tag`i;t=t@W`D?t`D$M`5t`tSHAPE')t`e`5t`Ht`tINPUT'&&@4&&@4`D)t=@4`D();`B!#Ao^h)t='A';}`2"
+"t`Aoid`0o`1,^G,p,c,n`e,x=0`5t@L`y$Lo`Y;c=o.`k`5o^h^mt`tA$I`tAREA')^m!c$ep||p`8`4'`o$d0))n@k`Bc@g`vs.rep(`vs.rep$Gc,\"\\r@h\"\\n@h\"\\t@h' `G^Rx=2}`B$U^mt`tINPUT$I`tSUBMIT')@g$U;x=3}`Bo@I@W`tIMAGE')"
+"n=o@I`5n){`y=^jn@v;`yt=x}}`2`y`Arqf`0t,un`1,e=t`4@e,u=e>=0?`G+t`30,e)+`G:'';`2u&&u`4`G+un+`G)>=0?@Yt`3e$O:''`Arq`0un`1,c=un`4`G),v=^V@Nsq'),q`e`5c<0)`2`Lv,'&`Grq^u$S;`2`L$p`G,'rq',0)`Asqp`0t,a`1,e="
+"t`4@e,q=e<0?'':@Yt`3e+1)`Rsqq[q]`e`5e>=0)`Lt`30,e),`G@b`20`Asqs`0$pq`1;^7u[u@oq;`20`Asq`0q`1,k=@Nsq',v=^Vk),x,c=0;^7q`E;^7u`E;^7q[q]`e;`Lv,'&`Gsqp',0);`L^C,`G@bv`e;^B@x^7u`Q)^7q[^7u[x]]+=(^7q[^7u[x"
+"]]?`G`j+x;^B@x^7q`Q&&^7q[x]^mx==q||c<2)){v+=(v#8'`j+^7q[x]+'`Px);c++}`2^Wk,v,0)`Awdl`7'e`G`Ks=`9,r=@p,b=^X(`F,\"^v\"),i,o,oc`5b)r=^S$f^Bi=0;i<s.d.`Ns`C@A{o=s.d.`Ns[i];oc=o.`k?\"\"+o.`k:\"\"`5(oc`4$"
+"B<0||oc`4\"@0oc(\")>=0)&&oc`4$W<0)^X(o,\"`k\",0,s.lc);}`2r^R`Fs`0`1`5`O>3^m!^Y$es.^f||`O#E`Hs.b^E$D^Q)s.$D^Q('`k',s.bc);`Bs.b^Eb.add^Q$A)s.b.add^Q$A('clic$a,false);`m^X(`F,'^v',0,`Fl)}`Avs`0x`1,v=s"
+".`c^N,g=s.`c^N#5k=@Nvsn^n^C+(g?'^ng`j,n=^Vk),e`Z,y=e.g@K);e.s@Ky+10@l1900:0))`5v){v*=100`5!n`H!^Wk,x,e))`20;n=x`ln%10000>v)`20}`21`Adyasmf`0t,m`H#Am&&m`4t)>=0)`21;`20`Adyasf`0t,m`1,i=t?t`4@e:-1,n,x"
+"`5i>=0&&m){`Kn=t`30,i),x=t`3i+1)`5`Lx,`G,'dyasm^um))`2n}`20`Auns`0`1,x=s.`MSele@6,l=s.`MList,m=s.`MM$s,n,i;^C=^C`8`5x&&l`H!m)m=`F`J^5`5!m.toLowerCase)m`e+m;l=l`8;m=m`8;n=`Ll,';`Gdyas^um)`5n)^C=n}i="
+"^C`4`G`Rfun=i<0?^C:^C`30,i)`Asa`0un`1;^C=un`5!@S)@S=un;`B(`G+@S+`G)`4$S<0)@S+=`G+un;^Cs()`Am_i`0n,a`1,m,f=n`30,1),r,l,i`5!`Wl)`Wl`E`5!`Wnl)`Wnl`U;m=`Wl[n]`5!a&&m&&m._e@Lm^s)`Wa(n)`5!m){m`E,m._c=@Nm"
+"';m^sn=`F`hn;m^sl=s^sl;m^sl[m^s@om;`F`hn++;m.s=s;m._n=n;m._l`U('_c`G_in`G_il`G_i`G_e`G_d`G_dl`Gs`Gn`G_r`G_g`G_g1`G_t`G_t1`G_x`G_x1`G_l'`Rm_l[@om;`Wnl[`Wnl`C]=n}`Bm._r@Lm._m){r=m._r;r._m=m;l=m._l;^B"
+"i=0;i<l`C@A@tm[l[i]])r[l[i]]=m[l[i]];r^sl[r^s@or;m=`Wl[@or`lf==f`D())s[@om;`2m`Am_a`7'n`Gg`G@t!g)g=#2;`Ks=`9,c=s[$V,m,x,f=0`5!c)c=`F$u$V`5c&&s_d)s[g]`7\"s\",s_ft(s_d(c)));x=s[g]`5!x)x=`F$ug];m=`Wi("
+"n,1)`5x){m^s=f=1`5(\"\"+x)`4\"fun@6\")>=0)x(s);`m`Wm(\"x\",n,x)}m=`Wi(n,1)`5@Zl)@Zl=@Z=0;`pt();`2f'`Rm_m`0t,n,d){t='^nt;`Ks=^S,i,x,m,f='^nt`5`Wl&&`Wnl)^Bi=0;i<`Wnl`C@A{x=`Wnl[i]`5!n||x==n){m=`Wi(x)"
+"`5m[t]`Ht`t_d')`21`5d)m#Fd);`mm#F)`lm[t+1]@Lm[f]`Hd)$gd);`m$g)}m[f]=1}}`20`AloadModule`0n,u,d,l`1,m,i=n`4':'),g=i<0?#2:n`3i+1),o=0,f,c=s.h?s.h:s.b,^d`5i>=0)n=n`30,i);m=`Wi(n)`5(l$e`Wa(n,g))&&u^Ed&&"
+"c^E$E`S`Hd){@Z=1;@Zl=1`l@3)u=`vu,@u:`Ghttps:^Rf`7'e`G`9.m_a(\"$J+'\",\"'+g+'\")^R^d`7's`Gf`Gu`Gc`G`Ke,o=0@Oo=s.$E`S(\"script\")`5o){@4=\"text/`o\"`5f)o.^v=f;o@I=u;c.appendChild(o)}`bo=0}`2o^Ro=^d(s"
+",f,u,c)}`mm=`Wi(n);m._e=1;`2m`Avo1`0t,a`Ha[t]||$P)^S#Da[t]`Avo2`0t,a`H#H{a#D^S[t]`5#H$P=1}`Adlt`7'`Ks=`9,d`Z,i,vo,f=0`5`pl)^Bi=0;i<`pl`C@A{vo=`pl[i]`5vo`H!`Wm(\"d\")||d`T-$C>=^8){`pl[i]=0;s.t(@i}`m"
+"f=1}`l`pi)clear@5`pi`Rdli=0`5f`H!`pi)`pi=set@5`pt,^8)}`m`pl=0'`Rdl`0vo`1,d`Z`5!@ivo`E;`L^9,`G$72',@i;$C=d`T`5!`pl)`pl`U;`pl[`pl`C]=vo`5!^8)^8=250;`pt()`At`0vo,id`1,trk=1,tm`Z,sed=Math&&@P$l?@P$r@P$"
+"l()*10000000000000):tm`T,@q='s'+@P$rtm`T/10800000)%10+sed,y=tm.g@K),vt=tm.getDate(@f`sMonth(@f'@ly+1900:y)+' `sHour$K:`sMinute$K:`sSecond$K `sDay()+' `sTimezoneO@z(),^d,^T=s.g^T(),ta`e,q`e,qs`e,$m`"
+"e,vb`E#1^9`Runs()`5!s.td){`Ktl=^T`J,a,o,i,x`e,c`e,v`e,p`e,bw`e,bh`e,^H0',k=^W@Ncc`G@p',0^q,hp`e,ct`e,pn=0,ps`5^3&&^3.prototype){^H1'`5j.m$s){^H2'`5tm.setUTCDate){^H3'`5^Y^E^f&&`O#E^H4'`5pn.toPrecis"
+"ion){^H5';a`U`5a.forEach){^H6';i=0;o`E;^d`7'o`G`Ke,i=0@Oi=new Iterator(o)`b}`2i^Ri=^d(o)`5i&&i.next)^H7'}}}}`l`O>=4)x=^iwidth+'x'+^i$j`5s.isns||s.^e`H`O>=3$Q`f(^q`5`O>=4){c=^ipixelDepth;bw=`F$z@2;b"
+"h=`F$z^b}}$8=s.n.p^J}`B^Y`H`O>=4$Q`f(^q;c=^i^2`5`O#E{bw=s.d.^L`S.o@z@2;bh=s.d.^L`S.o@z^b`5!s.^f^Eb){^d`7's`Gtl`G`Ke,hp=0`qh$b\");hp=s.b.isH$b(tl)?\"Y\":\"N\"`b}`2hp^Rhp=^d(s,tl);^d`7's`G`Ke,ct=0`qc"
+"lientCaps\");ct=s.b.`g`b}`2ct^Rct=^d(s)}}}`mr`e`l$8)^4pn<$8`C&&pn<30){ps=^j$8[pn].^w@v#9`5p`4ps)<0)p+=ps;pn++}s.^U=x;s.^2=c;s.`o^k=j;s.`f=v;s.`u@9=k;s.`z@2=bw;s.`z^b=bh;s.`g=ct;s.^x=hp;s.p^J=p;s.td"
+"=1`l@i{`L^9,`G$72',vb);`L^9,`G$71',@i`ls.useP^J)s.doP^J(s);`Kl=`F`J,r=^T.^L.`X`5!s.^I)s.^I=l^h?l^h:l`5!s.`X@Ls._1_`X#C`X=r;s._1_`X=1}`Wm('g')`5(vo&&$C)$e`Wm('d')`Hs.@G||^D){`Ko=^D?^D:s.@G`5!o)`2'';"
+"`Kp=$4'#4`i'),w=1,^G,@a,x=`yt,h,l,i,oc`5^D&&o==^D){^4o@Ln@W$HBODY'){o=o^0`S?o^0`S:o^0Node`5!o)`2'';^G;@a;x=`yt}oc=o.`k?''+o.`k:''`5(oc`4$B>=0&&oc`4\"@0oc(\")<0)||oc`4$W>=0)`2''}ta=n?o$T:1;h@ki=h`4'"
+"?^Rh=s.`N@c^3||i<0?h:h`30,i);l=s.`N`i?s.`N`i:s.ln(h);t=s.`N^M?s.`N^M`8:s.lt(h)`5t^mh||l))q+=$2=@G^n(t`td$I`te'?@y(t):'o')+(h?$2v1`Ph)`j+(l?$2v2`Pl)`j;`mtrk=0`5s.`x@T`H!p$L$4'^I^Rw=0}^G;i=o.sourceIn"
+"dex`5$3'^y')@g$3'^y^Rx=1;i=1`lp&&n@W)qs='&pid`P^jp,255))+(w#8p#3w`j+'&oid`P^jn@v)+(x#8o#3x`j+'&ot`Pt)+(i#8oi='+i`j}`l!trk@Lqs)`2'';@j=s.vs(sed)`5trk`H@j)$m=s.mr(@q,(vt#8t`Pvt)`j+s.hav()+q+(qs?qs:s."
+"rq(^C)),0,id,ta);qs`e;`Wm('t')`5s.p_r)s.p_r(`R`X`e}^7(qs);^z`p(@i;`l@i`L^9,`G$71',vb`R@G=^D=s.`N`i=s.`N^M=`F@0^y=s.ppu=^p=^pv1=^pv2=^pv3`e`5$x)`F@0@G=`F@0eo=`F@0`N`i=`F@0`N^M`e`5!id@Ls.tc#Ctc=1;s.f"
+"lush`a()}`2$m`Atl`0o,t,n,vo`1;s.@G=@wo`R`N^M=t;s.`N`i=n;s.t(@i}`5pg){`F@0co`0o){`K@J\"_\",1,#B`2@wo)`Awd@0gs`0$S{`K@J$p1,#B`2s.t()`Awd@0dc`0$S{`K@J$p#B`2s.t()}}@3=(`F`J`Y`8`4@us@d0`Rd=^L;s.b=s.d.bo"
+"dy`5$c`S#7`i#Ch=$c`S#7`i('HEAD')`5s.h)s.h=s.h[0]}s.n=navigator;s.u=s.n.userAgent;@R=s.u`4'N$X6/^R`Kapn$F`i,v$F^k,ie=v`4$n'),o=s.u`4'@M '),i`5v`4'@M@d0||o>0)apn='@M';^Y$9`tMicrosoft Internet Explore"
+"r'`Risns$9`tN$X'`R^e$9`t@M'`R^f=(s.u`4'Mac@d0)`5o>0)`O`rs.u`3o+6));`Bie>0){`O=^Fi=v`3ie+5))`5`O>3)`O`ri)}`B@R>0)`O`rs.u`3@R+10));`m`O`rv`Rem=0`5^3#6^l){i=^g^3#6^l(256))`D(`Rem=(i`t%C4%80'?2:(i`t%U0"
+"100'?1:0))}s.sa(un`Rvl_l='^K,`cID,vmk,ppu,@E,`c`ispace,c`V,`u@7,#4`i,^I,`X,@H';^a=^Z+',^o,$R,server,#4^M,#0@6ID,purchaseID,@r,state,zip,$k,products,`N`i,`N^M';^B`Kn=1;n<51;n++)^a+=',prop$J+',eVar$J"
+"+',hier$J;^Z2=',^U,^2,`o^k,`f,`u@9,`z@2,`z^b,`g,^x,pe$q1$q2$q3,p^J';^a+=^Z2;^9=^a+',$i,`c^N,`c^N#5`MSele@6,`MList,`MM$s,`x^PLinks,`x@D,`x@T,`N@c^3,`N^PFile^Ms,`NEx`n,`NIn`n,`N@UVa$o`N@U^Qs,`N`is,@G"
+",eo';$x=pg#1^9)`5!ss)`Fs()",
w=window,l=w.s_c_il,n=navigator,u=n.userAgent,v=n.appVersion,e=v.indexOf('MSIE '),m=u.indexOf('Netscape6/'),a,i,s;if(un){un=un.toLowerCase();if(l)for(i=0;i<l.length;i++){s=l[i];if(s._c=='s_c'){if(s.oun==un)return s;else if(s.fs&&s.sa&&s.fs(s.oun,un)){s.sa(un);return s}}}}
w.s_r=new Function("x","o","n","var i=x.indexOf(o);if(i>=0&&x.split)x=(x.split(o)).join(n);else while(i>=0){x=x.substring(0,i)+n+x.substring(i+o.length);i=x.indexOf(o)}return x");
w.s_d=new Function("x","var t='`^@$#',l='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',d,n=0,b,k,w,i=x.lastIndexOf('~~');if(i>0){d=x.substring(0,i);x=x.substring(i+2);while(d){w=d;i"
+"=d.indexOf('~');if(i>0){w=d.substring(0,i);d=d.substring(i+1)}else d='';b=(n-n%62)/62;k=n-b*62;k=t.substring(b,b+1)+l.substring(k,k+1);x=s_r(x,k,w);n++}for(i=0;i<5;i++){w=t.substring(i,i+1);x=s_r(x"
+",w+' ',w)}}return x");
w.s_fe=new Function("c","return s_r(s_r(s_r(c,'\\\\','\\\\\\\\'),'\"','\\\\\"'),\"\\n\",\"\\\\n\")");
w.s_fa=new Function("f","var s=f.indexOf('(')+1,e=f.indexOf(')'),a='',c;while(s>=0&&s<e){c=f.substring(s,s+1);if(c==',')a+='\",\"';else if((\"\\n\\r\\t \").indexOf(c)<0)a+=c;s++}return a?'\"'+a+'\"':"
+"a");
w.s_ft=new Function("c","c+='';var s,e,o,a,d,q,f,h,x;s=c.indexOf('=function(');while(s>=0){s++;d=1;q='';x=0;f=c.substring(s);a=s_fa(f);e=o=c.indexOf('{',s);e++;while(d>0){h=c.substring(e,e+1);if(q){i"
+"f(h==q&&!x)q='';if(h=='\\\\')x=x?0:1;else x=0}else{if(h=='\"'||h==\"'\")q=h;if(h=='{')d++;if(h=='}')d--}if(d>0)e++}c=c.substring(0,s)+'new Function('+(a?a+',':'')+'\"'+s_fe(c.substring(o+1,e))+'\")"
+"'+c.substring(e+1);s=c.indexOf('=function(')}return c;");
c=s_d(c);if(e>0){a=parseInt(i=v.substring(e+5));if(a>3)a=parseFloat(i)}else if(m>0)a=parseFloat(u.substring(m+10));else a=parseFloat(v);if(a>=5&&v.indexOf('Opera')<0&&u.indexOf('Opera')<0){w.s_c=new Function("un","pg","ss","var s=this;"+c);return new s_c(un,pg,ss)}else s=new Function("un","pg","ss","var s=new Object;"+s_ft(c)+";return s");return s(un,pg,ss)}


var s_account="triseptsolutionsvoy";
var s=s_gi(s_account);

function sendSearch(pType, sDest,sOrigin, sDestDate, sReturnDate, sAdults, sChildren, sGuests){
         //alert('inside sendSearch combine restool');
        s.linkTrackEvents = 'event16'; 
        s.linkTrackVars = 'prop2,prop3,prop4,prop5,prop6,prop7,prop8,prop9,events'; 
        s.events = 'event16'; 
        s.prop2	=	pType
        s.prop3	=	sOrigin
        s.prop4	=	sDest
        s.prop5	=	sDestDate
        s.prop6	=	sReturnDate
        s.prop7	=	sAdults
        s.prop8	=	sChildren
        s.prop9	= sGuests
 
        void(s.tl(this, 'o'));
        return;
    }

function updateNearbyEntities(){      
     var citycode=GetDestCityCode(rt.Des.value);
    if((citycode!="")&&(rt.Landmark.selectedIndex>0)){
        Trisept.UI.Web.Search.Components.Restool.RestoolConfigurationComponent.GetNearbyEntities(VenCode, PkgCode, citycode, rt.Landmark.selectedIndex, OnCompleteNearbyEntities, OnError);    
    }else{
        if(rt.Landmark.selectedIndex==0){
            toggleLandmarkDropDown(0);
        }else{
            toggleLandmarkDropDown(1);
        }        
        toggleNearbyEntitiesDropDown(1);
    }
}
function NearbyEntitiesTextChange(){
if(rt.NearbyEntities != null){
rt.NearbyEntities.disabled = true;
updateNearbyEntitiesTextChange();
}

}
function updateNearbyEntitiesTextChange(){      
    var citycode=GetDestCityCode(rt.Des.value);
    if((citycode!="")&&(rt.Landmark.selectedIndex>0)){        
        Trisept.UI.Web.Search.Components.Restool.RestoolConfigurationComponent.GetNearbyEntities(VenCode, PkgCode, citycode, rt.Landmark.selectedIndex, OnCompleteNearbyEntities, OnError);            
    }else{
        rt.NearbyEntities.options[0] = new Option("","");
        toggleNearbyEntitiesDropDown(1);
    }
}

var hasNEBC=false;
var lspf;
function updateExternalNearbyEntities(vc, pc, dest){    
    if((dest!="")&&(hrr.NearbyEntities.length<=1)&&(!hasNEBC)){          
        hasNEBC=true;        
        
        lspf = document.getElementById("landmarkSearchProgressField");
        if ( (lspf != null) && (lspf != undefined) ){lspf.style.display="block";}
        Trisept.UI.Web.Search.Components.Restool.RestoolConfigurationComponent.GetNearbyEntities(vc, pc, dest, "", OnCompleteExternalNearbyEntities, OnError);                                        
    }else{        
        return;
    }    
}

function valCity(val, c){
    var val = val.toUpperCase();
    for (var i = 0; i < c.length; i++){
	    var city = c[i];
	    if (((city.C == val) && (rt.isShortDescription != 1)) || (city.D.toUpperCase() == val) || (city.LD.toUpperCase() == val)){
	        return city;
	    }
	}
	return null;
}

function valDateTest(ctrl, f, ctrlToUpd){
    var a = parseVaxDate(ctrl.value.trim());
    if (a != null){
        var d = a.format(f);
        ctrl.value = d;

        if (ctrlToUpd != null){
            for (var i = 0; i < ctrlToUpd.length; i++){
                if(ctrlToUpd[i] != null){
                    ctrlToUpd[i].value = d;
                }
            }
        }
    
     if(rt.Ret.id == ctrl.id)
      {
        returnDateDayName();
      }
   
     if (ctrl.arrCtrlsToAddDayLength != null){
        if(rt.Dep.id == ctrl.id)
        {
          departureDateDayName();
        }  
       
        var a = new Date(ctrl.value);
        a.setDate(a.getDate() + rt.Length); 
        var d = a.format(ctrl.format);
         for (var i = 0; i < ctrl.arrCtrlsToAddDayLength.length; i++){
            if(ctrl.arrCtrlsToAddDayLength[i] != null)
            {
                ctrl.arrCtrlsToAddDayLength[i].value = d;
                if(rt.Ret.id == ctrl.arrCtrlsToAddDayLength[i].id)
                {
                    returnDateDayName();
                }             
            }
        }
    }
  }  
  else
  {
        if(rt.Dep.id == ctrl.id)
        {
            rt.departureDateDayNameLabel.innerHTML = "";
        }
        if(rt.Ret.id == ctrl.id)
        {
            rt.returnDateDayNameLabel.innerHTML = "";
        }        
  }
}


function dateselectvalidations(trgt)
{
 if(rt != null)
  {  
     var a = parseVaxDate(trgt.value.trim());
     if(a != null)  
       {
            if(rt.Length == null)
             rt.Length=0;
            
             if (trgt.arrCtrlsToAddDayLength != null){
                var dt=new Date(a);
                dt.setDate(a.getDate() + rt.Length); 
                var d = dt.localeFormat(trgt.format);
                 for (var i = 0; i < trgt.arrCtrlsToAddDayLength.length; i++){
                    if(trgt.arrCtrlsToAddDayLength[i] != null)
                    {
                        trgt.arrCtrlsToAddDayLength[i].value = d;
                        if(rt.Ret.id == trgt.arrCtrlsToAddDayLength[i].id)
                        {
                            returnDateDayName(rt.Ret.value);
                        }     
                    }
                }
            }
      } 
      
         if(rt.Dep != null)
         if(rt.Dep.id == trgt.id)
            {
                departureDateDayName(rt.Dep.value);
            }  
               
           if(rt.Ret != null)     
            if(rt.Ret.id == trgt.id)
            {
                returnDateDayName(rt.Ret.value);
            }
   }     
}


function departureDateDayName(depDateValue)
{
    if(rt.departureDateDayNameLabel == null || depDateValue == null) return;
    var a = parseVaxDate(depDateValue);
    if(a != null)
    {
        rt.departureDateDayNameLabel.innerHTML = a.localeFormat("dddd");
    }
    else
    {
      rt.departureDateDayNameLabel.innerHTML = "";
    }
}

function returnDateDayName(retDateValue)
{
    if(rt.returnDateDayNameLabel == null || retDateValue == null) return;
    var a = parseVaxDate(retDateValue);
    if(a != null)
    {
        rt.returnDateDayNameLabel.innerHTML = a.localeFormat("dddd");
    }
    else
    {
      rt.returnDateDayNameLabel.innerHTML = "";
    }
}

function ViewHoBrnds(href){
     if (rt.HoBrnds != null){
        OnCompleteHoBrnds(rt.HoBrnds, href);
    }else{
       // Trisept.TB.Vax.WebView.VaxAjax.GetHotelBrands(rt.Ven.value, OnCompleteHoBrnds, OnError, href);
    }
}
function ViewVehBrnds(href){
    if (rt.VehBrnds != null){
        OnCompleteVehBrnds(rt.VehBrnds, href);
    }else{
       // Trisept.TB.Vax.WebView.VaxAjax.GetVehicleBrands(rt.Ven.value, OnCompleteVehBrnds, OnError, href);
    }
}

function OnCompleteHoBrnds(args, href){
    rt.HoBrnds = args;
    viewOptions(rt.HoBrnd, href,rt.HoBrnds)
}

function OnCompleteVehBrnds(args, href){
    rt.VehBrnds = args;
    viewOptions(rt.VehBrnd, href,rt.VehBrnds)
}


function serviceWaitScreen(){   
    if (rt.setWS > 0){
        if(document.getElementById("smartSearchProgressField").style.display == "none"){
            document.getElementById("smartSearchProgressField").style.display = "block";
            }
     }else {
         if(document.getElementById("smartSearchProgressField").style.display == "block"){
                document.getElementById("smartSearchProgressField").style.display = "none";
                }
            }
    }

function updateOrigins(){  
    if(rt.Org != null)  
    {     
    GetVendorPackageCode();
    var cityCode = '';
        if(rt.Des != null){
            if ((rt.Des.value !="") && (rt.DestIndex == -1)){    
                if(rt.isShortDescription == 0){
                    cityCode = GetCityCode(rt.Des.value);
                   }
                }
            }  
          
        if(rt.DestIndex >= 0){
            cityCode = rt.Dests[rt.DestIndex].C ;
            }
    if(rt.isSupportOrgDestPairingOffered == 1)
            {  
               rt.setWS = rt.setWS + 1;
               serviceWaitScreen()    
            }  
    var usrc = "O";
    if(cityCode == "" && rt.isShortDescription == 1)
    usrc = "OE";    
    ac1.setKeywords([]);       
    Trisept.UI.Web.Search.Components.Restool.RestoolConfigurationComponent.GetOriginMarkets(VenCode, PkgCode, cityCode, OnCompleteOrgsAndDests, OnError, usrc);
    }
}

function OnCompleteOrgsAndDests(args,usrc){
    if(usrc == "O") {
        rt.Orgs=rt.OrgsDescConcat(args);
        ac1.setKeywords(rt.Orgs);
        rt.OrgIndex = valCityIndex(rt.Org.value, rt.Orgs);
        }
    else if(usrc == "D") {
        rt.Dests=rt.OrgsDescConcat(args);
        ac2.setKeywords(rt.Dests); 
        rt.DestIndex = valCityIndex(rt.Des.value, rt.Dests);
        }
    else if(usrc == "OE") {
        rt.Orgs=rt.OrgsDescConcat(args);
        ac1.setKeywords(rt.Orgs);
        }
    else if(usrc == "DE") {
        rt.Dests=rt.OrgsDescConcat(args);
        ac2.setKeywords(rt.Dests); 
        }
     if(rt.isSupportOrgDestPairingOffered == 1)
            {
             rt.setWS = rt.setWS - 1;   
             serviceWaitScreen() 
            }  
      
    if ((rt.isShortDescription == 1) && (rt.Org != null)&& (rt.Des != null) && (rt.isSupportOrgDestPairingOffered == 1)){
        if(rt.Orgs.length > 0 && rt.Dests.length > 0 && rt.Org.value.trim() == "" && rt.Des.value.trim()!= "" && rt.DestIndex == -1 ){
            rt.DestIndex = valCityIndex(rt.Des.value, rt.Dests);
            updateOrigins();
            
            updateLocation();
            //updateNearbyEntities();
            if ((rt.NearbyEntities != null)&&(rt.Landmark != null)&&(rt.NearbyEntities.disabled)) {        
                updateNearbyEntities();}
            //updateNearbyEntitiesTextChange();
            }
           else if(rt.Org.value.trim() != "" && rt.Des.value.trim()== "" && rt.Orgs.length > 0 && rt.Dests.length > 0 && rt.OrgIndex  == -1 ){
            rt.OrgIndex = valCityIndex(rt.Org.value, rt.Orgs);
            updateDestinations();
            } 
            else if(rt.Orgs.length > 0 && rt.Dests.length > 0 ){
                if ((rt.Org.value !="") && (rt.Des.value != "") && (rt.OrgIndex  == -1) && (rt.DestIndex == -1) ){               
                    rt.OrgIndex = valCityIndex(rt.Org.value, rt.Orgs);
                    rt.DestIndex = valCityIndex(rt.Des.value, rt.Dests);
                    if (rt.DestIndex >= 0 ){ 
                    updateOrigins();
                    updateLocation();
                    if ((rt.NearbyEntities != null)&&(rt.Landmark != null)&&(rt.NearbyEntities.disabled)) {        
                        updateNearbyEntities();}
                    //updateNearbyEntitiesTextChange(); 
                    }
                    if (rt.OrgIndex >= 0 ){ 
                        updateDestinations();}
                    }
            }
        }       
}

function updateDestinations(){
    if(rt.Des != null)  
    {
    GetVendorPackageCode();
    var cityCode = '';
        if(rt.Org != null){
            if ((rt.Org.value !="") && (rt.OrgIndex == -1)){    
                   if(rt.isShortDescription == 0){
                   cityCode = GetCityCode(rt.Org.value);
                    }
                }  
            }    
        if(rt.OrgIndex >= 0){
            cityCode = rt.Orgs[rt.OrgIndex].C ;
            }
    if(rt.isSupportOrgDestPairingOffered == 1)
            {
                rt.setWS = rt.setWS + 1;   
                serviceWaitScreen()
            }
    
    var usrc = "D";
    if(cityCode == "" && rt.isShortDescription == 1)
      usrc = "DE";
    ac2.setKeywords([]);       
    Trisept.UI.Web.Search.Components.Restool.RestoolConfigurationComponent.GetDestinationMarkets(VenCode, PkgCode, cityCode, OnCompleteOrgsAndDests, OnError, usrc );
    }
}

function updateSmartSearchOrigins()
{
  if(rt.Org != null)  
   { 
        GetVendorPackageCode();
        Trisept.UI.Web.Search.Components.Restool.RestoolConfigurationComponent.GetSmartSearchOrigins(VenCode, PkgCode, rt.Org.value, OnCompleteSmartOrgs, OnError);
   }
   
 }
   
function updateSmartSearchDestinations()
{
   if(rt.Des != null)  
     { 
           GetVendorPackageCode();
           Trisept.UI.Web.Search.Components.Restool.RestoolConfigurationComponent.GetSmartSearchDestinations(VenCode, PkgCode, rt.Des.value, OnCompleteSmartDests, OnError);
     }
}

function toggleLandmarkDropDown(value){
    if (value==0){        
        rt.NearbyEntities.length=0;
        rt.Landmark.disabled=false;                 
    }else{
        rt.NearbyEntities.length=0;
        rt.Landmark.selectedIndex=0;
        rt.Landmark.disabled=true;        
    }
}

function toggleNearbyEntitiesDropDown(value){
    if (value==0){                
        rt.NearbyEntities.disabled=false;
    }else{           
        rt.NearbyEntities.selectedIndex=0;
        rt.NearbyEntities.disabled=true;
    }
}

function updateLocation()
{      
    if(rt.VehBrnd!=null)
    {
        var citycode = GetDestCityCode(rt.Des.value);  
        rt.PiUpLoc.length = 0;
        rt.DrOffLoc.length = 0;                  
        if(citycode!='' && rt.VehBrnd.value!='~')
        {
            GetVendorPackageCode();
            rt.PiUpLocErrorMsg = 1;              
            updatePickUpLocation(citycode);
            updateDropOffLocation(citycode);            
        }
        else
        {
            rt.PiUpLoc.disabled = true;
            rt.DrOffLoc.disabled = true;            
        }
    }
}

function updatePickUpLocation(destinationcitycode){
    Trisept.UI.Web.Search.Components.Restool.RestoolConfigurationComponent.GetVehicalPickUpLocation(VenCode, PkgCode, destinationcitycode, rt.VehBrnd.value,  OnCompletePickUpLoc, OnErrorLocation);
}

function updateDropOffLocation(destinationcitycode){
    Trisept.UI.Web.Search.Components.Restool.RestoolConfigurationComponent.GetVehicalDropOffLocation(VenCode, PkgCode, destinationcitycode, rt.VehBrnd.value,  OnCompleteDropOffLoc, OnErrorLocation);
}

function GetCityCode(str)
{
   if(str.indexOf('(') != -1 && str.indexOf(')') != -1)
    {
        var c = str.split('(');
        str = c[1];
        c = str.split(')');
        str = c[0].replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
        return str;
    }
    else
    {
        return "";    
    }
        
}


function GetDestCityCode(str){
    if(rt.isShortDescription == 1 && (rt.DestIndex > -1) ){
          return rt.Dests[rt.DestIndex].C;
           }
    else   {
          return GetCityCode(str);
           }   
    }

var airportcode = new Array();
function OnCompleteSmartOrgs(arg){
    rt.SmartOrgs = rt.SmartConcat(arg);
    toggleSmartSearchWait();
    smartSearchList(rt.Org,rt.SmartOrgs,airportcode);
    rt.Org.disabled = false;
    rt.Des.disabled = false;
}
 
function OnCompleteSmartDests(arg){
   rt.SmartDests = rt.SmartConcat(arg);
   toggleSmartSearchWait();
   smartSearchList(rt.Des,rt.SmartDests,airportcode);
   if(rt.Org !=null)
   rt.Org.disabled = false;
   rt.Des.disabled = false;
}

function OnCompletePickUpLoc(arg)
{
    arg = arg.objSort("D","C");
    for(var i=0;i<arg.length;i++)
    {   
        if(arg[i].C.indexOf("-Y") != -1)
        {
        rt.PiUpLoc.options[i] = new Option(arg[i].D,arg[i].C.substring(0,arg[i].C.indexOf("-Y")));
        rt.PiUpLoc.options[i].selected=true;
        }
        else
        {
        rt.PiUpLoc.options[i] = new Option(arg[i].D,arg[i].C);
        }
    }  
    
    if(rt.PiUpLoc.options.length>0)
       rt.PiUpLoc.disabled = false;
    else
       rt.PiUpLoc.disabled = true;
}

function OnCompleteDropOffLoc(arg)
{
    arg = arg.objSort("D","C");
    for(var i=0;i<arg.length;i++)
    {   
        if(arg[i].C.indexOf("-Y") != -1)
        {
        rt.DrOffLoc.options[i] = new Option(arg[i].D,arg[i].C.substring(0,arg[i].C.indexOf("-Y")));
        rt.DrOffLoc.options[i].selected=true;
        }
        else
        {
        rt.DrOffLoc.options[i] = new Option(arg[i].D,arg[i].C);
        }
    }  
    
     if(rt.DrOffLoc.options.length>0)
        rt.DrOffLoc.disabled = false;
     else
        rt.DrOffLoc.disabled = true;        
}

function OnCompleteNearbyEntities(arg){    
    arg = arg.objSort("D","C");
    rt.NearbyEntities.length=0;  
    var arrEntityLatLong;   
    for(var i=0;i<arg.length;i++)
    {     
        arrEntityLatLong = arg[i].C.split("|");      
        if(arg[i].C.indexOf("-Y") != -1)
        {
            rt.NearbyEntities.options[i] = new Option(arg[i].D,arg[i].C.substring(0,arg[i].C.indexOf("-Y")));
            rt.NearbyEntities.options[i].selected=true;
        }
        else
        {
            
            rt.NearbyEntities.options[i] = new Option(arrEntityLatLong[0],arg[i].C);
        }
    }  
    
    if((arg.length>0) && (rt.Landmark.selectedIndex>0)){       
        toggleNearbyEntitiesDropDown(0);
    }else{        
        rt.NearbyEntities.options[0] = new Option("No entities found", "");
        rt.NearbyEntities.options[0].selected=true;              
        toggleNearbyEntitiesDropDown(1);
    }    
    arg.length=0;
}

function GetBrowserName(){var browser=navigator.appName;return browser;}
function GetBrowserVersion(){var b_version=navigator.appVersion;var version=parseFloat(b_version);return version;}

function OnCompleteExternalNearbyEntities(arg){
    arg = arg.objSort("D","C");    
    hrr.NearbyEntities.length=0;
    var browserName=GetBrowserName();
    if (browserName.indexOf("Microsoft")>=0){hrr.NearbyEntities.options[0] = new Option("Select location","");}else{hrr.NearbyEntities.options[0] = new Option("Location","");}
    hrr.NearbyEntities.options[0].selected=true;         
    
    var lastOptGroup = "";
    var arrEntityLatLong;   
    for(var i=1;i<arg.length;i++)
    {           
        arrEntityLatLong = arg[i].C.split("|");
        if(arg[i].C.indexOf("-Y") != -1)
        {
            hrr.NearbyEntities.options[i] = new Option(arg[i].D,arg[i].C.substring(0,arg[i].C.indexOf("-Y")));
            hrr.NearbyEntities.options[i].selected=true;
        }
        else
        {
            if (arg[i].D != lastOptGroup) {
                var optGroup = document.createElement("optgroup");
                optGroup.label = arg[i].D;
                hrr.NearbyEntities.appendChild(optGroup);                
            }
            //hrr.NearbyEntities.options[i] = new Option(arg[i].D + " - " + arrEntityLatLong[0],arg[i].C);
            hrr.NearbyEntities.options[i] = new Option(arrEntityLatLong[0],arg[i].C);
        }        
        lastOptGroup = arg[i].D;
    }      
    
    if(arg.length<=0){       
        hrr.NearbyEntities.options[0] = new Option("No entities found", "");
        hrr.NearbyEntities.options[0].selected=true;                      
    } 
    if ( (lspf != null) && (lspf != undefined) ){lspf.style.display="none";}          
    arg.length=0;
}

function OnError(arg,usrc){   
    rt.setWS = rt.setWS - 1;   
    serviceWaitScreen();
    //alert("error has occured: " + arg._message);
    }

function OnErrorLocation(arg)
{
    if(rt.PiUpLocErrorMsg == 1){
        rt.PiUpLocErrorMsg = 0;
        rt.DrOffLoc.disabled = true;
        rt.PiUpLoc.disabled = true;
        if ((rt.NearbyEntities != null)&&(rt.Landmark != null)) {
            toggleLandmarkDropDown(1);
            toggleNearbyEntitiesDropDown(1);
        }
        alert(RestoolClientSideErrorMessage.RequiredPickUpLocation);
    }
}

function valLength(ctrl, f, depCtrl, retCtrl, ctrlToUpd){
    var n = Number.parseLocale(ctrl.value.trim());
    if (!isNaN(n)){
        var d = parseVaxDate(depCtrl.value.trim());
        if(d!=null){
            d.setDate((d.getDate() + n));
            var h = d.format(f); 
            retCtrl.value = h;
             if (ctrlToUpd != null){
             for (var i = 0; i < ctrlToUpd.length; i++){
                ctrlToUpd[i].value = h;
}}}}}
function updateLength(lenCtrl, depCtrl, retCtrl){
    if (lenCtrl!=null){
        var a = parseVaxDate(depCtrl.value.trim());
        if (a!=null){
            var b = parseVaxDate(retCtrl.value.trim());
            if(b!=null){
                var diff = b - a;
                if (diff > 0){lenCtrl.value = Math.floor(diff / 86400000);}
                else{lenCtrl.value = 0;}
            }
        }
    }
}


var VenCode;
var PkgCode;
function GetVendorPackageCode()
{  
   if(rt.Ven.id == rt.Pkg.id)
    {          
        var i=0;
        for(i=0;i<rt.Ven.getElementsByTagName("INPUT").length;i++)
        {
           var RbnVenPkg=document.getElementById(rt.Ven.id + '_' + i );
           if(RbnVenPkg.checked==true)
           {
             VenCode=RbnVenPkg.value.substring(0,RbnVenPkg.value.indexOf('-'));
             PkgCode=RbnVenPkg.value.substring(RbnVenPkg.value.indexOf('-') + 1);
             return true;
           }
        }
   } 
  else
   {
       VenCode=rt.Ven.value;
       PkgCode=rt.Pkg.value;
   }
}

function HotelRefineRestool(hoLandmarkSearch){
    this.NearbyEntities = hoLandmarkSearch;
}

/*If you modify this signature, please update both restool and external restool creation script*/
function ResTool(venId, pkgId, orgId, desId, depId, retId, chkInId, chkOutId, hoLandmarkId, hoNearbyEntities, piUpId, drOffId, piUpVehLoc, drOffVehLoc, lenId, hoBrndId, vehBrndId, roomId, depDayNameLabel, retDayNameLabel, isFromExternalPost, isSmartSearchOffered,isSupportOrgDestPairingOffered ,isShortDescription){
    this.Ven = venId;
    this.Pkg = pkgId;
    this.Org = orgId;
    this.Orgs = new Array();
    this.Des = desId;
    this.Des.onkeyup = NearbyEntitiesTextChange;
    this.Dests = new Array();
    this.Dep = depId;
    this.Ret = retId;
    this.ChkIn = chkInId;
    this.ChkOut = chkOutId;
    this.HoBrnd = hoBrndId;
    this.Landmark = hoLandmarkId;
    this.NearbyEntities = hoNearbyEntities;
    this.HoBrnds = null;
    this.PiUp = piUpId;
    this.DrOff = drOffId;
    this.PiUpLoc = piUpVehLoc;
    this.DrOffLoc = drOffVehLoc;    
    this.VehBrnd = vehBrndId;
    this.VehBrnds = null;
    this.Len = lenId;
    this.Length = 3;//calculateLength(parseVaxDate(this.Dep.value.trim()), parseVaxDate(this.Ret.value.trim()));
    this.IsFromExternalPost = isFromExternalPost;
    this.Room = roomId;
    
    this.departureDT = null;
    this.returnDT = null;
    this.chkinDT = null;
    this.chkOutDT = null;        
    this.picupDT = null;
    this.drOffDT = null;   

    this.OrgIndex = -1;
    this.DestIndex = -1;
    this.setWS = 0;
    
    this.departureDateDayNameLabel = depDayNameLabel;
    this.returnDateDayNameLabel = retDayNameLabel;  
    
    this.PiUpLocErrorMsg = 0;
    this.isSmartSearchOffered = isSmartSearchOffered; 
   
    this.isSupportOrgDestPairingOffered= isSupportOrgDestPairingOffered;
    this.isShortDescription = isShortDescription;
}

 ResTool.prototype.OrgsDescConcat= function populateLongDesc(bb)
  {  for (var i = 0; i < bb.length; i++)
     {
        if(rt.isShortDescription == 1)
        {
            bb[i].LD = bb[i].D;
        }
        else
        { 
            bb[i].LD = bb[i].D + " ("+ bb[i].C + ")" ;
        }  
     }
	 return bb;
  }
  
  //Smart Search
  ResTool.prototype.SmartConcat= function populateLongCity(od)
     { 
       if(od != null)

       {
            var ss = new Array();
            for (var i = 0; i < od.length; i++)
            {
              ss[i] = od[i].C;
              airportcode[i]=od[i].D;
              
              for (var j=0; j < od[i].D.length; j++)
              {
                  if (od[i].D[j] != null) // not taking into account if airport item is null.
                  {
                    if(rt.isShortDescription == 1)
                     {
    	               airportcode[i][j]= od[i].D[j].substring(0,od[i].D[j].indexOf(" ("))
    	             }
                  }
                  else
                  {
                  airportcode[i] = new Array()
                  }
              }
            }
	        
	    }
	    else
	    {
	    var ss = new Array();
	    airportcode = new Array();
	    }
	    return ss;
      }
  
  
  function valCityIndex(val, c){
    var val = val.toUpperCase();
    for (var i = 0; i < c.length; i++){
	    var city = c[i];
	    if (((city.C == val) && (rt.isShortDescription != 1)) || (city.D.toUpperCase() == val) || (city.LD.toUpperCase() == val)){
	        return i;
	    }
	}
	return -1;
}
  
  
   function validateOrigin(sender,args)
   { 
    var city = null;   
     if(document.getElementById("div_table") != null)
       return;
     
          if (!(rt.Orgs.length == 0 && rt.IsFromExternalPost == 1))
           {
            var orgctrl= document.getElementById(sender.controltovalidate);
             if(orgctrl.prevValue==null)
                orgctrl.prevValue="";             
                 if(args.Value.trim() == ""){
                    rt.OrgIndex = -1;
                    //if(orgctrl.prevValue != args.Value.trim()){
                       if(rt.isSupportOrgDestPairingOffered == 1){
                          updateDestinations()
                          }
                        orgctrl.prevValue = orgctrl.value;
                    //}
                    sender.errormessage = RestoolClientSideErrorMessage.RequiredOrigin;    
                    args.IsValid = false;                                
                    return;      
                }
             
             
             if(orgctrl.prevValue != args.Value.trim())
              {
                
                rt.OrgIndex = valCityIndex(args.Value.trim(), rt.Orgs);
                if(rt.OrgIndex >= 0)
                {
                  orgctrl.value = rt.Orgs[rt.OrgIndex].LD //city.LD ;
                 // orgDes = rt.Orgs[rt.OrgIndex];
                  args.IsValid = true;
                  sender.innerHTML = "";
                  if(rt.isSupportOrgDestPairingOffered == 1){
                      updateDestinations()
                      }
                } 
                
                orgctrl.prevValue = orgctrl.value;
              }
             if(rt.OrgIndex == -1 && rt.isSmartSearchOffered != 1 )
                {
	              sender.errormessage = RestoolClientSideErrorMessage.ValidOrigin;
	              args.IsValid = false;
                }

           }
           else
           {
            args.IsValid = true;
            sender.innerHTML = "";
          
           } 
            flipExpandCollapse(imgplusorigin);
 }
  
  function calculateLength(date1, date2){
   	var difference = date2 - date1;
	return Math.floor(difference / 86400000); // number of milli seconds in a day
  }
  

function validateDestination(sender,args)
  {  
  var city = null; 
  if(document.getElementById("div_table") != null)
      return;
       
  if (!(rt.Dests.length == 0 && rt.IsFromExternalPost == 1)){
    var desctrl= document.getElementById(sender.controltovalidate);
        if(desctrl.prevValue == null)
            desctrl.prevValue="";
            
        if(args.Value.trim() == "")
            {
	            if ((rt.NearbyEntities != null)&&(rt.Landmark != null)){
                    toggleLandmarkDropDown(1); 
                    toggleNearbyEntitiesDropDown(1);                
                  }
               rt.DestIndex = -1;
               //if(desctrl.prevValue != args.Value.trim()){
               if(rt.isSupportOrgDestPairingOffered == 1){
                   updateOrigins();
                   }
               desctrl.prevValue = desctrl.value;   
               //}
               sender.errormessage = RestoolClientSideErrorMessage.RequiredDestination;    
               args.IsValid = false;
               return;      
            }            
            
    if(desctrl.prevValue != args.Value.trim()){
        rt.DestIndex = valCityIndex(args.Value.trim(), rt.Dests);
            if(rt.DestIndex >= 0)
                {
                desctrl.value = rt.Dests[rt.DestIndex].LD ;
                args.IsValid = true;
                sender.innerHTML = "";
                if(rt.isSupportOrgDestPairingOffered == 1){
                    updateOrigins();
                    }
                if ((rt.NearbyEntities != null)&&(rt.Landmark != null)&&(rt.NearbyEntities.disabled)) {        
                updateNearbyEntities();}
                } 
              
         desctrl.prevValue = desctrl.value;      
         }            
     else if(rt.DestIndex == -1)
                {
                if ((rt.NearbyEntities != null)&&(rt.Landmark != null)) {
                    toggleLandmarkDropDown(1); 
                    toggleNearbyEntitiesDropDown(1);                
                    }
		        if(rt.isSmartSearchOffered != 1){
	              sender.errormessage = RestoolClientSideErrorMessage.ValidDestination;
        	      args.IsValid = false;
		            }
                } 
         }         
  else
        {
        //desDes = rt.Dests[rt.DestIndex];
        args.IsValid = true;
        sender.innerHTML = "";
        }
    flipExpandCollapse(imgplusDestination);
 }
// Function to display smartsearch list
 function EnsureSmartSearch()
 {
    if (rt.isSmartSearchOffered == 1)
    { 
       if(rt.Org !=null)
          rt.Org.disabled = true;
          rt.Des.disabled = true;
        
        var city = null;
        if(rt.Orgs.length != 0)
        {
          city = valCity(rt.Org.value, rt.Orgs);
          if (city == null)
          { toggleSmartSearchWait();
            updateSmartSearchOrigins();
            return false;
          }          
        }
        if(rt.Dests.length != 0)
        { 
          city = valCity(rt.Des.value, rt.Dests);
          if (city == null)
          {      
            toggleSmartSearchWait(); 
            updateSmartSearchDestinations();
            return false;
          }
        }
        return true;
     }
     else
     {
        return true;
     }
 }



function toggleSmartSearchWait()
{   
     if(document.getElementById("smartSearchProgressField").style.display == "none")
     {
      document.getElementById("smartSearchProgressField").style.display = "block";
     }
     else
     {
      document.getElementById("smartSearchProgressField").style.display = "none";
     }
}

  function promocode_checkkey(evt) 
  {
    if (typeof evt.keyCode != 'undefined')
     {        
        if (evt.type != 'keyup') return;
        var objevt = evt.target || evt.srcElement;
        var kc = evt.keyCode;
        if (kc != 37 && // Left Arrow
            kc != 39 && // Right Arrow
            kc != 8 && // Backspace
            kc != 46)  // Delete
        {
            objevt.value=objevt.value.toUpperCase();
        }
     }     
  }

var PostToSearchUsingResToolSubmitHandle;
function PostToSearchUsingResTool( actUrl, vend, pkg, promo,Plcode,hasOrg,HotelCode) {

 if (typeof(Page_ClientValidate) == "function") {
    if(Page_ClientValidate("ResToolGroup") == true) {
    var NumberofTraveler="";
    var agestring ="";
    var numRooms = GetNumberOfRooms(); 
    var agearray=[];
    for (var i = 0; i < numRooms; i++)
    {
        var totalSelectedPassengers=0;
        var numberOfAdults =  eval(passengerInfo[i].adults.value);
        var numberOfChildren = eval(passengerInfo[i].children.value);
        totalSelectedPassengers = eval(numberOfAdults) + eval(numberOfChildren);
        NumberofTraveler = NumberofTraveler + totalSelectedPassengers +"|" ;
       
     }
    
     for (var i=0;i<4;i++)
     {
        var age ="";
        for (var j = 0; j < numRooms; j++) 
          {     
            if (passengerInfo[j].childAges[i].value !="undefined" &&  passengerInfo[j].childAges[i].value !="")     
            age =age + eval(passengerInfo[j].childAges[i].value) +"|";
          }
        if (age.length>0)
        {
         age=age.substr(0,age.lastIndexOf("|"));
         agearray[i]=age;            
        }            
     }
    if (NumberofTraveler.length>0)
    {
     NumberofTraveler=NumberofTraveler.substr(0,NumberofTraveler.lastIndexOf("|"));
    }
         var lenghofstay=0;
         var a = parseVaxDate(rt.Dep.value.trim());
         var b = parseVaxDate(rt.Ret.value.trim());
         var diff = b - a;
         if (diff > 0){lenghofstay = Math.floor(diff / 86400000);}
         var origin=rt.Org.value.substr(rt.Org.value.indexOf("(")+1,3);
         var destination=rt.Des.value.substr(rt.Des.value.indexOf("(")+1,3);
         write_cookie("origin",origin); 
        var f = document.createElement('FORM');
        f.setAttribute("method", "POST");
        f.setAttribute("action", actUrl);
        f.appendChild( BuildHiddenField("gsVendor", vend) );
        f.appendChild( BuildHiddenField("gsVacationType", document.getElementById(pkg).value ));
        f.appendChild( BuildHiddenField("gsPromotionCode", document.getElementById(promo).value) );
        if (hasOrg=="true") { f.appendChild( BuildHiddenField("gsOrigin", origin) ); }
        f.appendChild( BuildHiddenField("gsDestination", destination) );
        f.appendChild( BuildHiddenField("gsDepartureDate", rt.Dep.value) );
        f.appendChild( BuildHiddenField("gsReturnDate", rt.Ret.value) );
        f.appendChild( BuildHiddenField("PlCode", Plcode ));
        f.appendChild( BuildHiddenField("Referrer", "" )); 
        f.appendChild( BuildHiddenField("GsPrefHotelCode", HotelCode )); 
        f.appendChild( BuildHiddenField("GsLengthOfStay", lenghofstay) );
        for (var i = 0; i < 4; i++)
           {
             var numberOfChildrenAge = eval(passengerInfo[i].children.value);
//               if (numberOfChildrenAge>0)
//               {
                    var gsAge="gsAge" + eval(i+1);
                    if (typeof agearray[i] !="undefined")
                    f.appendChild( BuildHiddenField(gsAge, agearray[i] ));
                    else
                    f.appendChild( BuildHiddenField(gsAge, "|"));
//                }
           }
             //New RestTool Event
       
         sendSearch(document.getElementById(pkg).value,origin,destination,rt.Dep.value,rt.Ret.value,numberOfAdults,numberOfChildren,totalSelectedPassengers);
         //New Restool Even Call Ended
        f.appendChild( BuildHiddenField("gsNumberOfTravelers", NumberofTraveler ));      
        document.getElementsByTagName("BODY")[0].appendChild( f );
        document.forms[document.forms.length -1].submit();
        return false;
    }
  }
}
function write_cookie (name, value)
{
	var expiration_date = new Date ();
	expiration_date.setMonth (expiration_date . getMonth () + 1);
	expiration_date = expiration_date . toGMTString ();
	var cookie_string = escape (name) + "=" + escape (value) +
		"; expires=" + expiration_date;
    document . cookie = cookie_string;
}
function BuildHiddenField(nam, val) {
    var i = document.createElement("input");
    i.setAttribute("type", "hidden");
    i.setAttribute("name", nam);
    i.setAttribute("value", val);
    return i;
}

function PopulateModalResTool(destinationCode, vendorCode, packageCode) {
    rt.Des.value = destinationCode;
    rt.Ven.value = vendorCode;
    rt.Pkg.value = packageCode;
    showModal('modalRestool','modalPopup',1,-1,-1,'','','');  
}

//------------------------------------------------------------------------actb.js start------------------------------------------------------------------------------------------

function actb(obj){
	/* ---- Public Variables ---- */
	this.actb_timeOut = -1; // Autocomplete Timeout in ms (-1: autocomplete never time out)
	//this.actb_lim = 20;    // Number of elements autocomplete can show (-1: no limit)
	this.actb_firstText = false; // should the auto complete be limited to the beginning of keyword?
	this.actb_mouse = true; // Enable Mouse Support
	this.actb_delimiter = new Array(';');  // Delimiter for multiple autocomplete. Set it to empty array for single autocomplete
	this.actb_startcheck = 1; // Show widget only after this number of characters is typed in.
	this.setKeywords = setKeywords;	
	/* ---- Public Variables ---- */

	/* --- Styles --- */
	actbBgColor='#FFFFFF'
	this.actb_bgColor = '#000000';
//	this.actb_textColor = '#FFFFFF';
//	this.actb_hColor = '#000000';
//	this.actb_fFamily = 'Verdana';
//	this.actb_fSize = '11px';
//	this.actb_hStyle = 'text-decoration:underline;font-weight="bold"';
	/* --- Styles --- */

	/* ---- Private Variables ---- */
	var actb_delimwords = new Array();
	var actb_cdelimword = 0;
	var actb_delimchar = new Array();
	var actb_display = false;
	var actb_pos = 0;
	var actb_total = 0;
	var actb_curr = null;
	var actb_rangeu = 0;
	var actb_ranged = 0;
	var actb_bool = new Array();
	var actb_pre = 0;
	var actb_toid;
	var actb_tomake = false;
	var actb_getpre = "";
	var actb_mouse_on_list = 1;
	var actb_kwcount = 0;
	var actb_caretmove = false;
	this.actb_keywords = new Array();
	/* ---- Private Variables---- */
	
	//this.actb_keywords = ca;
		
	var actb_self = this;
    //var actb_make_tbl=0;
	actb_curr = obj;
	
	//Sys.UI.DomEvent.addHandler(actb_curr,"keydown",actb_checkkey);	 
	//Sys.UI.DomEvent.addHandler(actb_curr,"blur",actb_clear);
    //Sys.UI.DomEvent.addHandler(actb_curr,"keypress",actb_keypress);
	//function actb_setup(){
		addEvent(actb_curr,"keydown",actb_checkkey);
		addEvent(actb_curr,"blur",actb_clear);
		addEvent(actb_curr,"keypress",actb_keypress);
	//}

	function setKeywords(list){
	    this.actb_keywords = new Array();
//	    for (var i = 0; i < list.length; i++){
//	         this.actb_keywords[i] = list[i].LD; 
//	    }
        this.actb_keywords = list;
	}
	
	function actb_clear(evt){
	    if (!evt) evt = event;
		actb_removedisp();
	}
	
	var seltable;
	
	function actb_generate(){
		if (document.getElementById('div_table')){ actb_display = false;document.body.removeChild(document.getElementById('div_table')); } 
	    var selectOption = document.getElementById("div_table");
        if(selectOption == null){
		    d = document.createElement('div');
		    d.style.overflow="auto";
            var is_ie6 = document.all && (navigator.userAgent.toLowerCase().indexOf("msie 6.0") != -1);
            if(is_ie6)
            {		    
		        d.style.height='120px';
		    }
		    else
		    {
		        d.style.height='200px';		    
		    }
		    d.id = 'div_table';
		    d.style.position='absolute';
		    d.style.zIndex=100005;
		    d.style.top = eval(curTop(actb_curr) + actb_curr.offsetHeight) + "px";
		    d.style.width=(actb_curr.offsetWidth + 16) + "px";
		    d.align = 'left';
		    d.style.left = curLeft(actb_curr)+1 + "px";
		    if (actb_self.actb_mouse){
			  d.onmouseup=function(){actb_mouse_on_list=1;actb_curr.focus();};
			  d.onmousedown=function(){actb_mouse_on_list=1;actb_curr.focus();};
			  d.onscroll=function(){actb_mouse_on_list=1;actb_curr.focus();};
              d.onfocus=function(){actb_mouse_on_list=1;actb_curr.focus();};
		    }
	    
		    document.body.appendChild(d);
    		
		    a = document.createElement('table');
		    a.cellSpacing='1px';
		    a.cellPadding='2px';
		    a.className="actbBgColor";
		    a.style.textAlign="left";
		    a.style.align="left"
		    a.style.width=(actb_curr.offsetWidth) + "px";
		    a.style.overflow='auto';
		    a.style.border ="1px solid #AAAAAA";		    
		    a.id = 'tat_table';
		    d.appendChild(a);
		    seltable=a;
		var i;
		var counter = 0;
		var first = true;
		var defaultSelection = false;
		var defaultValue ="";
		var j = 1;
		
		for (i=0;i<actb_self.actb_keywords.length;i++) {
		    if (actb_bool[i]){
		        var t = actb_curr.value.addslashes();

			    if(actb_self.actb_keywords[i].C.toLowerCase() == t.toLowerCase())
			    {
			        defaultSelection = true;
			        defaultValue = actb_self.actb_keywords[i].LD;
			    }
			}
		}
		for (i=0;i<actb_self.actb_keywords.length;i++){
		    if (actb_bool[i]){
		    r = a.insertRow(-1);
		    if (defaultSelection)
			{
			    if(actb_self.actb_keywords[i].LD == defaultValue)
			    {
				    r.className="actbHColor";
				    actb_pos = j;
				}
			}else{
             if (first){
					r.className="actbHColor";
					first = false;
					actb_pos = 0;
				}else{
					r.className = "actbBgColor";
				}
		    }
		    r.id = 'tat_tr'+(j);
            c = r.insertCell(-1);
            c.className="actbTextColor";
		    c.className="actbFFamily";
		    c.className="actbFSize";
    	    c.setAttribute('pos',j);
		    c.innerHTML = actb_parse(actb_self.actb_keywords[i].LD);
		    c.style.cursor='pointer';
		    c.onclick= setvalue;
		    c.onmouseover = highlightRow;
		    c.onmouseout = removehighlightRow;
		    j++;
		        } 
			}
        selectOption = document.getElementById("div_table");
        }
        selectOption.style.display = "block"; 
        document.onclick = removeOpt;
        actb_rangeu = 1;
		actb_ranged = j-1;
		actb_display = true;
		if (actb_pos <= 0) actb_pos = 1;
	}
	function highlightRow(){
        if (actb_pos < 1) {actb_pos = 1;}
		document.getElementById('tat_tr'+actb_pos).className="actbBgColor";
		actb_pos = this.getAttribute('pos');
		document.getElementById('tat_tr'+actb_pos).className="actbHColor";
		actb_mouse_on_list=1;
    }

    function removehighlightRow(){
        actb_mouse_on_list=0
    }
    
	function setvalue(evt){
		actb_mouse_on_list = 0;
		actb_pos = this.getAttribute('pos');
		actb_penter();
    }
    
    function removeOpt(e){
        var sel=document.getElementById("div_table");
        if(sel != null){
            document.body.removeChild(sel);
            document.onclick = null;
            
            callvalidator();
        }
    }
	
	function callvalidator()
	{
	  if(actb_curr.value.trim() != '')
	   {  
        if(actb_curr.Validators != null)
        {
            if(actb_curr.Validators.length > 0)
            {
                var val = actb_curr.Validators[0];
                val.evaluationfunction(val);
            }
        }
       } 
	}
	
	
	function actb_table_focus(){
		actb_mouse_on_list = 1;
	}
	function actb_table_unfocus(){
		actb_mouse_on_list = 0;
	}
	function actb_table_highlight(){
		actb_mouse_on_list = 1;
	}
	
   
	function actb_penter(){
		if (!actb_display) return;
		if (actb_pos < 1) {actb_removedisp();return;}
		actb_display = false;
		var word = '';
		var c = 0;
		for (var i=0;i<=actb_self.actb_keywords.length;i++){
			if (actb_bool[i]) c++;
			if (c == actb_pos){
				word = actb_self.actb_keywords[i].LD;
				break;
			}
		}
		if(word != ""){
		actb_curr.value=word;}
		actb_mouse_on_list = 0;
		actb_removedisp();
	}
	
	function actb_removedisp(){
			if (actb_mouse_on_list==0){
			actb_display = 0;
			if (document.getElementById('div_table')){ document.body.removeChild(document.getElementById('div_table')); }
			if (actb_toid) clearTimeout(actb_toid);
			document.onclick = null;
			//callvalidator();
		}
		
	}
	
	function actb_keypress(e){
		if (actb_caretmove) stopEvent(e);
		return !actb_caretmove;
	}
	function actb_goup(){
		if (!actb_display) return;
		if (actb_pos == 1) return;
		document.getElementById('tat_tr'+actb_pos).className="actbBgColor";
		actb_pos--;
		
		if(seltable != null)
		{
          if(actb_pos>0)   
          if((seltable.getElementsByTagName('tr')[actb_pos - 1].offsetTop) < 
             (document.getElementById("div_table").scrollTop ) )
            { 
          document.getElementById("div_table").scrollTop= seltable.getElementsByTagName('tr')[actb_pos - 1].offsetTop; // + seltable.getElementsByTagName('tr')[actb_pos - 1].offsetHeight ; // - document.getElementById("div_table").clientHeight;
            }

		}
		if (actb_pos < actb_rangeu) actb_moveup();
		document.getElementById('tat_tr'+actb_pos).className="actbHColor";
	}
	
	
	function actb_parse(n){
		if (actb_self.actb_delimiter.length > 0){
			var t = actb_delimwords[actb_cdelimword].trim().addslashes();
			var plen = actb_delimwords[actb_cdelimword].trim().length;
		}else{
			var t = actb_curr.value.addslashes();
			var plen = actb_curr.value.length;
		}
		var tobuild = '';
		var i;

		if (actb_self.actb_firstText){
			var re = new RegExp("^" + t, "i");
		}else{
			var re = new RegExp(t, "i");
		}
		var p = n.search(re);
		
		if(p != -1)
		{		
		    for (i=0;i<p;i++){
			    tobuild += n.substr(i,1);
		    }
		    tobuild +="<font class='actbHStyle'>"
		    for (i=p;i<plen+p;i++){
			    tobuild += n.substr(i,1);
		    }
		    tobuild += "</font>";
			    for (i=plen+p;i<n.length;i++){
			    tobuild += n.substr(i,1);
		    }
		    return tobuild;
	    }
	    else
		{
		    return n;
		}
	}
	
	
	function actb_godown(){
		if (!actb_display) return;
		if (actb_pos == actb_total) return;
		document.getElementById('tat_tr'+actb_pos).className="actbBgColor";
		actb_pos++;
		
		if(seltable != null)
		{
         if(actb_pos>0)   
         {
         if((seltable.getElementsByTagName('tr')[actb_pos - 1].offsetTop + seltable.getElementsByTagName('tr')[actb_pos - 1].offsetHeight) > (document.getElementById("div_table").scrollTop + document.getElementById("div_table").clientHeight) ) 
            { 
          document.getElementById("div_table").scrollTop= seltable.getElementsByTagName('tr')[actb_pos - 1].offsetTop + seltable.getElementsByTagName('tr')[actb_pos - 1].offsetHeight - document.getElementById("div_table").clientHeight;
            }
         }
		}
		if (actb_pos > actb_ranged) actb_movedown();
		document.getElementById('tat_tr'+actb_pos).className="actbHColor";
	}
	
	function actb_movedown(){
	    actb_rangeu++;
		actb_ranged++;
		actb_generate();
	}
	function actb_moveup(){
		actb_rangeu--;
		actb_ranged--;
		actb_generate();
	}

	function actb_checkkey(evt){
		if (!evt) evt = event;
		a = evt.keyCode;
		caret_pos_start = getCaretStart(actb_curr);
		actb_caretmove = 0;
		switch (a){
			case 38:
				actb_goup();
				actb_caretmove = 1;
				return false;
				break;
			case 40:
				actb_godown();
				actb_caretmove = 1;
				return false;
				break;
			case 13:
				if (actb_display){
					actb_caretmove = 1;
					actb_penter();
					actb_curr.focus();
					return false;
				}else{
					return true;
				}
				break;				
			case 9:
				if (actb_display){
					actb_penter();
				}
				return true;
				break;
			default:
			    setTimeout(function(){actb_tocomplete(a)},50);
		}
	}

	function actb_tocomplete(kc){
		if (kc == 38 || kc == 40 || kc == 13) return;
		var i;
		if (actb_display){ 
			var word = 0;
			var c = 0;
			for (var i=0;i<=actb_self.actb_keywords.length;i++){
				if (actb_bool[i]) c++;
				if (c == actb_pos){
					word = i;
					break;
				}
			}
			actb_pre = word;
		}else{ actb_pre = -1};
		
		if (actb_curr.value == ''){
			actb_mouse_on_list = 0;
			actb_removedisp();
			return;
		}
		if (actb_self.actb_delimiter.length > 0){
			caret_pos_start = getCaretStart(actb_curr);
			caret_pos_end = getCaretEnd(actb_curr);
			
			delim_split = '';
			for (i=0;i<actb_self.actb_delimiter.length;i++){
				delim_split += actb_self.actb_delimiter[i];
			}
			delim_split = delim_split.addslashes();
			delim_split_rx = new RegExp("(["+delim_split+"])");
			c = 0;
			actb_delimwords = new Array();
			actb_delimwords[0] = '';
			for (i=0,j=actb_curr.value.length;i<actb_curr.value.length;i++,j--){
				if (actb_curr.value.substr(i,j).search(delim_split_rx) == 0){
					ma = actb_curr.value.substr(i,j).match(delim_split_rx);
					actb_delimchar[c] = ma[1];
					c++;
					actb_delimwords[c] = '';
				}else{
					actb_delimwords[c] += actb_curr.value.charAt(i);
				}
			}

			var l = 0;
			actb_cdelimword = -1;
			for (i=0;i<actb_delimwords.length;i++){
				if (caret_pos_end >= l && caret_pos_end <= l + actb_delimwords[i].length){
					actb_cdelimword = i;
				}
				l+=actb_delimwords[i].length + 1;
			}
			var ot = actb_delimwords[actb_cdelimword].trim(); 
			var t = actb_delimwords[actb_cdelimword].addslashes().trim();
		}else{
			var ot = actb_curr.value;
			var t = actb_curr.value.addslashes();
		}
		if (ot.length == 0){
			actb_mouse_on_list = 0;
			actb_removedisp();
		}
		if (ot.length < actb_self.actb_startcheck) return this;
		if (actb_self.actb_firstText){
			var re = new RegExp("^" + t, "i");
		}else{
			var re = new RegExp(t, "i");
		}

		actb_total = 0;
		actb_tomake = false;
		actb_kwcount = 0;
		actb_display=0;
		for (i=0;i<actb_self.actb_keywords.length;i++){
			actb_bool[i] = false;
			if ((re.test(actb_self.actb_keywords[i].LD)) || (actb_self.actb_keywords[i].C.toLowerCase() == t.toLowerCase())){
				actb_total++;
				actb_bool[i] = true;
				actb_kwcount++;
				actb_display = 1 ;
				if (actb_pre == i) actb_tomake = true;
			}
		}
    if(actb_display == 1){
	actb_generate();
	}
	else
	{actb_mouse_on_list = 0;
		actb_removedisp();
	}
	}
	return this;
}

//-----------------------------------------------cal.js Start-------------------------------------------------------

var vchvr = false;
function DatePicker(ctrl,arrCtrlsToUpdate,src,lowDateCtrl,highDateCtrl,arrCtrlsToAddDayLength,dateformat,blockStartDateCtrl,blockDurationCtrl){
    this.trgt = ctrl;
    if (arrCtrlsToUpdate != null){
        this.trgt.arrCtrlsToUpdate = new Array();
        for (var i = 0; i < arrCtrlsToUpdate.length; i++){
            if(arrCtrlsToUpdate[i] != null)
            {
                this.trgt.arrCtrlsToUpdate[i] = arrCtrlsToUpdate[i];
            }
        }
     }    
        
    if (arrCtrlsToAddDayLength != null){
        this.trgt.arrCtrlsToAddDayLength = new Array();
        for (var i = 0; i < arrCtrlsToAddDayLength.length; i++){
            if(arrCtrlsToAddDayLength[i] != null)
            {
                this.trgt.arrCtrlsToAddDayLength[i] = arrCtrlsToAddDayLength[i];
            }
        }
     }   
    this.trgt.format ="MM/dd/yyyy"//"MM/dd/yyyy";
    this.trgt.calsrc = src;
    this.trgt.trgtctrl = this.trgt;
    this.trgt.lowDateCtrl = lowDateCtrl;
    this.trgt.highDateCtrl = highDateCtrl;
    
    //For MultiStop DateBlodking
    if(blockStartDateCtrl != null){
        this.trgt.blockStartDateCtrl = blockStartDateCtrl;
        this.trgt.blockDurationCtrl = blockDurationCtrl;
    }
    //For MultiStop DateBlodking
    
    addEventcal(this.trgt, "click", addCal);
    addEventcal(this.trgt, "focus", addCal);
    this.trgt.showonfocus=1;
       
    this.calImg = $get(this.trgt.id + "_calimg");
    if (this.calImg != null){
        this.calImg.style.cursor = "pointer";
        this.calImg.trgtctrl = this.trgt;
        addEventcal(this.calImg, "click", addCal);
    }
    this.trgt.onkeydown = vcal_checkkey;
    this.trgt.onkeyup = vcal_checkdate;
}

function addCal() { 

      if(this.trgtctrl.showonfocus == 1)
       {  
        var f = document.createElement('iframe');
        f.setAttribute("id", "DHTMLIFrame");
        f.setAttribute("style", "display:none;");
        f.setAttribute("frameBorder", "0");
        f.setAttribute("scrolling", "no");
        document.getElementsByTagName("BODY")[0].appendChild( f );
        this.trgtctrl.showonfocus = 0;
        var iframe = $get('DHTMLIFrame');
        if ((iframe.style.display == "none") || (iframe.trgt != this.trgtctrl)){
        //For MultiStop DateBlodking
        iframe.src=this.trgtctrl.calsrc + calsrcurl(this.trgtctrl) ;
            iframe.style.width = "412px"; 
            iframe.style.height = "171px"; 
            iframe.style.position = "absolute"; 
            calculatepos(this.trgtctrl,iframe);
            iframe.onmouseover = function() {vchvr = true;};
            iframe.onmouseout = function() {vchvr = false;};
            document.body.onmousedown = removeCal;
            iframe.trgt = this.trgtctrl;
            iframe.style.display = "block";
            iframe.style.zIndex=100005;
         }
          this.trgtctrl.focus();
       } 
    }
    
    
  function calsrcurl(trgtctrl)
  {
        var lowDateCtrl="";
        var highDateCtrl="";
        var defaultDate="";
        if(trgtctrl.lowDateCtrl != null){
          var a = parseVaxDate(trgtctrl.lowDateCtrl.value.trim());
            if (a != null){
             var d = a.localeFormat("MM/dd/yyyy");
             lowDateCtrl="&DepartDate=" + d;
           } 
        }
        if(trgtctrl.highDateCtrl != null){
          var a = parseVaxDate(trgtctrl.highDateCtrl.value.trim());
            if (a != null){
             var d = a.localeFormat("MM/dd/yyyy");
            highDateCtrl="&ReturnDate=" + d;
           }
        }  
        
        //"&DefaultDate=" + this.trgtctrl.value;
        if(trgtctrl.value != null){
          var a = parseVaxDate(trgtctrl.value.trim());
            if (a != null){
             var d = a.localeFormat("MM/dd/yyyy");
             defaultDate="&DefaultDate=" + d;
           } 
        }
        //For MultiStop DateBlodking
        var MinDate="";
        var MaxDate="";
        if(trgtctrl.blockStartDateCtrl != null){
            MinDate="&MinDate=" + trgtctrl.blockStartDateCtrl.innerHTML;

            var dt = new Date(trgtctrl.blockStartDateCtrl.innerHTML);
            dt.setDate(dt.getDate() + parseInt(trgtctrl.blockDurationCtrl.value)); 
            MaxDate="&MaxDate=" + ConvertDateTo_ddmmmyyyy(dt);
        } 
      return lowDateCtrl + highDateCtrl + MinDate + MaxDate + defaultDate;
  } 
    

function vcal_checkkey(evt){
		if (!evt) evt = event;
		a = evt.keyCode;
		switch (a){
			case 13: case 9:
                removeCal();
			    return true;
				break;
			default:
			  	break;
		}
}

function vcal_checkdate(evt){
		if (!evt) evt = event;
		a = evt.keyCode;
		switch (a){
			case 13: case 9: case 37: case 38: case 39: case 40:
           	    return true;
				break;
			default:
			    var iframe = $get('DHTMLIFrame');
                if (iframe.style.display == "block") {
                        iframe.src=this.trgtctrl.calsrc + calsrcurl(this.trgtctrl);
                        }
				break;
		}
}

function dateSelected(trgt){
  if(trgt.Validators != null)
    {
        if(trgt.Validators.length > 0)
        {
            var val = trgt.Validators[0];
            val.innerHTML='';
            val.evaluationfunction(val);
        }
    }
           
    trgt.focus();
    setTimeout(removeCal, 1);
    
    if (trgt.arrCtrlsToUpdate != null){
         for (var i = 0; i < trgt.arrCtrlsToUpdate.length; i++){
            if(trgt.arrCtrlsToUpdate[i] != null)
            {
                trgt.arrCtrlsToUpdate[i].value = trgt.value;
            }
        }
    }
  
  if (typeof(dateselectvalidations) == 'function')
       dateselectvalidations(trgt);
       
   callvalidatorcallout(trgt.arrCtrlsToUpdate); 
   callvalidatorcallout(trgt.arrCtrlsToAddDayLength);    
   
}


function callvalidatorcallout(ctrls){
  if(ctrls == null)
     return;
  
  if(IsArray(ctrls)){
  for(var i=0;i<ctrls.length;i++){
       if(ctrls[i] != null)
        {
         if(ctrls[i].Validators != null)
          {
           if(ctrls[i].Validators.length > 0)
            {
              var val = ctrls[i].Validators[0];
               val.innerHTML='';
               val.evaluationfunction(val);
            }
          }
        }
     }
   }
  else
   {
     if(ctrls.Validators != null)
       {
        if(ctrls.Validators.length > 0)
          {
              var val = ctrls.Validators[0];
               val.innerHTML='';
               val.evaluationfunction(val);
          }
       }
   }   
}
   
function IsArray(obj){
 return !(obj.constructor.toString().indexOf('Array') == -1)  
}


function removeCal(){
      var cal = $get('DHTMLIFrame');
     if (cal != null){
        cal.style.display = "none"
         cal.trgt.showonfocus = 1;
        vchvr = false;
        document.body.onmousedown = null;
    }
}

function FindWinW() {
return self.innerWidth ? self.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body ? document.body.clientWidth : 0;
}

function FindWinH() {
return self.innerHeight ? self.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body ? document.body.clientHeight : 0;
}


function FindWinScrX() {
return self.pageXOffset ? self.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body ? document.body.scrollLeft : 0;
}

function FindWinScrY() {
return self.pageYOffset ? self.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body ? document.body.scrollTop : 0;
}


function calculatepos(trgtctl,frame) {
var xsDiv = null;
var ysDiv = null; 

var oPos =  trgtctl; 
var oDiv =  frame; 

var iBottom = FindWinScrY() + FindWinH();
var iLeft = FindWinScrX() + FindWinW();

var ysDiv  = curTop(trgtctl) + trgtctl.offsetHeight ;
var xsDiv = curLeft(trgtctl);

var iPopH = parseInt(oDiv.style.height,10);
var iPopW = parseInt(oDiv.style.width,10);

 if(ysDiv + iPopH > iBottom) {
     ysDiv = (curTop(trgtctl) - iPopH);
     oDiv.style.top = ysDiv + 'px';
  }
 else
  {
  oDiv.style.top = ysDiv + 'px'; 
  }
  
  
  if(xsDiv + iPopW > iLeft) {
     xsDiv = (iLeft - iPopW);
     oDiv.style.left = xsDiv + 'px';
  }
 else
  {
   oDiv.style.left = xsDiv + 'px';
  }
}


function valDate(ctrl, f, ctrlToUpd){
    var a = parseVaxDate(ctrl.value.trim());
    if (a != null){
        //var d = a.format(f);
        var d = a.localeFormat(f);
        ctrl.value = d;
      if (ctrlToUpd != null){
            for (var i = 0; i < ctrlToUpd.length; i++){
                if(ctrlToUpd[i] != null){
                    ctrlToUpd[i].value = d;
                }
            }
        }
  }  
  
   if (typeof(dateselectvalidations) == 'function')
     dateselectvalidations(ctrl);   

   callvalidatorcallout(ctrlToUpd); 
   callvalidatorcallout(ctrl.arrCtrlsToAddDayLength);    
}

function addEventcal( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

//-------------------------------------------Common.js----------------------------------------
/* Event Functions */

// Add an event to the obj given
// event_name refers to the event trigger, without the "on", like click or mouseover
// func_name refers to the function callback when event is triggered
function addEvent(obj,event_name,func_name){
	if (obj.attachEvent){
		obj.attachEvent("on"+event_name, func_name);
	}else if(obj.addEventListener){
		obj.addEventListener(event_name,func_name,true);
	}else{
		obj["on"+event_name] = func_name;
	}
}

// Removes an event from the object
function removeEvent(obj,event_name,func_name){
	if (obj.detachEvent){
		obj.detachEvent("on"+event_name,func_name);
	}else if(obj.removeEventListener){
		obj.removeEventListener(event_name,func_name,true);
	}else{
		obj["on"+event_name] = null;
	}
}

// Stop an event from bubbling up the event DOM
function stopEvent(evt){
	evt || window.event;
	if (evt.stopPropagation){
		evt.stopPropagation();
		evt.preventDefault();
	}else if(typeof evt.cancelBubble != "undefined"){
		evt.cancelBubble = true;
		evt.returnValue = false;
	}
	return false;
}

// Get the obj that starts the event
function getElement(evt){
	if (window.event){
		return window.event.srcElement;
	}else{
		return evt.currentTarget;
	}
}
// Get the obj that triggers off the event
function getTargetElement(evt){
	if (window.event){
		return window.event.srcElement;
	}else{
		return evt.target;
	}
}
// For IE only, stops the obj from being selected
function stopSelect(obj){
	if (typeof obj.onselectstart != 'undefined'){
		addEvent(obj,"selectstart",function(){ return false;});
	}
}

/*    Caret Functions     */

// Get the end position of the caret in the object. Note that the obj needs to be in focus first
function getCaretEnd(obj){
	if(typeof obj.selectionEnd != "undefined"){
		return obj.selectionEnd;
	}else if(document.selection&&document.selection.createRange){
		var M=document.selection.createRange();
		try{
			var Lp = M.duplicate();
			Lp.moveToElementText(obj);
		}catch(e){
			var Lp=obj.createTextRange();
		}
		Lp.setEndPoint("EndToEnd",M);
		var rb=Lp.text.length;
		if(rb>obj.value.length){
			return -1;
		}
		return rb;
	}
}
// Get the start position of the caret in the object
function getCaretStart(obj){
	if(typeof obj.selectionStart != "undefined"){
		return obj.selectionStart;
	}else if(document.selection&&document.selection.createRange){
		var M=document.selection.createRange();
		try{
			var Lp = M.duplicate();
			Lp.moveToElementText(obj);
		}catch(e){
			var Lp=obj.createTextRange();
		}
		try{
		Lp.setEndPoint("EndToStart",M);
	    var rb=Lp.text.length;
		if(rb>obj.value.length){
			return -1;
		}
		return rb;
		}catch(e){
		 return -1;
		}
	   
	}
}
// sets the caret position to l in the object
function setCaret(obj,l){
	obj.focus();
	if (obj.setSelectionRange){
		obj.setSelectionRange(l,l);
	}else if(obj.createTextRange){
		m = obj.createTextRange();		
		m.moveStart('character',l);
		m.collapse();
		m.select();
	}
}
// sets the caret selection from s to e in the object
function setSelection(obj,s,e){
	obj.focus();
	if (obj.setSelectionRange){
		obj.setSelectionRange(s,e);
	}else if(obj.createTextRange){
		m = obj.createTextRange();		
		m.moveStart('character',s);
		m.moveEnd('character',e);
		m.select();
	}
}

/*    Escape function   */
String.prototype.addslashes = function(){
	return this.replace(/(["\\\.\|\[\]\^\*\+\?\$\(\)])/g, '\\$1');
}
String.prototype.trim = function () {
    return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
};
/* --- Escape --- */

/* Offset position from top of the screen */
function curTop(obj){
	toreturn = 0;
	while(obj){
		toreturn += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return toreturn;
}
function curLeft(obj){
	toreturn = 0;
	while(obj){
		toreturn += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return toreturn;
}
/* ------ End of Offset function ------- */

/* Types Function */

// is a given input a number?
function isNumber(a) {
    return typeof a == 'number' && isFinite(a);
}

/* Object Functions */

function replaceHTML(obj,text){
	while(el = obj.childNodes[0]){
		obj.removeChild(el);
	};
	obj.appendChild(document.createTextNode(text));
}

function IsNotNull(obj)
{
    if(obj != null)
    {
        return true;
    }
    else
    {
        return false;
    }
}

//----------------------------------------Datevalidates.js------------------------------------------------

function DateValidate(source, clientside_arguments)
{
var clientsideArguments = Trim(clientside_arguments.Value);
 if(clientsideArguments == "" || clientsideArguments == null) 
   {
     ResetValue(source.controltovalidate);
     SetErrorMsg(source,clientside_arguments,RestoolClientSideErrorMessage.RequiredDate);
     return false; 
   }
  else
   {

    var getErrorMsg;
        var dValidate = source.controltovalidate;
        if (IsNotNull(document.getElementById(dValidate)))
        {
                  if(IsNotNull(rt.Dep))
               rt.departureDT = parseVaxDate(rt.Dep.value);
               
               if(IsNotNull(rt.Ret))
               rt.returnDT = parseVaxDate(rt.Ret.value);
               
               if(IsNotNull(rt.ChkIn))
               rt.chkinDT = parseVaxDate(rt.ChkIn.value);
               
               if(IsNotNull(rt.ChkOut))
               rt.chkOutDT = parseVaxDate(rt.ChkOut.value);
               
               if(IsNotNull(rt.PiUp))
               rt.picupDT = parseVaxDate(rt.PiUp.value);
               
               if(IsNotNull(rt.DrOff))
               rt.drOffDT = parseVaxDate(rt.DrOff.value);
               
                if(IsNotNull(rt.Dep))
                {
                   if(rt.Dep.id == dValidate)
                   {
						rt.departureDT = parseVaxDate(clientsideArguments);
						if(IsNotNull(rt.departureDT))
						{
						   var todayDT = new Date();
						   CheckDepRetDates(todayDT,rt.departureDT,source,clientside_arguments,RestoolClientSideErrorMessage.DepartureDtGreaterThanTodayDt);
						}
						else
						{
					
						  SetErrorMsg(source,clientside_arguments,RestoolClientSideErrorMessage.CheckDate);
						}
				    }
                }
                 if(IsNotNull(rt.Ret))
                {
                   if(rt.Ret.id == dValidate)
                   {                
						rt.returnDT = parseVaxDate(clientsideArguments);
						if(IsNotNull(rt.returnDT))
							{
						      if(IsNotNull(rt.departureDT))
						        {				
						          CheckDepRetDates(rt.departureDT,rt.returnDT,source,clientside_arguments,RestoolClientSideErrorMessage.ReturnDtGreaterThanDepDt);
						        }   
							   else
							    {
							      clientside_arguments.IsValid = true;
							      return true;  
							    }							
							  }	
						else
						{
						  SetErrorMsg(source,clientside_arguments,RestoolClientSideErrorMessage.CheckDate);
						}
				    }
                }
                

               

              
        }
   }
}

function CheckDepRetDates(startDate,endDate,source,clientside_arguments,errMsgs)
{
    if(startDate < endDate)
    {
		clientside_arguments.IsValid = true;
		return true;
    }
    else
    {
        SetErrorMsg(source,clientside_arguments,errMsgs);
    }     
}


 function CompareStartEndDates(startDate,endDate,source,clientside_arguments,errMsgs)
 {
    if(startDate <= endDate)
    {
		clientside_arguments.IsValid = true;
		return true;
    }
    else
    {
        SetErrorMsg(source,clientside_arguments,errMsgs);
    }           
 }
 
 
 function ResetValue(ControlID)
{
    if(IsNotNull(rt.Dep))
    {
        if(rt.Dep.id == ControlID)
        {
            rt.departureDT = null;
        }
    }
    if(IsNotNull(rt.Ret))
    {
        if(rt.Ret.id == ControlID)
        {
            rt.returnDT = null;
        }
    }
    if(IsNotNull(rt.ChkIn))
    {
        if(rt.ChkIn.id == ControlID)
        {
            rt.chkinDT = null;
        }
    }
    if(IsNotNull(rt.ChkOut))
    {
        if(rt.ChkOut.id == ControlID)
        {
            rt.chkOutDT = null;
        }
    }       
    if(IsNotNull(rt.PiUp))
    {
        if(rt.PiUp.id == ControlID)
        {
            rt.picupDT = null;
        }
    }
    if(IsNotNull(rt.DrOff))
    {
        if(rt.DrOff.id == ControlID)
        {
            rt.drOffDT = null;
        }
    }        
} 
  
function SetErrorMsg(CusE,CsArgs,ErrorMsg)
{
  CollapseErrorPanel(CusE.controltovalidate);
  CusE.errormessage = ErrorMsg;
  CusE.innerHTML = ErrorMsg;
  CsArgs.IsValid = false;               
}
function parseVaxDate(val) {

    //var a = Date.parseLocale(val.trim(),GlobalFormat.SiteDateFormat);
    //if (a != null){return a;}
	generalFormats=new Array('d','y-M-d','ddMMMyyyy','dd.MM.yyyy','MM/dd/yyyy','MM/dd/yy','dMMMy','dMMM', 'MMMd','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d','M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d');
		
	var checkList= generalFormats;//.split("&");
	var d=null;
	for (var i=0; i<checkList.length; i++) {
			d = Date.parseLocale(val.trim(),checkList[i].trim());
			if (d != null) {
			return d; }
			
		}
	return null;
	}

// 
//function ParseDate(val) {
//    var a = Date.parseLocale(val,SiteDateFormat);
//    if (a != null){return a;}
//    
//	//generalFormats=new Array(MM/dd/yyyy & MM/dd/yy & y-M-d & dMMMy & dMMM & MMMd & MMM d, y & MMM d,y & y-MMM-d & d-MMM-y & MMM d & M/d/y & M-d-y & M.d.y & MMM-d & M/d & M-d);
//	generalFormats=RestoolClientSideErrorMessage.DateFormat.split("&");
//	var checkList=new Array('generalFormats');
//	var d=null;
//	for (var i=0; i<checkList.length; i++) {
//		var l=window[checkList[i]];
//		for (var j=0; j<l.length; j++) {
//			d=Date.parseLocale(val,Trim(l[j]));//getDateFromFormat(val,Trim(l[j]));
//			if (d != null) { return d; }
//			}
//		}
//	return null;
//	}

function Trim(str)
{
    if(!str || typeof str != 'string')
        return null;
        return str.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
}

function CollapseErrorPanel(ControlID)
{
    if (typeof rt != 'undefined') {
        if(IsNotNull(rt.ChkIn))
        {
            if(rt.ChkIn.id == ControlID)
            {
                if($find("cpeSearchHotel"))
                {
                 $find("cpeSearchHotel").expandPanel("pnlSearchHotelContent");
                }
            }
        }
        if(IsNotNull(rt.ChkOut))
        {
            if(rt.ChkOut.id == ControlID)
            {
                if($find("cpeSearchHotel"))
                {
                 $find("cpeSearchHotel").expandPanel("pnlSearchHotelContent");
                }
            }
        }       
        if(IsNotNull(rt.PiUp))
        {
            if(rt.PiUp.id == ControlID)
            {
                if($find("cpeSearchRentalCar"))
                {
                 $find("cpeSearchRentalCar").expandPanel("pnlSearchRentalCar");  
                }
            }
        }
        if(IsNotNull(rt.DrOff))
        {
            if(rt.DrOff.id == ControlID)
            {
                if($find("cpeSearchRentalCar"))
                {
                 $find("cpeSearchRentalCar").expandPanel("pnlSearchRentalCar");  
                }
            }
        }
    } 
}

//----------------------------------------------ErrorMessage.js----------------------------------------------------

var RestoolClientSideErrorMessage={
RequiredOrigin:"Please select origin",
ValidOrigin:"Please select a valid origin",
RequiredDestination:"Please select destination",
ValidDestination:"Please select a valid destination",
CheckDate:"Please enter a valid date format",
RequiredDate:"Please enter a valid date",
DepartureDtGreaterThanTodayDt:"Departure date should be greater than today's date",
ReturnDtGreaterThanDepDt:"Return date should be greater than departure date",
DepartureDtLessThanRetDt:"Departure date should be less than return date"
};

var PassengerClientSideErrorMessage = {
InvalidNumberOfInfants:"Total number of infants cannot exceed total number of adults",
RequiredChildAge:"Please enter child age",
ValidAdultsNumber:"Total number of passengers exceeds the passengers limit. Please revise the selection.",
ValidChildrenNumber:"Total number of passengers exceeds the passengers limit of maxPassengers. Please revise the selection.",
ValidRoomsNumber:"Total number of passengers exceeds the passengers limit . Please revise the selection."
};


//-------------------------------------------optionViewer.js-------------------------------------------------------
var ophvr = false;
var op_pos = 0;
var trgtelem;
var total=0;
var op_rangeu = 0;
var op_ranged = 0;
var op_display = false;
var row_cnt;
expandCollapseImgs = new Array;
expandCollapseImgs[0]     = new Image();
expandCollapseImgs[0].src = "/PublishingImages/Voyage/plus.gif";
expandCollapseImgs[1]     = new Image();
expandCollapseImgs[1].src = "/PublishingImages/Voyage/minus.gif";
function viewOptions(trgt, href, list) { 

 if (document.getElementById('div_table')){ 
      op_display = false;
      document.body.removeChild(document.getElementById('div_table')); 
      document.images[imgplusorigin].src = expandCollapseImgs[0].src;
      document.images[imgplusDestination].src = expandCollapseImgs[0].src;
      if(trgtelem!=trgt)
      viewOptions(trgt,href,list);
  } 
 else
 {
     if (list == null){list = new Array();}
        trgtelem=trgt;
        var selectOption;
        var selectOption = document.getElementById("div_table");
         if(selectOption == null)
        {
		    d = document.createElement('div');
		    d.style.overflow ="auto";
            var is_ie6 = document.all && (navigator.userAgent.toLowerCase().indexOf("msie 6.0") != -1);
            if(is_ie6)
            {		    
		        d.style.height='120px';
		    }
		    else
		    {
		        d.style.height='200px';		    
		    }
		    d.id = 'div_table';
		    d.style.position='absolute';
		    d.style.zIndex=100005;
		    //d.style.cursor='hand';
		    d.onmouseover = function() {ophvr = true;};
            d.onmouseout = function() {ophvr = false;};
		    d.style.top = eval(curTop(trgt) + trgt.offsetHeight) + "px";
		    d.style.width=(trgt.offsetWidth + 16) + "px";
		    d.style.left = curLeft(trgt)+1 + "px";
            d.align = 'left';
           
		    document.body.appendChild(d);
    		
		    a = document.createElement('table');
		    a.cellSpacing='1px';
		    a.cellPadding='2px';
		    a.className="actbBgColor";
		    a.style.textAlign="left";
		    a.style.overflow='auto';
		    a.style.cursor='pointer';
		    a.style.border ="1px solid #AAAAAA";
		    a.style.width=(trgt.offsetWidth) + "px";
		    a.id = 'tat_table';
		    d.appendChild(a);

            var counter = 0;
		    var first = true;
		    var j = 1;
		    row_cnt = list.length;
             for (var i = 0; i < list.length; i++){
               r = a.insertRow(-1);
                 if (first){
					r.className="actbHColor";
					first = false;
					op_pos = 0;
				}else{
					r.className = "actbBgColor";
				}
			    r.id = 'tat_tr'+(j);
               c = r.insertCell(-1);
		       c.className="actbTextColor";
		       c.className="actbFFamily";
		       c.className="actbFSize";
	           c.onmousedown= setvalue;
	           c.setAttribute('pos',j);
		       c.innerHTML = list[i].LD ;
		       c.style.cursor='pointer';
		       c.onmouseover = highlightRow;
		       c.onmouseout = removehighlightRow; 
		       j++;
		     }
            selectOption =document.getElementById("div_table");
         }
      }
         if(href != null){
            href.onmouseover = function() {ophvr = true;};
            href.onmouseout = function() {ophvr = false;};
            }
         //selectOption.onmouseover = function() {ophvr = true;};
         //selectOption.onmouseout = function() {ophvr = false;};
         //selectOption.style.display = "block"; 
         document.onclick = removeOptions;
         addEvent(document,"keydown",op_checkkey);
         
         op_rangeu = 1;
	     op_ranged = j-1;
	     op_display = true;
         if (op_pos <= 0) op_pos = 1;
         total=list.length-1;
         ophvr = true;
 }

function highlightRow()
{   clearhighlightcolor();
    if (op_pos < 1) {op_pos = 1;}
    document.getElementById('tat_tr'+op_pos).className="actbBgColor";
	op_pos = this.getAttribute('pos');
	document.getElementById('tat_tr'+op_pos).className="actbHColor";
}

function removehighlightRow()
{
 if (op_pos < 1) {op_pos = 1;}
  op_pos = this.getAttribute('pos');
}

//This function set value from table current element to value
function setvalue()
{
 trgtelem.value=this.innerHTML.replace(/&amp;/g, "&");
 setCaret(trgtelem,trgtelem.value.length);
 ophvr=false;
 removeOptions();
 callvalidatorOpt(trgtelem);
}


function removeOptions(){
        removeOpt();
}

function selectOption(){
    this.trgt.value = this.value;
    this.trgt.focus();
    removeOpt();
    callvalidatorOpt(trgt);
}


function op_checkkey(evt){

		if (!evt) evt = event;
		a = evt.keyCode;
		switch (a){
			case 38:
				op_goup();
				return false;
				break;
			case 40:
				op_godown();
				return false;
				break;
			case 13:
			if (op_display){
					var tempcode = document.getElementById('tat_tr'+op_pos).getElementsByTagName('TD');
				trgtelem.value =tempcode[0].innerHTML;
				 setCaret(trgtelem,trgtelem.value.length);
                ophvr=false;
                removeOptions();
					return false;
				}else{
					return true;
				}
				break;
		}
	}

	function op_movedown(){
	    op_rangeu++;
		op_ranged++;
	}
	function op_moveup(){
		op_rangeu--;
		op_ranged--;
	}

    
    function clearhighlightcolor()
    {
       for (var i = 1; i < row_cnt; i++){
         if(document.getElementById('tat_tr'+ i).className == "actbHColor")
         document.getElementById('tat_tr'+ i).className="actbBgColor";
       }
    } 

    function op_godown(){
       if (!op_display) return;
        clearhighlightcolor();
        var seltable=document.getElementById("div_table");
		if (op_pos > total) return;
		document.getElementById('tat_tr'+op_pos).className="actbBgColor";
		op_pos++;
		
		if(seltable != null)
		{
         if(op_pos>0)   
         {
         if((seltable.getElementsByTagName('tr')[op_pos - 1].offsetTop + seltable.getElementsByTagName('tr')[op_pos - 1].offsetHeight) > (document.getElementById("div_table").scrollTop + document.getElementById("div_table").clientHeight) ) 
            { 
              document.getElementById("div_table").scrollTop= seltable.getElementsByTagName('tr')[op_pos - 1].offsetTop + seltable.getElementsByTagName('tr')[op_pos - 1].offsetHeight - document.getElementById("div_table").clientHeight;
            }
         }
		}
		if (op_pos > op_ranged) op_movedown();
		document.getElementById('tat_tr'+op_pos).className="actbHColor";
	}
	
	function op_goup(){
		if (!op_display) return;
		clearhighlightcolor();
		var seltable=document.getElementById("div_table");
		if (op_pos == 1) return;
		document.getElementById('tat_tr'+op_pos).className="actbBgColor";
		op_pos--;
		
		if(seltable != null)
		{
          if(op_pos>0)   
          if((seltable.getElementsByTagName('tr')[op_pos - 1].offsetTop) < 
             (document.getElementById("div_table").scrollTop ) )
            { 
          document.getElementById("div_table").scrollTop= seltable.getElementsByTagName('tr')[op_pos - 1].offsetTop; // + seltable.getElementsByTagName('tr')[op_pos - 1].offsetHeight ; // - document.getElementById("div_table").clientHeight;
            }

		}
		if (op_pos < op_rangeu) op_moveup();
		document.getElementById('tat_tr'+op_pos).className="actbHColor";
	}
		
function removeOpt(){
if(ophvr == true) return; 
op_display = false;
var sel=document.getElementById("div_table");
if(sel != null){
    document.images[imgplusorigin].src = expandCollapseImgs[0].src;
    document.images[imgplusDestination].src = expandCollapseImgs[0].src;
    ophvr=false;
    sel.style.display="none";
    removeEvent(document,"keydown",op_checkkey);
    document.body.removeChild(sel);
    document.onclick = null;
    }
}

function callvalidatorOpt(trgtCtrl)
	{
	   //ValidatorValidate();
	  if(trgtCtrl.value.trim() != '')
	   {  
        if(trgtCtrl.Validators != null)
        {
            if(trgtCtrl.Validators.length > 0)
            {
                var val = trgtCtrl.Validators[0];
                val.evaluationfunction(val);
            }
        }
       } 
	}
//-----------------------------Passenger.js----------------------------------------------
var previousRoomIndex = 0;
var previousChildrenIndex = 0;
var previousAdultsIndex = 0;

function ValidatePassengerCount(sender,args)
{
        var totalSelectedPassengers=ConfigurePassengers();
        var numberOfChildren = maxPassengers - totalSelectedPassengers;
       
        if(totalSelectedPassengers <= maxPassengers)
        {
            args.IsValid = true;
        }
        else
        {
            sender.errormessage = PassengerClientSideErrorMessage.ValidRoomsNumber;
            args.IsValid = false;
        }  
}

function ValidateAdults(sender,args) 
{
    if(args != null)
    {
       var ctrl = document.getElementById(sender.controltovalidate)
        var totalSelectedPassengers=ConfigurePassengers();
        var numberOfChildren = maxPassengers - totalSelectedPassengers;
        if(totalSelectedPassengers <= maxPassengers)
        {
             args.IsValid = true;
        }
        else
        {      
            SetErrorMessage(sender,args,ctrl,ctrl.parentNode,PassengerClientSideErrorMessage.ValidAdultsNumber);
        }
    }
}

function ValidateChildren(sender,args) 
{
   if(args != null)
    {
        var ctrl = document.getElementById(sender.controltovalidate);
        
        var totalSelectedPassengers = ConfigurePassengers();
        var numberOfChildren = maxPassengers - totalSelectedPassengers;
        if(totalSelectedPassengers <= maxPassengers)
        {       
           args.IsValid = true;
        }
        else
        {
            SetErrorMessage(sender,args,ctrl,ctrl.parentNode.parentNode.parentNode,PassengerClientSideErrorMessage.ValidChildrenNumber);
        }
    }
}

function ValidateNumberOfInfants(sender, args) {
   if(args != null) {
        if(getTotalSelectedInfants() <= getTotalSelectedAdults()){       
           args.IsValid = true;
        }
        else{
            sender.errormessage = PassengerClientSideErrorMessage.InvalidNumberOfInfants;
            args.IsValid = false;
        }
    }
}

function getTotalSelectedAdults() {
    var numberOfAdults = 0;
    var numRooms = GetNumberOfRooms();
     
    for (var i = 0; i < numRooms; i++) {
        numberOfAdults = eval(numberOfAdults) + eval(passengerInfo[i].adults.value);
    }
    
    return numberOfAdults;
 }
 
  function getTotalSelectedInfants() {
    var numberOfInfants = 0;
    var numRooms = GetNumberOfRooms();
       
    for (var i = 0; i < numRooms; i++) {
        var numberOfChildrenInRoom = eval(passengerInfo[i].children.value);
        
        for (var j = 0; j < numberOfChildrenInRoom; j++) {
            if (passengerInfo[i].childAges[j].value == "0") {
                numberOfInfants = numberOfInfants + 1;
            }
        }
    }

    return numberOfInfants;
 }

function ValidateRoom(sender,args)
{
    if(args != null)
    {
   
        var ctrl = document.getElementById(sender.controltovalidate);
        var totalSelectedPassengers = ConfigurePassengers();
        var numberOfChildren = maxPassengers - totalSelectedPassengers;
         
        if(totalSelectedPassengers <= maxPassengers)
        {
            args.IsValid = true;
        }
        else
        {     
            sender.errormessage = PassengerClientSideErrorMessage.ValidRoomsNumber;
            Sender.innerHTML = PassengerClientSideErrorMessage.ValidRoomsNumber;
            args.IsValid = false;  
        }
    }   
}

function ConfigurePassengers() {
    var numberOfAdults = 0;
    var numberOfChildren = 0;
 
    var numRooms = GetNumberOfRooms();
   
    for (var i = 0; i < numRooms; i++)
    {
   	    numberOfAdults = eval(numberOfAdults) + eval(passengerInfo[i].adults.value);
        numberOfChildren = eval(numberOfChildren) + eval(passengerInfo[i].children.value);
    }
    totalSelectedPassengers = eval(numberOfAdults) + eval(numberOfChildren)
   
    return totalSelectedPassengers;
 }
 
  function ValidateChildAge(sender,args)
  {
      var controlValue = "";
      var ctrl = document.getElementById(sender.controltovalidate);

      if(IsNotNull(ctrl))
      {
        if(ctrl.parentNode.style.display == "block")
        {
            if(IsNotNull(ctrl.value))
            {
                controlValue = ctrl.value;
            }
            if(controlValue == null || controlValue == "")
            {
                sender.errormessage = PassengerClientSideErrorMessage.RequiredChildAge;
                sender.innerHTML = PassengerClientSideErrorMessage.RequiredChildAge;
                args.IsValid = false;
            }
        }
        else
        {
            args.IsValid = true;
        }
      }
   }
   
 function GetNumberOfRooms() 
 {
    var numberOfRooms = 0;	
    if((rt != null) || (rt.Room != null)){
        numberOfRooms = rt.Room.value;
    }  //Default if all else fails.
    else{
        numberOfRooms = 1;
    }
    return numberOfRooms;
 }
   
 function SetErrorMessage(Sender,Args,Ctrl,ParentNode, ErrorMessage)
 {
 	//alert(ErrorMessage);
   // if(ParentNode.style.display == "block")
    //{
       Sender.errormessage = ErrorMessage;
       Sender.innerHTML = ErrorMessage;
       // Ctrl.selectedIndex = previousAdultsIndex; // this line resets the invalid selection.
       Args.IsValid = false;

       
   /* }
    else
    {
        Args.IsValid = true;
    }*/
 }
 
 //----------------------------------------------------SamrtSearch.js---------------------------------------
 // Setup Origin and Destination switch images


function flipExpandCollapse(img){
	// Check what image we are on, and switch to the other one
	if(document.images[img].src == expandCollapseImgs[0].src && document.getElementById('div_table')) {
		document.images[img].src = expandCollapseImgs[1].src;
	}else{ document.images[img].src = expandCollapseImgs[0].src; }
} 
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();