

/*prototype.js*/

eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('C 12={5A:\'1.5.1.1\',1Z:{3X:!!(1j.3Y&&!1j.4C),5B:!!1j.4C,3r:3Z.41.3s(\'9n/\')>-1,4D:3Z.41.3s(\'4D\')>-1&&3Z.41.3s(\'6Y\')==-1},3b:{5C:!!11.25,42:!!1j.43,5D:(11.2y(\'2e\').44!==11.2y(\'5E\').44)},4E:\'<5F[^>]*>([\\\\S\\\\s]*?)<\\/5F>\',6Z:/^\\/\\*-9o-([\\s\\S]*)\\*\\/\\s*$/,2J:o(){},K:o(x){B x}};C 1C={1D:o(){B o(){7.26.2m(7,17)}}};C 1O=V N();N.M=o(a,b){J(C c 1u b){a[c]=b[c]}B a};N.M(N,{1H:o(a){1P{D(a===1l)B\'1l\';D(a===18)B\'18\';B a.1H?a.1H():a.28()}1V(e){D(e 5G 9p)B\'...\';2z e;}},1Q:o(a){C b=1m a;45(b){1I\'1l\':1I\'o\':1I\'9q\':B;1I\'9r\':B a.28()}D(a===18)B\'18\';D(a.1Q)B a.1Q();D(a.5H===11)B;C c=[];J(C d 1u a){C e=N.1Q(a[d]);D(e!==1l)c.O(d.1Q()+\': \'+e)}B\'{\'+c.1R(\', \')+\'}\'},70:o(a){C b=[];J(C c 1u a)b.O(c);B b},3t:o(a){C b=[];J(C c 1u a)b.O(a[c]);B b},2o:o(a){B N.M({},a)}});71.U.1J=o(){C a=7,2p=$A(17),47=2p.4F();B o(){B a.2m(47,2p.1v($A(17)))}};71.U.9s=o(b){C c=7,2p=$A(17),b=2p.4F();B o(a){B c.2m(b,[a||1j.9t].1v(2p))}};N.M(3u.U,{9u:o(){B 7.2K(2,16)},5I:o(){B 7+1},4G:o(a){$R(0,7,1c).1e(a);B 7},2K:o(a,b){C c=7.28(b||10);B\'0\'.4G(a-c.I)+c},1Q:o(){B 9v(7)?7.28():\'18\'}});9w.U.1Q=o(){B\'"\'+7.9x()+\'-\'+(7.9y()+1).2K(2)+\'-\'+7.9z().2K(2)+\'T\'+7.9A().2K(2)+\':\'+7.9B().2K(2)+\':\'+7.9C().2K(2)+\'"\'};C 72={73:o(){C a;J(C i=0,I=17.I;i<I;i++){C b=17[i];1P{a=b();1y}1V(e){}}B a}};C 74=1C.1D();74.U={26:o(a,b){7.3v=a;7.3c=b;7.4H=1d;7.3d()},3d:o(){7.3w=75(7.3e.1J(7),7.3c*5J)},5K:o(){D(!7.3w)B;9D(7.3w);7.3w=18},3e:o(){D(!7.4H){1P{7.4H=1c;7.3v(7)}9E{7.4H=1d}}}};N.M(1S,{5L:o(a){B a==18?\'\':1S(a)},76:{\'\\b\':\'\\\\b\',\'\\t\':\'\\\\t\',\'\\n\':\'\\\\n\',\'\\f\':\'\\\\f\',\'\\r\':\'\\\\r\',\'\\\\\':\'\\\\\\\\\'}});N.M(1S.U,{29:o(a,b){C c=\'\',2L=7,1f;b=17.5M.5N(b);1o(2L.I>0){D(1f=2L.1f(a)){c+=2L.3x(0,1f.4I);c+=1S.5L(b(1f));2L=2L.3x(1f.4I+1f[0].I)}1b{c+=2L,2L=\'\'}}B c},77:o(b,c,d){c=7.29.5N(c);d=d===1l?1:d;B 7.29(b,o(a){D(--d<0)B a[0];B c(a)})},78:o(a,b){7.29(a,b);B 7},9F:o(a,b){a=a||30;b=b===1l?\'...\':b;B 7.I>a?7.3x(0,a-b.I)+b:7},3f:o(){B 7.1q(/^\\s+/,\'\').1q(/\\s+$/,\'\')},79:o(){B 7.1q(/<\\/?[^>]+>/5O,\'\')},2q:o(){B 7.1q(V 1W(12.4E,\'7a\'),\'\')},7b:o(){C b=V 1W(12.4E,\'7a\');C c=V 1W(12.4E,\'9G\');B(7.1f(b)||[]).20(o(a){B(a.1f(c)||[\'\',\'\'])[1]})},3y:o(){B 7.7b().20(o(a){B 4J(a)})},4K:o(){C a=17.5M;a.2r.9H=7;B a.2e.2s},7c:o(){C c=11.2y(\'2e\');c.2s=7.79();B c.2a[0]?(c.2a.I>1?$A(c.2a).2A(\'\',o(a,b){B a+b.48}):c.2a[0].48):\'\'},4L:o(e){C f=7.3f().1f(/([^?#]*)(#.*)?$/);D(!f)B{};B f[1].3z(e||\'&\').2A({},o(a,b){D((b=b.3z(\'=\'))[0]){C c=7d(b.4F());C d=b.I>1?b.1R(\'=\'):b[0];D(d!=1l)d=7d(d);D(c 1u a){D(a[c].3g!=1E)a[c]=[a[c]];a[c].O(d)}1b a[c]=d}B a})},2b:o(){B 7.3z(\'\')},5I:o(){B 7.3x(0,7.I-1)+1S.9I(7.7e(7.I-1)+1)},4G:o(a){C b=\'\';J(C i=0;i<a;i++)b+=7;B b},4M:o(){C a=7.3z(\'-\'),5P=a.I;D(5P==1)B a[0];C b=7.4N(0)==\'-\'?a[0].4N(0).1X()+a[0].49(1):a[0];J(C i=1;i<5P;i++)b+=a[i].4N(0).1X()+a[i].49(1);B b},5Q:o(){B 7.4N(0).1X()+7.49(1).21()},9J:o(){B 7.29(/::/,\'/\').29(/([A-Z]+)([A-Z][a-z])/,\'#{1}4a#{2}\').29(/([a-z\\d])([A-Z])/,\'#{1}4a#{2}\').29(/-/,\'4a\').21()},9K:o(){B 7.29(/4a/,\'-\')},1H:o(c){C d=7.29(/[\\9L-\\9M\\\\]/,o(a){C b=1S.76[a[0]];B b?b:\'\\\\9N\'+a[0].7e().2K(2,16)});D(c)B\'"\'+d.1q(/"/g,\'\\\\"\')+\'"\';B"\'"+d.1q(/\'/g,\'\\\\\\\'\')+"\'"},1Q:o(){B 7.1H(1c)},5R:o(a){B 7.77(a||12.6Z,\'#{1}\')},7f:o(){C a=7.1q(/\\\\./g,\'@\').1q(/"[^"\\\\\\n\\r]*"/g,\'\');B(/^[,:{}\\[\\]0-9.\\-+9O-u \\n\\r\\t]*$/).2M(a)},4O:o(a){C b=7.5R();1P{D(!a||b.7f())B 4J(\'(\'+b+\')\')}1V(e){}2z V 9P(\'9Q 9R 7g 2B: \'+7.1H());},1p:o(a){B 7.3s(a)>-1},7h:o(a){B 7.3s(a)===0},7i:o(a){C d=7.I-a.I;B d>=0&&7.9S(a)===d},4b:o(){B 7==\'\'},7j:o(){B/^\\s*$/.2M(7)}});D(12.1Z.3r||12.1Z.3X){N.M(1S.U,{4K:o(){B 7.1q(/&/g,\'&7k;\').1q(/</g,\'&7l;\').1q(/>/g,\'&7m;\')},7c:o(){B 7.1q(/&7k;/g,\'&\').1q(/&7l;/g,\'<\').1q(/&7m;/g,\'>\')}})}1S.U.29.5N=o(b){D(1m b==\'o\')B b;C c=V 22(b);B o(a){B c.25(a)}};1S.U.9T=1S.U.4L;N.M(1S.U.4K,{2e:11.2y(\'2e\'),2r:11.9U(\'\')});7n(1S.U.4K)2e.5S(2r);C 22=1C.1D();22.7o=/(^|.|\\r|\\n)(#\\{(.*?)\\})/;22.U={26:o(a,b){7.7p=a.28();7.4P=b||22.7o},25:o(c){B 7.7p.29(7.4P,o(a){C b=a[1];D(b==\'\\\\\')B a[2];B b+1S.5L(c[a[3]])})}};C $1y={};C $2c=V 9V(\'"2z $2c" 9W 9X, 9Y "B" 9Z\');C 23={1e:o(b){C c=0;1P{7.2f(o(a){b(a,c++)})}1V(e){D(e!=$1y)2z e;}B 7},7q:o(a,b){C c=-a,5T=[],5U=7.2b();1o((c+=a)<5U.I)5T.O(5U.3x(c,c+a));B 5T.20(b)},a0:o(c){C d=1c;7.1e(o(a,b){d=d&&!!(c||12.K)(a,b);D(!d)2z $1y;});B d},a1:o(c){C d=1d;7.1e(o(a,b){D(d=!!(c||12.K)(a,b))2z $1y;});B d},7r:o(c){C d=[];7.1e(o(a,b){d.O((c||12.K)(a,b))});B d},7s:o(c){C d;7.1e(o(a,b){D(c(a,b)){d=a;2z $1y;}});B d},7t:o(c){C d=[];7.1e(o(a,b){D(c(a,b))d.O(a)});B d},a2:o(d,e){C f=[];7.1e(o(a,b){C c=a.28();D(c.1f(d))f.O((e||12.K)(a,b))});B f},1p:o(b){C c=1d;7.1e(o(a){D(a==b){c=1c;2z $1y;}});B c},a3:o(b,c){c=c===1l?18:c;B 7.7q(b,o(a){1o(a.I<b)a.O(c);B a})},2A:o(c,d){7.1e(o(a,b){c=d(c,a,b)});B c},5V:o(b){C c=$A(17).3x(1);B 7.20(o(a){B a[b].2m(a,c)})},a4:o(c){C d;7.1e(o(a,b){a=(c||12.K)(a,b);D(d==1l||a>=d)d=a});B d},a5:o(c){C d;7.1e(o(a,b){a=(c||12.K)(a,b);D(d==1l||a<d)d=a});B d},a6:o(c){C d=[],5W=[];7.1e(o(a,b){((c||12.K)(a,b)?d:5W).O(a)});B[d,5W]},4c:o(c){C d=[];7.1e(o(a,b){d.O(a[c])});B d},a7:o(c){C d=[];7.1e(o(a,b){D(!c(a,b))d.O(a)});B d},a8:o(e){B 7.20(o(a,b){B{1w:a,4d:e(a,b)}}).a9(o(c,d){C a=c.4d,b=d.4d;B a<b?-1:a>b?1:0}).4c(\'1w\')},2b:o(){B 7.20()},aa:o(){C c=12.K,2p=$A(17);D(1m 2p.1z()==\'o\')c=2p.ab();C d=[7].1v(2p).20($A);B 7.20(o(a,b){B c(d.4c(b))})},7u:o(){B 7.2b().I},1H:o(){B\'#<23:\'+7.2b().1H()+\'>\'}};N.M(23,{20:23.7r,7v:23.7s,2g:23.7t,ac:23.1p,ad:23.2b});C $A=1E.7w=o(a){D(!a)B[];D(a.2b){B a.2b()}1b{C b=[];J(C i=0,I=a.I;i<I;i++)b.O(a[i]);B b}};D(12.1Z.3r){$A=1E.7w=o(a){D(!a)B[];D(!(1m a==\'o\'&&a==\'[47 ae]\')&&a.2b){B a.2b()}1b{C b=[];J(C i=0,I=a.I;i<I;i++)b.O(a[i]);B b}}}N.M(1E.U,23);D(!1E.U.5X)1E.U.5X=1E.U.4Q;N.M(1E.U,{2f:o(a){J(C i=0,I=7.I;i<I;i++)a(7[i])},7x:o(){7.I=0;B 7},2h:o(){B 7[0]},1z:o(){B 7[7.I-1]},af:o(){B 7.2g(o(a){B a!=18})},7y:o(){B 7.2A([],o(a,b){B a.1v(b&&b.3g==1E?b.7y():[b])})},5Y:o(){C b=$A(17);B 7.2g(o(a){B!b.1p(a)})},3s:o(a){J(C i=0,I=7.I;i<I;i++)D(7[i]==a)B i;B-1},4Q:o(a){B(a!==1d?7:7.2b()).5X()},ag:o(){B 7.I>1?7:7[0]},ah:o(d){B 7.2A([],o(a,b,c){D(0==c||(d?a.1z()!=b:!a.1p(b)))a.O(b);B a})},2o:o(){B[].1v(7)},7u:o(){B 7.I},1H:o(){B\'[\'+7.20(N.1H).1R(\', \')+\']\'},1Q:o(){C c=[];7.1e(o(a){C b=N.1Q(a);D(b!==1l)c.O(b)});B\'[\'+c.1R(\', \')+\']\'}});1E.U.2b=1E.U.2o;o $w(a){a=a.3f();B a?a.3z(/\\s+/):[]}D(12.1Z.5B){1E.U.1v=o(){C a=[];J(C i=0,I=7.I;i<I;i++)a.O(7[i]);J(C i=0,I=17.I;i<I;i++){D(17[i].3g==1E){J(C j=0,7z=17[i].I;j<7z;j++)a.O(17[i][j])}1b{a.O(17[i])}}B a}}C 1F=o(a){D(a 5G 1F)7.7A(a);1b N.M(7,a||{})};N.M(1F,{3h:o(d){C e=[];e.3A=17.5M.7B;7.U.2f.5Z(d,o(b){D(!b.2i)B;C c=b.1w;D(c&&1m c==\'47\'){D(c.3g==1E)c.1e(o(a){e.3A(b.2i,a)});B}e.3A(b.2i,c)});B e.1R(\'&\')},1Q:o(c){C d=[];7.U.2f.5Z(c,o(a){C b=N.1Q(a.1w);D(b!==1l)d.O(a.2i.1Q()+\': \'+b)});B\'{\'+d.1R(\', \')+\'}\'}});1F.3h.7B=o(a,b,c){a=7C(a);D(b===1l)7.O(a);1b 7.O(a+\'=\'+(b==18?\'\':7C(b)))};N.M(1F.U,23);N.M(1F.U,{2f:o(a){J(C b 1u 7){C c=7[b];D(c&&c==1F.U[b])2c;C d=[b,c];d.2i=b;d.1w=c;a(d)}},70:o(){B 7.4c(\'2i\')},3t:o(){B 7.4c(\'1w\')},7A:o(c){B $H(c).2A(7,o(a,b){a[b.2i]=b.1w;B a})},4e:o(){C a;J(C i=0,I=17.I;i<I;i++){C b=7[17[i]];D(b!==1l){D(a===1l)a=b;1b{D(a.3g!=1E)a=[a];a.O(b)}}7D 7[17[i]]}B a},3h:o(){B 1F.3h(7)},1H:o(){B\'#<1F:{\'+7.20(o(a){B a.20(N.1H).1R(\': \')}).1R(\', \')+\'}>\'},1Q:o(){B 1F.1Q(7)}});o $H(a){D(a 5G 1F)B a;B V 1F(a)};D(o(){C i=0,60=o(a){7.2i=a};60.U.2i=\'ai\';J(C b 1u V 60(\'aj\'))i++;B i>1}())1F.U.2f=o(a){C b=[];J(C c 1u 7){C d=7[c];D((d&&d==1F.U[c])||b.1p(c))2c;b.O(c);C e=[c,d];e.2i=c;e.1w=d;a(e)}};4R=1C.1D();N.M(4R.U,23);N.M(4R.U,{26:o(a,b,c){7.4f=a;7.61=b;7.7E=c},2f:o(a){C b=7.4f;1o(7.1p(b)){a(b);b=b.5I()}},1p:o(a){D(a<7.4f)B 1d;D(7.7E)B a<7.61;B a<=7.61}});C $R=o(a,b,c){B V 4R(a,b,c)};C 1h={62:o(){B 72.73(o(){B V 7F()},o(){B V 7G(\'ak.7H\')},o(){B V 7G(\'al.7H\')})||1d},63:0};1h.3B={4g:[],2f:o(a){7.4g.2f(a)},7I:o(a){D(!7.1p(a))7.4g.O(a)},am:o(a){7.4g=7.4g.5Y(a)},4S:o(b,c,d,f){7.1e(o(a){D(1m a[b]==\'o\'){1P{a[b].2m(a,[c,d,f])}1V(e){}}})}};N.M(1h.3B,23);1h.3B.7I({4T:o(){1h.63++},2t:o(){1h.63--}});1h.4U=o(){};1h.4U.U={4V:o(a){7.14={1K:\'4h\',4W:1c,7J:\'64/x-an-5E-ao\',65:\'ap-8\',2C:\'\'};N.M(7.14,a||{});7.14.1K=7.14.1K.21();D(1m 7.14.2C==\'2B\')7.14.2C=7.14.2C.4L()}};1h.3C=1C.1D();1h.3C.7K=[\'aq\',\'ar\',\'as\',\'at\',\'66\'];1h.3C.U=N.M(V 1h.4U(),{67:1d,26:o(a,b){7.1r=1h.62();7.4V(b);7.4X(a)},4X:o(a){7.3D=a;7.1K=7.14.1K;C b=N.2o(7.14.2C);D(![\'7L\',\'4h\'].1p(7.1K)){b[\'au\']=7.1K;7.1K=\'4h\'}7.2C=b;D(b=1F.3h(b)){D(7.1K==\'7L\')7.3D+=(7.3D.1p(\'?\')?\'&\':\'?\')+b;1b D(/av|aw|6Y/.2M(3Z.41))b+=\'&4a=\'}1P{D(7.14.4T)7.14.4T(7.1r);1h.3B.4S(\'4T\',7,7.1r);7.1r.ax(7.1K.1X(),7.3D,7.14.4W);D(7.14.4W)3i(o(){7.68(1)}.1J(7),10);7.1r.7M=7.69.1J(7);7.7N();7.1T=7.1K==\'4h\'?(7.14.ay||b):18;7.1r.az(7.1T);D(!7.14.4W&&7.1r.7O)7.69()}1V(e){7.4i(e)}},69:o(){C a=7.1r.7P;D(a>1&&!((a==4)&&7.67))7.68(7.1r.7P)},7N:o(){C b={\'X-aA-aB\':\'7F\',\'X-12-5A\':12.5A,\'aC\':\'2r/aD, 2r/aE, 64/7Q, 2r/7Q, */*\'};D(7.1K==\'4h\'){b[\'7R-1g\']=7.14.7J+(7.14.65?\'; aF=\'+7.14.65:\'\');D(7.1r.7O&&(3Z.41.1f(/4D\\/(\\d{4})/)||[0,7S])[1]<7S)b[\'aG\']=\'aH\'}D(1m 7.14.7T==\'47\'){C c=7.14.7T;D(1m c.O==\'o\')J(C i=0,I=c.I;i<I;i+=2)b[c[i]]=c[i+1];1b $H(c).1e(o(a){b[a.2i]=a.1w})}J(C d 1u b)7.1r.aI(d,b[d])},2N:o(){B!7.1r.4Y||(7.1r.4Y>=aJ&&7.1r.4Y<aK)},68:o(a){C b=1h.3C.7K[a];C c=7.1r,4Z=7.4O();D(b==\'66\'){1P{7.67=1c;(7.14[\'3E\'+7.1r.4Y]||7.14[\'3E\'+(7.2N()?\'aL\':\'aM\')]||12.2J)(c,4Z)}1V(e){7.4i(e)}C d=7.6a(\'7R-1g\');D(d&&d.3f().1f(/^(2r|64)\\/(x-)?(aN|aO)5F(;.*)?$/i))7.7U()}1P{(7.14[\'3E\'+b]||12.2J)(c,4Z);1h.3B.4S(\'3E\'+b,7,c,4Z)}1V(e){7.4i(e)}D(b==\'66\'){7.1r.7M=12.2J}},6a:o(a){1P{B 7.1r.aP(a)}1V(e){B 18}},4O:o(){1P{C a=7.6a(\'X-7g\');B a?a.4O():18}1V(e){B 18}},7U:o(){1P{B 4J((7.1r.50||\'\').5R())}1V(e){7.4i(e)}},4i:o(a){(7.14.7V||12.2J)(7,a);1h.3B.4S(\'7V\',7,a)}});1h.6b=1C.1D();N.M(N.M(1h.6b.U,1h.3C.U),{26:o(c,d,e){7.51={2N:(c.2N||c),6c:(c.6c||(c.2N?18:c))};7.1r=1h.62();7.4V(e);C f=7.14.2t||12.2J;7.14.2t=(o(a,b){7.7W();f(a,b)}).1J(7);7.4X(d)},7W:o(){C a=7.51[7.2N()?\'2N\':\'6c\'];C b=7.1r.50;D(!7.14.3y)b=b.2q();D(a=$(a)){D(7.14.7X)V 7.14.7X(a,b);1b a.6d(b)}D(7.2N()){D(7.2t)3i(7.2t.1J(7),10)}}});1h.7Y=1C.1D();1h.7Y.U=N.M(V 1h.4U(),{26:o(a,b,c){7.4V(c);7.2t=7.14.2t;7.3c=(7.14.3c||2);7.3j=(7.14.3j||1);7.6e={};7.51=a;7.3D=b;7.4f()},4f:o(){7.14.2t=7.7Z.1J(7);7.3e()},5K:o(){7.6e.14.2t=1l;aQ(7.3w);(7.2t||12.2J).2m(7,17)},7Z:o(a){D(7.14.3j){7.3j=(a.50==7.80?7.3j*7.14.3j:1);7.80=a.50}7.3w=3i(7.3e.1J(7),7.3j*7.3c*5J)},3e:o(){7.6e=V 1h.6b(7.51,7.3D,7.14)}});o $(a){D(17.I>1){J(C i=0,6f=[],I=17.I;i<I;i++)6f.O($(17[i]));B 6f}D(1m a==\'2B\')a=11.aR(a);B G.M(a)}D(12.3b.5C){11.6g=o(a,b){C c=[];C d=11.25(a,$(b)||11,18,aS.aT,18);J(C i=0,I=d.aU;i<I;i++)c.O(d.aV(i));B c};11.52=o(a,b){C q=".//*[4j(1v(\' \', @6h, \' \'), \' "+a+" \')]";B 11.6g(q,b)}}1b{11.52=o(a,b){C c=($(b)||11.1T).2D(\'*\');C d=[],1i,4P=V 1W("(^|\\\\s)"+a+"(\\\\s|$)");J(C i=0,I=c.I;i<I;i++){1i=c[i];C e=1i.2j;D(e.I==0)2c;D(e==a||e.1f(4P))d.O(G.M(1i))}B d}}D(!1j.G)C G={};G.M=o(a){C F=12.3b;D(!a||!a.1k||a.2u==3||a.81||F.5D||a==1j)B a;C b={},1k=a.1k,4k=G.M.4k,T=G.19.2E;D(!F.42){N.M(b,G.19),N.M(b,G.19.53)}D(T[1k])N.M(b,T[1k]);J(C c 1u b){C d=b[c];D(1m d==\'o\'&&!(c 1u a))a[c]=4k.6i(d)}a.81=12.2J;B a};G.M.4k={6i:o(a){B 7[a]=7[a]||o(){B a.2m(18,[7].1v($A(17)))}}};G.19={6j:o(a){B $(a).Y.2F!=\'54\'},82:o(a){a=$(a);G[G.6j(a)?\'83\':\'84\'](a);B a},83:o(a){$(a).Y.2F=\'54\';B a},84:o(a){$(a).Y.2F=\'\';B a},4e:o(a){a=$(a);a.1L.6k(a);B a},6d:o(a,b){b=1m b==\'1l\'?\'\':b.28();$(a).2s=b.2q();3i(o(){b.3y()},10);B a},1q:o(a,b){a=$(a);b=1m b==\'1l\'?\'\':b.28();D(a.85){a.85=b.2q()}1b{C c=a.5H.86();c.6l(a);a.1L.aW(c.87(b.2q()),a)}3i(o(){b.3y()},10);B a},1H:o(d){d=$(d);C e=\'<\'+d.1k.21();$H({\'2O\':\'2O\',\'2j\':\'6h\'}).1e(o(a){C b=a.2h(),88=a.1z();C c=(d[b]||\'\').28();D(c)e+=\' \'+88+\'=\'+c.1H(1c)});B e+\'>\'},55:o(a,b){a=$(a);C c=[];1o(a=a[b])D(a.2u==1)c.O(G.M(a));B c},89:o(a){B $(a).55(\'1L\')},8a:o(a){B $A($(a).2D(\'*\')).1e(G.M)},8b:o(a){a=$(a).3F;1o(a&&a.2u!=1)a=a.3G;B $(a)},8c:o(a){D(!(a=$(a).3F))B[];1o(a&&a.2u!=1)a=a.3G;D(a)B[a].1v($(a).4l());B[]},6m:o(a){B $(a).55(\'8d\')},4l:o(a){B $(a).55(\'3G\')},aX:o(a){a=$(a);B a.6m().4Q().1v(a.4l())},1f:o(a,b){D(1m b==\'2B\')b=V L(b);B b.1f($(a))},aY:o(a,b,c){a=$(a);D(17.I==1)B $(a.1L);C d=a.89();B b?L.3H(d,b,c):d[c||0]},aZ:o(a,b,c){a=$(a);D(17.I==1)B a.8b();C d=a.8a();B b?L.3H(d,b,c):d[c||0]},b0:o(a,b,c){a=$(a);D(17.I==1)B $(L.1s.4m(a));C d=a.6m();B b?L.3H(d,b,c):d[c||0]},b1:o(a,b,c){a=$(a);D(17.I==1)B $(L.1s.4n(a));C d=a.4l();B b?L.3H(d,b,c):d[c||0]},b2:o(){C a=$A(17),15=$(a.4F());B L.6n(15,a)},52:o(a,b){B 11.52(b,a)},6o:o(a,b){a=$(a);D(12.1Z.3X){D(!a.8e)B 18;C t=G.56;D(t.3t[b])B t.3t[b](a,b);D(t.57[b])b=t.57[b];C c=a.8e[b];B c?c.48:18}B a.8f(b)},b3:o(a){B $(a).6p().2P},b4:o(a){B $(a).6p().2Q},58:o(a){B V G.59(a)},8g:o(a,b){D(!(a=$(a)))B;C c=a.2j;D(c.I==0)B 1d;D(c==b||c.1f(V 1W("(^|\\\\s)"+b+"(\\\\s|$)")))B 1c;B 1d},b5:o(a,b){D(!(a=$(a)))B;G.58(a).3A(b);B a},b6:o(a,b){D(!(a=$(a)))B;G.58(a).4e(b);B a},b7:o(a,b){D(!(a=$(a)))B;G.58(a)[a.8g(b)?\'4e\':\'3A\'](b);B a},3I:o(){1x.3I.2m(1x,17);B $A(17).2h()},5a:o(){1x.5a.2m(1x,17);B $A(17).2h()},b8:o(a){a=$(a);C b=a.3F;1o(b){C c=b.3G;D(b.2u==3&&!/\\S/.2M(b.48))a.6k(b);b=c}B a},4b:o(a){B $(a).2s.7j()},5b:o(a,b){a=$(a),b=$(b);1o(a=a.1L)D(a==b)B 1c;B 1d},8h:o(a){a=$(a);C b=2G.4o(a);1j.8h(b[0],b[1]);B a},1M:o(a,b){a=$(a);b=b==\'6q\'?\'5c\':b.4M();C c=a.Y[b];D(!c){C d=11.b9.ba(a,18);c=d?d[b]:18}D(b==\'2R\')B c?3J(c):1.0;B c==\'5d\'?18:c},bb:o(a){B $(a).1M(\'2R\')},bc:o(a,b,c){a=$(a);C d=a.Y;J(C e 1u b)D(e==\'2R\')a.5e(b[e]);1b d[(e==\'6q\'||e==\'5c\')?(d.6r===1l?\'5c\':\'6r\'):(c?e:e.4M())]=b[e];B a},5e:o(a,b){a=$(a);a.Y.2R=(b==1||b===\'\')?\'\':(b<0.6s)?0:b;B a},6p:o(a){a=$(a);C b=$(a).1M(\'2F\');D(b!=\'54\'&&b!=18)B{2Q:a.3K,2P:a.3L};C c=a.Y;C d=c.6t;C e=c.1A;C f=c.2F;c.6t=\'5f\';c.1A=\'3k\';c.2F=\'bd\';C g=a.8i;C h=a.8j;c.2F=f;c.1A=e;c.6t=d;B{2Q:g,2P:h}},be:o(a){a=$(a);C b=G.1M(a,\'1A\');D(b==\'6u\'||!b){a.6v=1c;a.Y.1A=\'5g\';D(1j.4C){a.Y.2S=0;a.Y.2T=0}}B a},bf:o(a){a=$(a);D(a.6v){a.6v=1l;a.Y.1A=a.Y.2S=a.Y.2T=a.Y.8k=a.Y.8l=\'\'}B a},bg:o(a){a=$(a);D(a.3M)B a;a.3M=a.Y.5h||\'5d\';D((G.1M(a,\'5h\')||\'6j\')!=\'5f\')a.Y.5h=\'5f\';B a},bh:o(a){a=$(a);D(!a.3M)B a;a.Y.5h=a.3M==\'5d\'?\'\':a.3M;a.3M=18;B a}};N.M(G.19,{bi:G.19.5b,bj:G.19.8c});D(12.1Z.5B){G.19.6w=G.19.1M;G.19.1M=o(a,b){45(b){1I\'2T\':1I\'2S\':1I\'8l\':1I\'8k\':D(G.6w(a,\'1A\')==\'6u\')B 18;6x:B G.6w(a,b)}}}1b D(12.1Z.3X){G.19.1M=o(a,b){a=$(a);b=(b==\'6q\'||b==\'5c\')?\'6r\':b.4M();C c=a.Y[b];D(!c&&a.8m)c=a.8m[b];D(b==\'2R\'){D(c=(a.1M(\'5i\')||\'\').1f(/5j\\(2R=(.*)\\)/))D(c[1])B 3J(c[1])/8n;B 1.0}D(c==\'5d\'){D((b==\'2Q\'||b==\'2P\')&&(a.1M(\'2F\')!=\'54\'))B a[\'24\'+b.5Q()]+\'2k\';B 18}B c};G.19.5e=o(a,b){a=$(a);C c=a.1M(\'5i\'),Y=a.Y;D(b==1||b===\'\'){Y.5i=c.1q(/5j\\([^\\)]*\\)/5O,\'\');B a}1b D(b<0.6s)b=0;Y.5i=c.1q(/5j\\([^\\)]*\\)/5O,\'\')+\'5j(2R=\'+(b*8n)+\')\';B a};G.19.6d=o(b,c){b=$(b);c=1m c==\'1l\'?\'\':c.28();C d=b.1k.1X();D([\'6y\',\'5k\',\'5l\',\'6z\'].1p(d)){C e=11.2y(\'2e\');45(d){1I\'6y\':1I\'5k\':e.2s=\'<2U><2V>\'+c.2q()+\'</2V></2U>\';5m=2;1y;1I\'5l\':e.2s=\'<2U><2V><5n>\'+c.2q()+\'</5n></2V></2U>\';5m=3;1y;1I\'6z\':e.2s=\'<2U><2V><5n><8o>\'+c.2q()+\'</8o></5n></2V></2U>\';5m=4}$A(b.2a).1e(o(a){b.6k(a)});5m.4G(o(){e=e.3F});$A(e.2a).1e(o(a){b.5S(a)})}1b{b.2s=c.2q()}3i(o(){c.3y()},10);B b}}1b D(12.1Z.4D){G.19.5e=o(a,b){a=$(a);a.Y.2R=(b==1)?0.bk:(b===\'\')?\'\':(b<0.6s)?0:b;B a}}G.56={57:{bl:"bm",bn:"bo",bp:"bq",br:"bs",bt:"bu",bv:"bw",bx:"by",bz:"bA",8p:"bB",bC:"bD"},3t:{5o:o(a,b){B a.8f(b,2)},4p:o(a,b){B $(a).2H(b)?b:18},Y:o(a){B a.Y.bE.21()},8q:o(a){C b=a.8r(\'8q\');B b.8s?b.48:18}}};(o(){N.M(7,{bF:7.5o,bG:7.5o,1g:7.5o,2d:7.4p,3l:7.4p,8p:7.4p,bH:7.4p})}).5Z(G.56.3t);G.19.53={2H:o(a,b){C t=G.56,E;b=t.57[b]||b;E=$(a).8r(b);B E&&E.8s}};G.19.2E={};N.M(G,G.19);D(!12.3b.42&&11.2y(\'2e\').44){1j.43={};1j.43.U=11.2y(\'2e\').44;12.3b.42=1c}G.2H=o(a,b){D(a.2H)B a.2H(b);B G.19.53.2H(a,b)};G.8t=o(g){C F=12.3b,T=G.19.2E;D(!g){N.M(1a,1a.19);N.M(1a.G,1a.G.19);N.M(G.19.2E,{"bI":N.2o(1a.19),"bJ":N.2o(1a.G.19),"bK":N.2o(1a.G.19),"8u":N.2o(1a.G.19)})}D(17.I==2){C h=g;g=17[1]}D(!h)N.M(G.19,g||{});1b{D(h.3g==1E)h.1e(M);1b M(h)}o M(a){a=a.1X();D(!G.19.2E[a])G.19.2E[a]={};N.M(G.19.2E[a],g)}o 5p(a,b,c){c=c||1d;C d=G.M.4k;J(C e 1u a){C f=a[e];D(!c||!(e 1u b))b[e]=d.6i(f)}}o 8v(a){C b;C c={"bL":"bM","8u":"bN","P":"bO","bP":"bQ","bR":"bS","bT":"bU","bV":"bW","bX":"bY","bZ":"3N","c0":"3N","c1":"3N","c2":"3N","c3":"3N","c4":"3N","Q":"c5","c6":"8w","c7":"8w","A":"c8","c9":"ca","cb":"cc","cd":"8x","ce":"8x","6y":"6A","cf":"6A","5k":"6A","5l":"cg","ch":"8y","6z":"8y","ci":"cj","ck":"cl"};D(c[a])b=\'6B\'+c[a]+\'G\';D(1j[b])B 1j[b];b=\'6B\'+a+\'G\';D(1j[b])B 1j[b];b=\'6B\'+a.5Q()+\'G\';D(1j[b])B 1j[b];1j[b]={};1j[b].U=11.2y(a).44;B 1j[b]}D(F.42){5p(G.19,43.U);5p(G.19.53,43.U,1c)}D(F.5D){J(C i 1u G.19.2E){C j=8v(i);D(1m j=="1l")2c;5p(T[i],j.U)}}N.M(G,G.19);7D G.2E};C cm={2F:G.82};1O.1U=o(a){7.6C=a};1O.1U.U={26:o(a,b){7.15=$(a);7.5q=b.2q();D(7.6C&&7.15.8z){1P{7.15.8z(7.6C,7.5q)}1V(e){C c=7.15.1k.1X();D([\'5k\',\'5l\'].1p(c)){7.3O(7.8A())}1b{2z e;}}}1b{7.2W=7.15.5H.86();D(7.3P)7.3P();7.3O([7.2W.87(7.5q)])}3i(o(){b.3y()},10)},8A:o(){C a=11.2y(\'2e\');a.2s=\'<2U><2V>\'+7.5q+\'</2V></2U>\';B $A(a.2a[0].2a[0].2a)}};C 1U=V N();1U.8B=1C.1D();1U.8B.U=N.M(V 1O.1U(\'cn\'),{3P:o(){7.2W.co(7.15)},3O:o(b){b.1e((o(a){7.15.1L.6D(a,7.15)}).1J(7))}});1U.8C=1C.1D();1U.8C.U=N.M(V 1O.1U(\'cp\'),{3P:o(){7.2W.6l(7.15);7.2W.8D(1c)},3O:o(b){b.4Q(1d).1e((o(a){7.15.6D(a,7.15.3F)}).1J(7))}});1U.8E=1C.1D();1U.8E.U=N.M(V 1O.1U(\'cq\'),{3P:o(){7.2W.6l(7.15);7.2W.8D(7.15)},3O:o(b){b.1e((o(a){7.15.5S(a)}).1J(7))}});1U.8F=1C.1D();1U.8F.U=N.M(V 1O.1U(\'cr\'),{3P:o(){7.2W.cs(7.15)},3O:o(b){b.1e((o(a){7.15.1L.6D(a,7.15.3G)}).1J(7))}});G.59=1C.1D();G.59.U={26:o(a){7.15=$(a)},2f:o(b){7.15.2j.3z(/\\s+/).2g(o(a){B a.I>0}).2f(b)},6E:o(a){7.15.2j=a},3A:o(a){D(7.1p(a))B;7.6E($A(7).1v(a).1R(\' \'))},4e:o(a){D(!7.1p(a))B;7.6E($A(7).5Y(a).1R(\' \'))},28:o(){B $A(7).1R(\' \')}};N.M(G.59.U,23);C L=1C.1D();L.U={26:o(a){7.2X=a.3f();7.8G()},8G:o(){D(12.3b.5C&&!(/\\[[\\w-]*?:/).2M(7.2X))B 7.8H();C e=7.2X,3Q=L.5r,h=L.1s,c=L.4d,2I,p,m;D(L.3m[e]){7.2l=L.3m[e];B}7.2l=["7.2l = o(8I) {","C r = 8I, h = L.1s, c = 1d, n;"];1o(e&&2I!=e&&(/\\S/).2M(e)){2I=e;J(C i 1u 3Q){p=3Q[i];D(m=e.1f(p)){7.2l.O(1m c[i]==\'o\'?c[i](m):V 22(c[i]).25(m));e=e.1q(m[0],\'\');1y}}}7.2l.O("B h.6F(n);\\n}");4J(7.2l.1R(\'\\n\'));L.3m[7.2X]=7.2l},8H:o(){C e=7.2X,3Q=L.5r,x=L.1B,2I,m;D(L.3m[e]){7.1B=L.3m[e];B}7.2l=[\'.//*\'];1o(e&&2I!=e&&(/\\S/).2M(e)){2I=e;J(C i 1u 3Q){D(m=e.1f(3Q[i])){7.2l.O(1m x[i]==\'o\'?x[i](m):V 22(x[i]).25(m));e=e.1q(m[0],\'\');1y}}}7.1B=7.2l.1R(\'\');L.3m[7.2X]=7.1B},4q:o(a){a=a||11;D(7.1B)B 11.6g(7.1B,a);B 7.2l(a)},1f:o(a){B 7.4q(11).1p(a)},28:o(){B 7.2X},1H:o(){B"#<L:"+7.2X.1H()+">"}};N.M(L,{3m:{},1B:{2Y:"//*",1i:"/*",3R:"/4r-2Z::*[1]",4s:\'/4r-2Z::*\',1k:o(m){D(m[1]==\'*\')B\'\';B"[8J-3n()=\'"+m[1].21()+"\' 6G 8J-3n()=\'"+m[1].1X()+"\']"},2j:"[4j(1v(\' \', @6h, \' \'), \' #{1} \')]",2O:"[@2O=\'#{1}\']",4t:"[@#{1}]",4u:o(m){m[3]=m[5]||m[6];B V 22(L.1B.5s[m[2]]).25(m)},4v:o(m){C h=L.1B.1t[m[1]];D(!h)B\'\';D(1m h===\'o\')B h(m);B V 22(L.1B.1t[m[1]]).25(m)},5s:{\'=\':"[@#{1}=\'#{3}\']",\'!=\':"[@#{1}!=\'#{3}\']",\'^=\':"[ct-7n(@#{1}, \'#{3}\')]",\'$=\':"[49(@#{1}, (2B-I(@#{1}) - 2B-I(\'#{3}\') + 1))=\'#{3}\']",\'*=\':"[4j(@#{1}, \'#{3}\')]",\'~=\':"[4j(1v(\' \', @#{1}, \' \'), \' #{3} \')]",\'|=\':"[4j(1v(\'-\', @#{1}, \'-\'), \'-#{3}-\')]"},1t:{\'2h-1i\':\'[31(6H-2Z::*)]\',\'1z-1i\':\'[31(4r-2Z::*)]\',\'4w-1i\':\'[31(6H-2Z::* 6G 4r-2Z::*)]\',\'4b\':"[5t(*) = 0 6I (5t(2r()) = 0 6G cu(2r(), \' \\t\\r\\n\', \'\') = \'\')]",\'3l\':"[@3l]",\'2d\':"[@2d]",\'8K\':"[31(@2d)]",\'31\':o(m){C e=m[6],p=L.5r,x=L.1B,2I,m,v;C a=[];1o(e&&2I!=e&&(/\\S/).2M(e)){2I=e;J(C i 1u p){D(m=e.1f(p[i])){v=1m x[i]==\'o\'?x[i](m):V 22(x[i]).25(m);a.O("("+v.49(1,v.I-1)+")");e=e.1q(m[0],\'\');1y}}}B"[31("+a.1R(" 6I ")+")]"},\'1n-1i\':o(m){B L.1B.1t.1n("(5t(./6H-2Z::*) + 1) ",m)},\'1n-1z-1i\':o(m){B L.1B.1t.1n("(5t(./4r-2Z::*) + 1) ",m)},\'1n-1G-1g\':o(m){B L.1B.1t.1n("1A() ",m)},\'1n-1z-1G-1g\':o(m){B L.1B.1t.1n("(1z() + 1 - 1A()) ",m)},\'2h-1G-1g\':o(m){m[6]="1";B L.1B.1t[\'1n-1G-1g\'](m)},\'1z-1G-1g\':o(m){m[6]="1";B L.1B.1t[\'1n-1z-1G-1g\'](m)},\'4w-1G-1g\':o(m){C p=L.1B.1t;B p[\'2h-1G-1g\'](m)+p[\'1z-1G-1g\'](m)},1n:o(c,m){C d,3o=m[6],6J;D(3o==\'8L\')3o=\'2n+0\';D(3o==\'8M\')3o=\'2n+1\';D(d=3o.1f(/^(\\d+)$/))B\'[\'+c+"= "+d[1]+\']\';D(d=3o.1f(/^(-?\\d*)?n(([+-])(\\d+))?/)){D(d[1]=="-")d[1]=-1;C a=d[1]?3u(d[1]):1;C b=d[2]?3u(d[2]):0;6J="[((#{6K} - #{b}) cv #{a} = 0) 6I "+"((#{6K} - #{b}) 2e #{a} >= 0)]";B V 22(6J).25({6K:c,a:a,b:b})}}}},4d:{1k:\'n = h.1k(n, r, "#{1}", c);   c = 1d;\',2j:\'n = h.2j(n, r, "#{1}", c); c = 1d;\',2O:\'n = h.2O(n, r, "#{1}", c);        c = 1d;\',4t:\'n = h.4t(n, r, "#{1}"); c = 1d;\',4u:o(m){m[3]=(m[5]||m[6]);B V 22(\'n = h.4u(n, r, "#{1}", "#{3}", "#{2}"); c = 1d;\').25(m)},4v:o(m){D(m[6])m[6]=m[6].1q(/"/g,\'\\\\"\');B V 22(\'n = h.4v(n, "#{1}", "#{6}", r, c); c = 1d;\').25(m)},2Y:\'c = "2Y";\',1i:\'c = "1i";\',3R:\'c = "3R";\',4s:\'c = "4s";\'},5r:{4s:V 1W(\'^\\\\s\'+\'*\'+\'~\\\\s*\'),1i:V 1W(\'^\\\\s\'+\'*\'+\'>\\\\s*\'),3R:V 1W(\'^\\\\s\'+\'*\'+\'\\\\+\\\\s*\'),2Y:/^\\s/,1k:V 1W(\'^\\\\s*\'+\'(\\\\\'+\'*|[\\\\w\\\\-]+)(\\\\b|$)?\'),2O:V 1W(\'^#([\\\\w\\\\-\\\\\'+\'*]+)(\\\\b|$)\'),2j:V 1W(\'^\\\\.([\\\\w\\\\-\\\\\'+\'*]+)(\\\\b|$)\'),4v:V 1W(\'^:((2h|1z|1n|1n-1z|4w)(-1i|-1G-1g)|4b|3l|(cw|cx)cy|31)(\\\\((.*?)\\\\))?(\\\\b|$|\\\\s|(?=:))\'),4t:V 1W(\'^\\\\[([\\\\w]+)\\\\]\'),4u:V 1W(\'\\\\[((?:[\\\\w-]*:)?[\\\\w-]+)\\\\s*(?:([!^$*~|]?=)\\\\s*(([\\\'"])([^\\\\]]*?)\\\\4|([^\\\'"][^\\\\]]*?)))?\\\\]\')},1s:{1v:o(a,b){J(C i=0,E;E=b[i];i++)a.O(E);B a},5u:o(a){J(C i=0,E;E=a[i];i++)E.2v=1c;B a},3S:o(a){J(C i=0,E;E=a[i];i++)E.2v=1l;B a},4I:o(a,b,c){a.2v=1c;D(b){J(C d=a.2a,i=d.I-1,j=1;i>=0;i--){E=d[i];D(E.2u==1&&(!c||E.2v))E.5v=j++}}1b{J(C i=0,j=1,d=a.2a;E=d[i];i++)D(E.2u==1&&(!c||E.2v))E.5v=j++}},6F:o(a){D(a.I==0)B a;C b=[],n;J(C i=0,l=a.I;i<l;i++)D(!(n=a[i]).2v){n.2v=1c;b.O(G.M(n))}B L.1s.3S(b)},2Y:o(a){C h=L.1s;J(C i=0,W=[],E;E=a[i];i++)h.1v(W,E.2D(\'*\'));B W},1i:o(a){C h=L.1s;J(C i=0,W=[],E;E=a[i];i++){J(C j=0,cz=[],1i;1i=E.2a[j];j++)D(1i.2u==1&&1i.1k!=\'!\')W.O(1i)}B W},3R:o(a){J(C i=0,W=[],E;E=a[i];i++){C b=7.4n(E);D(b)W.O(b)}B W},4s:o(a){C h=L.1s;J(C i=0,W=[],E;E=a[i];i++)h.1v(W,G.4l(E));B W},4n:o(a){1o(a=a.3G)D(a.2u==1)B a;B 18},4m:o(a){1o(a=a.8d)D(a.2u==1)B a;B 18},1k:o(a,b,c,d){c=c.1X();C e=[],h=L.1s;D(a){D(d){D(d=="2Y"){J(C i=0,E;E=a[i];i++)h.1v(e,E.2D(c));B e}1b a=7[d](a);D(c=="*")B a}J(C i=0,E;E=a[i];i++)D(E.1k.1X()==c)e.O(E);B e}1b B b.2D(c)},2O:o(a,b,c,d){C e=$(c),h=L.1s;D(!a&&b==11)B e?[e]:[];D(a){D(d){D(d==\'1i\'){J(C i=0,E;E=a[i];i++)D(e.1L==E)B[e]}1b D(d==\'2Y\'){J(C i=0,E;E=a[i];i++)D(G.5b(e,E))B[e]}1b D(d==\'3R\'){J(C i=0,E;E=a[i];i++)D(L.1s.4m(e)==E)B[e]}1b a=h[d](a)}J(C i=0,E;E=a[i];i++)D(E==e)B[e];B[]}B(e&&G.5b(e,b))?[e]:[]},2j:o(a,b,c,d){D(a&&d)a=7[d](a);B L.1s.8N(a,b,c)},8N:o(a,b,c){D(!a)a=L.1s.2Y([b]);C d=\' \'+c+\' \';J(C i=0,W=[],E,4x;E=a[i];i++){4x=E.2j;D(4x.I==0)2c;D(4x==c||(\' \'+4x+\' \').1p(d))W.O(E)}B W},4t:o(a,b,c){C d=[];J(C i=0,E;E=a[i];i++)D(G.2H(E,c))d.O(E);B d},4u:o(a,b,c,d,e){D(!a)a=b.2D("*");C f=L.5s[e],W=[];J(C i=0,E;E=a[i];i++){C g=G.6o(E,c);D(g===18)2c;D(f(g,d))W.O(E)}B W},4v:o(a,b,c,d,e){D(a&&e)a=7[e](a);D(!a)a=d.2D("*");B L.1t[b](a,c,d)}},1t:{\'2h-1i\':o(a,b,c){J(C i=0,W=[],E;E=a[i];i++){D(L.1s.4m(E))2c;W.O(E)}B W},\'1z-1i\':o(a,b,c){J(C i=0,W=[],E;E=a[i];i++){D(L.1s.4n(E))2c;W.O(E)}B W},\'4w-1i\':o(a,b,c){C h=L.1s;J(C i=0,W=[],E;E=a[i];i++)D(!h.4m(E)&&!h.4n(E))W.O(E);B W},\'1n-1i\':o(a,b,c){B L.1t.1n(a,b,c)},\'1n-1z-1i\':o(a,b,c){B L.1t.1n(a,b,c,1c)},\'1n-1G-1g\':o(a,b,c){B L.1t.1n(a,b,c,1d,1c)},\'1n-1z-1G-1g\':o(a,b,c){B L.1t.1n(a,b,c,1c,1c)},\'2h-1G-1g\':o(a,b,c){B L.1t.1n(a,"1",c,1d,1c)},\'1z-1G-1g\':o(a,b,c){B L.1t.1n(a,"1",c,1c,1c)},\'4w-1G-1g\':o(a,b,c){C p=L.1t;B p[\'1z-1G-1g\'](p[\'2h-1G-1g\'](a,b,c),b,c)},8O:o(a,b,d){D(a==0)B b>0?[b]:[];B $R(1,d).2A([],o(c,i){D(0==(i-b)%a&&(i-b)/a>=0)c.O(i);B c})},1n:o(c,d,e,f,g){D(c.I==0)B[];D(d==\'8L\')d=\'2n+0\';D(d==\'8M\')d=\'2n+1\';C h=L.1s,W=[],6L=[],m;h.5u(c);J(C i=0,E;E=c[i];i++){D(!E.1L.2v){h.4I(E.1L,f,g);6L.O(E.1L)}}D(d.1f(/^\\d+$/)){d=3u(d);J(C i=0,E;E=c[i];i++)D(E.5v==d)W.O(E)}1b D(m=d.1f(/^(-?\\d*)?n(([+-])(\\d+))?/)){D(m[1]=="-")m[1]=-1;C a=m[1]?3u(m[1]):1;C b=m[2]?3u(m[2]):0;C k=L.1t.8O(a,b,c.I);J(C i=0,E,l=k.I;E=c[i];i++){J(C j=0;j<l;j++)D(E.5v==k[j])W.O(E)}}h.3S(c);h.3S(6L);B W},\'4b\':o(a,b,c){J(C i=0,W=[],E;E=a[i];i++){D(E.1k==\'!\'||(E.3F&&!E.2s.1f(/^\\s*$/)))2c;W.O(E)}B W},\'31\':o(a,b,c){C h=L.1s,cA,m;C d=V L(b).4q(c);h.5u(d);J(C i=0,W=[],E;E=a[i];i++)D(!E.2v)W.O(E);h.3S(d);B W},\'8K\':o(a,b,c){J(C i=0,W=[],E;E=a[i];i++)D(!E.2d)W.O(E);B W},\'2d\':o(a,b,c){J(C i=0,W=[],E;E=a[i];i++)D(E.2d)W.O(E);B W},\'3l\':o(a,b,c){J(C i=0,W=[],E;E=a[i];i++)D(E.3l)W.O(E);B W}},5s:{\'=\':o(a,v){B a==v},\'!=\':o(a,v){B a!=v},\'^=\':o(a,v){B a.7h(v)},\'$=\':o(a,v){B a.7i(v)},\'*=\':o(a,v){B a.1p(v)},\'~=\':o(a,v){B(\' \'+a+\' \').1p(\' \'+v+\' \')},\'|=\':o(a,v){B(\'-\'+a.1X()+\'-\').1p(\'-\'+v.1X()+\'-\')}},8P:o(a,b){C c=V L(b).4q(),h=L.1s;h.5u(c);J(C i=0,W=[],15;15=a[i];i++)D(15.2v)W.O(15);h.3S(c);B W},3H:o(a,b,c){D(1m b==\'cB\'){c=b;b=1d}B L.8P(a,b||\'*\')[c||0]},6n:o(a,b){C c=b.1R(\',\'),b=[];c.78(/(([\\w#:.~>+()\\s-]+|\\*|\\[.*?\\])+)\\s*(,|$)/,o(m){b.O(m[1].3f())});C d=[],h=L.1s;J(C i=0,l=b.I,6M;i<l;i++){6M=V L(b[i].3f());h.1v(d,6M.4q(a))}B(l>1)?h.6F(d):d}});o $$(){B L.6n(11,$A(17))}C 1a={6N:o(a){$(a).6N();B a},8Q:o(d,e){C f=d.2A({},o(a,b){D(!b.2d&&b.3n){C c=b.3n,1w=$(b).1Y();D(1w!=18){D(c 1u a){D(a[c].3g!=1E)a[c]=[a[c]];a[c].O(1w)}1b a[c]=1w}}B a});B e?f:1F.3h(f)}};1a.19={4y:o(a,b){B 1a.8Q(1a.3T(a),b)},3T:o(c){B $A($(c).2D(\'*\')).2A([],o(a,b){D(1a.G.4z[b.1k.21()])a.O(G.M(b));B a})},cC:o(a,b,c){a=$(a);C d=a.2D(\'5w\');D(!b&&!c)B $A(d).20(G.M);J(C i=0,6O=[],I=d.I;i<I;i++){C e=d[i];D((b&&e.1g!=b)||(c&&e.3n!=c))2c;6O.O(G.M(e))}B 6O},6P:o(a){a=$(a);1a.3T(a).5V(\'6P\');B a},6Q:o(a){a=$(a);1a.3T(a).5V(\'6Q\');B a},8R:o(b){B $(b).3T().7v(o(a){B a.1g!=\'5f\'&&!a.2d&&[\'5w\',\'2g\',\'6R\'].1p(a.1k.21())})},cD:o(a){a=$(a);a.8R().8S();B a},4X:o(a,b){a=$(a),b=N.2o(b||{});C c=b.2C;b.2C=a.4y(1c);D(c){D(1m c==\'2B\')c=c.4L();N.M(b.2C,c)}D(a.2H(\'1K\')&&!b.1K)b.1K=a.1K;B V 1h.3C(a.6o(\'cE\'),b)}};1a.G={6S:o(a){$(a).6S();B a},2g:o(a){$(a).2g();B a}};1a.G.19={4y:o(a){a=$(a);D(!a.2d&&a.3n){C b=a.1Y();D(b!=1l){C c={};c[a.3n]=b;B 1F.3h(c)}}B\'\'},1Y:o(a){a=$(a);C b=a.1k.21();B 1a.G.4z[b](a)},7x:o(a){$(a).1w=\'\';B a},cF:o(a){B $(a).1w!=\'\'},8S:o(a){a=$(a);1P{a.6S();D(a.2g&&(a.1k.21()!=\'5w\'||![\'6T\',\'6N\',\'cG\'].1p(a.1g)))a.2g()}1V(e){}B a},6P:o(a){a=$(a);a.cH();a.2d=1c;B a},6Q:o(a){a=$(a);a.2d=1d;B a}};C cI=1a.G;C $F=1a.G.19.1Y;1a.G.4z={5w:o(a){45(a.1g.21()){1I\'8T\':1I\'8U\':B 1a.G.4z.8V(a);6x:B 1a.G.4z.6R(a)}},8V:o(a){B a.3l?a.1w:18},6R:o(a){B a.1w},2g:o(a){B 7[a.1g==\'2g-cJ\'?\'8W\':\'8X\'](a)},8W:o(a){C b=a.cK;B b>=0?7.6U(a.14[b]):18},8X:o(a){C b,I=a.I;D(!I)B 18;J(C i=0,b=[];i<I;i++){C c=a.14[i];D(c.cL)b.O(7.6U(c))}B b},6U:o(a){B G.M(a).2H(\'1w\')?a.1w:a.2r}};1O.5x=o(){};1O.5x.U={26:o(a,b,c){7.3c=b;7.15=$(a);7.3v=c;7.32=7.1Y();7.3d()},3d:o(){75(7.3e.1J(7),7.3c*5J)},3e:o(){C a=7.1Y();C b=(\'2B\'==1m 7.32&&\'2B\'==1m a?7.32!=a:1S(7.32)!=1S(a));D(b){7.3v(7.15,a);7.32=a}}};1a.G.5y=1C.1D();1a.G.5y.U=N.M(V 1O.5x(),{1Y:o(){B 1a.G.1Y(7.15)}});1a.5y=1C.1D();1a.5y.U=N.M(V 1O.5x(),{1Y:o(){B 1a.4y(7.15)}});1O.3a=o(){};1O.3a.U={26:o(a,b){7.15=$(a);7.3v=b;7.32=7.1Y();D(7.15.1k.21()==\'5E\')7.8Y();1b 7.3d(7.15)},6V:o(){C a=7.1Y();D(7.32!=a){7.3v(7.15,a);7.32=a}},8Y:o(){1a.3T(7.15).1e(7.3d.1J(7))},3d:o(a){D(a.1g){45(a.1g.21()){1I\'8T\':1I\'8U\':1x.3I(a,\'cM\',7.6V.1J(7));1y;6x:1x.3I(a,\'cN\',7.6V.1J(7));1y}}}};1a.G.3a=1C.1D();1a.G.3a.U=N.M(V 1O.3a(),{1Y:o(){B 1a.G.1Y(7.15)}});1a.3a=1C.1D();1a.3a.U=N.M(V 1O.3a(),{1Y:o(){B 1a.4y(7.15)}});D(!1j.1x){C 1x=V N()}N.M(1x,{cO:8,cP:9,cQ:13,cR:27,cS:37,cT:38,cU:39,cV:40,cW:46,cX:36,cY:35,cZ:33,d0:34,15:o(a){B $(a.d1||a.d2)},d3:o(a){B(((a.8Z)&&(a.8Z==1))||((a.6T)&&(a.6T==1)))},d4:o(a){B a.d5||(a.d6+(11.5z.3U||11.1T.3U))},d7:o(a){B a.d8||(a.d9+(11.5z.3V||11.1T.3V))},5K:o(a){D(a.90){a.90();a.da()}1b{a.db=1d;a.dc=1c}},3H:o(a,b){C c=1x.15(a);1o(c.1L&&(!c.1k||(c.1k.1X()!=b.1X())))c=c.1L;B c},2w:1d,91:o(a,b,c,d){D(!7.2w)7.2w=[];D(a.92){7.2w.O([a,b,c,d]);a.92(b,c,d)}1b D(a.3Y){7.2w.O([a,b,c,d]);a.3Y(\'3E\'+b,c)}},93:o(){D(!1x.2w)B;J(C i=0,I=1x.2w.I;i<I;i++){1x.5a.2m(7,1x.2w[i]);1x.2w[i][0]=18}1x.2w=1d},3I:o(a,b,c,d){a=$(a);d=d||1d;D(b==\'94\'&&(12.1Z.3r||a.3Y))b=\'95\';1x.91(a,b,c,d)},5a:o(a,b,c,d){a=$(a);d=d||1d;D(b==\'94\'&&(12.1Z.3r||a.3Y))b=\'95\';D(a.96){a.96(b,c,d)}1b D(a.97){1P{a.97(\'3E\'+b,c)}1V(e){}}}});D(12.1Z.3X)1x.3I(1j,\'dd\',1x.93,1d);C 2G={98:1d,6W:o(){7.99=1j.de||11.5z.3U||11.1T.3U||0;7.9a=1j.df||11.5z.3V||11.1T.3V||0},9b:o(a){C b=0,1N=0;3W{b+=a.3V||0;1N+=a.3U||0;a=a.1L}1o(a);B[1N,b]},4o:o(a){C b=0,1N=0;3W{b+=a.3p||0;1N+=a.3q||0;a=a.2x}1o(a);B[1N,b]},9c:o(a){C b=0,1N=0;3W{b+=a.3p||0;1N+=a.3q||0;a=a.2x;D(a){D(a.1k==\'9d\')1y;C p=G.1M(a,\'1A\');D(p==\'5g\'||p==\'3k\')1y}}1o(a);B[1N,b]},2x:o(a){D(a.2x)B a.2x;D(a==11.1T)B a;1o((a=a.1L)&&a!=11.1T)D(G.1M(a,\'1A\')!=\'6u\')B a;B 11.1T},dg:o(a,x,y){D(7.98)B 7.9e(a,x,y);7.4A=x;7.4B=y;7.24=7.4o(a);B(y>=7.24[1]&&y<7.24[1]+a.3L&&x>=7.24[0]&&x<7.24[0]+a.3K)},9e:o(a,x,y){C b=7.9b(a);7.4A=x+b[0]-7.99;7.4B=y+b[1]-7.9a;7.24=7.4o(a);B(7.4B>=7.24[1]&&7.4B<7.24[1]+a.3L&&7.4A>=7.24[0]&&7.4A<7.24[0]+a.3K)},dh:o(a,b){D(!a)B 0;D(a==\'di\')B((7.24[1]+b.3L)-7.4B)/b.3L;D(a==\'dj\')B((7.24[0]+b.3K)-7.4A)/b.3K},6X:o(a){C b=0,1N=0;C c=a;3W{b+=c.3p||0;1N+=c.3q||0;D(c.2x==11.1T)D(G.1M(c,\'1A\')==\'3k\')1y}1o(c=c.2x);c=a;3W{D(!1j.4C||c.1k==\'9d\'){b-=c.3V||0;1N-=c.3U||0}}1o(c=c.1L);B[1N,b]},2o:o(a,b){C c=N.M({9f:1c,9g:1c,9h:1c,9i:1c,3p:0,3q:0},17[2]||{});a=$(a);C p=2G.6X(a);b=$(b);C d=[0,0];C e=18;D(G.1M(b,\'1A\')==\'3k\'){e=2G.2x(b);d=2G.6X(e)}D(e==11.1T){d[0]-=11.1T.3q;d[1]-=11.1T.3p}D(c.9f)b.Y.2T=(p[0]-d[0]+c.3q)+\'2k\';D(c.9g)b.Y.2S=(p[1]-d[1]+c.3p)+\'2k\';D(c.9h)b.Y.2Q=a.3K+\'2k\';D(c.9i)b.Y.2P=a.3L+\'2k\'},dk:o(a){a=$(a);D(a.Y.1A==\'3k\')B;2G.6W();C b=2G.9c(a);C c=b[1];C d=b[0];C e=a.8i;C f=a.8j;a.9j=d-3J(a.Y.2T||0);a.9k=c-3J(a.Y.2S||0);a.9l=a.Y.2Q;a.9m=a.Y.2P;a.Y.1A=\'3k\';a.Y.2S=c+\'2k\';a.Y.2T=d+\'2k\';a.Y.2Q=e+\'2k\';a.Y.2P=f+\'2k\'},dl:o(a){a=$(a);D(a.Y.1A==\'5g\')B;2G.6W();a.Y.1A=\'5g\';C b=3J(a.Y.2S||0)-(a.9k||0);C c=3J(a.Y.2T||0)-(a.9j||0);a.Y.2S=b+\'2k\';a.Y.2T=c+\'2k\';a.Y.2P=a.9m;a.Y.2Q=a.9l}};D(12.1Z.3r){2G.4o=o(a){C b=0,1N=0;3W{b+=a.3p||0;1N+=a.3q||0;D(a.2x==11.1T)D(G.1M(a,\'1A\')==\'3k\')1y;a=a.2x}1o(a);B[1N,b]}}G.8t();',62,828,'|||||||this|||||||||||||||||function|||||||||||||return|var|if|node||Element||length|for||Selector|extend|Object|push||||||prototype|new|results||style|||document|Prototype||options|element||arguments|null|Methods|Form|else|true|false|each|match|type|Ajax|child|window|tagName|undefined|typeof|nth|while|include|replace|transport|handlers|pseudos|in|concat|value|Event|break|last|position|xpath|Class|create|Array|Hash|of|inspect|case|bind|method|parentNode|getStyle|valueL|Abstract|try|toJSON|join|String|body|Insertion|catch|RegExp|toUpperCase|getValue|Browser|map|toLowerCase|Template|Enumerable|offset|evaluate|initialize||toString|gsub|childNodes|toArray|continue|disabled|div|_each|select|first|key|className|px|matcher|apply||clone|args|stripScripts|text|innerHTML|onComplete|nodeType|_counted|observers|offsetParent|createElement|throw|inject|string|parameters|getElementsByTagName|ByTag|display|Position|hasAttribute|le|emptyFunction|toPaddedString|source|test|success|id|height|width|opacity|top|left|table|tbody|range|expression|descendant|sibling||not|lastValue||||||||EventObserver|BrowserFeatures|frequency|registerCallback|onTimerEvent|strip|constructor|toQueryString|setTimeout|decay|absolute|checked|_cache|name|formula|offsetTop|offsetLeft|WebKit|indexOf|values|Number|callback|timer|slice|evalScripts|split|add|Responders|Request|url|on|firstChild|nextSibling|findElement|observe|parseFloat|offsetWidth|offsetHeight|_overflow|Heading|insertContent|initializeRange|ps|adjacent|unmark|getElements|scrollLeft|scrollTop|do|IE|attachEvent|navigator||userAgent|ElementExtensions|HTMLElement|__proto__|switch||object|nodeValue|substring|_|empty|pluck|criteria|remove|start|responders|post|dispatchException|contains|cache|nextSiblings|previousElementSibling|nextElementSibling|cumulativeOffset|_flag|findElements|following|laterSibling|attrPresence|attr|pseudo|only|nodeClassName|serialize|Serializers|xcomp|ycomp|opera|Gecko|ScriptFragment|shift|times|currentlyExecuting|index|eval|escapeHTML|toQueryParams|camelize|charAt|evalJSON|pattern|reverse|ObjectRange|dispatch|onCreate|Base|setOptions|asynchronous|request|status|json|responseText|container|getElementsByClassName|Simulated|none|recursivelyCollect|_attributeTranslations|names|classNames|ClassNames|stopObserving|descendantOf|cssFloat|auto|setOpacity|hidden|relative|overflow|filter|alpha|TBODY|TR|depth|tr|_getAttr|copy|content|patterns|operators|count|mark|nodeIndex|input|TimedObserver|Observer|documentElement|Version|Opera|XPath|SpecificElementExtensions|form|script|instanceof|ownerDocument|succ|1000|stop|interpret|callee|prepareReplacement|gi|len|capitalize|unfilterJSON|appendChild|slices|array|invoke|falses|_reverse|without|call|Test|end|getTransport|activeRequestCount|application|encoding|Complete|_complete|respondToReadyState|onStateChange|getHeader|Updater|failure|update|updater|elements|_getElementsByXPath|class|findOrStore|visible|removeChild|selectNodeContents|previousSiblings|findChildElements|readAttribute|getDimensions|float|styleFloat|00001|visibility|static|_madePositioned|_getStyle|default|THEAD|TD|TableSection|HTML|adjacency|insertBefore|set|unique|or|preceding|and|predicate|fragment|indexed|selector|reset|matchingInputs|disable|enable|textarea|focus|button|optionValue|onElementEvent|prepare|page|KHTML|JSONFilter|keys|Function|Try|these|PeriodicalExecuter|setInterval|specialChar|sub|scan|stripTags|img|extractScripts|unescapeHTML|decodeURIComponent|charCodeAt|isJSON|JSON|startsWith|endsWith|blank|amp|lt|gt|with|Pattern|template|eachSlice|collect|detect|findAll|size|find|from|clear|flatten|arrayLength|merge|addPair|encodeURIComponent|delete|exclusive|XMLHttpRequest|ActiveXObject|XMLHTTP|register|contentType|Events|get|onreadystatechange|setRequestHeaders|overrideMimeType|readyState|xml|Content|2005|requestHeaders|evalResponse|onException|updateContent|insertion|PeriodicalUpdater|updateComplete|lastText|_extended|toggle|hide|show|outerHTML|createRange|createContextualFragment|attribute|ancestors|descendants|firstDescendant|immediateDescendants|previousSibling|attributes|getAttribute|hasClassName|scrollTo|clientWidth|clientHeight|bottom|right|currentStyle|100|td|readonly|title|getAttributeNode|specified|addMethods|TEXTAREA|findDOMClass|Mod|TableCol|TableCell|insertAdjacentHTML|contentFromAnonymousTable|Before|Top|collapse|Bottom|After|compileMatcher|compileXPathMatcher|root|local|enabled|even|odd|byClassName|getIndices|matchElements|serializeElements|findFirstElement|activate|checkbox|radio|inputSelector|selectOne|selectMany|registerFormCallbacks|which|preventDefault|_observeAndCache|addEventListener|unloadCache|keypress|keydown|removeEventListener|detachEvent|includeScrollOffsets|deltaX|deltaY|realOffset|positionedOffset|BODY|withinIncludingScrolloffsets|setLeft|setTop|setWidth|setHeight|_originalLeft|_originalTop|_originalWidth|_originalHeight|AppleWebKit|secure|RangeError|unknown|boolean|bindAsEventListener|event|toColorPart|isFinite|Date|getFullYear|getMonth|getDate|getHours|getMinutes|getSeconds|clearInterval|finally|truncate|im|data|fromCharCode|underscore|dasherize|x00|x1f|u00|Eaeflnr|SyntaxError|Badly|formed|lastIndexOf|parseQuery|createTextNode|Error|is|deprecated|use|instead|all|any|grep|inGroupsOf|max|min|partition|reject|sortBy|sort|zip|pop|member|entries|NodeList|compact|reduce|uniq|foo|bar|Msxml2|Microsoft|unregister|www|urlencoded|UTF|Uninitialized|Loading|Loaded|Interactive|_method|Konqueror|Safari|open|postBody|send|Requested|With|Accept|javascript|html|charset|Connection|close|setRequestHeader|200|300|Success|Failure|java|ecma|getResponseHeader|clearTimeout|getElementById|XPathResult|ORDERED_NODE_SNAPSHOT_TYPE|snapshotLength|snapshotItem|replaceChild|siblings|up|down|previous|next|getElementsBySelector|getHeight|getWidth|addClassName|removeClassName|toggleClassName|cleanWhitespace|defaultView|getComputedStyle|getOpacity|setStyle|block|makePositioned|undoPositioned|makeClipping|undoClipping|childOf|childElements|999999|colspan|colSpan|rowspan|rowSpan|valign|vAlign|datetime|dateTime|accesskey|accessKey|tabindex|tabIndex|enctype|encType|maxlength|maxLength|readOnly|longdesc|longDesc|cssText|href|src|multiple|FORM|INPUT|SELECT|OPTGROUP|OptGroup|TextArea|Paragraph|FIELDSET|FieldSet|UL|UList|OL|OList|DL|DList|DIR|Directory|H1|H2|H3|H4|H5|H6|Quote|INS|DEL|Anchor|IMG|Image|CAPTION|TableCaption|COL|COLGROUP|TFOOT|TableRow|TH|FRAMESET|FrameSet|IFRAME|IFrame|Toggle|beforeBegin|setStartBefore|afterBegin|beforeEnd|afterEnd|setStartAfter|starts|translate|mod|en|dis|abled|children|selectorType|number|getInputs|focusFirstElement|action|present|submit|blur|Field|one|selectedIndex|selected|click|change|KEY_BACKSPACE|KEY_TAB|KEY_RETURN|KEY_ESC|KEY_LEFT|KEY_UP|KEY_RIGHT|KEY_DOWN|KEY_DELETE|KEY_HOME|KEY_END|KEY_PAGEUP|KEY_PAGEDOWN|target|srcElement|isLeftClick|pointerX|pageX|clientX|pointerY|pageY|clientY|stopPropagation|returnValue|cancelBubble|unload|pageXOffset|pageYOffset|within|overlap|vertical|horizontal|absolutize|relativize'.split('|'),0,{}))

/*common.js*/

/** 
 * @fileoverview This javascript file contains the common functions. 
 * @author Hardik Shah
 * @author Pankit Bhanushali
 * @version 0.1 
 */
var goToMap = false;
var imgThmPath = "../../wt/"+bkTheme+"/images/";
var isIE = document.all?1:0;
var isIE6 = (window.XMLHttpRequest)?0:1;
var usrAgt = navigator.userAgent.toLowerCase();
var isFF = (usrAgt.indexOf('firefox')!=-1)?1:0;
var isOpera = (usrAgt.indexOf('opera')!=-1)?1:0;
var isSafari = ((usrAgt.indexOf('safari')!=-1)&&(usrAgt.indexOf('mac')!=-1))?1:0;
//enables background image cache for internet explorer 6
if (isIE6) try {document.execCommand("BackgroundImageCache", false, true);} catch(e){};
var clientTime = new Date();
var ClientTimezoneOffset = (clientTime.getTimezoneOffset() / 60);
var month = clientTime.getMonth() + 1;
var day = clientTime.getDate();
var year = clientTime.getFullYear();
var hours = clientTime.getHours();
var min = clientTime.getMinutes();
var sec = clientTime.getSeconds();
var localTime = year + "-" + month + "-" + day+" "+hours+ ":" + min+ ":" + sec;

// Global Variables
//var leadEmailDlg1;
var maindivid	= 'middle';
var url			= '';
var queryString	= '';
var lastToggled	;
var sessid	= '';
var YAHOO;
var jsPath = '../../';
var totalImgs;
var latLong = (getCookie("latLongCk")!=null)?(eval(getCookie("latLongCk"))[0]):null;
var isCountySearchEnabled = "0";
//lmsre specific
var lmsreDshbrdBitz= '{"mortgagerates" : "50","mcalc":"24","equity":"57","weather":"19","climate":"19","demographics" : "28","localnews" : "20","marketsnapshot":"46","crimestats":"49","valuehome":"58","afford":"51","localSearch":"39","crimestats":"49"}';
//var leadEmailDlg1;
/*metrospecific*/
var agtOffDlgBox = "";
//----------
/**
 * set new session id
 *
 */
function setSessid()
{
	var queryString  = "PHPSESSID="+sessid;
	var url = jsPath+"../classes/sessionSwitch.php";
	ajaxRequest(url,queryString,setID);
};

function setID(originalRequest)
{
	sessid = originalRequest.responseText;
};
function pageReload(originalRequest)
{
	if(originalRequest==null)originalRequest="";
	window.location.href = window.location.pathname+window.location.search;
};
/**
 * This is the Ajax function that requests the url and loads the HT response to particular Div/container
 * @param {String} url The url called by the Ajax request
 * @param {String} queryString The parameter String passed to the url 
 * @param {String} inDiv The Div/Container in which the response to be set
 * @param {String} callbackfn The callback function name
 */
 
function loadToDiv(url,queryString,inDiv,callbackfn,classNm)
{

	if(classNm==null)
		classNm = false;
		
	inDiv = typeof(inDiv) != 'undefined' ? inDiv : maindivid; 
	if(queryString=='')
	{
		queryString = "PHPSESSID="+sessid;
	}
	else
	{
		queryString = "PHPSESSID="+sessid+"&"+queryString;
	}
	/*
	var callbackfn = function(myAjaxObjext)
	{
		alert(inDiv+" :: "+$(inDiv)+" :: "+$(inDiv).innerHTML);
		alert(myAjaxObjext.responseText);
	}
	*/ 
	if(callbackfn==null)
	{
		var objAjax = new Ajax.Updater({success: inDiv},url, {method: 'post', parameters: queryString, onFailure: showError,onlyLatestOfClass:classNm,evalScripts: true});
	}
	else
	{
		var objAjax = new Ajax.Updater({success: inDiv},url, {method: 'post', parameters: queryString, onFailure: showError,onlyLatestOfClass:classNm,onSuccess: callbackfn, evalScripts: true});
	}
};

/**
 * This is the Ajax function that request the particular url 
 * @param {String} url The url called by the Ajax request
 * @param {String} queryString The parameter String passed to the url 
 * @param {String} callbackfn The callback function name
 * @param {boolean} requestType The type of the request to be made should synchronous or asynchronous(default)
 */
 
function ajaxRequest(url,queryString,callbackfn,requestType,classNm)
{

	if(classNm==null)
		classNm = false;
		
	if(requestType==null)
	{
		requestType=true;
	}

	if(queryString=='')
	{
		queryString = "PHPSESSID="+sessid;
	}
	else
	{
		queryString = "PHPSESSID="+sessid+"&"+queryString;
	}
	if(typeof(callbackfn) == 'undefined')
	{
		var objAjaxReq = new Ajax.Request(url, {method: 'post',asynchronous:requestType, parameters: queryString, onlyLatestOfClass:classNm, onFailure: showError, evalScripts: true});
	}
	else
	{
		var objAjaxReq = new Ajax.Request(url, {method: 'post',asynchronous:requestType, parameters: queryString, onlyLatestOfClass:classNm, onFailure: showError, onSuccess: callbackfn, evalScripts: true});
	}
};

/**
 * This is the Ajax function that request the particular url 
 * @param {String} url The url called by the Ajax request
 * @param {String} queryString The parameter String passed to the url 
 * @param {String} callbackfn The callback function name
 * @param {boolean} requestType The type of the request to be made should synchronous or asynchronous(default)
 */
 
function ajaxRequest_methodSelect(url,queryString,callbackfn,requestType,classNm,AjaxMethod)
{
	if(AjaxMethod == '' || AjaxMethod==null || AjaxMethod=='undefined')
	{
		AjaxMethod = 'post';
	}
	
	if(classNm==null)
		classNm = false;
		
	if(requestType==null)
	{
		requestType=true;
	}

	if(queryString=='')
	{
		queryString = "PHPSESSID="+sessid;
	}
	else
	{
		queryString = "PHPSESSID="+sessid+"&"+queryString;
	}
	if(typeof(callbackfn) == 'undefined')
	{
		var objAjaxReq = new Ajax.Request(url, {method: AjaxMethod,asynchronous:requestType, parameters: queryString, onlyLatestOfClass:classNm, onFailure: showError, evalScripts: true});
	}
	else
	{
		var objAjaxReq = new Ajax.Request(url, {method: AjaxMethod,asynchronous:requestType, parameters: queryString, onlyLatestOfClass:classNm, onFailure: showError, onSuccess: callbackfn, evalScripts: true});
	}
};

/**
 * Display the Error message when the Ajax request fails 
 * @param {String} originalRequest the request object
 */
function showError(originalRequest)
{
	if (originalRequest.status == 999)
	{
		window.location.href = "../auth/sessionExpire.php";
	}
	else
	{
		var response = originalRequest.responseText;
		$(maindivid).innerHTML = response;
		alert(response);
	}
};


/***********************General Section********************/

/**
 * Includes the single javaScript file dynamically
 * @param {String} jsFile the javscript filename
 */

function includeJS(jsFile)
{
	var fileName = jsFile.substr(eval(jsFile.lastIndexOf('/')+1),eval(jsFile.lastIndexOf('\.')-eval(jsFile.lastIndexOf('/')+1)));
	var myScript = $(fileName+"Script");
	if(fileName+"Script" == "mlsSrc.searchPs.template.jsScript")
	{
		myScript = null;
	}	
	if(myScript==null)
	{
		var myScr = document.createElement('script');
		myScr.id= fileName+"Script";
		myScr.src = jsFile;
		document.getElementsByTagName('head')[0].appendChild(myScr);
	}
};
/**
 * Includes the single css file dynamically
 * @param {String} cssFile the css filename
 */

function includeCSS(cssFile)
{
	var fileName = cssFile.substr(eval(cssFile.lastIndexOf('/')+1),eval(cssFile.lastIndexOf('\.')-eval(cssFile.lastIndexOf('/')+1)));
	var myStyle = $(fileName+"Css");
	
	if(myStyle==null)
	{
		var myCss = document.createElement('link');
		myCss.id= fileName+"Css";
		myCss.href = cssFile;
		myCss.rel = "stylesheet";
		myCss.type = "text/css";
		document.getElementsByTagName('head')[0].appendChild(myCss);
	}
};
/**
 * Includes the multiple css files dynamically
 * @param {Array} cssFileArr the array of css filenames
 */
function includeMultiCSS(cssFileArr)
{
	var insrtCssFileArr = $A(cssFileArr);
	insrtCssFileArr.each(function(node) {
		includeCSS(node);
	});
};

/**
 * Function for flipping images on mouse over
 * (Normal images should be with suffix '_n' and hoverimages should be with suffix '_h')
 * @requires changeImgOnHover The changeImgOnHover function
 */

function revealThumbnail()
{
	imgsrc = this.src;
	newimgsrc=(imgsrc.replace("_n","_h"));
	this.src=newimgsrc;
};

/**
 * Function for flipping images on mouse out
 * (Normal images should be with suffix '_n' and hoverimages should be with suffix '_h')
 * @requires changeImgOnHover The changeImgOnHover function
 */	
function hideThumbnail()
{
	imgsrc = this.src;
	newimgsrc=(imgsrc.replace("_h","_n"));
	this.src=newimgsrc;
};
/**
 * Function for Toggle Divs using Effect for showing details
 * @param {id} id current Div id to be opened
 */
var sameFlag = false;
function menuToggle(id)
{
    if (lastToggled == null || $(lastToggled) == null) 
	{
		//Effect.toggle(id,'blind',{duration:0.2});
		lastToggled = id;
		//Element.Toggle(id);
		$(id).style.display = "block";
    }
    else if (lastToggled == id) 
	{     		       
		//Effect.toggle(id,'blind',{duration:0.2});	
		//Element.Toggle(id);
		if(sameFlag==false)
		{
			$(id).style.display = "none";
			sameFlag = true;
		}
		else
		{
			$(id).style.display = "block";
			sameFlag = false;
		}
    }  
    else
	{
	   $(lastToggled).style.display = "none";
       lastToggled = id;
       $(id).style.display = "block";
    }
    
};


/**
 * InPlace Editor function for Textbox
 * @param {TextBox Id} elementId The current element ID
 * @param {Button Id}  edtBtn The button id
 * @param {fileToCommunicate} The file that is call on click of edit button
 */
function createInplaceEditorText(elementId,fileToCommunicate,fieldName,tableName,condition,edtBtn,validation,size)
{
	
	if(elementId==null || fileToCommunicate == null || fieldName==null || tableName == null || condition == null)
	{
		alert("Parameters missing: elementId, fileToCommunicate, fieldName, tableName, and condition are mandatory");	
	}
	else
	{
		
		if(validation==null){validation="";}
		
		if(edtBtn==null){edtBtn="";}
		
		if(size==null)
			var inplaceEditorTxt =new Ajax.InPlaceEditor(elementId, fileToCommunicate,{ clickToEditText : "You can Edit this by clicking on it.", callback: function(form, value) { return 'value=' + escape(value)+'&fieldName='+escape(fieldName)+'&tableName='+escape(tableName)+'&condition='+escape(condition) },validate:validation,externalControl:edtBtn,highlightcolor:'#74AACF'});
		else
			var inplaceEditorTxt =new Ajax.InPlaceEditor(elementId, fileToCommunicate,{ clickToEditText : "You can Edit this by clicking on it.", size:size, callback: function(form, value) { return 'value=' + escape(value)+'&fieldName='+escape(fieldName)+'&tableName='+escape(tableName)+'&condition='+escape(condition) },validate:validation,externalControl:edtBtn,highlightcolor:'#74AACF'});
	
		return inplaceEditorTxt;
	}
};

/**
 * InPlace Editor function for TextArea
 * @param {TextArea Id} elementId The current element ID
 * @param {Button Id}  edtBtn The button id
 * @param {fileToCommunicate} The file that is call on click of edit button
 */
function createInplaceEditorTextArea(elementId,fileToCommunicate,fieldName,tableName,condition,edtBtn)
{
	if(elementId==null || fileToCommunicate == null || fieldName==null || tableName == null || condition == null)
	{
		alert("Parameters missing: elementId, fileToCommunicate, fieldName, tableName, and condition are mandatory");	
	}
	else
	{
		if(Ajax.InPlaceEditor == null)
		{
			alert("Please include Scriptaculous.js from vendor folder for using inplace Editor");
		}
		else
		{
			if(edtBtn==null){edtBtn="";}
			var inplaceEditorTA = new Ajax.InPlaceEditor(elementId, fileToCommunicate, { clickToEditText : "You can Edit this by clicking on it.", callback: function(form, value) { return 'value=' + escape(value)+'&fieldName='+escape(fieldName)+'&tableName='+escape(tableName)+'&condition='+escape(condition) },externalControl:edtBtn,rows:4,cols:60,highlightcolor:'#74AACF'});
			return inplaceEditorTA;
		}
	}
};

/**
 * InPlace Editor function for ComboBox
 * @param {ComboBox Id} elementId The current element ID
 * @param {Button Id}  edtBtn The button id
 * @param {fileToCommunicate} The file that is call on click of edit button
 */
function createInplaceEditorCombo(elementId,fileToCommunicate,optionArray,fieldName,tableName,condition,edtBtn)
{
	if(elementId==null || fileToCommunicate == null || fieldName==null || tableName == null || condition == null)
	{
		alert("Parameters missing: elementId, fileToCommunicate, fieldName, tableName, and condition are mendatory");	
	}
	else
	{
		if(Ajax.InPlaceEditor == null)
		{
			alert("Please include Scriptaculous.js from vendor folder for using inplace Editor");
		}
		else
		{
			var queryString = '&combo=1&fieldName='+escape(fieldName)+'&tableName='+escape(tableName)+'&condition='+escape(condition);
			if(edtBtn==null){edtBtn=""}
			var inplaceEditorTA = new Ajax.InPlaceCollectionEditor (elementId,fileToCommunicate,{collection:optionArray, ajaxOptions: {parameters: queryString },externalControl:edtBtn,highlightcolor:'#74AACF'} );
			return inplaceEditorTA;
		}
	}
};

function StringBuffer() { this.buffer = []; }
StringBuffer.prototype.append = function(string)
{
	this.buffer.push(string);
	return this;
}

StringBuffer.prototype.toString = function()
{
	return this.buffer.join("");
}

// YUI Related Functions 
/**
 * Create the YAHOO Panel dynamically
 * @param {id} elid The div id of the Yahoo Panel
 * @return Panel object
 */
 function setDlgPos(elid)
{
	
	if(elid=="initWithMe")
		return;
	if($(elid))
	{
		var f_cw = f_clientWidth();
		var f_ch = f_clientHeight();
		var el_H = $(elid).getHeight();
		var el_W = $(elid).getWidth();
		$(elid).style.position = "static";
		$(elid).style.top = eval(Math.abs(f_ch/2) - Math.abs(el_H/2))+"px";
		$(elid).style.left = eval(Math.abs(f_cw/2) - Math.abs(el_W/2))+"px";
		var myObj = document.getElementsByClassName('underlay');
		if(myObj != null)
		{
			var myLen = myObj.length;
			for(var i=0;i<myLen;i++)
			{
				myObj[i].removeClassName('underlay');
			}
		}			
	}	
}
function createDialog(elid)
{
	var useShim;
	var ua = navigator.userAgent.toLowerCase();
	if (isIE){
		useShim = true;
	}else{
		useShim = false;
		setDlgPos(elid);
	}
	if(YAHOO==null)
	{
		alert("Please include yahoo.js");
	}
	else
	{			
		dlgBox = new YAHOO.widget.Panel(elid, {modal:true, visible:false, fixedcenter:true, constraintoviewport:true, shim:useShim, draggable:false} );
		dlgBox.render();
		if (!isIE6)
			dlgBox.beforeShowEvent.subscribe(function(){setDlgPos(elid);}, this);					
		return dlgBox;
	}
};

/**
 * Create the YAHOO TabView dynamically
 * @param {id} parentDiv The div id that will contain the Tabs
 * @param {Array} keyValArr the Key:Value paired array of Labels:Urls
 * @param {String} orientation the Tab Orientation ie. left,right,top or bottom
 * @return TabView object
 */
function loadTabs(parentDiv,keyValArr,orientation,noOfTabs)
{
	if(noOfTabs!=null)
	{
		loadTabsDynamically(parentDiv,keyValArr,orientation,noOfTabs);
		return;
	}
	orientation = typeof(orientation) != 'undefined' ? orientation : 'top';

	var hashArrLabels = $A($H(keyValArr).keys());
	var hashArrURLs   = $A($H(keyValArr).values());

    var tabView = new YAHOO.widget.TabView({id: parentDiv , orientation: orientation});
    var activate = false;
	for(i=0;i<hashArrLabels.length;i++)
	{
		if(i==0)
			activate = true;
		else
			activate = false;

		if(hashArrURLs[i]==null || hashArrURLs[i]=="")
		{
			dataSource = hashArrURLs[i];
		}
		else
		{
			if(hashArrURLs[i].search(/\?/)<0)
			{
				dataSource = hashArrURLs[i]+"?PHPSESSID="+sessid;
			}
			else
			{
				dataSource = hashArrURLs[i]+"&PHPSESSID="+sessid;
			}
		}
		tabView.addTab(new YAHOO.widget.Tab({
			label: hashArrLabels[i],
			dataSrc: dataSource,
			active: activate,
			cacheData: false /******************To be kept true in production *************/
	 	 }));
	}
    
    YAHOO.util.Event.onContentReady(parentDiv, function() {
        tabView.appendTo(parentDiv);
    });
    
  	for(i=0;i<$A($H(keyValArr)).length;i++)
	{
		tabView.getTab(i).addListener('contentChange',function (){
				this.get('content').evalScripts();
			});
	}
	return tabView;
};

var start = 1;
function addTabs(tabElem,keyValArr,enableArr)
{
	var hashArrLabels = $A($H(keyValArr).keys());
	var hashArrURLs   = $A($H(keyValArr).values());

	for(i=0;i<hashArrLabels.length;i++)
	{

		tabElem.addTab(new YAHOO.widget.Tab({
			label: hashArrLabels[i],
			dataSrc: hashArrURLs[i],
			active: true,
			disabled : enableArr[i],
			cacheData: false /******************To be kept true in production *************/
	    }));
	}
	var noOfTabs = 0;
	while(tabElem.getTab(noOfTabs))
	{
		noOfTabs = noOfTabs + 1;
	}
	for(i=1;i<noOfTabs;i++)
	{
		tabElem.getTab(i).addListener('contentChange',function (){
					this.get('content').evalScripts();
			});

	}
	return tabElem;
};
/************************************************************************/
/**
* Create Custom Confirm Dialog Box
*/
		var popupMessageBoxForm;
    function popupMessageBox (title, message, icon, buttons,wth,hgt) 
    {
    		if(!wth || wth == null)
    			wth = "300px";
    		if(!hgt || hgt == null)
    			hgt = "100px";
        // our container must exist for this to work				
        if (!YAHOO.util.Dom.inDocument('popupMessageBoxContainer'))
					return;
				
        // create the confirm dialog
        var ybuttons = [];
        for (var i=0; i<buttons.length; i++) 
        {
            ybuttons[i] = { text:buttons[i].label, handler:buttons[i].func, isDefault:(i==0?true:false) };
        }

	    	popupMessageBoxForm = new YAHOO.widget.SimpleDialog("popupMessageBoxContainer1", 
				{
	            modal: true,
	     			  width: wth+"px",
	     			  height:hgt+"px",
	            fixedcenter: true,
	            visible: false,
	            draggable: false,
	            close: true,
	            text: message,
	            icon: icon,
	            constraintoviewport: true,
	            buttons: ybuttons
	           
	      });
		    popupMessageBoxForm.setHeader(title);
		    popupMessageBoxForm.render("popupMessageBoxContainer");     
		    popupMessageBoxForm.show();

    }

    function popupMessageBoxHide() 
    {
        popupMessageBoxForm.hide();
    }

    function YAlert (title, msg, icon,button,wth,hgt) 
    {
        if (icon === undefined) icon = YAHOO.widget.SimpleDialog.ICON_ALARM;
        popupMessageBox (title, msg, icon,[{label:button,func:popupMessageBoxHide}],wth,hgt);        
    }

    function YConfirm (msg, yeshandler,nohandler,button1,button2,wth,hgt) 
    {
        popupMessageBox('Please Confirm...', msg,YAHOO.widget.SimpleDialog.ICON_HELP, [{label:button1,func:function(){popupMessageBoxHide();yeshandler();}},{label:button2,func:function(){popupMessageBoxHide();nohandler();}}],wth,hgt);
    } 
/************************************************************************/    
/** 
 * Function that returns the string in particular Language
 * @param {String} str The string to be converted in the selected language
 * @return String of the language currently set. 
 */

function getText(str) /* Returns Related Language from Language Array String */
{
	//below line, which uses Localisation variable, is commented by pratik as hardik removed line for loading of individual Language.JS file in code clean up
	//if (Localisation[str]) str = Localisation[str];
	return str;
};

/**************************Added Without Comments *******************/
function _alert(str) 
{
	alert(getText(str));
};
function _confirm(str)
{
	return confirm(getText(str));
};

/*************************Added Functions ************************/
/**
 * @author Shah Pratik
 * @date 31/01/2007
 * @param {String | Int} search string or integer
 * @return {boolean} return index of needle if needle is found in array else return false
 */
Array.prototype.in_array = function ( needle ) 
{
	var len = this.length;
	for ( var x = 0 ; x <= len ; x++ ) 
	{
		if ( this[x] == needle ) 
		{
			return x;
		}
	}
	return false;
};

/**
 * Function that sets the cookie.
 * @author Sanjev Dutta
 * @date 31/01/2007
 * @param {String} name of the cookie
 * @param {String} value of the cookie
 * @param {String} expires expiry time for the cookie
 * @param {String} path path
 * @param {String} domain domain
 * @param {String} secure Secure cookie (SSL)
 */
function setCookie(name, value, expires, path, domain, secure)
{
	//alert(name+" "+value);
	if (name == "msgboxCK" || name == "msgboxCKSignin" || name == "msgboxtutorialcook" || name == "rememberIdPassword" || name == "Cpanel_rememberIdPassword" || name == "pv" || name == "strWidgetCookie")
	{
		if (expires)
		{
			expires = expires.toGMTString();
		}
	}
	else
		expires = null;

  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires : "") +
      ((path) ? "; path=" + path : "; path=/") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
};

/**
 * Function that gets the cookie value for given name.
 * @author Sanjev Dutta
 * @date 31/01/2007
 * @param {String} name of the cookie
 * @return (String) returns the value for the given cookie name.
 */
function getCookie(name)
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1)
	{
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} 
	else
		begin += 2;
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
		end = dc.length;
	var returnCookie = unescape(dc.substring(begin + prefix.length, end));
	if((returnCookie == null) || (returnCookie == 'null'))
	{
		returnCookie = "";
	}

	return returnCookie;
	
};

/**
 * Function that deletes the cookie.
 * @author Sanjev Dutta
 * @date 31/01/2007
 * @param {String} name of the cookie
 * @param {String} path path
 * @param {String} domain domain
 * @return (void)
 */
function deleteCookie(name, path, domain)
{
	if (getCookie(name))
	{
		document.cookie = name + "=" + ((path) ? "; path=" + path : "path=/") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
};
/********in place editor code******/


/******************************** Thanks To Scriptaculaus****************************/
// script.aculo.us effects.js v1.7.0_beta2, Mon Dec 18 23:38:56 CET 2006

// Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
// Contributors:
//  Justin Palmer (http://encytemedia.com/)
//  Mark Pilgrim (http://diveintomark.org/)
//  Martin Bialasinki
// 
// script.aculo.us is freely distributable under the terms of an MIT-style license.
// For details, see the script.aculo.us web site: http://script.aculo.us/ 

/************************** Ajax Inplace Editor ********************************/	
Ajax.InPlaceEditor = Class.create();
Ajax.InPlaceEditor.defaultHighlightColor = "#FFFF99";
Ajax.InPlaceEditor.prototype = {
  initialize: function(element, url, options) {
    this.url = url;
    this.element = $(element);

    this.options = Object.extend({
      paramName: "value",
      okButton: true,
      okText: "save",
      cancelLink: true,
      cancelText: "cancel",
      savingText: "Saving...",
      clickToEditText: "Click to edit",
      rows: 1,
      onComplete: function(transport, element) {
        new Effect.Highlight(element, {startcolor: this.options.highlightcolor});
      },
      onFailure: function(transport) {
        alert("Error communicating with the server: " + transport.responseText.stripTags());
      },
      callback: function(form) {
        return Form.serialize(form);
      },
      handleLineBreaks: true,
      loadingText: 'Loading...',
      savingClassName: 'inplaceeditor-saving',
      loadingClassName: 'inplaceeditor-loading',
      formClassName: 'inplaceeditor-form',
      highlightcolor: Ajax.InPlaceEditor.defaultHighlightColor,
      highlightendcolor: "#E2E2DF",
      externalControl: null,
      submitOnBlur: false,
      ajaxOptions: {},
      evalScripts: false
    }, options || {});

    if(!this.options.formId && this.element.id) {
      this.options.formId = this.element.id + "-inplaceeditor";
      if ($(this.options.formId)) {
        // there's already a form with that name, don't specify an id
        this.options.formId = null;
      }
    }
    
    if (this.options.externalControl) {
      this.options.externalControl = $(this.options.externalControl);
    }
    
    this.originalBackground = Element.getStyle(this.element, 'background-color');
    if (!this.originalBackground) {
      this.originalBackground = "transparent";
    }
    
    this.element.title = this.options.clickToEditText;
    
    this.onclickListener = this.enterEditMode.bindAsEventListener(this);
    this.mouseoverListener = this.enterHover.bindAsEventListener(this);
    this.mouseoutListener = this.leaveHover.bindAsEventListener(this);
    Event.observe(this.element, 'click', this.onclickListener);
    Event.observe(this.element, 'mouseover', this.mouseoverListener);
    Event.observe(this.element, 'mouseout', this.mouseoutListener);
    if (this.options.externalControl) {
      Event.observe(this.options.externalControl, 'click', this.onclickListener);
      Event.observe(this.options.externalControl, 'mouseover', this.mouseoverListener);
      Event.observe(this.options.externalControl, 'mouseout', this.mouseoutListener);
    }
  },
  enterEditMode: function(evt) {
    if (this.saving) return;
    if (this.editing) return;
    this.editing = true;
    this.onEnterEditMode();
    if (this.options.externalControl) {
      Element.hide(this.options.externalControl);
    }
    Element.hide(this.element);
    this.createForm();
    this.element.parentNode.insertBefore(this.form, this.element);
    // stop the event to avoid a page refresh in Safari
    
    if (evt) {
      Event.stop(evt);
    }
    return false;
  },
  createForm: function() {
    this.form = document.createElement("form");
    this.form.id = this.options.formId;
    var uid = this.options.formId;
	var arrid = uid.split('-');    
    var txtid = arrid[0];
    Element.addClassName(this.form, this.options.formClassName)
    this.form.onsubmit = this.onSubmit.bind(this,txtid);

    this.createEditField();

    if (this.options.textarea) {
      var br = document.createElement("br");
      this.form.appendChild(br);
    }

    if (this.options.okButton) {
      okButton = document.createElement("input");
      okButton.type = "submit";
      okButton.value = this.options.okText;
      okButton.className = 'editor_ok_button';
	  okButton.style.fontSize  = '13px';
	  okButton.style.height ='25px';
	  okButton.style.paddingTop = '7px' ;
	  this.form.appendChild(okButton);
    }
    if (this.options.cancelLink) {
      cancelLink = document.createElement("a");
      cancelLink.href = "#";
      cancelLink.appendChild(document.createTextNode(this.options.cancelText));
      cancelLink.onclick = this.onclickCancel.bind(this);
      cancelLink.style.fontSize  = '13px';
	  cancelLink.style.fontWeight  = 'normal';
	  cancelLink.className = 'editor_cancel';      
	  this.form.appendChild(cancelLink);
    }
  },
  hasHTMLLineBreaks: function(string) {
    if (!this.options.handleLineBreaks) return false;
    return string.match(/<br/i) || string.match(/<p>/i);
  },
  convertHTMLLineBreaks: function(string) {
    return string.replace(/<br>/gi, "\n").replace(/<br\/>/gi, "\n").replace(/<\/p>/gi, "\n").replace(/<p>/gi, "");
  },
  createEditField: function() {
    var text;
    if(this.options.loadTextURL) {
      text = this.options.loadingText;
    } else {
    	if(this.getText()=="none")
    	 	text="";
    	else
      		text = this.getText();
    }

    var obj = this;
    
    if (this.options.rows == 1 && !this.hasHTMLLineBreaks(text)) {
      this.options.textarea = false;
      var textField = document.createElement("input");
      textField.obj = this;
      textField.type = "text";
      textField.name = this.options.paramName;
      textField.value = text;
      textField.style.backgroundColor = this.options.highlightcolor;
      textField.className = 'editor_field';
      textField.style.backgroundColor = 'white';
      var size = this.options.size || this.options.cols || 0;
      if (size != 0) textField.size = size;
      if (this.options.submitOnBlur)
        textField.onblur = this.onSubmit.bind(this);
      this.editField = textField;
    } else {
      this.options.textarea = true;
      var textArea = document.createElement("textarea");
      textArea.obj = this;
      textArea.name = this.options.paramName;
      textArea.value = this.convertHTMLLineBreaks(text);
      textArea.rows = this.options.rows;
      textArea.cols = this.options.cols || 40;
      textArea.className = 'editor_field_ta';   
      textArea.style.backgroundColor = 'white';   
      if (this.options.submitOnBlur)
        textArea.onblur = this.onSubmit.bind(this);
      this.editField = textArea;
    }
    
    if(this.options.loadTextURL) {
      this.loadExternalText();
    }
    this.form.appendChild(this.editField);
  },
  getText: function() {
    return this.element.innerHTML;
  },
  loadExternalText: function() {
    Element.addClassName(this.form, this.options.loadingClassName);
    this.editField.disabled = true;
    new Ajax.Request(
      this.options.loadTextURL,
      Object.extend({
        asynchronous: true,
        onComplete: this.onLoadedExternalText.bind(this)
      }, this.options.ajaxOptions)
    );
  },
  onLoadedExternalText: function(transport) {
    Element.removeClassName(this.form, this.options.loadingClassName);
    this.editField.disabled = false;
    this.editField.value = transport.responseText.stripTags();
    Field.scrollFreeActivate(this.editField);
  },
  onclickCancel: function() {
  	var erArr = document.getElementsByClassName("errMsg")
	$A(erArr).each(function(node){
			node.innerHTML="&nbsp;";
	});
  	if(this.editField.value=="")
  	{
  		this.editField.value=="none"
  	}
  	if ($('selTag'))
  	{
	  	if($('selTag').options[$('selTag').selectedIndex].value=="A" && $('divOH')!=null)
	  		$('divOH').style.display = "none";
  	}  	
    this.onComplete();
    this.leaveEditMode();
    return false;
  },
  onFailure: function(transport) {
    this.options.onFailure(transport);
    if (this.oldInnerHTML) {
      this.element.innerHTML = this.oldInnerHTML;
      this.oldInnerHTML = null;
    }
    return false;
  },
  onSubmit: function(id,id2) {
	var erArr;
  	if(!this.validate(id))
  	{
  		if(navigator.appName=="Microsoft Internet Explorer")
		  	this.editField.className = "textboxRedIn";
		 else
		 	this.editField.style.border = "1px solid red";
  		
  		erArr = document.getElementsByClassName("errMsg")
  		$A(erArr).each(function(node){
				node.innerHTML=alertErrorMsg;
  		});
  		
  		return false;
  	}
  	else
  	{
  		erArr = document.getElementsByClassName("errMsg")
  		$A(erArr).each(function(node){
				node.innerHTML="&nbsp;";
  		});
	    // onLoading resets these so we need to save them away for the Ajax call
	    var form = this.form;
	    var value = this.editField.value;
	    // do this first, sometimes the ajax call returns before we get a chance to switch on Saving...
	    // which means this will actually switch on Saving... *after* we've left edit mode causing Saving...
	    // to be displayed indefinitely
	    this.onLoading();
	    if (this.options.evalScripts) {
	    	this.options.ajaxOptions.parameters = this.options.callback(form, value);
	      new Ajax.Request(
	        this.url, Object.extend({
	          parameters: this.options.callback(form, value),
	          onComplete: this.onComplete.bind(this),
	          onFailure: this.onFailure.bind(this),
	          asynchronous:true, 
	          evalScripts:true
	        }, this.options.ajaxOptions));
	    } else  {
    	 this.options.ajaxOptions.parameters = this.options.callback(form, value);
	      new Ajax.Updater(
	        { success: this.element,
	          // don't update on failure (this could be an option)
	          failure: null }, 
	        this.url, Object.extend({
	          parameters: this.options.callback(form, value),
	          onComplete: this.onComplete.bind(this),
	          onFailure: this.onFailure.bind(this)
	        }, this.options.ajaxOptions));
	    }
	    // stop the event to avoid a page refresh in Safari
	    if (arguments.length > 1) {
	      Event.stop(arguments[0]);
	    }
	    return false;
  	}
  },
  onLoading: function() {
    this.saving = true;
    this.removeForm();
    this.leaveHover();
    this.showSaving();
  },
  showSaving: function() {
    this.oldInnerHTML = this.element.innerHTML;
    this.element.innerHTML = this.options.savingText;
    Element.addClassName(this.element, this.options.savingClassName);
    this.element.style.backgroundColor = this.originalBackground;
    Element.show(this.element);
  },
  removeForm: function() {
    if(this.form) {
      if (this.form.parentNode) Element.remove(this.form);
      this.form = null;
    }
  },
  enterHover: function() {
    if (this.saving) return;
    this.element.style.backgroundColor = this.options.highlightcolor;
    if (this.effect) {
      this.effect.cancel();
    }
    Element.addClassName(this.element, this.options.hoverClassName)
  },
  leaveHover: function() {
    if (this.options.backgroundColor) {
      this.element.style.backgroundColor = this.oldBackground;
    }
    Element.removeClassName(this.element, this.options.hoverClassName)
    if (this.saving) return;
    this.effect = new Effect.Highlight(this.element, {
      startcolor: this.options.highlightcolor,
      endcolor: this.options.highlightendcolor,
      restorecolor: this.originalBackground
    });
  },
  leaveEditMode: function() {
    Element.removeClassName(this.element, this.options.savingClassName);
    this.removeForm();
    this.leaveHover();
    this.element.style.backgroundColor = this.originalBackground;
    Element.show(this.element);
    if (this.options.externalControl) {
      Element.show(this.options.externalControl);
    }
    this.editing = false;
    this.saving = false;
    this.oldInnerHTML = null;
    this.onLeaveEditMode();
  },
  onComplete: function(transport) {
    this.leaveEditMode();
    this.options.onComplete.bind(this)(transport, this.element);
  },
  onEnterEditMode: function() {},
  onLeaveEditMode: function() {
  		onLeaveEditMd = window.onLeaveEditMd || false;
  	    if(onLeaveEditMd==false)
  	    	return;
  	    else
	    	onLeaveEditMd();
  },
  
  validate:function(id)
  {
	    validArg=this.options.validate;
		if(validArg!="" && typeof(validArg)!="undefined" && validArg!=null)
			id=validArg;
		
		switch(id)
		{
			case "ufname" : 
				return this.editField;
				break; 

			case "umname" : 
				return this.editField;
				break; 

			case "ulname" : 
				return this.editField;
				break; 

			case "name" : 
				return (isBlank(this.editField,"value"))
				break; 
				
			case "uemail":
			case "email":
				return emailIsValid(this.editField);
				break;

			case "ualtemail":
				return chkOnlyEmailIsValid(this.editField);
				break;

			case "uMobile":
			case "cell":
				return (mobileIsValid(this.editField,"Number"));
				break;

			case "uPhone":
			case "phone":
				return (phoneIsValid(this.editField,"Number"));
				break;

			case "uFax":
			case "fax":
				return (faxIsValid(this.editField,"Number"));
				break;
			case "site":
				return isValidURL(this.editField);
				break;
				
			case "uZip":
			case "zip":
				return zipIsValid(this.editField,"msg");
				break;
			
			case "uCity":
				//return isOfLength(this.editField,2);
				return albhabetIsValid(this.editField,"Only alphabets allowed.","City ");
				break;

			case "uState":
			case "state":
				//return isOfLength(this.editField,2);
				return albhabetIsValid(this.editField,"Only alphabets allowed.","State ",2,2);
				break;
			case "year":
				return isYear(this.editField);
				break;
			case "room":
				return (isOfLength(this.editField,3,"max") && numberIsValid(this.editField,"Enter valid Number",""));
				break;
			case "sqft":
				return isSqft(this.editField);
				break;
			default:
				return true;
		}
  	},  
 
  dispose: function() {
    if (this.oldInnerHTML) {
      this.element.innerHTML = this.oldInnerHTML;
    }
    this.leaveEditMode();
    Event.stopObserving(this.element, 'click', this.onclickListener);
    Event.stopObserving(this.element, 'mouseover', this.mouseoverListener);
    Event.stopObserving(this.element, 'mouseout', this.mouseoutListener);
    if (this.options.externalControl) {
      Event.stopObserving(this.options.externalControl, 'click', this.onclickListener);
      Event.stopObserving(this.options.externalControl, 'mouseover', this.mouseoverListener);
      Event.stopObserving(this.options.externalControl, 'mouseout', this.mouseoutListener);
    }
  }
};


/************************** Ajax Inplace Editor Ends ********************************/	
/***************************Ajax Inplace collectin Editor*******************************/

Ajax.InPlaceCollectionEditor = Class.create();
Object.extend(Ajax.InPlaceCollectionEditor.prototype, Ajax.InPlaceEditor.prototype);
Object.extend(Ajax.InPlaceCollectionEditor.prototype, {
createEditField: function() {
if (!this.cached_selectTag) {
var selectTag = document.createElement("select");
selectTag.id = "selTag";
var collection = this.options.collection || [];
var optionTag;
collection.each(function(e,i) {
optionTag = document.createElement("option");
optionTag.value = (e instanceof Array) ? e[0] : e;
if((typeof this.options.value == 'undefined') &&
((e instanceof Array) ? this.element.innerHTML == e[1] : e == optionTag.value)) optionTag.selected = true;
if(this.options.value==optionTag.value) optionTag.selected = true;
optionTag.appendChild(document.createTextNode((e instanceof Array) ? e[1] : e));
selectTag.appendChild(optionTag);
}.bind(this));
this.cached_selectTag = selectTag;
}
this.editField = this.cached_selectTag;
if(this.options.loadTextURL) this.loadExternalText();
this.form.appendChild(this.editField);

value2 = this.options.ajaxOptions.parameters;
//alert(value2);
this.options.callback = function(form, value) {
	if(value2.indexOf('value=')>=0)
	{
		value2 = value2.substr(value2.indexOf('&'),eval(value2.length-value2.indexOf('&')))
	}
	newVal = "value=" + encodeURIComponent(value)+value2;
//alert(newVal);	
	//this.options.ajaxOptions.parameters = "value=" + encodeURIComponent(value)+value2;
return newVal;
}
}
});


/*******************************Ajax Inplace collectin Editor Ends********************************/
/************************** Basic Effect For Inplace Editor *********************************/
String.prototype.parseColor = function() {  
  var color = '#';
  if(this.slice(0,4) == 'rgb(') {  
    var cols = this.slice(4,this.length-1).split(',');  
    var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);  
  } else {  
    if(this.slice(0,1) == '#') {  
      if(this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();  
      if(this.length==7) color = this.toLowerCase();  
    }  
  }  
  return(color.length==7 ? color : (arguments[0] || this));  
};

/*--------------------------------------------------------------------------*/

Element.collectTextNodes = function(element) {  
  return $A($(element).childNodes).collect( function(node) {
    return (node.nodeType==3 ? node.nodeValue : 
      (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
  }).flatten().join('');
};

Element.collectTextNodesIgnoreClass = function(element, className) {  
  return $A($(element).childNodes).collect( function(node) {
    return (node.nodeType==3 ? node.nodeValue : 
      ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? 
        Element.collectTextNodesIgnoreClass(node, className) : ''));
  }).flatten().join('');
};

Element.setContentZoom = function(element, percent) {
  element = $(element);  
  element.setStyle({fontSize: (percent/100) + 'em'});   
  if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
  return element;
};

Element.getOpacity = function(element){
  return $(element).getStyle('opacity');
};

Element.setOpacity = function(element, value){
  return $(element).setStyle({opacity:value});
} ; 
 
Element.getInlineOpacity = function(element){  
  return $(element).style.opacity || '';
};

Element.forceRerendering = function(element) {
  try {
    element = $(element);
    var n = document.createTextNode(' ');
    element.appendChild(n);
    element.removeChild(n);
  } catch(e) { }
};

/*--------------------------------------------------------------------------*/

Array.prototype.call = function() {
  var args = arguments;
  this.each(function(f){ f.apply(this, args) });
};

/*--------------------------------------------------------------------------*/

var Effect = {
  _elementDoesNotExistError: {
    name: 'ElementDoesNotExistError',
    message: 'The specified DOM element does not exist, but is required for this effect to operate'
  },
  tagifyText: function(element) {
    if(typeof Builder == 'undefined')
      throw("Effect.tagifyText requires including script.aculo.us' builder.js library");
      
    var tagifyStyle = 'position:relative';
    if(/MSIE/.test(navigator.userAgent) && !window.opera) tagifyStyle += ';zoom:1';
    
    element = $(element);
    $A(element.childNodes).each( function(child) {
      if(child.nodeType==3) {
        child.nodeValue.toArray().each( function(character) {
          element.insertBefore(
            Builder.node('span',{style: tagifyStyle},
              character == ' ' ? String.fromCharCode(160) : character), 
              child);
        });
        Element.remove(child);
      }
    });
  },
  multiple: function(element, effect) {
    var elements;
    if(((typeof element == 'object') || 
        (typeof element == 'function')) && 
       (element.length))
      elements = element;
    else
      elements = $(element).childNodes;
      
    var options = Object.extend({
      speed: 0.1,
      delay: 0.0
    }, arguments[2] || {});
    var masterDelay = options.delay;

    $A(elements).each( function(element, index) {
      new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
    });
  },
  PAIRS: {
    'slide':  ['SlideDown','SlideUp'],
    'blind':  ['BlindDown','BlindUp'],
    'appear': ['Appear','Fade']
  },
  toggle: function(element, effect) {
    element = $(element);
    effect = (effect || 'appear').toLowerCase();
    var options = Object.extend({
      queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
    }, arguments[2] || {});
    Effect[element.visible() ? 
      Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
  }
};

/* ------------- core effects ------------- */

Effect.ScopedQueue = Class.create();
Object.extend(Object.extend(Effect.ScopedQueue.prototype, Enumerable), {
  initialize: function() {
    this.effects  = [];
    this.interval = null;
  },
  _each: function(iterator) {
    this.effects._each(iterator);
  },
  add: function(effect) {
    var timestamp = new Date().getTime();
    
    var position = (typeof effect.options.queue == 'string') ? 
      effect.options.queue : effect.options.queue.position;

    switch(position) {
      case 'front':
        // move unstarted effects after this effect  
        this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
            e.startOn  += effect.finishOn;
            e.finishOn += effect.finishOn;
          });
        break;
      case 'with-last':
        timestamp = this.effects.pluck('startOn').max() || timestamp;
        break;
      case 'end':
        // start effect after last queued effect has finished
        timestamp = this.effects.pluck('finishOn').max() || timestamp;
        break;
    }
    
    effect.startOn  += timestamp;
    effect.finishOn += timestamp;

    if(!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
      this.effects.push(effect);
    if(!this.interval) 
      this.interval = setInterval(this.loop.bind(this), 15);
  },
  remove: function(effect) {
    this.effects = this.effects.reject(function(e) { return e==effect });
    if(this.effects.length == 0) {
      clearInterval(this.interval);
      this.interval = null;
    }
  },
  loop: function() {
    var timePos = new Date().getTime();
    this.effects.invoke('loop', timePos);
  }
});

Effect.Queues = {
  instances: $H(),
  get: function(queueName) {
    if(typeof queueName != 'string') return queueName;
    
    if(!this.instances[queueName])
      this.instances[queueName] = new Effect.ScopedQueue();
      
    return this.instances[queueName];
  }
};
Effect.Queue = Effect.Queues.get('global');

Effect.DefaultOptions = {
  duration:   1.0,   // seconds
  fps:        60.0,  // max. 60fps due to Effect.Queue implementation
  sync:       false, // true for combining
  from:       0.0,
  to:         1.0,
  delay:      0.0,
  queue:      'parallel'
};



Effect.Base = function() {};
Effect.Base.prototype = {
  position: null,
  start: function(options) {
    this.options      = Object.extend(Object.extend({},Effect.DefaultOptions), options || {});
    this.currentFrame = 0;
    this.state        = 'idle';
    this.startOn      = this.options.delay*1000;
    this.finishOn     = this.startOn + (this.options.duration*1000);
    this.event('beforeStart');
    if(!this.options.sync)
      Effect.Queues.get(typeof this.options.queue == 'string' ? 
        'global' : this.options.queue.scope).add(this);
  },
  loop: function(timePos) {
  	  	
    if(timePos >= this.startOn) {
      if(timePos >= this.finishOn) {
        this.render(1.0);
        this.cancel();
        this.event('beforeFinish');
        if(this.finish) this.finish(); 
        this.event('afterFinish');
        return;  
      }
      var pos   = (timePos - this.startOn) / (this.finishOn - this.startOn);
      var frame = Math.round(pos * this.options.fps * this.options.duration);
      if(frame > this.currentFrame) {
        this.render(pos);
        this.currentFrame = frame;
      }
    }
  },
  render: function(pos) {
    if(this.state == 'idle') {
      this.state = 'running';
      this.event('beforeSetup');
      if(this.setup) this.setup();
      this.event('afterSetup');
    }
    if(this.state == 'running') {
      if(this.options.transition) pos = this.options.transition(pos);
      pos *= (this.options.to-this.options.from);
      pos += this.options.from;
      this.position = pos;
      this.event('beforeUpdate');
      if(this.update) this.update(pos);
      this.event('afterUpdate');
    }
  },
  cancel: function() {
    if(!this.options.sync)
      Effect.Queues.get(typeof this.options.queue == 'string' ? 
        'global' : this.options.queue.scope).remove(this);
    this.state = 'finished';
  },
  event: function(eventName) {
    if(this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
    if(this.options[eventName]) this.options[eventName](this);
  },
  inspect: function() {
    return '#<Effect:' + $H(this).inspect() + ',options:' + $H(this.options).inspect() + '>';
  }
};

/************************** Basic Effect For Inplace Editor Ends *********************************/

Effect.Scale = Class.create();
Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {
  initialize: function(element, percent) {
    this.element = $(element);
    if(!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({
      scaleX: true,
      scaleY: true,
      scaleContent: true,
      scaleFromCenter: false,
      scaleMode: 'box',        // 'box' or 'contents' or {} with provided values
      scaleFrom: 100.0,
      scaleTo:   percent
    }, arguments[2] || {});
    this.start(options);
  },
  setup: function() {
    this.restoreAfterFinish = this.options.restoreAfterFinish || false;
    this.elementPositioning = this.element.getStyle('position');
    
    this.originalStyle = {};
    ['top','left','width','height','fontSize'].each( function(k) {
      this.originalStyle[k] = this.element.style[k];
    }.bind(this));
      
    this.originalTop  = this.element.offsetTop;
    this.originalLeft = this.element.offsetLeft;
    
    var fontSize = this.element.getStyle('font-size') || '100%';
    ['em','px','%','pt'].each( function(fontSizeType) {
      if(fontSize.indexOf(fontSizeType)>0) {
        this.fontSize     = parseFloat(fontSize);
        this.fontSizeType = fontSizeType;
      }
    }.bind(this));
    
    this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
    
    this.dims = null;
    if(this.options.scaleMode=='box')
      this.dims = [this.element.offsetHeight, this.element.offsetWidth];
    if(/^content/.test(this.options.scaleMode))
      this.dims = [this.element.scrollHeight, this.element.scrollWidth];
    if(!this.dims)
      this.dims = [this.options.scaleMode.originalHeight,
                   this.options.scaleMode.originalWidth];
  },
  update: function(position) {
    var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
    if(this.options.scaleContent && this.fontSize)
      this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
    this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
  },
  finish: function(position) {
  	if(this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
  },
  setDimensions: function(height, width) {
    var d = {};
    if(this.options.scaleX) d.width = Math.round(width) + 'px';
    if(this.options.scaleY) d.height = Math.round(height) + 'px';
    if(this.options.scaleFromCenter) {
      var topd  = (height - this.dims[0])/2;
      var leftd = (width  - this.dims[1])/2;
      if(this.elementPositioning == 'absolute') {
        if(this.options.scaleY) d.top = this.originalTop-topd + 'px';
        if(this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
      } else {
        if(this.options.scaleY) d.top = -topd + 'px';
        if(this.options.scaleX) d.left = -leftd + 'px';
      }
    }
    this.element.setStyle(d);
  }
});


Effect.Highlight = Class.create();
Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    if(!this.element) throw(Effect._elementDoesNotExistError);
    var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {});
    this.start(options);
  },
  setup: function() {
    // Prevent executing on elements not in the layout flow
    if(this.element.getStyle('display')=='none') { this.cancel(); return; }
    // Disable background image during the effect
    this.oldStyle = {
      backgroundImage: this.element.getStyle('background-image') };
    this.element.setStyle({backgroundImage: 'none'});
    if(!this.options.endcolor)
      this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
    if(!this.options.restorecolor)
      this.options.restorecolor = this.element.getStyle('background-color');
    // init color calculations
    this._base  = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
    this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
  },
  update: function(position) {
    this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
      return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart()); }.bind(this)) });
  },
  finish: function() {
    this.element.setStyle(Object.extend(this.oldStyle, {
      backgroundColor: this.options.restorecolor
    }));
  }
});



Effect.BlindUp = function(element) {
	
  element = $(element);
  element.makeClipping();
  return new Effect.Scale(element, 0,
    Object.extend({ scaleContent: false, 
      scaleX: false, 
      restoreAfterFinish: true,
      afterFinishInternal: function(effect) {
        effect.element.hide().undoClipping();
      } 
    }, arguments[1] || {})
  );
};

Effect.BlindDown = function(element) {
  element = $(element);
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, 100, Object.extend({ 
    scaleContent: false, 
    scaleX: false,
    scaleFrom: 0,
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    restoreAfterFinish: false,
    afterSetup: function(effect) {
      effect.element.makeClipping().setStyle({height: '0px'}).show(); 
      if(effect.element.id=="toggleDiv" && isIE)
      	setTimeout(function(){effect.element.style.display="block";},200);
    },  
    afterFinishInternal: function(effect) {
      effect.element.undoClipping();
    }
  }, arguments[1] || {}));
};


Effect.SlideDown = function(element) {
  element = $(element).cleanWhitespace();
  // SlideDown need to have the content of the element wrapped in a container element with fixed height!
  var oldInnerBottom = element.down().getStyle('bottom');
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, 100, Object.extend({ 
    scaleContent: false, 
    scaleX: false, 
    scaleFrom: window.opera ? 0 : 1,
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    restoreAfterFinish: true,
    afterSetup: function(effect) {
      effect.element.makePositioned();
      effect.element.down().makePositioned();
      if(window.opera) effect.element.setStyle({top: ''});
      effect.element.makeClipping().setStyle({height: '0px'}).show(); 
    },
    afterUpdateInternal: function(effect) {
      effect.element.down().setStyle({bottom:
        (effect.dims[0] - effect.element.clientHeight) + 'px' }); 
    },
    afterFinishInternal: function(effect) {
      effect.element.undoClipping().undoPositioned();
      effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); }
    }, arguments[1] || {})
  );
};

Effect.SlideUp = function(element) {
  element = $(element).cleanWhitespace();
  var oldInnerBottom = element.down().getStyle('bottom');
  return new Effect.Scale(element, window.opera ? 0 : 1,
   Object.extend({ scaleContent: false, 
    scaleX: false, 
    scaleMode: 'box',
    scaleFrom: 100,
    restoreAfterFinish: true,
    beforeStartInternal: function(effect) {
      effect.element.makePositioned();
      effect.element.down().makePositioned();
      if(window.opera) effect.element.setStyle({top: ''});
      effect.element.makeClipping().show();
    },  
    afterUpdateInternal: function(effect) {
      effect.element.down().setStyle({bottom:
        (effect.dims[0] - effect.element.clientHeight) + 'px' });
    },
    afterFinishInternal: function(effect) {
      effect.element.hide().undoClipping().undoPositioned().setStyle({bottom: oldInnerBottom});
      effect.element.down().undoPositioned();
    }
   }, arguments[1] || {})
  );
};



/************************************Slide Show Related *****************************************/



	var displayWaitMessage=true;	// Display a please wait message while images are loading?
	var activeImage = false;
	var imageGalleryLeftPos = false;
	var imageGalleryWidth = false;
	var imageGalleryObj = false;
	var maxGalleryXPos = false;
	var slideSpeed = 0;
	var imageGalleryCaptions = new Array();
	function startSlide(e)
	{
		//alert('start slide');
		slideSpeed = 0;
		if(document.all)e = event;
		var id = this.id;
		if(this.getElementsByTagName('IMG')[0].src.indexOf('Over')<0)
			this.getElementsByTagName('IMG')[0].src = this.getElementsByTagName('IMG')[0].src.replace('.gif','Over.gif');
		if(this.id=='arrowRight'){
			slideSpeed = -4;
		}else{
			slideSpeed = 6;
		}
	};
	
	function releaseSlide()
	{
		var id = this.id;
		
		this.getElementsByTagName('IMG')[0].src = this.getElementsByTagName('IMG')[0].src.replace('Over','')			
		slideSpeed=0;
	};
	function fastSlide(event)
	{

		var arrow = Event.element(event).parentNode.id;
		imageGalleryWidth = $('galleryContainer').offsetWidth - 80;
		if(arrow.search('Left') != -1)
		{
			var leftPos = imageGalleryObj.offsetLeft;
				leftPos = leftPos + imageGalleryWidth;
			if(leftPos>maxGalleryXPos)
			{				
				leftPos = maxGalleryXPos;
			}
			if(leftPos<minGalleryXPos)
			{
				leftPos = minGalleryXPos;
			}
			
			imageGalleryObj.style.left = leftPos + 'px';
		}
		else
		{
			
			var leftPos = imageGalleryObj.offsetLeft;
				leftPos = leftPos - imageGalleryWidth;
			if(leftPos>maxGalleryXPos)
			{
				leftPos = maxGalleryXPos;
			}
			if(leftPos<minGalleryXPos)
			{
				leftPos = minGalleryXPos;
			}
			imageGalleryObj.style.left = leftPos + 'px';
		}
	}
	function gallerySlide()
	{
		
		if(slideSpeed!=0){
			var leftPos = imageGalleryObj.offsetLeft;
				
			leftPos = eval(leftPos + slideSpeed);
			
			if(leftPos>maxGalleryXPos){
				
				leftPos = maxGalleryXPos;
				slideSpeed = 0;
			}
			if(leftPos<minGalleryXPos){
				leftPos = minGalleryXPos;
				slideSpeed=0;
				//alert("here else");
			}
			
			imageGalleryObj.style.left = leftPos + 'px';
		}
		setTimeout('gallerySlide()',20);
		
	};
	
	function initSlideShow()
	{
		if($('arrowLeft')&& $('arrowRight'))
		{
			
			$('arrowLeft').onmousemove = startSlide;
			$('arrowLeft').onmouseout = releaseSlide;
			$('arrowRight').onmousemove = startSlide;
			$('arrowRight').onmouseout = releaseSlide;
			
			Event.observe($('arrowLeft'), 'click', function(event) {
				fastSlide(event);
			});
			Event.observe($('arrowRight'), 'click', function(event) {
				fastSlide(event);
			});
		}
		totalImgs = $A(document.getElementsByClassName('dashIconsDrag')).length;
		imageGalleryObj = $('theImages');
		imageGalleryLeftPos = imageGalleryObj.offsetLeft;
		imageGalleryWidth = $('galleryContainer').offsetWidth - 80;
		
		maxGalleryXPos = imageGalleryObj.offsetLeft; 
		minGalleryXPos = imageGalleryWidth - $('slideEnd').offsetLeft;		
		
		if(isIE)
		{
		
			var arrAllIcons = $('divIconCollect').getElementsByTagName('img');
			var lenAllIcons = arrAllIcons.length;
			//alert(lenAllIcons);
			var widthImages = 0;
			for(var i =0;i<lenAllIcons;i++)
			{
				var divWidth = $(arrAllIcons[i].id.replace('img','divImg')).style.width.replace('px','');
				divWidth = (isNaN(parseInt(divWidth)))?0:parseInt(divWidth); 
				widthImages = widthImages + divWidth;
			}
					//alert("widthImages : " + widthImages);	
			minGalleryXPos = imageGalleryWidth - widthImages;
			maxGalleryXPos = imageGalleryObj.offsetLeft;
			//minGalleryXPos += 1550;
		}
		
		var slideshowImages = imageGalleryObj.getElementsByTagName('IMG');
		for(var no=0;no<slideshowImages.length;no++){
			slideshowImages[no].onmouseover = revealThumbnail;
			slideshowImages[no].onmouseout = hideThumbnail;
		}
		gallerySlide();
	};
	
/***********************************************End Slide Show*********************************/







function selectAll(parentdiv,all,myObj)
{
	if(all==null)
		all = true;

	if(myObj!=null && myObj.checked)
		all = true;
	else
		all = false;
		
	chkbxArr = $A($(parentdiv).getElementsByTagName("input"));
	chkbxArr.each(
		function(node)
		{
			if(node.type=="checkbox")
				node.checked=all;
		});
};

/******************Number To Money Format******************/
function num2money(n_value,prefix,elementId,dec,retval)
{
	
	dec = (dec)?dec:false;
	retval = (retval)?true:false;
	oNval = n_value.toString();
	if(typeof(n_value) == "string")
	{
		n_value = money2num(n_value);
	}
	if(n_value=="")
	{
		if(elementId!=null)
		{
			if($(elementId).type == "text")
			{
				if(retval)
				{
					$(elementId).value = "";
				}
				else
				{
					$(elementId).value = prefix+"0";
				}
			}
		else
			$(elementId).innerHTML = prefix+"0";
		}
		return;
	}
	var pre = (!prefix)?"$":prefix;
	
	if (isNaN(Number(n_value)))
	return 'ERROR';

	var b_negative = Boolean(n_value < 0);
	n_value = Math.abs(n_value);
	
	// round to 1/100 precision, add ending zeroes if needed
	if(dec && dec>2)
	{
		dec = parseInt(oNval.substr(oNval.indexOf('.')).length-1);
		divd = parseInt(eval('1e'+dec));
		var roundPt = (Math.round(n_value*divd)%divd>9)?(Math.round(n_value*divd)%divd):('0'+Math.round(n_value*divd)%divd);
	}
	else
		var roundPt = (Math.round(n_value*1e2)%1e2>9)?(Math.round(n_value*1e2)%1e2):('0'+Math.round(n_value*1e2)%1e2);
	var s_result = String(roundPt + '00').substring(0,dec);
	// separate all orders
	var b_first = true;
	var s_subresult;
	while (n_value >= 1) 
	{
		s_subresult = (n_value >= 1e3 ? '00' : '') + Math.floor(n_value%1e3);
		s_result = s_subresult.slice(-3) + (b_first ? '.' : ',') + s_result;
		b_first = false;
		n_value = n_value/1e3;
	}
	
	// add at least one integer digit
	if (b_first)
	s_result = '0.' + s_result;

	// apply formatting and return
	if(!dec)
	{
		s_result = s_result.substring(0,s_result.indexOf("."));
	}
	if(elementId!=null)
	{
		if($(elementId).type == "text")
			$(elementId).value = b_negative ? '-'+pre + s_result + '' : pre + s_result;
		else
			$(elementId).innerHTML = b_negative ? '-'+pre + s_result + '' : pre + s_result;
	}
	
	return b_negative
	? '-'+pre + s_result + ''
	: pre + s_result;
};
/******************* String To number************/

function money2num(strMoney) 
{
	var strArr = strMoney.toArray();
	var newnum = "";
	strArr.each(function(i) {
		if(i=="-"||i=="1"||i=="2"||i=="3"||i=="4"||i=="5"||i=="6"||i=="7"||i=="8"||i=="9"||i=="0"||i==".")
		{
			newnum += i;
		}
	});
	newnum = parseFloat(newnum);
	if(!isNaN(newnum))
		return(newnum);
	else
		return "";
};
function numTotal(strMoney)
{
	var strArr = strMoney.toArray();
	var newnum = "";
	strArr.each(function(i) {
		if(i=="1"||i=="2"||i=="3"||i=="4"||i=="5"||i=="6"||i=="7"||i=="8"||i=="9"||i=="0")
		{
			newnum += i;
		}
	});
	newnum = parseFloat(newnum);
	if(!isNaN(newnum))
		return(newnum);
	else
		return "";
}
/**
 * Function For Changing inplace Edit Link
 */
function trim(str)
{ 
	if((str == null) || ( str != null && str.length == 0))
		return "";
	else if (typeof(str) != "string")
		return "";

	return(str.replace(/^\s+|\s+$/g, ''));
};


if(typeof(tabType) == 'undefined' || tabType != 'dashboard')
{
	//This function is commented by Saloni to solve c21award dashboard tab
	Array.prototype.find = function(searchStr, from, strict) 
	{
		 if(from == undefined || from >= this.length) from = 0;
		   strict = strict == undefined ? false : strict;

		  var returnArray = false;
		  for (i=from; i<this.length; i++) 
		{
			if (typeof(searchStr) == 'function') 
			{
			  if (searchStr.test(this[i]))
				{
					if (!returnArray)
						{ returnArray = [] }
					returnArray.push(i);
				}
			} 
			else
			{
				if(strict)
				{
						if (this[i]===searchStr) 
						{
								if (!returnArray) 
									{ returnArray = [] }
								returnArray.push(i);
						}
				}
				else
				{
					if (this[i]==searchStr) 
					{
						if (!returnArray) 
							{ returnArray = [] }
						returnArray.push(i);
					}
				 }
			}
			
		  }
		  return returnArray;
	};
}
/*
a = ["0",1,2,3,4,5,'',7,"0",1,"1",1,"1",1]
	result1 = a.find ("1"); // return 1,9,10,11,12,13
	result2 = a.find ("1",3);//return 9,10,11,12,13
	result3 = a.find ("1",3,true);//return 10,12
	*/
	
function toggleSlider()
{
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	Element.toggle('toggleDiv');
	if($('after')&&$('before'))
    {
		Element.toggle('after');
		Element.toggle('before');	
    }
    var menuDivArr = document.getElementsByClassName("widgetMenuDiv");
	$A(menuDivArr).each(function(node){
		$(node).style.display = "none";
		oldidMenu = null;
	});
	if($("tabArrow") && $("tabArrow").className.include("_up"))
	{
		$("tabArrow").className ="dashboard_tab_arrow_down";
		document.getElementsByClassName("tabCss").each(function(node){
			node.className = "tabCssCl";
		});
		if($("divSuperParent"))
			$("divSuperParent").addClassName("divSuperParentCl");
	}
	else if($("tabArrow") && $("tabArrow").className.include("_down"))
	{
		$("tabArrow").className ="dashboard_tab_arrow_up";
		document.getElementsByClassName("tabCssCl").each(function(node){
			node.className = "tabCss";
		});
		if($("divSuperParent"))
			$("divSuperParent").removeClassName("divSuperParentCl");
	}
};


function chooseChecked(parentDiv,chkd)
{
	var selectedArr = new Array();
	var selectArr = new Array();
	if($(parentDiv)==null)
	{
		return false;
	}
	parentDiv = $(parentDiv);
	chkbxArr = $A(parentDiv.getElementsByTagName("input"));
	var i=0;
	var j = 0;
	chkbxArr.each(
		function(node)
		{
			if(node.type=="checkbox" && node.id!="sel")
			{
				selectedArr[i]=node.value;
				if(chkd!=null && node.checked)
				{
					selectArr[j] = node.value;
					j++;
				}
				i++;
			}
		});
		if(chkd!=null)
			return selectArr;
		else
			return selectedArr;	
};
function getPositionLeft(element)
{
     var el = $(element);
	 var pL = 0;
     while(el)
     {
           pL += el.offsetLeft;
           el = el.offsetParent;
     }
     return pL;
};
// To find the top position, add this snippet to your code:
function getPositionTop(element)
{
     var el = $(element);var pT = 0;
     while(el)
     {
        pT += el.offsetTop;
        el = el.offsetParent;
     }
     return pT;
};
function showTooltip(tipStr,evnt,xpos)
{
	var e = evnt;
	var xpos = (xpos==null || xpos == "undefined")?50:xpos;
	var element = Event.element(e);
	var leftpos = e.clientX-xpos;
	var toppos = getPositionTop(element)+20;
	if(tipStr!=null || tipStr!="")
	{
		toppos = getPositionTop(element)+5;
		if($("titleInner"))
			$("titleInner").innerHTML = tipStr;
	}
	else
	{
		if($("titleInner"))
			$("titleInner").innerHTML = $("titleInner").title;
	}
	if($("titleDiv"))
	{
		$("titleDiv").style.width = "50px";
		$("titleDiv").style.left = leftpos+"px";
		$("titleDiv").style.top = eval(toppos+50)+"px";
		$("titleDiv").style.display = "inline";
	}
};
function hideTooltip()
{
	if($("titleDiv"))
	{
		$("titleDiv").style.display = "none";
		$("titleDiv").style.left = "0px";
		$("titleDiv").style.top = "0px";
	}
};


function getGeoAdd(lat,lng,city,state,zip,page,action,otherArgs)
{
	//alert(page);
		//alert("4"+zip);
		var myState = '';
		if(state.indexOf('|')>-1)
		{
			var arrState = state.split('|');
			myState = arrState[0];	
		}
		
		if(city.indexOf('|')>-1)
		{
			var arrCity = city.split('|');
			city = arrCity[0];	
		}
		
		var geoCodeResp = function(geoResponse)//response function for ajax call from getGeoAdd
		{
			var geoArr = eval('('+geoResponse.responseText+')');
			var geoStatus = geoArr[0].status;
			if(geoStatus!=0)
			{
				var geoCity = "";
				var geoState = "";
				var geoZip = "";
				//alert(lat+","+lng+","+city+","+state+","+zip+","+page+","+action);
				//alert('Sorry, We couldn\'t find a location for "' + geoArr[0].originaladdress + '"');
				switch(action)
				{
					case 'start':
						//alert('startNo');
						getGeoAdd(lat,lng,city,state,zip,page,'zip');
					break;
					case 'zip':
						//alert('zipNo');
						getGeoAdd(lat,lng,city,state,zip,page,'end');
					break;
				}
				return;
			}
			else
			{
				//alert('bye');
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoZip = geoArr[0].zip;
				var geoAddress = geoArr[0].address;
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				if(geoCity=="" && geoZip=="")
				{
					alert('Please specify City or Zip');
					return;
				}
				else if((geoLat == "0" && geoLong == "0") || (geoLat == 0 && geoLong == 0))
				{
					//alert('else if');
					switch(action)
					{
						case 'start':
							//alert('startNo');
							getGeoAdd(lat,lng,city,state,zip,page,'zip');
						break;
						case 'zip':
							//alert('zipNo');
							getGeoAdd(lat,lng,city,state,zip,page,'end');
						break;
					}
					return;	
				}
				
				if(geoState == "")
					geoState = state;
				setSearchCookie("searchAddress",geoAddress);
				/*setSearchCookie("city",geoCity);
				setSearchCookie("state",geoState);
				setSearchCookie("zip",geoZip);*/
				//var cszFromCookie = setCSZValue (getSearchCookie("city"), state, getSearchCookie("zip"));
				/*if($("searchCSZ") && page != "ListMyHome")
					$("searchCSZ").value = cszFromCookie;*/
				
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				var latLongStr = "[{'lat':'"+geoLat+"','lng':'"+geoLong+"'}]";
				var now = new Date();
				now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
				setCookie("latLongCk",latLongStr,now);
				latLong = eval(getCookie("latLongCk"))[0];
			}
			
			setSearchCookie("city",listAllCity);
			setSearchCookie("state",state);
			
			if(page.include("METRO"))
			{
				var strFromWhere = page.split("|");
				var mapit=strFromWhere[1];
				var widgetName =strFromWhere[2]; 
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoZip = geoArr[0].zip;
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				var url;
				if(isZip)
				{	
					if(geoZip == "")
						geoZip = zip;
				}
				else
					geoZip = '';
				//alert(state);
				//return;
				if(mapit=="mapitAddr")
				{
					var geoAddress = geoArr[0].address;
					if(listAllCity != false)
					{
						var tempArr = listAllCity.split('|');
						//alert(tempArr.length);
						if(tempArr.length != 1) 
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+listAllCity+","+state+",,,,,"+geoLat+","+geoLong;
						else
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+listAllCity+","+state+","+geoZip+",,,,"+geoLat+","+geoLong;
					}
					else
					 	url = "app/listing/singlePropertyLanding.php?PHPSESSID=&status=EXP&address="+geoAddress+","+geoCity+","+state+","+geoZip+",,,,"+geoLat+","+geoLong;
					 //url = "app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName;
				}
				else if(mapit=="mapit")
				{						
					 if(listAllCity != false)
					 {
						var tempArr = listAllCity.split('|');
						//alert(tempArr.length);
						if(tempArr.length != 1)
						 {
							url = "Search/"+state+"/"+geoCity;
							 if(zip != "")
								url += "/"+geoZip;
							//url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+",,,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName;
						 }
						else
						 {
							url = "Search/"+state+"/"+geoCity;
							 if(zip != "")
								url += "/"+geoZip;
							//url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName;
						 }
					 }
					 else
					{
						 url = "Search/"+state+"/"+geoCity;
						 if(zip != "")
							url += "/"+geoZip;
					 	//url = "app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+state+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName;//+",jbfeaturedlistings";
					}
				}
				else if(mapit=="multicity")
				{
					setSearchCookie("city",listAllCity);
					setSearchCookie("state",state);
					//cszFromCookie = setCSZValue (getSearchCookie("city"), myState);
					
					 if(listAllCity != false)
					 {
						var tempArr = listAllCity.split('|');
						//alert(tempArr.length);
						if(tempArr.length != 1) 
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+",,,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName;
						else
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName;
					 }
					 else
					 	url = "app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+state+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName;//+",jbfeaturedlistings";
				}
				//alert(url);
				if(otherArgs!= null)
					url = url + otherArgs;
				location.href = url;
				return;
			}
			else if(page.include("LMSRE"))
			{
				var address="";
				//alert(geoArr);
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				if(geoState == "")
					geoState = state;
				
				var geoZip = geoArr[0].zip;
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				var url;
				if(Exclusiveflag==1)
					url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+address+","+listAllCity+","+state+",,,,,"+geoLat+","+geoLong+"&widgetnames=exclusivelisting";
				else
					url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+address+","+listAllCity+","+state+",,,,,"+geoLat+","+geoLong+"&widgetnames=mlsCountySearch";

				if(otherArgs!= null)
					url = url + otherArgs;
				location.href = url;
				return;			
			}	
		}
		
		if(lat != "0" || lng != "0")
		{
			//alert(lat+","+lng)
			if(page.include("METRO"))
			{
				var strFromWhere = page.split("|");
				var mapit=strFromWhere[1];
				var widgetName =strFromWhere[2];
				var url;

				var latLongStr = "[{'lat':'"+lat+"','lng':'"+lng+"'}]";
				var now = new Date();
				now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
				setCookie("latLongCk",latLongStr,now);
				if(!isZip)
					zip = '';
				
				setSearchCookie("city",listAllCity);
				setSearchCookie("state",state);
				//var	cszFromCookie = setCSZValue (getSearchCookie("city"), state);
				if(mapit=="mapitAddr")
				{
					var geoAddress;
					
					
					if($("txtAddress"))
						geoAddress = $("txtAddress").value;
					else
						geoAddress="";
						
					if(listAllCity != false)
					{
						var tempArr = listAllCity.split('|');
						//alert(tempArr.length);
						if(tempArr.length != 1) 
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+listAllCity+","+state+",,,,,"+lat+","+lng;
						else
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+listAllCity+","+state+","+zip+",,,,"+lat+","+lng;
					}
					else
						url = "app/listing/singlePropertyLanding.php?PHPSESSID=&status=EXP&address="+geoAddress+","+city+","+state+","+zip+",,,,"+lat+","+lng;
				
				}
				else if(mapit=="mapit")
				{					
					removeSearchCookie("city");
					removeSearchCookie("state");
					 //alert("2"+ zip+" , "+isZip);					
					 url = "Search/"+state+"/"+city;
	    			 if(zip != "")
						url += "/"+zip;
					 /*if(listAllCity != false)
					 {
						var tempArr = listAllCity.split('|');
						//alert(tempArr.length);
						if(tempArr.length != 1) 
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+",,,,,"+lat+","+lng+"&widgetnames="+widgetName;
						else
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+","+zip+",,,,"+lat+","+lng+"&widgetnames="+widgetName;
					 }
					 else
					 	//url = "app/listing/singlePropertyLanding.php?status=EXP&address=,"+city+","+state+","+zip+",,,,"+lat+","+lng+"&widgetnames="+widgetName;//+",jbfeaturedlistings";*/
				}
				else if(mapit=="multicity")
				{
					 if(listAllCity != false)
					 {
						var tempArr = listAllCity.split('|');
						//alert(tempArr.length);
						if(tempArr.length != 1) 
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+",,,,,"+lat+","+lng+"&widgetnames="+widgetName;
						else
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+","+zip+",,,,"+lat+","+lng+"&widgetnames="+widgetName;
					 }
					 else
					 	url = "app/listing/singlePropertyLanding.php?status=EXP&address=,"+city+","+state+","+zip+",,,,"+lat+","+lng+"&widgetnames="+widgetName;//+",jbfeaturedlistings";
				}
				//if(otherArgs!= null)
				//	url = url + otherArgs;
				location.href = url;
			}
			else if(page.include("LMSRE"))
			{
				var address="";
				var url;
//				alert("LMSRE : "+lat+","+lng);
				if(Exclusiveflag==1)
					url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+address+","+listAllCity+","+state+",,,,,"+lat+","+lng+"&widgetnames=exclusivelisting";
				else
					url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+address+","+listAllCity+","+state+",,,,,"+lat+","+lng+"&widgetnames=mlsCountySearch";
				
				setSearchCookie("city",listAllCity);
				setSearchCookie("state",state);
				var latLongStr = "[{'lat':'"+lat+"','lng':'"+lng+"'}]";
				var now = new Date();
				now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
				setCookie("latLongCk",latLongStr,now);
				if(otherArgs!= null)
					url = url + otherArgs;
				location.href = url;
				//return;			
			}	
		}
		else
		{
			//alert('else');
			var geoAddress;
			var geoUrl = "/classes/getCSZ.php";
			
			if($("txtAddress"))
				geoAddress = $("txtAddress").value;
			else
				geoAddress="";
			
			var geoQueryString;
			switch(action)
			{
				case 'start':
					geoQueryString = "csz="+city+","+myState+"&address="+geoAddress;	
					//alert('start');
					ajaxRequest(geoUrl,geoQueryString,geoCodeResp);
				break;
				case 'zip':
					geoQueryString = "csz="+city+","+myState+","+zip+"&address="+geoAddress;	
					//alert('zip');
					ajaxRequest(geoUrl,geoQueryString,geoCodeResp);
				break;
				case 'end':
					//alert('Ends');
					if(page.include("METRO"))
					{
						var strFromWhere = page.split("|");
						var mapit=strFromWhere[1];
						var widgetName =strFromWhere[2];
						var url;
						if(!isZip)
							zip = '';
						if(mapit=="mapitAddr")
						{
							var geoAddress;
							if($("txtAddress"))
								geoAddress = $("txtAddress").value;
							else
								geoAddress="";
								
							 if(listAllCity != false)
							 {
								var tempArr = listAllCity.split('|');
								//alert(tempArr.length);
								if(tempArr.length != 1) 
									url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+listAllCity+","+state+",,,,,"+lat+","+lng;
								else
									url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+listAllCity+","+state+","+zip+",,,,"+lat+","+lng;
							 }
							 else
								 url = "app/listing/singlePropertyLanding.php?PHPSESSID=&status=EXP&address="+geoAddress+","+city+","+state+","+zip+",,,,"+lat+","+lng;
						}
						else if(mapit=="mapit")
						{
							 //alert("3"+ zip+" , "+isZip);
							 if(listAllCity != false)
							 {
								var tempArr = listAllCity.split('|');
								//alert(tempArr.length);
								if(tempArr.length != 1)
								{
									//alert('e');
									url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+",,,,,"+lat+","+lng+"&widgetnames="+widgetName;
								}
								else
								{
									//alert('d');
									url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address=,"+listAllCity+","+state+","+zip+",,,,"+lat+","+lng+"&widgetnames="+widgetName;
								}
							 }
							 else
							 url = "app/listing/singlePropertyLanding.php?status=EXP&address=,"+city+","+state+","+zip+",,,,"+lat+","+lng+"&widgetnames="+widgetName;//+",jbfeaturedlistings";
						}
						if(otherArgs!= null)
							url = url + otherArgs;
						location.href = url;
					}
					else if(page.include("LMSRE"))
					{
						var address="";
						if(Exclusiveflag==1)
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+address+","+listAllCity+","+state+",,,,,"+lat+","+lng+"&widgetnames=exclusivelisting";
						else
							url ="../../../app/listing/singlePropertyLanding.php?status=EXP&address="+address+","+listAllCity+","+state+",,,,,"+lat+","+lng+"&widgetnames=mlsCountySearch";
						//alert(url);
						if(otherArgs!= null)
							url = url + otherArgs;
						location.href = url;
					}
				break;
			}
			//var geoQueryString = "csz="+city+","+state+","+zip+"&address="+geoAddress;
		}
}


function getGeocodeAddress(csz,page)
{
		var geoCbFn = function(geoResponse)
		{
			var geoArr = eval('('+geoResponse.responseText+')');
			var geoStatus = geoArr[0].status;
			if(geoStatus!=0)
			{
				var geoCity = "";
				var geoState = "";
				var geoZip = "";
				alert('Sorry, We couldn\'t find a location for "' + geoArr[0].originaladdress + '"');
				if (page=="ValueMyHome")
				{
					$('btnSearchEstimateAddress').style.display = "";
					$('statusMsg').style.display = "none";
				}
				
				return;
			}
			else
			{

				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoZip = geoArr[0].zip;
				var geoAddress = geoArr[0].address;
				if(geoCity=="" && geoZip=="")
				{
					alert('Please specify City or Zip');
					return;
				}
				if($("searchCity"))
					$("searchCity").value = geoCity;
				if($("searchState"))
					$("searchState").value = geoState;
				if($("searchZip"))
					$("searchZip").value = geoZip;
				if($("searchAddress")  && page != "ListMyHome")
					$("searchAddress").value = geoAddress;
					
				
				setSearchCookie("searchAddress",geoAddress);
				setSearchCookie("city",geoCity);
				setSearchCookie("state",geoState);
				setSearchCookie("zip",geoZip);
				setSearchCookie("county","");
				
				var cszFromCookie = setCSZValue (getSearchCookie("city"), getSearchCookie("state"), getSearchCookie("zip"));
				if($("searchCSZ") && page != "ListMyHome")
					$("searchCSZ").value = cszFromCookie;
				
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				var latLongStr = "[{'lat':'"+geoLat+"','lng':'"+geoLong+"'}]";
				var now = new Date();
				now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
				setCookie("latLongCk",latLongStr,now);
				latLong = eval(getCookie("latLongCk"))[0];
				
				
			}
			//alert(page);
			if(page != "campaign" && page != "landing" && page != "ListMyHome" && page != "snapShot" && page != "VOH" && page != "BST" && page != "FAH" && page != "FAO" && page != "VH" && !(page.include("LMSRE")) && page != "LMSRE_SmartWin" && page != "METRO_AssOff" &&!(page.include("METRO")))
			{
				if(trim($('searchAddress').value) == "")$('searchAddress').value = "optional";	

				if(document.cookie=="")
					pageReload();
			}
			if(page=="dashboard")
			{
				funQckUpdateWidgets();		
			}
			else if(page=="singleProp")
			{
				funExploreOnMapit();//alert("Please add your function call for MapIt in common.js");
			}
			else if(page=="landing")
			{
				window.location.href = './app/dashboard/dashboardIndex.php';
			}
			else if(page == "dashboardbitz")
			{
				window.location.href = '../../app/dashboard/dashboardIndex.php?setDsh=1';
			}
			else if(page=="campaign")
			{

				lat = latLong.lat;
				lng = latLong.lng;

				if (geoArr[0].city !="")
					var geoCityStr = geoArr[0].city;
				if (geoArr[0].state !="")
					geoCityStr += ", "+geoArr[0].state;
				if (geoArr[0].zip !="")
					geoCityStr += ", "+geoArr[0].zip;
				//return geoCityStr;
				if(trim(geoCityStr)=="") 
					alert("Please refine your search criteria");
				else
					sendDashboard(geoCity,geoState,geoZip,lat,lng);
			}
			else if(page=="ValueMyHome")
			{
				var url = "../feed/homeEstimate.php?pid=&address="+geoAddress+","+geoCity+","+geoState+","+geoZip;
				window.open(url,"_blank");
				$('btnSearchEstimateAddress').style.display = "";
				$('statusMsg').style.display = "none";
			}
			
			else if(page=="ExploreNeighborhood")
			{
				
				var url = './dshbrdExplore.php';
				var qryStr = 'geoAddress=1&exploreAddress='+geoAddress+'&exploreCity='+geoCity+'&exploreState='+geoState+'&exploreZip='+geoZip;
				ajaxRequest(url,qryStr,function(respObj)
				{
					if (respObj.responseText=="0")
					{
						alert("Sorry, Not Able To Resolve Address");
						$('btnSearchExplore').style.display = "";
						$('expStatusMsg').style.display = "none";
					}
					else
					{
						var url = respObj.responseText;
						window.open(url,"_blank");
						$('btnSearchExplore').style.display = "";
						$('expStatusMsg').style.display = "none";
					}
				});
			}
			
			else if(page=="ListMyHome")
			{
				$('btnGetBids').style.display = "none";
				$('statusMsgListHome').style.display = "";

				var url = './dshbrdLMH.php';
				var qryStr = 'validateAddress=1&address='+geoAddress+'&city='+geoCity+'&state='+geoState+'&zip='+geoZip+'&expt='+exptdSales+'&name='+names+'&email='+email+'&timel='+timeLine;
				var divid = $('listHome').id;
				loadToDiv(url,qryStr,divid);			
			}
			else if(page=="snapShot")
			{
				getListingSnapshots();
			}
			else if(page=="FAH")
			{
				var url = "app/dashboard/dashboardIndex.php";
				location.href = url;
			}
			else if(page=="BST")
			{
				var url = "app/dashboard/dashboardIndex.php";
				location.href = url;
			}
			else if(page=="VOH")
			{
				var url = "app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong;
				location.href = url;
			}
			else if (page=="VH")
			{
				var csz = geoCity+","+geoState+","+geoZip;
				var url = "app/feed/homeEstimate.php?pid=&address="+escape(geoAddress)+","+escape(csz);
				location.href = url; 				
			}
			else if(page=="FAO")
			{
				var url = "app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong;
				location.href = url;
			}
			else if(page=="METRO_AssOff")
			{
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoZip = geoArr[0].zip;
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				
				var url = "app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames=brokeragents,brokeroffices";
				location.href = url;
			}
			else if(page=="METRO_AssAgtOff")
			{
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoZip = geoArr[0].zip;
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				var qs = "";
				var wdNm = "brokeragents";
				var isOthSet = false;
				if(isBlank('txtFname','First Name'))
				{
					qs += "&fname="+$F('txtFname');
					isOthSet= true;
				}
				
				if(isBlank('txtLname','Last Name'))
				{
					qs += "&lname="+$F('txtLname');
					isOthSet= true;
				}
				
				if(isBlank('txtCityName','City'))
				{
					qs += "&cityName="+escape($F('txtCityName'));
					wdNm = wdNm + ",officeLocation";
					isOthSet= true;
				}
				
				if($F('txtOffice') != "")
				{
					//qs += "&office="+escape($F('txtOffice'));
					qs += "&office="+escape($("txtOffice").options[$("txtOffice").selectedIndex].value);
					wdNm = wdNm + ",brokeroffices";
					isOthSet= true;
				}
				
				if($F('txtOfficeLoc') != "")
				{
					//qs += "&office="+escape($F('txtOffice'));
					qs += "&officeLoc="+escape($("txtOfficeLoc").options[$("txtOfficeLoc").selectedIndex].value);
					//alert($F('txtOfficeLoc'));return;
					/*if(isOthSet)
						wdNm = wdNm + ",officeLocation";
					else
						wdNm = "officeLocation";*//*old*/
					
					if(!wdNm.include("officeLocation"))
						wdNm = wdNm + ",officeLocation";/*new*/	
				}				
				var showDialog="";
				if(wdNm != "officeLocation")
					showDialog = "&showAgentDialog=some";
				else
					showDialog = "&showAgentDialog=";
				var url = "app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+wdNm+showDialog+qs;
				
				//var url = "./app/listing/singlePropertyLanding.php?status=EXP&address=,denver,CO,,,,,39.755092,-104.988123&widgetnames=brokeragents,brokeroffices&showAgentDialog=1";
				//alert(url);
				location.href = url;
			}
			else if(page=="LMSRE_SmartWin")
			{
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				sendAddressFldsToLMSRE(geoCity,geoState,geoLat,geoLong);
			}
			else if(page.include("LMSRE"))
			{
				var strFromWhere = page.split("|");
				var mapit=strFromWhere[1];
				var widgetName =strFromWhere[2]; 
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoZip = geoArr[0].zip;
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				var url;
				var moreWidgets="";
				moreWidgets = getCookie("strMapitCK");
				if(widgetName=="terabitzMap")
				{
					url = "/app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames=";
				}
				else if(mapit=="mapit")
				{
					var ps = "";
					if(typeof(powerSearch) != 'undefined' && powerSearch == '1' && (uRole == 'EA' || uRole == 'A'))
						var ps = "&ps=1";

					if(moreWidgets == "" || moreWidgets == null)
					{
						url = "/app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName+ps;
					}
					else
					{
						url = "/app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName+","+moreWidgets+ps;
					}
					if(uid != "")
						setCookie("strMapitCK","");
				}
				else if(mapit=="fromMapIt")
				{
					if(moreWidgets == "" || moreWidgets == null)
					{
						url = "/app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName;
					}
					else
					{
						url = "/app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName+","+moreWidgets;
					}
				}
				else if(mapit=="dashboard")
				{
					//url = "/app/dashboard/dashboardIndex.php?loadnow=1&code=searchAddress=:::city="+geoCity+":::state="+geoState+":::county=:::neighborhood=:::minPrice=:::maxPrice=:::searchBeds=:::minSize=:::maxSize=:::searchBaths=:::searchType=:::searchSortType=ph:::ckLFDate=:::ckLTDate=:::zip=&fe=&f=1&propLatitude="+geoLat+"&propLongitude="+geoLong;
					url = "/app/dashboard/dashboardIndex.php";
				}
				else if(mapit=="dashboardindex")
				{
					eval("var hashDshbrdBitz="+lmsreDshbrdBitz); 
					if(eval("hashDshbrdBitz['"+widgetName+"']")!=null)
	 				{	
	 					hashVal = eval("hashDshbrdBitz['"+widgetName+"']");
	 					url = "/app/dashboard/dashboardIndex.php?loadnow=1&code=searchAddress=:::city="+geoCity+":::state="+geoState+":::county=:::neighborhood=:::minPrice=:::maxPrice=:::searchBeds=:::minSize=:::maxSize=:::searchBaths=:::searchType=:::searchSortType=ph:::ckLFDate=:::ckLTDate=:::zip=&id=:::"+hashVal+",1,2&fe=&f=1&propLatitude="+geoLat+"&propLongitude="+geoLong;
 					}
	 			}
				location.href = url;
			}
			else if(page.include("METRO"))
			{
				var strFromWhere = page.split("|");
				var mapit=strFromWhere[1];
				var widgetName =strFromWhere[2]; 
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoZip = geoArr[0].zip;
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				if(geoState!="CO")
				{
					alert("Sorry, we do not support any other state then CO.");
					return;
				}
				var url;
				var extra = "";
				if(widgetName == "exclusivecol")
				{
					extra = "&mapZoomLevel=9";
					var now = new Date();
					now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
					setCookie("mapSearchSelect","1",now);
				}

				if(mapit=="mapitAddr")
				{
					var geoAddress = geoArr[0].address;
					 widgetName = 'mlsaddrsearch';
					 url = "app/listing/singlePropertyLanding.php?status=EXP&address="+geoAddress+","+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName+extra;
				}
				else if(mapit=="mapit")
				{
					//alert(3);
					var dist = "";
					var distStr = "";
					if($("distanceChk").checked)
					{
						dist = $F("distance");
						distStr = "&mapZoomLevel=" + dist;//"&distance="+dist;
					}

					if(widgetName == "exclusivecol")
					{
						distStr = "&mapZoomLevel=9";
					}

					//url = "app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName+distStr;//+",jbfeaturedlistings";
					url = "Search/"+geoState+"/"+geoCity;
					if(geoZip != "")
						url += "/"+geoZip;
					
					removeSearchCookie("city");
					removeSearchCookie("state");
				}
				else if(mapit=="fromMapIt")
				{
					url = "/app/listing/singlePropertyLanding.php?status=EXP&address=,"+geoCity+","+geoState+","+geoZip+",,,,"+geoLat+","+geoLong+"&widgetnames="+widgetName+extra;
				}
				else if(mapit=="dashboard")
				{
					url = "/app/dashboard/dashboardIndex.php?loadnow=1&code=searchAddress=:::city="+geoCity+":::state="+geoState+":::county=:::neighborhood=:::minPrice=:::maxPrice=:::searchBeds=:::minSize=:::maxSize=:::searchBaths=:::searchType=:::searchSortType=ph:::ckLFDate=:::ckLTDate=:::zip=&fe=&f=1&propLatitude="+geoLat+"&propLongitude="+geoLong;
				}
				else if(mapit=="dashboardindex")
				{
					if(widgetName=="demographics")
						url = "app/dashboard/dashboardIndex.php?loadnow=1&code=searchAddress=:::city="+geoCity+":::state="+geoState+":::county=:::neighborhood=:::minPrice=:::maxPrice=:::searchBeds=:::minSize=:::maxSize=:::searchBaths=:::searchType=:::searchSortType=ph:::ckLFDate=:::ckLTDate=:::zip=&id=28,1,1:::&fe=&f=1&propLatitude="+geoLat+"&propLongitude="+geoLong;
					if(widgetName=="climate")
						url = "app/dashboard/dashboardIndex.php?loadnow=1&code=searchAddress=:::city="+geoCity+":::state="+geoState+":::county=:::neighborhood=:::minPrice=:::maxPrice=:::searchBeds=:::minSize=:::maxSize=:::searchBaths=:::searchType=:::searchSortType=ph:::ckLFDate=:::ckLTDate=:::zip=&id=19,1,1:::&fe=&f=1&propLatitude="+geoLat+"&propLongitude="+geoLong;
					if(widgetName=="mortgage rates")
						url = "app/dashboard/dashboardIndex.php?loadnow=1&code=city="+geoCity+":::state="+geoState+":::county=:::minsqft=:::maxsqft=:::minSize=:::maxSize=:::searchType=:::searchAddress=:::searchSortType=ph:::ckLFDate=:::ckLTDate=:::minPrice=:::maxPrice=:::searchBeds=:::searchBaths=:::zip=&id=50,1,1:::&fe=&f=1&propLatitude="+geoLat+"&propLongitude="+geoLong;;
					if(widgetName=="mcalc")
						url = "app/dashboard/dashboardIndex.php?loadnow=1&code=city="+geoCity+":::state="+geoState+":::county=:::minsqft=:::maxsqft=:::minSize=:::maxSize=:::searchType=:::searchAddress=:::searchSortType=ph:::ckLFDate=:::ckLTDate=:::minPrice=:::maxPrice=:::searchBeds=:::searchBaths=:::zip=&id=24,1,1:::&fe=&f=1&propLatitude="+geoLat+"&propLongitude="+geoLong;
				}
				location.href = url;
			}
			else if(page == "METRO_GOTLL")
			{
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoZip = geoArr[0].zip;
				sendAddressForLatLong(geoCity,geoState,geoZip);
			}
			else if(page=="METRO_SmartWin")
			{
				var geoCity = geoArr[0].city;
				var geoState = geoArr[0].state;
				var geoLat = geoArr[0].latitude;
				var geoLong = geoArr[0].longitude;
				sendAddressFldsToMETRO(geoCity,geoState,geoLat,geoLong);
			}
			else
			{
				submitSearchForm();
			}
		}
		
		if (page == 'ValueMyHome')
		{
			var geoAddress = $("valueHomeAddress").value;
		}
		else if (page == 'ExploreNeighborhood')
		{
			var geoAddress = $("exploreAddress").value;
		}
		else if (page == 'ListMyHome')
		{
			var geoAddress = $("listHomeAddress").value;
			var exptdSales = $("expectedSale").value;
			var names = $("listHomeName").value;
			var email = $("listHomeEmail").value;						
			var timeLine = $("timeLine").value;									
		}
		else if (page == 'landing')
		{
			if ($('searchAddress').value == "optional")
			{
				var geoAddress = "";
			}
			else
			{
				var geoAddress = $("searchAddress").value;
			}

			if  ($('searchCSZ').value == "required")
			{
				alert ('Please enter a location.');
				return;
			}
		}
		else if(page == 'campaign')
		{
			var geoAddress ="";
		}
		else if(page == "FAH" || page == "BST" || page == "VOH" || page == "VH" || page == "FAO")
		{
			if ($('searchAddress').value == "optional")
			{
				var geoAddress = "";
			}
			else
			{
				var geoAddress = $("searchAddress").value;
			}
		}
		else if(page.include("LMSRE") || page=="LMSRE_SmartWin" || page.include("METRO") || page=="METRO_SmartWin" || page == 'Metro')
		{
			var geoAddress; 
			if($("txtAddress"))
				geoAddress = $("txtAddress").value;
			else
				geoAddress="";
		}
		else
		{
			var geoAddress = $("searchAddress").value;
		}
		
	
		var geoUrl = "/classes/getCSZ.php";
		var geoQueryString = "csz="+csz+"&address="+geoAddress;
		if (page == 'METRO')
		{
			ajaxRequest(geoUrl,geoQueryString,geoCbFn,false);
		}
		else
		{
			ajaxRequest(geoUrl,geoQueryString,geoCbFn);
		}

}


//--------------------------- Search Funtions -----------------------------//

function isNumeric(strValue)
{
	var objRegExp  = /(^-?\d\d*$)/;
	return objRegExp.test(strValue);
};

function submitSearchForm()
{
	if (($F('searchCity') == "") && ($F('searchZip') == ""))
	{
		alert ("Atleast one of 'City' or 'Zip' is requied");
		return false;
	}

	if(!zipValid('searchZip'))
	{
		alert("Zip is invalid");
		return false;
	}
	if(!numberIsValid('yearFrom',"Please enter valid year value","Year From",null,null))
	{
		alert ("Please enter valid year value");
		return false;
	}
	else
	{
		 if($('yearFrom').value!="" && $('yearFrom').value!=" ")
		 {
			 if($('yearFrom').value.length < 4)
			 {
				alert ("Year From should be 4 charcters long.");
				return false;
			 }
		}
	}
	
	if(!numberIsValid('yearTo',"Please enter valid year value","Year To",null,null))
	{
		alert ("Please enter valid year value");
		return false;
	}
	else
	{
		if($('yearTo').value!="" && $('yearTo').value!=" ")
		{
			 if($('yearTo').value.length < 4)
			 {
				alert ("Year To should be 4 charcters long.");
				return false;
			 }
		}
	}
	var contextArray = new Array("onSale","openHouse","newHomes","allHomes");
	var searchAddress = $F('searchAddress');
	if($('srchPopInDiv'))
		Element.toggle('srchPopInDiv');

	var saleable = "3";
	var userContext = "allHomes";
	var queryString = "address=" + escape(searchAddress);
		queryString = queryString + "&city=" + escape(trim($F("searchCity")));
		queryString = queryString + "&state=" + escape(trim($F("searchState")));
		queryString = queryString + "&zip=" + escape(trim($F("searchZip")));
		queryString = queryString + "&minprice=" + escape(money2num($F("minPrice")));
		queryString = queryString + "&maxprice=" + escape(money2num($F("maxPrice")));
		queryString = queryString + "&minsqft=" + escape($F("minSize"));
		queryString = queryString + "&maxsqft=" + escape($F("maxSize"));
		queryString = queryString + "&beds=" + escape($F("searchBeds"));
		queryString = queryString + "&baths=" + escape($F("searchBaths"));
		queryString = queryString + "&searchType=" + escape($F("searchType"));
		queryString = queryString + "&saleable=" + escape(saleable);
		queryString = queryString + "&usercontext=" + escape(userContext);
		setCookie("checkedType",saleable,now);
		
	//-------------------setting client side cookies--------------------//
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	setAllToCookie();
	url = "../listing/checkRecords.php";
	if ($('signInDiv')) Element.toggle('signInDiv');
	if ($('srchDiv')) Element.toggle('srchDiv');
	ajaxRequest(url,queryString,evalResponce);	
};

function evalResponce(originalRequest)
{
	var recCount = parseInt(originalRequest.responseText);
	if (recCount < 0)
	{
		if ($('srchDiv')) Element.toggle('srchDiv');
		if ($('signInDiv')) Element.toggle('signInDiv');
		alert("Sorry cannot connect to server");
	}	
	else if (recCount == 0)
	{
		if ($('srchDiv')) Element.toggle('srchDiv');
		if ($('signInDiv')) Element.toggle('signInDiv');
		alert("Sorry no records found");
		if($('srchPopInDiv'))
			Element.toggle('srchPopInDiv');
	}	
	else
	{
		window.location.href = "../listing/searchResult.php?PHPSESSID="+sessid;
	}
};

//--------------------------- Search Funtions -----------------------------//
function contactUs(type)
{
	alert ("For technical issues, please contact us at support@terabitz.com"+'\n'+"Broker-Agents contact us at brokeragentsupport@terabitz.com"+'\n'+"For all other inquiries, please contact us at info@terabitz.com");
}
/*********************************************************************************
 * Getting window size and scroll bars position in JavaScript/DHTML
 * http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html
 * author : Hi Pratik!
 * Date	: 15th May 2007
 * 
 ********************************************************************************** 
 */

function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}
function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function Querystring(qs) { 
	this.qs = qs;
	this.params = new Object();
	this.get=Querystring_get;
	this.set = Querystring_set;
	if (this.qs == null)
		this.qs=location.search.substring(1,location.search.length)

	if (this.qs.length == 0) return

	this.qs = this.qs.replace(/\+/g, ' ')
	var args = this.qs.split('&') // parse out name/value pairs separated via &
	
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0]);
        if(i==0)
		{
			name = name.substr(eval(name.indexOf('?')+1),name.length);
		}
		if (pair.length == 2)
			value = unescape(pair[1]);
		else
			value = name;
		this.params[name] = value;
	}
}

function Querystring_get(key, default_) 
{
	if (default_ == null) default_ = null;
	
	var value=this.params[key];
	if (value==null) value=default_;
	return value;
}
function Querystring_set(key,value)
{
	if(key == null)
		return;
	if(value == null)
		value = "";	
	this.params[key] = unescape(value);
	var paramKeys = Object.keys(this.params);
	var myQS = "";
	for(var i=0;i<paramKeys.length;i++)
	{
		myQS = myQS + "&" + paramKeys[i] + "=" + escape(this.params[paramKeys[i]]);
	}
	myQS = myQS.substr(1,myQS.length);
	this.qs = myQS;
}
Element.addMethods({
  hasAttributeValue: function(element, attrName, attrVal, separator) {
    element = $(element);
    attrName = trim(attrName);
    separator = (separator)?(separator):" ";
    var attr = element.readAttribute(attrName);
    if(attr==null || attr =="")
    	return false;
    attrVal = trim(attrVal);
    if(attr!="" || trim(attr)!="")
    {
    	attr = attr.replace (/^\s+/g, "").replace (/\s+$/g, "").replace (/\s+/g, " ");
    	var attrArr = attr.split(separator);
    	var retVal = attrArr.find(attrVal);
    	if(retVal===false)
    		return false;
    	else
    		return true;
    }
    return false;
  }
});
  
document.getElementsByAttributeVal = function(attrName,attrVal, parentElement) {
  if (Prototype.BrowserFeatures.XPath) {
    var q = ".//*[contains(concat(' ', @"+ attrName +", ' '), ' " + attrVal + " ')]";
    return document._getElementsByXPath(q, parentElement);
  } else {
    var children = ($(parentElement) || document.body).getElementsByTagName('*');
    var elements = [], child;
    for (var i = 0, length = children.length; i < length; i++) {
      child = children[i];
      if ($(child).hasAttributeValue(attrName, attrVal))
      {
        elements.push(Element.extend(child));
      }
    }
    return elements;
  }
};
//("groupid","3","galleryContainer")
var lastArrow = false;
function searchAddressFormat(event,defaultText)
{
	if(typeof(event)!="string")
	{
		var element = Event.element(event);
			if(event.type=="blur")
	{
		var srchVal = element.value.replace (/^\s+/g, '').replace (/\s+$/g, '').replace (/\s+/g, ' ');
		if(srchVal == '')
		{
			element.value=defaultText;
			element.className = element.className.gsub("N","");
		}
		else
		{
			element.value=srchVal;
			if(element.className.indexOf("N")==-1)
				element.className = String(element.className+"N");
		}
	}
	if(event.type=="focus")
	{
		if(element.value==defaultText)
		{
			element.value='';
			if(element.className.indexOf("N")==-1)
				element.className = String(element.className+"N");
		}
	}
		
	}
	else
	{
		var element = $(event);
		var srchVal = element.value.replace (/^\s+/g, '').replace (/\s+$/g, '').replace (/\s+/g, ' ');
		if(srchVal == '')
		{
			element.value=defaultText;
			element.className = element.className.gsub("N","");
		}
		else
		{
			element.value=srchVal;
			if(element.className.indexOf("N")==-1)
				element.className = String(element.className+"N");
		}
	}	
}
function findBitFormat()
{
	if(trim($("findBitTxt").value) == "")
	{
		$("findBitTxt").value = "Find Bit";
		$("findBitTxt").className = "textboxstyle";
	}
	else if(trim($("findBitTxt").value) == "Find Bit")
	{
		$("findBitTxt").value = "";
		$("findBitTxt").className = "textboxstyleN";
	}
	else
	{
		$("findBitTxt").className = "textboxstyleN";
		findBit();
	}
}
var arrLoadedTabs = new Array();
function showWidgetGrp(gid)
{
	if(gid==null || typeof(gid)=='undefined')
		return;
	if($("toggleDiv").style.display=="none")
	{
		toggleSlider();
	}
	
	$A(document.getElementsByClassName("dashIconsDrag","galleryContainer")).each(Element.hide);
	if(gid=="All")
	{
		var gidArr = document.getElementsByClassName("dashIconsDrag","galleryContainer");
		gidArr.each(function(nd)
		{
			$(nd).style.display = "inline";
		});
		$('theImages').style.left = 25 + 'px';
		if($("arrowLeft"))
		{
			$("arrowLeft").show();
			$("arrowRight").show();
			$("arrowLeftDis").hide();
			$("arrowRightDis").hide();
		}
		initSlideShow();
		return;
	}
	gid = gid.toString();
	var gidArr = document.getElementsByAttributeVal("groupid",gid,"galleryContainer");
	var len = gidArr.length;
	for(var i=0;i<len;i++)
	{
		if((arrLoadedTabs.in_array(gid) === false) && ($(gidArr[i]) != null))
		{
			var divImgId = $(gidArr[i]).id;
			var widgetName = divImgId.gsub('divImg_','');
			var imgId =  'img_'+widgetName;
			$(imgId).src = $(imgId).src.gsub('spacer.gif',eval('widgetsData.'+widgetName+'.img_n'));
		}	
		if($(gidArr[i]))
			$(gidArr[i]).style.display = "inline";
	}
	if(arrLoadedTabs.in_array(gid) === false)
		arrLoadedTabs[arrLoadedTabs.length] = parseInt(gid);
	
	if(len>=9)
	{
		lastArrow = true;
		if($("arrowLeft"))
		{
			$("arrowLeft").show();
			$("arrowRight").show();
			$("arrowLeftDis").hide();
			$("arrowRightDis").hide();
		}
	}
	else
	{
		lastArrow = false;
		if($("arrowLeft"))
		{
			$("arrowLeft").hide();
			$("arrowRight").hide();
			$("arrowLeftDis").style.display = "inline";
			$("arrowRightDis").style.display = "inline";
		}
	}
	$('theImages').style.left = 25 + 'px';
	if(!isIE)
		initSlideShow();
}

function findHash(myObjFind,key)
{
	var h  = $H(myObjFind);
	var arrKeys = h.keys().sort();
	
	key = trim(key).toLowerCase();
	var keyLen = key.length;
	
	var arrRes = Array();
	for(var i=0;i<arrKeys.length;i++)
	{
		//if(key==((arrKeys[i].toLowerCase().substring(0,keyLen)).toLowerCase()))
		if((arrKeys[i].toLowerCase()).include(key))
			arrRes.push(h[arrKeys[i]]);
	}
	return arrRes;
}
function findBit()
{
	var gidArr = document.getElementsByClassName("dashIconsDrag","galleryContainer");
	var key=$("findBitTxt").value;
	if(trim(key)!="")
	{
		gidArr.each(function(nd)
		{
			$(nd).style.display = "none";
		});
		var findArr = findHash(myObjFind[0],key);
		$A(findArr).each(
			function(node)
			{
				if($("divImg_"+node) && node!="mapit")
					$("divImg_"+node).show();
			}
		);
	}
	else
	{
		gidArr.each(function(nd)
		{
			if(nd!="divImg_mapit")
				$(nd).style.display = "inline";
		});
	}
}

function changeTabCls(type,event)
{
	var gidArr = document.getElementsByClassName("tabTdCls",event);
	if(type=="over")
	{
		gidArr.each(function(nd)
		{
			if(!(nd.className.include("_blue_h")))
				nd.className = nd.className.gsub("_blue_n","_blue_h");
		});
	}
	else if(type=="out")
	{
		gidArr.each(function(nd)
		{
			if((nd.className.include("_blue_h")))
				nd.className = nd.className.gsub("_blue_h","_blue_n");
		});
	}
	else
	{
		var gidArrAll = document.getElementsByClassName("tabTdCls","grpDiv");
		gidArrAll.each(function(nd)
		{
			if((nd.className.include("_blue_cl")))
			{
				nd.className = nd.className.gsub("_blue_cl","_blue_n");
			}
		});
		gidArr.each(function(nd)
		{
			if(!(nd.className.include("_blue_cl")))
			{
				nd.className = nd.className.gsub("_blue_h","_blue_cl");
				nd.className = nd.className.gsub("_blue_n","_blue_cl");
			}
		});
	}
	
}

function trimToRect(w, h, str, strApp, strClass, bTrimToWords, bAlwaysAppend,id)
{
	h=parseInt(h);
	str=str.replace(/<=>/g,"'");
	str=str.replace(/<==>/g,'"');
// element with id "ruler" must exist in the document, e.g.:
// <div id=ruler style="position:absolute; left:-5000px;"><!-- --></div>
	elR = document.getElementById(id);
	elR.className = strClass;
	elR.style.width = w;
	
	if(bAlwaysAppend)
		strResult = str + strApp;
	else
		strResult = str;

	// fits already? opt out early
	elR.innerHTML = strResult;
	if(elR.clientHeight <= h)
		return strResult;

	with(Math) position = nextOffset = pow(2,floor(log(str.length) / LN2));

	do
	{
		nextOffset = nextOffset / 2;
		elR.innerHTML = str.substr(0, position) + strApp;
		position = position + (elR.clientHeight > h? -nextOffset:nextOffset);
	} while(nextOffset!= 1);

	elR.innerHTML = str.substr(0, position) + strApp;
	if(elR.clientHeight > h)
		position--;

	if(bTrimToWords)
		while(str.substr(--position, 1)!= " ");

	return str.substr(0, position) + strApp;
}

function highlightMapTypeBtn(maparg)
{
	if (maparg)
		mapType = maparg.getCurrentMapType().getName(true);
	if(mapType=="Map")
	{
		document.getElementById("btnMap").className="mapTypeButtonSelect";
		document.getElementById("btnSat").className="mapTypeButton";
//		document.getElementById("btnHyb").className="mapTypeButton";
		document.getElementById("btnTer").className="mapTypeButton";
	}
	else if(mapType=="Sat")
	{
		document.getElementById("btnMap").className="mapTypeButton";
		document.getElementById("btnSat").className="mapTypeButtonSelect";
//		document.getElementById("btnHyb").className="mapTypeButton";
		document.getElementById("btnTer").className="mapTypeButton";
	}
/*	else if(mapType=="Hyb")
	{
		document.getElementById("btnMap").className="mapTypeButton";
		document.getElementById("btnSat").className="mapTypeButton";
		document.getElementById("btnHyb").className="mapTypeButtonSelect";
		document.getElementById("btnTer").className="mapTypeButton";
	}
*/
	else if(mapType=="Ter")
	{
		document.getElementById("btnMap").className="mapTypeButton";
		document.getElementById("btnSat").className="mapTypeButton";
//		document.getElementById("btnHyb").className="mapTypeButton";
		document.getElementById("btnTer").className="mapTypeButtonSelect";
	};
}
//Funtions for getting the all the MapIT bits that are currently loaded on the dashboard

function getMapItBitsLoadedOnDashboard(expURL,uid)
{
	if (typeof(uid) != "undefined")
	{
		var url = "/app/dashboard/dshbrdProcess.php";
		var qryStr = "fetchdata=1";
		ajaxRequest(url,qryStr,function(objRequest){

			var response = trim(objRequest.responseText);
			if(response == '{}')
			{
				return;
			}
			else
			{
				var responseArr = eval(response);
				widgetNames = '';
				for(var i=0;i<responseArr.length;i++)
				{
					var rowNo = responseArr[i].rowNo;
					var colNo = responseArr[i].colNo;
					var widgetName = responseArr[i].widgetName;
					var divChildId = "divChild"+rowNo+"X"+colNo; 
					widgetNames = widgetNames + widgetName + ',';	
				}
				widgetNames = widgetNames.substr(0, widgetNames.length - 1);
				window.open(expURL+"&widgetnames=" + widgetNames,"_self");
			}
		});
	}
	else
	{
		widgetNames = '';
		for (var i=1 ; i<=3 ; i++)
		{
			for (var j=1 ; j<=3 ; j++)
			{
				if(getCookie("widget"+i+"X"+j))
				{
					var widgetName;
					widgetName = getCookie("widget"+i+"X"+j).split(':::')[0];
					if (widgetName != "undefined")
					{
						widgetNames = widgetNames + widgetName + ',';
					}
				}
				
			}
		}		
		widgetNames = widgetNames.substr(0, widgetNames.length - 1);
		window.open(expURL+"&widgetnames=" + widgetNames,"_self");
	}
}

function getMapItBits(objRequest,expURL)
{
	var MapitBitzName = trim(objRequest.responseText);
	MapitBitzName = MapitBitzName.substr(0, MapitBitzName.length - 1);
	window.open(expURL+"&widgetnames=" + MapitBitzName,"_self");
}

var timeDiff  =  {
    setStartTime:function (){
        d = new Date();
        time  = d.getTime();
    },

    getDiff:function (){
        d = new Date();
        return (d.getTime()-time);
    }
}
var bitzTabPrev="";
var bitzTabNew="";
function changeTabImg(newTabVal)
{
	if(bitzTabNew!="")
	{
		bitzTabPrev = bitzTabNew;
		bitzTabNew = newTabVal;
	}
	else
	{
		var dgidArrAll = document.getElementsByClassName("tabSelected","tabDiv");
		dgidArrAll.each(function(nd)
		{
		   bitzTabPrev = nd.id;
		});
		bitzTabNew = newTabVal;
	}
	$(bitzTabPrev).className = "tabs";	
	$(bitzTabNew).className = "tabSelected";
	/*
		var dgidArrAll = document.getElementsByClassName("tabSelected");
		dgidArrAll.each(function(nd)
		{
				$(nd.id).className = "tabs";
			
		});
		var gidArrAll = document.getElementsByClassName("tabs");
		gidArrAll.each(function(nd)
		{
			if((nd.id==event))
			{
				$(nd.id).className = "tabSelected";
			}
		});
	*/ 
}
function funMakeChatWindow(userType,toChatType)
{
	if(typeof(flagB)!=='undefined' && flagB)
		document.getElementById('tooltipMainB').style.display = 'none';
	if(typeof(flag)!=='undefined' && flag)
		document.getElementById('tooltipMain').style.display = 'none';
	initResizePanel("widgetPanel");
	$('widgetPanel_h').style.display='none';
	if(typeof(initResizePanel)!='undefined')
	{
		/*if(userType=="C")
		{
			$('msgerDiv').style.display="none";
			$('loginDiv').style.display="none";
			$('registerDiv').style.display="block";
		}
		else*/ if(userType=="SP")
		{
			location.href = "../../app/ajaxim/support.php";
		}
		else
		{
			pingTimer = setInterval(ping, pingFrequency);
			$('msgerDiv').style.display="block";
			/*$('loginDiv').style.display="none";
			$('registerDiv').style.display="none";*/
		}
	}
	else
	{
		alert("include Chat Window");
	}
		
}

// function for view a singleproperty landing page from the index page on go button, buyers and renters click
function callMapIt(callValue)
 {
	 if (callValue == "openhouse")
	 {
		if ($("houseCSZ") && ($("houseCSZ").value == "" || $F("houseCSZ").toLowerCase() == "required"))
		{
			alert ("Please enter a location.");
			return;
		}
	 }
	 else
	 {
 		if ( $("searchCSZ") && ($("searchCSZ").value == "" || $F("searchCSZ").toLowerCase() == "required"))
		{
			alert ("Please enter a location.");
			return;
		}
	 }

	if( $("searchCSZ") && (checkMultiCity() && (bkTheme == 'jonathan' || bkTheme == 'century21ah' || bkTheme == 'patrick') ) )
	{
		if (callValue == 'lSearch') {
			alert ('Please select single city location for Local Search.');
			return;
		}
		else if (callValue == 'rSearch') {
			alert ('Please select single city location for Recent Sales.');
			return;
		}
	}

	var strSearchCookie = getCookie("strSearchCookie");
	var latLong = eval(getCookie("latLongCk"))[0];
	var latitude = latLong.lat;
	var	longitude = latLong.lng;
	var addressVar = '';
	var cityVar = '';
	var stateVar = '';
	var zipVar = '';
	var priceVar = '';
	var bedVar = '';
	var bathVar = '';

	searchQueryString = 'status=EXP&address=';

	if(getSearchCookie("searchAddress") && getSearchCookie("searchAddress") != "")
		addressVar = escape(getSearchCookie("searchAddress").replace(/[,]/g, " "));

	if(getSearchCookie("city") && getSearchCookie("city") != "")
		cityVar = escape(getSearchCookie("city").replace(/[,]/g, " "))

	if(getSearchCookie("state") && getSearchCookie("state") != "")
		stateVar = escape(getSearchCookie("state").replace(/[,]/g, " "));

	if(getSearchCookie("zip") && getSearchCookie("zip") != "")
		zipVar = escape(getSearchCookie("zip").replace(/[,]/g, " "));

	searchQueryString = searchQueryString + addressVar + "," + cityVar + "," + stateVar + "," + zipVar + "," + priceVar + "," + bedVar + "," + bathVar+ "," + latitude+ "," + longitude;

	if (addressVar!="optional" && addressVar!="" && (!callValue) )
	{
		widgetNames = "mlsaddrsearch";
	}
	else
	{
		if(bkTheme == 'terabitz')
		{
			if(callValue == 'buyers')
				widgetNames = "forsalelisting,fsbo";
			else if(callValue == 'renters')
				widgetNames = "craiglistRental,apartments";
			else if(callValue == 'localsearch')
				widgetNames = "yelp,panoramio";	
			else if(callValue == 'foreclosures')
				widgetNames = "foreclosures";		
			else
			{
				// Check MLS access
				/* COMMENTED AS PER NEW INSTRUCTIONS
				var redirectRes = "";
				var redirectUrl = '/app/dashboard/findMlsAccess.php';
				var redirectQs = "city=" + cityVar + "&state=" + stateVar + "&zip=" + zipVar + "&propLat=" + latitude + "&propLong=" + longitude; 
				ajaxRequest(redirectUrl, redirectQs, function getPartnerRedirectUrl(originalRequest)
					{
						redirectRes = originalRequest.responseText;
						if (redirectRes != "0")
						{
							window.location.href = redirectRes;
							return;
						}
					}, false
				)
				*/
				var redirectRes = 0;
				// We dont have MLS access in this city
				if (redirectRes == "0")
				{
					var url = '/app/feed/selectDefaultBitz.php';
					var queryString = "";
					ajaxRequest(url,queryString,function resDefaultBitz(originalRequest)
						{
							 var response = originalRequest.responseText;
							 if(response!=0)
							 {
								widgetNames = response;
							 }
							 else
								widgetNames = "googlebase";
						},false
					);
				}
				else
				{
					// We already have MLS access, so dont execute next code
					return;
				}
			}
		}
		else if (bkTheme == 'jonathan' || bkTheme == 'century21ah' || bkTheme == 'patrick' || bkTheme == 'remax' || bkTheme == 'moneyworld' || bkTheme == 'ajcre' || bkTheme == 'ibr')
		{
			if(callValue == 'aSearch'){
				widgetNames = "brokeragents";
			}
			else if(callValue == 'lSearch' && bkTheme == 'moneyworld'){
				widgetNames = "panoramio";
			}
			else if(callValue == 'lSearch'){
				widgetNames = "yelp,panoramio";
			}
			else if(callValue == 'pSearch'){
				widgetNames = "mlsSearch,jbfeaturedlistings";
				if(bkTheme == 'remax' || bkTheme == 'moneyworld' || bkTheme == 'ibr')
				{
					widgetNames = "mlsCountySearch";
				}
			}
			else if(callValue == 'rSearch'){
				widgetNames = "recentsales";
			}
			else if (bkTheme == 'moneyworld' && callValue == 'fHome')
				widgetNames = "jbfeaturedlistings";
			else if(callValue == 'fHome'){
				widgetNames = "mlsfeatured";
			}
			else if(callValue == 'lServices' && bkTheme == 'patrick'){
				widgetNames = "contractors,mortgagecompanies,lshomeinspector,titleCompanies,moving";
			}
			else if(callValue == 'lServices' && bkTheme == 'jonathan'){
				widgetNames = "appraiser,attorney";
			}
			else if(callValue == 'lServices' && bkTheme == 'remax'){
				widgetNames = "appraiser,inspection";
			}
			else if(callValue == 'lServices'){
				widgetNames = "appraiser,attorney,inspection";
			}
			else if(callValue == 'baSearch'){
				widgetNames = "brokeragents";
			}
			else
			{
				var url = '/app/feed/selectDefaultBitz.php';
				var queryString = "";
				ajaxRequest(url,queryString,function resDefaultBitz(originalRequest)
					{
						var response = originalRequest.responseText;
						if(response!=0)
						{
							widgetNames = response;
						}
						else
						{
							widgetNames = "mlsSearch";
							if (bkTheme == 'remax')
							{
								widgetNames = "mlsCountySearch&mapZoomLevel=14";
							}
							else if(bkTheme == 'moneyworld' || bkTheme == 'ajcre')
							{
								widgetNames = "mlsCountySearch";
							}
						}
					},false
				);
			}
		}
		else if(bkTheme == 'lmsre')
		{
			if(callValue == 'airports')
				widgetNames = "airports";
			if(callValue == 'colleges')
				widgetNames = "colleges";
		}
		else
		{
			var url = '/app/feed/selectDefaultBitz.php';
			var queryString = "";
			ajaxRequest(url,queryString,function resDefaultBitz(originalRequest)
				{
					 var response = originalRequest.responseText;
					 if(response!=0)
					 {
						widgetNames = response;
					 }
					 else
					 {
						 if (bkTheme=='intero')
							widgetNames = "mlsCountySearch,jbfeaturedlistings&mapZoomLevel=14";
						 else if (bkTheme == "acbre" || bkTheme == "remax" || bkTheme == "moneyworld")
							 widgetNames = "mlsCountySearch&mapZoomLevel=14";
						 else
							widgetNames = "mlsSearch";
					}
				},false
			);		
		}
		
		//condition for intero from landing page to open homes in two pane
		if(callValue == "openhouse")
			widgetNames = "mlsopenhomes";
		
		//condition for acbre reo search
		if(callValue == "reolisting")
			widgetNames = "reolistings&valChkMapSearchSelect=0";

		if (widgetNames != '')
			widgetNames = widgetNames.substr(0, widgetNames.length);
	}
	
	if ( $('hdnOuid') ) 
	{
		ouid = $('hdnOuid').value;
		widgetNames = widgetNames + '&frm=frch&ouid='+ouid;
	}	
	location.href = '../../app/listing/singlePropertyLanding.php?' + searchQueryString + "&widgetnames=" + widgetNames;
 };

 //remove value of advance option value


//function for searching by mlsno from index page header//

function funReloadAdvertise()
{
	//if(window.frames['iframeAdvertise'])
	//{
	//	window.frames['iframeAdvertise'].location.href = "/getAdvertise.php";
	//}
}

function setSearchCookie(ckName,ckValue)
{
	var strSearchCookie = getCookie("strSearchCookie");
	var arrSearchCookie = new Array();
	if(strSearchCookie != null && strSearchCookie != "")
	{
		arrSearchCookie = strSearchCookie.split(':::');
	}
	var arrNameSearchCookie = new Array();
	var arrValueSearchCookie = new Array();
	
	if(arrSearchCookie.length > 0)
	{
		for(var i=0;i<arrSearchCookie.length;i++)
		{
			var arrKeyVal = arrSearchCookie[i].split('=');
			arrNameSearchCookie[arrNameSearchCookie.length] = trim(arrKeyVal[0]);
			arrValueSearchCookie[arrValueSearchCookie.length] = trim(arrKeyVal[1]);
		}	
	}
	if(arrNameSearchCookie.find(ckName) !== false )
	{
		var ckIndex = arrNameSearchCookie.find(trim(ckName));
		arrValueSearchCookie[ckIndex] = escape(ckValue);
	}	
	else
	{
		arrNameSearchCookie[arrNameSearchCookie.length] = trim(ckName);
		arrValueSearchCookie[arrValueSearchCookie.length] = trim(escape(ckValue));
	}
	
	var strSearchCookie = "";
	for(var j=0;j<arrNameSearchCookie.length;j++)
	{
		if(j==0)
			strSearchCookie = strSearchCookie + trim(arrNameSearchCookie[j]) + '=' + trim(arrValueSearchCookie[j]); 
		else
			strSearchCookie = strSearchCookie + ':::' + trim(arrNameSearchCookie[j]) + '=' + trim(arrValueSearchCookie[j]);
	}
	
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	
	setCookie("strSearchCookie",strSearchCookie,now);
}

function getSearchCookie(ckName)
{
	var strSearchCookie = getCookie("strSearchCookie");
	var arrSearchCookie = new Array();
	if(strSearchCookie != null && strSearchCookie != "")
	{
		arrSearchCookie = strSearchCookie.split(':::');
	}
	var arrNameSearchCookie = new Array();
	var arrValueSearchCookie = new Array();
	
	if(arrSearchCookie.length > 0)
	{
		for(var i=0;i<arrSearchCookie.length;i++)
		{
			var arrKeyVal = arrSearchCookie[i].split('=');
			arrNameSearchCookie[arrNameSearchCookie.length] = trim(arrKeyVal[0]);
			arrValueSearchCookie[arrValueSearchCookie.length] = trim(arrKeyVal[1]);
		}	
	}
	
	var returnCKValue = "";
	if(arrNameSearchCookie.find(trim(ckName)) !== false)
	{
		var ckIndex = arrNameSearchCookie.find(ckName);
		returnCKValue = trim(unescape(arrValueSearchCookie[ckIndex]));
	}
	return returnCKValue;
	
}

function removeSearchCookie(ckName)
{
	var strSearchCookie = getCookie("strSearchCookie");
	var arrSearchCookie = new Array();
	if(strSearchCookie != null && strSearchCookie != "")
	{
		arrSearchCookie = strSearchCookie.split(':::');
	}
	
	var arrNameSearchCookie = new Array();
	var arrValueSearchCookie = new Array();
	
	if(arrSearchCookie.length > 0)
	{
		for(var i=0;i<arrSearchCookie.length;i++)
		{
			var arrKeyVal = arrSearchCookie[i].split('=');
			if(arrKeyVal[0] != ckName)
			{
				arrNameSearchCookie[arrNameSearchCookie.length] = trim(arrKeyVal[0]);
				arrValueSearchCookie[arrValueSearchCookie.length] = trim(arrKeyVal[1]);
			}	
		}
		var strSearchCookie = "";
		for(var j=0;j<arrNameSearchCookie.length;j++)
		{
			if(j==0)
				strSearchCookie = strSearchCookie + trim(arrNameSearchCookie[j]) + '=' + trim(arrValueSearchCookie[j]); 
			else
				strSearchCookie = strSearchCookie + ':::' + trim(arrNameSearchCookie[j]) + '=' + trim(arrValueSearchCookie[j]);
		}
	
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("strSearchCookie",strSearchCookie,now);
	}
}
function funClrQckLocSrchCookies()
{
	removeSearchCookie("searchAddress");
	removeSearchCookie("city");
	removeSearchCookie("state");
	removeSearchCookie("zip");
	removeSearchCookie("county");
	removeSearchCookie("neighborhood");
}
function funClrQckSrchCookies()
{
	// CLEAR COOKIE RELATED TO MLSSource 
	if(typeof(clr_MLSSRC_Cookie) == 'function')	
		clr_MLSSRC_Cookie();
	if(typeof(clr_MLSSRC_Html) == 'function')	
		clr_MLSSRC_Html();	
	//UI Template Related Code
	if(typeof(clearSearchTemplateParam) == 'function' )
		clearSearchTemplateParam();

	removeSearchCookie("pool");
	removeSearchCookie("fire");
	removeSearchCookie("photo");
	removeSearchCookie("listType");
	removeSearchCookie("garage");
	removeSearchCookie("stories");
	removeSearchCookie("fromYear");

	removeSearchCookie("spanHTML");
	removeSearchCookie("spanStyleHTML");
	removeSearchCookie("searchAddress");
	removeSearchCookie("city");
 	removeSearchCookie("state");
	removeSearchCookie("zip");
	removeSearchCookie("county");
	removeSearchCookie("neighborhood");
	removeSearchCookie("minPrice");
	removeSearchCookie("maxPrice");
	removeSearchCookie("searchBeds");
	removeSearchCookie("minSize");
	removeSearchCookie("maxSize");
	removeSearchCookie("searchBaths");
	removeSearchCookie("searchType");
	removeSearchCookie("searchSortType");
	removeSearchCookie("ckLFDate");
	removeSearchCookie("ckLTDate");
	removeSearchCookie("propStyle");
	removeSearchCookie("neighborhood");
	//removeSearchCookie("parkingType");
	
	// for power search
	removeSearchCookie("mlsSource");
	removeSearchCookie("propType");
	removeSearchCookie("propStatus");
	removeSearchCookie("area");
	removeSearchCookie("polygon");
	removeSearchCookie("salePriceFrom");
	removeSearchCookie("salePriceTo");
	removeSearchCookie("minPSize");
	removeSearchCookie("maxPSize");
	removeSearchCookie("ckPLFDate");
	removeSearchCookie("ckPLTDate");
	removeSearchCookie("listAgentFnm");
	removeSearchCookie("listAgentLnm");
	removeSearchCookie("minLotSize");
	removeSearchCookie("maxLotSize");
	removeSearchCookie("fromAge");
	removeSearchCookie("toAge");
	removeSearchCookie("fromYear");
	removeSearchCookie("toYear");
	removeSearchCookie("marketDaysFrom");
	removeSearchCookie("marketDaysTo");
	removeSearchCookie("garage");
	removeSearchCookie("stories");
	removeSearchCookie("eleSchool");
	removeSearchCookie("midSchool");
	removeSearchCookie("highSchool");
	removeSearchCookie("saleDateFrom");
	removeSearchCookie("saleDateTo");
	removeSearchCookie("saleAgentFnm");
	removeSearchCookie("saleAgentLnm");
	removeSearchCookie("salePriceFrom");
	removeSearchCookie("salePriceTo");
	removeSearchCookie("powerradial");
	removeSearchCookie("listagtid");
	removeSearchCookie("saleagtid");
	removeSearchCookie("listoff");
	removeSearchCookie("saleoff");
	removeSearchCookie("fire");
	removeSearchCookie("pool");
	removeSearchCookie("roof");
	
	setAllCookieValue("mlssource");
	setAllCookieValue("proptype");
	setAllCookieValue("propstatus");
	setAllCookieValue("sqftp");
	setAllCookieValue("listdatep");
	setAllCookieValue("listagent");
	setAllCookieValue("lotsize");
	setAllCookieValue("age");
	setAllCookieValue("yearbuilt");
	setAllCookieValue("daysonmarket");
	setAllCookieValue("garage");
	setAllCookieValue("stories");
	setAllCookieValue("eleschool");
	setAllCookieValue("midschool");
	setAllCookieValue("highschool");
	setAllCookieValue("saledate");
	setAllCookieValue("saleprice");
	setAllCookieValue("saleagent");
	setAllCookieValue("area");
	setAllCookieValue("polygon");
	setAllCookieValue("listagtid");
	setAllCookieValue("listoff");
	setAllCookieValue("saleagtid");
	setAllCookieValue("saleoff");
	setAllCookieValue("roof");
	setAllCookieValue("fire");
	setAllCookieValue("pool");
	//---------------------------------

	setAllCookieValue(null);
	headerContent(null);
	funCloseAdvanceSearch();
	
	removeSearchCookie("spanStyleHTML");
	removeSearchCookie("propStyle")
	if($('prpStyleText')) $('prpStyleText').innerHTML = "";

	if(typeof(srTabs) != "undefined" && srTabs.getTab(0).get("active"))
	{
		srTabs.set('activeTab',srTabs.getTab(0),true);
		srTabs.getTab(0).refresh();
	}
}

/**
 * add and remove the MapIt cookie
 * @param bitzNm = BitName
 * @param oprn = 'add' to add cookie 'del' to remove cookie 
 */
function setMapItCookie(bitzNm,oprn)
{
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	var strMapitCK = getCookie("strMapitCK");
	var ckAr = new Array();
	if(strMapitCK == null || trim(strMapitCK) == "")
	{
		strMapitCK = "";
		ckAr.length = 0;
	}
	else
	{
		ckAr = strMapitCK.split(',').compact();
	}
	if(oprn == "add")
	{
		var isBitz = ckAr.in_array(bitzNm);
		if(isBitz === false)
		{
			ckAr[ckAr.length] = bitzNm;
			strMapitCK = "";
			for(var i=0;i<ckAr.length;i++)
			{
				if(strMapitCK != "")
				{
					strMapitCK = strMapitCK + ',';
				}
				strMapitCK = strMapitCK + ckAr[i]; 
			}
			if ( (bitzNm == "brokeragents" || bitzNm == "brokeroffices" ) && ( bkTheme == "intero" || bkTheme == "garygreene" || bkTheme == "raveis") );
			else
				setCookie("strMapitCK",strMapitCK,now);
		}
	}
	else if (oprn == "del")
	{
		var isBitz = ckAr.in_array(bitzNm);
		if(isBitz === false)
		{
			return;
		}
		else
		{
			ckAr.splice(isBitz,1);
		}
		strMapitCK = "";
		for(var i=0;i<ckAr.length;i++)
		{
			if(strMapitCK != "")
			{
				strMapitCK = strMapitCK + ',';
			}
			strMapitCK = strMapitCK + ckAr[i]; 
		}
		setCookie("strMapitCK",strMapitCK,now);
	}
}

/**
 * returns all the mapable bits in form of an array
 */
function getAllMapItCookie()
{
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	var strMapitCK = getCookie("strMapitCK");
	var ckAr = new Array();
	if(strMapitCK == null || trim(strMapitCK) == "")
	{
		strMapitCK = "";
		ckAr.length = 0;
	}
	else
	{
		ckAr = strMapitCK.split(',').compact();
	}
	return ckAr;
}

/**
 * set the mapit cookie to the list of mapable bits passed as an array
 */
function setAllMapItCookie(mapitBitsArray)
{
	for(i=0;i<mapitBitsArray.length;i++)
		setMapItCookie(mapitBitsArray[i],"add");
}

/**
 * set the mapit cookie to the list of mapable bits passed as an array
 */
function removeAllMapItCookie()
{
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	var strMapitCK = "";
	setCookie("strMapitCK",strMapitCK,now);
}


function setCSZValue(city, state, zip)
{
	var geoCSZStr = "";
	var multiCity = false;
	if ((city  == null) || (city =="") || (city  =="undefined"))
	{
		// Do nothing
	}
	else
	{
		if (city.indexOf('|') != -1)
			multiCity = true;
	}

	if (!multiCity && (zip  == null) || (zip =="") || (zip  =="undefined"))
	{
		// Do nothing
	}
	else
	{
		if (zip.indexOf('|') != -1)
			multiCity = true;
	}
	
	if (multiCity)
	{
		var cityArr = new Array();
		var stateArr = new Array();
		var zipArr = new Array();
		if ((city  == null) || (city =="") || (city  =="undefined"))
		{}
		else
		{
			cityArr = city.split('|');
		}
		if (state  =="" || state  =="undefined" || state  == null)
		{}
		else
		{
			stateArr = state.split('|');
		}
		if (zip =="" || zip  =="undefined" || zip  == null)
		{}
		else
		{
			zipArr = zip.split('|');
		}
		
		for (var i=0; i<cityArr.length; i++)
		{
			var currentCsz = "";
			if (cityArr[i]  == null || cityArr[i] == "")
			{}
			else
			{
				currentCsz += cityArr[i] + ", ";
			}
			if (stateArr[i]  == null || stateArr[i] == "")
			{}
			else
			{
				currentCsz += stateArr[i] + " ";
			}
			if (zipArr[i]  == null || zipArr[i] == "")
			{}
			else
			{
				currentCsz += zipArr[i];
			}
			
			if (currentCsz != "")
				geoCSZStr += trim(currentCsz) + ";";
				
			var geoCity 	= cityArr[i];
			var geoState 	= stateArr[i];
			var geoZip 		= zipArr[i];
			var geoCSZ 		= setCSZValue(geoCity, geoState,geoZip);
			var idTxtObj = 'searchCSZ'+ eval(i+1);
			if($(idTxtObj) != null)
				$(idTxtObj).value = trim(geoCSZ).replace (/^\s+/g, "").replace (/\s+$/g, "").replace (/\s+/g, " ");
		}
		if (geoCSZStr != "")
			geoCSZStr = geoCSZStr.substr(0, geoCSZStr.length-1);
	}
	else
	{
	 	if(city!=null)
	 	{
			if ((city  == null) || (city =="") || (city  =="undefined"))
			{
				
			}
			else
			{
				geoCSZStr = city + ", ";
			}
	 	}
	 	if(state!=null)
	 	{
			if (state  =="" || state  =="undefined" || state  == null)
			{
				
			}
			else
			{
				geoCSZStr += state +" ";
			}
	 	}
	 	if(zip!=null)
	 	{
			if (zip =="" || zip  =="undefined" || zip  == null)
			{
				
			}
			else
			{
				geoCSZStr += zip;
			}
	 	}
	}
	
 	if(trim(geoCSZStr) == "" )
 	{
 		geoCSZStr = "required";
 	}
 	return trim(geoCSZStr);
}
function funWrapText(str,len)
{
	if(str.length > len)
	{
		str = str.substr(0,len)+' ...';
	}
	return str;
}

function explore(page)
{	

	/* */
	// IF NEW LISTING THEN LAST 15 DAYS DATE DURATION WOULD BE SET
	if($('bit_select_box') && $F('bit_select_box') == 'newListing')
	{
		$("RStxtLFDate").value = listDate1;
		$("RStxtLTDate").value = listDate2;
		setSearchCookie("listType",$F('bit_select_box'));
	}
	else if($('bit_select_box') && $F('bit_select_box') != 'newListing')
	{
		lfDate = ''; ltDate = '';
		$("RStxtLFDate").value = '';
		$("RStxtLTDate").value = '';
		setSearchCookie("listType",$F('bit_select_box'));
	}
	setSearchCookie("ckLFDate",($("RStxtLFDate"))?($F("RStxtLFDate")):"");
	setSearchCookie("ckLTDate",($("RStxtLTDate"))?($F("RStxtLTDate")):"");



	if (countySearchEnabled == "0" && checkMultiCity() == false && trim(getSearchCookie("neighborhood")) != "")
	{
		setSearchCookie("county", "");
	}
	if ( bkTheme != "terabitz" && trim($("searchMLS").value) != "")
	{
		var allBitz = getAllMapItCookie().toString();
		allBitz = allBitz.split(",");

		if(allBitz.length >= 10)
		{	
			alert("Please close atleast one bit, then enter MLS Number.");
			return;
		}

		if (page=="agentSiteListing")
			searchByMlsNoAgentSite();
		else if(page == "singlePropPower")
		{
			if(typeof(powerSearch) != 'undefined' && powerSearch == "1" && (uRole == "EA" || uRole == "A"))
			{
				var mlsurl = "../../app/dashboard/mlsSearch.php";
			    var mlsstr = "mlsno="+trim($("searchMLS").value)+ "&forAlert=1&mlsSource="+getSearchCookie('mlsSource')+"&ignorestatus=1&idb=1&theme="+bkTheme+"&aid="+uid;
				
				ajaxRequest(mlsurl,mlsstr,function(r){
					response = trim(r.responseText);
					if(response == '0')	           
					{
						alert('MLS NO. not found.');
						return;
					}
					else
					{
						dataArr = response.split("&")[1].split("=")[1].split(",");
						var city = dataArr[1];
						var state = dataArr[2];
						var zip = dataArr[3];
						var lat = dataArr[7];
						var lng = dataArr[8];

						setSearchCookie("city",city);
						setSearchCookie("state",state);
						setSearchCookie("zip",zip);

						var latLongStr = "[{'lat':'"+lat+"','lng':'"+lng+"'}]";
						var now = new Date();
						now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
						setCookie("latLongCk",latLongStr,now);

						setSearchCookie("mlsno",trim($("searchMLS").value));
						setSearchCookie("area","");
						setSearchCookie("polygon","");
						funExplorePowerSearch();
					}
				});
			}
		}
		else
			searchByMlsNo();
		return;
	}
	else if($("searchMLS").value != "" && ($("searchCSZ").value == "" || $F("searchCSZ").toLowerCase() == "required"))
	{
		alert("Please enter City or Zip along with MLS Number.");
		return;
	}
	else if($("searchMLS").value != "")
	{
		var myStatus = funCheckContradict();
		if(myStatus != null && myStatus != 0)
		{
			if (page=="agentSiteListing")
				searchByMlsNoAgentSite();
			else
				searchByMlsNo();
		}
		return;
	}
	var csz = $("searchCSZ").value.replace (/^\s+/g, '').replace (/\s+$/g, '').replace (/\s+/g, ' ');
	var addr= $("searchAddress").value.replace (/^\s+/g, '').replace (/\s+$/g, '').replace (/\s+/g, ' ');
	/*if (trim(csz) == "")
	{
		alert ("Please specify either City or Zip");
		return false;
	}
	else */
	if (trim(csz) == "" || trim(csz).toLowerCase() == "required")
	{
		if(page == "singlePropPower")
		{
			if($("txtArea") && $("txtArea").value == "")
			{
				alert ("Please specify either City or Zip");
				return false;
			}
			else
			{				
				var status = funSaveAdvanceSearch("power","singlePropPower");
				
				if(status == true)
				{
					if(getSearchCookie("mlsno") && getSearchCookie("mlsno") != "")
						setSearchCookie("mlsno","");
					funExplorePowerSearch();
				}
			}
		}
		else
		{
			alert ("Please specify either City or Zip");
			return false;
		}
	}
	else if ( addr!="optional" && addr!="")
	{
		var contradict = funCheckContradict();
		if(contradict != null && contradict != 0)
		{
			var contradict = funReloadAdvertise();

			if(typeof(powerSearch) != 'undefined' && powerSearch == "1" && (uRole == "EA" || uRole == "A"))
			{		
				/*
				[{"status":"0","originaladdress":"4214 E Arch Rd, Stockton, CA ","statuscode":"200","country":"US","accuracy":"8","address":"4214 E Arch Rd","state":"CA","city":"Stockton","zip":"95215","latitude":"37.905234","longitude":"-121.214809"}]
				*/
				var url = "../../classes/getCSZ.php";
			    var qs = "csz="+trim($("searchCSZ").value)+"&address="+addr;
				
				ajaxRequest(url,qs,function(r){
					response = eval('(' + trim(r.responseText) + ')');

					if(response[0].status == "0")
					{
						var addr = response[0].address;
						var city = response[0].city;
						var state = response[0].state;
						var zip = response[0].zip;
						var lat = response[0].latitude;
						var lng = response[0].longitude;

						setSearchCookie("searchAddress",addr);
						setSearchCookie("city",city);
						setSearchCookie("state",state);
						setSearchCookie("zip",zip);

						var latLongStr = "[{'lat':'"+lat+"','lng':'"+lng+"'}]";
						var now = new Date();
						now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
						setCookie("latLongCk",latLongStr,now);
							
						funExplorePowerSearch();
					}
				});
			}
			else
			{
				var allBitz = getAllMapItCookie().toString();
				allBitz = allBitz.split(",");

				if(allBitz.length >= 10)
				{	
					alert("Please close atleast one bit, then enter Address.");
					return;
				}
				funExploreMlsAddrMap();
			}
			
			return;
		}
	}
	else
	{
		var cszFromCk = setCSZValue(getSearchCookie("city"), getSearchCookie("state"), getSearchCookie("zip"));
		var contradict = funCheckContradict();
		if(contradict != null && contradict != 0)
		{
			var contradict = funReloadAdvertise();
			if(page == "index")
			{
				gotoDashBrd();
			}	
			else if(page=="dashboard")
			{
				funQckUpdateWidgets();		
			}
			else if(page=="singleProp")
			{
				funExploreOnMapit();
			}
			else if(page=="singlePropPower")
			{
				var status = funSaveAdvanceSearch("power","singlePropPower");
				
				if(status == true)
				{
					if(getSearchCookie("mlsno") && getSearchCookie("mlsno") != "" && $("searchCSZ").value != "")
					{
						setSearchCookie("mlsno","");
					}
					else
					{
						if($('searchCSZ') != null)
						{
							$('searchCSZ').value = $('searchCSZ').value.replace (/^\s+/g, "").replace (/\s+$/g, "").replace (/\s+/g, " ");
							if (trim(cszFromCk).toUpperCase() != trim($('searchCSZ').value).toUpperCase())
							{
								if(getSearchCookie("area") && getSearchCookie("area") == $("txtArea").value)
								{
									setSearchCookie("area","");
									setSearchCookie("polygon","");
								}
							}
						}	
					}
					funExplorePowerSearch();
				} 
			}
			else if(page=="agentSiteListing")
			{
				funAgentSiteSearch();
			}
		}	
	}	
}
function funAgentSiteSearch(page,valOrderBy,typeOrderBy,searchByMlsNo)
{
	var cbfnAgentSite = function(reqObj)
	{
		var response = trim(reqObj.responseText);
		var arrResponseCount = response.split('|==|');
		var responseCount = arrResponseCount[0];
		var responseHTML = arrResponseCount[1];
		$('listDiv').innerHTML = responseHTML;
		if(parseInt(responseCount) > 0)
		{
			$('propSortBar').style.display = 'block';
		}
	}
	var url = "./getListing.php";
	var qs = funGetSearchQueryString();

	var objQS = new Querystring();
	var aid = objQS.get('aid');
	
	qs = qs + "&aid="+aid;

	if(page != null)
	{
		qs = qs + "&page="+page;
	}
	else
	{
		qs = qs + "&page=1";
	}
	if(valOrderBy != null)
	{
		qs = qs + "&valOrderBy="+valOrderBy;
	}
	else
	{
		qs = qs + "&valOrderBy=price";
	}
	if(typeOrderBy != null)
	{
		qs = qs + "&typeOrderBy="+typeOrderBy;
	}
	else
	{
		qs = qs + "&typeOrderBy=asc";
	}
	if(searchByMlsNo != null)
	{
		qs = qs + "&MlsSearch="+searchByMlsNo;
	}
	else
	{
		qs = qs + "&MlsSearch=0";
	}
	$('listDiv').innerHTML = '';
	ajaxRequest(url,qs,cbfnAgentSite);
}

function searchByMlsNoAgentSite()
{
	var cbfnAgentSite = function(reqObj)
	{
		var response = trim(reqObj.responseText);
		var arrResponseCount = response.split('|==|');
		var responseCount = arrResponseCount[0];
		var responseHTML = arrResponseCount[1];
		$('listDiv').innerHTML = responseHTML;
		if(parseInt(responseCount) > 0)
		{
			$('propSortBar').style.display = 'block';
		}
	}
	var url = "./getListing.php";
	var qs = "";
        var objQS = new Querystring();
        var aid = objQS.get('aid');
        qs = qs + "&aid="+aid;


	var mlsNo = objQS.get('mlsno');
	if(mlsNo!=null && mlsNo!='')
	{
		qs = qs + "&MlsSearch="+mlsNo;
	}
	else
	{
		qs = qs + "&MlsSearch="+trim($("searchMLS").value);
	}

	//qs = qs + "&MlsSearch=1";
    qs = qs + "&valOrderBy=price";
    qs = qs + "&typeOrderBy=asc";

	$('listDiv').innerHTML = '';
	ajaxRequest(url,qs,cbfnAgentSite);
}

var	recordDialogBox = "";
var	agtOffDlgBox = "";
function searchByMlsNo()
{
	if ($("searchMLS").value == "")
	{
		alert("Please input MLS number to search.");
		$("searchMLS").value = "";
		$("searchMLS").focus();
		return;
	}
	var mlsno = trim($("searchMLS").value);
	var qStr = "mlsno="+escape(mlsno);
	qStr += "&city="	+ trim(getSearchCookie("city"));
	qStr += "&state="	+ trim(getSearchCookie("state"));
	qStr += "&zip="		+ trim(getSearchCookie("zip"));
	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");
	var ouid = myQs.get("ouid");
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		if(typeof(strAgtMlsSrc) != 'undefined' && strAgtMlsSrc != null && strAgtMlsSrc.length > 0)
			qStr = qStr + "&mlsSource="	+ 	escape((trim(strAgtMlsSrc)));
		else
			qStr = qStr + "&mlsSource=";
		qStr = qStr + "&aid="+	escape((trim(aid)));

		//agentsite statistics
		var city = getSearchCookie("city");
		var ad = getSearchCookie("searchAddress");
		var beds = getSearchCookie("searchBeds");
		var baths = getSearchCookie("searchBaths");
		var type = getSearchCookie("searchType");
		var minprice = getSearchCookie("minPrice");
		var maxprice = getSearchCookie("maxPrice");

		var url = "../../classes/emailStats.php";
		var qs = "from=search&aid="+aid+"&city="+city+"&type="+type+"&beds="+beds+"&baths="+baths+"&price="+minprice+"-"+maxprice+"&addr="+ad+"&mlsno="+mlsno;

		ajaxRequest(url,qs);
		//statistics done
	}
	else if (frm != null && trim(frm) == 'frch' && ouid != null && trim(ouid) != "")
	{
		if(typeof(strAgtMlsSrc) != 'undefined' && strAgtMlsSrc != null && strAgtMlsSrc.length > 0)
			qStr = qStr + "&mlsSource="	+ 	escape((trim(strAgtMlsSrc)));
		else
			qStr = qStr + "&mlsSource=";
		qStr = qStr + "&ouid="		+ 	escape((trim(ouid)));

		//agentsite statistics
		var city = getSearchCookie("city");
		var ad = getSearchCookie("searchAddress");
		var beds = getSearchCookie("searchBeds");
		var baths = getSearchCookie("searchBaths");
		var type = getSearchCookie("searchType");
		var minprice = getSearchCookie("minPrice");
		var maxprice = getSearchCookie("maxPrice");

		var url = "../../classes/emailStats.php";
		var qs = "from=search&ouid="+ouid+"&city="+city+"&type="+type+"&beds="+beds+"&baths="+baths+"&price="+minprice+"-"+maxprice+"&addr="+ad+"&mlsno="+mlsno;

		ajaxRequest(url,qs);
		//statistics done
	}
	var url  = "/app/dashboard/mlsSearch.php";
	ajaxRequest(url,qStr,cbfnSearchByMlsNo);
}

function funRedirectToMLS(urlMLS)
{
	funClrQckLocSrchCookies();
	removeAllMapItCookie();	
	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");
	var	ouid = '';
	if ( $('hdnOuid') ) 
		ouid = $('hdnOuid').value;
	
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		urlMLS = urlMLS + '&frm=agt&aid='+aid;
	}
	else if(ouid != null && trim(ouid) != "")
	{
		urlMLS = urlMLS + '&frm=frch&ouid='+ouid;
	}
	
	window.location.href = unescape(urlMLS);
}

function cbfnSearchByMlsNo(originalRequest)
{
	var response = originalRequest.responseText;
	if (response == 0)
	{
		alert("MLS Number Not found.");
		$("searchMLS").value = "";
		$("searchMLS").focus();
		return;
	}
	else
	{
		if(response.include("|^|"))
		{
			var arrResponse = response.split("|^|");
			var strIH = new StringBuffer();
			strIH.append(' <div id="divMLSConfirmBox" style="background-color:#B0B0B0;display: none;border: 0px solid rgb(0, 0, 0); padding: 20px; height: 150px; width: 530px; position: fixed; top: 225px; left: 255px; visibility: inherit;" >');
			strIH.append(' 	<table cellspacing="0" cellpadding="0" bordercolor="red" border="0" style="width: 100%; height: 100%;">');
			strIH.append(' 		<tr style="height: 8px;">');
			strIH.append(' 			<td valign="bottom" class="crvTopLeft"></td>');
			strIH.append(' 			<td valign="bottom" class="crvTopMid" style="width: 500px;"></td>');
			strIH.append(' 			<td valign="bottom" class="crvTopRight"></td>');
			strIH.append(' 		</tr>');
			strIH.append(' 		<tr style="height: 90%;width:520px;">');
			strIH.append(' 			<td style="background-color: rgb(255, 255, 255);" class="crvLeftMid"></td>');
			strIH.append(' 			<td style="background-color: rgb(255, 255, 255);">');

			strIH.append('<table style="width:100%;height:100%">');
			strIH.append('<tr>');
			strIH.append('<td>');
			strIH.append('<img src="../../wt/'+bkTheme+'/images/common/imgConfirm.gif" alt="conform" />');
			strIH.append('</td>');
			strIH.append('<td  class="moduleDescText">');
			strIH.append('<div style="position: relative;font-size:11px;width: 79%;float: left;display: inline;padding-left: 5px;height:100%;vertical-align: middle;" align="left" id="divMLSConfirmMessageText">');
			strIH.append('&nbsp;');
			strIH.append('</div>');
			strIH.append('</td>');
			strIH.append('<tr>');
			strIH.append('<td colspan="2" align="center" valign="top">');
			strIH.append('<button style="width:50px;" onclick="javascript:myPopup();" class="lang" type="button" name="btnOK" id="btnOK">Yes</button>');
			strIH.append('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<button class="lang" type="button" name="btnCancel" id="btnCancel" onclick="dlgMLSConfirmBox.hide();" style="width:50px;">No</button>');
			strIH.append('</td>');
			strIH.append('</tr>');
			strIH.append('</table>');

			strIH.append(' 			</td>');
			strIH.append(' 			<td style="background-color: rgb(255, 255, 255);" class="crvRightMid"></td>');
			strIH.append(' 		</tr>');
			strIH.append(' 		<tr style="height: 8px;">');
			strIH.append(' 			<td class="crvBotLeft"></td>');
			strIH.append(' 			<td class="crvBotMid"></td>');
			strIH.append(' 			<td class="crvBotRight"></td>');
			strIH.append(' 		</tr>');
			strIH.append(' 	</table>');
			strIH.append(' </div><style type="text/css">.closeMy{background-image:url(../../wt/'+bkTheme+'/images/common/close_dlgLog.gif);}</style>');
			
			myPopup = function()
			{
				response = arrResponse[1];
				dlgMLSConfirmBox.hide();
				loadMlsNumberProp(response);
				
			}

			function funRedirectToOther()
			{
				response = arrResponse[1];
				loadMlsNumberProp(response);
			}

			function funCnfrmRedirectToOther()
			{
				var closeBox = document.getElementsByClassName("close","divMLSConfirmBox")[0];
				if(closeBox)
				{
					closeBox.removeClassName("nonsecure");
					closeBox.addClassName("closeMy");
				}
				$('divMLSConfirmMessageText').innerHTML = "Redirecting to our Partners Site: <b>"+arrResponse[0]+"</b>";
				$("divMLSConfirmBox").style.display="block";	
				dlgMLSConfirmBox.show();
			}
			if($("divMLSConfirmBox") == null)
			{
				var myIH = strIH.toString();var myDiv = document.createElement("div");myDiv.innerHTML = myIH;document.body.appendChild(myDiv);							
				dlgMLSConfirmBox = createDialog('divMLSConfirmBox');
				
			}
			//funCnfrmRedirectToOther();				
			funRedirectToOther();
			//alert("Redirecting to our Partner's site '" + arrResponse[0] +"'");
			
		}
		else
		{
			loadMlsNumberProp(response);
		}
	}
}

function loadMlsNumberProp(response)
{
	var arrMlsRecords = new Array();	
	var arrRecords = new Array();	
	arrMlsRecords = response.split('\n');

	if(arrMlsRecords.length == 1)
	{
		arrRecords = arrMlsRecords[0].split('|');
		funRedirectToMLS(arrRecords[8]);
	}
	else
	{
		var mlsNumber;
		var detailRecords="";
		var startRecords;
		var recLen = arrMlsRecords.length;
		// Build table for div
		
		for(var i=0;i<recLen;i++)
		{
			arrRecords = arrMlsRecords[i].split('|');
			mlsNumber  = arrRecords[0];
			detailRecords += "<tr style=\"height:25px\"><td width=\"60%\" class=\"mlsLightBoxDescText\" align=\"left\" valign=\"top\">&nbsp;<a class=\"mlsHeadDis\" href=\"javascript:void(0);\" onclick=\"javascript:funRedirectToMLS(\'"+arrRecords[8]+"\');\"><b><span class=\"crsr\">"+arrRecords[1]+", "+arrRecords[2]+", "+arrRecords[3]+", "+arrRecords[4]+"</span></b></a></td><td width=\"15%\" class=\"mlsLightBoxDescText\" valign=\"top\">&nbsp;<a class=\"mlsHeadDis\" href=\"javascript:void(0);\" onclick=\"javascript:funRedirectToMLS(\'"+arrRecords[8]+"\');\"><b><span class=\"crsr\">"+num2money(arrRecords[5])+"</span></b></a></td><td width=\"15%\" class=\"mlsLightBoxDescText\" valign=\"top\">&nbsp;<a class=\"mlsHeadDis\" href=\"javascript:void(0);\" onclick=\"javascript:funRedirectToMLS(\'"+arrRecords[8]+"\');\"><b><span class=\"crsr\">"+arrRecords[6]+"-Br/"+arrRecords[7]+"-Ba</span></b></a></td></tr>";
		}			
		
		startRecords = "<table width=\"100%\" height=\"98%\" class=\"mlsLightBoxLableText\">";
		startRecords += "<tr style=\"height:25px\"><td class=\"mlsLightBoxTopLableText\" colspan=\"3\" align=\"left\" style=\"height:20px\">Total "+recLen+" listings were found. For more details, click on below link.</td></tr>";
		startRecords += "<tr><td height=\"5px\" colspan=\"3\"></td></tr>";
		startRecords = startRecords+detailRecords;
		startRecords += "</table>";
		
		if(typeof(recordDialogBox) == "string")
		{
			recordDialogBox = createDialog("recordsDialog");	
		}
		
		var ht = (recLen+1)*25;
		if(recLen>3)
			ht = "100%";
		else
		{
			if(isIE)
				ht = "85%";//ht+"px";
			else
				ht = "80%";//ht+"px";
		}
		$("recordsDialog").getElementsByClassName("bd")[0].style.height = ht;
		$("recordsDialog").getElementsByClassName("bd")[0].innerHTML = startRecords;
		$("recordsDialog").getElementsByClassName("hd")[0].innerHTML = "Listing Of MLS Number : "+mlsNumber;			
		$("recordsDialog").style.display="block";
		recordDialogBox.show();			
	}
}
function setAllToCookie(srchcrt,from)
{
	if(srchcrt == null)
	{
		if ($F("searchAddress").toLowerCase() == "optional" || $F("searchAddress") == "undefined" || $F("searchAddress") == null)
		{
			setSearchCookie("searchAddress","");
		}
		else
		{
			setSearchCookie("searchAddress",($("searchAddress"))?$F("searchAddress"):"");
		}
	}
	if(srchcrt == "neighborhood")
	{			
		if(typeof(from)!="undefined")
		{
			divId = "divNHood";
			chkAllId = "chbRSNHAll";
		}
		else
		{
			divId = "divSHDataNeighborHood";
			chkAllId = "chbSHNHAll";
		}
		if($(divId))
		{
			var arrChkBox = $(divId).getElementsByTagName("input");
			var lenArrChkBox = arrChkBox.length;
			var strCKNH = "";
			for(var i=0;i<lenArrChkBox;i++)
			{
				if(arrChkBox[i].id == chkAllId && arrChkBox[i].checked == true)
				{
					strCKNH = 'all';
					break;
				}
				if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
				{
					var valChkBox = arrChkBox[i].value;
					strCKNH = strCKNH + valChkBox + ",";  	
				}
			}
			if(strCKNH.charAt(strCKNH.length-1) == ',')
			{
				strCKNH = strCKNH.substr(0,eval(strCKNH.length-1));
			}
			setSearchCookie("neighborhood",strCKNH);
			if(srchcrt != null)
			{
				return;
			}
		}
	}
	if(srchcrt == "county")
	{		
		var dv = "";
		if(typeof(from) != "undefined")
			dv = "divRSCounty";
		else
			dv = "divSHDataCounty";

		if($(dv))
		{
			var arrChkBox = $(dv).getElementsByTagName("input");
			var lenArrChkBox = arrChkBox.length;
			var strCKCounty = "";
			for(var i=0;i<lenArrChkBox;i++)
			{
				if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
				{
					var valChkBox = arrChkBox[i].value;
					strCKCounty = strCKCounty + valChkBox + ",";  	
				}
			}
			
			if(strCKCounty.charAt(strCKCounty.length-1) == ',')
			{
				strCKCounty = strCKCounty.substr(0,eval(strCKCounty.length-1));
			}

			if(trim(strCKCounty) != "")
			{
				setSearchCookie("county",strCKCounty);
				removeSearchCookie("neighborhood");
				headerContent("neighborhood");
			}
			else
			{
				// If no County selected then just remove county from cookie
				removeSearchCookie("county");
			}
		}
		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt == null || srchcrt == "price")
	{			
		setSearchCookie("minPrice",($("minPrice"))?(money2num($F("minPrice"))):"");
		setSearchCookie("maxPrice",($("maxPrice"))?(money2num($F("maxPrice"))):"");
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "beds")
	{			
		var srchBds = "";
		var minBeds = ($("searchBedsMin"))?($F("searchBedsMin")):"";
		if(minBeds == "0") minBeds = "";
		if(minBeds != "" && minBeds.indexOf(".") == (minBeds.length-1)) minBeds = minBeds+"0";
		if(minBeds != "" && minBeds.indexOf(".") == 0) minBeds = "0"+minBeds;

		var maxBeds = ($("searchBedsMax"))?($F("searchBedsMax")):"";
		if(maxBeds == "0") maxBeds = "";
		if(maxBeds != "" && maxBeds.indexOf(".") == (maxBeds.length-1)) maxBeds = maxBeds+"0";
		if(maxBeds != "" && maxBeds.indexOf(".") == 0) maxBeds = "0"+maxBeds;

		srchBds = minBeds+"-"+maxBeds;
		if(trim(srchBds) == "-")
			srchBds = "";
		setSearchCookie("searchBeds",srchBds);

		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "sqft")
	{			
		setSearchCookie("minSize",($("minSize"))?$F("minSize")==0?"":$F("minSize"):"");
		setSearchCookie("maxSize",($("maxSize"))?$F("maxSize")==0?"":$F("maxSize"):"");
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "baths")
	{			
		var srchBths = "";
		var minBath = ($("searchBathsMin"))?($F("searchBathsMin")):"";
		if(minBath == "0") minBath = "";
		if(minBath != "" && minBath.indexOf(".") == (minBath.length-1)) minBath = minBath+"0";
		if(minBath != "" && minBath.indexOf(".") == 0) minBath = "0"+minBath;

		var maxBath = ($("searchBathsMax"))?($F("searchBathsMax")):"";
		if(maxBath == "0") maxBath = "";
		if(maxBath != "" && maxBath.indexOf(".") == (maxBath.length-1)) maxBath = maxBath+"0";
		if(maxBath != "" && maxBath.indexOf(".") == 0) maxBath = "0"+maxBath;

		srchBths = minBath+"-"+maxBath;
		if(trim(srchBths) == "-")
			srchBths = "";
		setSearchCookie("searchBaths",srchBths);

		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "type")
	{
		if(typeof(from)!="undefined")
		{
			divId = "divRSType";
			chkAllId = "RSchbSHTypeAll";
		}
		else
		{
			divId = "divPopUpSHType";
			chkAllId = "chbSHTypeAll";
		}
		var arrChkBox = $(divId)?$(divId).getElementsByTagName("input"):"";
		var lenChkBox = arrChkBox.length;		
		var strChkBox = "";
		var allChked = true;		
		for(var i=0;i<lenChkBox;i++)
		{			
	    	if(arrChkBox[i].id == chkAllId)
	    	{
	    		continue;
	    	}
	    	if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
	    	{
	    	    var valChkBox = arrChkBox[i].value;
	    	    strChkBox = strChkBox + valChkBox + ':';				
	    	}
	    	else if(arrChkBox[i].type == "checkbox")
	    	{
	    	    allChked = false;    
	    	}
		}
		if(allChked == true && bkTheme != "emerge")
		{
	    	strChkBox = "";
		}
		else if(strChkBox.charAt(strChkBox.length-1) == ':')
		{
			strChkBox = strChkBox.substr(0,eval(strChkBox.length-1));
		}		
		setSearchCookie("searchType",strChkBox);		
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "sortby")
	{			
		setSearchCookie("searchSortType",($("searchSortType"))?$F("searchSortType"):"");
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "listdate")
	{			
		setSearchCookie("ckLFDate",($("txtLFDate"))?($F("txtLFDate")):"");
		setSearchCookie("ckLTDate",($("txtLTDate"))?($F("txtLTDate")):"");
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "mlssource")
	{
		setSearchCookie("mlsSource",($("mlsSource"))?($F("mlsSource")):"");
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "proptype" && $("divPType"))
	{			
		//setSearchCookie("propType",($("propTypes"))?($F("propTypes")):"");			
		var arrChkBox = $("divPType").getElementsByTagName("input");
		var strChkd = "";

		for(i=0;i<arrChkBox.length;i++)
		{
			if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
	    	{
				strChkd += arrChkBox[i].value + ':';
			}
		}
		
		if(strChkd.charAt(strChkd.length-1) == ':')
			strChkd = strChkd.substr(0,eval(strChkd.length-1));

		setSearchCookie("propType",strChkd);

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "propstatus" && $("divPStatus"))
	{
		/*setSearchCookie("propStatus",($("propStatus"))?($F("propStatus")):"");
		if(srchcrt != null)
		{
			return;
		}*/

		var arrChkBox = $("divPStatus").getElementsByTagName("input");
		var strChkd = "";

		for(i=0;i<arrChkBox.length;i++)
		{
			if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
	    	{
				strChkd += arrChkBox[i].value + ':';
			}
		}
		
		if(strChkd.charAt(strChkd.length-1) == ':')
			strChkd = strChkd.substr(0,eval(strChkd.length-1));

		setSearchCookie("propStatus",strChkd);

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "sqftp")
	{
		setSearchCookie("minPSize",($("minPSize"))?$F("minPSize")==0?"":$F("minPSize"):"");
		setSearchCookie("maxPSize",($("maxPSize"))?$F("maxPSize")==0?"":$F("maxPSize"):"");
		if(srchcrt != null)
		{
			return;
		}		
	}
	if(srchcrt != null && srchcrt == "listagent")
	{
		if($('txtAgtFName').value != 'First Name')
			setSearchCookie("listAgentFnm",($("txtAgtFName"))?($F("txtAgtFName")):"");
		else
			setSearchCookie("listAgentFnm","");

		if($('txtAgtLName').value != 'Last Name')				
			setSearchCookie("listAgentLnm",($("txtAgtLName"))?($F("txtAgtLName")):"");
		else
			setSearchCookie("listAgentLnm","");

		if(srchcrt != null)
		{
			return;
		}		
	}
	if(srchcrt != null && srchcrt == "listdatep")
	{			
		setSearchCookie("ckPLFDate",($("txtPLFDate"))?($F("txtPLFDate")):"");
		setSearchCookie("ckPLTDate",($("txtPLTDate"))?($F("txtPLTDate")):"");
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "lotsize")
	{
		setSearchCookie("minLotSize",($("minLotSize"))?$F("minLotSize")==0?"":$F("minLotSize"):"");
		setSearchCookie("maxLotSize",($("maxLotSize"))?$F("maxLotSize")==0?"":$F("maxLotSize"):"");
		if(srchcrt != null)
		{
			return;
		}		
	}
	if(srchcrt != null && srchcrt == "age")
	{			
		setSearchCookie("fromAge",($("txtAgeFrom"))?(money2num($F("txtAgeFrom"))):"");
		setSearchCookie("toAge",($("txtAgeTo"))?(money2num($F("txtAgeTo"))):"");
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt != null && srchcrt == "yearbuilt")
	{			
		setSearchCookie("fromYear",($("txtYearBuiltFrom"))?(money2num($F("txtYearBuiltFrom"))):"");
		setSearchCookie("toYear",($("txtYearBuiltTo"))?(money2num($F("txtYearBuiltTo"))):"");
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt != null && srchcrt == "daysonmarket")
	{			
		setSearchCookie("marketDaysFrom",($("txtDaysMarketFrom"))?(money2num($F("txtDaysMarketFrom"))):"");
		setSearchCookie("marketDaysTo",($("txtDaysMarketTo"))?(money2num($F("txtDaysMarketTo"))):"");
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt != null && srchcrt == "garage")
	{			
		if(typeof(from)!="undefined")
			var cmbId = "RScmbGarage";
		else
			var cmbId = "cmbGarage";

		setSearchCookie("garage",($(cmbId))?$F(cmbId)==0?"":$F(cmbId):"");

		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt != null && srchcrt == "stories")
	{			
		setSearchCookie("stories",($("txtStories"))?($F("txtStories")):"");		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "bankowned")
	{			
		setSearchCookie("bankowned",$("chkBankOwned").checked);
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "shortsales")
	{			
		setSearchCookie("shortsales",$("chkShortSales").checked);
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "schooldist")
	{			
		setSearchCookie("schooldist",($("txtSchoolDist"))?($F("txtSchoolDist")):"");		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "eleschool")
	{			
		setSearchCookie("eleSchool",($("txtEleSchool"))?($F("txtEleSchool")):"");		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "midschool")
	{			
		setSearchCookie("midSchool",($("txtMidSchool"))?($F("txtMidSchool")):"");		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "highschool")
	{			
		setSearchCookie("highSchool",($("txtHighSchool"))?($F("txtHighSchool")):"");		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "saledate")
	{			
		setSearchCookie("saleDateFrom",($("txtSFDate"))?($F("txtSFDate")):"");
		setSearchCookie("saleDateTo",($("txtSTDate"))?($F("txtSTDate")):"");
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "saleprice")
	{			
		setSearchCookie("salePriceFrom",($("txtSalePriceFrom"))?(money2num($F("txtSalePriceFrom"))):"");
		setSearchCookie("salePriceTo",($("txtSalePriceTo"))?(money2num($F("txtSalePriceTo"))):"");
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt != null && srchcrt == "saleagent")
	{
		if($('txtSaleAgentFname').value != 'First Name')
			setSearchCookie("saleAgentFnm",($("txtSaleAgentFname"))?($F("txtSaleAgentFname")):"");
		else
			setSearchCookie("saleAgentFnm","");

		if($('txtSaleAgentLname').value != 'Last Name')				
			setSearchCookie("saleAgentLnm",($("txtSaleAgentLname"))?($F("txtSaleAgentLname")):"");
		else
			setSearchCookie("saleAgentLnm","");

		if(srchcrt != null)
		{
			return;
		}		
	}
	if(srchcrt != null && srchcrt == "area")
	{			
		setSearchCookie("area",($("txtArea"))?($F("txtArea")):"");		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "polygon")
	{			
		setSearchCookie("polygon",($("txtPolygon"))?($F("txtPolygon")):"");		
		//alert(getSearchCookie("polygon"))
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "powerradial")
	{			
		setSearchCookie("powerradial",$F("cmbradial"));

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "listagtid")
	{			
		setSearchCookie("listagtid",trim($F("txtListAgtId")));

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "listoff")
	{			
		setSearchCookie("listoff",trim($F("txtListOff")));

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "saleagtid")
	{			
		setSearchCookie("saleagtid",trim($F("txtSaleAgtId")));

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "saleoff")
	{			
		setSearchCookie("saleoff",trim($F("txtSaleOff")));

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "roof")
	{			
		setSearchCookie("roof",trim($F("txtRoof")));

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "fire")
	{			
		setSearchCookie("fire",trim($F("cmbFire")));

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "pool")
	{			
		setSearchCookie("pool",trim($F("cmbPool")));

		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt == null || srchcrt == "propstyle")
	{		
		if(typeof(from)!="undefined")
		{
			divId = "RSpropStyleDv";
			chkAllId = "RSchkStyleAll";
		}
		else
		{
			divId = "propStyleDv";
			chkAllId = "chkStyleAll";
		}

		if($(divId))
		{
			var arrChkBox = $(divId).getElementsByTagName("input");
			var lenChkBox = arrChkBox.length;
			var strChkBox = "";
			var allChked = true;
			for(var i=0;i<lenChkBox;i++)
			{
				if(arrChkBox[i].id == chkAllId)
				{
					continue;
				}
				if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
				{
					var valChkBox = arrChkBox[i].value;
					strChkBox = strChkBox + valChkBox + ':';
				}
				else if(arrChkBox[i].type == "checkbox")
				{
					allChked = false;    
				}
			}
			if(allChked == true)
			{
				strChkBox = "";
			}
			else if(strChkBox.charAt(strChkBox.length-1) == ':')
			{
				strChkBox = strChkBox.substr(0,eval(strChkBox.length-1));
			}
			setSearchCookie("propStyle",strChkBox);
		}
		else
			setSearchCookie("propStyle","");

		if(srchcrt != null)
		{
			return;
		}
	}
	/*if(srchcrt == null || srchcrt == "parkingtype")
	{
		if($("parkingStyleDv"))
		{
			var arrChkBox = $("parkingStyleDv").getElementsByTagName("input");
			var lenChkBox = arrChkBox.length;
			var strChkBox = "";
			var allChked = true;
			for(var i=0;i<lenChkBox;i++)
			{
				if(arrChkBox[i].id == "chkParkingStyleAll")
				{
					continue;
				}
				if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
				{
					var valChkBox = arrChkBox[i].value;
					strChkBox = strChkBox + valChkBox + ':';
				}
				else if(arrChkBox[i].type == "checkbox")
				{
					allChked = false;    
				}
			}
			if(allChked == true)
			{
				strChkBox = "";
			}
			else if(strChkBox.charAt(strChkBox.length-1) == ':')
			{
				strChkBox = strChkBox.substr(0,eval(strChkBox.length-1));
			}
			setSearchCookie("parkingType",strChkBox);
		}
		else
			setSearchCookie("parkingType","");

		if(srchcrt != null)
		{
			return;
		}
	}*/
}
function setAllCookieValue(srchcrt)
{
	
	if(srchcrt == null)
	{
		if($("searchAddress"))
		{
			
			$("searchAddress").value = (trim(getSearchCookie("searchAddress")) == "")?"optional":trim(getSearchCookie("searchAddress"));
			$("searchAddress").className = "textboxDashHdN";
		}
		if($('searchCSZ'))
		{
			var cszFromCookie = setCSZValue(getSearchCookie("city"), getSearchCookie("state"), getSearchCookie("zip"));
			$('searchCSZ').value = trim(cszFromCookie).replace (/^\s+/g, "").replace (/\s+$/g, "").replace (/\s+/g, " ");
			if(trim(getSearchCookie('city')) == "" && trim(getSearchCookie('zip')) == "")
			{
				for(var i=0;i<20;i++)
				{
					var idTxtObj = 'searchCSZ'+ eval(i+1);
					if($(idTxtObj) != null)
						$(idTxtObj).value = "";
				}
			}	
		}
		if($('searchMLS'))
		{
			$('searchMLS').value = "";
		}
	}	
	if(srchcrt == null || srchcrt == "price")
	{
		if($("minPrice"))
		{
			if(getSearchCookie("minPrice") != 0)
				$("minPrice").value = addCommas(getSearchCookie("minPrice"));
			else 
				$("minPrice").value = '';
		}
		if($("maxPrice"))
		{
			if(getSearchCookie("maxPrice") != 0)
				$("maxPrice").value = addCommas(getSearchCookie("maxPrice"));
			else 
				$("maxPrice").value = '';
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt == null || srchcrt == "beds")
	{
		if(getSearchCookie("searchBeds") && $("searchBedsMin") && $("searchBedsMax"))
		{
			var beds = getSearchCookie("searchBeds");
			if(trim(beds) == "")
			{
				$("searchBedsMin").value = "";
				$("searchBedsMax").value = "";
			}
			else
			{
				var bdArr = beds.split("-");
				$("searchBedsMin").value = bdArr[0];
				$("searchBedsMax").value = bdArr[1];
			}
		}
		else
		{
			if($("searchBedsMin") && $("searchBedsMax"))
			{
				$("searchBedsMin").value = "";
				$("searchBedsMax").value = "";
			}
		}		
		
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "sqft")
	{
		if(getSearchCookie("minSize") && $("minSize"))
		{
			$("minSize").value = getSearchCookie("minSize");
		}
		else if($("minSize"))
		{
			$("minSize").selectedIndex = 0;
		}
		if(getSearchCookie("maxSize") && $("maxSize"))
		{
			$("maxSize").value = getSearchCookie("maxSize");
		}
		else if($("maxSize"))
		{
			$("maxSize").selectedIndex = 0;
		}
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "baths")
	{
		if(getSearchCookie("searchBaths") && $("searchBathsMin") && $("searchBathsMax"))
		{
			var baths = getSearchCookie("searchBaths");
			if(trim(baths) == "")
			{
				$("searchBathsMin").value = "";
				$("searchBathsMax").value = "";
			}
			else
			{
				var bthArr = baths.split("-");
				$("searchBathsMin").value = bthArr[0];
				$("searchBathsMax").value = bthArr[1];
			}
		}
		else
		{
			if($("searchBathsMin") && $("searchBathsMax"))
			{
				$("searchBathsMin").value = "";
				$("searchBathsMax").value = "";
			}
		}

		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "type")
	{
		if(getSearchCookie("searchType") || trim(getSearchCookie("searchType")) == "")
		{
			if($("divPopUpSHType"))
			{
				var arrChkBox = $("divPopUpSHType").getElementsByTagName("input");
				var lenChkBox = arrChkBox.length;
				var strChkBox = getSearchCookie("searchType");
				if(trim(strChkBox) == "")
				{
					
					for(var i=0;i<lenChkBox;i++)
					{
				    	if(arrChkBox[i].id == "chbSHTypeAll")
				    	{
				    		continue;
				    	}
		    			if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == false)
		    			{
		    				arrChkBox[i].checked = true;
		    			}
					}	
				}
				else
				{
					var arrStrChkBox = strChkBox.split(":");
					for(var i=0;i<lenChkBox;i++)
					{
				    	if(arrChkBox[i].id == "chbSHTypeAll")
				    	{
				    		continue;
				    	}
		    			if(arrChkBox[i].type == "checkbox")
		    			{
		    				var valChkBox = arrChkBox[i].value;
		    				if(arrStrChkBox.in_array(valChkBox) !== false)
		    				{
		    					arrChkBox[i].checked = true;
		    				}
							else
							{
								arrChkBox[i].checked = false;
							}
		    			}
					}	
				}
			}
		}
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "sortby")
	{
		if(getSearchCookie("searchSortType") && $("searchSortType"))
		{
			$("searchSortType").value = getSearchCookie("searchSortType");
		}
		else if($("searchSortType"))
		{
			$("searchSortType").selectedIndex = 0;
		}
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "listdate")
	{
		if(getSearchCookie("ckLFDate") && $("txtLFDate"))
		{
			$("txtLFDate").value = getSearchCookie("ckLFDate");
		}
		else if($("txtLFDate"))
		{
			$("txtLFDate").value = '';
		}
		if(getSearchCookie("ckLTDate") && $("txtLTDate"))
		{
			$("txtLTDate").value = getSearchCookie("ckLTDate");
		}
		else if($("txtLTDate"))
		{
			$("txtLTDate").value = '';
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt == null || srchcrt == "propstyle")
	{
		if(getSearchCookie("propStyle") || trim(getSearchCookie("propStyle")) == "")
		{
			if($("propStyleDv"))
			{
				var arrChkBox = $("propStyleDv").getElementsByTagName("input");
				var lenChkBox = arrChkBox.length;
				var strChkBox = getSearchCookie("propStyle");
				if(trim(strChkBox) == "")
				{					
					for(var i=0;i<lenChkBox;i++)
					{
				    	if(arrChkBox[i].id == "chkStyleAll")
				    	{
				    		continue;
				    	}
		    			if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == false)
		    			{
		    				arrChkBox[i].checked = true;
		    			}
					}	
				}
				else
				{
					var arrStrChkBox = strChkBox.split(":");
					for(var i=0;i<lenChkBox;i++)
					{
				    	if(arrChkBox[i].id == "chkStyleAll")
				    	{
				    		continue;
				    	}
		    			if(arrChkBox[i].type == "checkbox")
		    			{
		    				var valChkBox = arrChkBox[i].value;
		    				if((arrStrChkBox.in_array(valChkBox) !== false) && (arrChkBox[i].checked == false))
		    				{
		    					arrChkBox[i].checked = true;
		    				}
		    			}
					}	
				}
			}
		}

		if(srchcrt != null)
		{
			return;
		}
	}
	/*if(srchcrt == null || srchcrt == "parkingtype")
	{
		if(getSearchCookie("parkingType") || trim(getSearchCookie("parkingType")) == "")
		{
			if($("parkingStyleDv"))
			{
				var arrChkBox = $("parkingStyleDv").getElementsByTagName("input");
				var lenChkBox = arrChkBox.length;
				var strChkBox = getSearchCookie("parkingType");
				if(trim(strChkBox) == "")
				{					
					for(var i=0;i<lenChkBox;i++)
					{
				    	if(arrChkBox[i].id == "chkParkingStyleAll")
				    	{
				    		continue;
				    	}
		    			if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == false)
		    			{
		    				arrChkBox[i].checked = true;
		    			}
					}	
				}
				else
				{
					var arrStrChkBox = strChkBox.split(":");
					for(var i=0;i<lenChkBox;i++)
					{
				    	if(arrChkBox[i].id == "chkParkingStyleAll")
				    	{
				    		continue;
				    	}
		    			if(arrChkBox[i].type == "checkbox")
		    			{
		    				var valChkBox = arrChkBox[i].value;
		    				if((arrStrChkBox.in_array(valChkBox) !== false) && (arrChkBox[i].checked == false))
		    				{
		    					arrChkBox[i].checked = true;
		    				}
		    			}
					}	
				}
			}
		}

		if(srchcrt != null)
		{
			return;
		}
	}*/
	
	if(srchcrt != null && srchcrt == "mlssource")
	{
		if(getSearchCookie("mlsSource") && $("mlsSource"))
		{
			$("mlsSource").value = getSearchCookie("mlsSource").replace(/[+]/g, ' ');
		}
		else if($("mlsSource"))
		{
			$("mlsSource").selectedIndex = 0;
		}
		if(srchcrt != null)
		{
			return;
		}
	}

	if(srchcrt != null && srchcrt == "propstatus")
	{
		/*if(getSearchCookie("propStatus") && $("propStatus"))
		{
			$("propStatus").value = getSearchCookie("propStatus");
		}
		else if($("propStatus"))
		{
			//$("propStatus").selectedIndex = 0;
			len = $("propStatus").options.length;
			var j;
			var status = 0;
			var defaultStatus = "";
			if(len>0)
			{
				for(j=0;j<len;j++)
				{
					if($("propStatus").options[j].value == 'Active')
					{
						defaultStatus = $("propStatus").options[j].value;
						status = 1;
					}
					else if(status==0)
					{
						defaultStatus = $("propStatus").options[0].value;
					}
				}
			}
			$("propStatus").value = defaultStatus;
		}
		if(srchcrt != null)
		{
			return;
		}*/

		var status = getSearchCookie("propStatus");

		if(status != '')
		{
			if($('divPStatus'))
			{				
				var dataArr = status.split(":");
				chkbxArr = $A($('divPStatus').getElementsByTagName("input"));
				chkbxArr.each(
					function(node)
					{				
						if(node.type == "checkbox" && node.checked == true)
							node.checked = false;

						if(node.type == "checkbox" && dataArr.indexOf(node.value) != -1)
							node.checked = true;
					});			
			}
		}
		else
		{
			if($('divPStatus'))
			{
				var stat = 0;
				chkbxArr = $A($('divPStatus').getElementsByTagName("input"));
				chkbxArr.each(
					function(node)
					{
						if(node.type=="checkbox" && (node.id == 'Active'))
						{
							node.checked = true;
							stat = 1;
						}
						else
							node.checked = false;
					});
					
				if(stat == 0)
				{
					var unstat = 0;
					$A($('divPStatus').getElementsByTagName("input")).each(function(node)
					{
						if(node.type=="checkbox" && unstat == 0)
						{
							node.checked = true;
							unstat = 1;
						}
					});
				}
			}
		}

		if(srchcrt != null)
		{
			return;
		}
	}
	
	if(srchcrt != null && srchcrt == "proptype")
	{		
		var types = getSearchCookie("propType");	

		if(types != '')
		{
			if($('divPType'))
			{
				var dataArr = types.split(":");
				chkbxArr = $A($('divPType').getElementsByTagName("input"));
				chkbxArr.each(
					function(node)
					{				
						if(node.type == "checkbox" && node.checked == true)
							node.checked = false;

						if(node.type == "checkbox" && dataArr.indexOf(node.value) != -1)
							node.checked = true;
					});			
			}
		}
		else
		{
			if($('divPType'))
			{
				chkbxArr = $A($('divPType').getElementsByTagName("input"));
				chkbxArr.each(
					function(node)
					{
						if(node.type=="checkbox" && (node.id == 'Single Family Residential' || node.id == 'Residential' || node.id == 'Single Family' || node.id == 'Single Family Homes'))
							node.checked = true;
						else
							node.checked = false;
					});			
			}
		}

		if(srchcrt != null)
		{
			return;
		}
	}
	
	if(srchcrt != null && srchcrt == "sqftp")
	{
		if(getSearchCookie("minPSize") && $("minPSize"))
		{
			$("minPSize").value = getSearchCookie("minPSize");
		}
		else if($("minPSize"))
		{
			$("minPSize").value = "";
		}
		if(getSearchCookie("maxPSize") && $("maxPSize"))
		{
			$("maxPSize").value = getSearchCookie("maxPSize");
		}
		else if($("maxPSize"))
		{
			$("maxPSize").value = "";
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	
	if(srchcrt != null && srchcrt == "listdatep")
	{
		if(getSearchCookie("ckPLFDate") && $("txtPLFDate"))
		{
			$("txtPLFDate").value = getSearchCookie("ckPLFDate");
		}
		else if($("txtPLFDate"))
		{
			$("txtPLFDate").value = '';
		}
		if(getSearchCookie("ckPLTDate") && $("txtPLTDate"))
		{
			$("txtPLTDate").value = getSearchCookie("ckPLTDate");
		}
		else if($("txtPLTDate"))
		{
			$("txtPLTDate").value = '';
		}
		if(srchcrt != null)
		{
			return;
		}
	}	
	
	if(srchcrt != null && srchcrt == "listagent")
	{
		if(getSearchCookie("listAgentFnm") && $("txtAgtFName"))
		{
			$("txtAgtFName").value = getSearchCookie("listAgentFnm");
		}
		else if($("txtAgtFName"))
		{
			$("txtAgtFName").value = 'First Name';
		}
		
		if(getSearchCookie("listAgentLnm") && $("txtAgtLName"))
		{
			$("txtAgtLName").value = getSearchCookie("listAgentLnm");
		}
		else if($("txtAgtLName"))
		{
			$("txtAgtLName").value = 'Last Name';
		}
		if(srchcrt != null)
		{
			return;
		}		
	}	
	
	if(srchcrt != null && srchcrt == "lotsize")
	{		
		if(getSearchCookie("minLotSize") && $("minLotSize"))
		{
			$("minLotSize").value = getSearchCookie("minLotSize");
		}
		else if($("minLotSize"))
		{
			$("minLotSize").value = "";
		}
		
		if($("minLotSize") && $("minLotSize").value == "")
			$("minLotSize").selectedIndex = 0;
		
		if(getSearchCookie("maxLotSize") && $("maxLotSize"))
		{
			$("maxLotSize").value = getSearchCookie("maxLotSize");
		}
		else if($("maxLotSize"))
		{
			$("maxLotSize").value = "";
		}

		if($("maxLotSize") && $("maxLotSize").value == "")
			$("maxLotSize").selectedIndex = 0;
		
		if(srchcrt != null)
		{
			return;
		}		
	}
	
	if(srchcrt != null && srchcrt == "age")
	{			
		if(getSearchCookie("fromAge") && $("txtAgeFrom"))
		{
			$("txtAgeFrom").value = getSearchCookie("fromAge");
		}
		else if($("txtAgeFrom"))
		{
			$("txtAgeFrom").value = '';
		}
		
		if(getSearchCookie("toAge") && $("txtAgeTo"))
		{
			$("txtAgeTo").value = getSearchCookie("toAge");
		}
		else if($("txtAgeTo"))
		{
			$("txtAgeTo").value = '';
		}
		
		if(srchcrt != null)
		{
			return;
		}
	}
	
	if(srchcrt != null && srchcrt == "yearbuilt")
	{			
		if(getSearchCookie("fromYear") && $("txtYearBuiltFrom"))
		{
			$("txtYearBuiltFrom").value = getSearchCookie("fromYear");
		}
		else if($("txtYearBuiltFrom"))
		{
			$("txtYearBuiltFrom").value = '';
		}
		
		if(getSearchCookie("toYear") && $("txtYearBuiltTo"))
		{
			$("txtYearBuiltTo").value = getSearchCookie("toYear");
		}
		else if($("txtYearBuiltTo"))
		{
			$("txtYearBuiltTo").value = '';
		}
		
		if(srchcrt != null)
		{
			return;
		}
	}	
	
	if(srchcrt != null && srchcrt == "daysonmarket")
	{			
		if(getSearchCookie("marketDaysFrom") && $("txtDaysMarketFrom"))
		{
			$("txtDaysMarketFrom").value = getSearchCookie("marketDaysFrom");
		}
		else if($("txtDaysMarketFrom"))
		{
			$("txtDaysMarketFrom").value = '';
		}
		if(getSearchCookie("marketDaysTo") && $("txtDaysMarketTo"))
		{
			$("txtDaysMarketTo").value = getSearchCookie("marketDaysTo");
		}
		else if($("txtDaysMarketTo"))
		{
			$("txtDaysMarketTo").value = '';
		}
		
		if(srchcrt != null)
		{
			return;
		}
	}
			
	if(srchcrt != null && srchcrt == "garage")
	{	
		if(getSearchCookie("garage") && $("cmbGarage"))
		{
			$("cmbGarage").value = getSearchCookie("garage").replace(/[+]/g, ' ');
		}
		else if($("cmbGarage"))
		{
			$("cmbGarage").selectedIndex = 0;
		}
		
		if(srchcrt != null)
		{
			return;
		}		
	}	

	if(srchcrt != null && srchcrt == "stories")
	{			
		if(getSearchCookie("stories") && $("txtStories"))
		{
			$("txtStories").value = getSearchCookie("stories");
		}
		else if($("txtStories"))
		{
			$("txtStories").value = '';
		}	
		if(srchcrt != null)
		{
			return;
		}
	}
	
	if(srchcrt != null && srchcrt == "schooldist")
	{			
		if(getSearchCookie("schooldist") && $("txtSchoolDist"))
		{
			$("txtSchoolDist").value = getSearchCookie("schooldist").replace(/[+]/g, ' ');
		}
		else if($("txtSchoolDist"))
		{
			$("txtSchoolDist").value = '';	
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "eleschool")
	{			
		if(getSearchCookie("eleSchool") && $("txtEleSchool"))
		{
			$("txtEleSchool").value = getSearchCookie("eleSchool").replace(/[+]/g, ' ');
		}
		else if($("txtEleSchool"))
		{
			$("txtEleSchool").value = '';	
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "midschool")
	{			
		if(getSearchCookie("midSchool") && $("txtMidSchool"))
		{
			$("txtMidSchool").value = getSearchCookie("midSchool").replace(/[+]/g, ' ');
		}
		else if($("txtMidSchool"))
		{
			$("txtMidSchool").value = '';	
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "highschool")
	{			
		if(getSearchCookie("highSchool") && $("txtHighSchool"))
		{
			$("txtHighSchool").value = getSearchCookie("highSchool").replace(/[+]/g, ' ');
		}
		else if($("txtHighSchool"))
		{
			$("txtHighSchool").value = '';	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}

	if(srchcrt != null && srchcrt == "bankowned")
	{			
		if(getSearchCookie("bankowned") && $("chkBankOwned"))
		{
			if(getSearchCookie("bankowned") == "true")
				$("chkBankOwned").checked = true;
			else
				$("chkBankOwned").checked = false;
		}
		else if($("chkBankOwned"))
		{
			$("chkBankOwned").checked = false;	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}

	if(srchcrt != null && srchcrt == "shortsales")
	{			
		if(getSearchCookie("shortsales") && $("chkShortSales"))
		{
			if(getSearchCookie("shortsales") == "true")
				$("chkShortSales").checked = true;
			else
				$("chkShortSales").checked = false;
		}
		else if($("chkShortSales"))
		{
			$("chkShortSales").checked = false;	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}

	if(srchcrt != null && srchcrt == "listagtid")
	{			
		if(getSearchCookie("listagtid") && $("txtListAgtId"))
		{
			$("txtListAgtId").value = getSearchCookie("listagtid");
		}
		else if($("txtListAgtId"))
		{
			$("txtListAgtId").value = '';	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "listoff")
	{			
		if(getSearchCookie("listoff") && $("txtListOff"))
		{
			$("txtListOff").value = getSearchCookie("listoff").replace(/[+]/g, ' ').replace("__",'#');
		}
		else if($("txtListOff"))
		{
			$("txtListOff").value = '';	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "saleagtid")
	{			
		if(getSearchCookie("saleagtid") && $("txtSaleAgtId"))
		{
			$("txtSaleAgtId").value = getSearchCookie("saleagtid");
		}
		else if($("txtSaleAgtId"))
		{
			$("txtSaleAgtId").value = '';	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "saleoff")
	{			
		if(getSearchCookie("saleoff") && $("txtSaleOff"))
		{
			$("txtSaleOff").value = getSearchCookie("saleoff").replace(/[+]/g, ' ');
		}
		else if($("txtSaleOff"))
		{
			$("txtSaleOff").value = '';	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "roof")
	{			
		if(getSearchCookie("roof") && $("txtRoof"))
		{
			$("txtRoof").value = getSearchCookie("roof").replace(/[+]/g, ' ');
		}
		else if($("txtRoof"))
		{
			$("txtRoof").value = '';	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "fire")
	{	
		if(getSearchCookie("fire") && $("cmbFire"))
		{
			$("cmbFire").value = getSearchCookie("fire");
		}
		else if($("cmbFire"))
		{
			$("cmbFire").selectedIndex = 0;
		}
		
		if(srchcrt != null)
		{
			return;
		}		
	}
	if(srchcrt != null && srchcrt == "pool")
	{	
		if(getSearchCookie("pool") && $("cmbPool"))
		{
			$("cmbPool").value = getSearchCookie("pool");
		}
		else if($("cmbPool"))
		{
			$("cmbPool").selectedIndex = 0;
		}
		
		if(srchcrt != null)
		{
			return;
		}		
	}
	
	if(srchcrt != null && srchcrt == "saledate")
	{			
		if(getSearchCookie("saleDateFrom") && $("txtSFDate"))
		{
			$("txtSFDate").value = getSearchCookie("saleDateFrom");
		}
		else if($("txtSFDate"))
		{
			$("txtSFDate").value = '';
		}
		if(getSearchCookie("saleDateTo") && $("txtSTDate"))
		{
			$("txtSTDate").value = getSearchCookie("saleDateTo");
		}
		else if($("txtSTDate"))
		{
			$("txtSTDate").value = '';
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "saleprice")
	{			
		if(getSearchCookie("salePriceFrom") && $("txtSalePriceFrom"))
		{
			$("txtSalePriceFrom").value = getSearchCookie("salePriceFrom");
		}
		else if($("txtSalePriceFrom"))
		{
			$("txtSalePriceFrom").value = '';
		}
		if(getSearchCookie("salePriceTo") && $("txtSalePriceTo"))
		{
			$("txtSalePriceTo").value = getSearchCookie("salePriceTo");
		}
		else if($("txtSalePriceTo"))
		{
			$("txtSalePriceTo").value = '';
		}
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt != null && srchcrt == "saleagent")
	{
		if(getSearchCookie("saleAgentFnm") && $("txtSaleAgentFname"))
		{
			$("txtSaleAgentFname").value = getSearchCookie("saleAgentFnm");
		}
		else if($("txtSaleAgentFname"))
		{
			$("txtSaleAgentFname").value = 'First Name';
		}
		if(getSearchCookie("saleAgentLnm") && $("txtSaleAgentLname"))
		{
			$("txtSaleAgentLname").value = getSearchCookie("saleAgentLnm");
		}
		else if($("txtSaleAgentLname"))
		{
			$("txtSaleAgentLname").value = 'Last Name';
		}
		if(srchcrt != null)
		{
			return;
		}		
	}
	if(srchcrt != null && srchcrt == "area")
	{			
		if(getSearchCookie("area") && $("txtArea"))
		{
			$("txtArea").value = getSearchCookie("area");
		}
		else if($("txtArea"))
		{
			$("txtArea").value = '';	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt != null && srchcrt == "polygon")
	{			
		if(getSearchCookie("polygon") && $("txtPolygon"))
		{
			$("txtPolygon").value = getSearchCookie("polygon").replace(/\+/g, " ");
		}
		else if($("txtPolygon"))
		{
			$("txtPolygon").value = '';	
		}		
		if(srchcrt != null)
		{
			return;
		}
	}

	if(srchcrt != null && srchcrt == "powerradial")
	{	
		if(getSearchCookie("powerradial") && $("cmbradial"))
		{
			$("cmbradial").value = getSearchCookie("powerradial");
		}
		else if($("cmbradial"))
		{
			$("cmbradial").selectedIndex = 0;
		}
		
		if(srchcrt != null)
		{
			return;
		}		
	}
}

function funGetSearchQueryString()
{
	var lfDate = "";
	var ltDate = "";

	var tempDate = escape(trim(getSearchCookie("ckLFDate")));
	if (tempDate != "")
	{
		var arrTempDate = tempDate.split ("-");
		lfDate = arrTempDate[2] + "-" + arrTempDate[0] + "-" + arrTempDate[1];
	}

	var tempDate = escape(trim(getSearchCookie("ckLTDate")));
	if (tempDate != "")
	{
		var arrTempDate = tempDate.split ("-");
		ltDate = arrTempDate[2] + "-" + arrTempDate[0] + "-" + arrTempDate[1];
	}

	searchQueryString = "";
	searchQueryString = searchQueryString + "qckWidgetUpdate=1";
	searchQueryString = searchQueryString + "&address=" 		+ 	escape(getSearchCookie("searchAddress"));
	if(getSearchCookie("city") && getSearchCookie("city") != "")
	{
		searchQueryString = searchQueryString + "&city=" 			+ 	escape(getSearchCookie("city"));
	}
	if(getSearchCookie("state") && getSearchCookie("state") != "")
	{
		searchQueryString = searchQueryString + "&state=" 			+ 	escape(getSearchCookie("state"));
	}
	if(getSearchCookie("zip") && getSearchCookie("zip") != "")
	{
		searchQueryString = searchQueryString + "&zip=" 			+ 	escape(getSearchCookie("zip"));
	}
	searchQueryString = searchQueryString + "&minprice=" 		+ 	escape(money2num(getSearchCookie("minPrice")));
	searchQueryString = searchQueryString + "&maxprice=" 		+ 	escape(money2num(getSearchCookie("maxPrice")));
	searchQueryString = searchQueryString + "&beds=" 			+ 	escape(getSearchCookie("searchBeds"));
	searchQueryString = searchQueryString + "&minsqft=" 		+ 	escape(getSearchCookie("minSize"));
	searchQueryString = searchQueryString + "&maxsqft=" 		+ 	escape(getSearchCookie("maxSize"));
	searchQueryString = searchQueryString + "&baths=" 			+ 	escape(getSearchCookie("searchBaths"));
	searchQueryString = searchQueryString + "&searchType=" 		+ 	escape(getSearchCookie("searchType"));
	searchQueryString = searchQueryString + "&searchSortType=" 	+ 	escape(trim(getSearchCookie("searchSortType"))==""?"ph":trim(getSearchCookie("searchSortType")));
	searchQueryString = searchQueryString + "&lfDate="			+ 	escape(lfDate);
	searchQueryString = searchQueryString + "&ltDate="			+ 	escape(ltDate);
	searchQueryString = searchQueryString + "&county="			+ 	escape(trim(getSearchCookie("county")));
	
	var setPropStyle  = getSearchCookie("propStyle");
	setPropStyle 	  = setPropStyle.replace(":",",");
	searchQueryString = searchQueryString + "&propStyle="		+ 	escape(trim(setPropStyle));
	
	if(trim(getSearchCookie("garage")) == 'All')
		searchQueryString = searchQueryString + "&garage=";
	else
		searchQueryString = searchQueryString + "&garage="		+ 	escape(trim(getSearchCookie("garage")));
		
	if(trim(getSearchCookie("neighborhood")) == 'all')
		searchQueryString = searchQueryString + "&neighborhood=";
	else
		searchQueryString = searchQueryString + "&neighborhood="	+ 	escape((trim(getSearchCookie("neighborhood"))));
	
	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");

	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		if(typeof(strAgtMlsSrc) != 'undefined' && strAgtMlsSrc != null && strAgtMlsSrc.length > 0)
			searchQueryString = searchQueryString + "&mlsSource="	+ 	escape((trim(strAgtMlsSrc)));
		else
			searchQueryString = searchQueryString + "&mlsSource=";
		searchQueryString = searchQueryString + "&aid="			+ 	escape((trim(aid)));
	}	
	if(latLong)
		searchQueryString = searchQueryString+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng;
	return searchQueryString;
}

function funGetAdvSearchQueryString()
{
	var lfDate = "";
	var ltDate = "";

	var tempDate = escape(trim(getSearchCookie("ckLFDate")));
	if (tempDate != "")
	{
		var arrTempDate = tempDate.split ("-");
		lfDate = arrTempDate[2] + "-" + arrTempDate[0] + "-" + arrTempDate[1];
	}

	var tempDate = escape(trim(getSearchCookie("ckLTDate")));
	if (tempDate != "")
	{
		var arrTempDate = tempDate.split ("-");
		ltDate = arrTempDate[2] + "-" + arrTempDate[0] + "-" + arrTempDate[1];
	}

	searchQueryString = new StringBuffer();
	searchQueryString.append("qckWidgetUpdate=1");
	searchQueryString.append("&minprice=" 		+ 	escape(money2num(getSearchCookie("minPrice"))));
	searchQueryString.append("&maxprice=" 		+ 	escape(money2num(getSearchCookie("maxPrice"))));
	searchQueryString.append("&beds=" 			+ 	escape(getSearchCookie("searchBeds")));
	searchQueryString.append("&minsqft=" 		+ 	escape(getSearchCookie("minSize")));
	searchQueryString.append("&maxsqft=" 		+ 	escape(getSearchCookie("maxSize")));
	searchQueryString.append("&baths=" 			+ 	escape(getSearchCookie("searchBaths")));
	searchQueryString.append("&searchType=" 		+ 	escape(getSearchCookie("searchType")));
	searchQueryString.append("&searchSortType=" 	+ 	escape(trim(getSearchCookie("searchSortType"))==""?"ph":trim(getSearchCookie("searchSortType"))));
	searchQueryString.append("&lfDate="			+ 	escape(lfDate));
	searchQueryString.append("&ltDate="			+ 	escape(ltDate));
	searchQueryString.append("&county="			+ 	escape(trim(getSearchCookie("county"))));
		
	if(trim(getSearchCookie("neighborhood")) == 'all')
		searchQueryString.append("&neighborhood=");
	else
		searchQueryString.append("&neighborhood="	+ 	escape((trim(getSearchCookie("neighborhood")))));

	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");
	var ouid = myQs.get("ouid");
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		if(typeof(strAgtMlsSrc) != 'undefined' && strAgtMlsSrc != null && strAgtMlsSrc.length > 0)
			searchQueryString.append("&mlsSource="	+ 	escape((trim(strAgtMlsSrc))));
		else
			searchQueryString.append("&mlsSource=");
		searchQueryString.append("&aid="			+ 	escape((trim(aid))));
	}	
	else if(frm != null && trim(frm) == 'frch' && ouid != null && trim(ouid) != "")
	{
		if(typeof(strAgtMlsSrc) != 'undefined' && strAgtMlsSrc != null && strAgtMlsSrc.length > 0)
			searchQueryString.append("&mlsSource="	+ 	escape((trim(strAgtMlsSrc))));
		else
			searchQueryString.append("&mlsSource=");
		searchQueryString.append("&ouid="			+ 	escape((trim(ouid))));
	}	
	
	return searchQueryString.toString();
}

function funCompareSearchCookie()
{
	if($('searchCSZ') != null)
	{
		var cszFromCookie = setCSZValue(getSearchCookie("city"), getSearchCookie("state"), getSearchCookie("zip"));
		$('searchCSZ').value = $('searchCSZ').value.replace (/^\s+/g, "").replace (/\s+$/g, "").replace (/\s+/g, " ");
		if (trim(cszFromCookie).toUpperCase() != trim($('searchCSZ').value).toUpperCase())
		{
			return 1;		
		}
	}		
	if(($("searchAddress") != null) && (getSearchCookie("searchAddress") != $F("searchAddress").replace('optional','')))
	{
		return 1;
	}
	if($("minPrice") && (getSearchCookie("minPrice") != money2num($F("minPrice"))))
	{
		return true;
	}
	if($("maxPrice") && (getSearchCookie("maxPrice") != money2num($F("maxPrice"))))
	{
		return true;
	}
	if($("searchBedsMin") && $("searchBedsMax") && trim(getSearchCookie("searchBeds")) != "" && (trim(getSearchCookie("searchBeds")) != trim($F("searchBedsMin"))+"-"+trim($F("searchBedsMax"))))
	{
		return true;
	}
	if($("minSize") && ((trim(getSearchCookie("minSize")) == "" && $F("minSize") != 0) || ((trim(getSearchCookie("minSize")) != "") && (trim(getSearchCookie("minSize")) != $F("minSize")))))
	{
		return true;
	}
	if($("maxSize") && ((trim(getSearchCookie("maxSize")) == "" && $F("maxSize") != 0) || ((trim(getSearchCookie("maxSize")) != "") && (trim(getSearchCookie("maxSize")) != $F("maxSize")))))
	{
		return true;
	}
	if($("searchBathsMin") && $("searchBathsMax") && trim(getSearchCookie("searchBaths")) != "" && (trim(getSearchCookie("searchBaths")) != trim($F("searchBathsMin"))+"-"+trim($F("searchBathsMax"))))
	{
		return true;
	}
	if($("divPopUpSHType") != null)
	{
		var arrChkBox = $("divPopUpSHType").getElementsByTagName("input");
		var lenChkBox = arrChkBox.length;
		var strChkBox = getSearchCookie("searchType");
		if(trim(strChkBox) == "")
		{
			for(var i=0;i<lenChkBox;i++)
			{
		    	if(arrChkBox[i].id == "chbSHTypeAll")
		    	{
		    		continue;
		    	}
		    	if((arrChkBox[i].type == "checkbox") && (arrChkBox[i].checked === false))
		    	{
		    		return true;
		    	}
			}	
		}
		else
		{
			var arrStrChkBox = strChkBox.split(":");
			for(var i=0;i<lenChkBox;i++)
			{
		    	if(arrChkBox[i].type == "checkbox")
		    	{
		    		var valChkBox = arrChkBox[i].value;
		    		if(arrStrChkBox.in_array(valChkBox) != false && arrChkBox[i].checked == false)
		    		{
		    			return true;
		    		}
		    	}
			}	
		}
	}
	if($("searchSortType") && (((trim(getSearchCookie("searchSortType"))!= "") && (getSearchCookie("searchSortType") !== $F("searchSortType"))) || (((trim(getSearchCookie("searchSortType")) == "") && ($F("searchSortType") != "ph")))))
	{
		return true;
	}
	return false;
}

function funCheckContradict()
{
	var retValue;
	var geoCbFn = function(reqObj)
	{
		for(var i=0;i<20;i++)
		{
			var idTxtObj = 'searchCSZ'+ eval(i+1);
			if($(idTxtObj) != null)
				$(idTxtObj).value = "";
		}
		var geoResponse = reqObj.responseText;
		var allCity = "";
		var allState = "";
		var allZip = "";
		var geoArrResponse = eval(geoResponse);
		var boolGetSingleCity = false;
		for(var i=0;i<geoArrResponse.length;i++)
		{
			if(geoArrResponse[i].status == 0)
			{	
				boolGetSingleCity = true;
				var geoCity = geoArrResponse[i].city;
				allCity += geoCity + '|';
				var geoState = geoArrResponse[i].state;
				allState += geoState + '|';
				var geoZip = geoArrResponse[i].zip;
				allZip += geoZip + '|';
				var geoAddress = geoArrResponse[i].address;
				setSearchCookie("searchAddress",geoAddress);
				$("searchAddress").value = geoAddress;
				
				
				setSearchCookie("county","");
				setSearchCookie("neighborhood","");
				arrDataCounty.length = 0;
				arrDataNeighborHood.length = 0;
				headerContent("county");
				headerContent("neighborhood");
				
				var now = new Date();
				now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
				var latLongStr = "[{'lat':'"+geoArrResponse[i].latitude+"','lng':'"+geoArrResponse[i].longitude+"'}]";
				setCookie("latLongCk",latLongStr,now);
				latLong = eval(getCookie("latLongCk"))[0];
				if(trim(getCookie("lpid")) != "" && isContradict === 1)
				{
					setCookie("lpid","");
					if(window.location.pathname.indexOf("dashboard") > 0)
					{
						funCloseWidget("divChild1X2");
						funCloseWidget("divChild1X3");
						funCloseWidget("divChild2X1");
						funCloseWidget("divChild2X2");
						funCloseWidget("divChild2X3");
						funCloseWidget("divChild3X1");
						funCloseWidget("divChild3X2");
						funCloseWidget("divChild3X3");
					}	
				}
			}
		}
		if(boolGetSingleCity == false)
		{			
			if(geoArrResponse.length > 1)
			{
				alert('Sorry, We couldn\'t find any location from "' + $('searchCSZ').value + '"');
			}
			else
			{				
				alert('Sorry, We couldn\'t find a location for "' + geoArrResponse[0].originaladdress + '"');
				setSearchCookie("searchAddress","");
				if($("searchAddress")) $("searchAddress").value = "optional";
				if(typeof(srTabs) != "undefined" && srTabs.getTab(0).get("active"))
				{
					srTabs.set('activeTab',srTabs.getTab(0),true);
					srTabs.getTab(0).refresh();
				}
			}
			retValue = "0";
			return;
		}
		else
		{
			if (allCity != "")
			{
				setSearchCookie ("city", allCity.substr(0, allCity.length-1));			
			}
			if (allState != "")
			{
				setSearchCookie ("state", allState.substr(0, allState.length-1));			
			}
			if (allZip != "")
			{
				setSearchCookie ("zip", allZip.substr(0, allZip.length-1));			
			}
			$('searchCSZ').value = setCSZValue(getSearchCookie('city'),getSearchCookie('state'),getSearchCookie('zip'));
			retValue = "2";
			return;
		}	
	}
	var isContradict = funCompareSearchCookie();
	if(isContradict === 1)
	{
		var geoUrl = "/classes/getCSZ.php";
		var geoAddress = "";
		if((trim($("searchAddress").value).toLowerCase() != "optional") && (trim($('searchCSZ').value).search(';') === -1))
		{
			geoAddress = $("searchAddress").value;
		}
		var geoQueryString = "csz="+escape($('searchCSZ').value)+"&address="+escape(geoAddress);
		ajaxRequest(geoUrl,geoQueryString,geoCbFn,false);
		return retValue;
	}
	else
	{
		return "1";
	}	
}

function CompareMinMax(srchcrt)
{
	if(srchcrt == null || srchcrt == "price")
	{
		var minP = Number(money2num($('minPrice').value));	
		var maxP = Number(money2num($('maxPrice').value));	
	
		if(minP<0 || maxP<0)
		{
			alert("Please enter valid price range");
			$('minPrice').value = '';
			$('maxPrice').value = '';
			return false;
		}
		if((minP>maxP) && (minP != "" && maxP != ""))
		{
			alert("Please enter valid price range");
			$('minPrice').value = '';
			$('maxPrice').value = '';
			return false;
		}
		if(srchcrt != null)
		{
			return;
		}
	}

	if(srchcrt == null || srchcrt == "beds")
	{
		var minbd = trim($('searchBedsMin').value);
		var maxbd = trim($('searchBedsMax').value);

		if(isNaN(minbd))
		{
			alert("Please enter numeric value for min beds");
			$('searchBedsMin').value = '';
			return false;
		}

		if(isNaN(maxbd))
		{
			alert("Please enter numeric value for max beds");
			$('searchBedsMax').value = '';
			return false;
		}

		if(minbd.include("."))
		{
			var ptLen = minbd.substr(minbd.indexOf(".")+1,minbd.length).length;
			if(ptLen>2)
			{
				alert("Only 2 digits allowed after decimal point for min beds");
				$('searchBedsMin').value = '';
				return false;
			}
		}

		if(maxbd.include("."))
		{
			var ptLen = maxbd.substr(maxbd.indexOf(".")+1,maxbd.length).length;
			if(ptLen>2)
			{
				alert("Only 2 digits allowed after decimal point for max beds");
				$('searchBedsMax').value = '';
				return false;
			}
		}

		minbd = Number(minbd);
		maxbd = Number(maxbd);

		if(minbd<0 || maxbd<0)
		{
			alert("Please enter valid beds range");
			$('searchBedsMin').value = '';
			$('searchBedsMax').value = '';
			return false;
		}
		if((minbd>maxbd) && (minbd != "" && maxbd != ""))
		{
			alert("Please enter valid beds range");
			$('searchBedsMin').value = '';
			$('searchBedsMax').value = '';
			return false;
		}
	}

	if(srchcrt == null || srchcrt == "baths")
	{
		var minbth = trim($('searchBathsMin').value);
		var maxbth = trim($('searchBathsMax').value);

		if(isNaN(minbth))
		{
			alert("Please enter numeric value for min baths");
			$('searchBathsMin').value = '';
			return false;
		}

		if(isNaN(maxbth))
		{
			alert("Please enter numeric value for max baths");
			$('searchBathsMax').value = '';
			return false;
		}

		if(minbth.include("."))
		{
			var ptLen = minbth.substr(minbth.indexOf(".")+1,minbth.length).length;
			if(ptLen>2)
			{
				alert("Only 2 digits allowed after decimal point for min baths");
				$('searchBathsMin').value = '';
				return false;
			}
		}

		if(maxbth.include("."))
		{
			var ptLen = maxbth.substr(maxbth.indexOf(".")+1,maxbth.length).length;
			if(ptLen>2)
			{
				alert("Only 2 digits allowed after decimal point for max baths");
				$('searchBathsMax').value = '';
				return false;
			}
		}

		minbth = Number(minbth);
		maxbth = Number(maxbth);

		if(minbth<0 || maxbth<0)
		{
			alert("Please enter valid baths range");
			$('searchBathsMin').value = '';
			$('searchBathsMax').value = '';
			return false;
		}
		if((minbth>maxbth) && (minbth != "" && maxbth != ""))
		{
			alert("Please enter valid baths range");
			$('searchBathsMin').value = '';
			$('searchBathsMax').value = '';
			return false;
		}
	}

	if(srchcrt == null || srchcrt == "sqft")	
	{
		var sqftMin = Number($("minSize").value);
		var sqftMax = Number($("maxSize").value);
		if(sqftMin>sqftMax && sqftMax != 0)
		{
			alert("Please select valid range for square feet");
			return false;
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt == null || srchcrt == "listdate")
	{
		if(trim($("txtLFDate").value) != "" && trim($("txtLTDate").value) != "")
		{
			var valLFDate = $("txtLFDate").value;
			var arrLFDate = valLFDate.split("-");		
			var objLFDate = new Date();
			objLFDate.setYear(arrLFDate[2]);
			objLFDate.setMonth(arrLFDate[0]);
			objLFDate.setDate(arrLFDate[1]);
			var tsLFDate = objLFDate.getTime()
			var valLTDate = $("txtLTDate").value;
			var arrLTDate = valLTDate.split("-");		
			var objLTDate = new Date();
			objLTDate.setYear(arrLTDate[2]);
			objLTDate.setMonth(arrLTDate[0]);
			objLTDate.setDate(arrLTDate[1]);
			var tsLTDate = objLTDate.getTime()
			if(tsLFDate > tsLTDate)
			{
				alert("To date should not be less than From date.");
				$('txtLFDate').value = '';
				$('txtLTDate').value = '';
				return false;
			}
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	return true;
}

function headerContent(srchcrt)
{
	if(srchcrt != null && srchcrt == "mls")
	{
		var ihMLSLabel = "MLS # ";
		var ihMLSValue = "";
		if(trim(getSearchCookie('mlsno')) != "")
		{
			var ihMLSValue = getSearchCookie('mlsno'); 
		}
		if($("divSHMLS") != null)
		{
			if($("divSHMLS").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHMLS").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihMLSLabel;
				}
				var objSpanValue = $("divSHMLS").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihMLSValue) != ""))
				{
					objSpanValue.innerHTML = ihMLSValue;
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt == null || srchcrt == "county")
	{
		var ihCountyLabel = "County: ";
		var ihCountyValue = "";
		if((getSearchCookie("county") != null) && (trim(getSearchCookie("county")) != ""))
		{
			ihCountyValue = getSearchCookie("county"); 
		}
		else
		{
			ihCountyValue = 'any';
		}
		if($("divSHCounty") != null)
		{
			if($("divSHCounty").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHCounty").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihCountyLabel;
				}
				var objSpanValue = $("divSHCounty").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihCountyValue) != ""))
				{
					objSpanValue.innerHTML = funWrapText(ihCountyValue,20);
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt == null || srchcrt == "neighborhood")
	{
		var ihNeighborhoodLabel = "Neighborhood: ";
		var ihNeighborhoodValue = new StringBuffer();
		if((getSearchCookie("neighborhood") != null) && (trim(getSearchCookie("neighborhood")) != ""))
		{
			var strCKNH = getSearchCookie("neighborhood");
			var arrCKNH = strCKNH.split(',');
			var lenArrCKNH = arrCKNH.length;
			for(var i=0;i<lenArrCKNH;i++)
			{
				ihNeighborhoodValue.append(arrCKNH[i] + ',');
			}
			ihNeighborhoodValue = ihNeighborhoodValue.toString();
			if(ihNeighborhoodValue.charAt(ihNeighborhoodValue.length-1) == ',')
			{
				ihNeighborhoodValue = ihNeighborhoodValue.substr(0,eval(ihNeighborhoodValue.length-1));
			}
		}
		else
		{
			ihNeighborhoodValue =  ihNeighborhoodValue + 'any';
		}
		if($("divSHNeighborHood") != null)
		{
			if($("divSHNeighborHood").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHNeighborHood").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihNeighborhoodLabel;
				}
				var objSpanValue = $("divSHNeighborHood").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihNeighborhoodValue) != ""))
				{
					objSpanValue.innerHTML = funWrapText(ihNeighborhoodValue,15);
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if((srchcrt == null || srchcrt == "price") && $('minPrice') && $('maxPrice'))
	{	
		var ihPriceLabel = "Price: ";
		var ihPriceValue = "";
		var minP = Number(money2num(getSearchCookie("minPrice")));
		var maxP = Number(money2num(getSearchCookie("maxPrice")));	
		if(minP != 0 || maxP != 0)
		{
			if(minP != 0)
			{
				minP = num2money($('minPrice').value,'$','minPrice',false);
				ihPriceValue = ihPriceValue + minP+" to ";
			}
			else
			{
				ihPriceValue = ihPriceValue + "No Min to ";
			}
			if(maxP != 0)
			{
				maxP = num2money($('maxPrice').value,'$','maxPrice',false);
				ihPriceValue = ihPriceValue + maxP;
			}
			else
			{
				ihPriceValue = ihPriceValue + "No Max";
			}
		}
		else
		{
			ihPriceValue = ihPriceValue + "any";
		}
		if($("divSHPrice") != null)
		{
			if($("divSHPrice").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHPrice").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihPriceLabel;
				}
				var objSpanValue = $("divSHPrice").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihPriceValue) != ""))
				{
					objSpanValue.innerHTML = ihPriceValue;
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}
	if(srchcrt == null || srchcrt == "beds")
	{
		var ihBedsLabel = "Beds: ";
		var ihBedsValue = "";
		var searchBeds = getSearchCookie("searchBeds");
		if(trim(searchBeds) == "")
			ihBedsValue = ihBedsValue + "any";
		else
		{
			var bdArr = searchBeds.split("-");

			if(bdArr[0] != "" && bdArr[1] != "")
				ihBedsValue = bdArr[0] + " to " + bdArr[1];
			else if(bdArr[0] != "")
				ihBedsValue = bdArr[0] + " to No Max";
			else
				ihBedsValue = "No Min to " + bdArr[1];
		}
		if($("divSHBeds") != null)
		{
			if($("divSHBeds").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHBeds").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihBedsLabel;
				}
				var objSpanValue = $("divSHBeds").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihBedsValue) != ""))
				{
					objSpanValue.innerHTML = ihBedsValue;
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}		
	if(srchcrt == null || srchcrt == "baths")
	{
		var ihBathsLabel = "Baths: ";
		var ihBathsValue = "";
		var searchBaths = getSearchCookie("searchBaths");
		if(trim(searchBaths) == "")
			ihBathsValue = ihBathsValue + "any";
		else
		{
			var bthArr = searchBaths.split("-");

			if(bthArr[0] != "" && bthArr[1] != "")
				ihBathsValue = bthArr[0] + " to " + bthArr[1];
			else if(bthArr[0] != "")
				ihBathsValue = bthArr[0] + " to No Max";
			else
				ihBathsValue = "No Min to " + bthArr[1];
		}

		if($("divSHBaths") != null)
		{
			if($("divSHBaths").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHBaths").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihBathsLabel;
				}
				var objSpanValue = $("divSHBaths").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihBathsValue) != ""))
				{
					objSpanValue.innerHTML = ihBathsValue;
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "sqft")
	{
		var ihSqftLabel = "Sqft: ";
		var ihSqftValue = "";
		var sqftMin = Number(getSearchCookie("minSize"));
		var sqftMax = Number(getSearchCookie("maxSize"));
		if((sqftMax != "0") || (sqftMin > 0 && sqftMax == 0))
		{
			if (sqftMin > 0 || (sqftMax > 0 && sqftMin == 0))
				ihSqftValue = ihSqftValue + sqftMin + ' - ';
			if (sqftMax > 0)
				ihSqftValue = ihSqftValue + sqftMax;
			if (sqftMax == 0)
				ihSqftValue = ihSqftValue + 'No Max';
		}
		else
		{
			ihSqftValue = ihSqftValue +  "any";
		}
		if($("divSHSqft") != null)
		{
			if($("divSHSqft").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHSqft").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihSqftLabel;
				}
				var objSpanValue = $("divSHSqft").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihSqftValue) != ""))
				{
					objSpanValue.innerHTML = ihSqftValue;
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "listdate")
	{
		var ihListDateLabel = "List Date: ";
		var ihListDateValue = "";
		var valLFDate = getSearchCookie("ckLFDate");
		var valLTDate = getSearchCookie("ckLTDate");
		if(trim(valLFDate) != "" || trim(valLTDate) != "")
		{
			if(trim(valLFDate) != "")
			{
				ihListDateValue = ihListDateValue + "From "+valLFDate;
			}
			if(trim(valLFDate) != "" && trim(valLTDate) != "")
			{
				ihListDateValue = ihListDateValue + " To "+valLTDate;
			}
			else if(trim(valLTDate) != "")
			{
				ihListDateValue = ihListDateValue + " : UpTo "+valLTDate;
			}
		}
		else
		{
			ihListDateValue = ihListDateValue + "any";
		}
		if($("divSHListDate") != null)
		{
			if($("divSHListDate").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHListDate").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihListDateLabel;
				}
				var objSpanValue = $("divSHListDate").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihListDateValue) != ""))
				{
					objSpanValue.innerHTML = ihListDateValue;
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "type")
	{
		var ihTypeLabel = "Type: ";
		var ihTypeValue = "";
		var valSearchType = getSearchCookie("searchType");
		if(trim(valSearchType) != "")
		{
			var arrValSearchType = valSearchType.split(':');
			var lenValSearchType = arrValSearchType.length;
			for(var i=0;i<lenValSearchType;i++)
			{
				var keySearchTypeVal = arrValSearchType[i];
				if(trim(keySearchTypeVal) != "")
				{
					ihTypeValue = ihTypeValue + arrValSearchType[keySearchTypeVal]+',';
				}	
			}
			if(ihTypeValue.charAt(ihTypeValue.length-1) == ',')
			{
				ihTypeValue = ihTypeValue.substr(0,eval(ihTypeValue.length-1));
			}
		}
		else
		{
			ihTypeValue = ihTypeValue + "all";
		}
		if($("divSHType") != null)
		{
			if($("divSHType").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHType").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihTypeLabel;
				}
				var objSpanValue = $("divSHType").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihTypeValue) != ""))
				{
					objSpanValue.innerHTML = funWrapText(ihTypeValue,15);
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}	
	if(srchcrt == null || srchcrt == "sortby")
	{
		var ihSortTypeLabel = "Sort By: ";
		var ihSortTypeValue = "";
		var sortType = getSearchCookie("searchSortType");
		if(trim(sortType) == "" || sortType == "ph")
		{ 
			ihSortTypeValue = ihSortTypeValue + "Price High to Low";
		}		
		else if(sortType == "pl")
		{ 
			ihSortTypeValue = ihSortTypeValue + "Price Low to High";
		}	
		else if(sortType == "brh")
		{ 
			ihSortTypeValue = ihSortTypeValue + "Beds High to Low";
		}		
		if(sortType == "brl")
		{ 
			ihSortTypeValue = ihSortTypeValue + "Beds Low to High";
		}	
		else if(sortType == "bah")
		{ 
			ihSortTypeValue = ihSortTypeValue + "Baths High to Low";
		}		
		else if(sortType == "bal")
		{ 
			ihSortTypeValue = ihSortTypeValue + "Baths Low to High";
		}
		if($("divSHSortBy") != null)
		{
			if($("divSHSortBy").getElementsByTagName('a')[0] != null)
			{
				var objSpanLabel = $("divSHSortBy").getElementsByTagName('a')[0].getElementsByTagName('span')[0];
				if(objSpanLabel != null)
				{
					objSpanLabel.innerHTML = ihSortTypeLabel;
				}
				var objSpanValue = $("divSHSortBy").getElementsByTagName('a')[0].getElementsByTagName('span')[1];
				if((objSpanValue != null) && (trim(ihSortTypeValue) != ""))
				{
					objSpanValue.innerHTML = ihSortTypeValue;
				}
			}	
		}
		if(srchcrt != null)
		{
			return;
		}
	}		
}
function funUnchkAllChkBox(objChkBox) 
{
	if(($('chbSHNHAll').checked == true) && (objChkBox.checked == false))
	{
		$('chbSHNHAll').checked = false;
	}
}
function funSetSHNHAll(from)
{
	if(typeof(from)!="undefined")
	{
		divId = "divNHood";
		chkAllId = "chbRSNHAll";
	}
	else
	{
		divId = "divSHDataNeighborHood";
		chkAllId = "chbSHNHAll";
	}
	var arrChkBox = $(divId).getElementsByTagName("input");
	var lenChkBox = arrChkBox.length;
	for(var i=0;i<lenChkBox;i++)
	{
		if(arrChkBox[i].id == chkAllId)
		{
		 	continue;
		}
	    if(($(chkAllId).checked == true) && (arrChkBox[i].type == "checkbox"))
	    {
	    	arrChkBox[i].checked = true;
	    }
	    else if(arrChkBox[i].type == "checkbox")
	    {
    		arrChkBox[i].checked = false;
	    }
	}
}
function funSetSHTypeAll(type)
{
	if(typeof(type)!="undefined")
	{
		divId = "divRSType";
		chkAllId = "RSchbSHTypeAll";
	}
	else
	{
		divId = "divPopUpSHType";
		chkAllId = "chbSHTypeAll";
	}
	if($(divId))
	{
		var	arrChkBox  = $(divId).getElementsByTagName("input");
		var lenChkBox = arrChkBox.length;
		for(var i=0;i<lenChkBox;i++)
		{
			if(arrChkBox[i].id == chkAllId)
			{
				continue;
			}
			if(($(chkAllId).checked == true) && (arrChkBox[i].type == "checkbox"))
			{
				arrChkBox[i].checked = true;
			}
			else if(($(chkAllId).checked == false) && (arrChkBox[i].type == "checkbox"))
			{
				arrChkBox[i].checked = false;
			}
		}
	}
}

function funCloseAdvanceSearch(srchcrt,page)
{	
	if($("divSHCounty")==null)
	{
		return;
	}
	
	Element.removeClassName($("divSHCounty").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
	Element.addClassName($("divSHCounty").getElementsByTagName('a')[0],'linkAdvanceSearch');
	$("divPopUpSHCounty").style.display = "none";

	Element.removeClassName($("divSHNeighborHood").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
	Element.addClassName($("divSHNeighborHood").getElementsByTagName('a')[0],'linkAdvanceSearch');
	$("divPopUpSHNeighborHood").style.display 	= "none";
	
	if($("divPopUpSHPrice"))
	{
		Element.removeClassName($("divSHPrice").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
		Element.addClassName($("divSHPrice").getElementsByTagName('a')[0],'linkAdvanceSearch');
		$("divPopUpSHPrice").style.display = "none";
	}

	if($("divSHMultiCity") != null)
	{
		Element.removeClassName($("divSHMultiCity").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
		Element.addClassName($("divSHMultiCity").getElementsByTagName('a')[0],'linkAdvanceSearch');
		$("divPopUpSHMultiCity").style.display = "none";
	}
	
	if($("divPopUpSHBeds"))
	{
		Element.removeClassName($("divSHBeds").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
		Element.addClassName($("divSHBeds").getElementsByTagName('a')[0],'linkAdvanceSearch');
		$("divPopUpSHBeds").style.display = "none";
	}
	
	if($("divPopUpSHBaths"))
	{
		Element.removeClassName($("divSHBaths").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
		Element.addClassName($("divSHBaths").getElementsByTagName('a')[0],'linkAdvanceSearch');
		$("divPopUpSHBaths").style.display = "none";
	}
	
	if($("divPopUpSHSqft"))
	{
		Element.removeClassName($("divSHSqft").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
		Element.addClassName($("divSHSqft").getElementsByTagName('a')[0],'linkAdvanceSearch');
		$("divPopUpSHSqft").style.display = "none";
	}
	
	Element.removeClassName($("divSHListDate").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
	Element.addClassName($("divSHListDate").getElementsByTagName('a')[0],'linkAdvanceSearch');
	$("divPopUpSHListDate").style.display = "none";
	
	Element.removeClassName($("divSHType").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
	Element.addClassName($("divSHType").getElementsByTagName('a')[0],'linkAdvanceSearch');
	$("divPopUpSHType").style.display = "none";
	
	Element.removeClassName($("divSHMLS").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
	Element.addClassName($("divSHMLS").getElementsByTagName('a')[0],'linkAdvanceSearch');
	$("divPopUpSHMLS").style.display = "none";
	
	Element.removeClassName($("divSHSortBy").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
	Element.addClassName($("divSHSortBy").getElementsByTagName('a')[0],'linkAdvanceSearch');
	$("divPopUpSHSortBy").style.display = "none";

	if($("divSaveSearch"))
	{
		Element.removeClassName($("divSaveSearch").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
		Element.addClassName($("divSaveSearch").getElementsByTagName('a')[0],'linkAdvanceSearch');
		$("divSaveSearch").style.display = "none";
	}

	if($("divSHPowerSortBy"))
	{
		Element.removeClassName($("divSHPowerSortBy").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
		Element.addClassName($("divSHPowerSortBy").getElementsByTagName('a')[0],'linkAdvanceSearch');
	}
	
	if($("divPopUpSHPower"))
		$("divPopUpSHPower").style.display = "none";
	
	if($("divPopUpSHPropStyle")) $("divPopUpSHPropStyle").style.display = "none";
	if($("divPopUpSHGarage")) $("divPopUpSHGarage").style.display = "none";
	
	$("divPopUpSHMLSInfo").style.visibility = "hidden";
	$("divPopUpSHControls").style.display = "none";
	
	$("divContainerAdvanceSearch").style.display = "none";
	$("divContainerAdvanceSearch").style.left = "-100px";
	$("divContainerAdvanceSearch").style.top = "-100px";
	
	if(srchcrt != null)
	{
		setAllCookieValue(srchcrt);
	}
}
function funSaveAdvanceSearch(srchcrt,page)
{
	if(srchcrt == "multicity")
	{
		var boolAllCityBlank = true;
		for(var i=0;i<20;i++)
		{
			var idTxtObj = 'searchCSZ'+ eval(i+1);
			if(trim($(idTxtObj).value) != "")
			{
				boolAllCityBlank = false;
				break;
			}
		}
		if (boolAllCityBlank == true)
		{
			alert("Please specify either City & State or Zip for atleast one.");
			return false;
		}
		var allCSZ = "";
		for(var i=0;i<20;i++)
		{
			var idTxtObj = 'searchCSZ'+ eval(i+1);
			if(trim($(idTxtObj).value) == "")
			{
				continue;
			}
			else
			{
				allCSZ += trim($(idTxtObj).value.replace(/;/g,'')) + ';';
			}
		}
		$('searchCSZ').value = allCSZ.substr(0, allCSZ.length-1);
		funCloseAdvanceSearch();
		return true;
	}
	if(srchcrt == "mls")
	{
		if(trim($("searchMLS").value) == "")
		{
			alert("Please input MLS number to search.");
			return false;
		}
		searchByMlsNo();
		return true;
	}
	if(srchcrt == "more")
	{
		if(CompareMinMax(null) === false)
		{
			return false;
		}
		setAllToCookie("sqft");
		setAllToCookie("listdate");
		setAllToCookie("county");
		if(bkTheme == 'metrobrokers')
		{
			setAllToCookie("propstyle");
			//setAllToCookie("parkingtype");
			setAllToCookie("garage");
		}
		funCloseAdvanceSearch();
		if(bkTheme == 'metrobrokers'){
			//fromSubmit();
			//alert('more');
			}		
		return true;
	}	
	
	if((srchcrt == 'price') && (CompareMinMax(srchcrt) === false))
	{
		return false;
	}
	if((srchcrt == 'beds') && (CompareMinMax(srchcrt) === false))
	{
		return false;
	}
	if((srchcrt == 'baths') && (CompareMinMax(srchcrt) === false))
	{
		return false;
	}
	if(srchcrt == 'power')
	{		
		var validate = validatePower();
		if(validate === false)
			return false;

		if($("txtArea") && $("txtArea").value != "")
		{
			setSearchCookie("neighborhood","");
			headerContent("neighborhood");
		}
		setAllToCookie("mlssource");
		setAllToCookie("proptype");
		setAllToCookie("propstatus");
		setAllToCookie("sqftp");
		setAllToCookie("listdatep");
		setAllToCookie("listagent");
		setAllToCookie("lotsize");
		setAllToCookie("age");
		setAllToCookie("yearbuilt");
		setAllToCookie("daysonmarket");
		setAllToCookie("garage");
		setAllToCookie("stories");
		setAllToCookie("eleschool");
		setAllToCookie("midschool");
		setAllToCookie("highschool");
		setAllToCookie("saledate");
		setAllToCookie("saleprice");
		setAllToCookie("saleagent");
		setAllToCookie("area");
		setAllToCookie("polygon");
		setAllToCookie("powerradial");
		setAllToCookie("listagtid");
		setAllToCookie("listoff");
		setAllToCookie("saleagtid");
		setAllToCookie("saleoff");
		setAllToCookie("fire");
		setAllToCookie("pool");
		setAllToCookie("roof");
		funCloseAdvanceSearch();
		return true;
	}

	setAllToCookie(srchcrt);
	headerContent(srchcrt);
	funCloseAdvanceSearch();
	if(bkTheme == 'metrobrokers'){
		//alert('others');
		//fromSubmit();		
	}
	return true;
}

function validatePower()
{
	/* Prop Type */
	if(chooseChecked('divPType',true) == '')
	{
		alert("Please select atleast one property type");
		return false;
	}

	/* Prop Status */
	if(chooseChecked('divPStatus',true) == '')
	{
		alert("Please select atleast one property status");
		return false;
	}

	/* Sales Price */
	var minSalesP = Number(money2num($('txtSalePriceFrom').value));	
	var maxSalesP = Number(money2num($('txtSalePriceTo').value));	
	if(minSalesP<0 || maxSalesP<0)
	{
		alert("Please enter valid price range");
		$('txtSalePriceFrom').value = '';
		$('txtSalePriceTo').value = '';
		return false;
	}
	if((minSalesP>maxSalesP) && (minSalesP != "" && maxSalesP != ""))
	{
		alert("Please enter valid price range");
		$('txtSalePriceFrom').value = '';
		$('txtSalePriceTo').value = '';
		return false;
	}
	 
	/* Sqft */
	/*var sqftMin = Number($("minPSize").value);
	var sqftMax = Number($("maxPSize").value);
	if(sqftMin>sqftMax && sqftMax != 0)
	{
		alert("Please enter valid range for square feet");
		$("minPSize").selectedIndex=0;
		$("maxPSize").selectedIndex=0;
		return false;
	}*/

	var sqftMin = Number($F('minPSize'));
	var sqftMax = Number($F('maxPSize'));
	if(isNaN(sqftMin))
	{
		alert("Please enter numerical values only for min sqft.");
		$('minPSize').value = '';
		$('minPSize').focus();
		return false;
	}

	if(isNaN(sqftMax))
	{
		alert("Please enter numerical values only for max sqft.");
		$('maxPSize').value = '';
		$('maxPSize').focus();
		return false;
	}

	if(sqftMin<0 || sqftMax<0)
	{
		alert("Please enter valid square feet range.");
		$('minPSize').value = '';
		$('maxPSize').value = '';
		$('minPSize').focus();
		return false;
	}

	if(sqftMin>sqftMax && (sqftMin != "" && sqftMax != ""))
	{
		alert("Please enter valid square feet range.");
		//$("minPSize").value='';
		//$("maxPSize").value='';
		return false;
	}
	
	/* Lot Sqft */
	/*var sqftLotMin = Number($("minLotSize").value);
	var sqftLotMax = Number($("maxLotSize").value);
	if(sqftLotMin>sqftLotMax && sqftLotMax != 0)
	{
		alert("Please enter valid range for lot size");
		$("minLotSize").selectedIndex=0;
		$("maxLotSize").selectedIndex=0;
		return false;
	}*/
	var sqftLotMin = Number($F('minLotSize'));
	var sqftLotMax = Number($F('maxLotSize'));
	if(isNaN(sqftLotMin))
	{
		alert("Please enter numerical values only for min lot size.");
		$('minLotSize').value = '';
		$('minLotSize').focus();
		return false;
	}

	if(isNaN(sqftLotMax))
	{
		alert("Please enter numerical values only for max lot size.");		
		$('maxLotSize').value = '';
		$('maxLotSize').focus();
		return false;
	}

	if(sqftLotMin<0 || sqftLotMax<0)
	{
		alert("Please enter valid lot size range.");
		$('minLotSize').value = '';
		$('maxLotSize').value = '';
		$('minLotSize').focus();
		return false;
	}

	if(sqftLotMin>sqftLotMax && (sqftLotMin != "" && sqftLotMax != ""))
	{
		alert("Please enter valid lot size range.");
		//$("minLotSize").value='';
		//$("maxLotSize").value='';
		return false;
	}

	/* List Date */
	if($("txtPLFDate").value != "")
	{
		if(!validDate("txtPLFDate","Please select from list date less than current date"))
			return false;
	}

	if($("txtPLTDate").value != "")
	{
		if(!validDate("txtPLTDate","Please select to list date less than current date"))
			return false;
	}

	if(trim($("txtPLFDate").value) != "" && trim($("txtPLTDate").value) != "")
	{
		var valLFDate = $("txtPLFDate").value;
		var arrLFDate = valLFDate.split("-");		
		var objLFDate = new Date();
		objLFDate.setYear(arrLFDate[2]);
		objLFDate.setMonth(arrLFDate[0]);
		objLFDate.setDate(arrLFDate[1]);
		var tsLFDate = objLFDate.getTime()
		var valLTDate = $("txtPLTDate").value;
		var arrLTDate = valLTDate.split("-");		
		var objLTDate = new Date();
		objLTDate.setYear(arrLTDate[2]);
		objLTDate.setMonth(arrLTDate[0]);
		objLTDate.setDate(arrLTDate[1]);
		var tsLTDate = objLTDate.getTime()
		if(tsLFDate > tsLTDate)
		{
			alert("To date should not be less than From date.");
			$('txtPLFDate').value = '';
			$('txtPLTDate').value = '';
			return false;
		}
	}
	
	/* Sale Date */
	if($("txtSFDate").value != "")
	{
		if(!validDate("txtSFDate","Please select from sale date less than current date"))
			return false;
	}

	if($("txtSTDate").value != "")
	{
		if(!validDate("txtSTDate","Please select to sale date less than current date"))
			return false;
	}
	if(trim($("txtSFDate").value) != "" && trim($("txtSTDate").value) != "")
	{
		var valLFDate = $("txtSFDate").value;
		var arrLFDate = valLFDate.split("-");		
		var objLFDate = new Date();
		objLFDate.setYear(arrLFDate[2]);
		objLFDate.setMonth(arrLFDate[0]);
		objLFDate.setDate(arrLFDate[1]);
		var tsLFDate = objLFDate.getTime()
		var valLTDate = $("txtSTDate").value;
		var arrLTDate = valLTDate.split("-");		
		var objLTDate = new Date();
		objLTDate.setYear(arrLTDate[2]);
		objLTDate.setMonth(arrLTDate[0]);
		objLTDate.setDate(arrLTDate[1]);
		var tsLTDate = objLTDate.getTime()
		if(tsLFDate > tsLTDate)
		{
			alert("To date should not be less than From date.");
			$('txtSFDate').value = '';
			$('txtSTDate').value = '';
			return false;
		}
	}
	
	/* Age */
	var minAge = Number($('txtAgeFrom').value);
	var maxAge = Number($('txtAgeTo').value);
	if(isNaN(minAge))
	{
		alert("Please enter numerical values only.");
		$('txtAgeFrom').value = '';
		$('txtAgeTo').value = '';
		return false;
	}
	else if(isNaN(maxAge))
	{
		alert("Please enter numerical values only.");
		$('txtAgeFrom').value = '';
		$('txtAgeTo').value = '';
		return false;
	}
	else if(minAge>maxAge && (minAge != "" && maxAge != ""))
	{
		alert("Please enter valid range for age.");
		//$('txtAgeFrom').value = '';
		//$('txtAgeTo').value = '';
		return false;
	}
	
	/* Year Build */
	var minYr = Number($F('txtYearBuiltFrom'));
	var maxYr = Number($F('txtYearBuiltTo'));
	if(isNaN(minYr))
	{
		alert("Please enter numerical values only.");
		$('txtYearBuiltFrom').value = '';
		$('txtYearBuiltTo').value = '';
		return false;
	}
	else if(isNaN(maxYr))
	{
		alert("Please enter numerical values only.");
		$('txtYearBuiltFrom').value = '';
		$('txtYearBuiltTo').value = '';
		return false;
	}
	else if($F('txtYearBuiltFrom') != '' && $F('txtYearBuiltFrom').length != 4 )
	{
		alert("Please enter 4 digit year value.");
		$('txtYearBuiltFrom').value = '';
		$('txtYearBuiltTo').value = '';
		return false;
	}
	else if($F('txtYearBuiltTo') != '' && $F('txtYearBuiltTo').length != 4)
	{
		alert("Please enter 4 digit year value.");
		$('txtYearBuiltFrom').value = '';
		$('txtYearBuiltTo').value = '';
		return false;
	}
	else if(minYr>maxYr && (minYr != "" && maxYr != ""))
	{
		alert("Please enter valid range for year build.");
		//$('txtYearBuiltFrom').value = '';
		//$('txtYearBuiltTo').value = '';
		return false;
	}
	
	/* Days on Market */
	var minMkt = Number($F('txtDaysMarketFrom'));
	var maxMkt = Number($F('txtDaysMarketTo'));
	if(isNaN(minMkt))
	{
		alert("Please enter numerical values only.");
		$('txtDaysMarketFrom').value = '';
		$('txtDaysMarketTo').value = '';
		return false;
	}
	else if(isNaN(maxMkt))
	{
		alert("Please enter numerical values only.");
		$('txtDaysMarketFrom').value = '';
		$('txtDaysMarketTo').value = '';
		return false;
	}
	else if(minMkt>maxMkt && (minMkt != "" && maxMkt != ""))
	{
		alert("Please enter valid range for days on market.");
		//$('txtDaysMarketFrom').value = '';
		//$('txtDaysMarketTo').value = '';
		return false;
	}
	
	/* Stories */
	var stories = Number($F('txtStories'));
	if(isNaN(stories))
	{
		alert("Please enter numerical values only.");
		$('txtStories').value = '';
		return false;
	}
	
	/* Listing Agt Id*/
	if($("txtListAgtId").value != "")
	{
		var listAgtId = trim($("txtListAgtId").value);
		var tstRegex = /^([a-zA-Z0-9_-]+)$/;
		if(!tstRegex.test(listAgtId))
		{
			alert("Listing Agent Id should not contain special characters.");
		    $('txtListAgtId').value = '';
		    return false;
		}
	}

	/* Selling Agt Id*/
	if($("txtSaleAgtId").value != "")
	{
		var saleAgtId = trim($("txtSaleAgtId").value);
		var tstRegex = /^([a-zA-Z0-9_-]+)$/;
		if(!tstRegex.test(saleAgtId))
		{
			alert("Selling Agent Id should not contain special characters.");		    
		    $('txtSaleAgtId').value = '';
		    return false;
		}
	}
	
	return true;
}

function funGoAdvanceSearch(srchcrt,page)
{
	if(srchcrt == "multicity")
	{
		var boolAllCityBlank = true;
		for(var i=0;i<20;i++)
		{
			var idTxtObj = 'searchCSZ'+ eval(i+1);
			if(trim($(idTxtObj).value) != "")
			{
				boolAllCityBlank = false;
				break;
			}
		}
		if (boolAllCityBlank == true)
		{
			alert("Please specify either City & State or Zip for atleast one.");
			return;
		}
	}	
	var boolSaveAdvanceSearch = funSaveAdvanceSearch(srchcrt,page);
	if(boolSaveAdvanceSearch == true)
	{
		if($('chkmapSearchSelect') != null && $('chkmapSearchSelect').checked == true && typeof(reloadDragZoomAll) != 'undefined') 
		{
			reloadDragZoomAll();
		}
		else
		{
			explore(page);
		}	
	}	
}
function funGetNeighborHood(srchcrt,page)
{
	var cbfnGetNeighborHood = function(reqObj)
	{
		var response = reqObj.responseText;
		if(response.toString() != 'null')
		{
			arrDataNeighborHood = eval(response);
			if(arrDataNeighborHood.length > 0)
			{
				$('divPopUpSHNeighborHood').style.height = "150px";
				var strCKNH = getSearchCookie("neighborhood");
				var arrCKNH = strCKNH.split(',');
				var ihNeighborHood = new StringBuffer();
				var lenArrDataNeighborHood = arrDataNeighborHood.length;
				ihNeighborHood.append('<table cellpadding="0" cellspacing="0" style="width:250px; height:100%;" border="0">');
					ihNeighborHood.append('<tr>'); 
						ihNeighborHood.append('<td style="width:10%;">'); 
							ihNeighborHood.append('<input type="checkbox" value=""  id="chbSHNHAll" name="chbSHNHAll" onclick="javscript:funSetSHNHAll();"/>');
						ihNeighborHood.append('</td>'); 
						ihNeighborHood.append('<td style="width:80%;">'); 
							ihNeighborHood.append('<span class="contentSHPopup lang">all</span>');
						ihNeighborHood.append('</td>'); 
					ihNeighborHood.append('</tr>'); 
				for(var i=0;i<lenArrDataNeighborHood;i++)
				{
					if(typeof(arrDataNeighborHood[i]['neighborhood']) != "undefined" && trim(arrDataNeighborHood[i]['neighborhood'])!="")
					{
						ihNeighborHood.append('<tr>'); 
							ihNeighborHood.append('<td style="width:10%;">'); 
								if((arrCKNH.in_array(arrDataNeighborHood[i]['neighborhood']) !== false) || (trim(strCKNH) == 'all'))
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['neighborhood']+'" onclick="javascript:funUnchkAllChkBox(this);" checked="checked" />');
								}
								else
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['neighborhood']+'" onclick="javascript:funUnchkAllChkBox(this);" />');
								}	
							ihNeighborHood.append('</td>'); 
							ihNeighborHood.append('<td style="width:80%;">'); 
								ihNeighborHood.append('<span class="contentSHPopup lang">'+arrDataNeighborHood[i]['neighborhood']+'</span>');
							ihNeighborHood.append('</td>'); 
						ihNeighborHood.append('</tr>'); 
					}
					else if(typeof(arrDataNeighborHood[i]['area']) != "undefined" && trim(arrDataNeighborHood[i]['area'])!="")
					{
						ihNeighborHood.append('<tr>'); 
							ihNeighborHood.append('<td style="width:10%;">'); 
								if((arrCKNH.in_array(arrDataNeighborHood[i]['area']) !== false) || (trim(strCKNH) == 'all'))
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['area']+'" onclick="javascript:funUnchkAllChkBox(this);" checked="checked" />');
								}
								else
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['area']+'" onclick="javascript:funUnchkAllChkBox(this);" />');
								}	
							ihNeighborHood.append('</td>'); 
							ihNeighborHood.append('<td style="width:80%;">'); 
								ihNeighborHood.append('<span class="contentSHPopup lang">'+arrDataNeighborHood[i]['code']+" - "+arrDataNeighborHood[i]['area']+'</span>');
							ihNeighborHood.append('</td>'); 
						ihNeighborHood.append('</tr>'); 
					}
				}	
				ihNeighborHood.append('</table>');
				$("divSHDataNeighborHood").innerHTML = ihNeighborHood.toString();
				var arrChkBox = $('divSHDataNeighborHood').getElementsByTagName("input");
				var lenArrChkBox = arrChkBox.length;
				var allChked = true;
				for(var i=0;i<lenArrChkBox;i++)
				{
			    	if((arrChkBox[i].id == "chbSHNHAll") || (arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true))
			    	{
			    		continue;
			    	}
					else
					{
						allChked = false;
						break;
					}
				}
				if(allChked == true)
				{
					$("chbSHNHAll").checked = true;
				}
				Element.removeClassName($("divSHNeighborHood").getElementsByTagName('a')[0],'linkAdvanceSearch');
				Element.addClassName($("divSHNeighborHood").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
				$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
				$("divPopUpSHMLSInfo").style.visibility = "visible";
				$("divPopUpSHControls").style.display = "inline";
				$("divPopUpSHNeighborHood").style.display = "inline";
			}
			else
			{
				$('divPopUpSHNeighborHood').style.height = "55px";
				$("divPopUpSHControls").innerHTML = '&nbsp<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';
				$("divSHDataNeighborHood").innerHTML = '<span class="contentSHPopup">Neighborhood information not available for &nbsp;\"' + getSearchCookie("city") + ', ' + getSearchCookie("state") + '\".</span>';
				$("divPopUpSHMLSInfo").style.visibility = "hidden";
				$("divPopUpSHControls").style.display = "inline";
				$("divPopUpSHNeighborHood").style.display = "inline";
				headerContent("county");
			}
		}
		else
		{
			$('divPopUpSHNeighborHood').style.height = "50px";
			$("divPopUpSHControls").innerHTML = '&nbsp<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';
			$("divSHDataNeighborHood").innerHTML = '<span class="contentSHPopup">Neighborhood information for \"' + getSearchCookie("city") + '", ' + getSearchCookie("state") + '\" is coming soon.</span>';
			$("divPopUpSHMLSInfo").style.visibility = "hidden";
			$("divPopUpSHControls").style.display = "inline";
			$("divPopUpSHNeighborHood").style.display = "inline";
			headerContent("county");
		}		
	}
	var url = "../../getCountyNeighborHood.php";
	var qs = "getDataNeighborHood=1&city="+getSearchCookie('city')+"&state="+getSearchCookie("state")+"&zip="+getSearchCookie("zip");

	if($("mlsSource"))
		qs +="&ds="+$F("mlsSource");
	else if(getSearchCookie('mlsSource'))
		qs +="&ds="+escape(getSearchCookie('mlsSource'));

	$("divSHDataNeighborHood").innerHTML = "";
	ajaxRequest(url,qs,cbfnGetNeighborHood);
}
function funGetCounty(srchcrt,page)
{
	var cbfnGetCounty = function(reqObj)
	{
		var response = reqObj.responseText;
		if(response.toString() != 'null')
		{
			arrDataCounty = eval(trim(response));
			if(arrDataCounty.length > 0)
			{
				var strCKCounty = getSearchCookie("county");
				var arrCKCounty = strCKCounty.split(',');
				var ihCounty = new StringBuffer();
				var lenArrDataCounty = arrDataCounty.length;
				ihCounty.append('<table cellpadding="0" cellspacing="0" style="width:320px;*width:100%;height:100%;">');
				for(var i=0;i<lenArrDataCounty;i++)
				{
					var countyName = arrDataCounty[i]['county'];
					ihCounty.append('<tr>'); 
						ihCounty.append('<td style="width:6%;">'); 
							if(arrCKCounty.in_array(countyName) !== false)
							{
								ihCounty.append('<input type="checkbox" value="'+countyName+'" checked="checked" />');
							}
							else
							{
								ihCounty.append('<input type="checkbox" value="'+countyName+'"  />');
							}	
						ihCounty.append('</td>'); 
						ihCounty.append('<td style="width:94%;">'); 
							ihCounty.append('<span class="contentSHPopup lang">'+countyName+'</span>');
						ihCounty.append('</td>'); 
					ihCounty.append('</tr>'); 
				}	
				ihCounty.append('</table>');
				
				$("divSHDataCounty").innerHTML = ihCounty.toString();
				$("divPopUpSHCounty").style.display = "inline";
			}
			else
			{
				$("divSHDataCounty").innerHTML = '<span class="contentSHPopup">County information for \"' + getSearchCookie("city") + ', ' + getSearchCookie("state") + '\" is coming soon.</span>';
				if(bkTheme == 'realestateone' || bkTheme == 'maxbroock' || bkTheme == 'jensenwhite')
				{
					$("divPopUpSHCounty").style.display = "none";
				}
				else
				{
					$("divPopUpSHCounty").style.display = "inline";
				}
			}
		}
		else
		{
			
			$("divSHDataCounty").innerHTML = '<span class="contentSHPopup">County information for \"' + getSearchCookie("city") + ', ' + getSearchCookie("state") + '\" is coming soon.</span>';
			if(bkTheme == 'realestateone' || bkTheme == 'maxbroock' || bkTheme == 'jensenwhite')
			{
			$("divPopUpSHCounty").style.display = "none";
			}
			else
			{
				$("divPopUpSHCounty").style.display = "inline";
			}
		}
	}
	if ($('searchCSZ').value.search(/;/) > -1)
	{
		$("divSHDataCounty").innerHTML = '<span class="contentSHPopup">Please select single city to enable county search.</span>';
		$("divPopUpSHCounty").style.display = "inline";
		return;
	}
	var isContradict = funCheckContradict();
	if((isContradict != null) && (isContradict != 0))
	{
		var url = "../../getCountyNeighborHood.php";
		var qs = "getDataCounty=1&city="+getSearchCookie('city')+"&state="+getSearchCookie("state")+"&zip="+getSearchCookie("zip");
		$("divSHDataCounty").innerHTML = "";
		ajaxRequest(url,qs,cbfnGetCounty);
	}
	else
	{
		return;
	}	
}

/*function funShowMultiCity()
{
if($('divPopUpMultiCity') == null)
	{
		var ihMultiCity = "";
		ihMultiCity += '<table align="center" style="border:3px double #192046;display:block;position:relative;border-collapse: separate;border-spacing: 3px;width:100%;*width:93%;" >';
		ihMultiCity += '<tr>';
		ihMultiCity += '<td valign="middle" >';
		ihMultiCity += '<div id="divDataMultiCity" name="divDataMultiCity" style="width:290px;height:270px;position:relative;float:left;display:inline;vertical-align:middle;overflow:auto" align="left">';
			ihMultiCity += '<table align="center" border="0" width="100%" style="display:block;position:relative;border-collapse: separate;border-spacing: 3px;" >';
				ihMultiCity += '<tr>';
					ihMultiCity += '<td align="left" colspan="2">';
						ihMultiCity += '<span id="multiErr"></span>';
					ihMultiCity += '</td>';													
				ihMultiCity += '</tr>';
				for(var i=1;i<=50;i++)
				{
					ihMultiCity += '<tr>';
						ihMultiCity += '<td align="left">';
							ihMultiCity += '<span class="contentSHPopupNew lang" align="left">City, State</span>';
						ihMultiCity += '</td>';													
						ihMultiCity += '<td align="left">';
							ihMultiCity += '<input type="textbox" id="searchCSZ'+i+'" size="18" name="searchCSZ'+i+'" class="textboxBlue" value=""  readonly  />';
						ihMultiCity += '</td>';													
					ihMultiCity += '</tr>';
				}
			ihMultiCity += '</table>';									
		ihMultiCity += '</div>';
		ihMultiCity += '</td>';													
		ihMultiCity += '</tr>';
		
		ihMultiCity += '<tr>';
					ihMultiCity += '<td align="right" colspan="2" width="100%" class="borderTop">';
						ihMultiCity += '<a href="javascript:gotoSingPropMulti();" class="linkOkCancleSH">Go</a>&nbsp;&nbsp;';
						ihMultiCity += '<a href="javascript:clearMulti();" class="linkOkCancleSH">Clear All</a>&nbsp;&nbsp;';
						ihMultiCity += '<a href="javascript:closePopUpMultiCity();" class="linkOkCancleSH">Close</a>&nbsp;';
					ihMultiCity += '</td>';													
				ihMultiCity += '</tr>';
		ihMultiCity += '</table><input type="hidden" id="lat"><input type="hidden" id="longi">';									
		
		var myDiv = document.createElement('div');
		myDiv.id = "divPopUpMultiCity";
		myDiv.name = "divPopUpMultiCity";
		myDiv.style.display = "none";
		myDiv.style.position = "absolute";
		myDiv.className = "divContainerAdvannceSearchMulti";
		if(isIE)
		{
			myDiv.style.width = "290px";
			myDiv.style.styleFloat = "left";
		}
		else
		{
			myDiv.style.width = "290px";
			myDiv.style.cssFloat = "left";
		}
		myDiv.style.height = "300px";
		//myDiv.style.overflow = "auto";
		myDiv.innerHTML = ihMultiCity;
		document.body.appendChild(myDiv);
	}
	return $('divPopUpMultiCity');
}

function clearMulti()
{
	for(var i=1;i<=50;i++)
	{
		$('searchCSZ'+i).value = '';
	}
	//clearHash
	cityList = new Hash();

}

function closePopUpMultiCity()
{
	$('divPopUpMultiCity').style.display = "none";
}

function gotoSingPropMulti()
{
	var lat = "";
	var lng = "";
	lat = $("lat").value;
	lng = $("longi").value;
	//alert(2 +" "+lat+","+lng);
	var state="";
	var city="";
	for(i=1;i<=50;i++)
	{
		if($("searchCSZ"+i).value!="")
		{
			var arrCityState = (trim($("searchCSZ"+i).value)).split(",");
			city += trim(arrCityState[0]) + "|";
			state += trim(arrCityState[1]) + "|";
		}	
	}
	if(city.length == 0)
	{
		alert("Please select atleast one city");
		return;
	}
	city = city.substring(0,city.length-1);
	state = state.substring(0,state.length-1);
	listAllCity = city;
	var zip="";	var page=""; var action="start";var otherArgs="";

	if(bkTheme=="metrobrokers")
		page="METRO|multicity|mlsCountySearch";
	else
		page=bkTheme.toUpperCase();
		
	getGeoAdd(lat,lng,city,state,zip,page,action,otherArgs)
}*/


function funShowMultiCity()
{
	if($('divPopUpMultiCity') == null)
	{
		var ihMultiCity = new StringBuffer();
		ihMultiCity.append('<table align="center" style="border:3px double #192046;display:block;position:relative;border-collapse: separate;border-spacing: 3px;width:100%;*width:93%;" >');
		ihMultiCity.append('<tr>');
		ihMultiCity.append('<td valign="middle" >');
		ihMultiCity.append('<div id="divDataMultiCity" name="divDataMultiCity" style="width:290px;height:270px;position:relative;float:left;display:inline;vertical-align:middle;overflow:auto" align="left">');
			ihMultiCity.append('<table  id="multiCTFirst" align="center" border="0" width="100%" style="display:block;position:relative;border-collapse: separate;border-spacing: 3px;" >');
				ihMultiCity.append('<tr>');
					ihMultiCity.append('<td align="left" colspan="2">');
						ihMultiCity.append('<span id="multiErr"></span>');
					ihMultiCity.append('</td>');													
				ihMultiCity.append('</tr>');
				ihMultiCity.append('<tr>');
					ihMultiCity.append('<td align="left" colspan="2">');
						ihMultiCity.append('<span class="contentSHPopupNew lang" align="left">City, State</span>');
					ihMultiCity.append('</td>');													
				ihMultiCity.append('</tr>');
			ihMultiCity.append('</table>');									
		ihMultiCity.append('</div>');
		ihMultiCity.append('</td>');													
		ihMultiCity.append('</tr>');
		
		ihMultiCity.append('<tr>');
					ihMultiCity.append('<td align="right" colspan="2" width="100%" class="borderTop">');
						ihMultiCity.append('<a href="javascript:gotoSingPropMulti();" class="linkOkCancleSH">Go</a>&nbsp;&nbsp;');
						ihMultiCity.append('<a href="javascript:clearMulti();" class="linkOkCancleSH">Clear All</a>&nbsp;&nbsp;');
						ihMultiCity.append('<a href="javascript:closePopUpMultiCity();" class="linkOkCancleSH">Close</a>&nbsp;');
					ihMultiCity.append('</td>');													
				ihMultiCity.append('</tr>');
		ihMultiCity.append('</table><input type="hidden" id="lat"><input type="hidden" id="longi">');									
		
		var myDiv = document.createElement('div');
		myDiv.id = "divPopUpMultiCity";
		myDiv.name = "divPopUpMultiCity";
		myDiv.style.display = "none";
		myDiv.style.position = "absolute";
		myDiv.className = "divContainerAdvannceSearchMulti";
		if(isIE)
		{
			myDiv.style.width = "290px";
			myDiv.style.styleFloat = "left";
		}
		else
		{
			myDiv.style.width = "290px";
			myDiv.style.cssFloat = "left";
		}
		myDiv.style.height = "300px";
		myDiv.innerHTML = ihMultiCity.toString();
		document.body.appendChild(myDiv);
	}
	return $('divPopUpMultiCity');
}

function clearMulti()
{
	if(isIE)
	{
		var tbl = document.getElementById('multiCTFirst');
		var lastRow = tbl.rows.length;
		while(lastRow != 2)
		{
			tbl.deleteRow(lastRow-1);
			lastRow--;
		}
	}
	else
	{
		ihMultiCity = "";
		ihMultiCity += '<tr>';
			ihMultiCity += '<td align="left" colspan="2">';
				ihMultiCity += '<span id="multiErr"></span>';
			ihMultiCity += '</td>';													
		ihMultiCity += '</tr>';
		ihMultiCity += '<tr>';
			ihMultiCity += '<td align="left" colspan="2">';
				ihMultiCity += '<span class="contentSHPopupNew lang" align="left">City, State</span>';
			ihMultiCity += '</td>';													
		ihMultiCity += '</tr>';
		if($("multiCTFirst"))
			$("multiCTFirst").innerHTML = ihMultiCity;
	}
	
	cityList = new Hash();
}

function closePopUpMultiCity()
{
	$('divPopUpMultiCity').style.display = "none";
}

function gotoSingPropMulti()
{
	var lat = "";
	var lng = "";
	lat = $("lat").value;
	lng = $("longi").value;
	//alert(2 +" "+lat+","+lng);
	var state="";
	var city="";
	if(bkTheme=="lmsre")
	{
		var typeIncookie = "";
		typeInCookie = getSearchCookie("searchType");
		if(typeInCookie=="'non mls'")
			setSearchCookie("searchType","");
	}
	var cityLst = $('multiCTFirst').getElementsByTagName("input");
	for(i=0;i<=cityLst.length;i++)
	{
		if($(cityLst[i]) && $(cityLst[i]).value!="")
		{
			var arrCityState = (trim($(cityLst[i]).value)).split(",");
			city += trim(arrCityState[0]) + "|";
			state += trim(arrCityState[1]) + "|";
		}	
	}
	if(city.length==0)
	{
		alert("Please select atleast one city");
		return;
	}
	city = city.substring(0,city.length-1);
	state = state.substring(0,state.length-1);
	listAllCity = city;
	var zip="";	var page=""; var action="start";var otherArgs="";

	if(bkTheme=="metrobrokers")
		page="METRO|multicity|mlsCountySearch";
	else
		page=bkTheme.toUpperCase();
		
	getGeoAdd(lat,lng,city,state,zip,page,action,otherArgs)
}

var arrDataCounty = new Array();
var arrDataNeighborHood = new Array();
function funShowAdvanceSearch(srchcrt,page,e)
{	
	funCloseAdvanceSearch();
	if($("divContainerAdvannceSearch"))
		$("divContainerAdvannceSearch").style.display="";
	if($("divPopUpSHPower"))
		$("divPopUpSHPower").style.display="";	

	$("divContainerAdvanceSearch").style.width = "290px";
	switch(srchcrt)
	{
		case "multicity":
			$("divContainerAdvanceSearch").style.width = "250px";
			Element.removeClassName($("divSHMultiCity").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSHMultiCity").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			$("divPopUpSHMultiCity").style.display = "inline";
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
			break;
		case "more":
			setAllCookieValue('sqft');
     		setAllCookieValue('listdate');
			$("divContainerAdvanceSearch").style.width = "400px";
			$("divPopUpSHSqft").style.display = "inline";
			$("divPopUpSHListDate").style.display = "inline";
			
			//for property styles
			if($("divPopUpSHPropStyle"))
			{
				var arrChkBox = $('propStyleDv').getElementsByTagName("input");
				var lenArrChkBox = arrChkBox.length;
				var allChked = true;
				var strChkBox = getSearchCookie("propStyle");

				if(strChkBox == "" || strChkBox == null)
				{
					for(var i=0;i<lenArrChkBox;i++)
					{
				    	if(arrChkBox[i].id == "chkStyleAll")
				    	{
				    		continue;
				    	}
		    			if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == false)
		    			{
		    				arrChkBox[i].checked = true;
		    			}
					}
				}
				else
				{
					var arrStrChkBox = strChkBox.split(":");
					for(var i=0;i<lenArrChkBox;i++)
					{
						if (arrChkBox[i].id == "chkStyleAll")
						{
							continue;
						}
						if(arrChkBox[i].type == "checkbox")
						{
							var valChkBox = arrChkBox[i].value;
		    				if(arrStrChkBox.in_array(valChkBox) !== false)
		    				{
		    					arrChkBox[i].checked = true;
		    				}
							else
							{
								allChked = false;
								arrChkBox[i].checked = false;
							}
						}						
					}
				}

				if(allChked == true)
				{
					$("chkStyleAll").checked = true;
				}
				else
				{
					var confAllChked = true;
					for(var i=0;i<lenArrChkBox;i++)
					{
						if (arrChkBox[i].id == "chkStyleAll")
						{
							continue;
						}
						if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
						{
							confAllChked = false;
							break;
						}
					}
					
					if(confAllChked == true)
					{
						for(var i=0;i<lenArrChkBox;i++)
						{
							if(arrChkBox[i].type == "checkbox")
								arrChkBox[i].checked = true;
						}
					}
					else
						$("chkStyleAll").checked = false;
				}
				$("divPopUpSHPropStyle").style.display = "inline";
			}

			//for parking styles
			if($("divPopUpSHGarage"))
			{
				setAllCookieValue("garage");
				/*var arrChkBox = $('parkingStyleDv').getElementsByTagName("input");
				var lenArrChkBox = arrChkBox.length;
				var allChked = true;
				for(var i=0;i<lenArrChkBox;i++)
				{
					if (arrChkBox[i].id == "chkParkingStyleAll")
					{
						continue;
					}
					if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
					{
						continue;
					}
					else
					{
						allChked = false;
						break;
					}
				}
				if(allChked == true)
				{
					$("chkParkingStyleAll").checked = true;
				}
				else
				{
					$("chkParkingStyleAll").checked = false;
				}*/
				$("divPopUpSHGarage").style.display = "inline";
			}

			$("divPopUpSHMLSInfo").style.visibility = "hidden";
			$('searchCSZ').value = $('searchCSZ').value.replace (/^\s+/g, '').replace (/\s+$/g, '').replace (/\s+/g, ' ');
			if(countySearchEnabled == 1)
			{
				if((trim($('searchCSZ').value) == "")||(trim($('searchCSZ').value).toLowerCase () == "required"))
				{
					var ihCounty = "";
					ihCounty = ihCounty + '<a href="javascript:void(0);" onclick="javascript:funGetCounty(\'county\',\''+page+'\');" class="linkOkCancleSH lang">Get County Information</a>'; 
					$("divSHDataCounty").innerHTML = ihCounty;
					$("divPopUpSHCounty").style.display = "inline";
				}
				else
				{
					var isCompare = funCompareSearchCookie();
					if(isCompare === 1)
					{
						var ihCounty = "";
						ihCounty = ihCounty + '<a href="javascript:void(0);" onclick="javascript:funGetCounty(\'county\',\''+page+'\');" class="linkOkCancleSH lang">Get County Information</a>'; 
						$("divSHDataCounty").innerHTML = ihCounty;
						$("divPopUpSHCounty").style.display = "inline";
					}
					else
					{
						if(arrDataCounty.length == 0)
						{
							funGetCounty(srchcrt,page);
						}
						else
						{
							var strCKCounty = getSearchCookie("county");
							var arrCKCounty = strCKCounty.split(',');
							var ihCounty = "";
							var lenArrDataCounty = arrDataCounty.length;
							ihCounty = ihCounty + '<table cellpadding="0" cellspacing="0" style="width:100%;height:100%;">';
							for(var i=0;i<lenArrDataCounty;i++)
							{
								var countyName = arrDataCounty[i]['county'];
								ihCounty = ihCounty + '<tr>'; 
									ihCounty = ihCounty + '<td style="width:20%;">'; 
										if(arrCKCounty.in_array(countyName) !== false)
										{
											ihCounty = ihCounty + '<input type="checkbox" value="'+countyName+'" checked="checked" />';
										}
										else
										{
											ihCounty = ihCounty + '<input type="checkbox" value="'+countyName+'"  />';
										}	
									ihCounty = ihCounty + '</td>'; 
									ihCounty = ihCounty + '<td style="width:80%;">'; 
										ihCounty = ihCounty + '<span class="contentSHPopup lang">'+countyName+'</span>';
									ihCounty = ihCounty + '</td>'; 
								ihCounty = ihCounty + '</tr>'; 
							}	
							ihCounty = ihCounty + '</table>';
							
							$("divSHDataCounty").innerHTML = ihCounty;
							$("divPopUpSHCounty").style.display = "inline";
						}
					}
				}
			}
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
		case "county":
			var isContradict = funCheckContradict();
			if(isContradict == null || isContradict == 0)
			{
				return;
			}
			if(arrDataCounty.length == 0)
			{
				funGetCounty(srchcrt,page);
			}
			else
			{
				var strCKCounty = getSearchCookie("county");
				var arrCKCounty = strCKCounty.split(',');
				var ihCounty = "";
				var lenArrDataCounty = arrDataCounty.length;
				ihCounty = ihCounty + '<table cellpadding="0" cellspacing="0" style="width:100%;height:100%;">';
				for(var i=0;i<lenArrDataCounty;i++)
				{
					var countyName = arrDataCounty[i]['county'];
					ihCounty = ihCounty + '<tr>'; 
						ihCounty = ihCounty + '<td style="width:20%;">'; 
							if(arrCKCounty.in_array(countyName) !== false)
							{
								ihCounty = ihCounty + '<input type="checkbox" value="'+countyName+'" checked="checked" />';
							}
							else
							{
								ihCounty = ihCounty + '<input type="checkbox" value="'+countyName+'"  />';
							}	
						ihCounty = ihCounty + '</td>'; 
						ihCounty = ihCounty + '<td style="width:80%;">'; 
							ihCounty = ihCounty + '<span class="contentSHPopup lang">'+countyName+'</span>';
						ihCounty = ihCounty + '</td>'; 
					ihCounty = ihCounty + '</tr>'; 
				}	
				ihCounty = ihCounty + '</table>';
				
				$("divSHDataCounty").innerHTML = ihCounty;
				Element.removeClassName($("divSHCounty").getElementsByTagName('a')[0],'linkAdvanceSearch');
				Element.addClassName($("divSHCounty").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
				$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
				$("divPopUpSHControls").style.display = "inline";
				$("divPopUpSHMLSInfo").style.visibility = "visible";
				$("divPopUpSHCounty").style.display = "inline";
			}
			break;
		case "neighborhood":
			if ($('searchCSZ').value.search(/;/) > -1)
			{
				$('divPopUpSHNeighborHood').style.height = "50px";
				$("divPopUpSHControls").innerHTML = '&nbsp<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';
				$("divSHDataNeighborHood").innerHTML = '<span class="contentSHPopup">Please select single city to enable neighborhood search.</span>';
				$("divPopUpSHMLSInfo").style.visibility = "hidden";
				$("divPopUpSHControls").style.display = "inline";
				$("divPopUpSHNeighborHood").style.display = "inline";
				headerContent("neighborhood");
				break;
			}
			if($('chkmapSearchSelect') != null && $('chkmapSearchSelect').checked == true) 			
			{
				$('divPopUpSHNeighborHood').style.height = "50px";
				$("divPopUpSHControls").innerHTML = '&nbsp<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';
				$("divSHDataNeighborHood").innerHTML = '<span class="contentSHPopup">Please disable Map Search to enable neighborhood search.</span>';
				$("divPopUpSHMLSInfo").style.visibility = "hidden";
				$("divPopUpSHControls").style.display = "inline";
				$("divPopUpSHNeighborHood").style.display = "inline";
				headerContent("neighborhood");
				break;
			}
			if(trim(getSearchCookie("county")) != "" && countySearchEnabled == "1")	
			{
				$('divPopUpSHNeighborHood').style.height = "50px";
				$("divPopUpSHControls").innerHTML = '&nbsp<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';
				$("divSHDataNeighborHood").innerHTML = '<span class="contentSHPopup">Please deselect county to enable neighborhood search.</span>';
				$("divPopUpSHMLSInfo").style.visibility = "hidden";
				$("divPopUpSHControls").style.display = "inline";
				$("divPopUpSHNeighborHood").style.display = "inline";
				headerContent("neighborhood");
				break;
			}
			if($("txtArea") && $("txtArea").value != "")
			{
				$('divPopUpSHNeighborHood').style.height = "50px";
				$("divPopUpSHControls").innerHTML = '&nbsp<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';
				$("divSHDataNeighborHood").innerHTML = '<span class="contentSHPopup">Please disable Area Search to enable neighborhood search.</span>';
				$("divPopUpSHMLSInfo").style.visibility = "hidden";
				$("divPopUpSHControls").style.display = "inline";
				$("divPopUpSHNeighborHood").style.display = "inline";
				headerContent("neighborhood");
				break;
			}
			
			var isContradict = funCheckContradict();
			if(isContradict == null || isContradict == 0)  
			{
				return;
			}
			if(arrDataNeighborHood.length == 0)
			{
				funGetNeighborHood(srchcrt,page);
			}
			else
			{
				$('divPopUpSHNeighborHood').style.height = "150px";
				var strCKNH = getSearchCookie("neighborhood");
				var arrCKNH = strCKNH.split(',');
				var ihNeighborHood = new StringBuffer();
				var lenArrDataNeighborHood= arrDataNeighborHood.length;
				ihNeighborHood.append('<table cellpadding="0" cellspacing="0" style="width:250px; height:100%;" border="0">');
					ihNeighborHood.append('<tr>'); 
						ihNeighborHood.append('<td style="width:30px;">'); 
							ihNeighborHood.append('<input type="checkbox" value=""  id="chbSHNHAll" name="chbSHNHAll" onclick="javscript:funSetSHNHAll();"/>');
						ihNeighborHood.append('</td>'); 
						ihNeighborHood.append('<td style="width:220px;">'); 
							ihNeighborHood.append('<span class="contentSHPopup lang">all</span>');
						ihNeighborHood.append('</td>'); 
					ihNeighborHood.append('</tr>'); 
				for(var i=0;i<lenArrDataNeighborHood;i++)
				{
					ihNeighborHood.append('<tr>'); 
						ihNeighborHood.append('<td style="width:30px;">'); 
							if(typeof(arrDataNeighborHood[i]['neighborhood']) != "undefined")
							{
								if((arrCKNH.in_array(arrDataNeighborHood[i]['neighborhood']) !== false) || (trim(strCKNH) == 'all'))
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['neighborhood']+'" onclick="javascript:funUnchkAllChkBox(this);" checked="checked" />');
								}
								else
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['neighborhood']+'" onclick="javascript:funUnchkAllChkBox(this);" />');
								}	
							}
							else if(typeof(arrDataNeighborHood[i]['area']) != "undefined")
							{
								if((arrCKNH.in_array(arrDataNeighborHood[i]['area']) !== false) || (trim(strCKNH) == 'all'))
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['area']+'" onclick="javascript:funUnchkAllChkBox(this);" checked="checked" />');
								}
								else
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['area']+'" onclick="javascript:funUnchkAllChkBox(this);" />');
								}
							}
						ihNeighborHood.append('</td>');
						ihNeighborHood.append('<td style="width:220px;">');
							if(typeof(arrDataNeighborHood[i]['neighborhood']) != "undefined")
								ihNeighborHood.append('<span class="contentSHPopup lang">'+arrDataNeighborHood[i]['neighborhood']+'</span>');
							else if(typeof(arrDataNeighborHood[i]['area']) != "undefined")
								ihNeighborHood.append('<span class="contentSHPopup lang">'+arrDataNeighborHood[i]['code']+" - "+arrDataNeighborHood[i]['area']+'</span>');
						ihNeighborHood.append('</td>'); 
					ihNeighborHood.append('</tr>'); 
				}	
				ihNeighborHood.append('</table>');
				$("divSHDataNeighborHood").innerHTML = ihNeighborHood.toString();
				var arrChkBox = $('divSHDataNeighborHood').getElementsByTagName("input");
				var lenArrChkBox = arrChkBox.length;
				var allChked = true;
				for(var i=0;i<lenArrChkBox;i++)
				{
			    	if((arrChkBox[i].id == "chbSHNHAll") || (arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true))
			    	{
			    		continue;
			    	}
					else
					{
						allChked = false;
						break;
					}
				}
				if(allChked == true)
				{
					$("chbSHNHAll").checked = true;
				}
				Element.removeClassName($("divSHNeighborHood").getElementsByTagName('a')[0],'linkAdvanceSearch');
				Element.addClassName($("divSHNeighborHood").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
				$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
				$("divPopUpSHMLSInfo").style.visibility = "visible";
				$("divPopUpSHControls").style.display = "inline";
				$("divPopUpSHNeighborHood").style.display = "inline";
			}
			break;
		case "price":
			Element.removeClassName($("divSHPrice").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSHPrice").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			$("divPopUpSHPrice").style.display = "inline";
			if($("minPrice") && getSearchCookie("minPrice")!='0' && getSearchCookie("minPrice")!='') $("minPrice").value = addCommas(getSearchCookie("minPrice"));
			if($("maxPrice") && getSearchCookie("maxPrice")!='0' && getSearchCookie("maxPrice")!='') $("maxPrice").value = addCommas(getSearchCookie("maxPrice"));
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
		case "beds":
			setAllCookieValue('beds');
			Element.removeClassName($("divSHBeds").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSHBeds").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			$("divPopUpSHBeds").style.display = "inline";
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
		case "baths":
			setAllCookieValue('baths');
			Element.removeClassName($("divSHBaths").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSHBaths").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			$("divPopUpSHBaths").style.display = "inline";
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
		case "sqft":
			Element.removeClassName($("divSHSqft").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSHSqft").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			$("divPopUpSHSqft").style.display = "inline";
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
		case "listdate":
			Element.removeClassName($("divSHListDate").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSHListDate").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			$("divPopUpSHListDate").style.display = "inline";
			$("divPopUpSHMLSInfo").style.visibility = "visible";
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
		case "type":
			var arrChkBox = $('divPopUpSHType').getElementsByTagName("input");
			var lenArrChkBox = arrChkBox.length;
			var allChked = true;
			for(var i=0;i<lenArrChkBox;i++)
			{
				if (arrChkBox[i].id == "chbSHTypeAll")
				{
					continue;
				}
				if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
				{
					continue;
				}
				else
				{
					allChked = false;
					break;
				}
			}
			if(allChked == true)
			{
				$("chbSHTypeAll").checked = true;
			}
			else
			{
				$("chbSHTypeAll").checked = false;
			}

			Element.removeClassName($("divSHType").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSHType").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			$("divPopUpSHType").style.display = "inline";
			$("divPopUpSHMLSInfo").style.visibility = "visible";
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
		case "mls":
			Element.removeClassName($("divSHMLS").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSHMLS").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			if(trim(getSearchCookie('mlsno')) != "")
			{
				$("searchMLS").value = trim(getSearchCookie('mlsno'));
			}
			else
			{
				$("searchMLS").value = "";
			}
			$("divPopUpSHMLS").style.display = "inline";
			$("divPopUpSHMLSInfo").style.visibility = "visible";
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
		case "sortby":
			Element.removeClassName($("divSHSortBy").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSHSortBy").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			$("divPopUpSHSortBy").style.display = "inline";
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;		
		case "power":
			$("divContainerAdvanceSearch").style.width = "456px";
			if($("divSHPowerSortBy"))
			{
				Element.removeClassName($("divSHPowerSortBy").getElementsByTagName('a')[0],'linkAdvanceSearch');
				Element.addClassName($("divSHPowerSortBy").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			}
			$("divPopUpSHPower").style.display = "inline";
			$("divPopUpSHControls").innerHTML = '<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchOK" name="anchorAdvanceSearchOK" onclick="javascript:funSaveAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">save</a>&nbsp;&nbsp;<a href="#" class="linkOkCancleSH lang"  id="anchorAdvanceSearchGo" name="anchorAdvanceSearchGo" onclick="javascript:funGoAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">go</a>&nbsp;&nbsp;<a href="javascript:void(0);" class="linkOkCancleSH lang"  id="anchorAdvanceSearchClose" name="anchorAdvanceSearchClose" onclick="javascript:funCloseAdvanceSearch(\''+srchcrt+'\',\''+page+'\');">close</a>';	
			$("divPopUpSHControls").style.display = "inline";
			break;
		case "saveSearch":
			Element.removeClassName($("divSaveSearch").getElementsByTagName('a')[0],'linkAdvanceSearch');
			Element.addClassName($("divSaveSearch").getElementsByTagName('a')[0],'linkSelAdvanceSearch');
			$("divSaveSearch").style.display = "inline";
			if($("errDivP")) $("errDivP").innerHTML = "";
			if($("txtSrchNm"))
			{
				$("txtSrchNm").value = "";
				$("txtSrchNm").className = 'lang';
			}
			if($("txtClient")) $("txtClient").value = "";
			if($("txtEmails"))
			{
				$("txtEmails").value = "";
				$("txtEmails").className = 'lang';
			}
			break;
		default: 
			return;
	}
	
	var element = Event.element(e);
	var objDiv = element.parentNode;
	var posLeft = getPositionLeft(objDiv);
	if(srchcrt=="power")
		posLeft -=7; 
	var posTop = getPositionTop(objDiv);
	$("divContainerAdvanceSearch").style.left = posLeft + "px";
	$("divContainerAdvanceSearch").style.top = eval(posTop + 15) + "px";
	if(!isIE && srchcrt=="more")	
			$("divContainerAdvanceSearch").style.top = eval(posTop + 9) + "px";
	$("divContainerAdvanceSearch").style.display = "block";
	
}

//====================================================
//LMSRE specific:
//it will check on two pan map..if multicity then give
//alert else allow to go and perform other action
//====================================================
function checkMultiCity()
{
		var cityPipeList = getSearchCookie("city");
		var stateMy = getSearchCookie("state");
		if($("searchCSZ"))
			var csz = $("searchCSZ").value;
		var flag = false;
		if(cityPipeList.indexOf("|") > -1)
		{
			flag=true;
		}
		else
		{
			flag=false;
		}
		return flag;
}
//====================================================
//LMSRE specific:
//called while dragging any bit,and onclik of 
//dashboard tab.
//====================================================
function callMultiCityCheck_Dashboard(fromWhere,bitzName)
{

	var cityPipeList = getSearchCookie("city");
	var csz = $("searchCSZ").value;	
	if(cityPipeList.indexOf("|") > -1  || csz=="required" || csz=="")
	{
		if(fromWhere == 'dashboard')
		{	
			bitzName = "dashboard";
			showPopupDivforMenu(bitzName,'mapit');
		}
		if(fromWhere == 'mapit')
		{
			bitzName = "mapit";
			showPopupDivforMenu(bitzName,'dashboard');
		}
		return false;
	}
	else if(fromWhere == "dashboard")
	{
		var qs = new Querystring();
		var isNoSearch = qs.get('noSearch');
		if(isNoSearch != null && trim(isNoSearch) == 1)
		{
			location.href="../dashboard/dashboardIndex.php?noSearch=1";
		}
		else if (bkTheme == 'reotexashomes') //to load reo bit as default on dashboard of reotexashomes
		{
			var now = new Date();
			now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
			var myObject = new Object();
			myObject.widget1X1="bankowned";
			setCookie("strWidgetCookie",$H(myObject).toJSON(),now);

			location.href="../dashboard/dashboardIndex.php";
		}
		else
		{
			location.href="../dashboard/dashboardIndex.php";
		}
	}
	else if(fromWhere == "mapit")
	{
		callExploreNeighbourhood(); 
	}
}
function callMultiCityCheck_Dashboard_Metro(fromWhere,bitzName)
{
	var cityPipeList = getSearchCookie("city");
	
	if(cityPipeList.indexOf("|") > -1)
	{
		if(fromWhere == "dragbit")
		{
			//DO NOTHING
		}
		else
		{
			if(fromWhere == 'dashboard')
				bitzName = "dashboard";
			showPopupDivforMenu(bitzName,'mapit');
			return false;
		}
	}
	if(fromWhere == "dashboard")
	{
		location.href="../dashboard/dashboardIndex.php";
	}
}
/**
 * Extra useful functions to the standard javascript prototypes.
 * Added By: Pankit Bhanushali
 */
Array.prototype.intersection = function( value ) {

	var result = new Array();
	
	if( typeof value != "object" ) {
		value = new Array(value);
	}
	
    for( var tc = 0; tc<this.length; tc++) {
		for( var vc = 0; vc < value.length; vc++ ) {
	        if( this[tc] == value[vc] ) {
				result.push_back(value[vc]);
			}
		}
    }
    return result;
}
Array.prototype.push_back = function( value ) {
	if( typeof value == "object" && value.length ) {
		for( var count = 0; count < value.length; count++ ) {
			this[this.length] = value[count];
		}
	} else {
		this[this.length] = value;
	}
}

/** code for brokeragent light box to get all office list **/
function getOffice(type)
{
	var queryString="type=off";
	if(type != null)
		queryString="type=offLoc";
	var url="/app/listing/getOffice.php";
	ajaxRequest(url,queryString,officeCallBack);	
}

//Callback for Assign Lead
function officeCallBack(originalResponse)
{
	var responce = originalResponse.responseText;
	
	
	/*****************sanju, this code can u used if company name depends on office location****************************/
	
	/*
	var respArr = responce.split('<!sep!>');
	if(respArr[0] == 'offLoc')
	{
		$('allOfficeLoc').innerHTML = respArr[1];
		if($('radioOffice').checked)
			$('txtOfficeLoc').disabled= false;
		else
			$('txtOfficeLoc').disabled= true;
	}
	else if(respArr[0] == 'offM')
	{
		$('allOffice').innerHTML = respArr[1];
		if($('radioOffice').checked)
			$('txtOffice').disabled= false;
		else
			$('txtOffice').disabled= true;
	}
	else if(respArr[0] == 'off')
	{
		$('allOffice').innerHTML = respArr[1];
		if($('radioOffice').checked)
			$('txtOffice').disabled= false;
		else
			$('txtOffice').disabled= true;
	}
	* 
	********************************************/
	
	/********************sanju, code that will load both company name and office loc simultanously*************************************/
	
	if (bkTheme == "metrobrokers")
	{
		var respArr = responce.split('<!sep!>');
		$('allOffice').innerHTML = respArr[0];
		$('allOfficeLoc').innerHTML = respArr[1];
		if($('radioOffice').checked)
		{
			$('txtOffice').disabled= false;
			$('txtOfficeLoc').disabled= false;
		}
		else
		{
			$('txtOffice').disabled= true;
			$('txtOfficeLoc').disabled= true;
		}
	}
	else
	{
		$('allOffice').innerHTML = responce;
		if($('radioOffice').checked)
			$('txtOffice').disabled= false;
		else
			$('txtOffice').disabled= true;
	}
	
	/***************************************************************/
}

function offLocChanged()
{
	var offLocId = escape($("txtOfficeLoc").options[$("txtOfficeLoc").selectedIndex].value);
	var queryString="olid="+offLocId;
	var url="/app/listing/getOffice.php";
	ajaxRequest(url,queryString,officeCallBack);	
}

function funExploreMlsAddrMap()
{
	showDetail=1;
	latp = latLong.lat;
	lngp = latLong.lng;

	var city = getSearchCookie("city");
	var zip = getSearchCookie("zip");
	var state = getSearchCookie("state");
	var ad = getSearchCookie("searchAddress");	
	/*var mapLoadedBits = getCookie("strMapitCK");
	
	if (mapLoadedBits != "")
	{
		mapLoadedBits = mapLoadedBits + ",mlsaddrsearch";
	}
	else
	{
		mapLoadedBits = "mlsaddrsearch";
	}*/

	if(mapToShow == "")
	{
		setMapItCookie("mlsaddrsearch","add");
		newUrl = "/app/listing/singlePropertyLanding.php?PHPSESSID=&status=EXP&address=" + ad + "," + city + "," + state + "," + zip + ",,,," + latp + "," + lngp;
	}
	else
	{
		setMapItCookie("mlsNHoodMode","add");
		newUrl = "/app/listing/singlePropertyLanding.php?status=N&code=propView=1:::searchAddress="+ad+":::city="+city+":::state="+state+":::zip="+zip+":::neighborhood=:::county=:::minPrice="+getSearchCookie("minPrice")+":::maxPrice="+getSearchCookie("maxPrice")+":::searchBeds="+getSearchCookie("searchBeds")+":::searchBaths="+getSearchCookie("searchBaths")+":::id=355&mapCenter=("+latp+","+lngp+")&valChkMapSearchSelect=1&fe=&f=1&propLatitude="+latp+"&propLongitude="+lngp+"&mapZoom=13";
	}
	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		newUrl = newUrl + "&frm=agt&aid="+aid;

		//agentsite statistics
		var beds = getSearchCookie("searchBeds");
		var baths = getSearchCookie("searchBaths");
		var type = getSearchCookie("searchType");
		var minprice = getSearchCookie("minPrice");
		var maxprice = getSearchCookie("maxPrice");

		var url = "../../classes/emailStats.php";
		var qs = "from=search&aid="+aid+"&city="+city+"&type="+type+"&beds="+beds+"&baths="+baths+"&price="+minprice+"-"+maxprice+"&addr="+ad+"&mlsno=";

		ajaxRequest(url,qs);
		//statistics done
	}
	window.location.href = newUrl;
	return;
}

function gotoSellDshbrd(uid)
{
	if (uid != 1)
	{
		var myObject = new Object();
		myObject.widget1X1="recentsales";
		myObject.widget1X2="marketsnapshot";
		myObject.widget1X3="equity";
		myObject.widget2X1="valuehome";
		myObject.widget2X2="";
		myObject.widget2X3="";
		myObject.widget3X1="";
		myObject.widget3X2="";
		myObject.widget3X3="";

		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("strWidgetCookie",$H(myObject).toJSON(),now);

		location.href = "http://" + location.hostname + "/app/dashboard/dashboardIndex.php";
	}
	else
	{
		var queryStr="widgetsConf=1,1,25|1,2,46|1,3,57|2,1,58|2,2,|2,3,|3,1,|3,2,|3,3,&setUserPref=1";
		var url ="/app/dashboard/dshbrdProcess.php";
		ajaxRequest(url,queryStr,loadDecDash);
	}
}
function loadDecDash(response)
{
	location.href = "http://" + location.hostname + "/app/dashboard/dashboard.php";
}

function gotoDashBrdFoot(call)
{
	if(call == '1' || call == '0' )
		location.href = "http://" + location.hostname + "/terabitzApi/finance/index.php";
	else if(call == 'openhouse')
	{
		setSearchCookie("listType","openHome");		
		setSearchCookie("ohflag","1");		
		url = 	'/Search/'+getSearchCookie("state")+'/'+getSearchCookie("city");
		location.href = url;
	}
	else
	{
		ClrQckSrchCookies();
		location.href = "http://" + location.hostname + "/app/listing/singlePropertyLandingNew.php";
	}
}

function gotoDashBrdFoot_org(call)
{
	var city = getSearchCookie("city");
	var state= getSearchCookie("state");

	if(trim(city) == '' && city != null)
	{
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		city = "San Jose";
		state = "CA";
		latLongStr = "[{'lat':'37.316466','lng':'-121.873881'}]";
		setCookie("latLongCk",latLongStr, now);
		latLong = eval(getCookie("latLongCk"))[0];
		setSearchCookie("city", city);			
		setSearchCookie ("state", state);
	}

	if (call == 'openhouse')
		callMapIt(call);
	else if (call == 1 || call == 0)
		gotoSellDshbrd(call);
	else
		callMapIt();
}

startStack=function() { };  // A stack of functions to run onload/domready

registerOnLoad = function(func) 
{
   var orgOnLoad = startStack;
   startStack = function () {
      orgOnLoad();
      func();
      return;
   }
}

var ranOnload=false; // Flag to determine if we've ran the starting stack already.

if (document.addEventListener) 
{
  // Mozilla actually has a DOM READY event.
   document.addEventListener("DOMContentLoaded", function(){if (!ranOnload) {ranOnload=true; startStack();}}, false);
}
else if (document.all && !window.opera)
{
  // This is the IE style which exploits a property of the (standards defined) defer attribute
  document.write("<scr" + "ipt id='DOMReady' defer=true " + "src=//:><\/scr" + "ipt>");  
  document.getElementById("DOMReady").onreadystatechange=function(){
    if (this.readyState=="complete"&&(!ranOnload)){
      ranOnload=true;
      startStack();
    }
  }
}

var orgOnLoad=window.onload;
window.onload=function() 
{
	if (typeof(orgOnLoad)=='function') 
	{
		orgOnLoad();
	}
	if (!ranOnload) 
	{
		ranOnload=true;
		startStack();
	}
}

var funRplcImgBitzBar = function()
{
	if($('divIconCollect'))
	{
		var dashIcons = $('divIconCollect').getElementsByClassName('dashIconsDrag');
		for(var i=0;i<dashIcons.length;i++)
		{
			var divImgId = dashIcons[i].id;
			var widgetName = divImgId.gsub('divImg_','');
			var imgId =  'img_'+widgetName;
			$(imgId).src = $(imgId).src.gsub('blankImg.gif',eval('widgetsData.'+widgetName+'.img_n'));
		}
	}
	
}
/*
registerOnLoad(funRplcImgBitzBar);

var startup1 = function() {
   alert("I'm the first function!")
}

registerOnLoad(startup1);
registerOnLoad(function () {
   alert("I'm the second function!")
});
*/

function funMakeBitClickable(bitName,page,from)
{
	var ihBitz = new StringBuffer();
		ihBitz.append('<table border="0" style="font-size:0.7em;width:100%;height:100%;border-spacing:0px;">');
			ihBitz.append('<tr>');
				if(page != null && trim(page) == 'dashboard')
				{
					var innerTitleText = "Click to load on dashboard";
				}
				else
				{
					var innerTitleText = "Click to load on map";
				}	
				if(from=="API")
				{
					var innerTitleText = "Click on the bit to load.";
				}
				ihBitz.append('<td align="center" valign="top"  onmouseover="try{showTooltip(\''+innerTitleText.stripTags()+'\',event);}catch(e){}" onmouseout="try{hideTooltip();}catch(e){}">');
					try
					{
						var bitImg = eval('widgetsData.'+bitName+'.img_n');
						var bitTitle = eval('widgetsData.'+bitName+'.title');
					}
					catch(e)
					{
						var bitImg = "";
						var bitTitle = "";
						
					}
				if(page != null && trim(page) == 'dashboard')
					{
						ihBitz.append('<img id="img_'+bitName+'" style="cursor:pointer;" class="crsr" src="../../wt/'+bkTheme+'/images/dashboard/toolbarIcons/'+bitImg+'"  title="" alt="'+bitTitle+'" onclick="javascript:funLoadOnDashboard(\''+bitName+'\');" />');
					}
					else
					{
						ihBitz.append('<img id="img_'+bitName+'" style="cursor:pointer;" class="crsr" src="../../wt/'+bkTheme+'/images/dashboard/toolbarIcons/'+bitImg+'"  title="" alt="'+bitTitle+'" onclick="javascript:funLoadOnMap(\''+bitName+'\');" />');
					}	
				ihBitz.append('</td>');
			ihBitz.append('</tr>');
		ihBitz.append('</table>');
		if($('divImg_'+bitName))
		{
            $('divImg_'+bitName).innerHTML = ihBitz.toString();
            $('img_'+bitName).onmouseover = revealThumbnail;
            $('img_'+bitName).onmouseout = hideThumbnail;
        }
}
function funLoadedOnMap(bitName,page)
{
	//alert('This bit is already loaded on map.'); 
	if(bitName == "wikipedia")
	{
		mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),bitName);
		map.removeOverlay(wikiLayer);
		funMakeBitClickable(bitName);
		
		var currUrl = location.href;
		if(!currUrl.include("singlePropertyLanding.php"))
			unfillLoaded(bitName);
		return;
	}
	if(typeof(unfillLoaded)!="undefined")
	{
		unfillLoaded(bitName);
	}
	closeMapBit (bitName);
	funMakeBitClickable (bitName);
	return;
}
function funLoadedOnDashboard(bitName,page)
{
	//alert('This bit is already loaded on Dashboard.'); 
	funCloseWidget(null,bitName);
	return;
}
function funMakeBitNonClickable(bitName,page)
{
	var ihBitz = new StringBuffer();
		ihBitz.append('<table border="0" style="font-size:0.7em;width:100%;height:100%;border-spacing:0px;">');
			ihBitz.append('<tr>');
				if(page != null && trim(page) == 'dashboard')
				{
					var innerTitleText = "Click on the bit to remove.";
				}
				else
				{
					var innerTitleText = "Click on the bit to remove.";
				}	
				ihBitz.append('<td align="center" valign="top"  class="maskNonClickableBit" onmouseover="try{showTooltip(\''+innerTitleText.stripTags()+'\',event);}catch(e){}" onmouseout="try{hideTooltip();}catch(e){}">');
					var bitImg = eval('widgetsData.'+bitName+'.img_n');
					var bitTitle = eval('widgetsData.'+bitName+'.title');
					if(page != null && trim(page) == 'dashboard')
					{
						ihBitz.append('<img  id="img_'+bitName+'"  class="crsr" src="../../wt/'+bkTheme+'/images/dashboard/toolbarIcons/'+bitImg+'"  title="" alt="'+bitTitle+'" onclick="javascript:funLoadedOnDashboard(\''+bitName+'\');" />');
					}
					else
					{
						ihBitz.append('<img  id="img_'+bitName+'"  class="crsr" src="../../wt/'+bkTheme+'/images/dashboard/toolbarIcons/'+bitImg+'"  title="" alt="'+bitTitle+'" onclick="javascript:funLoadedOnMap(\''+bitName+'\');" />');
					}	
				ihBitz.append('</td>');
			ihBitz.append('</tr>');
		ihBitz.append('</table>');
	$('divImg_'+bitName).innerHTML = ihBitz.toString();
	$('img_'+bitName).onmouseover = hideThumbnail;
	$('img_'+bitName).onmouseout = hideThumbnail;
//	$('divImg_'+bitName).style.display = 'none';
}
function funMakeSummaryHeader(page)
{
	/*var ihSummaryHeader = new StringBuffer();
	if(page != null && trim(page) == 'dashboard')
		ihSummaryHeader = ihSummaryHeader + '<table style="width:180px;height:17px;" cellspacin="0" cellpadding="0" id="tblSummaryHeader">';
	else
		ihSummaryHeader = ihSummaryHeader + '<table style="width:178px;height:17px;" cellspacin="0" cellpadding="0" id="tblSummaryHeader">';
        ihSummaryHeader = ihSummaryHeader + '<tr>';
			ihSummaryHeader = ihSummaryHeader + '<td class="bgLeftSummaryHeader">&nbsp;</td>';
			if(page != null && trim(page) == 'dashboard')
				ihSummaryHeader = ihSummaryHeader + '<td class="bgMiddleSummaryHeader" align="center" valign="middle" id="tdSummaryHeader" style="width:164px;">';
			else
				ihSummaryHeader = ihSummaryHeader + '<td class="bgMiddleSummaryHeader" align="center" valign="middle" id="tdSummaryHeader" style="width:164px;">';
				
					ihSummaryHeader = ihSummaryHeader + '<span class="textSummaryHeader" id="spanSummaryHeader" >';
					if(page != null && trim(page) == 'dashboard')
						ihSummaryHeader = ihSummaryHeader + 'Currently active on dashboard';
					else
						ihSummaryHeader = ihSummaryHeader + 'Currently active on map';
					ihSummaryHeader = ihSummaryHeader + '</span>';
					
			ihSummaryHeader = ihSummaryHeader + '</td>';
			ihSummaryHeader = ihSummaryHeader + '<td class="bgRightSummaryHeader">&nbsp;</td>';
		ihSummaryHeader = ihSummaryHeader + '</tr>';
		
	ihSummaryHeader = ihSummaryHeader + '</table>';
	
	var myDiv = document.createElement('div');
	if(page != null && trim(page) == 'dashboard')
		myDiv.style.width = '180px';
	else
		myDiv.style.width = '170px';
	myDiv.style.position = 'absolute';
	if(page != null && trim(page) == 'dashboard')
	{
		var objSummaryArea = document.getElementById('divSummaryArea');
		var posLeft = getPositionLeft(objSummaryArea);
		var posTop = getPositionTop(objSummaryArea);
		myDiv.style.left = posLeft+'px';
		myDiv.style.top = (posTop-17)+'px';
	}
	else
	{
		var objIconContaner = document.getElementById('myIconContainer');
		var posLeft = getPositionLeft(objIconContaner);
		var posTop = getPositionTop(objIconContaner);
		myDiv.style.left = posLeft+'px';
		myDiv.style.top = (posTop-17)+'px';
	}	
	myDiv.innerHTML = ihSummaryHeader;
	document.body.appendChild(myDiv);*/
}
function funMakeSummaryArea(page)
{
	/*var objBitzBarHeader = document.getElementsByClassName('menuTrTb')[0];
	var posLeft = getPositionLeft(objBitzBarHeader);
	var posTop = getPositionTop(objBitzBarHeader);
	
	var divSummaryArea = document.createElement("div");
	divSummaryArea.id="divSummaryArea";
	divSummaryArea.className = "containerClass";
	
	if(page != null && trim(page) == 'dashboard')
		divSummaryArea.style.width = "178px";
	else
		divSummaryArea.style.width = "168px";
	divSummaryArea.style.cursor = 'default';	
	divSummaryArea.style.height = "50px";
	divSummaryArea.style.position = "absolute";
	divSummaryArea.style.left = eval(posLeft-190)+'px';
	divSummaryArea.style.top = eval(posTop+35)+'px';
	if(page != null && trim(page) == 'dashboard')
	{
		divSummaryArea.innerHTML = '<table cellspacing="0" cellpadding="0" style="cursor:default;width:100%;height:100%;"><tr><td style="width:100%;height:100%;" align="center" valign="middle" class="infoSummaryHeader">Click icons on right to populate dashboard.</td></tr></table>';
	}
	else
	{
		divSummaryArea.innerHTML = '<table cellspacing="0" cellpadding="0" style="cursor:default;width:100%;height:100%;"><tr><td style="width:100%;height:100%;" align="center" valign="middle" class="infoSummaryHeader">Click icons on right to populate map.</td></tr></table>';
	}
	//document.body.appendChild(divSummaryArea);
	funMakeSummaryHeader(page);*/
}
function funShowCrossedImage(objImg)
{
	var imgSrc = objImg.src;
	var newSrc = imgSrc.replace('.gif','Crossed.gif');
	objImg.src = newSrc;
}
function funHideCrossedImage(objImg)
{
	var imgSrc = objImg.src;
	var newSrc = imgSrc.replace('Crossed.gif','.gif');
	objImg.src = newSrc;
}
var cntLoadedBitz = 0;
function funAddBitToSummaryArea(bitName,page)
{
	if(page != null && trim(page) == 'dashboard')
	{
		if(cntLoadedBitz == 0)
		{
			//$('divSummaryArea').innerHTML = '';
		}
		var objDiv = document.createElement('div');
		objDiv.id = 'divSumBit_'+bitName;
		if(isIE)
			objDiv.style.styleFloat = 'left';
		else
			objDiv.style.cssFloat = 'left';
		objDiv.style.position = 'relative';
		objDiv.style.display = 'inline';
		objDiv.style.width = '29px';
		objDiv.style.height = '25px';
		objDiv.innerHTML = '<img src="/wt/'+bkTheme+'/images/common/'+bitName+'.gif" title="Remove '+unescape(widgetsData[bitName]['title']).stripTags()+'" alt="'+unescape(widgetsData[bitName]['title']).stripTags()+'" style="cursor:pointer" onmouseover="javascript:funShowCrossedImage(this);" onmouseout="javascript:funHideCrossedImage(this);" onclick="javascript:funRemoveBit(\''+bitName+'\',\''+page+'\');">';		
		//$('divSummaryArea').appendChild(objDiv);
		cntLoadedBitz = cntLoadedBitz + 1;
	}	
}
function funRemoveBit(bitName,page)
{
	if(page != null && trim(page) == 'dashboard')
	{
		funCloseWidget(null,bitName);
	}
}
function funRemoveImageFromSummaryArea(bitName,page,removeAll)
{
	if(removeAll != null && removeAll == true)
	{
		cntLoadedBitz = 0;
		//$('divSummaryArea').innerHTML = '<table cellspacing="0" cellpadding="0" style="cursor:default;width:100%;height:100%;"><tr><td style="width:100%;height:100%;" align="center" valign="middle" class="infoSummaryHeader">Click icons on right to populate dashboard.</td></tr></table>';
		return;
	}
	if(page != null && trim(page) == 'dashboard')
	{
		//if(($('divSummaryArea') != null) && ($('divSumBit_'+bitName) != null))
		//	$('divSummaryArea').removeChild($('divSumBit_'+bitName));
		cntLoadedBitz = cntLoadedBitz - 1;
		if(cntLoadedBitz == 0)
		{
		//	$('divSummaryArea').innerHTML = '<table cellspacing="0" cellpadding="0" style="cursor:default;width:100%;height:100%;"><tr><td style="width:100%;height:100%;" align="center" valign="middle" class="infoSummaryHeader">Click icons on right to populate dashboard.</td></tr></table>';
		}
	}
}

function openChatPage()
{
	var url = '/help/interoContactUs.php?hCity=' + getSearchCookie("city") + '&hState=' + getSearchCookie("state");
	window.open (url, '', '');
}

function setMapItckBlank(dshbrdUsrId)
{
	if(typeof(dshbrdUsrId) != "undefined" && dshbrdUsrId != "")
		setCookie('strMapitCK','');
}

function addCommas(num)
{
	var nStr = new String(num);
	if(nStr.indexOf(',') > 0)
	{					
		nStr = nStr.replace(/\,/g,'');
	}
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function numFormat(txtPrice)
{
	if($(txtPrice).value != '')
	{
		var price = $(txtPrice).value;
	
		if(price.indexOf(',') > 0)
		{					
			price = price.replace(/\,/g,'');
		}
		$(txtPrice).value = addCommas(price);
	}
}

function keyDown(e,txtprice)
{
	var keycode = e.keyCode;
	if(keycode!=37&& keycode!=38 &&keycode!=39&&keycode!=40)
	{
		numFormat(txtprice);
	}
}

function roundPrice(txtPrice)
{
	if($(txtPrice).value != '')
	{
		var valPrice = $(txtPrice).value;
		
		if(valPrice.indexOf(',') >= 0)
		{			
			valPrice = valPrice.replace(/\,/g,'');
		}
		if (!isNaN(valPrice))
		{
		   //$(txtPrice).value=addCommas(Math.round(valPrice));
		   $(txtPrice).value=addCommas(Math.round(valPrice));
		}
	}
}

function setAllCheckedStyle(from)
{
	if(typeof(from)!="undefined")
	{
		divId = "RSpropStyleDv";
		chkAllId = "RSchkStyleAll";
	}
	else
	{
		divId = "propStyleDv";
		chkAllId = "chkStyleAll";
	}

	if($(divId))
	{
		var arrChkBox = $(divId).getElementsByTagName("input");
		var lenChkBox = arrChkBox.length;

		for(var i=0;i<lenChkBox;i++)
		{	
			if(arrChkBox[i].id == chkAllId)
				continue;
			if(($(chkAllId).checked == true) && (arrChkBox[i].type == "checkbox"))
				arrChkBox[i].checked = true;
			else if(arrChkBox[i].type == "checkbox")
				arrChkBox[i].checked = false;
		}
	}
}

/*function setAllCheckedParkingStyle()
{
	if($("parkingStyleDv"))
	{
		var arrChkBox = $("parkingStyleDv").getElementsByTagName("input");
		var lenChkBox = arrChkBox.length;

		for(var i=0;i<lenChkBox;i++)
		{	
			if(arrChkBox[i].id == "chkParkingStyleAll")
				continue;
			if(($('chkParkingStyleAll').checked == true) && (arrChkBox[i].type == "checkbox"))
				arrChkBox[i].checked = true;
			else if(arrChkBox[i].type == "checkbox")
				arrChkBox[i].checked = false;
		}
	}
}*/

function chkAllOpt(chkAllID,divId)
{
   if($(divId))
	{
   var arrChkBox = $(divId).getElementsByTagName("input");
   lenOptWA = arrChkBox.length;
   lenOpt = arrChkBox.length - 1;
   chkCnt = 0;
   for(i=0;i<lenOptWA;i++)
   {
     if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
     {
       if(arrChkBox[i].id == chkAllID)
        continue;
       else
        chkCnt++; 
     }
   }
   if(chkCnt == lenOpt)
       $(chkAllID).checked = true;
   else
       $(chkAllID).checked = false; 
	}
}

function chkAllUnderDiv(divId,val)
{
	if($(divId)) {
		var arrChkBox = $(divId).getElementsByTagName("input");
		lenOptWA = arrChkBox.length;
		for(i=0;i<lenOptWA;i++)
		{
			if(arrChkBox[i].type == "checkbox" && val)		
				arrChkBox[i].checked = true;
			else
				arrChkBox[i].checked = false;
		}
	}
}

/*************** START ******************** USED FOR NEW POWER SEARCH AND LIST SEARCH CODE **********************/
function ClrQckSrchCookies()
{	
	if(typeof(localBitArr) != 'undefined') localBitArr = [];	
	if(typeof(map2) != 'undefined') {  map2.clearOverlays(); map2 = undefined; }
	if(typeof(ignoreCSZValidation) != "undefined" ) ignoreCSZValidation = 0;
	
	funClrQckSrchCookies();	
	if($("aSavSearch")) $('aSavSearch').show();
	if($("limitBar1")) $("limitBar1").style.display = "none";
	if($("paginationTd")) $("paginationTd").style.display = "none";	
	totalRecords = 0;	
	//TO CLEAR POWER SEARCH NEIGHBORHOOD
	if(typeof(clearNbr) == 'function' )
		clearNbr();
	if(typeof(clearGarage) == 'function' )
		clearGarage();
	if($("hdnNbrSrchType")) $("hdnNbrSrchType").value = "2";
	if(typeof(nbrSrchType) != "undefined") nbrSrchType = "";
	if($('proListingDiv')) $('proListingDiv').className="";
	if($('limitBar')) $('limitBar').innerHTML ='';
	if($('divAutoComp')) $('divAutoComp').hide();
	if($('divLocalSearch')) $('divLocalSearch').hide();
	tmpSpanMCTCookie = '';
	tmpSpanNBRCookie = '';
	if($('searchAddress')) $('searchAddress').disabled = false;
	if($('RSsearchAddress')) $('RSsearchAddress').disabled = false;	
	
	chkAllUnderDiv('divLocalSearch',false);
	removeSearchCookie("multicity");	
	removeSearchCookie("multizip");
	removeSearchCookie("mctSpanHTML");
	if($('showMultiCity')) $('showMultiCity').innerHTML = "";
	if($('showMultiZip')) $('showMultiZip').innerHTML = "";
	
	removeSearchCookie("County");
	removeSearchCookie("minPrice");
	removeSearchCookie("maxPrice");
	removeSearchCookie("listType");
	if(bkTheme == "reotexashomes")
	{ setSearchCookie("listType","bankOwned"); }
	removeSearchCookie("propDesc");
	removeSearchCookie("ckLFDate");
	removeSearchCookie("ckLTDate");
	removeSearchCookie("mlsno");
	removeSearchCookie("nbrSpanHTML");
	//removeSearchCookie("spanHTML");
	removeSearchCookie("lat");
	removeSearchCookie("lng");	
	removeSearchCookie("polygon");
	removeSearchCookie("area");		
	removeSearchCookie("keywordSrch");		
	if($('clrSerArea')) $('clrSerArea').style.display='none';
	if($('drawSerArea')) $('drawSerArea').style.display='';	
	lfDate = ''; ltDate = ''; mlsno = '';
	if($("RStxtLFDate"))  $("RStxtLFDate").value = '';
	if($("RStxtLTDate"))  $("RStxtLTDate").value = '';
	if($("RSsearchMLS")) $("RSsearchMLS").value = '';
	if($('frmAdvanceSearch')) $('frmAdvanceSearch').reset();
	if($('rsNHoodCntr')) $('rsNHoodCntr').style.display='none';	
	if($('shoNbhood')) $('shoNbhood').innerHTML= '';
	if($('keySerDiv'))  $('keySerDiv').innerHTML= '';
	//Added by surya for clearing the data from  temp string
	unChkstr  = "";
	chkdDat   = "";
	alwdCnt = 0 ;
	if (typeof(alwdCntMCT) != "undefined") alwdCntMCT = 0;
	if($('RSchbSHTypeAll')) $('RSchbSHTypeAll').checked = true;
	if($('polygonDiv')) $('polygonDiv').style.display='';	
	if($('serByNbrhood')) $('serByNbrhood').style.display='';		
	if($('searchMLS')) $('searchMLS').value = '';
	if($('pStatusList')) $('pStatusList').innerHTML = "";
	if($('pTypeList')) $('pTypeList').innerHTML = "";	
	if ($('crawlerNotificationArea'))
		$('crawlerNotificationArea').innerHTML = '';

	try 
	{
		funSetSHTypeAll('RS'); 
	} 
	catch (err)
	{ 
	}
	if($('RSsearchMLS')) $('RSsearchMLS').value = '';	
	if(typeof(initPower) != 'undefined' && !initPower) 
	{
		try {
				savePrpType(); 
			}
		catch(err)
		{
		
		}
	}
	if($('bit_select_box')) $('bit_select_box').value = "";
	if($('sub_rentals_selection')) $('sub_rentals_selection').hide();
	totalRecords = 0;	
	if(typeof(initPower) != 'undefined' && initPower)
	{
		var noRMsg = 'Select search criteria and Click "Agent View" Or "Consumer View".';
	}
	else
	{
		var noRMsg = 'Select search criteria and Click "Go".';
	}
	var noRecTblMsg = '<table align="center" id="noRecTbl" height="100%" cellspacing="0" cellpadding="0" style="width:450px;display:;"><tbody><tr><td valign="top" style="padding-top: 170px;"><table align="center" style="width: 490px;" valign="middle"><tbody><tr><td valign="top"><table cellspacing="0" cellpadding="0" border="0" align="center" style="width: 450px; height: 60px;" valign="middle"><tbody><tr style="height: 7px;"><td valign="bottom" class="msgTableTopleft"/><td valign="bottom" class="msgTableTopmid"/><td valign="bottom" class="msgTableTopright"/></tr><tr style="height: 44px;"><td class="msgTableCenleft"/><td class="msgTableCenmid"><font color="#666666"><span class="lang">'+noRMsg+'</span></font></td><td class="msgTableCenright"/></tr><tr style="height: 8px;"><td class="msgTableBotleft"/><td class="msgTableBotmid"/><td class="msgTableBotright"/></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table>';
	if($('proListingDiv')) { $('proListingDiv').innerHTML = noRecTblMsg; $('proListingDiv').show(); }
	if(!goToMap)
	{
		if($('SortPageTbl')) { $('SortPageTbl').hide(); }
		if($("picdivImg_0") && totalRecords > 0)
		{
			if($('favRoloDiv')) $('favRoloDiv').style.display = '';
		}
		else
		{
			if($('favRoloDiv')) $('favRoloDiv').style.display = 'none';
		}
		if( $('miniMapContainer') ) { $('miniMapContainer').style.display = 'none'; }
		if( $("mapDiv") ) { $("mapDiv").style.display = 'none'; }
		if( $("drawsearchinfobar") ) { $("drawsearchinfobar").style.display = 'none'; }		
		if($('impMapShow'))
		{
			$('impMapShow').hide(); 
			$('impMapShow').innerHTML='View On Map'; 
		}
	}
	clearChkBoxInDiv("prpTyp");
    clearChkBoxInDiv("prpStat");
	if($("searchAddress")) $("searchAddress").className = "textboxSH";
	removeSearchCookie("spanStyleHTML");
	removeSearchCookie("propStyle")
	if($('prpStyleText')) $('prpStyleText').innerHTML = "";
	if(typeof(showMultiCityRelated) != "undefined" && typeof(showMultiCityRelated) == "function") 
	{
		showMultiCityRelated();
	}
	if($('mlsSource') && $F('mlsSource') != "")
	{	
		$("mlsSrc.searchPs.template.jsScript").remove();
		var MlsSrcJsPath = "/js/mlsSrc.searchPs.template.js.php?mlsSrc="+$F('mlsSource');					
		includeJS(MlsSrcJsPath);
	}
	if(bkTheme == "emerge")
	{
		setSearchCookie("searchType","'Single Family','Residential'");
		if($("prpTypeText")) $("prpTypeText").innerHTML = "Residential";
	}	
}

/************************** USED FOR NEW POWER SEARCH AND LIST SEARCH CODE **********************/

/************************************* Lead Management For Ezee Doc Function Starts Here ***************************/

function createHomeValuePopUp()
{			
		if($('errLeadPro'))$('errLeadPro').innerHTML = "";
		if($('txtConsName')) $('txtConsName').className = "";
		if($('txtConsEmail')){$('txtConsEmail').className = "";$('txtConsEmail').value="";}
		if($('txtConsAddress'))$('txtConsAddress').className = "";
		if($('txtConsPhone'))$('txtConsPhone').className = "";
		if($('txtConsCity'))$('txtConsCity').className = "";
		if($('txtConsState'))$('txtConsState').className = "";
		if($('txtConsZip'))$('txtConsZip').className = "";
		
		//added for emerge
		if($('txtBeds')) $('txtBeds').className = "";
		if($('txtBaths')) $('txtBaths').className = "";
		if($('txtSqft')) $('txtSqft').className = "";
		if($('txtLotsize')) $('txtLotsize').className = "";
		if($('txtYearBuilt')) $('txtYearBuilt').className = "";
		if($('txtNeighborhood')) $('txtNeighborhood').className = "";

				flg=false;	
				
					if(($("txtAddress") && $("txtCSZ")) && ($("txtAddress") != null && $("txtCSZ")!= null))
					{
						var adr = escape($("txtAddress").value + "," + $("txtCSZ").value);
						var url = "/agentsite/processAgent.php";
						var qs = "process=validateAddress&address="+adr;
						ajaxRequest(url,qs,function(reqobj){ 
							var varResponse = trim(reqobj.responseText);
								if(varResponse != "")
								{
									flg = true;
									var arr = varResponse.split("|");
									
									if($("txtAddress"))$("txtAddress").value = arr[0];
									if($("txtCSZ"))$("txtCSZ").value = arr[1] + ", " + arr[2] + " " + arr[3];
									city=arr[1];
									state=arr[2];
									zip= arr[3];
								}
								else
								{
									alert("Invalid Address");
								}
						},false);

						if(flg)
						{
							if(top.$('leadFrmHomePopUp_c')) top.$('leadFrmHomePopUp_c').style.zIndex='27';
							if(top.$('leadFrmHomePopUp_mask')) top.$('leadFrmHomePopUp_mask').style.zIndex='26';
							if(top.$('leadFrmHomePopUp')) top.$('leadFrmHomePopUp').style.zIndex='25';

							if(top.$('leadFrmHomePopUp')) top.$('leadFrmHomePopUp').style.display= "block";
							top.$('txtConsAddress').value=$('txtAddress').value;
							top.$('txtConsCity').value=city;
							top.$('txtConsState').value=state;
							top.$('txtConsZip').value=zip;
							if(top.$('errEmailPro')) top.$('errEmailPro').innerHTML="&nbsp;";
							
							top.$('txtBeds').value = $('beds').value;
							top.$('txtBaths').value = $('baths').value;
							top.$('txtSqft').value = $('sqft').value;
							top.$('txtLotsize').value = $('lotsize').value;
							top.$('txtYearBuilt').value = $('yearbuilt').value;
							top.$('txtNeighborhood').value = "";
							
							top.leadEmailDlg1.show();
							if(top.$('txtConsName'))top.$('txtConsName').focus();	
						}
					}
					else
						{							
							if(typeof(estimateAddress) != "undefined"  && (typeof(estimateCity)!= "undefined" && typeof(estimateState)!= "undefined" && typeof(estimateZip)!= "undefined" ))
								{

										if($('leadFrmHomePopUp1')) $('leadFrmHomePopUp1').style.display= "block";	
										if($('txtConsName') != null)$('txtConsName').value = "";
										if($('txtConsAddress') != null){$('txtConsAddress').className=""; $('txtConsAddress').value=estimateAddress ; }
										if($('txtConsCity') != null){$('txtConsCity').className="" ; $('txtConsCity').value=estimateCity ;}
										if($('txtConsState') != null){$('txtConsState').className="" ; $('txtConsState').value=estimateState ;}
										if($('txtConsZip') != null){$('txtConsZip').className=""; $('txtConsZip').value=estimateZip ;}
										if(document.saleform.sale)
											document.saleform.sale[0].checked = true ;
										if($("txtConsComments") != null)$("txtConsComments").value = "";
										if($('errEmailPro')) $('errEmailPro').innerHTML="&nbsp;";		
										if(leadEmailDlg1 != "undefined") leadEmailDlg1.show();
										if($('leadFrmHomePopUp1_c')) $('leadFrmHomePopUp1_c').style.zIndex='17';
										if($('leadFrmHomePopUp1_mask')) $('leadFrmHomePopUp1_mask').style.zIndex='16';
								
										if($('txtBeds')) $('txtBeds').value = $('beds').value;
										if($('txtBaths')) $('txtBaths').value = $('baths').value;
										if($('txtSqft')) $('txtSqft').value = $('sqft').value;
										if($('txtLotsize')) $('txtLotsize').value = $('lotsize').value;
										if($('txtYearBuilt')) $('txtYearBuilt').value = $('yearbuilt').value;
										if($('txtNeighborhood')) $('txtNeighborhood').value = "";
								}
						}

			
				
				
			
}
	
/************************* Lead Management For Ezee Doc Function Ends Here *********************/

/*********************** USED FOR NEW POWER SEARCH AND LIST SEARCH CODE **********************/

function goToListSearch()
{
	//url = 	'/app/listing/singlePropertyLandingNew.php?city='+getSearchCookie("city")+'&state='+getSearchCookie("state");
	url = 	'/Search/'+getSearchCookie("state")+'/'+getSearchCookie("city");
	var qs = new Querystring();
	if(qs.get("frm") != null && trim(qs.get("frm")) == 'frch' && qs.get("ouid") != null)
	{
		url += "?frm="+trim(qs.get("frm"))+"&ouid="+trim(qs.get("ouid"));
	}
	if(qs.get("frm") != null && trim(qs.get("frm")) == 'agt' && qs.get("aid") != null)
	{
		url += "?frm="+trim(qs.get("frm"))+"&aid="+trim(qs.get("aid"));
	}
	if(qs.get("ps") != null )
	{
		url += "?ps="+trim(qs.get("ps"));
	}
	location.href=url;
}
function goToTools()
{
	if(getSearchCookie("city")!="" && getSearchCookie("city").indexOf("|") > -1) // in case of multi city...jahnvi
	{
		var arrMulCity = getSearchCookie("city").split("|");
		var arrMulState = getSearchCookie("state").split("|");
		setSearchCookie("city",arrMulCity[0]);
		setSearchCookie("state",arrMulState[0]);
		setSearchCookie("multicity","");
	}
	url = 	'/terabitzApi/finance/index.php?city='+getSearchCookie("city")+'&state='+getSearchCookie("state");
	var qs = new Querystring();
	if(qs.get("frm") != null && trim(qs.get("frm")) == 'frch' && qs.get("ouid") != null)
	{
		url += "&frm="+trim(qs.get("frm"))+"&ouid="+trim(qs.get("ouid"));
	}
	if(qs.get("frm") != null && trim(qs.get("frm")) == 'agt' && qs.get("aid") != null)
	{
		url += "&frm="+trim(qs.get("frm"))+"&aid="+trim(qs.get("aid"));
	}
	if(qs.get("ps") != null )
	{
		url += "&ps="+trim(qs.get("ps"));
	}

	location.href=url;
}


function clearChkBoxInDiv(divId)
{
        if($(divId))
		{			
			var arrChkBox = $(divId).getElementsByTagName("input");
			for(i=0;i<arrChkBox.length;i++)
			{
				if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
				{
					arrChkBox[i].checked = false;
				}
			}
        }
}

function clearCityStateMLS()
{
	removeSearchCookie("city");	
	removeSearchCookie("state");
	removeSearchCookie("mlsno");
}

// Added For Giving Alert To Registered User When It Clicks On Vendor Login Page

function redirectUser()
{
  var confirmation = confirm("All your current sessions will expire if you navigate to this page. Do u wish to continue. !!")
	if(confirmation == true)
	{
	    location.href = 'http://'+document.location.host+'/app/vendor/login.php';
	}
	else
		return false;
}

function checkInArray(fStr,serArr)
{
    for (key in serArr)
    {
        if(serArr[key] == fStr)
        return true;
    }
    return false;
}

function cmImplodeArr(arr,sep)
{
	var arrStr="";
	for(i=0;i<arr.length;i++)
	{	
		arrStr += arr[i];
		if(i<((arr.length) - 1)){arrStr += sep;}
	}
	return arrStr;
}

function cmExplodeArr(arrStr,sep)
{
	var arrSplt=Array();
	arrSplt=arrStr.split(sep);
	return arrSplt;
}

function goToToolsWithBit(bit, chkVar)
{
	url = 	'/terabitzApi/finance/index.php?city='+getSearchCookie("city")+'&state='+getSearchCookie("state");
	var qs = new Querystring();
	if(qs.get("frm") != null && trim(qs.get("frm")) == 'frch' && qs.get("ouid") != null)
	{
		url += "&frm="+trim(qs.get("frm"))+"&ouid="+trim(qs.get("ouid"));
	}
	if(qs.get("frm") != null && trim(qs.get("frm")) == 'agt' && qs.get("aid") != null)
	{
		url += "&frm="+trim(qs.get("frm"))+"&aid="+trim(qs.get("aid"));
	}
	if(qs.get("ps") != null )
	{
		url += "&ps="+trim(qs.get("ps"));
	}
	if(bit != '')
		url += "&bit="+bit+"&chkVar=" + chkVar;
	location.href=url;
}

// To set value of list box
// used on list search and property alert
function setListBoxValue (listId, listVal)
{
	if ($(listId))
	{
		for (i=0; i<$(listId).length; i++)
		{
			if ($(listId)[i].value == listVal)
			{
				$(listId).selectedIndex = i;
				break;
			}
		}	
	}
}

function setMultiselectListBoxValue (listId, listVal, separator)
{
	if (separator == null)
		separator = ",";

	if ($(listId))
	{
		listVal = separator + listVal + separator;

		for (i=0; i<$(listId).length; i++)
		{
			if (listVal.indexOf (separator + $(listId)[i].value + separator) != -1)
			{
				$(listId)[i].selected = true;
			}
		}	
	}
}

function goToMapSearchEmerge()
{
	if(getSearchCookie("polygon"))
		removePolyRelated();
	if(getSearchCookie("neighborhood") && bkTheme != 'pruone')
		removeSearchCookie("neighborhood");

	if(getSearchCookie("city") == "")
	{
		if(typeof(defCity) == "undefined")
		{
			defCity = "Baton Rouge";
			defState = "LA";
			defLat = 30.46788;
			defLng = -91.129604;
		}

		defCity = defCity.replace('%20',' ');
		setSearchCookie("city",defCity);
		setSearchCookie("state",defState);
		setSearchCookie("lat",defLat);
		setSearchCookie("lng",defLng);
	}

	if(getSearchCookie("mlsno") && getSearchCookie("mlsno") != "")
		setSearchCookie("mlsno","");

	flgPoly = true;	
	if(flgPoly)
	{
		if(getSearchCookie("lat") && getSearchCookie("lat") != "")
		{
			//DO NOTHING
		}
		else if(getCookie("latLongCk") && getCookie("latLongCk") != "")
		{
			var mainLatLng = eval(getCookie("latLongCk"))[0];
			if(mainLatLng.lat == "")
				setSearchCookie("lat",defLat);
			else
				setSearchCookie("lat",mainLatLng.lat);

			if(mainLatLng.lng == "")
				setSearchCookie("lng",defLng);
			else
				setSearchCookie("lng",mainLatLng.lng);
		}
		else
			setSearchCookie("lat",defLat);

		if(getSearchCookie("lng") && getSearchCookie("lng") != "")
		{
			//DO NOTHING
		}
		else
			setSearchCookie("lng",defLng);
			
		setSearchCookie("searchAddress","");
		var url = "";
        if(typeof(mapToShow) != "undefined" && mapToShow == "")
			url='/app/listing/singlePropertyLanding.php?status=EXP&address=,'+getSearchCookie("city")+','+getSearchCookie("state")+','+getSearchCookie("zip")+',,,,'+getSearchCookie("lat")+','+getSearchCookie("lng")+'&widgetnames=';
		else
			url='/app/listing/singlePropertyLanding.php?status=N&code=propView=1:::searchAddress='+getSearchCookie("searchAddress")+':::city='+getSearchCookie("city")+':::state='+getSearchCookie("state")+':::zip='+getSearchCookie("zip")+':::neighborhood=:::county=:::minPrice=:::maxPrice=:::searchBeds=:::searchBaths=&mapCenter=('+getSearchCookie("lat")+','+getSearchCookie("lng")+')&valChkMapSearchSelect=1&fe=&f=1&propLatitude='+getSearchCookie("lat")+'&propLongitude='+getSearchCookie("lng")+'&clrbitz=1&mapZoom=13';
  		 
		 var qs = new Querystring();
		 var ct = getSearchCookie("city");
 		 var st = getSearchCookie("state");
		 if(qs.get("frm") != null && trim(qs.get("frm")) == 'frch' && qs.get("ouid") != null)
		{
			if(mapToShow == "")
			{
				url='/app/listing/singlePropertyLanding.php?status=EXP&address=,'+getSearchCookie("city")+','+getSearchCookie("state")+','+getSearchCookie("zip")+',,,,'+getSearchCookie("lat")+','+getSearchCookie("lng")+'&widgetnames=';
				url += "&frm="+trim(qs.get("frm"))+"&ouid="+trim(qs.get("ouid"));
			}
			else
			{
				var shareURL = '&code=searchAddress='+getSearchCookie("searchAddress")+':::city='+getSearchCookie("city")+':::state='+getSearchCookie("state")+':::minPrice=:::maxPrice=:::minRent=:::maxRent=:::searchBeds=:::minSize=:::maxSize=:::searchBaths=:::searchType=:::searchSortType=:::yearFrom=:::yearTo=:::zip='+getSearchCookie("zip")+':::propView=1';
				url = 	'/app/listing/singlePropertyLanding.php?status=N' + shareURL + 'mapCenter=(' + getSearchCookie("lat") +',' +getSearchCookie("lng")+ ')&valChkMapSearchSelect=1&fe=&f=1&propLatitude=' +getSearchCookie("lat")+'&propLongitude='+getSearchCookie("lng") + '&clrbitz=1&mapZoom=13';
				url += "&frm="+trim(qs.get("frm"))+"&ouid="+trim(qs.get("ouid"));
			}
		}
		 else if(typeof(agentSiteRendering) != 'undefined' && agentSiteRendering == true)
			 url += "&frm=agt&aid="+agentId;

	
		goToMap = true;
		//ClrQckSrchCookies(); commented by dhaval
		
		setSearchCookie("city",ct);
		setSearchCookie("state",st);
		
		location.href=url;
	}
}

function goToFCLSearch()
{
	url = 	'/app/listing/foreclosureListing.php';
	/*var qs = new Querystring();
	if(qs.get("frm") != null && trim(qs.get("frm")) == 'frch' && qs.get("ouid") != null)
	{
		url += "?frm="+trim(qs.get("frm"))+"&ouid="+trim(qs.get("ouid"));
	}
	if(qs.get("frm") != null && trim(qs.get("frm")) == 'agt' && qs.get("aid") != null)
	{
		url += "?frm="+trim(qs.get("frm"))+"&aid="+trim(qs.get("aid"));
	}
	if(qs.get("ps") != null )
	{
		url += "?ps="+trim(qs.get("ps"));
	}*/
	location.href=url;
}
function mortgageApproval(from,agtid)
{	
	var url = "";
	if(typeof(from) == "undefined")
		url = '/app/listing/mortgageApproval.php';
	else if(typeof(from) != "undefined" && from == "")
		url = '/app/listing/mortgageApproval.php';
	else if(from == "agentsite")
		url = '/agentsite/mortgageApproval.php';

	var qs = '';
	
	var myQs = new Querystring(top.window.location.search.substring(1));
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");

	if(frm != null && frm == "agt" && aid != null)
		qs += "frm=agt&aid="+aid;
	else if(typeof(agtid) != "undefined" && agtid != "")
		qs += "frm=agt&aid="+agtid;

	var cbfnLoadMortApprPopup = function(reqObj)
	{
		var response = trim(reqObj.responseText);
		$("divCalcBottomLine").innerHTML = response;
	} 	
	ajaxRequest(url,qs,cbfnLoadMortApprPopup,false);	
}

function clearAllObjMortAppr()
{
	$("txtName").value = "";
	$("txtNumber").value = "";
	$("txtEmail").value = "";
	$("txtTimeToCall").value = "";
	$("cmbTimeFrame").selectedIndex = 0;
	$("txtComments").value = "";
	if($("selectRealtor")) $("selectRealtor").selectedIndex = 0;
}

function validateFieldsMortAppr()
{
	var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var phonenumber = trim($("txtNumber").value);

	if(phonenumber == "")
	{
		alert("Please enter phone no.");
		$("txtNumber").focus();
		return false;
	}
	else if(phonenumber.match(/^[ ]*[(]{0,1}[ ]*[0-9]{3,3}[ ]*[)]{0,1}[-]{0,1}[ ]*[0-9]{3,3}[ ]*[-]{0,1}[ ]*[0-9]{4,4}[ ]*$/) == null && phonenumber.match(/^[ ]*[0-9]{3,3}[ ]*[-]{0,1}[ ]*[0-9]{4,4}[ ]*$/) == null)
	{
		alert("Enter valid phone no.");
		$("txtNumber").value = "";
		$("txtNumber").focus();
		return false; 
	}
	
	if(trim($("txtEmail").value) == "")
	{
		alert("Please enter email address.");
		$("txtEmail").focus();
		return false;
	}
	else if (!filter.test(trim($("txtEmail").value)))
	{			
		alert("Enter valid email address.");
		$("txtEmail").value = "";
		$("txtEmail").focus();
		return false;
	}
	return true;
}

function sendMortAppr(aid)
{
	if(validateFieldsMortAppr())
	{
		var name = escape(trim($("txtName").value));
		var no = escape(trim($("txtNumber").value));
		var email = trim($("txtEmail").value);
		var timeToCall = escape(trim($("txtTimeToCall").value));
		var timeFrame = $("cmbTimeFrame").value;
		var comments = escape(trim($("txtComments").value));
		var realtor = "";

		if($("selectRealtor"))
			realtor = escape($("selectRealtor").value);		
		
		var qs = "op=mortgagrApproval";
		qs += "&name="+name+"&no="+no+"&email="+email+"&timeToCall="+timeToCall+"&timeFrame="+timeFrame+"&comments="+comments+"&realtor="+realtor;

		if(typeof(aid) != "undefined" && aid != "")
			qs += "&aid="+aid;

		var url = "/help/"+bkTheme+"/sendInfo.php";
		
		ajaxRequest(url,qs,function (req){
			var res = trim(req.responseText);

			if(res == "1")
				alert("Mail sent successfully.");
		},false);
		clearAllObjMortAppr();
	}
}

function isValidNumber(val){
	  if(val==null){return false;}
	  if (val.length==0){return false;}
	  var DecimalFound = false;
	  for (var i = 0; i < val.length; i++) {
			var ch = val.charAt(i);
			if (i == 0 && ch == "-") {
				  continue;
			}
			if (ch == "." && !DecimalFound) {
				  DecimalFound = true;
				  continue;
			}
			if (ch < "0" || ch > "9") {
				  return false;
			}
	  }
	  return true;
}

function funChklAllInDiv(divId,chkAllId)
{
	if($(divId))
	{
		var	arrChkBox  = $(divId).getElementsByTagName("input");
		var lenChkBox = arrChkBox.length;
		for(var i=0;i<lenChkBox;i++)
		{
			if(arrChkBox[i].id == chkAllId)
			{
				continue;
			}
			if(($(chkAllId).checked == true) && (arrChkBox[i].type == "checkbox"))
			{
				arrChkBox[i].checked = true;
			}
			else if(($(chkAllId).checked == false) && (arrChkBox[i].type == "checkbox"))
			{
				arrChkBox[i].checked = false;
			}
		}
	}
}

//ANIL - start
function openQuickSearchLink(link) {
	ClrQckSrchCookiesReloaded();
	clearDrawnMap();
	window.location.href = link;
}

function clearDrawnMap() {
	removeSearchCookie("polygon");
	removeSearchCookie("area");
}

function ClrQckSrchCookiesReloaded()
{	
	removeSearchCookie("pool");
	removeSearchCookie("fire");
	removeSearchCookie("photo");
	removeSearchCookie("garage");
	removeSearchCookie("stories");
	removeSearchCookie("fromYear");
	removeSearchCookie("spanHTML");
	removeSearchCookie("spanStyleHTML");
	removeSearchCookie("searchAddress");
	removeSearchCookie("city");
 	removeSearchCookie("state");
	removeSearchCookie("zip");
	removeSearchCookie("county");
	removeSearchCookie("neighborhood");
	removeSearchCookie("searchBeds");
	removeSearchCookie("minSize");
	removeSearchCookie("maxSize");
	removeSearchCookie("searchBaths");
	removeSearchCookie("searchType");
	removeSearchCookie("searchSortType");
	removeSearchCookie("neighborhood");
	
	// for power search
	removeSearchCookie("mlsSource");
	removeSearchCookie("propType");
	removeSearchCookie("propStatus");
	removeSearchCookie("salePriceFrom");
	removeSearchCookie("salePriceTo");
	removeSearchCookie("minPSize");
	removeSearchCookie("maxPSize");
	removeSearchCookie("ckPLFDate");
	removeSearchCookie("ckPLTDate");
	removeSearchCookie("listAgentFnm");
	removeSearchCookie("listAgentLnm");
	removeSearchCookie("minLotSize");
	removeSearchCookie("maxLotSize");
	removeSearchCookie("fromAge");
	removeSearchCookie("toAge");
	removeSearchCookie("fromYear");
	removeSearchCookie("toYear");
	removeSearchCookie("marketDaysFrom");
	removeSearchCookie("marketDaysTo");
	removeSearchCookie("garage");
	removeSearchCookie("stories");
	removeSearchCookie("eleSchool");
	removeSearchCookie("midSchool");
	removeSearchCookie("highSchool");
	removeSearchCookie("saleDateFrom");
	removeSearchCookie("saleDateTo");
	removeSearchCookie("saleAgentFnm");
	removeSearchCookie("saleAgentLnm");
	removeSearchCookie("salePriceFrom");
	removeSearchCookie("salePriceTo");
	removeSearchCookie("powerradial");
	removeSearchCookie("listagtid");
	removeSearchCookie("saleagtid");
	removeSearchCookie("listoff");
	removeSearchCookie("saleoff");
	removeSearchCookie("fire");
	removeSearchCookie("pool");
	removeSearchCookie("roof");

	removeSearchCookie("multicity");	
	removeSearchCookie("mctSpanHTML");
	removeSearchCookie("minPrice");
	removeSearchCookie("maxPrice");
	removeSearchCookie("listType");
	removeSearchCookie("propDesc");
	removeSearchCookie("ckLFDate");
	removeSearchCookie("ckLTDate");
	removeSearchCookie("mlsno");
	removeSearchCookie("nbrSpanHTML");
	removeSearchCookie("lat");
	removeSearchCookie("lng");	
	removeSearchCookie("polygon");
	removeSearchCookie("area");		
	removeSearchCookie("spanStyleHTML");
	removeSearchCookie("propStyle")
}
//Added by Kashyap on 09-12-09
function openURL(url,target)
{
	if(target == "blank")
		window.open (url);
	else
		location.href = url;
}
//End
// -- end
function getApiData(map2, city, state, nhood, lat, lng, aid)
{
	if($("apiLoading")) $("apiLoading").show();
	if(city == null || city == 'undefined') {
		city = '';
		state = '';
	}
	else if(nhood == null || nhood == 'undefined') {
		nhood = '';
	}

	if (map2 != null && typeof(map2) != 'undefined')
	{
		glatlng = map2.getCenter();

		minx = glatlng.lng()-0.05;
		miny = glatlng.lat()-0.05;
		maxx = glatlng.lng()+0.05;
		maxy = glatlng.lat()+0.05;

		lat = glatlng.lat();
		lng = glatlng.lng();
	}
	else if (typeof(lat) != 'undefined' && typeof(lng) != 'undefined')
	{
		minx = lng-0.05;
		miny = lat-0.05;
		maxx = lng+0.05;
		maxy = lat+0.05;
	}
	else
	{
		minx = 0;
		miny = 0;
		maxx = 0;
		maxy = 0;

		lat = 0;
		lng = 0;
	}

    var url = "/getApiData.php?lat="+lat+"&lng="+lng+'&minx='+minx+'&miny='+miny+'&maxx='+maxx+'&maxy='+maxy + '&city=' + city + '&state=' + state + '&nhood=' + nhood + '&aid=' + aid;
    if($("schoolratingsdiv")) $("schoolratingsdiv").innerHTML = '';
    if($("areaphotosdiv")) $("areaphotosdiv").innerHTML = '';


	new Ajax.Request(url,{onCreate: function()
		{
			if($("apiLoading")) $("apiLoading").show();
		},method:"get",
		onComplete: function(){
			if($("apiLoading")) $("apiLoading").hide();
		},
		onSuccess:function(r) {
			if($("apiDiv")) $("apiDiv").show();
			apiresp = r.responseText.evalJSON(true);
            if($("schoolratingsdiv"))  $("schoolratingsdiv").innerHTML = apiresp.schools;
            if($("areaphotosdiv"))  $("areaphotosdiv").innerHTML = apiresp.areaphotos;
	}});
}
function doGeoCode(csz,addr)
{
	var url = "/classes/getCSZ.php";
	var qs = "csz="+trim(csz)+"&address="+addr;	
    var err = false;            
    var retArray = new $H();

	ajaxRequest(url,qs,function(r)
	{      
		response = eval('(' + trim(r.responseText) + ')');
		if(response[0].status == "0")
		{			
			retArray['addr'] = response[0].address;
			retArray['city'] = response[0].city;
			retArray['state'] = response[0].state;
			retArray['zip'] = response[0].zip;
			retArray['lat'] = response[0].latitude;
			retArray['lng']= response[0].longitude;
			var latLongStr = "[{'lat':'"+retArray['lat']+"','lng':'"+retArray['lng']+"'}]";
			var now = new Date();
			now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
			setCookie("latLongCk",latLongStr,now);	
		}
		else
		{			
			if(addr != "")
				alert("Sorry, We couldn't find a location for '"+ addr+ " " +csz+"'");			
			else
				alert("Sorry, We couldn't find a location for '"+csz+"'");
                        err = true; 
		}               
	},false);
	 
	 if(err)               
		  return false;
	  else 
		return retArray;
}

function getAllChkValues(id)
{
	var table = document.getElementById(id);
	var rows = table.getElementsByTagName("input");
	var noofcomp = rows.length;
	var num = noofcomp;
	var getChkedData = "";
	for (var i=0 ; i<num ; i++ )
	{
		if(rows[i].type == 'checkbox' && rows[i].checked)
		{
			if(getChkedData)
				getChkedData += ',';
			getChkedData += rows[i].value;
		}
	}
	return getChkedData;
}

function insertGmapCall(page)
{
	var url = "/gmap_track.php";
	var qs = "ref="+page;
	ajaxRequest(url,qs,function(res) 
	{	
	},false);
}

/*../vendor/yui/SinglePropMin-YUI.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
yahoo-min.js
*/


if(typeof YAHOO=="undefined"){var YAHOO={};}
YAHOO.namespace=function(){var a=arguments,o=null,i,j,d;for(i=0;i<a.length;++i){d=a[i].split(".");o=YAHOO;for(j=(d[0]=="YAHOO")?1:0;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}
return o;};YAHOO.log=function(msg,cat,src){var l=YAHOO.widget.Logger;if(l&&l.log){return l.log(msg,cat,src);}else{return false;}};YAHOO.extend=function(subc,superc,overrides){var F=function(){};F.prototype=superc.prototype;subc.prototype=new F();subc.prototype.constructor=subc;subc.superclass=superc.prototype;if(superc.prototype.constructor==Object.prototype.constructor){superc.prototype.constructor=superc;}
if(overrides){for(var i in overrides){subc.prototype[i]=overrides[i];}}};YAHOO.augment=function(r,s){var rp=r.prototype,sp=s.prototype,a=arguments,i,p;if(a[2]){for(i=2;i<a.length;++i){rp[a[i]]=sp[a[i]];}}else{for(p in sp){if(!rp[p]){rp[p]=sp[p];}}}};YAHOO.namespace("util","widget","example");

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
even-min.js
*/


YAHOO.util.CustomEvent=function(type,oScope,silent,signature){this.type=type;this.scope=oScope||window;this.silent=silent;this.signature=signature||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}
var onsubscribeType="_YUICEOnSubscribe";if(type!==onsubscribeType){this.subscribeEvent=new YAHOO.util.CustomEvent(onsubscribeType,this,true);}};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(fn,obj,override){if(this.subscribeEvent){this.subscribeEvent.fire(fn,obj,override);}
this.subscribers.push(new YAHOO.util.Subscriber(fn,obj,override));},unsubscribe:function(fn,obj){var found=false;for(var i=0,len=this.subscribers.length;i<len;++i){var s=this.subscribers[i];if(s&&s.contains(fn,obj)){this._delete(i);found=true;}}
return found;},fire:function(){var len=this.subscribers.length;if(!len&&this.silent){return true;}
var args=[],ret=true,i;for(i=0;i<arguments.length;++i){args.push(arguments[i]);}
var argslength=args.length;if(!this.silent){}
for(i=0;i<len;++i){var s=this.subscribers[i];if(s){if(!this.silent){}
var scope=s.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var param=null;if(args.length>0){param=args[0];}
ret=s.fn.call(scope,param,s.obj);}else{ret=s.fn.call(scope,this.type,args,s.obj);}
if(false===ret){if(!this.silent){}
return false;}}}
return true;},unsubscribeAll:function(){for(var i=0,len=this.subscribers.length;i<len;++i){this._delete(len-1-i);}},_delete:function(index){var s=this.subscribers[index];if(s){delete s.fn;delete s.obj;}
this.subscribers.splice(index,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(fn,obj,override){this.fn=fn;this.obj=obj||null;this.override=override;};YAHOO.util.Subscriber.prototype.getScope=function(defaultScope){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}
return defaultScope;};YAHOO.util.Subscriber.prototype.contains=function(fn,obj){if(obj){return(this.fn==fn&&this.obj==obj);}else{return(this.fn==fn);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+(this.obj||"")+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var loadComplete=false;var listeners=[];var unloadListeners=[];var legacyEvents=[];var legacyHandlers=[];var retryCount=0;var onAvailStack=[];var legacyMap=[];var counter=0;return{POLL_RETRYS:200,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,OBJ:3,ADJ_SCOPE:4,isSafari:(/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),isIE:(!this.isSafari&&!navigator.userAgent.match(/opera/gi)&&navigator.userAgent.match(/msie/gi)),_interval:null,startInterval:function(){if(!this._interval){var self=this;var callback=function(){self._tryPreloadAttach();};this._interval=setInterval(callback,this.POLL_INTERVAL);}},onAvailable:function(p_id,p_fn,p_obj,p_override){onAvailStack.push({id:p_id,fn:p_fn,obj:p_obj,override:p_override,checkReady:false});retryCount=this.POLL_RETRYS;this.startInterval();},onContentReady:function(p_id,p_fn,p_obj,p_override){onAvailStack.push({id:p_id,fn:p_fn,obj:p_obj,override:p_override,checkReady:true});retryCount=this.POLL_RETRYS;this.startInterval();},addListener:function(el,sType,fn,obj,override){if(!fn||!fn.call){return false;}
if(this._isValidCollection(el)){var ok=true;for(var i=0,len=el.length;i<len;++i){ok=this.on(el[i],sType,fn,obj,override)&&ok;}
return ok;}else if(typeof el=="string"){var oEl=this.getEl(el);if(oEl){el=oEl;}else{this.onAvailable(el,function(){YAHOO.util.Event.on(el,sType,fn,obj,override);});return true;}}
if(!el){return false;}
if("unload"==sType&&obj!==this){unloadListeners[unloadListeners.length]=[el,sType,fn,obj,override];return true;}
var scope=el;if(override){if(override===true){scope=obj;}else{scope=override;}}
var wrappedFn=function(e){return fn.call(scope,YAHOO.util.Event.getEvent(e),obj);};var li=[el,sType,fn,wrappedFn,scope];var index=listeners.length;listeners[index]=li;if(this.useLegacyEvent(el,sType)){var legacyIndex=this.getLegacyIndex(el,sType);if(legacyIndex==-1||el!=legacyEvents[legacyIndex][0]){legacyIndex=legacyEvents.length;legacyMap[el.id+sType]=legacyIndex;legacyEvents[legacyIndex]=[el,sType,el["on"+sType]];legacyHandlers[legacyIndex]=[];el["on"+sType]=function(e){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(e),legacyIndex);};}
legacyHandlers[legacyIndex].push(li);}else{try{this._simpleAdd(el,sType,wrappedFn,false);}catch(e){this.removeListener(el,sType,fn);return false;}}
return true;},fireLegacyEvent:function(e,legacyIndex){var ok=true;var le=legacyHandlers[legacyIndex];for(var i=0,len=le.length;i<len;++i){var li=le[i];if(li&&li[this.WFN]){var scope=li[this.ADJ_SCOPE];var ret=li[this.WFN].call(scope,e);ok=(ok&&ret);}}
return ok;},getLegacyIndex:function(el,sType){var key=this.generateId(el)+sType;if(typeof legacyMap[key]=="undefined"){return-1;}else{return legacyMap[key];}},useLegacyEvent:function(el,sType){if(!el.addEventListener&&!el.attachEvent){return true;}else if(this.isSafari){if("click"==sType||"dblclick"==sType){return true;}}
return false;},removeListener:function(el,sType,fn){var i,len;if(typeof el=="string"){el=this.getEl(el);}else if(this._isValidCollection(el)){var ok=true;for(i=0,len=el.length;i<len;++i){ok=(this.removeListener(el[i],sType,fn)&&ok);}
return ok;}
if(!fn||!fn.call){return this.purgeElement(el,false,sType);}
if("unload"==sType){for(i=0,len=unloadListeners.length;i<len;i++){var li=unloadListeners[i];if(li&&li[0]==el&&li[1]==sType&&li[2]==fn){unloadListeners.splice(i,1);return true;}}
return false;}
var cacheItem=null;var index=arguments[3];if("undefined"==typeof index){index=this._getCacheIndex(el,sType,fn);}
if(index>=0){cacheItem=listeners[index];}
if(!el||!cacheItem){return false;}
if(this.useLegacyEvent(el,sType)){var legacyIndex=this.getLegacyIndex(el,sType);var llist=legacyHandlers[legacyIndex];if(llist){for(i=0,len=llist.length;i<len;++i){li=llist[i];if(li&&li[this.EL]==el&&li[this.TYPE]==sType&&li[this.FN]==fn){llist.splice(i,1);break;}}}}else{try{this._simpleRemove(el,sType,cacheItem[this.WFN],false);}catch(e){return false;}}
delete listeners[index][this.WFN];delete listeners[index][this.FN];listeners.splice(index,1);return true;},getTarget:function(ev,resolveTextNode){var t=ev.target||ev.srcElement;return this.resolveTextNode(t);},resolveTextNode:function(node){if(node&&3==node.nodeType){return node.parentNode;}else{return node;}},getPageX:function(ev){var x=ev.pageX;if(!x&&0!==x){x=ev.clientX||0;if(this.isIE){x+=this._getScrollLeft();}}
return x;},getPageY:function(ev){var y=ev.pageY;if(!y&&0!==y){y=ev.clientY||0;if(this.isIE){y+=this._getScrollTop();}}
return y;},getXY:function(ev){return[this.getPageX(ev),this.getPageY(ev)];},getRelatedTarget:function(ev){var t=ev.relatedTarget;if(!t){if(ev.type=="mouseout"){t=ev.toElement;}else if(ev.type=="mouseover"){t=ev.fromElement;}}
return this.resolveTextNode(t);},getTime:function(ev){if(!ev.time){var t=new Date().getTime();try{ev.time=t;}catch(e){return t;}}
return ev.time;},stopEvent:function(ev){this.stopPropagation(ev);this.preventDefault(ev);},stopPropagation:function(ev){if(ev.stopPropagation){ev.stopPropagation();}else{ev.cancelBubble=true;}},preventDefault:function(ev){if(ev.preventDefault){ev.preventDefault();}else{ev.returnValue=false;}},getEvent:function(e){var ev=e||window.event;if(!ev){var c=this.getEvent.caller;while(c){ev=c.arguments[0];if(ev&&Event==ev.constructor){break;}
c=c.caller;}}
return ev;},getCharCode:function(ev){return ev.charCode||ev.keyCode||0;},_getCacheIndex:function(el,sType,fn){for(var i=0,len=listeners.length;i<len;++i){var li=listeners[i];if(li&&li[this.FN]==fn&&li[this.EL]==el&&li[this.TYPE]==sType){return i;}}
return-1;},generateId:function(el){var id=el.id;if(!id){id="yuievtautoid-"+counter;++counter;el.id=id;}
return id;},_isValidCollection:function(o){return(o&&o.length&&typeof o!="string"&&!o.tagName&&!o.alert&&typeof o[0]!="undefined");},elCache:{},getEl:function(id){return document.getElementById(id);},clearCache:function(){},_load:function(e){loadComplete=true;var EU=YAHOO.util.Event;if(this.isIE){EU._simpleRemove(window,"load",EU._load);}},_tryPreloadAttach:function(){if(this.locked){return false;}
this.locked=true;var tryAgain=!loadComplete;if(!tryAgain){tryAgain=(retryCount>0);}
var notAvail=[];for(var i=0,len=onAvailStack.length;i<len;++i){var item=onAvailStack[i];if(item){var el=this.getEl(item.id);if(el){if(!item.checkReady||loadComplete||el.nextSibling||(document&&document.body)){var scope=el;if(item.override){if(item.override===true){scope=item.obj;}else{scope=item.override;}}
item.fn.call(scope,item.obj);onAvailStack[i]=null;}}else{notAvail.push(item);}}}
retryCount=(notAvail.length===0)?0:retryCount-1;if(tryAgain){this.startInterval();}else{clearInterval(this._interval);this._interval=null;}
this.locked=false;return true;},purgeElement:function(el,recurse,sType){var elListeners=this.getListeners(el,sType);if(elListeners){for(var i=0,len=elListeners.length;i<len;++i){var l=elListeners[i];this.removeListener(el,l.type,l.fn);}}
if(recurse&&el&&el.childNodes){for(i=0,len=el.childNodes.length;i<len;++i){this.purgeElement(el.childNodes[i],recurse,sType);}}},getListeners:function(el,sType){var elListeners=[];if(listeners&&listeners.length>0){for(var i=0,len=listeners.length;i<len;++i){var l=listeners[i];if(l&&l[this.EL]===el&&(!sType||sType===l[this.TYPE])){elListeners.push({type:l[this.TYPE],fn:l[this.FN],obj:l[this.OBJ],adjust:l[this.ADJ_SCOPE],index:i});}}}
return(elListeners.length)?elListeners:null;},_unload:function(e){var EU=YAHOO.util.Event,i,j,l,len,index;for(i=0,len=unloadListeners.length;i<len;++i){l=unloadListeners[i];if(l){var scope=window;if(l[EU.ADJ_SCOPE]){if(l[EU.ADJ_SCOPE]===true){scope=l[EU.OBJ];}else{scope=l[EU.ADJ_SCOPE];}}
l[EU.FN].call(scope,EU.getEvent(e),l[EU.OBJ]);unloadListeners[i]=null;l=null;scope=null;}}
unloadListeners=null;if(listeners&&listeners.length>0){j=listeners.length;while(j){index=j-1;l=listeners[index];if(l){EU.removeListener(l[EU.EL],l[EU.TYPE],l[EU.FN],index);}
j=j-1;}
l=null;EU.clearCache();}
for(i=0,len=legacyEvents.length;i<len;++i){legacyEvents[i][0]=null;legacyEvents[i]=null;}
legacyEvents=null;EU._simpleRemove(window,"unload",EU._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var dd=document.documentElement,db=document.body;if(dd&&(dd.scrollTop||dd.scrollLeft)){return[dd.scrollTop,dd.scrollLeft];}else if(db){return[db.scrollTop,db.scrollLeft];}else{return[0,0];}},_simpleAdd:function(){if(window.addEventListener){return function(el,sType,fn,capture){el.addEventListener(sType,fn,(capture));};}else if(window.attachEvent){return function(el,sType,fn,capture){el.attachEvent("on"+sType,fn);};}else{return function(){};}}(),_simpleRemove:function(){if(window.removeEventListener){return function(el,sType,fn,capture){el.removeEventListener(sType,fn,(capture));};}else if(window.detachEvent){return function(el,sType,fn){el.detachEvent("on"+sType,fn);};}else{return function(){};}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;if(document&&document.body){EU._load();}else{EU._simpleAdd(window,"load",EU._load);}
EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}
YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(p_type,p_fn,p_obj,p_override){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){ce.subscribe(p_fn,p_obj,p_override);}else{this.__yui_subscribers=this.__yui_subscribers||{};var subs=this.__yui_subscribers;if(!subs[p_type]){subs[p_type]=[];}
subs[p_type].push({fn:p_fn,obj:p_obj,override:p_override});}},unsubscribe:function(p_type,p_fn,p_obj){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){return ce.unsubscribe(p_fn,p_obj);}else{return false;}},createEvent:function(p_type,p_config){this.__yui_events=this.__yui_events||{};var opts=p_config||{};var events=this.__yui_events;if(events[p_type]){}else{var scope=opts.scope||this;var silent=opts.silent||null;var ce=new YAHOO.util.CustomEvent(p_type,scope,silent,YAHOO.util.CustomEvent.FLAT);events[p_type]=ce;if(opts.onSubscribeCallback){ce.subscribeEvent.subscribe(opts.onSubscribeCallback);}
this.__yui_subscribers=this.__yui_subscribers||{};var qs=this.__yui_subscribers[p_type];if(qs){for(var i=0;i<qs.length;++i){ce.subscribe(qs[i].fn,qs[i].obj,qs[i].override);}}}
return events[p_type];},fireEvent:function(p_type,arg1,arg2,etc){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){var args=[];for(var i=1;i<arguments.length;++i){args.push(arguments[i]);}
return ce.fire.apply(ce,args);}else{return null;}},hasEvent:function(type){if(this.__yui_events){if(this.__yui_events[type]){return true;}}
return false;}};

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
yahoo-dom-event.js
*/

(function(){var Y=YAHOO.util,getStyle,setStyle,id_counter=0,propertyCache={};var ua=navigator.userAgent.toLowerCase(),isOpera=(ua.indexOf('opera')>-1),isSafari=(ua.indexOf('safari')>-1),isGecko=(!isOpera&&!isSafari&&ua.indexOf('gecko')>-1),isIE=(!isOpera&&ua.indexOf('msie')>-1);var patterns={HYPHEN:/(-[a-z])/i};var toCamel=function(property){if(!patterns.HYPHEN.test(property)){return property;}
if(propertyCache[property]){return propertyCache[property];}
while(patterns.HYPHEN.exec(property)){property=property.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}
propertyCache[property]=property;return property;};if(document.defaultView&&document.defaultView.getComputedStyle){getStyle=function(el,property){var value=null;var computed=document.defaultView.getComputedStyle(el,'');if(computed){value=computed[toCamel(property)];}
return el.style[property]||value;};}else if(document.documentElement.currentStyle&&isIE){getStyle=function(el,property){switch(toCamel(property)){case'opacity':var val=100;try{val=el.filters['DXImageTransform.Microsoft.Alpha'].opacity;}catch(e){try{val=el.filters('alpha').opacity;}catch(e){}}
return val/100;break;default:var value=el.currentStyle?el.currentStyle[property]:null;return(el.style[property]||value);}};}else{getStyle=function(el,property){return el.style[property];};}
if(isIE){setStyle=function(el,property,val){switch(property){case'opacity':if(typeof el.style.filter=='string'){el.style.filter='alpha(opacity='+val*100+')';if(!el.currentStyle||!el.currentStyle.hasLayout){el.style.zoom=1;}}
break;default:el.style[property]=val;}};}else{setStyle=function(el,property,val){el.style[property]=val;};}
YAHOO.util.Dom={get:function(el){if(!el){return null;}
if(typeof el!='string'&&!(el instanceof Array)){return el;}
if(typeof el=='string'){return document.getElementById(el);}
else{var collection=[];for(var i=0,len=el.length;i<len;++i){collection[collection.length]=Y.Dom.get(el[i]);}
return collection;}
return null;},getStyle:function(el,property){property=toCamel(property);var f=function(element){return getStyle(element,property);};return Y.Dom.batch(el,f,Y.Dom,true);},setStyle:function(el,property,val){property=toCamel(property);var f=function(element){setStyle(element,property,val);};Y.Dom.batch(el,f,Y.Dom,true);},getXY:function(el){var f=function(el){if(el.parentNode===null||el.offsetParent===null||this.getStyle(el,'display')=='none'){return false;}
var parentNode=null;var pos=[];var box;if(el.getBoundingClientRect){box=el.getBoundingClientRect();var doc=document;if(!this.inDocument(el)&&parent.document!=document){doc=parent.document;if(!this.isAncestor(doc.documentElement,el)){return false;}}
var scrollTop=Math.max(doc.documentElement.scrollTop,doc.body.scrollTop);var scrollLeft=Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft);return[box.left+scrollLeft,box.top+scrollTop];}
else{pos=[el.offsetLeft,el.offsetTop];parentNode=el.offsetParent;if(parentNode!=el){while(parentNode){pos[0]+=parentNode.offsetLeft;pos[1]+=parentNode.offsetTop;parentNode=parentNode.offsetParent;}}
if(isSafari&&this.getStyle(el,'position')=='absolute'){pos[0]-=document.body.offsetLeft;pos[1]-=document.body.offsetTop;}}
if(el.parentNode){parentNode=el.parentNode;}
else{parentNode=null;}
while(parentNode&&parentNode.tagName.toUpperCase()!='BODY'&&parentNode.tagName.toUpperCase()!='HTML')
{if(Y.Dom.getStyle(parentNode,'display')!='inline'){pos[0]-=parentNode.scrollLeft;pos[1]-=parentNode.scrollTop;}
if(parentNode.parentNode){parentNode=parentNode.parentNode;}else{parentNode=null;}}
return pos;};return Y.Dom.batch(el,f,Y.Dom,true);},getX:function(el){var f=function(el){return Y.Dom.getXY(el)[0];};return Y.Dom.batch(el,f,Y.Dom,true);},getY:function(el){var f=function(el){return Y.Dom.getXY(el)[1];};return Y.Dom.batch(el,f,Y.Dom,true);},setXY:function(el,pos,noRetry){var f=function(el){var style_pos=this.getStyle(el,'position');if(style_pos=='static'){this.setStyle(el,'position','relative');style_pos='relative';}
var pageXY=this.getXY(el);if(pageXY===false){return false;}
var delta=[parseInt(this.getStyle(el,'left'),10),parseInt(this.getStyle(el,'top'),10)];if(isNaN(delta[0])){delta[0]=(style_pos=='relative')?0:el.offsetLeft;}
if(isNaN(delta[1])){delta[1]=(style_pos=='relative')?0:el.offsetTop;}
if(pos[0]!==null){el.style.left=pos[0]-pageXY[0]+delta[0]+'px';}
if(pos[1]!==null){el.style.top=pos[1]-pageXY[1]+delta[1]+'px';}
if(!noRetry){var newXY=this.getXY(el);if((pos[0]!==null&&newXY[0]!=pos[0])||(pos[1]!==null&&newXY[1]!=pos[1])){this.setXY(el,pos,true);}}};Y.Dom.batch(el,f,Y.Dom,true);},setX:function(el,x){Y.Dom.setXY(el,[x,null]);},setY:function(el,y){Y.Dom.setXY(el,[null,y]);},getRegion:function(el){var f=function(el){var region=new Y.Region.getRegion(el);return region;};return Y.Dom.batch(el,f,Y.Dom,true);},getClientWidth:function(){return Y.Dom.getViewportWidth();},getClientHeight:function(){return Y.Dom.getViewportHeight();},getElementsByClassName:function(className,tag,root){var method=function(el){return Y.Dom.hasClass(el,className);};return Y.Dom.getElementsBy(method,tag,root);},hasClass:function(el,className){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)');var f=function(el){return re.test(el['className']);};return Y.Dom.batch(el,f,Y.Dom,true);},addClass:function(el,className){var f=function(el){if(this.hasClass(el,className)){return;}
el['className']=[el['className'],className].join(' ');};Y.Dom.batch(el,f,Y.Dom,true);},removeClass:function(el,className){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)','g');var f=function(el){if(!this.hasClass(el,className)){return;}
var c=el['className'];el['className']=c.replace(re,' ');if(this.hasClass(el,className)){this.removeClass(el,className);}};Y.Dom.batch(el,f,Y.Dom,true);},replaceClass:function(el,oldClassName,newClassName){if(oldClassName===newClassName){return false;}
var re=new RegExp('(?:^|\\s+)'+oldClassName+'(?:\\s+|$)','g');var f=function(el){if(!this.hasClass(el,oldClassName)){this.addClass(el,newClassName);return;}
el['className']=el['className'].replace(re,' '+newClassName+' ');if(this.hasClass(el,oldClassName)){this.replaceClass(el,oldClassName,newClassName);}};Y.Dom.batch(el,f,Y.Dom,true);},generateId:function(el,prefix){prefix=prefix||'yui-gen';el=el||{};var f=function(el){if(el){el=Y.Dom.get(el);}else{el={};}
if(!el.id){el.id=prefix+id_counter++;}
return el.id;};return Y.Dom.batch(el,f,Y.Dom,true);},isAncestor:function(haystack,needle){haystack=Y.Dom.get(haystack);if(!haystack||!needle){return false;}
var f=function(needle){if(haystack.contains&&!isSafari){return haystack.contains(needle);}
else if(haystack.compareDocumentPosition){return!!(haystack.compareDocumentPosition(needle)&16);}
else{var parent=needle.parentNode;while(parent){if(parent==haystack){return true;}
else if(!parent.tagName||parent.tagName.toUpperCase()=='HTML'){return false;}
parent=parent.parentNode;}
return false;}};return Y.Dom.batch(needle,f,Y.Dom,true);},inDocument:function(el){var f=function(el){return this.isAncestor(document.documentElement,el);};return Y.Dom.batch(el,f,Y.Dom,true);},getElementsBy:function(method,tag,root){tag=tag||'*';var nodes=[];if(root){root=Y.Dom.get(root);if(!root){return nodes;}}else{root=document;}
var elements=root.getElementsByTagName(tag);if(!elements.length&&(tag=='*'&&root.all)){elements=root.all;}
for(var i=0,len=elements.length;i<len;++i){if(method(elements[i])){nodes[nodes.length]=elements[i];}}
return nodes;},batch:function(el,method,o,override){var id=el;el=Y.Dom.get(el);var scope=(override)?o:window;if(!el||el.tagName||!el.length){if(!el){return false;}
return method.call(scope,el,o);}
var collection=[];for(var i=0,len=el.length;i<len;++i){if(!el[i]){id=el[i];}
collection[collection.length]=method.call(scope,el[i],o);}
return collection;},getDocumentHeight:function(){var scrollHeight=(document.compatMode!='CSS1Compat')?document.body.scrollHeight:document.documentElement.scrollHeight;var h=Math.max(scrollHeight,Y.Dom.getViewportHeight());return h;},getDocumentWidth:function(){var scrollWidth=(document.compatMode!='CSS1Compat')?document.body.scrollWidth:document.documentElement.scrollWidth;var w=Math.max(scrollWidth,Y.Dom.getViewportWidth());return w;},getViewportHeight:function(){var height=self.innerHeight;var mode=document.compatMode;if((mode||isIE)&&!isOpera){height=(mode=='CSS1Compat')?document.documentElement.clientHeight:document.body.clientHeight;}
return height;},getViewportWidth:function(){var width=self.innerWidth;var mode=document.compatMode;if(mode||isIE){width=(mode=='CSS1Compat')?document.documentElement.clientWidth:document.body.clientWidth;}
return width;}};})();YAHOO.util.Region=function(t,r,b,l){this.top=t;this[1]=t;this.right=r;this.bottom=b;this.left=l;this[0]=l;};YAHOO.util.Region.prototype.contains=function(region){return(region.left>=this.left&&region.right<=this.right&&region.top>=this.top&&region.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(region){var t=Math.max(this.top,region.top);var r=Math.min(this.right,region.right);var b=Math.min(this.bottom,region.bottom);var l=Math.max(this.left,region.left);if(b>=t&&r>=l){return new YAHOO.util.Region(t,r,b,l);}else{return null;}};YAHOO.util.Region.prototype.union=function(region){var t=Math.min(this.top,region.top);var r=Math.max(this.right,region.right);var b=Math.max(this.bottom,region.bottom);var l=Math.min(this.left,region.left);return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(el){var p=YAHOO.util.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Point=function(x,y){if(x instanceof Array){y=x[1];x=x[0];}
this.x=this.right=this.left=this[0]=x;this.y=this.top=this.bottom=this[1]=y;};YAHOO.util.Point.prototype=new YAHOO.util.Region();


/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
connection-min.js
*/
YAHOO.util.Connect={_msxml_progid:['MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'],_http_header:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:'application/x-www-form-urlencoded',_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,setProgId:function(id)
{this._msxml_progid.unshift(id);},setDefaultPostHeader:function(b)
{this._use_default_post_header=b;},setPollingInterval:function(i)
{if(typeof i=='number'&&isFinite(i)){this._polling_interval=i;}},createXhrObject:function(transactionId)
{var obj,http;try
{http=new XMLHttpRequest();obj={conn:http,tId:transactionId};}
catch(e)
{for(var i=0;i<this._msxml_progid.length;++i){try
{http=new ActiveXObject(this._msxml_progid[i]);obj={conn:http,tId:transactionId};break;}
catch(e){}}}
finally
{return obj;}},getConnectionObject:function()
{var o;var tId=this._transaction_id;try
{o=this.createXhrObject(tId);if(o){this._transaction_id++;}}
catch(e){}
finally
{return o;}},asyncRequest:function(method,uri,callback,postData)
{var o=this.getConnectionObject();if(!o){return null;}
else{if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(o.tId,callback,uri,postData);this.releaseObject(o);return;}
if(method=='GET'){if(this._sFormData.length!=0){uri+=((uri.indexOf('?')==-1)?'?':'&')+this._sFormData;}
else{uri+="?"+this._sFormData;}}
else if(method=='POST'){postData=postData?this._sFormData+"&"+postData:this._sFormData;}}
o.conn.open(method,uri,true);if(this._isFormSubmit||(postData&&this._use_default_post_header)){this.initHeader('Content-Type',this._default_post_header);if(this._isFormSubmit){this.resetFormState();}}
if(this._has_http_headers){this.setHeader(o);}
this.handleReadyState(o,callback);o.conn.send(postData||null);return o;}},handleReadyState:function(o,callback)
{var oConn=this;if(callback&&callback.timeout){this._timeOut[o.tId]=window.setTimeout(function(){oConn.abort(o,callback,true);},callback.timeout);}
this._poll[o.tId]=window.setInterval(function(){if(o.conn&&o.conn.readyState==4){window.clearInterval(oConn._poll[o.tId]);delete oConn._poll[o.tId];if(callback&&callback.timeout){delete oConn._timeOut[o.tId];}
oConn.handleTransactionResponse(o,callback);}},this._polling_interval);},handleTransactionResponse:function(o,callback,isAbort)
{if(!callback){this.releaseObject(o);return;}
var httpStatus,responseObject;try
{if(o.conn.status!==undefined&&o.conn.status!=0){httpStatus=o.conn.status;}
else{httpStatus=13030;}}
catch(e){httpStatus=13030;}
if(httpStatus>=200&&httpStatus<300){try
{responseObject=this.createResponseObject(o,callback.argument);if(callback.success){if(!callback.scope){callback.success(responseObject);}
else{callback.success.apply(callback.scope,[responseObject]);}}}
catch(e){}}
else{try
{switch(httpStatus){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:responseObject=this.createExceptionObject(o.tId,callback.argument,(isAbort?isAbort:false));if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}
break;default:responseObject=this.createResponseObject(o,callback.argument);if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}}}
catch(e){}}
this.releaseObject(o);responseObject=null;},createResponseObject:function(o,callbackArg)
{var obj={};var headerObj={};try
{var headerStr=o.conn.getAllResponseHeaders();var header=headerStr.split('\n');for(var i=0;i<header.length;i++){var delimitPos=header[i].indexOf(':');if(delimitPos!=-1){headerObj[header[i].substring(0,delimitPos)]=header[i].substring(delimitPos+2);}}}
catch(e){}
obj.tId=o.tId;obj.status=o.conn.status;obj.statusText=o.conn.statusText;obj.getResponseHeader=headerObj;obj.getAllResponseHeaders=headerStr;obj.responseText=o.conn.responseText;obj.responseXML=o.conn.responseXML;if(typeof callbackArg!==undefined){obj.argument=callbackArg;}
return obj;},createExceptionObject:function(tId,callbackArg,isAbort)
{var COMM_CODE=0;var COMM_ERROR='communication failure';var ABORT_CODE=-1;var ABORT_ERROR='transaction aborted';var obj={};obj.tId=tId;if(isAbort){obj.status=ABORT_CODE;obj.statusText=ABORT_ERROR;}
else{obj.status=COMM_CODE;obj.statusText=COMM_ERROR;}
if(callbackArg){obj.argument=callbackArg;}
return obj;},initHeader:function(label,value)
{if(this._http_header[label]===undefined){this._http_header[label]=value;}
else{this._http_header[label]=value+","+this._http_header[label];}
this._has_http_headers=true;},setHeader:function(o)
{for(var prop in this._http_header){if(this._http_header.hasOwnProperty(prop)){o.conn.setRequestHeader(prop,this._http_header[prop]);}}
delete this._http_header;this._http_header={};this._has_http_headers=false;},setForm:function(formId,isUpload,secureUri)
{this.resetFormState();var oForm;if(typeof formId=='string'){oForm=(document.getElementById(formId)||document.forms[formId]);}
else if(typeof formId=='object'){oForm=formId;}
else{return;}
if(isUpload){this.createFrame(secureUri?secureUri:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=oForm;return;}
var oElement,oName,oValue,oDisabled;var hasSubmit=false;for(var i=0;i<oForm.elements.length;i++){oElement=oForm.elements[i];oDisabled=oForm.elements[i].disabled;oName=oForm.elements[i].name;oValue=oForm.elements[i].value;if(!oDisabled&&oName)
{switch(oElement.type)
{case'select-one':case'select-multiple':for(var j=0;j<oElement.options.length;j++){if(oElement.options[j].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].attributes['value'].specified?oElement.options[j].value:oElement.options[j].text)+'&';}
else{this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].hasAttribute('value')?oElement.options[j].value:oElement.options[j].text)+'&';}}}
break;case'radio':case'checkbox':if(oElement.checked){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';}
break;case'file':case undefined:case'reset':case'button':break;case'submit':if(hasSubmit==false){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';hasSubmit=true;}
break;default:this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';break;}}}
this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(secureUri){var frameId='yuiIO'+this._transaction_id;if(window.ActiveXObject){var io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof secureUri=='boolean'){io.src='javascript:false';}
else if(typeof secureURI=='string'){io.src=secureUri;}}
else{var io=document.createElement('iframe');io.id=frameId;io.name=frameId;}
io.style.position='absolute';io.style.top='-1000px';io.style.left='-1000px';document.body.appendChild(io);},appendPostData:function(postData)
{var formElements=[];var postMessage=postData.split('&');for(var i=0;i<postMessage.length;i++){var delimitPos=postMessage[i].indexOf('=');if(delimitPos!=-1){formElements[i]=document.createElement('input');formElements[i].type='hidden';formElements[i].name=postMessage[i].substring(0,delimitPos);formElements[i].value=postMessage[i].substring(delimitPos+1);this._formNode.appendChild(formElements[i]);}}
return formElements;},uploadFile:function(id,callback,uri,postData){var frameId='yuiIO'+id;var io=document.getElementById(frameId);this._formNode.action=uri;this._formNode.method='POST';this._formNode.target=frameId;if(this._formNode.encoding){this._formNode.encoding='multipart/form-data';}
else{this._formNode.enctype='multipart/form-data';}
if(postData){var oElements=this.appendPostData(postData);}
this._formNode.submit();if(oElements&&oElements.length>0){try
{for(var i=0;i<oElements.length;i++){this._formNode.removeChild(oElements[i]);}}
catch(e){}}
this.resetFormState();var uploadCallback=function()
{var obj={};obj.tId=id;obj.argument=callback.argument;try
{obj.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;obj.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;}
catch(e){}
if(callback.upload){if(!callback.scope){callback.upload(obj);}
else{callback.upload.apply(callback.scope,[obj]);}}
if(YAHOO.util.Event){YAHOO.util.Event.removeListener(io,"load",uploadCallback);}
else if(window.detachEvent){io.detachEvent('onload',uploadCallback);}
else{io.removeEventListener('load',uploadCallback,false);}
setTimeout(function(){document.body.removeChild(io);},100);};if(YAHOO.util.Event){YAHOO.util.Event.addListener(io,"load",uploadCallback);}
else if(window.attachEvent){io.attachEvent('onload',uploadCallback);}
else{io.addEventListener('load',uploadCallback,false);}},abort:function(o,callback,isTimeout)
{if(this.isCallInProgress(o)){o.conn.abort();window.clearInterval(this._poll[o.tId]);delete this._poll[o.tId];if(isTimeout){delete this._timeOut[o.tId];}
this.handleTransactionResponse(o,callback,true);return true;}
else{return false;}},isCallInProgress:function(o)
{if(o.conn){return o.conn.readyState!=4&&o.conn.readyState!=0;}
else{return false;}},releaseObject:function(o)
{o.conn=null;o=null;}};


/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2

tabview-min.js
*/

YAHOO.util.Lang={isArray:function(val){if(val.constructor&&val.constructor.toString().indexOf('Array')>-1){return true;}else{return YAHOO.util.Lang.isObject(val)&&val.constructor==Array;}},isBoolean:function(val){return typeof val=='boolean';},isFunction:function(val){return typeof val=='function';},isNull:function(val){return val===null;},isNumber:function(val){return!isNaN(val);},isObject:function(val){return typeof val=='object'||YAHOO.util.Lang.isFunction(val);},isString:function(val){return typeof val=='string';},isUndefined:function(val){return typeof val=='undefined';}};YAHOO.util.Attribute=function(hash,owner){if(owner){this.owner=owner;this.configure(hash,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value;},setValue:function(value,silent){var beforeRetVal;var owner=this.owner;var name=this.name;var event={type:name,prevValue:this.getValue(),newValue:value};if(this.readOnly||(this.writeOnce&&this._written)){return false;}
if(this.validator&&!this.validator.call(owner,value)){return false;}
if(!silent){beforeRetVal=owner.fireBeforeChangeEvent(event);if(beforeRetVal===false){return false;}}
if(this.method){this.method.call(owner,value);}
this.value=value;this._written=true;event.type=name;if(!silent){this.owner.fireChangeEvent(event);}
return true;},configure:function(map,init){map=map||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var key in map){if(key&&map.hasOwnProperty(key)){this[key]=map[key];if(init){this._initialConfig[key]=map[key];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig);},refresh:function(silent){this.setValue(this.value,silent);}};(function(){var Lang=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(key){var configs=this._configs||{};var config=configs[key];if(!config){return undefined;}
return config.value;},set:function(key,value,silent){var configs=this._configs||{};var config=configs[key];if(!config){return false;}
return config.setValue(value,silent);},getAttributeKeys:function(){var configs=this._configs;var keys=[];var config;for(var key in configs){config=configs[key];if(configs.hasOwnProperty(key)&&!Lang.isUndefined(config)){keys[keys.length]=key;}}
return keys;},setAttributes:function(map,silent){for(var key in map){if(map.hasOwnProperty(key)){this.set(key,map[key],silent);}}},resetValue:function(key,silent){var configs=this._configs||{};if(configs[key]){this.set(key,configs[key]._initialConfig.value,silent);return true;}
return false;},refresh:function(key,silent){var configs=this._configs;key=((Lang.isString(key))?[key]:key)||this.getAttributeKeys();for(var i=0,len=key.length;i<len;++i){if(configs[key[i]]&&!Lang.isUndefined(configs[key[i]].value)&&!Lang.isNull(configs[key[i]].value)){configs[key[i]].refresh(silent);}}},register:function(key,map){this._configs=this._configs||{};if(this._configs[key]){return false;}
map.name=key;this._configs[key]=new YAHOO.util.Attribute(map,this);return true;},getAttributeConfig:function(key){var configs=this._configs||{};var config=configs[key]||{};var map={};for(key in config){if(config.hasOwnProperty(key)){map[key]=config[key];}}
return map;},configureAttribute:function(key,map,init){var configs=this._configs||{};if(!configs[key]){return false;}
configs[key].configure(map,init);},resetAttributeConfig:function(key){var configs=this._configs||{};configs[key].resetConfig();},fireBeforeChangeEvent:function(e){var type='before';type+=e.type.charAt(0).toUpperCase()+e.type.substr(1)+'Change';e.type=type;return this.fireEvent(e.type,e);},fireChangeEvent:function(e){e.type+='Change';return this.fireEvent(e.type,e);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var Dom=YAHOO.util.Dom,Lang=YAHOO.util.Lang,EventPublisher=YAHOO.util.EventPublisher,AttributeProvider=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(el,map){if(arguments.length){this.init(el,map);}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(child){child=child.get?child.get('element'):child;this.get('element').appendChild(child);},getElementsByTagName:function(tag){return this.get('element').getElementsByTagName(tag);},hasChildNodes:function(){return this.get('element').hasChildNodes();},insertBefore:function(element,before){element=element.get?element.get('element'):element;before=(before&&before.get)?before.get('element'):before;this.get('element').insertBefore(element,before);},removeChild:function(child){child=child.get?child.get('element'):child;this.get('element').removeChild(child);return true;},replaceChild:function(newNode,oldNode){newNode=newNode.get?newNode.get('element'):newNode;oldNode=oldNode.get?oldNode.get('element'):oldNode;return this.get('element').replaceChild(newNode,oldNode);},initAttributes:function(map){map=map||{};var element=Dom.get(map.element)||null;this.register('element',{value:element,readOnly:true});},addListener:function(type,fn,obj,scope){var el=this.get('element');var scope=scope||this;el=this.get('id')||el;if(!this._events[type]){if(this.DOM_EVENTS[type]){YAHOO.util.Event.addListener(el,type,function(e){if(e.srcElement&&!e.target){e.target=e.srcElement;}
this.fireEvent(type,e);},obj,scope);}
this.createEvent(type,this);this._events[type]=true;}
this.subscribe.apply(this,arguments);},on:function(){this.addListener.apply(this,arguments);},removeListener:function(type,fn){this.unsubscribe.apply(this,arguments);},addClass:function(className){Dom.addClass(this.get('element'),className);},getElementsByClassName:function(className,tag){return Dom.getElementsByClassName(className,tag,this.get('element'));},hasClass:function(className){return Dom.hasClass(this.get('element'),className);},removeClass:function(className){return Dom.removeClass(this.get('element'),className);},replaceClass:function(oldClassName,newClassName){return Dom.replaceClass(this.get('element'),oldClassName,newClassName);},setStyle:function(property,value){return Dom.setStyle(this.get('element'),property,value);},getStyle:function(property){return Dom.getStyle(this.get('element'),property);},fireQueue:function(){var queue=this._queue;for(var i=0,len=queue.length;i<len;++i){this[queue[i][0]].apply(this,queue[i][1]);}},appendTo:function(parent,before){parent=(parent.get)?parent.get('element'):Dom.get(parent);before=(before&&before.get)?before.get('element'):Dom.get(before);var element=this.get('element');var newAddition=!Dom.inDocument(element);if(!element){return false;}
if(!parent){return false;}
if(element.parent!=parent){if(before){parent.insertBefore(element,before);}else{parent.appendChild(element);}}
if(!newAddition){return false;}
var keys=this.getAttributeKeys();for(var key in keys){if(!Lang.isUndefined(element[key])){this.refresh(key);}}},get:function(key){var configs=this._configs||{};var el=configs.element;if(el&&!configs[key]&&!Lang.isUndefined(el.value[key])){return el.value[key];}
return AttributeProvider.prototype.get.call(this,key);},set:function(key,value,silent){var el=this.get('element');if(!el){this._queue[this._queue.length]=['set',arguments];return false;}
if(!this._configs[key]&&!Lang.isUndefined(el[key])){_registerHTMLAttr.call(this,key);}
return AttributeProvider.prototype.set.apply(this,arguments);},register:function(key){var configs=this._configs||{};var element=this.get('element')||null;if(element&&!Lang.isUndefined(element[key])){return false;}
return AttributeProvider.prototype.register.apply(this,arguments);},configureAttribute:function(property,map,init){var el=this.get('element');if(!el){this._queue[this._queue.length]=['configureAttribute',arguments];return;}
if(!this._configs[property]&&!Lang.isUndefined(el[property])){_registerHTMLAttr.call(this,property,map);}
return AttributeProvider.prototype.configureAttribute.apply(this,arguments);},getAttributeKeys:function(){var el=this.get('element');var keys=AttributeProvider.prototype.getAttributeKeys.call(this);for(var key in el){if(!this._configs[key]){keys[key]=keys[key]||el[key];}}
return keys;},init:function(el,attr){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};attr=attr||{};attr.element=attr.element||el||null;this.DOM_EVENTS={'click':true,'keydown':true,'keypress':true,'keyup':true,'mousedown':true,'mousemove':true,'mouseout':true,'mouseover':true,'mouseup':true};var readyHandler=function(){this.initAttributes(attr);this.setAttributes(attr,true);this.fireQueue();this.fireEvent('contentReady',{type:'contentReady',target:attr.element});};if(Lang.isString(el)){_registerHTMLAttr.call(this,'id',{value:el});YAHOO.util.Event.onAvailable(el,function(){attr.element=Dom.get(el);this.fireEvent('available',{type:'available',target:attr.element});},this,true);YAHOO.util.Event.onContentReady(el,function(){readyHandler.call(this);},this,true);}else{readyHandler.call(this);}}};var _registerHTMLAttr=function(key,map){var el=this.get('element');map=map||{};map.name=key;map.method=map.method||function(value){el[key]=value;};map.value=map.value||el[key];this._configs[key]=new YAHOO.util.Attribute(map,this);};YAHOO.augment(YAHOO.util.Element,AttributeProvider);})();(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Lang=YAHOO.util.Lang;var Tab=function(el,attr){attr=attr||{};if(arguments.length==1&&!Lang.isString(el)&&!el.nodeName){attr=el;el=attr.element;}
if(!el&&!attr.element){el=_createTabElement.call(this,attr);}
this.loadHandler={success:function(o){this.set('content',o.responseText);},failure:function(o){}};Tab.superclass.constructor.call(this,el,attr);this.DOM_EVENTS={};};YAHOO.extend(Tab,YAHOO.util.Element);var proto=Tab.prototype;proto.LABEL_TAGNAME='em';proto.ACTIVE_CLASSNAME='selected';proto.DISABLED_CLASSNAME='disabled';proto.LOADING_CLASSNAME='loading';proto.dataConnection=null;proto.loadHandler=null;proto.toString=function(){var el=this.get('element');var id=el.id||el.tagName;return"Tab "+id;};proto.initAttributes=function(attr){attr=attr||{};Tab.superclass.initAttributes.call(this,attr);var el=this.get('element');this.register('activationEvent',{value:attr.activationEvent||'click'});this.register('labelEl',{value:attr.labelEl||_getlabelEl.call(this),method:function(value){var current=this.get('labelEl');if(current){if(current==value){return false;}
this.replaceChild(value,current);}else if(el.firstChild){this.insertBefore(value,el.firstChild);}else{this.appendChild(value);}}});this.register('label',{value:attr.label||_getLabel.call(this),method:function(value){var labelEl=this.get('labelEl');if(!labelEl){this.set('labelEl',_createlabelEl.call(this));}
_setLabel.call(this,value);}});this.register('contentEl',{value:attr.contentEl||document.createElement('div'),method:function(value){var current=this.get('contentEl');if(current){if(current==value){return false;}
this.replaceChild(value,current);}}});this.register('content',{value:attr.content,method:function(value){this.get('contentEl').innerHTML=value;}});var _dataLoaded=false;this.register('dataSrc',{value:attr.dataSrc});this.register('cacheData',{value:attr.cacheData||false,validator:Lang.isBoolean});this.register('loadMethod',{value:attr.loadMethod||'GET',validator:Lang.isString});this.register('dataLoaded',{value:false,validator:Lang.isBoolean,writeOnce:true});this.register('dataTimeout',{value:attr.dataTimeout||null,validator:Lang.isNumber});this.register('active',{value:attr.active||this.hasClass(this.ACTIVE_CLASSNAME),method:function(value){if(value===true){this.addClass(this.ACTIVE_CLASSNAME);this.set('title','active');}else{this.removeClass(this.ACTIVE_CLASSNAME);this.set('title','');}},validator:function(value){return Lang.isBoolean(value)&&!this.get('disabled');}});this.register('disabled',{value:attr.disabled||this.hasClass(this.DISABLED_CLASSNAME),method:function(value){if(value===true){Dom.addClass(this.get('element'),this.DISABLED_CLASSNAME);}else{Dom.removeClass(this.get('element'),this.DISABLED_CLASSNAME);}},validator:Lang.isBoolean});this.register('href',{value:attr.href||'#',method:function(value){this.getElementsByTagName('a')[0].href=value;},validator:Lang.isString});this.register('contentVisible',{value:attr.contentVisible,method:function(value){if(value==true){this.get('contentEl').style.display='block';if(this.get('dataSrc')){if(!this.get('dataLoaded')||!this.get('cacheData')){_dataConnect.call(this);}}}else{this.get('contentEl').style.display='none';}},validator:Lang.isBoolean});};var _createTabElement=function(attr){var el=document.createElement('li');var a=document.createElement('a');a.href=attr.href||'#';el.appendChild(a);var label=attr.label||null;var labelEl=attr.labelEl||null;if(labelEl){if(!label){label=_getLabel.call(this,labelEl);}}else{labelEl=_createlabelEl.call(this);}
a.appendChild(labelEl);return el;};var _getlabelEl=function(){return this.getElementsByTagName(this.LABEL_TAGNAME)[0];};var _createlabelEl=function(){var el=document.createElement(this.LABEL_TAGNAME);return el;};var _setLabel=function(label){var el=this.get('labelEl');el.innerHTML=label;};var _getLabel=function(){var label,el=this.get('labelEl');if(!el){return undefined;}
return el.innerHTML;};var _dataConnect=function(){if(!YAHOO.util.Connect){return false;}
Dom.addClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);this.dataConnection=YAHOO.util.Connect.asyncRequest(this.get('loadMethod'),this.get('dataSrc'),{success:function(o){this.loadHandler.success.call(this,o);this.set('dataLoaded',true);this.dataConnection=null;Dom.removeClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);},failure:function(o){this.loadHandler.failure.call(this,o);this.dataConnection=null;Dom.removeClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);},scope:this,timeout:this.get('dataTimeout')});};YAHOO.widget.Tab=Tab;})();(function(){YAHOO.widget.TabView=function(el,attr){attr=attr||{};if(arguments.length==1&&!Lang.isString(el)&&!el.nodeName){attr=el;el=attr.element||null;}
if(!el&&!attr.element){el=_createTabViewElement.call(this,attr);}
YAHOO.widget.TabView.superclass.constructor.call(this,el,attr);};YAHOO.extend(YAHOO.widget.TabView,YAHOO.util.Element);var proto=YAHOO.widget.TabView.prototype;var Dom=YAHOO.util.Dom;var Lang=YAHOO.util.Lang;var Event=YAHOO.util.Event;var Tab=YAHOO.widget.Tab;proto.CLASSNAME='yui-navset';proto.TAB_PARENT_CLASSNAME='yui-nav';proto.CONTENT_PARENT_CLASSNAME='yui-content';proto._tabParent=null;proto._contentParent=null;proto.addTab=function(tab,index){var tabs=this.get('tabs');if(!tabs){this._queue[this._queue.length]=['addTab',arguments];return false;}
index=(index===undefined)?tabs.length:index;var before=this.getTab(index);var self=this;var el=this.get('element');var tabParent=this._tabParent;var contentParent=this._contentParent;var tabElement=tab.get('element');var contentEl=tab.get('contentEl');if(before){tabParent.insertBefore(tabElement,before.get('element'));}else{tabParent.appendChild(tabElement);}
if(contentEl&&!Dom.isAncestor(contentParent,contentEl)){contentParent.appendChild(contentEl);}
if(!tab.get('active')){tab.set('contentVisible',false,true);}else{this.set('activeTab',tab,true);}
var activate=function(e){YAHOO.util.Event.preventDefault(e);self.set('activeTab',this);};tab.addListener(tab.get('activationEvent'),activate);tab.addListener('activationEventChange',function(e){if(e.prevValue!=e.newValue){tab.removeListener(e.prevValue,activate);tab.addListener(e.newValue,activate);}});tabs.splice(index,0,tab);};proto.DOMEventHandler=function(e){var el=this.get('element');var target=YAHOO.util.Event.getTarget(e);var tabParent=this._tabParent;if(Dom.isAncestor(tabParent,target)){var tabEl;var tab=null;var contentEl;var tabs=this.get('tabs');for(var i=0,len=tabs.length;i<len;i++){tabEl=tabs[i].get('element');contentEl=tabs[i].get('contentEl');if(target==tabEl||Dom.isAncestor(tabEl,target)){tab=tabs[i];break;}}
if(tab){tab.fireEvent(e.type,e);}}};proto.getTab=function(index){return this.get('tabs')[index];};proto.getTabIndex=function(tab){var index=null;var tabs=this.get('tabs');for(var i=0,len=tabs.length;i<len;++i){if(tab==tabs[i]){index=i;break;}}
return index;};proto.removeTab=function(tab){var tabCount=this.get('tabs').length;var index=this.getTabIndex(tab);var nextIndex=index+1;if(tab==this.get('activeTab')){if(tabCount>1){if(index+1==tabCount){this.set('activeIndex',index-1);}else{this.set('activeIndex',index+1);}}}
this._tabParent.removeChild(tab.get('element'));this._contentParent.removeChild(tab.get('contentEl'));this._configs.tabs.value.splice(index,1);};proto.toString=function(){var name=this.get('id')||this.get('tagName');return"TabView "+name;};proto.contentTransition=function(newTab,oldTab){newTab.set('contentVisible',true);oldTab.set('contentVisible',false);};proto.initAttributes=function(attr){YAHOO.widget.TabView.superclass.initAttributes.call(this,attr);if(!attr.orientation){attr.orientation='top';}
var el=this.get('element');this.register('tabs',{value:[],readOnly:true});this._tabParent=this.getElementsByClassName(this.TAB_PARENT_CLASSNAME,'ul')[0]||_createTabParent.call(this);this._contentParent=this.getElementsByClassName(this.CONTENT_PARENT_CLASSNAME,'div')[0]||_createContentParent.call(this);this.register('orientation',{value:attr.orientation,method:function(value){var current=this.get('orientation');this.addClass('yui-navset-'+value);if(current!=value){this.removeClass('yui-navset-'+current);}
switch(value){case'bottom':this.appendChild(this._tabParent);break;}}});this.register('activeIndex',{value:attr.activeIndex,method:function(value){this.set('activeTab',this.getTab(value));},validator:function(value){return!this.getTab(value).get('disabled');}});this.register('activeTab',{value:attr.activeTab,method:function(tab){var activeTab=this.get('activeTab');if(tab){tab.set('active',true);}
if(activeTab&&activeTab!=tab){activeTab.set('active',false);}
if(activeTab&&tab!=activeTab){this.contentTransition(tab,activeTab);}else if(tab){tab.set('contentVisible',true);}},validator:function(value){return!value.get('disabled');}});if(this._tabParent){_initTabs.call(this);}
for(var type in this.DOM_EVENTS){if(this.DOM_EVENTS.hasOwnProperty(type)){this.addListener.call(this,type,this.DOMEventHandler);}}};var _initTabs=function(){var tab,attr,contentEl;var el=this.get('element');var tabs=_getChildNodes(this._tabParent);var contentElements=_getChildNodes(this._contentParent);for(var i=0,len=tabs.length;i<len;++i){attr={};if(contentElements[i]){attr.contentEl=contentElements[i];}
tab=new YAHOO.widget.Tab(tabs[i],attr);this.addTab(tab);if(tab.hasClass(tab.ACTIVE_CLASSNAME)){this._configs.activeTab.value=tab;}}};var _createTabViewElement=function(attr){var el=document.createElement('div');if(this.CLASSNAME){el.className=this.CLASSNAME;}
return el;};var _createTabParent=function(attr){var el=document.createElement('ul');if(this.TAB_PARENT_CLASSNAME){el.className=this.TAB_PARENT_CLASSNAME;}
this.get('element').appendChild(el);return el;};var _createContentParent=function(attr){var el=document.createElement('div');if(this.CONTENT_PARENT_CLASSNAME){el.className=this.CONTENT_PARENT_CLASSNAME;}
this.get('element').appendChild(el);return el;};var _getChildNodes=function(el){var nodes=[];var childNodes=el.childNodes;for(var i=0,len=childNodes.length;i<len;++i){if(childNodes[i].nodeType==1){nodes[nodes.length]=childNodes[i];}}
return nodes;};})();



/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


(function(){var Event=YAHOO.util.Event;var Dom=YAHOO.util.Dom;YAHOO.util.DragDrop=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.util.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},onInvalidDrop:function(e){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=Dom.get(this.id);}
return this._domRef;},getDragEl:function(){return Dom.get(this.dragElId);},init:function(id,sGroup,config){this.initTarget(id,sGroup,config);Event.on(this.id,"mousedown",this.handleMouseDown,this,true);},initTarget:function(id,sGroup,config){this.config=config||{};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.id=id;this.addToGroup((sGroup)?sGroup:"default");this.handleElId=id;Event.onAvailable(id,this.handleOnAvailable,this,true);this.setDragElId(id);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(iTop,iRight,iBot,iLeft){if(!iRight&&0!==iRight){this.padding=[iTop,iTop,iTop,iTop];}else if(!iBot&&0!==iBot){this.padding=[iTop,iRight,iTop,iRight];}else{this.padding=[iTop,iRight,iBot,iLeft];}},setInitPosition:function(diffX,diffY){var el=this.getEl();if(!this.DDM.verifyEl(el)){return;}
var dx=diffX||0;var dy=diffY||0;var p=Dom.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p);},setStartPosition:function(pos){var p=pos||Dom.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=p[0];this.startPageY=p[1];},addToGroup:function(sGroup){this.groups[sGroup]=true;this.DDM.regDragDrop(this,sGroup);},removeFromGroup:function(sGroup){if(this.groups[sGroup]){delete this.groups[sGroup];}
this.DDM.removeDDFromGroup(this,sGroup);},setDragElId:function(id){this.dragElId=id;},setHandleElId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.handleElId=id;this.DDM.regHandle(this.id,id);},setOuterHandleElId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
Event.on(id,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(id);this.hasOuterHandles=true;},unreg:function(){Event.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(e,oDD){var button=e.which||e.button;if(this.primaryButtonOnly&&button>1){return;}
if(this.isLocked()){return;}
this.DDM.refreshCache(this.groups);var pt=new YAHOO.util.Point(Event.getPageX(e),Event.getPageY(e));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(pt,this)){}else{if(this.clickValidator(e)){this.setStartPosition();this.b4MouseDown(e);this.onMouseDown(e);this.DDM.handleMouseDown(e,this);this.DDM.stopEvent(e);}else{}}},clickValidator:function(e){var target=Event.getTarget(e);return(this.isValidHandleChild(target)&&(this.id==this.handleElId||this.DDM.handleWasClicked(target,this.id)));},addInvalidHandleType:function(tagName){var type=tagName.toUpperCase();this.invalidHandleTypes[type]=type;},addInvalidHandleId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.invalidHandleIds[id]=id;},addInvalidHandleClass:function(cssClass){this.invalidHandleClasses.push(cssClass);},removeInvalidHandleType:function(tagName){var type=tagName.toUpperCase();delete this.invalidHandleTypes[type];},removeInvalidHandleId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
delete this.invalidHandleIds[id];},removeInvalidHandleClass:function(cssClass){for(var i=0,len=this.invalidHandleClasses.length;i<len;++i){if(this.invalidHandleClasses[i]==cssClass){delete this.invalidHandleClasses[i];}}},isValidHandleChild:function(node){var valid=true;var nodeName;try{nodeName=node.nodeName.toUpperCase();}catch(e){nodeName=node.nodeName;}
valid=valid&&!this.invalidHandleTypes[nodeName];valid=valid&&!this.invalidHandleIds[node.id];for(var i=0,len=this.invalidHandleClasses.length;valid&&i<len;++i){valid=!Dom.hasClass(node,this.invalidHandleClasses[i]);}
return valid;},setXTicks:function(iStartX,iTickSize){this.xTicks=[];this.xTickSize=iTickSize;var tickMap={};for(var i=this.initPageX;i>=this.minX;i=i-iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageX;i<=this.maxX;i=i+iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(iStartY,iTickSize){this.yTicks=[];this.yTickSize=iTickSize;var tickMap={};for(var i=this.initPageY;i>=this.minY;i=i-iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageY;i<=this.maxY;i=i+iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(iLeft,iRight,iTickSize){this.leftConstraint=iLeft;this.rightConstraint=iRight;this.minX=this.initPageX-iLeft;this.maxX=this.initPageX+iRight;if(iTickSize){this.setXTicks(this.initPageX,iTickSize);}
this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(iUp,iDown,iTickSize){this.topConstraint=iUp;this.bottomConstraint=iDown;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+iDown;if(iTickSize){this.setYTicks(this.initPageY,iTickSize);}
this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy);}else{this.setInitPosition();}
if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}
if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(val,tickArray){if(!tickArray){return val;}else if(tickArray[0]>=val){return tickArray[0];}else{for(var i=0,len=tickArray.length;i<len;++i){var next=i+1;if(tickArray[next]&&tickArray[next]>=val){var diff1=val-tickArray[i];var diff2=tickArray[next]-val;return(diff2>diff1)?tickArray[i]:tickArray[next];}}
return tickArray[tickArray.length-1];}},toString:function(){return("DragDrop "+this.id);}};})();if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var Event=YAHOO.util.Event;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initalized:false,locked:false,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(sMethod,args){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue;}
oDD[sMethod].apply(oDD,args);}}},_onLoad:function(){this.init();Event.on(document,"mouseup",this.handleMouseUp,this,true);Event.on(document,"mousemove",this.handleMouseMove,this,true);Event.on(window,"unload",this._onUnload,this,true);Event.on(window,"resize",this._onResize,this,true);},_onResize:function(e){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(oDD,sGroup){if(!this.initialized){this.init();}
if(!this.ids[sGroup]){this.ids[sGroup]={};}
this.ids[sGroup][oDD.id]=oDD;},removeDDFromGroup:function(oDD,sGroup){if(!this.ids[sGroup]){this.ids[sGroup]={};}
var obj=this.ids[sGroup];if(obj&&obj[oDD.id]){delete obj[oDD.id];}},_remove:function(oDD){for(var g in oDD.groups){if(g&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id];}}
delete this.handleIds[oDD.id];},regHandle:function(sDDId,sHandleId){if(!this.handleIds[sDDId]){this.handleIds[sDDId]={};}
this.handleIds[sDDId][sHandleId]=sHandleId;},isDragDrop:function(id){return(this.getDDById(id))?true:false;},getRelated:function(p_oDD,bTargetsOnly){var oDDs=[];for(var i in p_oDD.groups){for(j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue;}
if(!bTargetsOnly||dd.isTarget){oDDs[oDDs.length]=dd;}}}
return oDDs;},isLegalTarget:function(oDD,oTargetDD){var targets=this.getRelated(oDD,true);for(var i=0,len=targets.length;i<len;++i){if(targets[i].id==oTargetDD.id){return true;}}
return false;},isTypeOfDD:function(oDD){return(oDD&&oDD.__ygDragDrop);},isHandle:function(sDDId,sHandleId){return(this.handleIds[sDDId]&&this.handleIds[sDDId][sHandleId]);},getDDById:function(id){for(var i in this.ids){if(this.ids[i][id]){return this.ids[i][id];}}
return null;},handleMouseDown:function(e,oDD){this.currentTarget=YAHOO.util.Event.getTarget(e);this.dragCurrent=oDD;var el=oDD.getEl();this.startX=YAHOO.util.Event.getPageX(e);this.startY=YAHOO.util.Event.getPageY(e);this.deltaX=this.startX-el.offsetLeft;this.deltaY=this.startY-el.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var DDM=YAHOO.util.DDM;DDM.startDrag(DDM.startX,DDM.startY);},this.clickTimeThresh);},startDrag:function(x,y){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(x,y);this.dragCurrent.startDrag(x,y);}
this.dragThreshMet=true;},handleMouseUp:function(e){if(!this.dragCurrent){return;}
clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(e,true);}else{}
this.stopDrag(e);this.stopEvent(e);},stopEvent:function(e){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(e);}
if(this.preventDefault){YAHOO.util.Event.preventDefault(e);}},stopDrag:function(e){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(e);this.dragCurrent.endDrag(e);}
this.dragCurrent.onMouseUp(e);}
this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(e){if(!this.dragCurrent){return true;}
if(YAHOO.util.Event.isIE&&!e.button){this.stopEvent(e);return this.handleMouseUp(e);}
if(!this.dragThreshMet){var diffX=Math.abs(this.startX-YAHOO.util.Event.getPageX(e));var diffY=Math.abs(this.startY-YAHOO.util.Event.getPageY(e));if(diffX>this.clickPixelThresh||diffY>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}
if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);this.fireEvents(e,false);}
this.stopEvent(e);return true;},fireEvents:function(e,isDrop){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return;}
var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);var pt=new YAHOO.util.Point(x,y);var oldOvers=[];var outEvts=[];var overEvts=[];var dropEvts=[];var enterEvts=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue;}
if(!this.isOverTarget(pt,ddo,this.mode)){outEvts.push(ddo);}
oldOvers[i]=true;delete this.dragOvers[i];}
for(var sGroup in dc.groups){if("string"!=typeof sGroup){continue;}
for(i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(!this.isTypeOfDD(oDD)){continue;}
if(oDD.isTarget&&!oDD.isLocked()&&oDD!=dc){if(this.isOverTarget(pt,oDD,this.mode)){if(isDrop){dropEvts.push(oDD);}else{if(!oldOvers[oDD.id]){enterEvts.push(oDD);}else{overEvts.push(oDD);}
this.dragOvers[oDD.id]=oDD;}}}}}
if(this.mode){if(outEvts.length){dc.b4DragOut(e,outEvts);dc.onDragOut(e,outEvts);}
if(enterEvts.length){dc.onDragEnter(e,enterEvts);}
if(overEvts.length){dc.b4DragOver(e,overEvts);dc.onDragOver(e,overEvts);}
if(dropEvts.length){dc.b4DragDrop(e,dropEvts);dc.onDragDrop(e,dropEvts);}}else{var len=0;for(i=0,len=outEvts.length;i<len;++i){dc.b4DragOut(e,outEvts[i].id);dc.onDragOut(e,outEvts[i].id);}
for(i=0,len=enterEvts.length;i<len;++i){dc.onDragEnter(e,enterEvts[i].id);}
for(i=0,len=overEvts.length;i<len;++i){dc.b4DragOver(e,overEvts[i].id);dc.onDragOver(e,overEvts[i].id);}
for(i=0,len=dropEvts.length;i<len;++i){dc.b4DragDrop(e,dropEvts[i].id);dc.onDragDrop(e,dropEvts[i].id);}}
if(isDrop&&!dropEvts.length){dc.onInvalidDrop(e);}},getBestMatch:function(dds){var winner=null;var len=dds.length;if(len==1){winner=dds[0];}else{for(var i=0;i<len;++i){var dd=dds[i];if(this.mode==this.INTERSECT&&dd.cursorIsOver){winner=dd;break;}else{if(!winner||!winner.overlap||(dd.overlap&&winner.overlap.getArea()<dd.overlap.getArea())){winner=dd;}}}}
return winner;},refreshCache:function(groups){for(var sGroup in groups){if("string"!=typeof sGroup){continue;}
for(var i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(this.isTypeOfDD(oDD)){var loc=this.getLocation(oDD);if(loc){this.locationCache[oDD.id]=loc;}else{delete this.locationCache[oDD.id];}}}}},verifyEl:function(el){try{if(el){var parent=el.offsetParent;if(parent){return true;}}}catch(e){}
return false;},getLocation:function(oDD){if(!this.isTypeOfDD(oDD)){return null;}
var el=oDD.getEl(),pos,x1,x2,y1,y2,t,r,b,l;try{pos=YAHOO.util.Dom.getXY(el);}catch(e){}
if(!pos){return null;}
x1=pos[0];x2=x1+el.offsetWidth;y1=pos[1];y2=y1+el.offsetHeight;t=y1-oDD.padding[0];r=x2+oDD.padding[1];b=y2+oDD.padding[2];l=x1-oDD.padding[3];return new YAHOO.util.Region(t,r,b,l);},isOverTarget:function(pt,oTarget,intersect){var loc=this.locationCache[oTarget.id];if(!loc||!this.useCache){loc=this.getLocation(oTarget);this.locationCache[oTarget.id]=loc;}
if(!loc){return false;}
oTarget.cursorIsOver=loc.contains(pt);var dc=this.dragCurrent;if(!dc||!dc.getTargetCoord||(!intersect&&!dc.constrainX&&!dc.constrainY)){return oTarget.cursorIsOver;}
oTarget.overlap=null;var pos=dc.getTargetCoord(pt.x,pt.y);var el=dc.getDragEl();var curRegion=new YAHOO.util.Region(pos.y,pos.x+el.offsetWidth,pos.y+el.offsetHeight,pos.x);var overlap=curRegion.intersect(loc);if(overlap){oTarget.overlap=overlap;return(intersect)?true:oTarget.cursorIsOver;}else{return false;}},_onUnload:function(e,me){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}
this._execOnAll("unreg",[]);for(i in this.elementCache){delete this.elementCache[i];}
this.elementCache={};this.ids={};},elementCache:{},getElWrapper:function(id){var oWrapper=this.elementCache[id];if(!oWrapper||!oWrapper.el){oWrapper=this.elementCache[id]=new this.ElementWrapper(YAHOO.util.Dom.get(id));}
return oWrapper;},getElement:function(id){return YAHOO.util.Dom.get(id);},getCss:function(id){var el=YAHOO.util.Dom.get(id);return(el)?el.style:null;},ElementWrapper:function(el){this.el=el||null;this.id=this.el&&el.id;this.css=this.el&&el.style;},getPosX:function(el){return YAHOO.util.Dom.getX(el);},getPosY:function(el){return YAHOO.util.Dom.getY(el);},swapNode:function(n1,n2){if(n1.swapNode){n1.swapNode(n2);}else{var p=n2.parentNode;var s=n2.nextSibling;if(s==n1){p.insertBefore(n1,n2);}else if(n2==n1.nextSibling){p.insertBefore(n2,n1);}else{n1.parentNode.replaceChild(n2,n1);p.insertBefore(n1,s);}}},getScroll:function(){var t,l,dde=document.documentElement,db=document.body;if(dde&&(dde.scrollTop||dde.scrollLeft)){t=dde.scrollTop;l=dde.scrollLeft;}else if(db){t=db.scrollTop;l=db.scrollLeft;}else{YAHOO.log("could not get scroll property");}
return{top:t,left:l};},getStyle:function(el,styleProp){return YAHOO.util.Dom.getStyle(el,styleProp);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(moveEl,targetEl){var aCoord=YAHOO.util.Dom.getXY(targetEl);YAHOO.util.Dom.setXY(moveEl,aCoord);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(a,b){return(a-b);},_timeoutCount:0,_addListeners:function(){var DDM=YAHOO.util.DDM;if(YAHOO.util.Event&&document){DDM._onLoad();}else{if(DDM._timeoutCount>2000){}else{setTimeout(DDM._addListeners,10);if(document&&document.body){DDM._timeoutCount+=1;}}}},handleWasClicked:function(node,id){if(this.isHandle(id,node.id)){return true;}else{var p=node.parentNode;while(p){if(this.isHandle(id,p.id)){return true;}else{p=p.parentNode;}}}
return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}
YAHOO.util.DD=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(iPageX,iPageY){var x=iPageX-this.startPageX;var y=iPageY-this.startPageY;this.setDelta(x,y);},setDelta:function(iDeltaX,iDeltaY){this.deltaX=iDeltaX;this.deltaY=iDeltaY;},setDragElPos:function(iPageX,iPageY){var el=this.getDragEl();this.alignElWithMouse(el,iPageX,iPageY);},alignElWithMouse:function(el,iPageX,iPageY){var oCoord=this.getTargetCoord(iPageX,iPageY);if(!this.deltaSetXY){var aCoord=[oCoord.x,oCoord.y];YAHOO.util.Dom.setXY(el,aCoord);var newLeft=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var newTop=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);this.deltaSetXY=[newLeft-oCoord.x,newTop-oCoord.y];}else{YAHOO.util.Dom.setStyle(el,"left",(oCoord.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(el,"top",(oCoord.y+this.deltaSetXY[1])+"px");}
this.cachePosition(oCoord.x,oCoord.y);this.autoScroll(oCoord.x,oCoord.y,el.offsetHeight,el.offsetWidth);},cachePosition:function(iPageX,iPageY){if(iPageX){this.lastPageX=iPageX;this.lastPageY=iPageY;}else{var aCoord=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=aCoord[0];this.lastPageY=aCoord[1];}},autoScroll:function(x,y,h,w){if(this.scroll){var clientH=this.DDM.getClientHeight();var clientW=this.DDM.getClientWidth();var st=this.DDM.getScrollTop();var sl=this.DDM.getScrollLeft();var bot=h+y;var right=w+x;var toBot=(clientH+st-y-this.deltaY);var toRight=(clientW+sl-x-this.deltaX);var thresh=40;var scrAmt=(document.all)?80:30;if(bot>clientH&&toBot<thresh){window.scrollTo(sl,st+scrAmt);}
if(y<st&&st>0&&y-st<thresh){window.scrollTo(sl,st-scrAmt);}
if(right>clientW&&toRight<thresh){window.scrollTo(sl+scrAmt,st);}
if(x<sl&&sl>0&&x-sl<thresh){window.scrollTo(sl-scrAmt,st);}}},getTargetCoord:function(iPageX,iPageY){var x=iPageX-this.deltaX;var y=iPageY-this.deltaY;if(this.constrainX){if(x<this.minX){x=this.minX;}
if(x>this.maxX){x=this.maxX;}}
if(this.constrainY){if(y<this.minY){y=this.minY;}
if(y>this.maxY){y=this.maxY;}}
x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y};},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(e){this.autoOffset(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},b4Drag:function(e){this.setDragElPos(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(id,sGroup,config){if(id){this.init(id,sGroup,config);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var self=this;var body=document.body;if(!body||!body.firstChild){setTimeout(function(){self.createFrame();},50);return;}
var div=this.getDragEl();if(!div){div=document.createElement("div");div.id=this.dragElId;var s=div.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;body.insertBefore(div,body.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(iPageX,iPageY){var el=this.getEl();var dragEl=this.getDragEl();var s=dragEl.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2));}
this.setDragElPos(iPageX,iPageY);YAHOO.util.Dom.setStyle(dragEl,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var DOM=YAHOO.util.Dom;var el=this.getEl();var dragEl=this.getDragEl();var bt=parseInt(DOM.getStyle(dragEl,"borderTopWidth"),10);var br=parseInt(DOM.getStyle(dragEl,"borderRightWidth"),10);var bb=parseInt(DOM.getStyle(dragEl,"borderBottomWidth"),10);var bl=parseInt(DOM.getStyle(dragEl,"borderLeftWidth"),10);if(isNaN(bt)){bt=0;}
if(isNaN(br)){br=0;}
if(isNaN(bb)){bb=0;}
if(isNaN(bl)){bl=0;}
var newWidth=Math.max(0,el.offsetWidth-br-bl);var newHeight=Math.max(0,el.offsetHeight-bt-bb);DOM.setStyle(dragEl,"width",newWidth+"px");DOM.setStyle(dragEl,"height",newHeight+"px");}},b4MouseDown:function(e){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.autoOffset(x,y);this.setDragElPos(x,y);},b4StartDrag:function(x,y){this.showFrame(x,y);},b4EndDrag:function(e){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(e){var DOM=YAHOO.util.Dom;var lel=this.getEl();var del=this.getDragEl();DOM.setStyle(del,"visibility","");DOM.setStyle(lel,"visibility","hidden");YAHOO.util.DDM.moveToEl(lel,del);DOM.setStyle(del,"visibility","hidden");DOM.setStyle(lel,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(id,sGroup,config){if(id){this.initTarget(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});



/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
container-min.js
*/

YAHOO.util.Config=function(owner){if(owner){this.init(owner);}};YAHOO.util.Config.prototype={owner:null,queueInProgress:false,checkBoolean:function(val){if(typeof val=='boolean'){return true;}else{return false;}},checkNumber:function(val){if(isNaN(val)){return false;}else{return true;}}};YAHOO.util.Config.prototype.init=function(owner){this.owner=owner;this.configChangedEvent=new YAHOO.util.CustomEvent("configChanged");this.queueInProgress=false;var config={};var initialConfig={};var eventQueue=[];var fireEvent=function(key,value){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){property.event.fire(value);}};this.addProperty=function(key,propertyObject){key=key.toLowerCase();config[key]=propertyObject;propertyObject.event=new YAHOO.util.CustomEvent(key);propertyObject.key=key;if(propertyObject.handler){propertyObject.event.subscribe(propertyObject.handler,this.owner,true);}
this.setProperty(key,propertyObject.value,true);if(!propertyObject.suppressEvent){this.queueProperty(key,propertyObject.value);}};this.getConfig=function(){var cfg={};for(var prop in config){var property=config[prop];if(typeof property!='undefined'&&property.event){cfg[prop]=property.value;}}
return cfg;};this.getProperty=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){return property.value;}else{return undefined;}};this.resetProperty=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(initialConfig[key]&&initialConfig[key]!='undefined'){this.setProperty(key,initialConfig[key]);}
return true;}else{return false;}};this.setProperty=function(key,value,silent){key=key.toLowerCase();if(this.queueInProgress&&!silent){this.queueProperty(key,value);return true;}else{var property=config[key];if(typeof property!='undefined'&&property.event){if(property.validator&&!property.validator(value)){return false;}else{property.value=value;if(!silent){fireEvent(key,value);this.configChangedEvent.fire([key,value]);}
return true;}}else{return false;}}};this.queueProperty=function(key,value){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(typeof value!='undefined'&&property.validator&&!property.validator(value)){return false;}else{if(typeof value!='undefined'){property.value=value;}else{value=property.value;}
var foundDuplicate=false;for(var i=0;i<eventQueue.length;i++){var queueItem=eventQueue[i];if(queueItem){var queueItemKey=queueItem[0];var queueItemValue=queueItem[1];if(queueItemKey.toLowerCase()==key){eventQueue[i]=null;eventQueue.push([key,(typeof value!='undefined'?value:queueItemValue)]);foundDuplicate=true;break;}}}
if(!foundDuplicate&&typeof value!='undefined'){eventQueue.push([key,value]);}}
if(property.supercedes){for(var s=0;s<property.supercedes.length;s++){var supercedesCheck=property.supercedes[s];for(var q=0;q<eventQueue.length;q++){var queueItemCheck=eventQueue[q];if(queueItemCheck){var queueItemCheckKey=queueItemCheck[0];var queueItemCheckValue=queueItemCheck[1];if(queueItemCheckKey.toLowerCase()==supercedesCheck.toLowerCase()){eventQueue.push([queueItemCheckKey,queueItemCheckValue]);eventQueue[q]=null;break;}}}}}
return true;}else{return false;}};this.refireEvent=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event&&typeof property.value!='undefined'){if(this.queueInProgress){this.queueProperty(key);}else{fireEvent(key,property.value);}}};this.applyConfig=function(userConfig,init){if(init){initialConfig=userConfig;}
for(var prop in userConfig){this.queueProperty(prop,userConfig[prop]);}};this.refresh=function(){for(var prop in config){this.refireEvent(prop);}};this.fireQueue=function(){this.queueInProgress=true;for(var i=0;i<eventQueue.length;i++){var queueItem=eventQueue[i];if(queueItem){var key=queueItem[0];var value=queueItem[1];var property=config[key];property.value=value;fireEvent(key,value);}}
this.queueInProgress=false;eventQueue=[];};this.subscribeToConfigEvent=function(key,handler,obj,override){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(!YAHOO.util.Config.alreadySubscribed(property.event,handler,obj)){property.event.subscribe(handler,obj,override);}
return true;}else{return false;}};this.unsubscribeFromConfigEvent=function(key,handler,obj){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){return property.event.unsubscribe(handler,obj);}else{return false;}};this.toString=function(){var output="Config";if(this.owner){output+=" ["+this.owner.toString()+"]";}
return output;};this.outputEventQueue=function(){var output="";for(var q=0;q<eventQueue.length;q++){var queueItem=eventQueue[q];if(queueItem){output+=queueItem[0]+"="+queueItem[1]+", ";}}
return output;};};YAHOO.util.Config.alreadySubscribed=function(evt,fn,obj){for(var e=0;e<evt.subscribers.length;e++){var subsc=evt.subscribers[e];if(subsc&&subsc.obj==obj&&subsc.fn==fn){return true;}}
return false;};YAHOO.widget.Module=function(el,userConfig){if(el){this.init(el,userConfig);}};YAHOO.widget.Module.IMG_ROOT="http://us.i1.yimg.com/us.yimg.com/i/";YAHOO.widget.Module.IMG_ROOT_SSL="https://a248.e.akamai.net/sec.yimg.com/i/";YAHOO.widget.Module.CSS_MODULE="module";YAHOO.widget.Module.CSS_HEADER="hd";YAHOO.widget.Module.CSS_BODY="bd";YAHOO.widget.Module.CSS_FOOTER="ft";YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL="javascript:false;";YAHOO.widget.Module.textResizeEvent=new YAHOO.util.CustomEvent("textResize");YAHOO.widget.Module.prototype={constructor:YAHOO.widget.Module,element:null,header:null,body:null,footer:null,id:null,imageRoot:YAHOO.widget.Module.IMG_ROOT,initEvents:function(){this.beforeInitEvent=new YAHOO.util.CustomEvent("beforeInit");this.initEvent=new YAHOO.util.CustomEvent("init");this.appendEvent=new YAHOO.util.CustomEvent("append");this.beforeRenderEvent=new YAHOO.util.CustomEvent("beforeRender");this.renderEvent=new YAHOO.util.CustomEvent("render");this.changeHeaderEvent=new YAHOO.util.CustomEvent("changeHeader");this.changeBodyEvent=new YAHOO.util.CustomEvent("changeBody");this.changeFooterEvent=new YAHOO.util.CustomEvent("changeFooter");this.changeContentEvent=new YAHOO.util.CustomEvent("changeContent");this.destroyEvent=new YAHOO.util.CustomEvent("destroy");this.beforeShowEvent=new YAHOO.util.CustomEvent("beforeShow");this.showEvent=new YAHOO.util.CustomEvent("show");this.beforeHideEvent=new YAHOO.util.CustomEvent("beforeHide");this.hideEvent=new YAHOO.util.CustomEvent("hide");},platform:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1){return"windows";}else if(ua.indexOf("macintosh")!=-1){return"mac";}else{return false;}}(),browser:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('opera')!=-1){return'opera';}else if(ua.indexOf('msie 7')!=-1){return'ie7';}else if(ua.indexOf('msie')!=-1){return'ie';}else if(ua.indexOf('safari')!=-1){return'safari';}else if(ua.indexOf('gecko')!=-1){return'gecko';}else{return false;}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty("visible",{value:true,handler:this.configVisible,validator:this.cfg.checkBoolean});this.cfg.addProperty("effect",{suppressEvent:true,supercedes:["visible"]});this.cfg.addProperty("monitorresize",{value:true,handler:this.configMonitorResize});},init:function(el,userConfig){this.initEvents();this.beforeInitEvent.fire(YAHOO.widget.Module);this.cfg=new YAHOO.util.Config(this);if(this.isSecure){this.imageRoot=YAHOO.widget.Module.IMG_ROOT_SSL;}
if(typeof el=="string"){var elId=el;el=document.getElementById(el);if(!el){el=document.createElement("DIV");el.id=elId;}}
this.element=el;if(el.id){this.id=el.id;}
var childNodes=this.element.childNodes;if(childNodes){for(var i=0;i<childNodes.length;i++){var child=childNodes[i];switch(child.className){case YAHOO.widget.Module.CSS_HEADER:this.header=child;break;case YAHOO.widget.Module.CSS_BODY:this.body=child;break;case YAHOO.widget.Module.CSS_FOOTER:this.footer=child;break;}}}
this.initDefaultConfig();YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Module.CSS_MODULE);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}
this.initEvent.fire(YAHOO.widget.Module);},initResizeMonitor:function(){if(this.browser!="opera"){var resizeMonitor=document.getElementById("_yuiResizeMonitor");if(!resizeMonitor){resizeMonitor=document.createElement("iframe");var bIE=(this.browser.indexOf("ie")===0);if(this.isSecure&&YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL&&bIE){resizeMonitor.src=YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL;}
resizeMonitor.id="_yuiResizeMonitor";resizeMonitor.style.visibility="hidden";document.body.appendChild(resizeMonitor);resizeMonitor.style.width="10em";resizeMonitor.style.height="10em";resizeMonitor.style.position="absolute";var nLeft=-1*resizeMonitor.offsetWidth,nTop=-1*resizeMonitor.offsetHeight;resizeMonitor.style.top=nTop+"px";resizeMonitor.style.left=nLeft+"px";resizeMonitor.style.borderStyle="none";resizeMonitor.style.borderWidth="0";YAHOO.util.Dom.setStyle(resizeMonitor,"opacity","0");resizeMonitor.style.visibility="visible";if(!bIE){var doc=resizeMonitor.contentWindow.document;doc.open();doc.close();}}
var fireTextResize=function(){YAHOO.widget.Module.textResizeEvent.fire();};if(resizeMonitor&&resizeMonitor.contentWindow){this.resizeMonitor=resizeMonitor;YAHOO.widget.Module.textResizeEvent.subscribe(this.onDomResize,this,true);if(!YAHOO.widget.Module.textResizeInitialized){if(!YAHOO.util.Event.addListener(this.resizeMonitor.contentWindow,"resize",fireTextResize)){YAHOO.util.Event.addListener(this.resizeMonitor,"resize",fireTextResize);}
YAHOO.widget.Module.textResizeInitialized=true;}}}},onDomResize:function(e,obj){var nLeft=-1*this.resizeMonitor.offsetWidth,nTop=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=nTop+"px";this.resizeMonitor.style.left=nLeft+"px";},setHeader:function(headerContent){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
if(typeof headerContent=="string"){this.header.innerHTML=headerContent;}else{this.header.innerHTML="";this.header.appendChild(headerContent);}
this.changeHeaderEvent.fire(headerContent);this.changeContentEvent.fire();},appendToHeader:function(element){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
this.header.appendChild(element);this.changeHeaderEvent.fire(element);this.changeContentEvent.fire();},setBody:function(bodyContent){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
if(typeof bodyContent=="string")
{this.body.innerHTML=bodyContent;}else{this.body.innerHTML="";this.body.appendChild(bodyContent);}
this.changeBodyEvent.fire(bodyContent);this.changeContentEvent.fire();},appendToBody:function(element){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
this.body.appendChild(element);this.changeBodyEvent.fire(element);this.changeContentEvent.fire();},setFooter:function(footerContent){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
if(typeof footerContent=="string"){this.footer.innerHTML=footerContent;}else{this.footer.innerHTML="";this.footer.appendChild(footerContent);}
this.changeFooterEvent.fire(footerContent);this.changeContentEvent.fire();},appendToFooter:function(element){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
this.footer.appendChild(element);this.changeFooterEvent.fire(element);this.changeContentEvent.fire();},render:function(appendToNode,moduleElement){this.beforeRenderEvent.fire();if(!moduleElement){moduleElement=this.element;}
var me=this;var appendTo=function(element){if(typeof element=="string"){element=document.getElementById(element);}
if(element){element.appendChild(me.element);me.appendEvent.fire();}};if(appendToNode){appendTo(appendToNode);}else{if(!YAHOO.util.Dom.inDocument(this.element)){return false;}}
if(this.header&&!YAHOO.util.Dom.inDocument(this.header)){var firstChild=moduleElement.firstChild;if(firstChild){moduleElement.insertBefore(this.header,firstChild);}else{moduleElement.appendChild(this.header);}}
if(this.body&&!YAHOO.util.Dom.inDocument(this.body)){if(this.footer&&YAHOO.util.Dom.isAncestor(this.moduleElement,this.footer)){moduleElement.insertBefore(this.body,this.footer);}else{moduleElement.appendChild(this.body);}}
if(this.footer&&!YAHOO.util.Dom.inDocument(this.footer)){moduleElement.appendChild(this.footer);}
this.renderEvent.fire();return true;},destroy:function(){var parent;if(this.element){YAHOO.util.Event.purgeElement(this.element,true);parent=this.element.parentNode;}
if(parent){parent.removeChild(this.element);}
this.element=null;this.header=null;this.body=null;this.footer=null;for(var e in this){if(e instanceof YAHOO.util.CustomEvent){e.unsubscribeAll();}}
YAHOO.widget.Module.textResizeEvent.unsubscribe(this.onDomResize,this);this.destroyEvent.fire();},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(type,args,obj){var visible=args[0];if(visible){this.beforeShowEvent.fire();YAHOO.util.Dom.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();YAHOO.util.Dom.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(type,args,obj){var monitor=args[0];if(monitor){this.initResizeMonitor();}else{YAHOO.widget.Module.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}}};YAHOO.widget.Module.prototype.toString=function(){return"Module "+this.id;};YAHOO.widget.Overlay=function(el,userConfig){YAHOO.widget.Overlay.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Overlay,YAHOO.widget.Module);YAHOO.widget.Overlay.IFRAME_SRC="javascript:false;";YAHOO.widget.Overlay.TOP_LEFT="tl";YAHOO.widget.Overlay.TOP_RIGHT="tr";YAHOO.widget.Overlay.BOTTOM_LEFT="bl";YAHOO.widget.Overlay.BOTTOM_RIGHT="br";YAHOO.widget.Overlay.CSS_OVERLAY="overlay";YAHOO.widget.Overlay.prototype.init=function(el,userConfig){YAHOO.widget.Overlay.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Overlay);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Overlay.CSS_OVERLAY);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(this.platform=="mac"&&this.browser=="gecko"){if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}
this.initEvent.fire(YAHOO.widget.Overlay);};YAHOO.widget.Overlay.prototype.initEvents=function(){YAHOO.widget.Overlay.superclass.initEvents.call(this);this.beforeMoveEvent=new YAHOO.util.CustomEvent("beforeMove",this);this.moveEvent=new YAHOO.util.CustomEvent("move",this);};YAHOO.widget.Overlay.prototype.initDefaultConfig=function(){YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this);this.cfg.addProperty("x",{handler:this.configX,validator:this.cfg.checkNumber,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("y",{handler:this.configY,validator:this.cfg.checkNumber,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("xy",{handler:this.configXY,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("context",{handler:this.configContext,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("fixedcenter",{value:false,handler:this.configFixedCenter,validator:this.cfg.checkBoolean,supercedes:["iframe","visible"]});this.cfg.addProperty("width",{handler:this.configWidth,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("height",{handler:this.configHeight,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("zIndex",{value:null,handler:this.configzIndex});this.cfg.addProperty("constraintoviewport",{value:false,handler:this.configConstrainToViewport,validator:this.cfg.checkBoolean,supercedes:["iframe","x","y","xy"]});this.cfg.addProperty("iframe",{value:(this.browser=="ie"?true:false),handler:this.configIframe,validator:this.cfg.checkBoolean,supercedes:["zIndex"]});};YAHOO.widget.Overlay.prototype.moveTo=function(x,y){this.cfg.setProperty("xy",[x,y]);};YAHOO.widget.Overlay.prototype.hideMacGeckoScrollbars=function(){YAHOO.util.Dom.removeClass(this.element,"show-scrollbars");YAHOO.util.Dom.addClass(this.element,"hide-scrollbars");};YAHOO.widget.Overlay.prototype.showMacGeckoScrollbars=function(){YAHOO.util.Dom.removeClass(this.element,"hide-scrollbars");YAHOO.util.Dom.addClass(this.element,"show-scrollbars");};YAHOO.widget.Overlay.prototype.configVisible=function(type,args,obj){var visible=args[0];var currentVis=YAHOO.util.Dom.getStyle(this.element,"visibility");if(currentVis=="inherit"){var e=this.element.parentNode;while(e.nodeType!=9&&e.nodeType!=11){currentVis=YAHOO.util.Dom.getStyle(e,"visibility");if(currentVis!="inherit"){break;}
e=e.parentNode;}
if(currentVis=="inherit"){currentVis="visible";}}
var effect=this.cfg.getProperty("effect");var effectInstances=[];if(effect){if(effect instanceof Array){for(var i=0;i<effect.length;i++){var eff=effect[i];effectInstances[effectInstances.length]=eff.effect(this,eff.duration);}}else{effectInstances[effectInstances.length]=effect.effect(this,effect.duration);}}
var isMacGecko=(this.platform=="mac"&&this.browser=="gecko");if(visible){if(isMacGecko){this.showMacGeckoScrollbars();}
if(effect){if(visible){if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();for(var j=0;j<effectInstances.length;j++){var ei=effectInstances[j];if(j===0&&!YAHOO.util.Config.alreadySubscribed(ei.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){ei.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}
ei.animateIn();}}}}else{if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();YAHOO.util.Dom.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(isMacGecko){this.hideMacGeckoScrollbars();}
if(effect){if(currentVis=="visible"){this.beforeHideEvent.fire();for(var k=0;k<effectInstances.length;k++){var h=effectInstances[k];if(k===0&&!YAHOO.util.Config.alreadySubscribed(h.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){h.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}
h.animateOut();}}else if(currentVis===""){YAHOO.util.Dom.setStyle(this.element,"visibility","hidden");}}else{if(currentVis=="visible"||currentVis===""){this.beforeHideEvent.fire();YAHOO.util.Dom.setStyle(this.element,"visibility","hidden");this.cfg.refireEvent("iframe");this.hideEvent.fire();}}}};YAHOO.widget.Overlay.prototype.doCenterOnDOMEvent=function(){if(this.cfg.getProperty("visible")){this.center();}};YAHOO.widget.Overlay.prototype.configFixedCenter=function(type,args,obj){var val=args[0];if(val){this.center();if(!YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent,this.doCenterOnDOMEvent,this)){YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.doCenterOnDOMEvent,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowScrollEvent,this.doCenterOnDOMEvent,this)){YAHOO.widget.Overlay.windowScrollEvent.subscribe(this.doCenterOnDOMEvent,this,true);}}else{YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);}};YAHOO.widget.Overlay.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.configzIndex=function(type,args,obj){var zIndex=args[0];var el=this.element;if(!zIndex){zIndex=YAHOO.util.Dom.getStyle(el,"zIndex");if(!zIndex||isNaN(zIndex)){zIndex=0;}}
if(this.iframe){if(zIndex<=0){zIndex=1;}
YAHOO.util.Dom.setStyle(this.iframe,"zIndex",(zIndex-1));}
YAHOO.util.Dom.setStyle(el,"zIndex",zIndex);this.cfg.setProperty("zIndex",zIndex,true);};YAHOO.widget.Overlay.prototype.configXY=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];this.cfg.setProperty("x",x);this.cfg.setProperty("y",y);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.configX=function(type,args,obj){var x=args[0];var y=this.cfg.getProperty("y");this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setX(this.element,x,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.configY=function(type,args,obj){var x=this.cfg.getProperty("x");var y=args[0];this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setY(this.element,y,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.showIframe=function(){if(this.iframe){this.iframe.style.display="block";}};YAHOO.widget.Overlay.prototype.hideIframe=function(){if(this.iframe){this.iframe.style.display="none";}};YAHOO.widget.Overlay.prototype.configIframe=function(type,args,obj){var val=args[0];if(val){if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showIframe,this)){this.showEvent.subscribe(this.showIframe,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideIframe,this)){this.hideEvent.subscribe(this.hideIframe,this,true);}
var x=this.cfg.getProperty("x");var y=this.cfg.getProperty("y");if(!x||!y){this.syncPosition();x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");}
if(!isNaN(x)&&!isNaN(y)){if(!this.iframe){this.iframe=document.createElement("iframe");if(this.isSecure){this.iframe.src=YAHOO.widget.Overlay.IFRAME_SRC;}
var parent=this.element.parentNode;if(parent){parent.appendChild(this.iframe);}else{document.body.appendChild(this.iframe);}
YAHOO.util.Dom.setStyle(this.iframe,"position","absolute");YAHOO.util.Dom.setStyle(this.iframe,"border","none");YAHOO.util.Dom.setStyle(this.iframe,"margin","0");YAHOO.util.Dom.setStyle(this.iframe,"padding","0");YAHOO.util.Dom.setStyle(this.iframe,"opacity","0");if(this.cfg.getProperty("visible")){this.showIframe();}else{this.hideIframe();}}
var iframeDisplay=YAHOO.util.Dom.getStyle(this.iframe,"display");if(iframeDisplay=="none"){this.iframe.style.display="block";}
YAHOO.util.Dom.setXY(this.iframe,[x,y]);var width=this.element.clientWidth;var height=this.element.clientHeight;YAHOO.util.Dom.setStyle(this.iframe,"width",(width+2)+"px");YAHOO.util.Dom.setStyle(this.iframe,"height",(height+2)+"px");if(iframeDisplay=="none"){this.iframe.style.display="none";}}}else{if(this.iframe){this.iframe.style.display="none";}
this.showEvent.unsubscribe(this.showIframe,this);this.hideEvent.unsubscribe(this.hideIframe,this);}};YAHOO.widget.Overlay.prototype.configConstrainToViewport=function(type,args,obj){var val=args[0];if(val){if(!YAHOO.util.Config.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}}else{this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}};YAHOO.widget.Overlay.prototype.configContext=function(type,args,obj){var contextArgs=args[0];if(contextArgs){var contextEl=contextArgs[0];var elementMagnetCorner=contextArgs[1];var contextMagnetCorner=contextArgs[2];if(contextEl){if(typeof contextEl=="string"){this.cfg.setProperty("context",[document.getElementById(contextEl),elementMagnetCorner,contextMagnetCorner],true);}
if(elementMagnetCorner&&contextMagnetCorner){this.align(elementMagnetCorner,contextMagnetCorner);}}}};YAHOO.widget.Overlay.prototype.align=function(elementAlign,contextAlign){var contextArgs=this.cfg.getProperty("context");if(contextArgs){var context=contextArgs[0];var element=this.element;var me=this;if(!elementAlign){elementAlign=contextArgs[1];}
if(!contextAlign){contextAlign=contextArgs[2];}
if(element&&context){var elementRegion=YAHOO.util.Dom.getRegion(element);var contextRegion=YAHOO.util.Dom.getRegion(context);var doAlign=function(v,h){switch(elementAlign){case YAHOO.widget.Overlay.TOP_LEFT:me.moveTo(h,v);break;case YAHOO.widget.Overlay.TOP_RIGHT:me.moveTo(h-element.offsetWidth,v);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:me.moveTo(h,v-element.offsetHeight);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:me.moveTo(h-element.offsetWidth,v-element.offsetHeight);break;}};switch(contextAlign){case YAHOO.widget.Overlay.TOP_LEFT:doAlign(contextRegion.top,contextRegion.left);break;case YAHOO.widget.Overlay.TOP_RIGHT:doAlign(contextRegion.top,contextRegion.right);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:doAlign(contextRegion.bottom,contextRegion.left);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:doAlign(contextRegion.bottom,contextRegion.right);break;}}}};YAHOO.widget.Overlay.prototype.enforceConstraints=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];var offsetHeight=this.element.offsetHeight;var offsetWidth=this.element.offsetWidth;var viewPortWidth=YAHOO.util.Dom.getViewportWidth();var viewPortHeight=YAHOO.util.Dom.getViewportHeight();var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;var topConstraint=scrollY+10;var leftConstraint=scrollX+10;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-10;var rightConstraint=scrollX+viewPortWidth-offsetWidth-10;if(x<leftConstraint){x=leftConstraint;}else if(x>rightConstraint){x=rightConstraint;}
if(y<topConstraint){y=topConstraint;}else if(y>bottomConstraint){y=bottomConstraint;}
this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.cfg.setProperty("xy",[x,y],true);};YAHOO.widget.Overlay.prototype.center=function(){var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;var viewPortWidth=YAHOO.util.Dom.getClientWidth();var viewPortHeight=YAHOO.util.Dom.getClientHeight();var elementWidth=this.element.offsetWidth;var elementHeight=this.element.offsetHeight;var x=(viewPortWidth/2)-(elementWidth/2)+scrollX;var y=(viewPortHeight/2)-(elementHeight/2)+scrollY;this.cfg.setProperty("xy",[parseInt(x,10),parseInt(y,10)]);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.syncPosition=function(){var pos=YAHOO.util.Dom.getXY(this.element);this.cfg.setProperty("x",pos[0],true);this.cfg.setProperty("y",pos[1],true);this.cfg.setProperty("xy",pos,true);};YAHOO.widget.Overlay.prototype.onDomResize=function(e,obj){YAHOO.widget.Overlay.superclass.onDomResize.call(this,e,obj);var me=this;setTimeout(function(){me.syncPosition();me.cfg.refireEvent("iframe");me.cfg.refireEvent("context");},0);};YAHOO.widget.Overlay.prototype.destroy=function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}
this.iframe=null;YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.superclass.destroy.call(this);};YAHOO.widget.Overlay.prototype.toString=function(){return"Overlay "+this.id;};YAHOO.widget.Overlay.windowScrollEvent=new YAHOO.util.CustomEvent("windowScroll");YAHOO.widget.Overlay.windowResizeEvent=new YAHOO.util.CustomEvent("windowResize");YAHOO.widget.Overlay.windowScrollHandler=function(e){if(YAHOO.widget.Module.prototype.browser=="ie"||YAHOO.widget.Module.prototype.browser=="ie7"){if(!window.scrollEnd){window.scrollEnd=-1;}
clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){YAHOO.widget.Overlay.windowScrollEvent.fire();},1);}else{YAHOO.widget.Overlay.windowScrollEvent.fire();}};YAHOO.widget.Overlay.windowResizeHandler=function(e){if(YAHOO.widget.Module.prototype.browser=="ie"||YAHOO.widget.Module.prototype.browser=="ie7"){if(!window.resizeEnd){window.resizeEnd=-1;}
clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){YAHOO.widget.Overlay.windowResizeEvent.fire();},100);}else{YAHOO.widget.Overlay.windowResizeEvent.fire();}};YAHOO.widget.Overlay._initialized=null;if(YAHOO.widget.Overlay._initialized===null){YAHOO.util.Event.addListener(window,"scroll",YAHOO.widget.Overlay.windowScrollHandler);YAHOO.util.Event.addListener(window,"resize",YAHOO.widget.Overlay.windowResizeHandler);YAHOO.widget.Overlay._initialized=true;}
YAHOO.widget.OverlayManager=function(userConfig){this.init(userConfig);};YAHOO.widget.OverlayManager.CSS_FOCUSED="focused";YAHOO.widget.OverlayManager.prototype={constructor:YAHOO.widget.OverlayManager,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(userConfig){this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.fireQueue();var activeOverlay=null;this.getActive=function(){return activeOverlay;};this.focus=function(overlay){var o=this.find(overlay);if(o){this.blurAll();activeOverlay=o;YAHOO.util.Dom.addClass(activeOverlay.element,YAHOO.widget.OverlayManager.CSS_FOCUSED);this.overlays.sort(this.compareZIndexDesc);var topZIndex=YAHOO.util.Dom.getStyle(this.overlays[0].element,"zIndex");if(!isNaN(topZIndex)&&this.overlays[0]!=overlay){activeOverlay.cfg.setProperty("zIndex",(parseInt(topZIndex,10)+2));}
this.overlays.sort(this.compareZIndexDesc);}};this.remove=function(overlay){var o=this.find(overlay);if(o){var originalZ=YAHOO.util.Dom.getStyle(o.element,"zIndex");o.cfg.setProperty("zIndex",-1000,true);this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,this.overlays.length-1);o.cfg.setProperty("zIndex",originalZ,true);o.cfg.setProperty("manager",null);o.focusEvent=null;o.blurEvent=null;o.focus=null;o.blur=null;}};this.blurAll=function(){activeOverlay=null;for(var o=0;o<this.overlays.length;o++){YAHOO.util.Dom.removeClass(this.overlays[o].element,YAHOO.widget.OverlayManager.CSS_FOCUSED);}};var overlays=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}
if(overlays){this.register(overlays);this.overlays.sort(this.compareZIndexDesc);}},register:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){overlay.cfg.addProperty("manager",{value:this});overlay.focusEvent=new YAHOO.util.CustomEvent("focus");overlay.blurEvent=new YAHOO.util.CustomEvent("blur");var mgr=this;overlay.focus=function(){mgr.focus(this);this.focusEvent.fire();};overlay.blur=function(){mgr.blurAll();this.blurEvent.fire();};var focusOnDomEvent=function(e,obj){overlay.focus();};var focusevent=this.cfg.getProperty("focusevent");YAHOO.util.Event.addListener(overlay.element,focusevent,focusOnDomEvent,this,true);var zIndex=YAHOO.util.Dom.getStyle(overlay.element,"zIndex");if(!isNaN(zIndex)){overlay.cfg.setProperty("zIndex",parseInt(zIndex,10));}else{overlay.cfg.setProperty("zIndex",0);}
this.overlays.push(overlay);return true;}else if(overlay instanceof Array){var regcount=0;for(var i=0;i<overlay.length;i++){if(this.register(overlay[i])){regcount++;}}
if(regcount>0){return true;}}else{return false;}},find:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){for(var o=0;o<this.overlays.length;o++){if(this.overlays[o]==overlay){return this.overlays[o];}}}else if(typeof overlay=="string"){for(var p=0;p<this.overlays.length;p++){if(this.overlays[p].id==overlay){return this.overlays[p];}}}
return null;},compareZIndexDesc:function(o1,o2){var zIndex1=o1.cfg.getProperty("zIndex");var zIndex2=o2.cfg.getProperty("zIndex");if(zIndex1>zIndex2){return-1;}else if(zIndex1<zIndex2){return 1;}else{return 0;}},showAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].show();}},hideAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].hide();}},toString:function(){return"OverlayManager";}};YAHOO.util.KeyListener=function(attachTo,keyData,handler,event){if(!event){event=YAHOO.util.KeyListener.KEYDOWN;}
var keyEvent=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof attachTo=='string'){attachTo=document.getElementById(attachTo);}
if(typeof handler=='function'){keyEvent.subscribe(handler);}else{keyEvent.subscribe(handler.fn,handler.scope,handler.correctScope);}
function handleKeyPress(e,obj){if(!keyData.shift){keyData.shift=false;}
if(!keyData.alt){keyData.alt=false;}
if(!keyData.ctrl){keyData.ctrl=false;}
if(e.shiftKey==keyData.shift&&e.altKey==keyData.alt&&e.ctrlKey==keyData.ctrl){var dataItem;var keyPressed;if(keyData.keys instanceof Array){for(var i=0;i<keyData.keys.length;i++){dataItem=keyData.keys[i];if(dataItem==e.charCode){keyEvent.fire(e.charCode,e);break;}else if(dataItem==e.keyCode){keyEvent.fire(e.keyCode,e);break;}}}else{dataItem=keyData.keys;if(dataItem==e.charCode){keyEvent.fire(e.charCode,e);}else if(dataItem==e.keyCode){keyEvent.fire(e.keyCode,e);}}}}
this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(attachTo,event,handleKeyPress);this.enabledEvent.fire(keyData);}
this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(attachTo,event,handleKeyPress);this.disabledEvent.fire(keyData);}
this.enabled=false;};this.toString=function(){return"KeyListener ["+keyData.keys+"] "+attachTo.tagName+(attachTo.id?"["+attachTo.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.widget.Tooltip=function(el,userConfig){YAHOO.widget.Tooltip.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Tooltip,YAHOO.widget.Overlay);YAHOO.widget.Tooltip.CSS_TOOLTIP="tt";YAHOO.widget.Tooltip.prototype.init=function(el,userConfig){if(document.readyState&&document.readyState!="complete"){var deferredInit=function(){this.init(el,userConfig);};YAHOO.util.Event.addListener(window,"load",deferredInit,this,true);}else{YAHOO.widget.Tooltip.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Tooltip);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Tooltip.CSS_TOOLTIP);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.render(this.cfg.getProperty("container"));this.initEvent.fire(YAHOO.widget.Tooltip);}};YAHOO.widget.Tooltip.prototype.initDefaultConfig=function(){YAHOO.widget.Tooltip.superclass.initDefaultConfig.call(this);this.cfg.addProperty("preventoverlap",{value:true,validator:this.cfg.checkBoolean,supercedes:["x","y","xy"]});this.cfg.addProperty("showdelay",{value:200,handler:this.configShowDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("autodismissdelay",{value:5000,handler:this.configAutoDismissDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("hidedelay",{value:250,handler:this.configHideDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("text",{handler:this.configText,suppressEvent:true});this.cfg.addProperty("container",{value:document.body,handler:this.configContainer});};YAHOO.widget.Tooltip.prototype.configText=function(type,args,obj){var text=args[0];if(text){this.setBody(text);}};YAHOO.widget.Tooltip.prototype.configContainer=function(type,args,obj){var container=args[0];if(typeof container=='string'){this.cfg.setProperty("container",document.getElementById(container),true);}};YAHOO.widget.Tooltip.prototype.configContext=function(type,args,obj){var context=args[0];if(context){if(!(context instanceof Array)){if(typeof context=="string"){this.cfg.setProperty("context",[document.getElementById(context)],true);}else{this.cfg.setProperty("context",[context],true);}
context=this.cfg.getProperty("context");}
if(this._context){for(var c=0;c<this._context.length;++c){var el=this._context[c];YAHOO.util.Event.removeListener(el,"mouseover",this.onContextMouseOver);YAHOO.util.Event.removeListener(el,"mousemove",this.onContextMouseMove);YAHOO.util.Event.removeListener(el,"mouseout",this.onContextMouseOut);}}
this._context=context;for(var d=0;d<this._context.length;++d){var el2=this._context[d];YAHOO.util.Event.addListener(el2,"mouseover",this.onContextMouseOver,this);YAHOO.util.Event.addListener(el2,"mousemove",this.onContextMouseMove,this);YAHOO.util.Event.addListener(el2,"mouseout",this.onContextMouseOut,this);}}};YAHOO.widget.Tooltip.prototype.onContextMouseMove=function(e,obj){obj.pageX=YAHOO.util.Event.getPageX(e);obj.pageY=YAHOO.util.Event.getPageY(e);};YAHOO.widget.Tooltip.prototype.onContextMouseOver=function(e,obj){if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
var context=this;YAHOO.util.Event.addListener(context,"mousemove",obj.onContextMouseMove,obj);if(context.title){obj._tempTitle=context.title;context.title="";}
obj.showProcId=obj.doShow(e,context);};YAHOO.widget.Tooltip.prototype.onContextMouseOut=function(e,obj){var el=this;if(obj._tempTitle){el.title=obj._tempTitle;obj._tempTitle=null;}
if(obj.showProcId){clearTimeout(obj.showProcId);obj.showProcId=null;}
if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
obj.hideProcId=setTimeout(function(){obj.hide();},obj.cfg.getProperty("hidedelay"));};YAHOO.widget.Tooltip.prototype.doShow=function(e,context){var yOffset=25;if(this.browser=="opera"&&context.tagName=="A"){yOffset+=12;}
var me=this;return setTimeout(function(){if(me._tempTitle){me.setBody(me._tempTitle);}else{me.cfg.refireEvent("text");}
me.moveTo(me.pageX,me.pageY+yOffset);if(me.cfg.getProperty("preventoverlap")){me.preventOverlap(me.pageX,me.pageY);}
YAHOO.util.Event.removeListener(context,"mousemove",me.onContextMouseMove);me.show();me.hideProcId=me.doHide();},this.cfg.getProperty("showdelay"));};YAHOO.widget.Tooltip.prototype.doHide=function(){var me=this;return setTimeout(function(){me.hide();},this.cfg.getProperty("autodismissdelay"));};YAHOO.widget.Tooltip.prototype.preventOverlap=function(pageX,pageY){var height=this.element.offsetHeight;var elementRegion=YAHOO.util.Dom.getRegion(this.element);elementRegion.top-=5;elementRegion.left-=5;elementRegion.right+=5;elementRegion.bottom+=5;var mousePoint=new YAHOO.util.Point(pageX,pageY);if(elementRegion.contains(mousePoint)){this.cfg.setProperty("y",(pageY-height-5));}};YAHOO.widget.Tooltip.prototype.toString=function(){return"Tooltip "+this.id;};YAHOO.widget.Panel=function(el,userConfig){YAHOO.widget.Panel.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Panel,YAHOO.widget.Overlay);YAHOO.widget.Panel.CSS_PANEL="panel";YAHOO.widget.Panel.CSS_PANEL_CONTAINER="panel-container";YAHOO.widget.Panel.prototype.init=function(el,userConfig){YAHOO.widget.Panel.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Panel);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Panel.CSS_PANEL);this.buildWrapper();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.beforeRenderEvent.subscribe(function(){var draggable=this.cfg.getProperty("draggable");if(draggable){if(!this.header){this.setHeader("&#160;");}}},this,true);var me=this;var doBlur=function(){this.blur();};this.showMaskEvent.subscribe(function(){var checkFocusable=function(el){if((el.tagName=="A"||el.tagName=="BUTTON"||el.tagName=="SELECT"||el.tagName=="INPUT"||el.tagName=="TEXTAREA")&&el.type!="hidden"){if(!YAHOO.util.Dom.isAncestor(me.element,el)){YAHOO.util.Event.addListener(el,"focus",doBlur,el,true);return true;}}else{return false;}};this.focusableElements=YAHOO.util.Dom.getElementsBy(checkFocusable);},this,true);this.hideMaskEvent.subscribe(function(){for(var i=0;i<this.focusableElements.length;i++){var el2=this.focusableElements[i];YAHOO.util.Event.removeListener(el2,"focus",doBlur);}},this,true);this.beforeShowEvent.subscribe(function(){this.cfg.refireEvent("underlay");},this,true);this.initEvent.fire(YAHOO.widget.Panel);};YAHOO.widget.Panel.prototype.initEvents=function(){YAHOO.widget.Panel.superclass.initEvents.call(this);this.showMaskEvent=new YAHOO.util.CustomEvent("showMask");this.hideMaskEvent=new YAHOO.util.CustomEvent("hideMask");this.dragEvent=new YAHOO.util.CustomEvent("drag");};YAHOO.widget.Panel.prototype.initDefaultConfig=function(){YAHOO.widget.Panel.superclass.initDefaultConfig.call(this);this.cfg.addProperty("close",{value:true,handler:this.configClose,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("draggable",{value:true,handler:this.configDraggable,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("underlay",{value:"shadow",handler:this.configUnderlay,supercedes:["visible"]});this.cfg.addProperty("modal",{value:false,handler:this.configModal,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("keylisteners",{handler:this.configKeyListeners,suppressEvent:true,supercedes:["visible"]});};YAHOO.widget.Panel.prototype.configClose=function(type,args,obj){var val=args[0];var doHide=function(e,obj){obj.hide();};if(val){if(!this.close){this.close=document.createElement("DIV");YAHOO.util.Dom.addClass(this.close,"close");if(this.isSecure){YAHOO.util.Dom.addClass(this.close,"secure");}else{YAHOO.util.Dom.addClass(this.close,"nonsecure");}
this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);YAHOO.util.Event.addListener(this.close,"click",doHide,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}};YAHOO.widget.Panel.prototype.configDraggable=function(type,args,obj){var val=args[0];if(val){if(this.header){YAHOO.util.Dom.setStyle(this.header,"cursor","move");this.registerDragDrop();}}else{if(this.dd){this.dd.unreg();}
if(this.header){YAHOO.util.Dom.setStyle(this.header,"cursor","auto");}}};YAHOO.widget.Panel.prototype.configUnderlay=function(type,args,obj){var val=args[0];switch(val.toLowerCase()){case"shadow":YAHOO.util.Dom.removeClass(this.element,"matte");YAHOO.util.Dom.addClass(this.element,"shadow");if(!this.underlay){this.underlay=document.createElement("DIV");this.underlay.className="underlay";this.underlay.innerHTML="&#160;";this.element.appendChild(this.underlay);}
this.sizeUnderlay();break;case"matte":YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.addClass(this.element,"matte");break;default:YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.removeClass(this.element,"matte");break;}};YAHOO.widget.Panel.prototype.configModal=function(type,args,obj){var modal=args[0];if(modal){this.buildMask();if(!YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent,this.showMask,this)){this.beforeShowEvent.subscribe(this.showMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMask,this)){this.hideEvent.subscribe(this.hideMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent,this.sizeMask,this)){YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.sizeMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.destroyEvent,this.removeMask,this)){this.destroyEvent.subscribe(this.removeMask,this,true);}
this.cfg.refireEvent("zIndex");}else{this.beforeShowEvent.unsubscribe(this.showMask,this);this.hideEvent.unsubscribe(this.hideMask,this);YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.sizeMask,this);this.destroyEvent.unsubscribe(this.removeMask,this);}};YAHOO.widget.Panel.prototype.removeMask=function(){if(this.mask){if(this.mask.parentNode){this.mask.parentNode.removeChild(this.mask);}
this.mask=null;}};YAHOO.widget.Panel.prototype.configKeyListeners=function(type,args,obj){var listeners=args[0];if(listeners){if(listeners instanceof Array){for(var i=0;i<listeners.length;i++){var listener=listeners[i];if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,listener.enable,listener)){this.showEvent.subscribe(listener.enable,listener,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,listener.disable,listener)){this.hideEvent.subscribe(listener.disable,listener,true);this.destroyEvent.subscribe(listener.disable,listener,true);}}}else{if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,listeners.enable,listeners)){this.showEvent.subscribe(listeners.enable,listeners,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,listeners.disable,listeners)){this.hideEvent.subscribe(listeners.disable,listeners,true);this.destroyEvent.subscribe(listeners.disable,listeners,true);}}}};YAHOO.widget.Panel.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");};YAHOO.widget.Panel.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");};YAHOO.widget.Panel.prototype.configzIndex=function(type,args,obj){YAHOO.widget.Panel.superclass.configzIndex.call(this,type,args,obj);var maskZ=0;var currentZ=YAHOO.util.Dom.getStyle(this.element,"zIndex");if(this.mask){if(!currentZ||isNaN(currentZ)){currentZ=0;}
if(currentZ===0){this.cfg.setProperty("zIndex",1);}else{maskZ=currentZ-1;YAHOO.util.Dom.setStyle(this.mask,"zIndex",maskZ);}}};YAHOO.widget.Panel.prototype.buildWrapper=function(){var elementParent=this.element.parentNode;var originalElement=this.element;var wrapper=document.createElement("DIV");wrapper.className=YAHOO.widget.Panel.CSS_PANEL_CONTAINER;wrapper.id=originalElement.id+"_c";if(elementParent){elementParent.insertBefore(wrapper,originalElement);}
wrapper.appendChild(originalElement);this.element=wrapper;this.innerElement=originalElement;YAHOO.util.Dom.setStyle(this.innerElement,"visibility","inherit");};YAHOO.widget.Panel.prototype.sizeUnderlay=function(){if(this.underlay&&this.browser!="gecko"&&this.browser!="safari"){this.underlay.style.width=this.innerElement.offsetWidth+"px";this.underlay.style.height=this.innerElement.offsetHeight+"px";}};YAHOO.widget.Panel.prototype.onDomResize=function(e,obj){YAHOO.widget.Panel.superclass.onDomResize.call(this,e,obj);var me=this;setTimeout(function(){me.sizeUnderlay();},0);};YAHOO.widget.Panel.prototype.registerDragDrop=function(){if(this.header){this.dd=new YAHOO.util.DD(this.element.id,this.id);if(!this.header.id){this.header.id=this.id+"_h";}
var me=this;this.dd.startDrag=function(){if(me.browser=="ie"){YAHOO.util.Dom.addClass(me.element,"drag");}
if(me.cfg.getProperty("constraintoviewport")){var offsetHeight=me.element.offsetHeight;var offsetWidth=me.element.offsetWidth;var viewPortWidth=YAHOO.util.Dom.getViewportWidth();var viewPortHeight=YAHOO.util.Dom.getViewportHeight();var scrollX=window.scrollX||document.documentElement.scrollLeft;var scrollY=window.scrollY||document.documentElement.scrollTop;var topConstraint=scrollY+10;var leftConstraint=scrollX+10;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-10;var rightConstraint=scrollX+viewPortWidth-offsetWidth-10;this.minX=leftConstraint;this.maxX=rightConstraint;this.constrainX=true;this.minY=topConstraint;this.maxY=bottomConstraint;this.constrainY=true;}else{this.constrainX=false;this.constrainY=false;}
me.dragEvent.fire("startDrag",arguments);};this.dd.onDrag=function(){me.syncPosition();me.cfg.refireEvent("iframe");if(this.platform=="mac"&&this.browser=="gecko"){this.showMacGeckoScrollbars();}
me.dragEvent.fire("onDrag",arguments);};this.dd.endDrag=function(){if(me.browser=="ie"){YAHOO.util.Dom.removeClass(me.element,"drag");}
me.dragEvent.fire("endDrag",arguments);};this.dd.setHandleElId(this.header.id);this.dd.addInvalidHandleType("INPUT");this.dd.addInvalidHandleType("SELECT");this.dd.addInvalidHandleType("TEXTAREA");}};YAHOO.widget.Panel.prototype.buildMask=function(){if(!this.mask){this.mask=document.createElement("DIV");this.mask.id=this.id+"_mask";this.mask.className="mask";this.mask.innerHTML="&#160;";var maskClick=function(e,obj){YAHOO.util.Event.stopEvent(e);};var firstChild=document.body.firstChild;if(firstChild){document.body.insertBefore(this.mask,document.body.firstChild);}else{document.body.appendChild(this.mask);}}};YAHOO.widget.Panel.prototype.hideMask=function(){if(this.cfg.getProperty("modal")&&this.mask){this.mask.style.display="none";this.hideMaskEvent.fire();YAHOO.util.Dom.removeClass(document.body,"masked");}};YAHOO.widget.Panel.prototype.showMask=function(){if(this.cfg.getProperty("modal")&&this.mask){YAHOO.util.Dom.addClass(document.body,"masked");this.sizeMask();this.mask.style.display="block";this.showMaskEvent.fire();}};YAHOO.widget.Panel.prototype.sizeMask=function(){if(this.mask){this.mask.style.height=YAHOO.util.Dom.getDocumentHeight()+"px";this.mask.style.width=YAHOO.util.Dom.getDocumentWidth()+"px";}};YAHOO.widget.Panel.prototype.render=function(appendToNode){return YAHOO.widget.Panel.superclass.render.call(this,appendToNode,this.innerElement);};YAHOO.widget.Panel.prototype.toString=function(){return"Panel "+this.id;};YAHOO.widget.Dialog=function(el,userConfig){YAHOO.widget.Dialog.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Dialog,YAHOO.widget.Panel);YAHOO.widget.Dialog.CSS_DIALOG="dialog";YAHOO.widget.Dialog.prototype.initDefaultConfig=function(){YAHOO.widget.Dialog.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null};this.cfg.addProperty("postmethod",{value:"async",handler:this.configPostMethod,validator:function(val){if(val!="form"&&val!="async"&&val!="none"&&val!="manual"){return false;}else{return true;}}});this.cfg.addProperty("buttons",{value:"none",handler:this.configButtons});};YAHOO.widget.Dialog.prototype.initEvents=function(){YAHOO.widget.Dialog.superclass.initEvents.call(this);this.beforeSubmitEvent=new YAHOO.util.CustomEvent("beforeSubmit");this.submitEvent=new YAHOO.util.CustomEvent("submit");this.manualSubmitEvent=new YAHOO.util.CustomEvent("manualSubmit");this.asyncSubmitEvent=new YAHOO.util.CustomEvent("asyncSubmit");this.formSubmitEvent=new YAHOO.util.CustomEvent("formSubmit");this.cancelEvent=new YAHOO.util.CustomEvent("cancel");};YAHOO.widget.Dialog.prototype.init=function(el,userConfig){YAHOO.widget.Dialog.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Dialog);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Dialog.CSS_DIALOG);this.cfg.setProperty("visible",false);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.beforeRenderEvent.subscribe(function(){var buttonCfg=this.cfg.getProperty("buttons");if(buttonCfg&&buttonCfg!="none"){if(!this.footer){this.setFooter("");}}},this,true);this.initEvent.fire(YAHOO.widget.Dialog);};YAHOO.widget.Dialog.prototype.doSubmit=function(){var pm=this.cfg.getProperty("postmethod");switch(pm){case"async":var method=this.form.getAttribute("method")||'POST';method=method.toUpperCase();YAHOO.util.Connect.setForm(this.form);var cObj=YAHOO.util.Connect.asyncRequest(method,this.form.getAttribute("action"),this.callback);this.asyncSubmitEvent.fire();break;case"form":this.form.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}};YAHOO.widget.Dialog.prototype.registerForm=function(){var form=this.element.getElementsByTagName("FORM")[0];if(!form){var formHTML="<form name=\"frm_"+this.id+"\" action=\"\"></form>";this.body.innerHTML+=formHTML;form=this.element.getElementsByTagName("FORM")[0];}
this.firstFormElement=function(){for(var f=0;f<form.elements.length;f++){var el=form.elements[f];if(el.focus&&!el.disabled){if(el.type&&el.type!="hidden"){return el;}}}
return null;}();this.lastFormElement=function(){for(var f=form.elements.length-1;f>=0;f--){var el=form.elements[f];if(el.focus&&!el.disabled){if(el.type&&el.type!="hidden"){return el;}}}
return null;}();this.form=form;if(this.cfg.getProperty("modal")&&this.form){var me=this;var firstElement=this.firstFormElement||this.firstButton;if(firstElement){this.preventBackTab=new YAHOO.util.KeyListener(firstElement,{shift:true,keys:9},{fn:me.focusLast,scope:me,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}
var lastElement=this.lastButton||this.lastFormElement;if(lastElement){this.preventTabOut=new YAHOO.util.KeyListener(lastElement,{shift:false,keys:9},{fn:me.focusFirst,scope:me,correctScope:true});this.showEvent.subscribe(this.preventTabOut.enable,this.preventTabOut,true);this.hideEvent.subscribe(this.preventTabOut.disable,this.preventTabOut,true);}}};YAHOO.widget.Dialog.prototype.configClose=function(type,args,obj){var val=args[0];var doCancel=function(e,obj){obj.cancel();};if(val){if(!this.close){this.close=document.createElement("DIV");YAHOO.util.Dom.addClass(this.close,"close");if(this.isSecure){YAHOO.util.Dom.addClass(this.close,"secure");}else{YAHOO.util.Dom.addClass(this.close,"nonsecure");}
this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);YAHOO.util.Event.addListener(this.close,"click",doCancel,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}};YAHOO.widget.Dialog.prototype.configButtons=function(type,args,obj){var buttons=args[0];if(buttons!="none"){this.buttonSpan=null;this.buttonSpan=document.createElement("SPAN");this.buttonSpan.className="button-group";for(var b=0;b<buttons.length;b++){var button=buttons[b];var htmlButton=document.createElement("BUTTON");htmlButton.setAttribute("type","button");if(button.isDefault){htmlButton.className="default";this.defaultHtmlButton=htmlButton;}
htmlButton.appendChild(document.createTextNode(button.text));YAHOO.util.Event.addListener(htmlButton,"click",button.handler,this,true);this.buttonSpan.appendChild(htmlButton);button.htmlButton=htmlButton;if(b===0){this.firstButton=button.htmlButton;}
if(b==(buttons.length-1)){this.lastButton=button.htmlButton;}}
this.setFooter(this.buttonSpan);this.cfg.refireEvent("iframe");this.cfg.refireEvent("underlay");}else{if(this.buttonSpan){if(this.buttonSpan.parentNode){this.buttonSpan.parentNode.removeChild(this.buttonSpan);}
this.buttonSpan=null;this.firstButton=null;this.lastButton=null;this.defaultHtmlButton=null;}}};YAHOO.widget.Dialog.prototype.focusFirst=function(type,args,obj){if(args){var e=args[1];if(e){YAHOO.util.Event.stopEvent(e);}}
if(this.firstFormElement){this.firstFormElement.focus();}else{this.focusDefaultButton();}};YAHOO.widget.Dialog.prototype.focusLast=function(type,args,obj){if(args){var e=args[1];if(e){YAHOO.util.Event.stopEvent(e);}}
var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){this.focusLastButton();}else{if(this.lastFormElement){this.lastFormElement.focus();}}};YAHOO.widget.Dialog.prototype.focusDefaultButton=function(){if(this.defaultHtmlButton){this.defaultHtmlButton.focus();}};YAHOO.widget.Dialog.prototype.blurButtons=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[0].htmlButton;if(html){html.blur();}}};YAHOO.widget.Dialog.prototype.focusFirstButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[0].htmlButton;if(html){html.focus();}}};YAHOO.widget.Dialog.prototype.focusLastButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[buttons.length-1].htmlButton;if(html){html.focus();}}};YAHOO.widget.Dialog.prototype.configPostMethod=function(type,args,obj){var postmethod=args[0];this.registerForm();YAHOO.util.Event.addListener(this.form,"submit",function(e){YAHOO.util.Event.stopEvent(e);this.submit();this.form.blur();},this,true);};YAHOO.widget.Dialog.prototype.validate=function(){return true;};YAHOO.widget.Dialog.prototype.submit=function(){if(this.validate()){this.beforeSubmitEvent.fire();this.doSubmit();this.submitEvent.fire();this.hide();return true;}else{return false;}};YAHOO.widget.Dialog.prototype.cancel=function(){this.cancelEvent.fire();this.hide();};YAHOO.widget.Dialog.prototype.getData=function(){var form=this.form;var data={};if(form){for(var i=0;i<form.elements.length;i++){var formItem=form.elements[i];if(formItem){if(formItem.tagName){switch(formItem.tagName){case"INPUT":switch(formItem.type){case"checkbox":data[formItem.name]=formItem.checked;break;case"textbox":case"text":case"hidden":data[formItem.name]=formItem.value;break;}
break;case"TEXTAREA":data[formItem.name]=formItem.value;break;case"SELECT":var val=[];for(var x=0;x<formItem.options.length;x++){var option=formItem.options[x];if(option.selected){var selval=option.value;if(!selval||selval===""){selval=option.text;}
val[val.length]=selval;}}
data[formItem.name]=val;break;}}else if(formItem[0]&&formItem[0].tagName){if(formItem[0].tagName=="INPUT"){switch(formItem[0].type){case"radio":for(var r=0;r<formItem.length;r++){var radio=formItem[r];if(radio.checked){data[radio.name]=radio.value;break;}}
break;case"checkbox":var cbArray=[];for(var c=0;c<formItem.length;c++){var check=formItem[c];if(check.checked){cbArray[cbArray.length]=check.value;}}
data[formItem[0].name]=cbArray;break;}}}}}}
return data;};YAHOO.widget.Dialog.prototype.toString=function(){return"Dialog "+this.id;};YAHOO.widget.SimpleDialog=function(el,userConfig){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.SimpleDialog,YAHOO.widget.Dialog);YAHOO.widget.SimpleDialog.ICON_BLOCK="nt/ic/ut/bsc/blck16_1.gif";YAHOO.widget.SimpleDialog.ICON_ALARM="nt/ic/ut/bsc/alrt16_1.gif";YAHOO.widget.SimpleDialog.ICON_HELP="nt/ic/ut/bsc/hlp16_1.gif";YAHOO.widget.SimpleDialog.ICON_INFO="nt/ic/ut/bsc/info16_1.gif";YAHOO.widget.SimpleDialog.ICON_WARN="nt/ic/ut/bsc/warn16_1.gif";YAHOO.widget.SimpleDialog.ICON_TIP="nt/ic/ut/bsc/tip16_1.gif";YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG="simple-dialog";YAHOO.widget.SimpleDialog.prototype.initDefaultConfig=function(){YAHOO.widget.SimpleDialog.superclass.initDefaultConfig.call(this);this.cfg.addProperty("icon",{value:"none",handler:this.configIcon,suppressEvent:true});this.cfg.addProperty("text",{value:"",handler:this.configText,suppressEvent:true,supercedes:["icon"]});};YAHOO.widget.SimpleDialog.prototype.init=function(el,userConfig){YAHOO.widget.SimpleDialog.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.SimpleDialog);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(YAHOO.widget.SimpleDialog);};YAHOO.widget.SimpleDialog.prototype.registerForm=function(){YAHOO.widget.SimpleDialog.superclass.registerForm.call(this);this.form.innerHTML+="<input type=\"hidden\" name=\""+this.id+"\" value=\"\"/>";};YAHOO.widget.SimpleDialog.prototype.configIcon=function(type,args,obj){var icon=args[0];if(icon&&icon!="none"){var iconHTML="<img src=\""+this.imageRoot+icon+"\" class=\"icon\" />";this.body.innerHTML=iconHTML+this.body.innerHTML;}};YAHOO.widget.SimpleDialog.prototype.configText=function(type,args,obj){var text=args[0];if(text){this.setBody(text);this.cfg.refireEvent("icon");}};YAHOO.widget.SimpleDialog.prototype.toString=function(){return"SimpleDialog "+this.id;};YAHOO.widget.ContainerEffect=function(overlay,attrIn,attrOut,targetElement,animClass){if(!animClass){animClass=YAHOO.util.Anim;}
this.overlay=overlay;this.attrIn=attrIn;this.attrOut=attrOut;this.targetElement=targetElement||overlay.element;this.animClass=animClass;};YAHOO.widget.ContainerEffect.prototype.init=function(){this.beforeAnimateInEvent=new YAHOO.util.CustomEvent("beforeAnimateIn");this.beforeAnimateOutEvent=new YAHOO.util.CustomEvent("beforeAnimateOut");this.animateInCompleteEvent=new YAHOO.util.CustomEvent("animateInComplete");this.animateOutCompleteEvent=new YAHOO.util.CustomEvent("animateOutComplete");this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);};YAHOO.widget.ContainerEffect.prototype.animateIn=function(){this.beforeAnimateInEvent.fire();this.animIn.animate();};YAHOO.widget.ContainerEffect.prototype.animateOut=function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();};YAHOO.widget.ContainerEffect.prototype.handleStartAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleStartAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.toString=function(){var output="ContainerEffect";if(this.overlay){output+=" ["+this.overlay.toString()+"]";}
return output;};YAHOO.widget.ContainerEffect.FADE=function(overlay,dur){var fade=new YAHOO.widget.ContainerEffect(overlay,{attributes:{opacity:{from:0,to:1}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{opacity:{to:0}},duration:dur,method:YAHOO.util.Easing.easeOut},overlay.element);fade.handleStartAnimateIn=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(!obj.overlay.underlay){obj.overlay.cfg.refireEvent("underlay");}
if(obj.overlay.underlay){obj.initialUnderlayOpacity=YAHOO.util.Dom.getStyle(obj.overlay.underlay,"opacity");obj.overlay.underlay.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",0);};fade.handleCompleteAnimateIn=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
if(obj.overlay.underlay){YAHOO.util.Dom.setStyle(obj.overlay.underlay,"opacity",obj.initialUnderlayOpacity);}
obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};fade.handleStartAnimateOut=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(obj.overlay.underlay){obj.overlay.underlay.style.filter=null;}};fade.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",1);obj.overlay.cfg.refireEvent("iframe");obj.animateOutCompleteEvent.fire();};fade.init();return fade;};YAHOO.widget.ContainerEffect.SLIDE=function(overlay,dur){var x=overlay.cfg.getProperty("x")||YAHOO.util.Dom.getX(overlay.element);var y=overlay.cfg.getProperty("y")||YAHOO.util.Dom.getY(overlay.element);var clientWidth=YAHOO.util.Dom.getClientWidth();var offsetWidth=overlay.element.offsetWidth;var slide=new YAHOO.widget.ContainerEffect(overlay,{attributes:{points:{to:[x,y]}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{points:{to:[(clientWidth+25),y]}},duration:dur,method:YAHOO.util.Easing.easeOut},overlay.element,YAHOO.util.Motion);slide.handleStartAnimateIn=function(type,args,obj){obj.overlay.element.style.left=(-25-offsetWidth)+"px";obj.overlay.element.style.top=y+"px";};slide.handleTweenAnimateIn=function(type,args,obj){var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var currentX=pos[0];var currentY=pos[1];if(YAHOO.util.Dom.getStyle(obj.overlay.element,"visibility")=="hidden"&&currentX<x){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");}
obj.overlay.cfg.setProperty("xy",[currentX,currentY],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateIn=function(type,args,obj){obj.overlay.cfg.setProperty("xy",[x,y],true);obj.startX=x;obj.startY=y;obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};slide.handleStartAnimateOut=function(type,args,obj){var vw=YAHOO.util.Dom.getViewportWidth();var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var yso=pos[1];var currentTo=obj.animOut.attributes.points.to;obj.animOut.attributes.points.to=[(vw+25),yso];};slide.handleTweenAnimateOut=function(type,args,obj){var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var xto=pos[0];var yto=pos[1];obj.overlay.cfg.setProperty("xy",[xto,yto],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");obj.overlay.cfg.setProperty("xy",[x,y]);obj.animateOutCompleteEvent.fire();};slide.init();return slide;};




/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


YAHOO.widget.Slider=function(sElementId,sGroup,oThumb,sType){if(sElementId){this.init(sElementId,sGroup,true);this.initSlider(sType);this.initThumb(oThumb);}};YAHOO.widget.Slider.getHorizSlider=function(sBGElId,sHandleElId,iLeft,iRight,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,iLeft,iRight,0,0,iTickSize),"horiz");};YAHOO.widget.Slider.getVertSlider=function(sBGElId,sHandleElId,iUp,iDown,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,0,0,iUp,iDown,iTickSize),"vert");};YAHOO.widget.Slider.getSliderRegion=function(sBGElId,sHandleElId,iLeft,iRight,iUp,iDown,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,iLeft,iRight,iUp,iDown,iTickSize),"region");};YAHOO.widget.Slider.ANIM_AVAIL=true;YAHOO.extend(YAHOO.widget.Slider,YAHOO.util.DragDrop,{initSlider:function(sType){this.type=sType;this.createEvent("change",this);this.createEvent("slideStart",this);this.createEvent("slideEnd",this);this.isTarget=false;this.animate=YAHOO.widget.Slider.ANIM_AVAIL;this.backgroundEnabled=true;this.tickPause=40;this.enableKeys=true;this.keyIncrement=20;this.moveComplete=true;this.animationDuration=0.2;},initThumb:function(t){var self=this;this.thumb=t;t.cacheBetweenDrags=true;t.onChange=function(){self.handleThumbChange();};if(t._isHoriz&&t.xTicks&&t.xTicks.length){this.tickPause=Math.round(360/t.xTicks.length);}else if(t.yTicks&&t.yTicks.length){this.tickPause=Math.round(360/t.yTicks.length);}
t.onMouseDown=function(){return self.focus();};t.onMouseUp=function(){self.thumbMouseUp();};t.onDrag=function(){self.fireEvents(true);};t.onAvailable=function(){return self.setStartSliderState();};},onAvailable:function(){var Event=YAHOO.util.Event;Event.on(this.id,"keydown",this.handleKeyDown,this,true);Event.on(this.id,"keypress",this.handleKeyPress,this,true);},handleKeyPress:function(e){if(this.enableKeys){var Event=YAHOO.util.Event;var kc=Event.getCharCode(e);switch(kc){case 0x25:case 0x26:case 0x27:case 0x28:case 0x24:case 0x23:Event.preventDefault(e);break;default:}}},handleKeyDown:function(e){if(this.enableKeys){var Event=YAHOO.util.Event;var kc=Event.getCharCode(e),t=this.thumb;var h=this.getXValue(),v=this.getYValue();var horiz=false;var changeValue=true;switch(kc){case 0x25:h-=this.keyIncrement;break;case 0x26:v-=this.keyIncrement;break;case 0x27:h+=this.keyIncrement;break;case 0x28:v+=this.keyIncrement;break;case 0x24:h=t.leftConstraint;v=t.topConstraint;break;case 0x23:h=t.rightConstraint;v=t.bottomConstraint;break;default:changeValue=false;}
if(changeValue){if(t._isRegion){this.setRegionValue(h,v,true);}else{var newVal=(t._isHoriz)?h:v;this.setValue(newVal,true);}
Event.stopEvent(e);}}},setStartSliderState:function(){this.setThumbCenterPoint();this.baselinePos=YAHOO.util.Dom.getXY(this.getEl());this.thumb.startOffset=this.thumb.getOffsetFromParent(this.baselinePos);if(this.thumb._isRegion){if(this.deferredSetRegionValue){this.setRegionValue.apply(this,this.deferredSetRegionValue,true);this.deferredSetRegionValue=null;}else{this.setRegionValue(0,0,true,true);}}else{if(this.deferredSetValue){this.setValue.apply(this,this.deferredSetValue,true);this.deferredSetValue=null;}else{this.setValue(0,true,true);}}},setThumbCenterPoint:function(){var el=this.thumb.getEl();if(el){this.thumbCenterPoint={x:parseInt(el.offsetWidth/2,10),y:parseInt(el.offsetHeight/2,10)};}},lock:function(){this.thumb.lock();this.locked=true;},unlock:function(){this.thumb.unlock();this.locked=false;},thumbMouseUp:function(){if(!this.isLocked()&&!this.moveComplete){this.endMove();}},getThumb:function(){return this.thumb;},focus:function(){var el=this.getEl();if(el.focus){try{el.focus();}catch(e){}}
this.verifyOffset();if(this.isLocked()){return false;}else{this.onSlideStart();return true;}},onChange:function(firstOffset,secondOffset){},onSlideStart:function(){},onSlideEnd:function(){},getValue:function(){return this.thumb.getValue();},getXValue:function(){return this.thumb.getXValue();},getYValue:function(){return this.thumb.getYValue();},handleThumbChange:function(){var t=this.thumb;if(t._isRegion){t.onChange(t.getXValue(),t.getYValue());this.fireEvent("change",{x:t.getXValue(),y:t.getYValue()});}else{t.onChange(t.getValue());this.fireEvent("change",t.getValue());}},setValue:function(newOffset,skipAnim,force){if(!this.thumb.available){this.deferredSetValue=arguments;return false;}
if(this.isLocked()&&!force){return false;}
if(isNaN(newOffset)){return false;}
var t=this.thumb;var newX,newY;this.verifyOffset(true);if(t._isRegion){return false;}else if(t._isHoriz){this.onSlideStart();newX=t.initPageX+newOffset+this.thumbCenterPoint.x;this.moveThumb(newX,t.initPageY,skipAnim);}else{this.onSlideStart();newY=t.initPageY+newOffset+this.thumbCenterPoint.y;this.moveThumb(t.initPageX,newY,skipAnim);}
return true;},setRegionValue:function(newOffset,newOffset2,skipAnim,force){if(!this.thumb.available){this.deferredSetRegionValue=arguments;return false;}
if(this.isLocked()&&!force){return false;}
if(isNaN(newOffset)){return false;}
var t=this.thumb;if(t._isRegion){this.onSlideStart();var newX=t.initPageX+newOffset+this.thumbCenterPoint.x;var newY=t.initPageY+newOffset2+this.thumbCenterPoint.y;this.moveThumb(newX,newY,skipAnim);return true;}
return false;},verifyOffset:function(checkPos){var newPos=YAHOO.util.Dom.getXY(this.getEl());if(newPos[0]!=this.baselinePos[0]||newPos[1]!=this.baselinePos[1]){this.thumb.resetConstraints();this.baselinePos=newPos;return false;}
return true;},moveThumb:function(x,y,skipAnim){var t=this.thumb;var self=this;if(!t.available){return;}
t.setDelta(this.thumbCenterPoint.x,this.thumbCenterPoint.y);var _p=t.getTargetCoord(x,y);var p=[_p.x,_p.y];this.fireEvent("slideStart");if(this.animate&&YAHOO.widget.Slider.ANIM_AVAIL&&t._graduated&&!skipAnim){this.lock();this.curCoord=YAHOO.util.Dom.getXY(this.thumb.getEl());setTimeout(function(){self.moveOneTick(p);},this.tickPause);}else if(this.animate&&YAHOO.widget.Slider.ANIM_AVAIL&&!skipAnim){this.lock();var oAnim=new YAHOO.util.Motion(t.id,{points:{to:p}},this.animationDuration,YAHOO.util.Easing.easeOut);oAnim.onComplete.subscribe(function(){self.endMove();});oAnim.animate();}else{t.setDragElPos(x,y);this.endMove();}},moveOneTick:function(finalCoord){var t=this.thumb,tmp;var nextCoord=null;if(t._isRegion){nextCoord=this._getNextX(this.curCoord,finalCoord);var tmpX=(nextCoord)?nextCoord[0]:this.curCoord[0];nextCoord=this._getNextY([tmpX,this.curCoord[1]],finalCoord);}else if(t._isHoriz){nextCoord=this._getNextX(this.curCoord,finalCoord);}else{nextCoord=this._getNextY(this.curCoord,finalCoord);}
if(nextCoord){this.curCoord=nextCoord;this.thumb.alignElWithMouse(t.getEl(),nextCoord[0],nextCoord[1]);if(!(nextCoord[0]==finalCoord[0]&&nextCoord[1]==finalCoord[1])){var self=this;setTimeout(function(){self.moveOneTick(finalCoord);},this.tickPause);}else{this.endMove();}}else{this.endMove();}},_getNextX:function(curCoord,finalCoord){var t=this.thumb;var thresh;var tmp=[];var nextCoord=null;if(curCoord[0]>finalCoord[0]){thresh=t.tickSize-this.thumbCenterPoint.x;tmp=t.getTargetCoord(curCoord[0]-thresh,curCoord[1]);nextCoord=[tmp.x,tmp.y];}else if(curCoord[0]<finalCoord[0]){thresh=t.tickSize+this.thumbCenterPoint.x;tmp=t.getTargetCoord(curCoord[0]+thresh,curCoord[1]);nextCoord=[tmp.x,tmp.y];}else{}
return nextCoord;},_getNextY:function(curCoord,finalCoord){var t=this.thumb;var thresh;var tmp=[];var nextCoord=null;if(curCoord[1]>finalCoord[1]){thresh=t.tickSize-this.thumbCenterPoint.y;tmp=t.getTargetCoord(curCoord[0],curCoord[1]-thresh);nextCoord=[tmp.x,tmp.y];}else if(curCoord[1]<finalCoord[1]){thresh=t.tickSize+this.thumbCenterPoint.y;tmp=t.getTargetCoord(curCoord[0],curCoord[1]+thresh);nextCoord=[tmp.x,tmp.y];}else{}
return nextCoord;},b4MouseDown:function(e){this.thumb.autoOffset();this.thumb.resetConstraints();},onMouseDown:function(e){if(!this.isLocked()&&this.backgroundEnabled){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.focus();this.moveThumb(x,y);}},onDrag:function(e){if(!this.isLocked()){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.moveThumb(x,y,true);}},endMove:function(){this.unlock();this.moveComplete=true;this.fireEvents();},fireEvents:function(thumbEvent){var t=this.thumb;if(!thumbEvent){t.cachePosition();}
if(!this.isLocked()){if(t._isRegion){var newX=t.getXValue();var newY=t.getYValue();if(newX!=this.previousX||newY!=this.previousY){this.onChange(newX,newY);this.fireEvent("change",{x:newX,y:newY});}
this.previousX=newX;this.previousY=newY;}else{var newVal=t.getValue();if(newVal!=this.previousVal){this.onChange(newVal);this.fireEvent("change",newVal);}
this.previousVal=newVal;}
if(this.moveComplete){this.onSlideEnd();this.fireEvent("slideEnd");this.moveComplete=false;}}},toString:function(){return("Slider ("+this.type+") "+this.id);}});YAHOO.augment(YAHOO.widget.Slider,YAHOO.util.EventProvider);YAHOO.widget.SliderThumb=function(id,sGroup,iLeft,iRight,iUp,iDown,iTickSize){if(id){YAHOO.widget.SliderThumb.superclass.constructor.call(this,id,sGroup);this.parentElId=sGroup;}
this.isTarget=false;this.tickSize=iTickSize;this.maintainOffset=true;this.initSlider(iLeft,iRight,iUp,iDown,iTickSize);this.scroll=false;};YAHOO.extend(YAHOO.widget.SliderThumb,YAHOO.util.DD,{startOffset:null,_isHoriz:false,_prevVal:0,_graduated:false,getOffsetFromParent0:function(parentPos){var myPos=YAHOO.util.Dom.getXY(this.getEl());var ppos=parentPos||YAHOO.util.Dom.getXY(this.parentElId);return[(myPos[0]-ppos[0]),(myPos[1]-ppos[1])];},getOffsetFromParent:function(parentPos){var el=this.getEl();if(!this.deltaOffset){var myPos=YAHOO.util.Dom.getXY(el);var ppos=parentPos||YAHOO.util.Dom.getXY(this.parentElId);var newOffset=[(myPos[0]-ppos[0]),(myPos[1]-ppos[1])];var l=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var t=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);var deltaX=l-newOffset[0];var deltaY=t-newOffset[1];if(isNaN(deltaX)||isNaN(deltaY)){}else{this.deltaOffset=[deltaX,deltaY];}}else{var newLeft=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var newTop=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);newOffset=[newLeft+this.deltaOffset[0],newTop+this.deltaOffset[1]];}
return newOffset;},initSlider:function(iLeft,iRight,iUp,iDown,iTickSize){this.initLeft=iLeft;this.initRight=iRight;this.initUp=iUp;this.initDown=iDown;this.setXConstraint(iLeft,iRight,iTickSize);this.setYConstraint(iUp,iDown,iTickSize);if(iTickSize&&iTickSize>1){this._graduated=true;}
this._isHoriz=(iLeft||iRight);this._isVert=(iUp||iDown);this._isRegion=(this._isHoriz&&this._isVert);},clearTicks:function(){YAHOO.widget.SliderThumb.superclass.clearTicks.call(this);this.tickSize=0;this._graduated=false;},getValue:function(){if(!this.available){return 0;}
var val=(this._isHoriz)?this.getXValue():this.getYValue();return val;},getXValue:function(){if(!this.available){return 0;}
var newOffset=this.getOffsetFromParent();return(newOffset[0]-this.startOffset[0]);},getYValue:function(){if(!this.available){return 0;}
var newOffset=this.getOffsetFromParent();return(newOffset[1]-this.startOffset[1]);},toString:function(){return"SliderThumb "+this.id;},onChange:function(x,y){}});if("undefined"==typeof YAHOO.util.Anim){YAHOO.widget.Slider.ANIM_AVAIL=false;}



/*../vendor/yui/slider/slider-min.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


YAHOO.widget.Slider=function(sElementId,sGroup,oThumb,sType){if(sElementId){this.init(sElementId,sGroup,true);this.initSlider(sType);this.initThumb(oThumb);}};YAHOO.widget.Slider.getHorizSlider=function(sBGElId,sHandleElId,iLeft,iRight,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,iLeft,iRight,0,0,iTickSize),"horiz");};YAHOO.widget.Slider.getVertSlider=function(sBGElId,sHandleElId,iUp,iDown,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,0,0,iUp,iDown,iTickSize),"vert");};YAHOO.widget.Slider.getSliderRegion=function(sBGElId,sHandleElId,iLeft,iRight,iUp,iDown,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,iLeft,iRight,iUp,iDown,iTickSize),"region");};YAHOO.widget.Slider.ANIM_AVAIL=true;YAHOO.extend(YAHOO.widget.Slider,YAHOO.util.DragDrop,{initSlider:function(sType){this.type=sType;this.createEvent("change",this);this.createEvent("slideStart",this);this.createEvent("slideEnd",this);this.isTarget=false;this.animate=YAHOO.widget.Slider.ANIM_AVAIL;this.backgroundEnabled=true;this.tickPause=40;this.enableKeys=true;this.keyIncrement=20;this.moveComplete=true;this.animationDuration=0.2;},initThumb:function(t){var self=this;this.thumb=t;t.cacheBetweenDrags=true;t.onChange=function(){self.handleThumbChange();};if(t._isHoriz&&t.xTicks&&t.xTicks.length){this.tickPause=Math.round(360/t.xTicks.length);}else if(t.yTicks&&t.yTicks.length){this.tickPause=Math.round(360/t.yTicks.length);}
t.onMouseDown=function(){return self.focus();};t.onMouseUp=function(){self.thumbMouseUp();};t.onDrag=function(){self.fireEvents(true);};t.onAvailable=function(){return self.setStartSliderState();};},onAvailable:function(){var Event=YAHOO.util.Event;Event.on(this.id,"keydown",this.handleKeyDown,this,true);Event.on(this.id,"keypress",this.handleKeyPress,this,true);},handleKeyPress:function(e){if(this.enableKeys){var Event=YAHOO.util.Event;var kc=Event.getCharCode(e);switch(kc){case 0x25:case 0x26:case 0x27:case 0x28:case 0x24:case 0x23:Event.preventDefault(e);break;default:}}},handleKeyDown:function(e){if(this.enableKeys){var Event=YAHOO.util.Event;var kc=Event.getCharCode(e),t=this.thumb;var h=this.getXValue(),v=this.getYValue();var horiz=false;var changeValue=true;switch(kc){case 0x25:h-=this.keyIncrement;break;case 0x26:v-=this.keyIncrement;break;case 0x27:h+=this.keyIncrement;break;case 0x28:v+=this.keyIncrement;break;case 0x24:h=t.leftConstraint;v=t.topConstraint;break;case 0x23:h=t.rightConstraint;v=t.bottomConstraint;break;default:changeValue=false;}
if(changeValue){if(t._isRegion){this.setRegionValue(h,v,true);}else{var newVal=(t._isHoriz)?h:v;this.setValue(newVal,true);}
Event.stopEvent(e);}}},setStartSliderState:function(){this.setThumbCenterPoint();this.baselinePos=YAHOO.util.Dom.getXY(this.getEl());this.thumb.startOffset=this.thumb.getOffsetFromParent(this.baselinePos);if(this.thumb._isRegion){if(this.deferredSetRegionValue){this.setRegionValue.apply(this,this.deferredSetRegionValue,true);this.deferredSetRegionValue=null;}else{this.setRegionValue(0,0,true,true);}}else{if(this.deferredSetValue){this.setValue.apply(this,this.deferredSetValue,true);this.deferredSetValue=null;}else{this.setValue(0,true,true);}}},setThumbCenterPoint:function(){var el=this.thumb.getEl();if(el){this.thumbCenterPoint={x:parseInt(el.offsetWidth/2,10),y:parseInt(el.offsetHeight/2,10)};}},lock:function(){this.thumb.lock();this.locked=true;},unlock:function(){this.thumb.unlock();this.locked=false;},thumbMouseUp:function(){if(!this.isLocked()&&!this.moveComplete){this.endMove();}},getThumb:function(){return this.thumb;},focus:function(){var el=this.getEl();if(el.focus){try{el.focus();}catch(e){}}
this.verifyOffset();if(this.isLocked()){return false;}else{this.onSlideStart();return true;}},onChange:function(firstOffset,secondOffset){},onSlideStart:function(){},onSlideEnd:function(){},getValue:function(){return this.thumb.getValue();},getXValue:function(){return this.thumb.getXValue();},getYValue:function(){return this.thumb.getYValue();},handleThumbChange:function(){var t=this.thumb;if(t._isRegion){t.onChange(t.getXValue(),t.getYValue());this.fireEvent("change",{x:t.getXValue(),y:t.getYValue()});}else{t.onChange(t.getValue());this.fireEvent("change",t.getValue());}},setValue:function(newOffset,skipAnim,force){if(!this.thumb.available){this.deferredSetValue=arguments;return false;}
if(this.isLocked()&&!force){return false;}
if(isNaN(newOffset)){return false;}
var t=this.thumb;var newX,newY;this.verifyOffset(true);if(t._isRegion){return false;}else if(t._isHoriz){this.onSlideStart();newX=t.initPageX+newOffset+this.thumbCenterPoint.x;this.moveThumb(newX,t.initPageY,skipAnim);}else{this.onSlideStart();newY=t.initPageY+newOffset+this.thumbCenterPoint.y;this.moveThumb(t.initPageX,newY,skipAnim);}
return true;},setRegionValue:function(newOffset,newOffset2,skipAnim,force){if(!this.thumb.available){this.deferredSetRegionValue=arguments;return false;}
if(this.isLocked()&&!force){return false;}
if(isNaN(newOffset)){return false;}
var t=this.thumb;if(t._isRegion){this.onSlideStart();var newX=t.initPageX+newOffset+this.thumbCenterPoint.x;var newY=t.initPageY+newOffset2+this.thumbCenterPoint.y;this.moveThumb(newX,newY,skipAnim);return true;}
return false;},verifyOffset:function(checkPos){var newPos=YAHOO.util.Dom.getXY(this.getEl());if(newPos[0]!=this.baselinePos[0]||newPos[1]!=this.baselinePos[1]){this.thumb.resetConstraints();this.baselinePos=newPos;return false;}
return true;},moveThumb:function(x,y,skipAnim){var t=this.thumb;var self=this;if(!t.available){return;}
t.setDelta(this.thumbCenterPoint.x,this.thumbCenterPoint.y);var _p=t.getTargetCoord(x,y);var p=[_p.x,_p.y];this.fireEvent("slideStart");if(this.animate&&YAHOO.widget.Slider.ANIM_AVAIL&&t._graduated&&!skipAnim){this.lock();this.curCoord=YAHOO.util.Dom.getXY(this.thumb.getEl());setTimeout(function(){self.moveOneTick(p);},this.tickPause);}else if(this.animate&&YAHOO.widget.Slider.ANIM_AVAIL&&!skipAnim){this.lock();var oAnim=new YAHOO.util.Motion(t.id,{points:{to:p}},this.animationDuration,YAHOO.util.Easing.easeOut);oAnim.onComplete.subscribe(function(){self.endMove();});oAnim.animate();}else{t.setDragElPos(x,y);this.endMove();}},moveOneTick:function(finalCoord){var t=this.thumb,tmp;var nextCoord=null;if(t._isRegion){nextCoord=this._getNextX(this.curCoord,finalCoord);var tmpX=(nextCoord)?nextCoord[0]:this.curCoord[0];nextCoord=this._getNextY([tmpX,this.curCoord[1]],finalCoord);}else if(t._isHoriz){nextCoord=this._getNextX(this.curCoord,finalCoord);}else{nextCoord=this._getNextY(this.curCoord,finalCoord);}
if(nextCoord){this.curCoord=nextCoord;this.thumb.alignElWithMouse(t.getEl(),nextCoord[0],nextCoord[1]);if(!(nextCoord[0]==finalCoord[0]&&nextCoord[1]==finalCoord[1])){var self=this;setTimeout(function(){self.moveOneTick(finalCoord);},this.tickPause);}else{this.endMove();}}else{this.endMove();}},_getNextX:function(curCoord,finalCoord){var t=this.thumb;var thresh;var tmp=[];var nextCoord=null;if(curCoord[0]>finalCoord[0]){thresh=t.tickSize-this.thumbCenterPoint.x;tmp=t.getTargetCoord(curCoord[0]-thresh,curCoord[1]);nextCoord=[tmp.x,tmp.y];}else if(curCoord[0]<finalCoord[0]){thresh=t.tickSize+this.thumbCenterPoint.x;tmp=t.getTargetCoord(curCoord[0]+thresh,curCoord[1]);nextCoord=[tmp.x,tmp.y];}else{}
return nextCoord;},_getNextY:function(curCoord,finalCoord){var t=this.thumb;var thresh;var tmp=[];var nextCoord=null;if(curCoord[1]>finalCoord[1]){thresh=t.tickSize-this.thumbCenterPoint.y;tmp=t.getTargetCoord(curCoord[0],curCoord[1]-thresh);nextCoord=[tmp.x,tmp.y];}else if(curCoord[1]<finalCoord[1]){thresh=t.tickSize+this.thumbCenterPoint.y;tmp=t.getTargetCoord(curCoord[0],curCoord[1]+thresh);nextCoord=[tmp.x,tmp.y];}else{}
return nextCoord;},b4MouseDown:function(e){this.thumb.autoOffset();this.thumb.resetConstraints();},onMouseDown:function(e){if(!this.isLocked()&&this.backgroundEnabled){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.focus();this.moveThumb(x,y);}},onDrag:function(e){if(!this.isLocked()){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.moveThumb(x,y,true);}},endMove:function(){this.unlock();this.moveComplete=true;this.fireEvents();},fireEvents:function(thumbEvent){var t=this.thumb;if(!thumbEvent){t.cachePosition();}
if(!this.isLocked()){if(t._isRegion){var newX=t.getXValue();var newY=t.getYValue();if(newX!=this.previousX||newY!=this.previousY){this.onChange(newX,newY);this.fireEvent("change",{x:newX,y:newY});}
this.previousX=newX;this.previousY=newY;}else{var newVal=t.getValue();if(newVal!=this.previousVal){this.onChange(newVal);this.fireEvent("change",newVal);}
this.previousVal=newVal;}
if(this.moveComplete){this.onSlideEnd();this.fireEvent("slideEnd");this.moveComplete=false;}}},toString:function(){return("Slider ("+this.type+") "+this.id);}});YAHOO.augment(YAHOO.widget.Slider,YAHOO.util.EventProvider);YAHOO.widget.SliderThumb=function(id,sGroup,iLeft,iRight,iUp,iDown,iTickSize){if(id){YAHOO.widget.SliderThumb.superclass.constructor.call(this,id,sGroup);this.parentElId=sGroup;}
this.isTarget=false;this.tickSize=iTickSize;this.maintainOffset=true;this.initSlider(iLeft,iRight,iUp,iDown,iTickSize);this.scroll=false;};YAHOO.extend(YAHOO.widget.SliderThumb,YAHOO.util.DD,{startOffset:null,_isHoriz:false,_prevVal:0,_graduated:false,getOffsetFromParent0:function(parentPos){var myPos=YAHOO.util.Dom.getXY(this.getEl());var ppos=parentPos||YAHOO.util.Dom.getXY(this.parentElId);return[(myPos[0]-ppos[0]),(myPos[1]-ppos[1])];},getOffsetFromParent:function(parentPos){var el=this.getEl();if(!this.deltaOffset){var myPos=YAHOO.util.Dom.getXY(el);var ppos=parentPos||YAHOO.util.Dom.getXY(this.parentElId);var newOffset=[(myPos[0]-ppos[0]),(myPos[1]-ppos[1])];var l=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var t=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);var deltaX=l-newOffset[0];var deltaY=t-newOffset[1];if(isNaN(deltaX)||isNaN(deltaY)){}else{this.deltaOffset=[deltaX,deltaY];}}else{var newLeft=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var newTop=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);newOffset=[newLeft+this.deltaOffset[0],newTop+this.deltaOffset[1]];}
return newOffset;},initSlider:function(iLeft,iRight,iUp,iDown,iTickSize){this.initLeft=iLeft;this.initRight=iRight;this.initUp=iUp;this.initDown=iDown;this.setXConstraint(iLeft,iRight,iTickSize);this.setYConstraint(iUp,iDown,iTickSize);if(iTickSize&&iTickSize>1){this._graduated=true;}
this._isHoriz=(iLeft||iRight);this._isVert=(iUp||iDown);this._isRegion=(this._isHoriz&&this._isVert);},clearTicks:function(){YAHOO.widget.SliderThumb.superclass.clearTicks.call(this);this.tickSize=0;this._graduated=false;},getValue:function(){if(!this.available){return 0;}
var val=(this._isHoriz)?this.getXValue():this.getYValue();return val;},getXValue:function(){if(!this.available){return 0;}
var newOffset=this.getOffsetFromParent();return(newOffset[0]-this.startOffset[0]);},getYValue:function(){if(!this.available){return 0;}
var newOffset=this.getOffsetFromParent();return(newOffset[1]-this.startOffset[1]);},toString:function(){return"SliderThumb "+this.id;},onChange:function(x,y){}});if("undefined"==typeof YAHOO.util.Anim){YAHOO.widget.Slider.ANIM_AVAIL=false;}

/*mapTypeControl.js*/

function mapTypeControl(){}

mapTypeControl.prototype = new GControl();

mapTypeControl.prototype.initialize = function(map)
{
	var containerT = document.createElement("div");
	containerT.style.zindex = 1000;

	var btnMap = document.createElement("label");
	btnMap.id = "btnMap";
	btnMap.style.paddingLeft="6px";
	btnMap.style.marginRight="-4px";
	this.setButtonStyle_(btnMap,"mapTypeButton");
	containerT.appendChild(btnMap);
	btnMap.appendChild(document.createTextNode("Map"));
	GEvent.addDomListener(btnMap, "click", function(){map.setMapType(G_NORMAL_MAP);});

	var btnSat = document.createElement("label");
	btnSat.id = "btnSat";
	this.setButtonStyle_(btnSat,"mapTypeButton");
	containerT.appendChild(btnSat);
	btnSat.appendChild(document.createTextNode("Sat"));
	GEvent.addDomListener(btnSat, "click", function(){map.setMapType(G_SATELLITE_MAP);});
/*
	/*var btnHyb = document.createElement("label");
	btnHyb.id = "btnHyb";
	this.setButtonStyle_(btnHyb,"mapTypeButton");
	containerT.appendChild(btnHyb);
	btnHyb.appendChild(document.createTextNode("Hyb"));
	GEvent.addDomListener(btnHyb, "click", function(){map.setMapType(G_HYBRID_MAP);});*/

	var btnTer = document.createElement("label");
	btnTer.id = "btnTer";
	this.setButtonStyle_(btnTer,"mapTypeButton");
	containerT.appendChild(btnTer);
	btnTer.appendChild(document.createTextNode("Ter"));
	GEvent.addDomListener(btnTer, "click", function(){map.setMapType(G_PHYSICAL_MAP);});

	map.getContainer().appendChild(containerT);
	return containerT;
}

mapTypeControl.prototype.getDefaultPosition = function()
{
	return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(7, 10));
}

mapTypeControl.prototype.setButtonStyle_ = function(button,cssStyle)
{
	button.className = cssStyle;
}


/*mapTypeControlGDir.js*/

function mapTypeControlGDir(){}

mapTypeControlGDir.prototype = new GControl();

mapTypeControlGDir.prototype.initialize = function(map)
{
	var containerT = document.createElement("div");
	containerT.style.zindex = 1000;

	var btnMap = document.createElement("label");
	btnMap.id = "btnMapGDir";
	btnMap.style.paddingLeft="6px";
	btnMap.style.marginRight="-4px";
	this.setButtonStyle_(btnMap,"mapTypeButton");
	containerT.appendChild(btnMap);
	btnMap.appendChild(document.createTextNode("Map"));
	GEvent.addDomListener(btnMap, "click", function(){map.setMapType(G_NORMAL_MAP);});

	var btnSat = document.createElement("label");
	btnSat.id = "btnSatGDir";
	this.setButtonStyle_(btnSat,"mapTypeButton");
	containerT.appendChild(btnSat);
	btnSat.appendChild(document.createTextNode("Sat"));
	GEvent.addDomListener(btnSat, "click", function(){map.setMapType(G_SATELLITE_MAP);});
/*
	/*var btnHyb = document.createElement("label");
	btnHyb.id = "btnHyb";
	this.setButtonStyle_(btnHyb,"mapTypeButton");
	containerT.appendChild(btnHyb);
	btnHyb.appendChild(document.createTextNode("Hyb"));
	GEvent.addDomListener(btnHyb, "click", function(){map.setMapType(G_HYBRID_MAP);});*/

	var btnTer = document.createElement("label");
	btnTer.id = "btnTerGDir";
	this.setButtonStyle_(btnTer,"mapTypeButton");
	containerT.appendChild(btnTer);
	btnTer.appendChild(document.createTextNode("Ter"));
	GEvent.addDomListener(btnTer, "click", function(){map.setMapType(G_PHYSICAL_MAP);});

	map.getContainer().appendChild(containerT);
	return containerT;
}

mapTypeControlGDir.prototype.getDefaultPosition = function()
{
	return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(7, 10));
}

mapTypeControlGDir.prototype.setButtonStyle_ = function(button,cssStyle)
{
	button.className = cssStyle;
}


/*dragzoom.js*/

/*
* DragZoomControl Class v1.2 
*  Copyright (c) 2005-2007, Andre Lewis, andre@earthcode.com
*
* Back Button functionality
*  Copyright (c)  2007, Richard Garland, papabear.newyork@gmail.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* 
*       http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This class lets you add a control to the map which will let the user
*  zoom by dragging a rectangle.
*  More info on original GZoom at http://earthcode.com
*
* Back Button functionality provides the user with a one click means to return the map state 
*  to its state prior to the DragZoom.  Sequential DragZooms are backed out in reverse order.
*/

/**
 * Constructor for DragZoomControl, which takes 3 option hashes and
 *  uses them to customize the control.
 * @param {opts_boxStyle} Named optional arguments:
 *   opts_boxStyle.opacity {Number} Opacity from 0-1
 *   opts_boxStyle.fillColor {String} Hex value of fill color
 *   opts_boxStyle.border {String} CSS-style declaration of border
 * @param {opts_other} Named optional arguments:
 *   opts_other.buttonHTML {String} The zoom button HTML in non-activated state
 *   opts_other.buttonStartingStyle {Object} A hash of css styles for the 
 *     zoom button which are common to both un-activated and activated state
 *   opts_other.buttonStyle {Object} A hash of css styles for the zoom button 
 *     which will be applied when the button is in un-activated state.
 *   opts_other.buttonZoomingHTML {String} HTML which is placed in the 
 *     zoom button when the button is activated. 
 *   opts_other.buttonZoomingStyle {Object} A hash of css styles for the 
 *    zoom button which will be applied when the button is activated.
 *   opts_other.overlayRemoveTime {Number} The number of milliseconds to wait before
 *     removing the rectangle indicating the zoomed-in area after the zoom has happened.
 *   opts_other.stickyZoomEnabled {Boolean} Whether or not the control stays in 
 *     "zoom mode" until turned off. When true, the user can zoom repeatedly, 
 *     until clicking on the zoom button again to turn zoom mode off.
 *   opts_other.backButtonEnabled {Boolean} enables Back Button functionality
 *   opts_other.backButtonHTML {String} The back button HTML
 *   opts_other.backButtonStyle {Object} A hash of css styles for the back button
 *     which will be applied when the button is created.	
 * @param {opts_callbacks} Named optional arguments:
 *   opts_callbacks.buttonclick {Function} Called when the DragZoom is activated 
 *     by clicking on the "zoom" button. 
 *   opts_callbacks.dragstart {Function} Called when user starts to drag a rectangle.
 *     Callback args are x,y -- the PIXEL values, relative to the upper-left-hand 
 *     corner of the map, where the user began dragging.
 *   opts_callbacks.dragging {Function} Called repeatedly while the user is dragging.
 *     Callback args are startX,startY, currentX,currentY -- the PIXEL values of the 
 *     start of the drag, and the current drag point, respectively.
 *   opts_callbacks.dragend {Function} Called when the user releases the mouse button 
 *     after dragging the rectangle. Callback args are: NW {GLatLng}, NE {GLatLng}, 
 *     SE {GLatLng}, SW {GLatLng}, NW {GPoint}, NE {GPoint}, SE {GPoint}, SW {GPoint}.
 *     The first 4 are the latitudes/longitudes; the last 4 are the pixel coords on the map.
 *   opts_callbacks.backbuttonclick {Function} Called when the back button is activated 
 *     after the map context is restored. Callback args: methodCall (boolean) set true if
 *     this backbuttonclick was to restore context set by the mathod call, else false.
 * Method
 *    this.saveMapContext(text) Call to push map context onto the backStack and set the button text 
 *    this.initiateZoom() Call to simulate clicking the dragZoom button
 *    this.initiateZoomBack() Call to simulate clicking the dragZoom back button
 **/

/**
 *  Versions
 *  1.0 original version (v 189) 5/24/2007
 *  1.1 backbutton functionality added  (v 211) 7/30/2007
 *  1.2 bug fixes and 2 new methods 9/6/2007
 *    fix text selection conflict in IE
 *    fix align-text:center inheritance problem in IE
 *    create methods initiateZoom and initiateZoomBack which call buttonclick_() and backbuttonclick_()
 **/

function DragZoomControl(opts_boxStyle, opts_other, opts_callbacks) {
  // Holds all information needed globally
  // Not all globals are initialized here
  /*
   sanju
   * tool tip global 
   */
  	//this.isToolTip = true;
  /*
   sanju 
   */
  this.globals = {
    draggingOn: false,
    cornerTopDiv: null,
    cornerRightDiv: null,
    cornerBottomDiv: null,
    cornerLeftDiv: null,
    mapPosition: null,
    outlineDiv: null,
    mapWidth: 0,
    mapHeight: 0,
    mapRatio: 0,
    startX: 0,
    startY: 0,
    borderCorrection: 0
  };

  //box style options
  this.globals.style = {
    opacity: .2,
    fillColor: "#000",
    border: "2px solid blue"
  };

  var style = this.globals.style;
  for (var s in opts_boxStyle) {
    style[s]=opts_boxStyle[s];
  }

  var borderStyleArray = style.border.split(' ');
  style.outlineWidth = parseInt(borderStyleArray[0].replace(/\D/g,''));
  style.outlineColor = borderStyleArray[2];
  style.alphaIE = 'alpha(opacity=' + (style.opacity * 100) + ')';
 
  // map context stack for back button
  this.globals.backStack = [];

  // Other options
  this.globals.options={
    buttonHTML: 'zoom ...',
    buttonStartingStyle: 
      {width: '52px', border: '1px solid black', padding: '2px'},
    buttonStyle: {background: '#FFF'},
    backButtonHTML: 'zoom back',
    backButtonStyle: {background: '#FFF', display: 'none'},
    buttonZoomingHTML: 'Drag a region on the map',
    buttonZoomingStyle: {background: '#FF0'},
    overlayRemoveTime: 6000,
    backButtonEnabled: false,
    stickyZoomEnabled: false
  };
	
  for (var s in opts_other) {
    this.globals.options[s] = opts_other[s]
  }

  // callbacks: buttonclick, dragstart, dragging, dragend, backbuttonclick 
  if (opts_callbacks == null) {
    opts_callbacks = {}
  }
  this.globals.callbacks = opts_callbacks;
}

DragZoomControl.prototype = new GControl();

/**
 * Methods
 */

/**
 * Method called to save the map context before the zoom.
 * Back Button functionality:	
 * @param {text} text string for the back button
 */
DragZoomControl.prototype.saveMapContext = function(text) {
  if (this.globals.options.backButtonEnabled) {
    this.saveBackContext_(text,true);
    this.globals.backButtonDiv.style.display = 'block';
  }	
};

/**
 * Method called to initiate a dragZoom as if the user had clicked the dragZoom button.
 */
DragZoomControl.prototype.initiateZoom = function() {this.buttonclick_()};

/**
 * Method called to initiate a dragZoom back operation as if the user had clicked the dragZoom back button.
 * Back Button functionality:	
 */
DragZoomControl.prototype.initiateZoomBack = function() {if (this.globals.options.backButtonEnabled) this.backbuttonclick_()};	

/**
 * Creates a new button to control gzoom and appends to the button container div.
 * @param {DOM Node} buttonContainerDiv created in main .initialize code
 */
DragZoomControl.prototype.initButton_ = function(buttonContainerDiv) {
  var G = this.globals;
  var buttonDiv = document.createElement('div');
  buttonDiv.innerHTML = G.options.buttonHTML;
  buttonDiv.id = 'gzoom-control';
  buttonDiv.style.display = 'none';  // SOTHEBY CHANGES VISHAL 
  DragZoomUtil.style([buttonDiv], {cursor: 'pointer', zIndex:4});//chnaged
  DragZoomUtil.style([buttonDiv], G.options.buttonStartingStyle);
  DragZoomUtil.style([buttonDiv], G.options.buttonStyle);
  buttonContainerDiv.appendChild(buttonDiv);
  return buttonDiv;
};

/**												
 * Creates a second new button to control backup zoom and appends to the button container div.
 * @param {DOM Node} buttonContainerDiv created in main .initialize code
 */
DragZoomControl.prototype.initBackButton_ = function(buttonContainerDiv) {
  var G = this.globals;
  var backButtonDiv = document.createElement('div');
  backButtonDiv.innerHTML = G.options.backButtonHTML;
  backButtonDiv.id = 'gzoom-back';
  DragZoomUtil.style([backButtonDiv], {cursor: 'pointer', zIndex:4});
  DragZoomUtil.style([backButtonDiv], G.options.buttonStartingStyle);
  DragZoomUtil.style([backButtonDiv], G.options.backButtonStyle);
  buttonContainerDiv.appendChild(backButtonDiv);
  return backButtonDiv;
};

/**
 * Sets button mode to zooming or otherwise, changes CSS & HTML.
 * @param {String} mode Either "zooming" or not.
 */
DragZoomControl.prototype.setButtonMode_ = function(mode){
  var G = this.globals;
  if (mode == 'zooming') {
    G.buttonDiv.innerHTML = G.options.buttonZoomingHTML;
    DragZoomUtil.style([G.buttonDiv], G.options.buttonStartingStyle);
    DragZoomUtil.style([G.buttonDiv], G.options.buttonZoomingStyle);
  } else {
    G.buttonDiv.innerHTML = G.options.buttonHTML;
    DragZoomUtil.style([G.buttonDiv], G.options.buttonStartingStyle);
    DragZoomUtil.style([G.buttonDiv], G.options.buttonStyle);
  }
};

/**
 * Is called by GMap2's addOverlay method. Creates the zoom control
 * divs and appends to the map div.
 * @param {GMap2} map The map that has had this DragZoomControl added to it.
 * @return {DOM Object} Div that holds the gzoomcontrol button
 */ 
DragZoomControl.prototype.initialize = function(map) {
  var G = this.globals;
  var me = this;
  var mapDiv = map.getContainer();
 
  // Create div for both buttons	
    var buttonContainerDiv = document.createElement("div");	
    DragZoomUtil.style([buttonContainerDiv], {cursor: 'pointer', zIndex: 4});

  // create and init the zoom button
    //DOM:button
    var buttonDiv = this.initButton_(buttonContainerDiv);

  // create and init the back button				
    //DOM:button
    var backButtonDiv = this.initBackButton_(buttonContainerDiv);
  
  // Add the two buttons to the map 					
    mapDiv.appendChild(buttonContainerDiv);
 
  //DOM:map covers
    var zoomDiv = document.createElement("div");
    zoomDiv.id ='gzoom-map-cover';
    zoomDiv.innerHTML ='<div id="gzoom-outline" style="position:absolute;display:none;"></div><div id="gzoom-cornerTopDiv" style="position:absolute;display:none;"></div><div id="gzoom-cornerLeftDiv" style="position:absolute;display:none;"></div><div id="gzoom-cornerRightDiv" style="position:absolute;display:none;"></div><div id="gzoom-cornerBottomDiv" style="position:absolute;display:none;"></div>';
    DragZoomUtil.style([zoomDiv], {position: 'absolute', display: 'none', overflow: 'hidden', cursor: 'crosshair', zIndex: 3});
    mapDiv.appendChild(zoomDiv);
  
  // add event listeners
    GEvent.addDomListener(buttonDiv, 'click', function(e) {
      me.buttonclick_(e);
    });
    GEvent.addDomListener(backButtonDiv, 'click', function(e) {
      me.backbuttonclick_(e);
    });
    GEvent.addDomListener(zoomDiv, 'mousedown', function(e) {
      me.coverMousedown_(e);
    });
    GEvent.addDomListener(document, 'mousemove', function(e) {
      me.drag_(e);
    });
    GEvent.addDomListener(document, 'mouseup', function(e) {
      me.mouseup_(e);
    });
  
  // get globals
    G.mapPosition = DragZoomUtil.getElementPosition(mapDiv);
    G.outlineDiv = DragZoomUtil.gE("gzoom-outline");	
    G.buttonDiv = DragZoomUtil.gE("gzoom-control");
    G.backButtonDiv = DragZoomUtil.gE("gzoom-back");
    G.mapCover = DragZoomUtil.gE("gzoom-map-cover");
    G.cornerTopDiv = DragZoomUtil.gE("gzoom-cornerTopDiv");
    G.cornerRightDiv = DragZoomUtil.gE("gzoom-cornerRightDiv");
    G.cornerBottomDiv = DragZoomUtil.gE("gzoom-cornerBottomDiv");
    G.cornerLeftDiv = DragZoomUtil.gE("gzoom-cornerLeftDiv");
    G.map = map;
  
    G.borderCorrection = G.style.outlineWidth * 2;	
    this.setDimensions_();
  
  //styles
    this.initStyles_();

  // disable text selection on map cover
    G.mapCover.onselectstart = function() {return false}; 
    
  return buttonContainerDiv;
};

/**
 * Required by GMaps API for controls. 
 * @return {GControlPosition} Default location for control
 */
DragZoomControl.prototype.getDefaultPosition = function() {
  return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(3, 120));
};

/**
 * Function called when mousedown event is captured.
 * @param {Object} e 
 */
DragZoomControl.prototype.coverMousedown_ = function(e){
  var G = this.globals;
  var pos = this.getRelPos_(e);
  G.startX = pos.left;
  G.startY = pos.top;
  
  DragZoomUtil.style([G.mapCover], {background: 'transparent', opacity: 1, filter: 'alpha(opacity=100)'});
  DragZoomUtil.style([G.outlineDiv], {left: G.startX + 'px', top: G.startY + 'px', display: 'block', width: '1px', height: '1px'});
  G.draggingOn = true;

  G.cornerTopDiv.style.top = (G.startY - G.mapHeight) + 'px';
  G.cornerTopDiv.style.display ='block';
  G.cornerLeftDiv.style.left = (G.startX - G.mapWidth) +'px';
  G.cornerLeftDiv.style.top = G.startY + 'px';
  G.cornerLeftDiv.style.display = 'block';

  G.cornerRightDiv.style.left = G.startX + 'px';
  G.cornerRightDiv.style.top = G.startY + 'px';
  G.cornerRightDiv.style.display = 'block';
  G.cornerBottomDiv.style.left = G.startX + 'px';
  G.cornerBottomDiv.style.top = G.startY + 'px';
  G.cornerBottomDiv.style.width = '0px';
  G.cornerBottomDiv.style.display = 'block';

  // invoke the callback if provided
  if (G.callbacks.dragstart != null) {
    G.callbacks.dragstart(G.startX, G.startY);
  }

  return false;
};

/**
 * Function called when drag event is captured
 * @param {Object} e 
 */
DragZoomControl.prototype.drag_ = function(e){
  var G = this.globals;
  if(G.draggingOn) {
    var pos = this.getRelPos_(e);
    rect = this.getRectangle_(G.startX, G.startY, pos, G.mapRatio);

    if (rect.left) {
      addX = -rect.width;			
    } else { 
      addX = 0;
    }

    if (rect.top) {
      addY = -rect.height;
    } else {
      addY = 0;
    }

    DragZoomUtil.style([G.outlineDiv], {left: G.startX + addX + 'px', top: G.startY + addY + 'px', display: 'block', width: '1px', height: '1px'});	
	
    G.outlineDiv.style.width = rect.width + "px";
    G.outlineDiv.style.height = rect.height + "px";

    G.cornerTopDiv.style.height = ((G.startY + addY) - (G.startY - G.mapHeight)) + 'px';
    G.cornerLeftDiv.style.top = (G.startY + addY) + 'px';
    G.cornerLeftDiv.style.width = ((G.startX + addX) - (G.startX - G.mapWidth)) + 'px';
    G.cornerRightDiv.style.top = G.cornerLeftDiv.style.top;
    G.cornerRightDiv.style.left = (G.startX + addX + rect.width + G.borderCorrection) + 'px';
    G.cornerBottomDiv.style.top = (G.startY + addY + rect.height + G.borderCorrection) + 'px';
    G.cornerBottomDiv.style.left = (G.startX - G.mapWidth + ((G.startX + addX) - (G.startX - G.mapWidth))) + 'px';
    G.cornerBottomDiv.style.width = (rect.width + G.borderCorrection) + 'px';
		
    // invoke callback if provided
    if (G.callbacks.dragging != null) {
      G.callbacks.dragging(G.startX, G.startY, rect.endX, rect.endY)
    }
		
    return false;
  }  
};

/** 
 * Function called when mouseup event is captured
 * @param {Event} e
 */
DragZoomControl.prototype.mouseup_ = function(e){
  var G = this.globals;
  if (G.draggingOn) {
    var pos = this.getRelPos_(e);
    G.draggingOn = false;
    
    var rect = this.getRectangle_(G.startX, G.startY, pos, G.mapRatio);

    if (rect.left) rect.endX = rect.startX - rect.width;
    if (rect.top) rect.endY = rect.startY - rect.height;
	
    this.resetDragZoom_();

    var nwpx = new GPoint(rect.startX, rect.startY);
    var nepx = new GPoint(rect.endX, rect.startY);
    var sepx = new GPoint(rect.endX, rect.endY);
    var swpx = new GPoint(rect.startX, rect.endY);
    var nw = G.map.fromContainerPixelToLatLng(nwpx); 
    var ne = G.map.fromContainerPixelToLatLng(nepx); 
    var se = G.map.fromContainerPixelToLatLng(sepx); 
    var sw = G.map.fromContainerPixelToLatLng(swpx); 

    var zoomAreaPoly = new GPolyline([nw, ne, se, sw, nw], G.style.outlineColor, G.style.outlineWidth + 1,.4);

    try{
      G.map.addOverlay(zoomAreaPoly);
      setTimeout (function() {G.map.removeOverlay(zoomAreaPoly)}, G.options.overlayRemoveTime);  
    }catch(e) {}

    polyBounds = zoomAreaPoly.getBounds();
    var ne = polyBounds.getNorthEast();
    var sw = polyBounds.getSouthWest();
    var se = new GLatLng(sw.lat(), ne.lng());
    var nw = new GLatLng(ne.lat(), sw.lng());
    zoomLevel = G.map.getBoundsZoomLevel(polyBounds);
    center = polyBounds.getCenter();
    G.map.setCenter(center, zoomLevel);

    // invoke callback if provided
    if (G.callbacks.dragend != null) {
      G.callbacks.dragend(nw, ne, se, sw, nwpx, nepx, sepx, swpx);
    }

    //re-init if sticky
    if (G.options.stickyZoomEnabled) {
      //GLog.write("stickyZoomEnabled, re-initting");
      this.initCover_();
      if (G.options.backButtonEnabled) this.saveBackContext_(G.options.backButtonHTML,false); // save the map context for back button
      G.backButtonDiv.style.display='none';
    }
  }
};

/**
 * Set the cover sizes according to the size of the map
 */
DragZoomControl.prototype.setDimensions_ = function() {
  var G = this.globals;
  var mapSize = G.map.getSize();
  G.mapWidth  = mapSize.width;
  G.mapHeight = mapSize.height;
  G.mapRatio  = G.mapHeight / G.mapWidth;
  // set left:0px in next <div>s in case we inherit text-align:center from map <div> in IE.
  DragZoomUtil.style([G.mapCover, G.cornerTopDiv, G.cornerRightDiv, G.cornerBottomDiv, G.cornerLeftDiv], 
    {left: '0px',width: G.mapWidth + 'px', height: G.mapHeight +'px'});
};

/**
 * Initializes styles based on global parameters
 */
DragZoomControl.prototype.initStyles_ = function(){
  var G = this.globals;
  DragZoomUtil.style([G.mapCover, G.cornerTopDiv, G.cornerRightDiv, G.cornerBottomDiv, G.cornerLeftDiv], 
    {filter: G.style.alphaIE, opacity: G.style.opacity, background:G.style.fillColor});
  G.outlineDiv.style.border = G.style.border;  
};

/**
 * Function called when the zoom button's click event is captured.
 */
DragZoomControl.prototype.buttonclick_ = function(){
	
	var isToolDiv = $('tooltipMain');
	if(isToolDiv)
	{
		isDragZoom=false;
		if(isToolTip)
		{
			$('tooltipMain').style.display = 'block';
			isToolTip = false;
			setTimeout("hideMapToolDiv()",15000);
		}
		else
		{
			$('tooltipMain').style.display = 'none';
			isToolTip = true;
			
		}	
	}
	else
	{
		body = document.getElementsByTagName('body')[0];
		var toolTipContainer = document.createElement('div');
		toolTipContainer.id = 'tooltipMain';
		toolTipContainer.style.display = 'block';
		toolTipContainer.style.zIndex = 4;
		//toolTipContainer.style.background = 'transparent';
		innertext = ''; 
		
		innertext += ' <div id="cont" class="content" style="position:absolute;background:transparent"><table width="195" border="0px solid black" cellpadding="0" cellspacing="0" valign="middle" height="65"> ';
		innertext += '   <tr> ';
		innertext += '     <td style="width:5px;height:3px;"></td> ';
		innertext += '     <td style="height:3px;"></td> ';
		innertext += '     <td style="width:10px;height:3px;"></td> ';
		innertext += '   </tr> ';
		innertext += '   <tr> ';
		innertext += '     <td style="width:5px;height:10px;">&nbsp;</td> ';
		//innertext += '     <td style="height:10px;" align="left"><a class="tooltipAnchor crsr" onclick="turnOff();">Turn this Off</a></td> ';
		innertext += '     <td style="height:10px;" align="left">&nbsp;</td> ';
		innertext += '     <td style="width:10px;height:10px;cursor:pointer;*cursor:hand;"><img src="../../../wt/terabitz/images/dashboard/close_img.gif" onclick="hideMapToolDiv();"></td> ';
		innertext += '   </tr> ';
		innertext += '   <tr> ';
		innertext += '     <td style="width:5px;height:5px;"></td> ';
		innertext += '     <td style="height:5px;"></td> ';
		innertext += '     <td style="width:10px;height:5px;"></td> ';
		innertext += '   </tr> ';
		innertext += '   <tr> ';
		innertext += '     <td style="width:5px;height:33px;">&nbsp;</td> ';
		innertext += '     <td style="height:33px;"><span id="ttContent" class="content">Click and Drag on the Map to zoom.</span><span id="ttTitle"></span></td> ';
		innertext += '     <td style="width:10px;height:33px;">&nbsp;</td> ';
		innertext += '   </tr> ';
		innertext += '   </table></div>';
	
		toolTipContainer.innerHTML = innertext;
		toolTipContainer.className = 'toolTP';
		var lt = getPositionLeft('gzoom-control');
		var tp = getPositionTop('gzoom-control');
		
		toolTipContainer.style.position = 'absolute';
		toolTipContainer.style.top = (tp - 110) + "px";
		if(isIE)
	        toolTipContainer.style.left = lt +  "px";
	   else
	        toolTipContainer.style.left = lt +  "px";
	        
	   body.appendChild(toolTipContainer);
	   setTimeout("hideMapToolDiv()",15000);
	   isToolTip = false;   
	}
	

  var G = this.globals;	
  G.backButtonDiv.style.display='none';
  if (G.mapCover.style.display == 'block') { // reset if clicked before dragging
   	$('tooltipMain').style.display = 'none';
	isToolTip = true;
    this.resetDragZoom_();
    if (G.options.backButtonEnabled) {  
	  this.restoreBackContext_();  // pop the backStack on a button reset
      if (G.backStack.length==0) G.backButtonDiv.style.display='none';
    }
  } else {
	isDragZoom=true;
	this.initCover_();
    if ( G.options.backButtonEnabled ) this.saveBackContext_(G.options.backButtonHTML,false); // save the map context for back button
  }
};

function hideMapToolDiv()
{
	$('tooltipMain').style.display = 'none';
	isToolTip = true;
}

/**
 * Back Button functionality:	
 * Function called when the back button's click event is captured.
 * calls the function to set the map context back to where it was before the zoom.
 */
DragZoomControl.prototype.backbuttonclick_ = function(){
  var G = this.globals;	
  if (G.options.backButtonEnabled && G.backStack.length > 0) {
    this.restoreBackContext_();
    // invoke the callback if provided
    if (G.callbacks['backbuttonclick'] != null) {
      G.callbacks.backbuttonclick(G.methodCall);
    }
  }
};

/** 
 * Back Button functionality:	
 * Saves the map context and pushes it on the backStack for later use by the back button
 */
DragZoomControl.prototype.saveBackContext_ = function(text,methodCall) {
  var G = this.globals;
  var backFrame = {};
  backFrame["center"] = G.map.getCenter();
  backFrame["zoom"] = G.map.getZoom();
  backFrame["maptype"] = G.map.getCurrentMapType();
  backFrame["text"] = G.backButtonDiv.innerHTML; // this saves the previous button text
  backFrame["methodCall"] = methodCall; //This determines if it was an internal or method call
  G.backStack.push(backFrame);
  G.backButtonDiv.innerHTML = text;
  // Back Button is turned on in resetDragZoom_()
};

/** 
 * Back Button functionality:	
 * Pops the previous map context off of the backStack and restores the map to that context
 */
DragZoomControl.prototype.restoreBackContext_ = function() {
  var G = this.globals;
  var backFrame = G.backStack.pop();
  G.map.setCenter(backFrame["center"],backFrame["zoom"],backFrame["maptype"]);
  G.backButtonDiv.innerHTML = backFrame["text"];
  G.methodCall = backFrame["methodCall"];
  if (G.backStack.length==0) G.backButtonDiv.style.display = 'none'; // if we're at the top of the stack, hide the back botton
};

/**
 * Shows the cover over the map
 */
DragZoomControl.prototype.initCover_ = function(){
  var G = this.globals;
  G.mapPosition = DragZoomUtil.getElementPosition(G.map.getContainer());
  this.setDimensions_();
  this.setButtonMode_('zooming');
  DragZoomUtil.style([G.mapCover], {display: 'block', background: G.style.fillColor});
  DragZoomUtil.style([G.outlineDiv], {width: '0px', height: '0px'});

  //invoke callback if provided
  if(G.callbacks['buttonclick'] != null){
    G.callbacks.buttonclick();
  }
};

/**
 * Gets position of the mouse relative to the map
 * @param {Object} e
 */
DragZoomControl.prototype.getRelPos_ = function(e) {
  var pos = DragZoomUtil.getMousePosition(e);
  var G = this.globals;
  return {top: (pos.top - G.mapPosition.top), 
          left: (pos.left - G.mapPosition.left)};
};

/**
 * Figures out the rectangle the user's trying to draw
 * @param {Number} startX 
 * @param {Number} startY
 * @param {Object} pos
 * @param {Number} ratio
 * @return {Object} Describes the rectangle
 */
DragZoomControl.prototype.getRectangle_ = function(startX, startY, pos, ratio){
  var left = false;
  var top = false;
  var dX = pos.left - startX;
  var dY = pos.top - startY;	
  if (dX < 0) {
    dX = dX * -1;
    left = true;
  }
  if (dY < 0) {
    dY = dY * -1;
    top = true;
  }
  delta = dX > dY ? dX : dY;

  return {
    startX: startX,
    startY: startY,
    endX: startX + delta,
    endY: startY + parseInt(delta * ratio),
    width: delta,
    height: parseInt(delta * ratio),
    left:left,
    top:top
  }
};

/** 
 * Resets CSS and button display when drag zoom done
 */
DragZoomControl.prototype.resetDragZoom_ = function() {
  var G = this.globals;
  DragZoomUtil.style([G.mapCover, G.cornerTopDiv, G.cornerRightDiv, G.cornerBottomDiv, G.cornerLeftDiv], 
    {display: 'none', opacity: G.style.opacity, filter: G.style.alphaIE});
  G.outlineDiv.style.display = 'none';	
  this.setButtonMode_('normal');
  if (G.options.backButtonEnabled  && (G.backStack.length > 0)) G.backButtonDiv.style.display = 'inline'; // show the back button
};

/* utility functions in DragZoomUtil.namespace */
var DragZoomUtil={};

/**
 * Alias function for getting element by id
 * @param {String} sId
 * @return {Object} DOM object with sId id
 */
DragZoomUtil.gE = function(sId) {
  return document.getElementById(sId);
}

/**
 * A general-purpose function to get the absolute position
 * of the mouse.
 * @param {Object} e  Mouse event
 * @return {Object} Describes position
 */
DragZoomUtil.getMousePosition = function(e) {
  var posX = 0;
  var posY = 0;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY) {
    posX = e.pageX;
    posY = e.pageY;
  } else if (e.clientX || e.clientY){
    posX = e.clientX + 
      (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
    posY = e.clientY + 
      (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
  }	
  return {left: posX, top: posY};  
};

/**
 * Gets position of element
 * @param {Object} element
 * @return {Object} Describes position
 */
DragZoomUtil.getElementPosition = function(element) {
  var leftPos = element.offsetLeft;          // initialize var to store calculations
  var topPos = element.offsetTop;            // initialize var to store calculations
  var parElement = element.offsetParent;     // identify first offset parent element  
  while (parElement != null ) {                // move up through element hierarchy
    leftPos += parElement.offsetLeft;      // appending left offset of each parent
    topPos += parElement.offsetTop;  
    parElement = parElement.offsetParent;  // until no more offset parents exist
  }
  return {left: leftPos, top: topPos};
};

/**
 * Applies styles to DOM objects 
 * @param {String/Object} elements Either comma-delimited list of ids 
 *   or an array of DOM objects
 * @param {Object} styles Hash of styles to be applied
 */
DragZoomUtil.style = function(elements, styles){
  if (typeof(elements) == 'string') {
    elements = DragZoomUtil.getManyElements(elements);
  }
  for (var i = 0; i < elements.length; i++){
    for (var s in styles) { 
      elements[i].style[s] = styles[s];
    }
  }
};

/**
 * Gets DOM elements array according to list of IDs
 * @param {String} elementsString Comma-delimited list of IDs
 * @return {Array} Array of DOM elements corresponding to s
 */
DragZoomUtil.getManyElements = function(idsString){		
  var idsArray = idsString.split(',');
  var elements = [];
  for (var i = 0; i < idsArray.length; i++){
    elements[elements.length] = DragZoomUtil.gE(idsArray[i])
  };
  return elements;
};


/*mapItControl.js*/

var imgThmPath = "../../wt/"+bkTheme+"/images/";
function mapItControl(){}
var mapIconContainer = null;
var mapIconCount = 0;
mapItControl.prototype = new GControl();

mapItControl.prototype.initialize = function(map)
{
	var container = document.createElement("div");
	container.id="myIconContainer";
	this.setButtonStyle_(container,"containerClass");
//	container.style.width = "290px";
	container.style.height = "22px";
	//container.style.display = "none";
//	container.innerHTML = '<table cellspacing="0" cellpadding="0" style="cursor:default;width:100%;height:100%;"><tr><td style="width:100%;height:100%;" align="center" valign="middle" class="infoSummaryHeader">Click icons above to populate map.</td></tr></table>';
	map.getContainer().appendChild(container);
	mapIconContainer = container;
	
	/*
	 * title  = drag zoom control
	 * added by = sanjeev 
	 * */
		var styleOpts = {};
		styleOpts.border = '2px dashed red';
		styleOpts.width = '300px';
		styleOpts.display = 'inline';

        var otherOpts = { 
          buttonStartingStyle: {background: 'transparent', paddingTop: '2px', paddingLeft: '0px', border:'0px solid black'},
          //buttonHTML: '<img title="Drag Zoom In" src="../../wt/<?php echo $theme; ?>/images/brokerAdmin/zoomin.gif">',
          buttonHTML: '<label id="btnDragZoom" class="mapTypeButtonDZ">DragZoom</label>',
          buttonStyle: {width:'75px', height:'15px'},
          buttonZoomingHTML: '<label id="btnDragZoom" class="mapTypeButtonSelectDZ">DragZoom</label>',
          buttonZoomingStyle: {background: 'transparent', paddingTop: '2px', paddingLeft: '0px', border:'0px solid black',width:'75px', height:'15px'},
          //backButtonHTML: '<img title="Zoom Back Out" src="../../wt/<?php echo $theme; ?>/images/brokerAdmin/zoomout.gif">',
          /*backButtonHTML: '<label id="btnDragZoom" class="mapTypeButton">Drag Zoom Back</label>',  
          backButtonStyle: {background: 'transparent',display:'none',marginTop:'5px',width:'150px', height:'15px'},*/
          backButtonEnabled: false,
          stickyZoomEnabled: false, 
          overlayRemoveTime: 500}; 

		var callbacks = {dragend:function(method){hideMapToolDiv();reloadDragZoomAll();		mylist2 = GEvent.addListener(map,"zoomend",function(){mapZoomChange();});},buttonclick:function(method){isDragZoom=true;		GEvent.removeListener(mylist2);}}
		map.addControl(new DragZoomControl(styleOpts, otherOpts, callbacks), new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(282,8)));

		if (isDragZoomCtrl=="0" || powerSearch=="1")
			$('gzoom-control').style.display = 'none';
		else if((trim(bkTheme) == 'intero') && (isIE == 1))
		{
			$('gzoom-control').parentNode.style.left = '275px';
		}
		else if((trim(bkTheme) == 'intero') && (isIE != 1))
		{
			$('gzoom-control').parentNode.style.left = '285px';
		}

	/*drag zoom ends*/

	return container;
}

mapItControl.prototype.getDefaultPosition = function()
{
	var left=65;
	var top = -24;
	if(isIE){ top=-23; }
	return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(left,top));
}

mapItControl.prototype.setButtonStyle_ = function(button,cssStyle)
{
	button.className = cssStyle;
}

mapItControl.prototype.getContainer_ = function()
{
	return mapIconContainer;
}

mapItControl.prototype.addNewIcon_ = function(container,divId,imgSrc,altText,show,event,listener)
{
	if (mapIconCount==0) 
		container.innerHTML = '';
	var iconDiv = document.createElement("img");
	iconDiv.id = divId;
	iconDiv.src = imgSrc;
	if (altText || altText != null)
	{
		iconDiv.alt = altText;
		iconDiv.title = altText;
	}
	else
	{
		iconDiv.alt = divId;
		iconDiv.title = divId;
	}
	if (show)
	{
		this.setButtonStyle_(iconDiv,"mapItIconVisible");
	}
	else
	{
		this.setButtonStyle_(iconDiv,"mapItIconHidden");
	}
	container.appendChild(iconDiv);
	if (event && listener)
	{
		GEvent.addDomListener(iconDiv, event, eval(listener));
	}
	GEvent.addDomListener(iconDiv, "mouseover", function(){
		var newPath = imgSrc.replace(".gif","Crossed.gif");
		iconDiv.src = newPath;
	})
	GEvent.addDomListener(iconDiv, "mouseout", function(){
		var newPath = imgSrc.replace("Crossed.gif",".gif");
		iconDiv.src = newPath;
	})

	if (mapIconCount==0) 
		container.style.display = "";
	mapIconCount=mapIconCount+1;
	return iconDiv;
}

mapItControl.prototype.removeIcon_ = function(container,divId)
{
	var myWidgetName = divId;
	if ($(divId))
	{
		container.removeChild($(divId));
		mapIconCount=mapIconCount-1;
	}
	if (mapIconCount==0)
	{ 
//		container.innerHTML = '<table cellspacing="0" cellpadding="0" style="cursor:default;width:100%;height:100%;"><tr><td style="width:100%;height:100%;" align="center" valign="middle" class="infoSummaryHeader">Click icons above to populate map.</td></tr></table>';
		//container.style.display = "none";
		
	}
	if(myWidgetName=="brokeragents")
	{
		var url="../dashboard/dshbrdBrokerAgents.php";
		var qryStr = "clearSessionStatusMapit=1";
		var responseCloseAgents = function(reqObj)
		{
			var resp = (reqObj.responseText);
		}
		ajaxRequest(url,qryStr,responseCloseAgents,false);
	}
}

mapItControl.prototype.hide_ = function(divId)
{
	if ($(divId))
	{
		$(divId).className = "mapItIconHidden";
	}
}

mapItControl.prototype.show_ = function(divId)
{
	if ($(divId))
	{
		$(divId).className = "mapItIconVisible";
	}
}

mapItControl.prototype.clear_ = function()
{
	while (mapIconContainer.firstChild)
	{
		mapIconContainer.removeChild(mapIconContainer.firstChild);
	}
}

mapItControl.prototype.count_ = function()
{
	return mapIconCount;
}


/*zoomCtrl.js*/

var minSD=11;
var maxSD=13;
var minHM=14;
var maxHM=17;
var Bm=GEvent;
var WebRoot="/wt/"+bkTheme+"/";

function preloadImages()
{
	var img = new Array();
	for(var i=0;i<19;i++)
	{
		img[i]= new Image(100,25); 
		img[i].src=WebRoot+"images/zoom_bar/"+i+".gif"; 
	}
}

function createImageMap()
{
	var mapElm = document.createElement("map");
	mapElm.id = "ZTracker";
	mapElm.name = "ZTracker";

	var area2 = document.createElement("area");
	area2.shape="rect";
	area2.coords="0,31,16,34";
	area2.href="javascript:DoZoom(12);";
	area2.title="Zip Codes";
	area2.alt="Zip Codes";
	mapElm.appendChild(area2);

	var area5 = document.createElement("area");
	area5.shape="rect";
	area5.coords="0,25,16,28";
	area5.href="javascript:DoZoom(13);";
	area5.title="Zip Codes";
	area5.alt="Zip Codes";
	mapElm.appendChild(area5);

	var area8 = document.createElement("area");
	area8.shape="rect";
	area8.coords="0,19,16,22";
	area8.href="javascript:DoZoom(14);";
	area8.title="Homes";
	area8.alt="Homes";
	mapElm.appendChild(area8);

	var area11 = document.createElement("area");
	area11.shape="rect";
	area11.coords="0,13,16,16";
	area11.href="javascript:DoZoom(15);";
	area11.title="Homes";
	area11.alt="Homes";
	mapElm.appendChild(area11);

	var area13 = document.createElement("area");
	area13.shape="rect";
	area13.coords="0,7,16,10";
	area13.href="javascript:DoZoom(16);";
	area13.title="Homes";
	area13.alt="Homes";
	mapElm.appendChild(area13);

	var area15 = document.createElement("area");
	area15.shape="rect";
	area15.coords="0,1,16,4";
	area15.href="javascript:DoZoom(17);";
	area15.title="Homes";
	area15.alt="Homes";
	mapElm.appendChild(area15);

/*
	var area12 = document.createElement("area");
	area12.shape="rect";
	area12.coords="0,25,16,28";
	area12.href="javascript:DoZoom(12);";
	area12.title="City";
	area12.alt="City";
	mapElm.appendChild(area12);

	var area14 = document.createElement("area");
	area14.shape="rect";
	area14.coords="0,13,16,16";
	area14.href="javascript:DoZoom(14);";
	area14.title="Subdivisions";
	area14.alt="Subdivisions";
	mapElm.appendChild(area14);

	var area16 = document.createElement("area");
	area16.shape="rect";
	area16.coords="0,1,16,4";
	area16.href="javascript:DoZoom(16);";
	area16.title="Homes";
	area16.alt="Homes";
	mapElm.appendChild(area16);
*/
	document.body.appendChild(mapElm);
}

function ZoomControl(ele){ mapEle = ele;}
ZoomControl.prototype=new GControl();
ZoomControl.prototype.initialize=function(map)
{
	var container=document.createElement("div");
	container.className="map_zoom clearfix";
	container.id="ZoomContainer";
	var zoomInDiv=document.createElement("div");
	zoomInDiv.className="zoom_in";
	container.appendChild(zoomInDiv);
	zoomInDiv.innerHTML="<img src='"+WebRoot+"images/zoom_bar/zoom_in.gif' title='Zoom In' />";
	Bm.addDomListener(zoomInDiv,"click",function()
	{
		if((map.getZoom()+1)<=17)
		{
			if(map.getZoom() == (minHM - 1)   && mapEle != null && mapEle.id=="mapSearchDiv")
				showlocationinfo("Please click on any pushpin to view Homes",5,"");
			else
				map.zoomIn();
//		if((map.getZoom()+1) > 14) map.setZoom(16);
//		else if((map.getZoom()+1) > 12) map.setZoom(14);
			//As(false,true);
		}
	});
	var zoomLevel=document.createElement("div");
	zoomLevel.className="level";
	container.appendChild(zoomLevel);
	zoomLevel.innerHTML="<img border='0' src='"+WebRoot+"images/zoom_bar/"+map.getZoom()+".gif' usemap='#ZTracker' />";
	Bm.addDomListener(map,"zoomend",function()
	{
		var chgZoom = map.getZoom();	
		if(map.getZoom()==12)	chgZoom = 6;
		else if(map.getZoom()==13)	chgZoom = 8;
		else if(map.getZoom()==14)	chgZoom = 11;
		else if(map.getZoom()==15)	chgZoom = 13;
		else if(map.getZoom()==16)	chgZoom = 14;
		else if(map.getZoom()==17)	chgZoom = 17;
		//alert(map.getZoom() + " == " + chgZoom);	
		zoomLevel.innerHTML="<img border='0' src='"+WebRoot+"images/zoom_bar/"+chgZoom+".gif' usemap='#ZTracker' />";
	});
	var zoomOutDiv=document.createElement("div");
	zoomOutDiv.className="zoom_out";
	container.appendChild(zoomOutDiv);
	zoomOutDiv.innerHTML="<img src='"+WebRoot+"images/zoom_bar/zoom_out.gif' title='Zoom Out' />";
	Bm.addDomListener(zoomOutDiv,"click",function()
	{
		if(map.getZoom()>12)
		{
//		if((map.getZoom()-1) < 14) map.setZoom(12);
//		else if((map.getZoom()-1) < 16) map.setZoom(14);
			if(map.getZoom() == minHM  && mapEle != null  && mapEle.id=="mapSearchDiv")
				showlocationinfo("Cannot zoom out further, kindly pan the map or select some different Zip Code.",5,"");
			else
				map.zoomOut();
		}
		//As(false,true);
	});
	map.getContainer().appendChild(container);
	preloadImages();
	createImageMap();
	return container;
};
ZoomControl.prototype.getDefaultPosition=function()
{
	return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(8,8));
};
function DoZoom(num)
{
	if(mapEle != null  && mapEle.id=="mapSearchDiv")
	{
		if(((map.getZoom() <=maxSD && map.getZoom() >=minSD)&&(num <=maxSD && num >=minSD)) || ((map.getZoom() <=maxHM && map.getZoom() >=minHM)&&(num <=maxHM && num >=minHM)))
			map.setZoom(num);
		else
			showlocationinfo("You can not zoom to this level.",5,"");
	}
	else if(mapEle != null  && mapEle.id=="mapPocketDiv")
	{
		mapPocket.setZoom(num);
	}
	else
		map.setZoom(num);
}


/*yslider.js*/

      
      // == Some global variables ==
      var YSLIDERLENGTH = 101;       // maximum length that the knob can move (slide height minus knob height)
      var MAXZOOM = 17
	  var imgThmPath = "../../wt/"+bkTheme+"/images/";

      // == Create a Custom GControl ==
//---------------------------------  Slider Control  ----------------------------     
      function YSliderControl() { }
      YSliderControl.prototype = new GControl();

      // == This function positions the slider to match the specified zoom level ==
      YSliderControl.prototype.setSlider = function(zoom) {
        var tp = Math.round((YSLIDERLENGTH/MAXZOOM*zoom));
        this.slide.left = tp;
        this.knob.style.left = tp+"px";
        //GLog.write("Map was zoomed to:"+zoom+" new Knob position:"+top);
      }

      // == This function reads the slider and sets the zoom level ==
      YSliderControl.prototype.setZoom = function() {
        var z=Math.round(this.slide.left*MAXZOOM/YSLIDERLENGTH);
        this.map.setZoom(z);
        //GLog.write("New knob position:"+this.slide.top+" new zoom: "+z);
      }

      YSliderControl.prototype.getZoomOnDrag = function() {
        var z=Math.round(this.slide.left*MAXZOOM/YSLIDERLENGTH);
		var curzoomlevel="";
		if (z<=1) { curzoomlevel = "WORLD";}
		else if (z<=4) { curzoomlevel = "USA";}
		else if (z<=9) { curzoomlevel = "STATE";}
		else if (z<=13) { curzoomlevel = "CITY";}
		else if (z<=16) { curzoomlevel = "STREET";}
		else { curzoomlevel = "HOMES"; }
		return curzoomlevel;
		//this.map.setZoom(z);
		//GLog.write("New knob position:"+this.slide.top+" new zoom: "+z);
      }


      // == This gets called bu the API when addControl(new YSlider()) is used ==
      YSliderControl.prototype.initialize = function(map) {
        // obtain Function Closure on a reference to "this"
        var that=this;
        // store a reference to the map so that we can call setZoom() on it
        this.map = map;

        // Is this MSIE, if so we need to use AlphaImageLoader
        var agent = navigator.userAgent.toLowerCase();
        if ((agent.indexOf("msie") > -1) && (agent.indexOf("opera") < 1)){this.ie = true} else {this.ie = false}

        // create the background graphic as a <div> containing an image
        var container = document.createElement("div");
        container.style.width="120px";
        container.style.height="19px";

        // Handle transparent PNG files in MSIE
        if (this.ie) {
          var loader = "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+imgThmPath+"/common/yslide.png', sizingMethod='scale');";
          container.innerHTML = '<div style="height:19px; width:120px; ' +loader+ '" ></div>';
        } else {
          container.innerHTML = '<img src="'+imgThmPath+'/common/yslide.png"  width=120 height=19 >';
        }

        // create the knob as a GDraggableObject
        // Handle transparent PNG files in MSIE
        if (this.ie) {
          var loader = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+imgThmPath+"/common/yknob.png', sizingMethod='scale');";
          this.knob = document.createElement("div"); 
          this.knob.style.height="19px";
          this.knob.style.width="19px";
          this.knob.style.filter=loader;
        } else {
          this.knob = document.createElement("img"); 
          this.knob.src = imgThmPath+"/common/yknob.png";
          this.knob.height = "19";
          this.knob.width = "19";
        }
        container.appendChild(this.knob);
        this.slide=new GDraggableObject(this.knob, {container:container});

        // attach the control to the map
        map.getContainer().appendChild(container);

        // Listen for other things changing the zoom level and move the slider
        GEvent.addListener(map, "zoomend", function(a,b) {that.setSlider(b)});

        // Listen for the slider being moved and set the zoom level
        GEvent.addListener(this.slide, "dragend", function() {
				that.setZoom();
				if (typeof(disableAutozoom)!="undefined")
					disableAutozoom = true;
				map.removeControl(ysliderZoomLevelCtrl);			
        	});
        
		GEvent.addListener(this.slide, "drag", function() {
				document.getElementById('lblZoomLevel').innerHTML = that.getZoomOnDrag();
        	});

		GEvent.addListener(this.slide, "dragstart", function() {
				ysliderZoomLevelCtrl = new YSliderZoomLevelControl(); 
				map.addControl(ysliderZoomLevelCtrl);			
				document.getElementById('lblZoomLevel').innerHTML = that.getZoomOnDrag();
        	});

		return container;
      }

      // == Set the default position for the control ==
      YSliderControl.prototype.getDefaultPosition = function() {
        return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(24, 5));
      }

//---------------------------------  ZoomIn Control  ----------------------------


      function YSliderPlusControl() { }
      YSliderPlusControl.prototype = new GControl();

      YSliderPlusControl.prototype.initialize = function(map) 
      {
		var plusContainer = document.createElement("div");
		plusContainer.style.width="14px";
		plusContainer.style.height="13px";
      
		var zoomInDiv = document.createElement("span");
		var imgZoomInDiv = document.createElement("img");
		imgZoomInDiv.src=imgThmPath+"/common/zoomin.png";
		imgZoomInDiv.style.cursor = "pointer";
		imgZoomInDiv.title="Zoom in";
		plusContainer.appendChild(zoomInDiv);  
		zoomInDiv.appendChild(imgZoomInDiv);
		GEvent.addDomListener( imgZoomInDiv, "click", function() { 
				if (map.getZoom()<17) 
					map.zoomIn(); 
				if (typeof(disableAutozoom)!="undefined")
	        		disableAutozoom = true;
			});
      
        map.getContainer().appendChild(plusContainer);     
        return plusContainer;
      }

      YSliderPlusControl.prototype.getDefaultPosition = function() {
        return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(146, 7));
      }
//---------------------------------  ZoomOut Control  ----------------------------
      function YSliderMinusControl() { }
      YSliderMinusControl.prototype = new GControl();

      YSliderMinusControl.prototype.initialize = function(map) 
      {
        var plusContainer = document.createElement("div");
        plusContainer.style.width="14px";
        plusContainer.style.height="13px";
      
     	var zoomOutDiv = document.createElement("span");
		var imgZoomOutDiv = document.createElement("img");
		imgZoomOutDiv.src=imgThmPath+"/common/zoomout.png";
		imgZoomOutDiv.style.cursor = "pointer";
		imgZoomOutDiv.title="Zoom out";
		plusContainer.appendChild(zoomOutDiv);     
		zoomOutDiv.appendChild(imgZoomOutDiv);
		GEvent.addDomListener( imgZoomOutDiv, "click", function() {
				map.zoomOut();
				if (typeof(disableAutozoom)!="undefined")
	        		disableAutozoom = true;
			});
	  
	    map.getContainer().appendChild(plusContainer);     
        return plusContainer;
      }

      YSliderMinusControl.prototype.getDefaultPosition = function() {
        return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
      }
      
      
      
      
      
//---------------------------------  ZoomInZoomOutSmall Control  ----------------------------
      function YSliderPlusMinusControl() { }
      YSliderPlusMinusControl.prototype = new GControl();

      YSliderPlusMinusControl.prototype.initialize = function(map) 
      {
        var plusMinusContainer = document.createElement("div");
        plusMinusContainer.style.width="33px";
        plusMinusContainer.style.height="13px";
//        plusMinusContainer.style.border = "solid 1px red";
      

		var zoomInDiv = document.createElement("div");
     	zoomInDiv.style.display ="inline";
     	zoomInDiv.style.marginLeft ="3px";
		var imgZoomInDiv = document.createElement("img");
		imgZoomInDiv.src=imgThmPath+"/common/zoomin.png";
		imgZoomInDiv.style.cursor = "pointer";
		imgZoomInDiv.title = "Zoom in";
		zoomInDiv.appendChild(imgZoomInDiv);


     	var zoomOutDiv = document.createElement("div");
     	zoomOutDiv.style.display ="inline";
		var imgZoomOutDiv = document.createElement("img");
		imgZoomOutDiv.src=imgThmPath+"/common/zoomout.png";
		imgZoomOutDiv.style.cursor = "pointer";
		imgZoomOutDiv.title = "Zoom out";
		zoomOutDiv.appendChild(imgZoomOutDiv);

		plusMinusContainer.appendChild(zoomOutDiv);     
		plusMinusContainer.appendChild(zoomInDiv);     
		GEvent.addDomListener( imgZoomOutDiv, "click", function() {  map.zoomOut();  })
		GEvent.addDomListener( imgZoomInDiv, "click", function() {  map.zoomIn();  })
	  
	    map.getContainer().appendChild(plusMinusContainer);     
        return plusMinusContainer;
      }

      YSliderPlusMinusControl.prototype.getDefaultPosition = function() {
        return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
      }      


//---------------------------------  Show Zoom Level Control  ----------------------------
      function YSliderZoomLevelControl() { }
      YSliderZoomLevelControl.prototype = new GControl();

      YSliderZoomLevelControl.prototype.initialize = function(map) 
      {
        var zoomLevelContainer = document.createElement("div");
        zoomLevelContainer.style.width="120px";
        zoomLevelContainer.style.height="13px";
      
		var lblZoomLevel = document.createElement("div");
		lblZoomLevel.id = "lblZoomLevel";
		lblZoomLevel.className = "lblZoomLevel";
		zoomLevelContainer.appendChild(lblZoomLevel);
		lblZoomLevel.innerHTML="Zoom Level";

	    map.getContainer().appendChild(zoomLevelContainer);     
        return zoomLevelContainer;
      }

      YSliderZoomLevelControl.prototype.getDefaultPosition = function() {
        return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(24, 25));
      }


/*showInfoGcontrol.js*/

var imgThmPath = "../../wt/"+bkTheme+"/images/";
function shoInfoGcontrol(){}

shoInfoGcontrol.prototype = new GControl();

shoInfoGcontrol.prototype.initialize = function(map)
{
	var containerInfo = document.createElement("div");
	containerInfo.style.zindex = 999;

	var imgInfoTbl = document.createElement("div");
	var imgInfoTblInn1 = document.createElement("div");
	var imgInfo = document.createElement("img");
	imgInfoTbl.id="tblimgInfo";


	imgInfo.src=imgThmPath+"common/close_map.gif";
	imgInfo.style.cursor = "pointer";
	imgInfo.title="Close";
	imgInfo.style.paddingTop="10px";
	imgInfo.style.paddingLeft="200px";
	imgInfoTbl.className = "csshowInfoDiv";
	imgInfoTbl.style.display='none';
	imgInfoTblInn1.appendChild(imgInfo);
	imgInfoTbl.appendChild(imgInfoTblInn1);
	containerInfo.appendChild(imgInfoTbl);
	GEvent.addDomListener(imgInfo, "click", function(){hideInfoDivOnMap();});
	
	map.getContainer().appendChild(containerInfo);
	return containerInfo;
}

shoInfoGcontrol.prototype.getDefaultPosition = function()
{
	return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(140, 30));
}

shoInfoGcontrol.prototype.setButtonStyle_ = function(button,cssStyle)
{
	button.className = cssStyle;
}
function showInfoDivOnMap()
{
	if ( $("tblimgInfo") && (isDragZoomCtrl == "1" || isDragZoomCtrl == "2") && bkTheme != "terabitz")
		$("tblimgInfo").style.display="block";
	
}
function hideInfoDivOnMap()
{
	if ( $("tblimgInfo") && (isDragZoomCtrl == "1" || isDragZoomCtrl == "2") && bkTheme != "terabitz")
		$("tblimgInfo").style.display="none";
}


/*kwetooMap.js*/

function loadMap(element)
{
	if (GBrowserIsCompatible())
	{
		map = new GMap2(element);
		if (typeof(page) != "undefined")
		{
//		map.addControl(new GSmallMapControl());
			if (page=="index" || page=="backtosearch")
			{
				geoSearchCtrl = new GeoSearchControl();
				map.addControl(geoSearchCtrl);
				GEvent.addListener(map,"dragend",function(){chkAutoUpdate()});
				GEvent.addListener(map,"zoomend",function(){chkAutoUpdate()});
				$("chkAutoUpdate").checked = false;
			}
		}
		//smart win for new map - drag zoom
		if ( (isDragZoomCtrl == "0" || isDragZoomCtrl == "2") && bkTheme != "terabitz")
		{
			infoDivCntrl = new shoInfoGcontrol();
			map.addControl(infoDivCntrl);
		}

		if (bkTheme == "frontdoor")
		{
			ysliderCtrl = new ZoomControl(); 
			map.addControl(ysliderCtrl);
			map.addControl(new GMapTypeControl());
		}
		else
		{
			mapTypeCtrl = new mapTypeControl();
			map.addControl(mapTypeCtrl);

			if(typeof(mapToShow) == "undefined")
				mapToShow = "";

			if(mapToShow == "nhood" || bkTheme == "fasthome")
			{
				ysliderCtrl = new ZoomControl(element); 
				map.addControl(ysliderCtrl);
			}
			else
			{
				ysliderCtrl = new YSliderControl(); 
				map.addControl(ysliderCtrl);			
				ysliderPlusCtrl = new YSliderPlusControl(); 
				map.addControl(ysliderPlusCtrl);			
				ysliderMinusCtrl = new YSliderMinusControl(); 
				map.addControl(ysliderMinusCtrl);
			}
		
			document.getElementById("btnMap").className="mapTypeButtonSelect";
			GEvent.addListener(map,"maptypechanged",function(){highlightMapTypeBtn(map);});

		}

		if (isDragZoomCtrl=="2")
		{
			mylist1 = GEvent.addListener(map,"movestart",function(){mapChangeStart();});
			mylist2 = GEvent.addListener(map,"zoomend",function(){mapZoomChange();});
			mylist3 = GEvent.addListener(map,"moveend",function(){reloadMapChange();});
		}
		else if (isDragZoomCtrl=="0")
			mylist3 = GEvent.addListener(map,"zoomend",function(){reloadMapChange();});

		var latLong = (getCookie("latLongCk")!=null)?(eval(getCookie("latLongCk"))[0]):null;
		if(latLong==null)
		{
			var latLongStr = "[{lat:"+lat+",lng:"+long+"}]";
			var now = new Date();
			now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
			setCookie("latLongCk",latLongStr,now);
		}
		latLong = eval(getCookie("latLongCk"))[0];
		var ltVar = latLong.lat;
		var lngVar = latLong.lng;

		if(latLong != null && trim(ltVar) != '' && trim(lngVar)!= '' )
			map.setCenter(new GLatLng(parseFloat(ltVar), parseFloat(lngVar)), 11, G_NORMAL_MAP);
		else			
			map.setCenter(new GLatLng(37.383082, -122.142053), 11, G_NORMAL_MAP);
		map.disableDoubleClickZoom();

		//map.setMapType(G_PHYSICAL_MAP);
		/*
		GEvent.addListener(map, "dblclick", function(marker, point) {
		  	if (marker) 
		  	{
		    	map.removeOverlay(marker);
		  	} 
		  	else 
		  	{
	  			if (map.getZoom() > 5)
		  		{
				    showWait("Loading...");
	  				loadGeoSearch(marker, point);					    
		  		}
		  		else
		  		{
					alert("Map navigation is not supported at this zoom level, please zoom in and try again!");			  			
		  		}
			}
		});
		*/
	}
	wikiLayer = new GLayer("org.wikipedia.en"); // for wikipedia layer on map
}

/*
if(window.location.href.search('feed/mapFeed') == -1)
{
	var mapLoad = true
	horizontalSlider2 = YAHOO.widget.Slider.getHorizSlider("mybgdiv","mymovingdiv", 0, 70, 5);
	
	
	horizontalSlider2.onChange = function(off1)
	{
		var curValue = horizontalSlider2.getValue();
		var zoomLevel = eval(parseInt(curValue/5) + 3);
		if(mapLoad == false)
		{
			map.setZoom(zoomLevel);
		}
		else
		{
			mapLoad = false;
		}
	}
	
	function updateSlider(arg)
	{
		var curValue = horizontalSlider2.getValue();
		
		if(arg == '-')
		{
			var newValue = eval(curValue - 5);
		}
		else if(arg == '+')
		{
			var newValue = eval(curValue + 5);
		}
		horizontalSlider2.setValue(Math.round(newValue));
	}
}
else
{
	var mapLoad = true
	horizontalSlider2 = YAHOO.widget.Slider.getHorizSlider("mybgdiv","mymovingdiv", 0, 70, 5);
	
	
	horizontalSlider2.onChange = function(off1)
	{
		var curValue = horizontalSlider2.getValue();
		var zoomLevel = eval(parseInt(curValue/5) + 3);
		if(mapLoad == false)
		{
			map.setZoom(zoomLevel);
		}
		else
		{
			mapLoad = false;
		}
	}
	
	function updateSlider(arg)
	{
		var curValue = horizontalSlider2.getValue();
		
		if(arg == '-')
		{
			var newValue = eval(curValue - 5);
		}
		else if(arg == '+')
		{
			var newValue = eval(curValue + 5);
		}
		horizontalSlider2.setValue(Math.round(newValue));
	}
}
*/



/*listing.js*/

//Global Variables
var imgThmPath = "../../wt/"+bkTheme+"/images/";
var orderBy = "address";
var sortOrder = "ASC";
var commSortOrder = "ASC";
var cwinId=0;
var selectedProp=0;
var prevRowId=0;
var feat=0;
var isGeoSearchCtrlLoaded=true;
var userAutoUpdateStatus;
var chkCalledFrom="";
var currPID=0;
var currSID=0;
var currPropStatus="";
var currPage="";
var mapItCtrl;
var latp;
var lngp;
var distanceInMiles = 3;
var comparableLoaded = false; // flag to check that comparables are loaded or not.
var shareCommArr = new Array();
var bitArr = new Array();
var disableSmartWindow=false;
Ajax.currentRequests = {};

function hideSelectBoxes()
{
	if(!isIE) return;	
	$("sortSel").style.display = "none";
}
function showSelectBoxes()
{
	if(!isIE) return;	
	$("sortSel").style.display = "inline";
}
function fillPropertyListing(originalRequest)
{
	if (originalRequest.responseText=="SESSIONEXPIRE")
	{
		window.location.href = "../auth/login.php";
		return;
	}
	else if (originalRequest.responseText=="NOTLOGGEDIN")
	{
		window.location.href = "../auth/login.php";
		return;
	}
	prevRowId=0;
	map.clearOverlays();
	var myarr = originalRequest.responseText.split("|==|");
	$('listDiv').innerHTML = myarr[0];

	var myScripts = myarr[0].extractScripts();
	$('navDiv').innerHTML = myarr[1];	
	if (page == "propertylisting")
		$('searchCriteria').innerHTML = myarr[3];
	else
		$('searchCriteria').innerHTML = "My Location: "+myarr[3];
	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");
	var ouid = myQs.get("ouid");
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		window.document.title =  strAgTitle+" - "+myarr[3].stripTags();
	}
	else if(frm != null && trim(frm) == 'frch' && ouid != null && trim(ouid) != "")
	{
		window.document.title =  strAgTitle+" - "+titleAddress;
	}
	else
	{
		window.document.title =  bkOrgName+" - "+myarr[3].stripTags();
	}
		

	var xml = GXml.parse(myarr[2]);
	var markers = xml.getElementsByTagName("marker");

	var infoTabs = new Array(markers.length);
	icon = new GIcon();
	for (i=0;i<markers.length;i++)
	{
		icon.iconSize = new GSize(20,28);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);

		var remote = markers[i].getAttribute("REMOTE");
		var pid = markers[i].getAttribute("pid");
		if (remote=="false")
			var ptid = markers[i].getAttribute("ptid");
		else
			var ptid = markers[i].getAttribute("pid");
		var streetName = markers[i].getAttribute("streetname");
		var houseNo = markers[i].getAttribute("houseno");
		var unitvalue = markers[i].getAttribute("unitvalue");
		var unitprefix = markers[i].getAttribute("unitprefix");
		var addressSuffix = (unitprefix=="NA"?"":unitprefix)+" "+ (unitvalue=="NA"?"":unitvalue);
		var address = houseNo+" "+streetName+" "+addressSuffix;
		var city = markers[i].getAttribute("city");
		var state = markers[i].getAttribute("state");
		var zip = markers[i].getAttribute("zip");
		var listDate = markers[i].getAttribute("listdate");
		var lat = markers[i].getAttribute("latitude");
		var lng = markers[i].getAttribute("longitude");
		var uid = markers[i].getAttribute("uid");
		var listPrice = markers[i].getAttribute("listprice");
		var beds = markers[i].getAttribute("beds");
		var baths = markers[i].getAttribute("baths");
		var propStatus = markers[i].getAttribute("status");
		var areaSqft = markers[i].getAttribute("areasqft");
		var isOpen = markers[i].getAttribute("isopen");
		var openDays = markers[i].getAttribute("opendays");
		var lotSize = markers[i].getAttribute("lotsize");
		var yearBuilt = markers[i].getAttribute("yearbuilt");
		var isFeatured = markers[i].getAttribute("featured");
		var theme = markers[i].getAttribute("theme");
		var propImage = markers[i].getAttribute("IMAGE");
		var propVideo = markers[i].getAttribute("VIDEO");
		var ufname = markers[i].getAttribute("U_FNAME");
		var ulname = markers[i].getAttribute("U_LNAME");
		var ucity = markers[i].getAttribute("U_CITY");
		var ustate = markers[i].getAttribute("U_STATE");
		var uaddress = markers[i].getAttribute("U_ADD1");
		var uemail = markers[i].getAttribute("U_EMAIL");
		var uphone = markers[i].getAttribute("U_PHONE");
		var sid = markers[i].getAttribute("RSERVER");		
		var latlngsqft = lat+","+lng+","+areaSqft;

//alert (propStatus);

		var broker = "";
		var pStatus = "";

		var point = new GLatLng(parseFloat(lat),parseFloat(lng));
		var titleAddress = address+", "+city+", "+state+", "+zip+"<||>"+listPrice.substr(1);
		switch (propStatus) 
		{
			case "A":
			{
				icon.image = imgThmPath+"pushpin/green.png";
				cssName = 'green';
				eval('ewindow' + pid +' = new EWindow(map,E_STYLE_1)');
				pStatus=(isOpen == "1")?"OPEN HOME":"FOR SALE";
				break;
			}
			case "N":
			{
				icon.image= imgThmPath+"pushpin/orange.png";
				cssName='orange';
				eval('ewindow' + pid +' = new EWindow(map,E_STYLE_4)');
				pStatus="NOT FOR SALE";
				break;
			}
			case "S":
			{
				icon.image= imgThmPath+"pushpin/blue.png";
				cssName='blue';
				eval('ewindow' + pid +' = new EWindow(map,E_STYLE_3)');
				pStatus="SOLD";
				break;
			}
			case "P":
			{
				icon.image= imgThmPath+"pushpin/orange.png";
				cssName='orange';
				eval('ewindow' + pid +' = new EWindow(map,E_STYLE_4)');
				pStatus="PENDING";
				break;
			}
			case "NH":
			{
				icon.image= imgThmPath+"pushpin/green.png";
				cssName='green';
				eval('ewindow' + pid +' = new EWindow(map,E_STYLE_1)');
				pStatus="NEW HOME";
				break;
			}
			case "R":
			{
				icon.image= imgThmPath+"pushpin/recentsales_pushpin.png";
				cssName='red';
				eval('ewindow' + pid +' = new EWindow(map,E_STYLE_2)');
				pStatus="SOLD";
				break;
			}
			case "NS":
			{
				icon.image= imgThmPath+"pushpin/orange.png";
				cssName='orange';
				eval('ewindow' + pid +' = new EWindow(map,E_STYLE_4)');
				pStatus="NOT FOR SALE";
				break;
			}
		}
		if (isFeatured == "1")
		{
			icon.image= imgThmPath+"pushpin/cyan.png";
			cssName='cyan';
			eval('ewindow' + pid +' = new EWindow(map,E_STYLE_7)');
			pStatus="FEATURED";
		}
		var agentContact = (uid > 0)?("name <br> address <br> phone <br> email "):("<br><br><img src=\"images/na.gif\" />");
		
		if(page!="propertylisting" && propStatus!="N" && propStatus!="S" && propStatus!="NS" && propStatus!="R")
		{
			var contactAgentLink = '<a class="dashAnchor" href="Javascript:loadContactPopup('+pid+','+remote+');"><span class="lang">Contact Agent</span></a>';
			var getFinanceLink = '<a class="dashAnchor" href="Javascript:getFinanceDlgFrmFinTab(\''+address+'\',\''+city+'\',\''+state+'\',\''+zip+'\',\''+yearBuilt+'\');"><span class="lang">Get Finance</span></a>';
		}
		else
		{
			var contactAgentLink = '';
			var getFinanceLink = '';
		}
		if(propImage=="0")
		{
			if((propStatus=="N") && (money2num(listPrice) == 0))
			{
				infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px"><tr><td HEIGHT="20px" class="top_bot_body_'+cssName+' titleText" width="240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" align="right" width="11px"><img src="'+imgThmPath+'common/close.gif" align="right" WIDTH="11px" HEIGHT="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr>	<td colspan="4"  class="bodyBg_'+cssName+'"><table border=0 width="240px" height="105px" ><tr><td valign="top"> <table border=0 class="bodyText" width="120px"><tr><td class="lang swDetailText">Price Not Available</td></tr> <tr><td class="swLableText"><span class="swDetailText">'+beds+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr><tr><td class="swLableText"><span style="display:none">Courtesy:</span>&nbsp;<span class="swDetailText">'+ broker +'</span></td></tr> <tr><td class="swLableText">&nbsp;</td></tr></table>   </td><td><div id="imgdiv" align="center" ><img src="'+imgThmPath+'listing/noImageThmb.jpg" width="120px" height="80px" /><br>&nbsp;</div></td>	</tr></table></td></tr><tr class="bottomBg"><td class="titleText" HEIGHT="20px" colspan=4><div  style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:50%">'+getFinanceLink+'</td><td style="width:50%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td></tr></table>';
			}
			else if((propStatus=="N") && (money2num(listPrice) > 0))
			{
				infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px"><tr><td HEIGHT="20px" class="top_bot_body_'+cssName+' titleText" width="240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" align="right" WIDTH="11px"><img src="'+imgThmPath+'common/close.gif" align="right" WIDTH="11px" HEIGHT="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr>	<td colspan="4"  class="bodyBg_'+cssName+'"><table width="240px" height="105px" ><tr><td valign="top"> <table class="bodyText" width="120px"><tr><td class="swDetailText swPrice">'+listPrice+'</td></tr> <tr><td class="swLableText"><span class="swDetailText">'+beds+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr><tr><td class="swLableText">'+contactAgentLink+'</td></tr></table>   </td><td><div id="imgdiv" align="center" ><img src="'+imgThmPath+'listing/noImageThmb.jpg" width="120px" height="80px" /><br>&nbsp;</div></td>	</tr></table></td></tr><tr class="bottomBg"><td class="titleText" HEIGHT="20px" colspan=4><div  style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:50%">'+getFinanceLink+'</td><td style="width:50%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td></tr></table>';
			}
			else if (propStatus=="NH")
			{
				infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px"><tr><td HEIGHT="20px" class="top_bot_body_'+cssName+' titleText" width="240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" align="right" WIDTH="11px"><img src="'+imgThmPath+'common/close.gif" align="right" WIDTH="11px" HEIGHT="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr><td colspan="4"  height="105px" class="bodyBg_'+cssName+'"><table width="240px" ><tr><td valign="top"> <table class="bodyText" width="120px"><tr><td class="swDetailText swPrice">'+listPrice+'</td></tr> <tr><td class="swLableText"><span class="swDetailText">'+beds+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText"><span style="display:none">Courtesy:</span>&nbsp;<span class="swDetailText">'+ broker +'</span></td></tr> <tr><td class="swLableText">&nbsp;</td></tr></table>   </td><td><div id="imgdiv" align="center" ><img src="'+imgThmPath+'listing/noImageThmb.jpg" width="120px" height="80px" /><br>&nbsp;</div></td></tr></table></td></tr><tr class="bottomBg"><td class="titleText" HEIGHT="20px" colspan=4><div  style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:50%">'+getFinanceLink+'</td><td style="width:50%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td></tr></table>';
			}
			else
			{
				infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px;"><tr><td HEIGHT="20px" class="top_bot_body_'+cssName+' titleText" width="240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" align="right" WIDTH="11px"><img src="'+imgThmPath+'common/close.gif" align="right" WIDTH="11px" HEIGHT="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr><td colspan="4"  height="105px" class="bodyBg_'+cssName+'"><table width="240px" ><tr><td valign="top"> <table class="bodyText" width="120px"><tr><td class="swDetailText swPrice">'+listPrice+'</td></tr> <tr><td class="swLableText"><span class="swDetailText">'+beds+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText"><span style="display:none">Courtesy:</span>&nbsp;<span class="swDetailText">'+ broker +'</span></td></tr> <tr><td class="swLableText">'+contactAgentLink+'</td></tr></table> </td><td><div id="imgdiv" align="center" ><img src="'+imgThmPath+'listing/noImageThmb.jpg" width="120px" height="80px" /><br>&nbsp;</div></td></tr></table></td></tr><tr class="bottomBg"><td class="titleText" HEIGHT="20px" colspan=4 style="padding-left:5px;"><div style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:50%">'+getFinanceLink+'</td><td style="width:50%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td></tr></table>';
			}
		}
		else
		{
			if((propStatus=="N") && (money2num(listPrice) == 0))
			{
				infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px"><tr><td HEIGHT="20px" class="top_bot_body_'+cssName+' titleText" width="240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" aign="right" WIDTH="11px"><img src="'+imgThmPath+'common/close.gif" align="right" WIDTH="11px" HEIGHT="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr><td colspan="4" class="bodyBg_'+cssName+'" height="105px" ><table width="240px" height="105px" ><tr><td valign="top"> <table class="bodyText" width="120px"><tr><td class="lang swDetailText">Price Not Available</td><tr><td class="swLableText"><span class="swDetailText">'+beds+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">'+contactAgentLink+'</td></tr> </table>   </td><td><div id="imgdiv'+ptid+'" align="center"><table><tr><td colspan=2><img id="imgprev" src="'+ propImage +'" width="120px" height="80px" /></td></tr><tr><td align="left" ><img class="imgPointer" id="imgnext" src="'+imgThmPath+'listing/btnPrev_d.gif" ></td><td align="right">  <img class="imgPointer" src="'+imgThmPath+'listing/btnNext.gif"  onclick="getImage(0,'+ptid+',1)"> </td> </tr></table></div></td></tr></table></td></tr><tr class="bottomBg"><td class="titleText" HEIGHT="20px" colspan=4><div  style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:50%">'+getFinanceLink+'</td><td style="width:50%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td>	</tr></table>';
			}
			else if((propStatus=="N") && (money2num(listPrice) > 0))
			{
				infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px"><tr><td HEIGHT="20px" class="top_bot_body_'+cssName+' titleText" width="240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" aign="right" WIDTH="11px"><img src="'+imgThmPath+'common/close.gif" align="right" WIDTH="11px" HEIGHT="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr><td colspan="4" class="bodyBg_'+cssName+'" height="105px" ><table width="240px" height="105px" ><tr><td valign="top"> <table class="bodyText" width="120px"><tr><td class="swDetailText swPrice">'+listPrice+'</td></tr><tr><td class="swLableText"><span class="swDetailText">'+bed+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText"><span style="display:none">Courtesy:</span>&nbsp;<span class="swDetailText">'+ broker +'</span></td></tr> <tr><td class="swLableText">'+contactAgentLink+'</td></tr> </table>   </td><td><div id="imgdiv'+ptid+'" align="center"><table><tr><td colspan=2><img id="imgprev" src="'+ propImage +'" width="120px" height="80px" /></td></tr><tr><td align="left"><img class="imgPointer" id="imgnext" src="'+imgThmPath+'listing/btnPrev_d.gif" ></td><td align="right" >  <img class="imgPointer" src="'+imgThmPath+'listing/btnNext.gif"  onclick="getImage(0,'+ptid+',1)"> </td> </tr></table></div></td></tr></table></td></tr><tr class="bottomBg"><td class="titleText" HEIGHT="20px" colspan=4><div  style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:50%">'+getFinanceLink+'</td><td style="width:50%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td>	</tr></table>';
			}
			else if (propStatus=="NH")
			{
				infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px"><tr><td HEIGHT="20px" class="top_bot_body_'+cssName+' titleText" width="240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" aign="right" WIDTH="11px"><img src="'+imgThmPath+'common/close.gif" align="right" WIDTH="11px" HEIGHT="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr><td colspan="4" class="bodyBg_'+cssName+'" height="105px" ><table width="240px" height="105px" ><tr><td valign="top"> <table class="bodyText" width="120px"><tr><td class="swDetailText swPrice">'+listPrice+'</td></tr><tr><td class="swLableText"><span class="swDetailText">'+beds+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText"><span style="display:none">Courtesy:</span>&nbsp;<span class="swDetailText">'+ broker +'</span></td></tr> <tr><td class="swLableText">&nbsp;</td></tr> </table>   </td><td><div id="imgdiv'+ptid+'" align="center"><table><tr><td colspan=2><img id="imgprev" src="'+ propImage +'" width="120px" height="80px" /></td></tr><tr><td align="left"><img class="imgPointer" id="imgnext" src="'+imgThmPath+'listing/btnPrev_d.gif" ></td><td align="right">  <img class="imgPointer" src="'+imgThmPath+'listing/btnNext.gif"  onclick="getImage(0,'+ptid+',1)"> </td> </tr></table></div></td></tr></table></td></tr><tr class="bottomBg"><td class="titleText" HEIGHT="20px" colspan=4><div  style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:50%">'+getFinanceLink+'</td><td style="width:50%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td>	</tr></table>';
			}
			else
			{
				infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px"><tr><td class="top_bot_body_'+cssName+' titleText" style="height:20px;width:240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" style="width:11px"><img src="'+imgThmPath+'common/close.gif" align="right" WIDTH="11px" HEIGHT="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr><td colspan="4" class="bodyBg_'+cssName+'" style="height:105px" ><table width="240px" height="105px" ><tr><td valign="top"> <table class="bodyText" width="120px"><tr><td class="swDetailText swPrice">'+listPrice+'</td></tr><tr><td class="swLableText"><span class="swDetailText">'+beds+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText"><span style="display:none">Courtesy:</span>&nbsp;<span class="swDetailText">'+ broker +'</span></td></tr> <tr><td class="swLableText">'+contactAgentLink+'</td></tr> </table>   </td><td><div id="imgdiv'+ptid+'" align="center"><table><tr><td colspan=2><img id="imgprev" src="'+ propImage +'" width="120px" height="80px" /></td></tr><tr><td align="left"><img class="imgPointer" id="imgnext" src="'+imgThmPath+'listing/btnPrev_d.gif"></td><td align="right">  <img class="imgPointer" src="'+imgThmPath+'listing/btnNext.gif"  onclick="getImage(0,'+ptid+',1)"> </td> </tr></table></div></td></tr></table></td></tr><tr class="bottomBg"><td class="titleText" HEIGHT="20px" colspan=4><div  style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:50%">'+getFinanceLink+'</td><td style="width:50%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td>	</tr></table>';
			}
		}
		eval('map.addOverlay(ewindow' + pid + ')');
		//eval('marker'+pid+'=new GMarker(point,icon)');
		if(propStatus=="R") cssName="recentsales_pushpin";
		eval('marker'+pid+'=createMarker(point,infoTabs[i],icon,pid,propStatus,cssName)');
		eval('infoTabs' + pid + ' = infoTabs[i]');
		map.addOverlay(eval('marker'+pid));
		if(page!="propertylisting")
		{
		//	eval('GEvent.addListener(marker' + pid + ', "click", function() { loadNonEditableTabs('+ pid +',"'+propStatus+'","'+propImage+'","'+propVideo+'","'+titleAddress+'","'+sid+'","'+remote+'","'+latlngsqft+'")})');
		}
	/*	else
		{
			eval('GEvent.addListener(marker' + pid + ', "click", function() { loadEditableTabs('+ pid +',"'+propStatus+'"")})');
		}*/
	}
	if (page != "geosearch")
	{
		map.setCenter(point);
	}
	if (myScripts.length > 0)
	{
		eval(myScripts[0]);
		$('backButton').style.display="none";
	}
};

function overlayWindow(swid,propStatus)
{
	eval('GEvent.clearListeners(marker' + swid + ', "mouseover")'); // Removes handlers on the marker object for the mouseover event that were installed using addListener()
	eval('GEvent.clearListeners(marker' + swid + ', "click")'); 
	map.clearOverlays();
	if(propStatus=="A")
		icon.image= imgThmPath+"pushpin/green.png";
	if(propStatus=="N")
		icon.image= imgThmPath+"pushpin/red.png";
	if(propStatus=="S")
		icon.image= imgThmPath+"pushpin/blue.png";
	if(propStatus=="P")
		icon.image= imgThmPath+"pushpin/orange.png";
	

	eval('map.addOverlay(marker' + swid + ')'); // It displays only Current property Pin
//	eval('map.setCenter(marker' + swid + '.getPoint(), 13, G_NORMAL_MAP)');
	eval('map.addOverlay(ewindow' + swid + ')');
//	eval('ewindow'+swid+'.openOnMarker(marker'+swid+',infoTabs' + swid +')');
	eval('GEvent.addListener(marker' + swid + ', "click", function() { hoverOnMap('+ swid +')})');
	
	var latLong = eval(getCookie("latLongCk"))[0];
	latp = latLong.lat;
	lngp = latLong.lng;

/*
	var center = map.getCenter();
	latp = center.lat();
	lngp = center.lng();
*/	
};
function createMarker(point,html,icon,wid,propStatus,pushpin) 
{
	var marker = new GMarker(point,icon);
	// ========== Open the EWindow instead of a Google Info Window ==========
	GEvent.addListener(marker, "click", function()
	{
		if(cwinId != 0)
		{ 
			eval('ewindow'+cwinId+'.hide()');
		}
		if(comWinId)
			eval('ewc'+comWinId+'.hide()');
	/*	if(selectedProp!=wid)
		{
			if(propStatus=='P')
				setClassFeat('r'+wid);
			else
				setClass('r'+wid);
		} */
		cwinId=wid;	 
		eval('ewindow'+wid+'.openOnMarker(marker,html)');
	});
	
	GEvent.addListener(marker, "mouseover", function() {
      marker.setImage(imgThmPath+"pushpin/"+pushpin+"_h.png");
      setClass('r'+wid);
    });
    
    GEvent.addListener(marker, "mouseout", function() {
      marker.setImage(imgThmPath+"pushpin/"+pushpin+".png");
     
    });
	
	return marker;
};


function setClassFeat(rowid)
{
	if(prevRowId !=0)
	{
		if(feat==1)
			$(prevRowId).className='srFeatTr';
		else
			$(prevRowId).className='srTr';
	}
	prevRowId=rowid;
	$(rowid).className='srFeatTrOver';
	feat=1;
};
function setClass(rowid)
{
	if(prevRowId !=0)
	{
		if(feat==1)
			$(prevRowId).className='srFeatTr';
		else
			$(prevRowId).className='srTr';
	}
	prevRowId=rowid;
	$(rowid).className='srTrOver';
	feat=0;
};

function hoverOnMap(id)
{
	if(cwinId != 0)
	{
		eval('ewindow'+cwinId+'.hide()');
	}
	cwinId=id;	 
//	eval("map.panTo(marker"+id+".getPoint())");
	eval('ewindow'+id+'.openOnMarker(marker'+id+',infoTabs' + id +')');
};


function hoverOnList(wid,siteName)
{
	eval('marker'+wid).setImage(imgThmPath+"pushpin/"+siteName+"_h.png");
}
function hoverOutList(wid,siteName)
{
	eval('marker'+wid).setImage(imgThmPath+"pushpin/"+siteName+".png");
}

function showPropertyListing(pageno,divName)
{
	/*alert(page);
	if(currPage!="")
	{
		if(pageno > currPage)
		{
			pageno = pageno;
		}
		else if(pageno < currPage)
		{
			pageno = pageno;
		}
		else
		{	
			pageno = currPage;
		}
	}
	
	if(pageno=="page=0")
	{
		currPage = 0;
	}
	else
	{
		currPage = pageno;
	}
	alert ("status="+status+" and page="+page);		
*/
//	var savedZoom = map.getZoom();
//	horizontalSlider2.setValue(eval((savedZoom - 3) * 5));
	var queryString="";
	queryString += (typeof(pageno) == 'undefined')?"":"pageno="+pageno;
	queryString += (typeof(divName) == 'undefined')?"":"&loadDiv="+divName;
	queryString += "&page="+page;
	queryString += "&args="+args;
	queryString += "&orderby="+orderBy;
	queryString += "&sortorder="+sortOrder;
	var url = "./getPropertyListing.php";
//	alert(queryString);
	$('listDiv').innerHTML = '<table style="height:450px;width:100%"><tr><td><div style="height:100%;width:100%" class="loading">&nbsp;</div></td></tr></table>';
	map.clearOverlays();
	ajaxRequest(url,queryString,fillPropertyListing);
	
};

function loadNonEditableTabs(pid,propStatus,image,video,addToDisplay,remote,sid,latlngsqft)
{
	loadConsumerTabs(pid,propStatus,image,video,addToDisplay,remote,sid,latlngsqft);
};


function loadConsumerTabs(pid,propStatus,image,video,addToDisplay,remote,sid,latlngsqft,extra)
{
	var qs=location.search.substring(1,location.search.length)

	if ($("backToProperty") && (comparableLoaded))
		$("backToProperty").style.display = "";

	if ($("commSortBar"))
		$("commSortBar").style.display="none";
	if ($("propSortBar"))
		$("propSortBar").style.display="none";	

	comparableLoaded = false;
	communityTab = false;
	listingTab = false;
	
	if (typeof(extra)=="undefined")
		extra = "";
	if ($('backButton'))
	{
		$('backButton').style.display="block";
	}
	if ($('backSearchButton')) 
		$('backSearchButton').style.display="none";
	if ($('sortBar'))
	{
		$('sortBar').style.display="none";
	}
	if ($('searchCriteria'))
	{
		$('searchCriteria').innerHTML = '<div style="display:inline;float:left">My Location: '+addToDisplay.split('<||>')[0]+'</div><div style="display:inline;float:right;padding-right:2px;" >'+addToDisplay.split('<||>')[1]+'</div>';
	}
	
	if (typeof(page)!= "undefined")
	{
		if ((page=="geosearch" || page=="index" || page=="normalsearch") && (isGeoSearchCtrlLoaded==true))
		{
			userAutoUpdateStatus=$("chkAutoUpdate").checked;
			map.removeControl(geoSearchCtrl);
			GEvent.clearListeners(map,"dragend");
			GEvent.clearListeners(map,"zoomend");
			isGeoSearchCtrlLoaded = false;
		}
	}
	if (typeof(mapItCtrl)!="undefined")
		mapItCtrl.clear_();
	else
	{
		mapItCtrl = new mapItControl();
		map.addControl(mapItCtrl);
	}
	if ( trim(cyberHomesMainAddress) != "" )
		currPID = 111111111;
	else
		currPID = pid;
	currSID = sid;
	prevRowId = 0;
	currPropStatus = propStatus;
	//overlayWindow(pid,propStatus); 
	
	////Code for updating the property count/////

	/*var queryString = "pid="+pid;
	var url = "./updatePropertyCount.php";
	ajaxRequest(url,queryString,function(resp){});*/
	
	if ( trim(cyberHomesMainAddress) != "" )
	{	
		extra = "cyberhomes";
		setCookie("cyberHomeXML",cyberHomesXML);
		var tabList = {
			"Tax Assessment": './srTabDetails.php?pid=&remote='+remote+"&sid="+sid+"&extra="+escape(extra),
			"Comparables": null,
			"Local": null
		};
	}
	else
	{
		var tabList = {
			"Tax Assessment": './srTabDetails.php?pid='+pid+"&remote="+remote+"&sid="+sid+"&extra="+escape(extra),
			"Comparables": null,
			"Local": null
		};
	}
	$('listDiv').innerHTML = "";
	srTabs = loadTabs('listDiv',tabList);
	srTabs.getTab(1).addListener('activeChange',function (){
			if (!comparableLoaded)
			{
				setComparables(pid,remote,1,sid,latlngsqft);
			}
			
			var i=0;			
			while(srTabs.getTab(i))
			{
				if(srTabs.getTab(i).get("active"))
				{						
					break;
				}
				i = i+1;
			}
			
			if(i==1)
			{
				if($("commSortBar"))
					$("commSortBar").style.display="none";
				if($("propSortBar"))
					$("propSortBar").style.display="none";
				if($("limitBar"))
					$("limitBar").style.display="none";
			}
		});
	srTabs.getTab(1).addListener('activeChange',function (){
			if(cwinId != 0) 
				eval('ewindow'+cwinId+'.hide()');
			
			var i=0;			
			while(srTabs.getTab(i))
			{
				if(srTabs.getTab(i).get("active"))
				{						
					break;
				}
				i = i+1;
			}
			
			if(i==1)
			{
				if($("commSortBar"))
					$("commSortBar").style.display="none";
				if($("propSortBar"))
					$("propSortBar").style.display="none";
				if($("limitBar"))
					$("limitBar").style.display="none";

			}
		});	
	srTabs.getTab(0).set("cacheData",true);
	srTabs.getTab(0).addListener("activeChange",function (){
		var i=0;			
		while(srTabs.getTab(i))
		{
			if(srTabs.getTab(i).get("active"))
			{						
				break;
			}
			i = i+1;
		}
		
		if(i==0)
		{
			if($("commSortBar"))
				$("commSortBar").style.display="none";
			if($("propSortBar"))
				$("propSortBar").style.display="none";
			if($("limitBar"))
					$("limitBar").style.display="none";
		}
	});	
	
	srTabs.getTab(2).set("cacheData",true);
	srTabs.getTab(2).addListener("activeChange",function (){
		var i=0;			
		while(srTabs.getTab(i))
		{
			if(srTabs.getTab(i).get("active"))
			{						
				break;
			}
			i = i+1;
		}
		
		if(i==2)
		{
			if($("commSortBar"))
				$("commSortBar").style.display="none";
			if($("propSortBar"))
				$("propSortBar").style.display="none";
			if($("limitBar"))
					$("limitBar").style.display="none";
		}
	});
	
	toogleToolDiv(1);
	if($('after') || $('before'))
	{
		$('after').style.display="none";
		$('before').style.display="none";
	}
	$("arrowLeft").show();
	$("arrowRight").show();
};


function removeMarkers(e)
{
	if (e.prevValue)
	{
		overlayWindow(currPID,currPropStatus);
	}
};

function setComparables(pid,remote,tabno,sid,latlngsqft)
{
	if ( trim(cyberHomesMainAddress) != "" )
	{
		setCookie("cyberHomeXML",cyberHomesXML);
		var queryString="pid=&remote="+remote+"&sid="+sid+"&latlngsqft="+latlngsqft+"&from=cyberhomes";
	}
	else
		var queryString="pid="+pid+"&remote="+remote+"&sid="+sid+"&latlngsqft="+latlngsqft;
	var url = "./srTabComparable.php";
	srTabs.getTab(tabno).set('content','<table style="height:450px;width:100%"><tr><td><div style="height:100%;width:100%" class="loading">&nbsp;</div></td></tr></table>');
	ajaxRequest(url,queryString,function (resp){
		evalComparableResponse(resp,tabno);
	});
};

function evalComparableResponse(originalRequest,tabno)
{
	var myarr = originalRequest.responseText.split("|==|");
	srTabs.getTab(tabno).set('content',myarr[0]);
	prevRowId=0;

	var xml = GXml.parse(myarr[1]);
	var markers = xml.getElementsByTagName("marker");
	var infoTabs = new Array(markers.length);
	icon = new GIcon();
	infoCWindow = new Array();
	
	for (var i=0;i<markers.length;i++)
	{
		icon.iconSize = new GSize(20,28);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);

		var pid = markers[i].getAttribute("pid");
		var streetName = markers[i].getAttribute("streetname");
		var houseNo = markers[i].getAttribute("houseno");
		var unitvalue = markers[i].getAttribute("unitvalue");
		var unitprefix = markers[i].getAttribute("unitprefix");
		var addressSuffix = ((unitprefix=="NA")?"":unitprefix)+" "+ ((unitvalue=="NA")?"":unitvalue);
		var address = houseNo+" "+streetName+" "+addressSuffix;
		var city = markers[i].getAttribute("city");
		var state = markers[i].getAttribute("state");
		var zip = markers[i].getAttribute("zip");
		var listDate = markers[i].getAttribute("listdate");
		var lat = markers[i].getAttribute("latitude");
		var lng = markers[i].getAttribute("longitude");
		var uid = markers[i].getAttribute("uid");
		var listPrice = markers[i].getAttribute("listprice");
		var beds = markers[i].getAttribute("beds");
		var baths = markers[i].getAttribute("baths");
		var propStatus = markers[i].getAttribute("status");
		var areaSqft = markers[i].getAttribute("areasqft");
		var isOpen = markers[i].getAttribute("isopen");
//		var openDays = markers[i].getAttribute("opendays");
		var lotSize = markers[i].getAttribute("lotsize");
		var yearBuilt = markers[i].getAttribute("yearbuilt");
		var isFeatured = markers[i].getAttribute("featured");
//		var theme = markers[i].getAttribute("theme");
		var propImage = markers[i].getAttribute("IMAGE");
		var propVideo = markers[i].getAttribute("VIDEO");
//		var ufname = markers[i].getAttribute("U_FNAME");
//		var ulname = markers[i].getAttribute("U_LNAME");
//		var ucity = markers[i].getAttribute("U_CITY");
//		var ustate = markers[i].getAttribute("U_STATE");
//		var uaddress = markers[i].getAttribute("U_ADD1");
//		var uemail = markers[i].getAttribute("U_EMAIL");
//		var uphone = markers[i].getAttribute("U_PHONE");
		var broker = "";
		var lastSalePrice = markers[i].getAttribute("lastsaleprice");
		var remote = markers[i].getAttribute("REMOTE");
		var sid = markers[i].getAttribute("RSERVER");		
		var latlngsqft = lat+","+lng+","+areaSqft;

		var pStatus = "";
		var point = new GLatLng(parseFloat(lat),parseFloat(lng));
		var titleAddress = address+", "+city+", "+state+", "+zip+"<||>"+lastSalePrice.substr(1);
		icon.image= imgThmPath+"pushpin/blue.png";
		cssName='blue';
		pStatus="Sold";
		
		latp = lat;
		lngp = lng;
		isSinglePropertyLandingView = true;
		
		var siteName = "recentsales";
		var addr = address;
		addr = addr +", "+city+","+state+","+zip;
		addr = addr.toLowerCase();
		addr = addr.capitalize();
		var cnt = "0";
		var price = lastSalePrice;
		if(beds == "-")
			beds = "";
		if(baths == "-")
			baths = "";
		var bedbaths = beds +" Br/"+ baths +" Ba" ;
		var sqft = areaSqft;
		
		if(sqft <=0 || sqft=='-') 
		{
	        sqft = "- sqft"
		}
		else
		{
			sqftTmp = num2moneyWrapper(sqft);
			sqft = sqftTmp.replace("$","")+" sqft";
		}
		
		var imgPath = "";
		var sourceLink ="";
		//var sourceLink = "/app/listing/singlePropertyLanding.php?PHPSESSID=&pid="+pid+",R,"+sid+"&address=&status=R";
		var moreLink = "/app/listing/singlePropertyLanding.php?PHPSESSID=&pid="+pid+",R,"+sid+"&address=&status=A"+"&back="+escape(getBackToListingURL());;
		var valuethishomeLink = "";
		var directionLink = "";
		var tid = "";
		infoCWindow[i] = getPropertyHtml(cssName,imgThmPath,siteName,addr,pid,price,bedbaths,sqft,imgPath,sourceLink,moreLink,valuethishomeLink,directionLink,pStatus,"recentsales","","","","","","","","","","","","",tid);
		eval('ewcrecentsales'+pid+' = new EWindow(map,E_STYLE_17)');
		eval('map.addOverlay(ewcrecentsales' +pid+ ')');
		pid = "recentsales"+pid;
		eval('commMarker'+pid+'=createCommunityMarker(point,infoCWindow[i],icon,pid,cssName,"Recent","P","");');		
		eval('infoCWindow' + pid + ' = infoCWindow[i]');
		map.addOverlay(eval('commMarker'+pid));
		//	eval('GEvent.addListener(marker' + pid + ', "click", function() { loadNonEditableTabs('+ pid +',"'+propStatus+'","'+propImage+'","'+propVideo+'","'+titleAddress+'","'+sid+'","'+remote+'","'+latlngsqft+'")})');
	}
	comparableLoaded = true;
//	map.setCenter(new GLatLng(parseFloat(markers[0].getAttribute("latitude")),parseFloat(markers[0].getAttribute("longitude"))));
};


function evalComparableResponseLocal(originalRequest)
{
	//alert("compLocal Resp");
	var myarr = originalRequest.responseText.split("|==|");
	//alert(myarr[0]);
	
	prevRowId=0;
	//srLocalTabs.getTab(1).set('content',myarr[1]);
	/*switch(myarr[0])
	{
		case 'schools':
			srTabs.getTab(3).set('content',myarr[1]);	
		break;
		case 'hospitals':
			//alert("in list");
			srTabs.getTab(4).set('content',myarr[1]);	
		break;
		case 'grocers':
			srTabs.getTab(5).set('content',myarr[1]);	
		break;
		case 'libraries':
			srTabs.getTab(5).set('content',myarr[1]);	
		break;
		case 'worship':
			srTabs.getTab(6).set('content',myarr[1]);	
		break;
	}*/
	
//	map.clearOverlays();


	//overlayWindow(currPID,currPropStatus);
	map.setZoom(13);
	var xml = GXml.parse(myarr[1]);
	
	var markers = xml.getElementsByTagName("marker");
	var infoTabs = new Array(markers.length);
	var point=null;
	var cid=null;
	icon = new GIcon();
	//alert(myarr[0]);
	//markers.each(function(node){alert(node);});
//	alert(myarr[1]+","+markers.length);
	if(markers.length<=0)
	{
			switch(myarr[0])
			{
				case "schools":
					_alert("No Data Available For Schools!");
				break;
				case "healthcare":
					_alert("No Data Available For Health Care!");
				break;
				case "library":
					_alert("No Data Available For Libraries!");
				break;
				case "placesofworship":
					_alert("No Data Available For Place Of Woprships!");
				break;
			}
	}
	else
	{
		for (i=0;i<markers.length;i++)
		{
			icon.iconSize = new GSize(20,28);
			icon.iconAnchor = new GPoint(6, 20);
			icon.infoWindowAnchor = new GPoint(5, 1);
			switch(myarr[0])
			{
				case "schools":
					var id=markers[i].getAttribute("SH_ID");
					var name=markers[i].getAttribute("SH_NAME");
					var address=markers[i].getAttribute("SH_ADDRESS");
					var city=markers[i].getAttribute("SH_CITY");
					var state=markers[i].getAttribute("SH_STATE");
					var zip=markers[i].getAttribute("SH_ZIP");
					var phone=markers[i].getAttribute("SH_PHONE");
					var lat=markers[i].getAttribute("SH_LATITUDE");
					var lng=markers[i].getAttribute("SH_LONGITUDE");
					var dist=markers[i].getAttribute("dist");
					cid='sh';
					var show="School Details";
					icon.image= imgThmPath+"pushpin/schools_pushpin.png";
					cssName='school';
					//eval('ewindow' + id +' = new EWindow(map,E_STYLE_1)');
					eval('ewindowschools' + i +' = new EWindow(map,E_STYLE_1)');
					point = new GLatLng(parseFloat(lat),parseFloat(lng));
					var imgId="schools";
					//alert("Point : "+point);
				break;
				case "healthcare":
					//alert("in map");
					var id=markers[i].getAttribute("H_ID");
					var name=markers[i].getAttribute("H_NAME");
					var address=markers[i].getAttribute("H_ADDRESS");
					var city=markers[i].getAttribute("H_CITY");
					var state=markers[i].getAttribute("H_STATE");
					var zip=markers[i].getAttribute("H_ZIP");
					var phone=markers[i].getAttribute("H_PHONE");
					var lat=markers[i].getAttribute("H_LATITUDE");
					var lng=markers[i].getAttribute("H_LONGITUDE");
					var dist=markers[i].getAttribute("dist");
					cid='h';
					var show="Health Care Details";
					icon.image= imgThmPath+"pushpin/healthcare_pushpin.png";
					cssName='hospital';
					//eval('ewindow' + id +' = new EWindow(map,E_STYLE_1)');
					eval('ewindowhealthcare' + i +' = new EWindow(map,E_STYLE_1)');
					point = new GLatLng(parseFloat(lat),parseFloat(lng));
					var imgId="healthcare";
				break;
				case "grocers":
					var id=markers[i].getAttribute("G_ID");
					var name=markers[i].getAttribute("G_NAME");
					var address=markers[i].getAttribute("G_ADDRESS");
					var city=markers[i].getAttribute("G_CITY");
					var state=markers[i].getAttribute("G_STATE");
					var zip=markers[i].getAttribute("G_ZIP");
					var phone=markers[i].getAttribute("G_PHONE");
					var lat=markers[i].getAttribute("G_LATITUDE");
					var lng=markers[i].getAttribute("G_LONGITUDE");
					var dist=markers[i].getAttribute("dist");
					cid='g';
					var show="Grocery Details";
					icon.image= imgThmPath+"pushpin/grocery.png";
					cssName='grocery';
					//eval('ewindow' + id +' = new EWindow(map,E_STYLE_1)');
					eval('ewindowgrocers' + i +' = new EWindow(map,E_STYLE_1)');
					point = new GLatLng(parseFloat(lat),parseFloat(lng));
					var imgId="grocers";
				break;
				case "library":
					var id=markers[i].getAttribute("LI_ID");
					var name=markers[i].getAttribute("LI_NAME");
					var address=markers[i].getAttribute("LI_ADDRESS");
					var city=markers[i].getAttribute("LI_CITY");
					var state=markers[i].getAttribute("LI_STATE");
					var zip=markers[i].getAttribute("LI_ZIP");
					var phone=markers[i].getAttribute("LI_PHONE");
					var lat=markers[i].getAttribute("LI_LATITUDE");
					var lng=markers[i].getAttribute("LI_LONGITUDE");
					var dist=markers[i].getAttribute("dist");
					cid='l';
					var show="Library Details";
					icon.image= imgThmPath+"pushpin/library_pushpin.png";
					cssName='green';
					//eval('ewindow' + id +' = new EWindow(map,E_STYLE_1)');
					eval('ewindowlibrary' + i +' = new EWindow(map,E_STYLE_1)');
					point = new GLatLng(parseFloat(lat),parseFloat(lng));
					var imgId="library";
				break;
				case "placesofworship":
					var id=markers[i].getAttribute("WS_ID");
					var name=markers[i].getAttribute("WS_NAME");
					var address="";//markers[i].getAttribute("WS_ADDRESS");
					var city="";//markers[i].getAttribute("WS_CITY");
					var state="";//markers[i].getAttribute("WS_STATE");
					var zip="";//markers[i].getAttribute("WS_ZIP");
					var phone="";//markers[i].getAttribute("WS_PHONE");
					var lat=markers[i].getAttribute("WS_LATITUDE");
					var lng=markers[i].getAttribute("WS_LONGITUDE");
					var dist=markers[i].getAttribute("dist");
					cid='t';
					var show="Place Of Worship Details";
					icon.image= imgThmPath+"pushpin/placesofworship_pushpin.png";
					cssName='theater';
					//eval('ewindow' + id +' = new EWindow(map,E_STYLE_1)');
					eval('ewindowplacesofworship' + i +' = new EWindow(map,E_STYLE_1)');
					point = new GLatLng(parseFloat(lat),parseFloat(lng));
					var imgId="placesofworship";
				break;
			}
			var propStatus="Local";
			infoTabs[i] ='<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;" width="250"><TR><TD HEIGHT="20" class="top_bot_body_'+cssName+' titleText" width="50%">'+show+'</TD><TD class="top_bot_body_'+cssName+'" aign="right" WIDTH="11"><IMG SRC="'+imgThmPath+'common/close.gif" align="right" WIDTH="11" HEIGHT="11" class="imgclose" onclick="eval(ewindow'+myarr[0]+i+'.hide());"/></TD></TR><tr><td colspan="2"><table width="100%" cellspacing="0" cellpadding="0"><tr HEIGHT="20"><td align="center" colspan="2" class="textHeading">'+name+'</td></tr><tr style="height:5px"><td colspan="2"></td></tr><TR width="35%"><TD valign="middle" align="right" class="detailTitleTd">Address: </td><td valign="middle" align="left" class="detailContentTd">'+address+'</td></tr><tr style="height:5px"><td colspan="2"></td></tr><tr width="35%"><TD valign="middle" align="right" class="detailTitleTd">City: </td><td valign="middle" align="left" class="detailContentTd">'+city+'</td></tr><tr style="height:5px"><td colspan="2"></td></tr><tr width="35%"><TD valign="middle" align="right" class="detailTitleTd">State: </td><td valign="middle" align="left" class="detailContentTd">'+state+'</td></tr><tr style="height:5px"><td colspan="2"></td></tr><tr width="35%"><TD valign="middle" align="right" class="detailTitleTd">Zip: </td><td valign="middle" align="left" class="detailContentTd">'+zip+'</td></tr><tr style="height:5px"><td colspan="2"></td></tr><tr width="35%" height="19px"><td align="right" valign="middle" class="detailTitleTd">Phone: </td><td valign="middle" align="left" class="detailContentTd">'+phone+'</td></tr><tr width="35%" height="19px"><td align="right" valign="middle" class="detailTitleTd">Distance: </td><td valign="middle" align="left" class="detailContentTd">'+dist+'mi</td></tr></table></td></tr></table>';
			eval('map.addOverlay(ewindow'+myarr[0] + i + ')');
			//eval('marker'+pid+'=new GMarker(point,icon)');
			cid=myarr[0] + i ;
			//alert(cid);
			eval('marker'+cid+'=createCommunityMarker(point,infoTabs[i],icon,cid,propStatus)');
			eval('infoTabs' + cid + ' = infoTabs[i]');
			map.addOverlay(eval('marker'+cid));
		}
	mapItCtrl.addNewIcon_(mapItCtrl.getContainer_(),imgId,imgThmPath+'common/'+imgId+'.gif',"Remove "+unescape(widgetsData[imgId].title),true,"click",function(){
			mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),imgId);
			clearPushPinsMax(imgId, markers.length);
		});
}
//	map.setCenter(point);
};

function clearPushPinsMax(siteName, totalRecords)
{
	//alert("ewindow"+siteName);
	for(var i=0 ; i<totalRecords ; i++)
	{
		var maxMarkerName = "marker"+siteName+i;
		if ( eval('window.' + maxMarkerName + ' != null') )
		{
			window.map.removeOverlay(eval(maxMarkerName));	   				
			eval('window.' + maxMarkerName + ' = null');	
		}
		var maxEwindowName = "ewindow"+siteName+i;
		if ( eval('window.' + maxEwindowName + ' != null') )
		{
			window.map.removeOverlay(eval(maxEwindowName));	   				
			eval('window.' + maxEwindowName + ' = null');	
		}
	}	
	cwinId=0;	
};

/**
 * Create and loads the Editable tabs for Property Listings
 * @param {id} pid Property Id
 * @param {String} propStatus Property Status
 * @author Pankit Bhanushali
 */
function loadEditableTabs(ptid,pid,propStatus)
{
	$('backButton').style.display="";
	$('sortBar').style.display="none";
	$('navDiv').innerHTML = '';
	overlayWindow(pid,propStatus);
	map.savePosition();
	var tabList = {
		'Details': '../property/plTabDetails.php?pid='+pid+"&ptid="+ptid,
		'Pictures': '../property/plTabPictures.php?pid='+pid+"&ptid="+ptid,
		'Video': '../property/plTabVideo.php?pid='+pid+"&ptid="+ptid,
		'Website': '../property/plTabWebsite.php?pid='+pid+"&ptid="+ptid,
		'Flyer': '../property/plTabFlyer.php?pid='+pid+"&ptid="+ptid	
	};

	$('listDiv').innerHTML = "";
	plTabs = loadTabs('listDiv',tabList);
	
//	plTabs.getTab(0).set("cacheData",true);
//	plTabs.getTab(1).set("cacheData",true);
//	plTabs.getTab(2).set("cacheData",true);	
};

function backToListing()
{
//	$('backButtonTd').style.backgroundImage = "";
//	$('backButtonTd').style.backgroundRepeat= "";
	if($("shareBtnDiv"))
		$("shareBtnDiv").hide();
	if ($("commSortBar"))
		$("commSortBar").style.display="none";
	if ($("propSortBar"))
		$("propSortBar").style.display="none";	
	communityTab = false;
	listingTab = false;

	if(typeof(myCommArr) != "undefined")
		myCommArr.clear();
	currPID=0;
	//Effect.toggle('toggleDiv','blind');
	$('backButton').style.display="none";
	if ($('backSearchButton')) $('backSearchButton').style.display="";
	if ($('sortBar'))
		$('sortBar').style.display="none";
	//map.removeControl(mapItCtrl);
	if (typeof(mapItCtrl)!="undefined")
		mapItCtrl.clear_();
//	map.returnToSavedPosition();
	if ((page=="geosearch" || page=="index" || page=="normalsearch") && (isGeoSearchCtrlLoaded==false))
	{
		map.addControl(geoSearchCtrl);
		mapIconCount=0;
		GEvent.addListener(map,"dragend",function(){chkAutoUpdate()});
		GEvent.addListener(map,"zoomend",function(){chkAutoUpdate()});
		toogleToolDiv(0);
		$("chkAutoUpdate").checked = userAutoUpdateStatus;
		$(userContext).className = "geoSearchButtonSelect";
		$("chkAutoUpdate").checked = userAutoUpdateStatus;
		isGeoSearchCtrlLoaded = true;
//		$("propAddress").innerHTML = ($('chkAutoUpdate').checked)?"<span style='font-size:12;font-weight:bold;color:#666666;'>Geographical Search</span>":"<span style='font-size:12;font-weight:bold;color:#666666;'>"+search_criteria+"</span>";
	}
	else if (page=="recentsales")
	{
		toogleToolDiv(0);
//		$("propAddress").innerHTML = "<span style='font-size:12;font-weight:bold;color:#666666;'>"+search_criteria+"</span>";
	}
	if($('srchToolDiv'))
		$('srchToolDiv').style.display="none";
	preSearch();	
};

function backToSearch()
{
	window.location.href="./searchResult.php?PHPSESSID="+sessid+"&page=backtosearch";
};

function loadContents(jsPath)
{
	includeJS(jsPath);
};


function preSearch()
{
	showPropertyListing('page=0','listDiv');
};

function sortBy(fieldName)
{
	orderBy=fieldName;
	preSearch();	
};

function setOrder(order)
{
	if (sortOrder!=order)
	{
		sortOrder=order;
		preSearch();
	}
};

function chkAutoUpdate()
{
	if ($("chkAutoUpdate").checked)
	{
		var url = "./unsetSession.php";
		var queryString="autoUpdate="+$('chkAutoUpdate').checked;
		ajaxRequest(url,queryString,function (resp){
			if (userContext=="onSale" || userContext=="openHouse" || userContext=="newHomes" || userContext=="allHomes")
			{
				geoSearchProperty(userContext,true);
			}
		});
	}
};

function chkGeoSearch()
{
	var url = "./chkGeoSearch.php";
	var queryString="autoUpdate="+$('chkAutoUpdate').checked;
	ajaxRequest(url,queryString,responseUnsetSession);
};
function responseUnsetSession(originalRequest)
{
//	alert(originalRequest.responseText);
	if ($('chkAutoUpdate').checked)
	{
		var bounds = map.getBounds();
		var southWest = bounds.getSouthWest();
		var northEast = bounds.getNorthEast();
		args = userContext+"&sw="+southWest+"&ne="+ northEast;
		page = "geosearch";
//		$("propAddress").innerHTML= "<span style='font-size:12;font-weight:bold;color:#666666;'>Geographical Search</span>";
	}
	else
	{
		args = userContext;
		page = "normalsearch";
//		$("propAddress").innerHTML= "<span style='font-size:12;font-weight:bold;color:#666666;'>"+search_criteria+"</span>";
	}
	preSearch();
};

function geoSearchProperty(action,onDrag)
{
	if ((onDrag) || (userContext != action))
	{
		$(userContext).className = "geoSearchButton";
		$(action).className = "geoSearchButtonSelect";
		userContext = action;
		if ($('chkAutoUpdate').checked)
		{
			var bounds = map.getBounds();
			var southWest = bounds.getSouthWest();
			var northEast = bounds.getNorthEast();
			args = action+"&sw="+southWest+"&ne="+ northEast;
			page = "geosearch";
		}
		else
		{
			args = action;
			page = "normalsearch";
		}
		preSearch();
	}
};

function funEmailHomePopup(propPid,remote,sid,pStatus)
{	

//	alert(propPid+"--"+remote+"--"+sid+"--"+pStatus);
	$("divLoadContacts").innerHTML = "";
	$("divAddContactsLink").style.display = "block";
	$('sendToAFriendForm').style.display='block';
	emailDlg.show();
	if(remote=='true')
	{
		$('server').value = ""; 
		$('server').value = remote+'_'+sid;
	}
	$('propId').value = propPid;
	$('pStatus').value = pStatus;
	$('recipients').value="";
};

function funLoadContacts()
{
	$('divAddContactsLink').style.display = "none";
	var queryString = " ";
	var url = "../listing/loadContacts.php?" + queryString;
	loadToDiv(url,queryString,'divLoadContacts');
};
function changeDispaly(todisp,tohide)
{
	$(todisp).style.display='block'
	$(tohide).style.display='none'
	$('msgbox1').innerHTML = "";
	if(todisp=="signup")
	{
		$('heading').innerHTML="Sign Up";
	}
	else
	{
		$('heading').innerHTML="User Login";
	}
};

function showComparisons()
{
	chkarr = document.getElementsByName('pids');
	len = document.getElementsByName('pids').length;
	var arrChkArr=new Array();
	chk_count=0;
	for(i=0;i<len;i++)
	{
		if(chkarr[i].checked)
		{
			arrChkArr[chk_count]=chkarr[i].value;
			chk_count++;
		}
	}
	if(chk_count==0 || chk_count==1)
	{
		alert('Please select atleast 2 Properties!');
	}
	else if(chk_count > 5)
	{
		alert('You can select maximum 5 properties for comparision.');
	}
	else
	{
		var subQuery="pids="+String(arrChkArr);
		$("comparisons").style.display = "";
		$("comparisonfrm").src = "./showComparisons.php?" + subQuery;
		comparisonsDlg.show();
	}
	
};

function hideComparisons()
{
	$('comparisons').style.display='none';
	$('comparisonfrm').src="";
};

function showDrivingDirection()
{
	chkarr = document.getElementsByName('pids');
	len = document.getElementsByName('pids').length;
	var arrChkArr=new Array();
	chk_count=0;
	for(i=0;i<len;i++)
	{
		if(chkarr[i].checked)
		{
			arrChkArr[chk_count]=chkarr[i].value;
			chk_count++;
		}
	}
	if(chk_count>4)
	{
		alert('Sorry! you can have maximum 4 Properties for Driving Directions.');
	}
	else
	{
		var subQuery="selpids="+String(arrChkArr);
		$("drivingDirection").style.display = "";
		$("direction").src = "./showDriving.php?"+subQuery;
		drivingDirectionDlg.show();
	}
};

function hideDirection()
{
	$('drivingDirection').style.display='none';
};

function emailBlur(id)
{
	if ($(id).value.length == 0)
		$(id).value = "Email Address";
};

function emailFocus(id)
{
	if ($(id).value == "Email Address")
		$(id).value = "";
};

function subscribe()
{
	if(!(($('subscribeEmail').value=="")||($('subscribeEmail').value=="Email Address")))
	{
/*		if(!emailIsValid('subscribeEmail'))
		{
			alert("Please enter valid E-mail Address");
		}
		else*/
		{
			var queryString="email=" + escape($F('subscribeEmail'))+"&frequency=" + escape($F('subscribeFrequency'));
			var url ="./subscribe.php";
			ajaxRequest(url,queryString,showResponseSubscribe);
		}
	}
	else
	{
		alert ("Please Enter E-mail Address");
	}
};

function showResponseSubscribe(originalRequest)
{
	var response = originalRequest.responseText;
	/*alert(response);
	if (response == "1")
	{*/
		alert("Thank you for subscribing");
		$('subscribeEmail').value = "";
	/*}
	else
	{
		alert("Sorry Cannot Subscribe Now. Please try again later");
	}*/
};

function showSearchPopup()
{
	$('searchPopup').style.display = "block";
	searchDlg.show();
};


function getImage(navAction,pid,imgNo)
{
	var queryString = "pid="+pid+"&navAction="+navAction+"&imgNo="+imgNo;
	var url = "./smartWindowImageNavigate.php";
	ajaxRequest(url,queryString,function (respObj){
		$('imgdiv'+pid).innerHTML = respObj.responseText;
	});
};

function showImage(me)
{
	me.style.border = "solid 2px #000000";
	var tp = $("mapDiv").offsetTop;
	var lt = $("mapDiv").offsetLeft;
	var ht = $("mapDiv").offsetHeight;
	var wt = $("mapDiv").offsetWidth;
//	alert(tp+" "+lt+" "+ht+" "+wt);
	$('imgDiv').style.top = (tp+80)+"px";
	$('imgDiv').style.left = (lt+75)+"px";
	$('imgDiv').style.height = "280px";
	$('imgDiv').style.width = "360px";
//	$('imgDiv').style.height = (ht-60)+"px";
//	$('imgDiv').style.width = (wt-60)+"px";

	$('bigImg').style.top = (tp+100)+"px";
	$('bigImg').style.left = (lt+75+20)+"px";
	$('bigImg').style.height = "240px";
	$('bigImg').style.width = "320px";
//	$('bigImg').style.height = (ht-60)+"px";
//	$('bigImg').style.width = (wt-60)+"px";

	$('bigImg').innerHTML = '<img id="" src="'+me.name+'" height="240" width="320" alt="" style="color:#ffffff;border:2px solid #A4CFEF"></img>';
	$('bigImg').style.display = "";
	$('imgDiv').style.display = "";

/*
	me.style.border="2px solid Blue";
	var top = document.getElementById("mapDiv").offsetTop;
	var left = document.getElementById("mapDiv").offsetLeft;
	var ht = document.getElementById("mapDiv").offsetHeight;
	var wt = document.getElementById("mapDiv").offsetWidth;
	if (navigator.appName=="Netscape")
	{ 
		ht = ht - 5;
		wt = wt - 5;
	}
	document.getElementById('imageContainer').style.display="";
	document.getElementById('imageContainer').style.position = "absolute";
	document.getElementById('imageContainer').style.border = "solid 2px #A3B7E2";
	document.getElementById('imageContainer').style.top = top+80;
	document.getElementById('imageContainer').style.left = left+65;
	document.getElementById('imageContainer').style.height = 280;
	document.getElementById('imageContainer').style.width = 360;

	document.getElementById('toshowimg').style.display="";
	document.getElementById('toshowimg').style.position = "absolute";
	document.getElementById('toshowimg').style.top = top+100;
	document.getElementById('toshowimg').style.left = left+30;
	document.getElementById('toshowimg').style.height = ht-60;
	document.getElementById('toshowimg').style.width = wt-60;

	document.getElementById('toshowimg').innerHTML='<img src="'+me.name+'" width="320" height="240" style="border:2px solid #155F15">';
*/
};

function hideImage(me)
{
	me.style.border = "solid 2px #598DC2";
	$('imgDiv').style.display = "none";
	$('bigImg').style.display = "none";
/*	me.style.border="2px solid #155F15";
	document.getElementById('toshowimg').innerHTML='';
	document.getElementById('imageContainer').style.display="none";
	document.getElementById('toshowimg').style.display="none";
*/
};

/*function changeDispaly(todisp,tohide)
{
	document.getElementById(todisp).style.display='block'
	document.getElementById(tohide).style.display='none'
	document.getElementById('msgbox1').innerHTML = "";
};*/

function loadContactPopup(pid,remote)
{
	var queryString="pid="+pid; 
	queryString = queryString +"&remote="+remote;
	//alert (queryString);
	url = './contactPopupInfo.php';
	ajaxRequest(url,queryString,responseContactPopup);
};

function responseContactPopup(originalRequest)
{
	var response = originalRequest.responseText;
	$('agentContact').style.display='';
	$('txtfinfname1').className="textbox";
	$('txtfinphone1').className="textbox";
	$('txtfinemail1').className="textbox";
	$('suggesteddaytime1').className="textbox";
	$('errMsg').innerHTML = "&nbsp;";
	
	contactDlg.show();
	

		$("txtfinpadd1").value = "";	
		$("txtfinpcity1").value = "";	
		$("txtfinpstate1").value = "";
		$("txtfinpzip1").value = "";	
		$("txtfinlname1").value = "";	
		$("suggesteddaytime1").value = "";	
		$("suggesteddaytime2").value = "";	
		$("comments").value = "";	
		$("txtfinphone1").value = "";
		
		
		var ar_response = response.split(':::');
		
		if(ar_response[9]!="")
		{
			var listprice = ",<br>$"+number_format(ar_response[9],2,'.',',');
		}
		else
		{
			var listprice = "";
		}
		
		$('infoImageInContactPopup').innerHTML = "";
		$('infoImageInContactPopup').innerHTML = 	'<span class="moduleDetailText">'+ar_response[2]+' '+ar_response[3]+',<br>'+
																		ar_response[4]+', '+ar_response[5]+', '+ar_response[6]+'<br>'+
																		ar_response[8]+' Bed Rooms,<br>'+ar_response[7]+' Bath Rooms'+listprice+'</span>';
		
		$("txtfinpid").value = ar_response[1];
		$("txtfinpadd1").value = ar_response[2]+' '+ar_response[3];	
		$("txtfinpcity1").value = ar_response[4];	
		$("txtfinpstate1").value = ar_response[5];
		$("txtfinpzip1").value = ar_response[6];	
		$("txtfinprice").value = "$"+number_format(ar_response[9],2,'.',',');	
		
		if((ar_response[10]) && (ar_response[10] != ""))
		{
			var ar_img = ar_response[10].split('\.');
			var imgPath = '/u/thumb/pi/'+ar_img[0]+'_th.'+ar_img[1];
		
		}
		else
		{
			var imgPath = imgThmPath+'listing/noImageThmb.jpg';
		}
	
		$('loadImageInContactPopup').src = "";
		$('loadImageInContactPopup').src = imgPath; 																

};

function clientTimeZone()
{
	//alert("here");
	var d = new Date()
	var min=(d.getTimezoneOffset()/60)*(-1);
	var stringMin=''+min;
	if(stringMin.search(/\./)<0)
	{
		if(stringMin.search(/\-/)<0)
		{
			tz="+"+stringMin+":00";
		}
		else
		{
			tz=stringMin+":00";
		}
		//alert(tz);
	}
	else
	{
		tzArr=stringMin.split(".");
		
		if(tzArr[1].length>1)
		{
			mn=60*(parseFloat(tzArr[1])/100);
		}
		else
		{
			mn=60*(parseFloat(tzArr[1])/10);
		}
		
		//alert(mn);
		if(stringMin.search(/\-/)<0)
		{
			tz="+"+tzArr[0]+":"+mn;
		}
		else
		{
			tz=tzArr[0]+":"+mn;
		}
		//alert(tz);
	}
	return tz;
};
	

function sendMailContact()
{
	
	var tempTz=clientTimeZone();
	//alert(tempTz);
	
	if((!isBlank('txtfinfname1',"First Name")) || (!albhabetIsValid('txtfinfname1',"Only alphabet charecters allowed for First Name!","First Name",null,null)))
	{
		$('errMsg').innerHTML="<span class=\"lang\">"+alertErrorMsg+"</span>";
		$('txtfinfname1').focus();
		$('txtfinfname1').className="textboxRed";
		return false;
	}
	//else if((!isBlank('txtfinphone1',"Contact Number")) || (!numberIsValid('txtfinphone1',"Only numeric value allowed for Contact Number!","Contact Number",null,null)))
	else if(!isBlank('txtfinphone1',"Contact Number"))
	{
		$('errMsg').innerHTML="<span class=\"lang\">"+alertErrorMsg+"</span>";
		$('txtfinphone1').focus();
		$('txtfinfname1').className="textbox";
		$('txtfinphone1').className="textboxRed";
		return false;
	}
	else if((!isBlank('txtfinemail1',"Email Address")) || (!emailIsValid('txtfinemail1',"Please input a valid Email Address!","Email Address",null,null)))
	{
		$('errMsg').innerHTML="<span class=\"lang\">"+alertErrorMsg+"</span>";
		$('txtfinemail1').focus();
		$('txtfinfname1').className="textbox";
		$('txtfinphone1').className="textbox";
		$('txtfinemail1').className="textboxRed";
		return false;
	}
	else if((!isBlank('suggesteddaytime1',"Suggested Date/Time")))
	{
		$('errMsg').innerHTML="<span class=\"lang\">"+alertErrorMsg+"</span>";
		$('txtfinemail1').focus();
		$('txtfinfname1').className="textbox";
		$('txtfinphone1').className="textbox";
		$('txtfinemail1').className="textbox";
		$('suggesteddaytime1').className="textboxRed";
		return false;
	}
	else
	{
		$('loadingConatct').style.display="block";
		$('suggesteddaytime1').className="textbox";
		$('errMsg').innerHTML = "&nbsp;";
		
		var queryString = "sendmail=1";
			queryString = queryString+"&pid="+escape($("txtfinpid").value);	
			queryString = queryString+"&fName="+escape($("txtfinfname1").value);
			queryString = queryString+"&mail="+escape($("txtfinemail1").value);
			queryString = queryString+"&pAdd="+escape($("txtfinpadd1").value);	
			queryString = queryString+"&pCity="+escape($("txtfinpcity1").value);	
			queryString = queryString+"&pState="+escape($("txtfinpstate1").value);
			queryString = queryString+"&pZip="+escape($("txtfinpzip1").value);	
			queryString = queryString+"&lName="+escape($("txtfinlname1").value);	
			queryString = queryString+"&phone="+escape($("txtfinphone1").value);	
			queryString = queryString+"&suggesteddaytime1="+escape($("suggesteddaytime1").value);	
			queryString = queryString+"&suggesteddaytime2="+escape($("suggesteddaytime2").value);	
			queryString = queryString+"&comments="+escape($("comments").value);
			queryString = queryString+"&pPrice="+escape($("txtfinprice").value);
			queryString = queryString+"&timeZone="+escape(tempTz);
			url = './sendMailContact.php';
			ajaxRequest(url,queryString,responseContactMail)
	}	
};

function responseContactMail(originalRequest)
{
	var response = originalRequest.responseText;
	$('loadingConatct').style.display="none";
	if(response==1)
	{
		alert("You contact information has been sent");
	}
	else
	{
		alert("You have already contacted an agent for this property.");
		return false;
	}
	contactDlg.hide();
};


function emailPropertyToFriend()
{	
	if(!isBlank("emailFrom","Email Address"))
	{
		$('errEmailPro').innerHTML = alertErrorMsg;
		$('emailFrom').className = "textboxRed";
		$('emailFrom').focus();
		return false;
	}
	else if(!emailIsValid("emailFrom"))
	{
		$('errEmailPro').innerHTML = alertErrorMsg;
		$('emailFrom').className = "textboxRed";
		$('emailFrom').focus();

		return false;
	}
	else if(!isBlank("recipients","Recipient"))
	{
		$('emailFrom').className = "textbox";
		$('errEmailPro').innerHTML = alertErrorMsg;
		$('recipients').className = "textboxRed";
		$('recipients').focus();
		return false;
	}
	else
	{
		var Recipients = $('recipients').value.split(",");
		for(i=0;i<Recipients.length;i++) 
		{
			var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
			if (filter.test(Recipients[i]))
			{
				var testResults = true;
			}
			else
			{
				$('errEmailPro').innerHTML = "Please input valid email addresses in recipients!";
				$('recipients').className = "textboxRed";
				$('recipients').focus();
				return false;
			}	
		}
		
		$('errEmailPro').innerHTML = "&nbsp;";
		$('emailFrom').className = "textbox";
		$('recipients').className = "textbox";

		var queryString = ""
			queryString = queryString+"?recipients="+Recipients; 
			queryString = queryString+"&fromEmail="+$('emailFrom').value;
			queryString = queryString+"&fromName="+$('nameFrom').value;
			queryString = queryString+"&pid="+$('propId').value;
			queryString = queryString+"&pstatus="+$('pStatus').value;
		
		var svr = $('server').value.split('_');
		if(svr[0]=="true")
		{
			queryString = queryString+"&server=R&sid="+svr[1];
		}

		//alert(queryString);
		var url = './emailProToFriend.php';
		ajaxRequest(url,queryString,responseEmailProperty);
	}
};

function responseEmailProperty(originalRequest)
{
	var response = originalRequest.responseText;
	//alert(response);
	if(response =="Mail Sent")
	{
		alert("Mail has been sent.");
	}
	else
	{
		alert("Sorry!! Can not send mail now, Please try later");
	}
	emailDlg.hide(); 
};



function showCalCtrl(e)
{
	$("divAddOpenHomes").style.display = "block";
	dlgAddOpenHomes.show();
	cal.show();
	$("slctFromHH").selectedIndex = 0;
	$("slctFromMM").selectedIndex = 0;
	$("slctToHH").selectedIndex = 0;
	$("slctToMM").selectedIndex = 0;
	$("slctOpenHomesDate").options.length = 0;
	selectedDate.length = 0;
	
	var opendates = $("opendates").value;
	
	if(trim(opendates) != "")
	{
		var opendatesAr = opendates.split(',');
		for(var i=0;i<opendatesAr.length;i++)
		{
			var strTimeStamp = opendatesAr[i];
			var strTimeStampAr = strTimeStamp.split(' - ');
			var fTimeStamp = strTimeStampAr[0];
			var tTimeStamp = strTimeStampAr[1];
			var fdate = new Date();
			fdate.setTime(fTimeStamp);
			var tdate = new Date();
			tdate.setTime(tTimeStamp);
			var fHour = fdate.getHours();
			var fMin = fdate.getMinutes();
			var tHour = tdate.getHours();
			var tMin = tdate.getMinutes();
			if(fHour < 10)
			{
				fHour = '0'+fHour;
			}
			if(tHour < 10)
			{
				tHour = '0'+tHour;
			}
			if(fMin < 10)
			{
				fMin = '0'+fMin;
			}
			if(tMin < 10)
			{
				tMin = '0'+tMin;
			}
			
			var dateStr = dayArray[fdate.getDay()] + ' ' + eval(fdate.getMonth() + 1) + '/' + fdate.getDate();
			dateStr = dateStr + ' ' + fHour + ':' + fMin + ' - ' + tHour + ':' + tMin;
			var dateValue = strTimeStamp;
			$("slctOpenHomesDate").options[document.getElementById("slctOpenHomesDate").options.length] = new Option(dateStr,dateValue);
		}
	}
	
};

var dayArray = new Array();
dayArray[dayArray.length] = "Sunday";
dayArray[dayArray.length] = "Monday";
dayArray[dayArray.length] = "Tuesday";
dayArray[dayArray.length] = "Wednesday";
dayArray[dayArray.length] = "Thursday";
dayArray[dayArray.length] = "Friday";
dayArray[dayArray.length] = "Saturday";

var selectedDate = new Array();
function funAddDateOpenHomes()
{
	var ftimeHH = document.getElementById("slctFromHH").options[document.getElementById("slctFromHH").selectedIndex].text;
	var ftimeMM = document.getElementById("slctFromMM").options[document.getElementById("slctFromMM").selectedIndex].text;
	var ttimeHH = document.getElementById("slctToHH").options[document.getElementById("slctToHH").selectedIndex].text;
	var ttimeMM = document.getElementById("slctToMM").options[document.getElementById("slctToMM").selectedIndex].text;
	calDate = cal.date;
	if(ftimeHH > ttimeHH)
	{
		_alert("To time must greater than From Time.")
		$("slctFromHH").focus();
		return false;
	}
	else if((ftimeHH == ttimeHH) && (ftimeMM >= ttimeMM))
	{
		_alert("To time must greater than From time.")
		$("slctToMM").focus();
		return false;
	}
	else if((calDate == null) || (calDate == ''))
	{
		_alert("Please select date.");
		return false;
	}
	var date = new Date(calDate);
	var dateStr = dayArray[date.getDay()] + ' ' + eval(date.getMonth() + 1) + '/' + date.getDate();
	dateStr = dateStr + ' ' + ftimeHH + ':' + ftimeMM + ' - ' + ttimeHH + ':' + ttimeMM;
	
	date.setHours(ftimeHH);
	date.setMinutes(ftimeMM);
	var ftimeStamp = date.getTime();
	date.setHours(ttimeHH);
	date.setMinutes(ttimeMM);
	var ttimeStamp = date.getTime();
	
	if($("slctOpenHomesDate").options.length > 0)
	{
		for(var i=0;i<$("slctOpenHomesDate").options.length;i++)
		{
			selectedDate[selectedDate.length] = $("slctOpenHomesDate").options[i].value;
		}
	}
	if(selectedDate.length > 0)
	{
		for(var i =0;i<selectedDate.length;i++)
		{
			var selectedDateAr = selectedDate[i].split(' - ');
			if(((selectedDateAr[0] < ftimeStamp) && (ftimeStamp < selectedDateAr[1])) || ((selectedDateAr[0] < ttimeStamp) && (ttimeStamp < selectedDateAr[1])) || ((ftimeStamp < selectedDateAr[0]) && (selectedDateAr[0] < ttimeStamp)) || ((ftimeStamp < selectedDateAr[1]) && (selectedDateAr[1] < ttimeStamp)))
			{
				alert("Overlapping Schedule");
				return false;
			}
		}
	}
	datevalue = ftimeStamp+' - '+ttimeStamp;
	$("slctOpenHomesDate").options[$("slctOpenHomesDate").options.length] = new Option(dateStr,datevalue);
	selectedDate.length = 0;
};
function funRemDateOpenHomes()
{
	var mySlct = document.getElementById("slctOpenHomesDate");
	var selectedOptionsAr = new Array(); 
	if(mySlct.options.length > 0)
	{
		for(var i = 0;i< mySlct.options.length;i++)
		{
			if(mySlct.options[i].selected == true)
			{
				selectedOptionsAr[selectedOptionsAr.length] = i;
			}
		}
		for(var i=0;i<selectedOptionsAr.length;i++)
		{
			mySlct.options[selectedOptionsAr[i]] = null;
		}
		selectedOptionsAr.length = 0;
	}
};
function funAddOpenHomes()
{
	var mySlct = $("slctOpenHomesDate");
	var strtimestamp = new Array();
	if(mySlct.options.length > 0)
	{
		for(var i=0;i<mySlct.options.length;i++)
		{
			strtimestamp[strtimestamp.length] = mySlct.options[i].value;
		}
		var sortedstrtimestamp = new String(strtimestamp.sort());
		$("opendates").value = sortedstrtimestamp;
		dlgAddOpenHomes.hide();
		cal.hide();
	}
	else
	{
		_alert("Select atleast one date.");
		return false;
	}
};

function hideCal()
{
	cal.hide();
};	

function funSaveOpenDates()
{
	$('divOH').style.display = "none";
};

function setFeatured(me,featpid)
{
	var url = "setFeatured.php";
	var queryString = "pid="+featpid+"&checked="+me.checked;
	ajaxRequest(url,queryString,function(resp){
	});
};

function showCal()
{
	if ($("chkopenhouse").checked)
	{
		$("imgCal").style.display="inline";
	}
	else
	{
		$("imgCal").style.display="none";
	}
};

function showOpenHouseChkBox()
{
	if ($('slctPropStatus').options[$('slctPropStatus').selectedIndex].value=="A")
	{
		$('divOH').style.display = "inline";
		$("chkopenhouse").style.display = "inline";
	}
	else
	{
		$('divOH').style.display = "none";
	}
	showCal();
};


function funEditClick()
{
	$('spEdit').style.display = "none";
	$('spOk').style.display = "inline";
	$('spCancle').style.display = "inline";
	$('divViewPropStatus').style.display = "none";
	$('divSlctPropStatus').style.display = "inline";
	showOpenHouseChkBox();
};

function funCancleClick()
{
	$('spEdit').style.display = "inline";
	$('spOk').style.display = "none";
	$('spCancle').style.display = "none";
	$('divViewPropStatus').style.display = "inline";
	$('divSlctPropStatus').style.display = "none";
	$("chkopenhouse").style.display = "none";
	$("imgCal").style.display = "none";
	for(var i=0;i<$('slctPropStatus').options.length;i++)
	{
		if($('slctPropStatus').options[i].text == $('divViewPropStatus').childNodes[0].innerHTML)
		{
			if($('slctPropStatus').options[i].value == 'A')
			{
				$('divOH').style.display = "inline";
			}
			$('slctPropStatus').selectedIndex = i;
			break;
		}
	}
};

function funOkClick()
{
	$('divViewPropStatus').innerHTML = "";
	$('divViewPropStatus').innerHTML = "<span class=\"lang\">"+$('slctPropStatus').options[$('slctPropStatus').selectedIndex].text+"</span>";
	$('spEdit').style.display = "inline";
	$('spOk').style.display = "none";
	$('spCancle').style.display = "none";
	$('divViewPropStatus').style.display = "inline";
	$('divSlctPropStatus').style.display = "none";
	$("chkopenhouse").style.display = "none";
	$("imgCal").style.display = "none";
	if($('slctPropStatus').options[$('slctPropStatus').selectedIndex].value != 'A')
	{
		$("chkopenhouse").checked = false;
	}
	var url = "../property/updateOpenHomes.php";
	var pid_prop = $('propertyid').value;
	var p_opendates = $("opendates").value;
	var p_status = $('slctPropStatus').options[$('slctPropStatus').selectedIndex].value;
	var p_openhouse = $("chkopenhouse").checked;
	var qryStr = "pid_prop="+pid_prop+"&p_opendates="+p_opendates+"&p_status="+p_status+"&p_openhouse="+p_openhouse;
	ajaxRequest(url,qryStr);
};

var isIE=document.all?1:0;
/*
function funLoadOnMap(bitName)
{
	var bitzLoadedOnMap = 0;
	hideTooltip();
	if (typeof(myBitzGroup) != "undefined")
		bitzLoadedOnMap = myBitzGroup.keys().length;

	if (bitzLoadedOnMap >= 10)
	{
		alert ("Please close a Bit, then select new Bit");
		return;
	}
	if(typeof(fillLoaded)!="undefined")
	{
		fillLoaded(bitName);
	}
	if($("searchCSZ"))
		var csz = $("searchCSZ").value;
	var drgFile = trim(unescape(eval("widgetsData."+bitName+".dragFile")));
	if( (bitName=="metroOfficeListing" || bitName=="jbfeaturedlistings" || bitName=="mlsCountySearch" || bitName=="exclusivecol" || bitName=="mlsfeatured" || bitName=="mlsopenhomes" || bitName=="acbVisual" || bitName=="officeStaff" || bitName=="acbsandagents" || bitName=="brokeroffices" || bitName=="brokeragents" || drgFile.include("dshbrdLocalService.php") ) && bkTheme=="metrobrokers")
	{
		if(csz=="required" || csz=="")
		{
			showPopupDivforMenu(bitName,'mapit');
			return;
		}
	}
	else
	{
		var multiCityFlag=callMultiCityCheck_Dashboard_Metro('dragbit',bitName);
		if(multiCityFlag==false)
		{
			return false;
		}
		else
		{
			if(trim(unescape(eval("widgetsData."+bitName+".dragFile"))) == "funCalled")
			{
				funCnfrmRedirect(bitName);return;
			}
		}
	}
	var siteName = bitName;
	var siteArrDrag = $H(myComLstObj[0]).keys();
	if((siteArrDrag.find (siteName)>= 0) && currPID!=0)
	{
		
		if($(siteName))
		{
			return;
		}
		else
		{
			//initBitsArr.push(siteName);
			var qs = new Querystring();
			if(qs.get('cf')==0)
				bitArr.push(siteName);
			else if (!isSinglePropertyLandingView)
				setMapItCookie(siteName,"add");
			else if(isSinglePropertyLandingView)
				bitArr.push(siteName);
			
			if (currPID==111111111111111)
				loadBit(siteName);			//	loadCommunityNoTab(siteName);
			else
				loadBit(siteName);
		}
	}
	else
	{
		//_alert("Drag-Drop not available!");
	}
	for(var b=0 ; b<bitArr.length; b++)
	{
		//alert(bitArr[b]);	
	}

	//agentsite statistics
	if(agentId != null && trim(agentId) != "")
	{
		var bitTitle = (unescape(widgetsData[bitName].title));
		var url = "../../classes/emailStats.php";
		var qs = "from=bitz&aid="+agentId+"&bitTitle="+bitTitle;
		ajaxRequest(url,qs);
	}
	//statistics done

};
*/
function loadCommunityNoTab(bitName)
{
	if(communityTab==false)
	{
		communityTab=true;
		$("listDiv").innerHTML = '<div  style="overflow:auto;width:100%;height:475px" id="commListDiv"><table align="center" valign="middle" style="height:100%;width:100%;"><tr><td><table align="center" valign="middle" style="width:350px; height:100px" border="0" cellspacing="0" cellpadding="0"><tr style="height:7px;"><td class="msgTableTopleft" valign="bottom"></td><td class="msgTableTopmid" valign="bottom"></td><td class="msgTableTopright" valign="bottom"></td></tr><tr style="height:84px;"><td class="msgTableCenleft"></td><td class="msgTableCenmid"><font color="#666666"><span class="lang"><span>Please drag and drop the <b>\'Bitz\'</b> from <b>\'Bitz Bar\'</b>.</span></span></font></td><td class="msgTableCenright"></td></tr><tr style="height:8px;"><td class="msgTableBotleft"></td><td class="msgTableBotmid"></td><td class="msgTableBotright"></td></tr></table></td></tr></table></div>';
//		tempdivInnerHtml = '<table align="center" valign="middle" style="height:100%;width:100%;"><tr><td><table align="center" valign="middle" style="width:350px; height:100px" border="0" cellspacing="0" cellpadding="0"><tr style="height:7px;"><td class="msgTableTopleft" valign="bottom"></td><td class="msgTableTopmid" valign="bottom"></td><td class="msgTableTopright" valign="bottom"></td></tr><tr style="height:84px;"><td class="msgTableCenleft"></td><td class="msgTableCenmid"><font color="#666666"><span class="lang"><span>Please drag and drop the <b>\'Bitz\'</b> from <b>\'Bitz Bar\'</b>.</span></span></font></td><td class="msgTableCenright"></td></tr><tr style="height:8px;"><td class="msgTableBotleft"></td><td class="msgTableBotmid"></td><td class="msgTableBotright"></td></tr></table></td></tr></table>';
		$("commSortBar").style.display="block";
	}
	
	var cbfnMyDD = function(reqobj)
	{
		var fileName= trim(reqobj.responseText);
		alert(fileName);
		var city = getSearchCookie("city");
		var zip = getSearchCookie("zip");
		var state = getSearchCookie("state");
		var chkVar = getSearchCookie("chkVar");
		//qs = "city="+city+"&state="+state+"&zip="+zip+"&chkVar="+chkVar+"&mapit=1";
		qs = "qckWidgetUpdate=1&city="+city+"&state="+state+"&zip="+zip+"&chkVar="+chkVar+"&propLatitude="+latp+"&propLongitude="+lngp+"&distance="+distanceInMiles+"&mapit=1";
		var url = "../dashboard/" + fileName ;
		showWait("Loading...");
		ajaxRequest(url,qs,function(reqobj){ 
				var imgId = bitName;
				alert(unescape(widgetsData[imgId].title));
				var varResponse = trim(reqobj.responseText);
				if ( varResponse == "No Records" || varResponse == "[]" )
				{
					alert('No record found for ' + imgId);
					//if(trim($("commListDiv").innerHTML)=="")
					if(mapItCtrl.count_()==0)
					{
						communityTab = false;
						$("commSortBar").style.display="none";
					}
					mapItCtrl.addNewIcon_(mapItCtrl.getContainer_(),imgId,imgThmPath+'common/'+imgId+'Crossed.gif',"Remove "+unescape(widgetsData[imgId].title),true,"click",function(){mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),imgId);});
					return;
				}
				else
				{	
					if(typeof(myComLstObj)!="undefined")
						shareCommArr.push(myComLstObj[0][bitName]);
					var myData = eval('('+varResponse+')');
					var bitType = myData[0].category;
					var myDataLen = myData.length;
					mapItCtrl.addNewIcon_(mapItCtrl.getContainer_(),imgId,imgThmPath+'common/'+imgId+'.gif',"Remove "+unescape(widgetsData[imgId].title),true,"click",function(){
						mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),imgId);						
						removeCommPushpins(imgId, myDataLen); 
						removeListing(imgId,myDataLen); 
					});
					for(var i =0 ;i< myData.length;i++)
				    {
				       myCommArr.push(myData[i]);
				    }
					addCommListing();
					sortCommTable($('sortSel').options[$('sortSel').selectedIndex].value,$('sortSel').options[$('sortSel').selectedIndex].name);
					addCommPushpins(myData);
				}
		},null,bitName);		
	}
	var url = "../feed/processMapFeed.php";
	var qs = "getDragFileName=1&widgetName="+bitName;
	ajaxRequest(url,qs,cbfnMyDD);
//	setMapItCookie(bitName,"add");
	
};

/*

function addCommPushpins(data)
{	
	infoCWindow = new Array();
	
	for(var i=0;i<data.length;i++)
    {
        var siteName = data[i].sourcename;
        var address = data[i].address;
        var city = data[i].city;
        var state = data[i].state;
        var zip = data[i].zip;
              
        var addressUrl = data[i].link;
        
        var lat = data[i].latitude;
        var lng = data[i].longitude;
        if(lat == 0 || lng == 0)
        	continue;
        var cnt = data[i].srno;

		siteName = trim(siteName);
		var iconImage;
		iconImage = imgThmPath+"pushpin/"+siteName+"_pushpin.png";
		
//		var mapAddress = address +", "+city+", "+state+" "+zip;
		var mapAddress = address +", "+city+", "+state;
		var point = new GLatLng(parseFloat(lat),parseFloat(lng));
	      if (!point) 
	      {
	      
	      } 
	      else 
	      {
	      	pushPinIcon = new GIcon(); 
			pushPinIcon.image = iconImage; 
			pushPinIcon.iconSize = new GSize(20,28); 
			pushPinIcon.iconAnchor = new GPoint(6, 20);
			pushPinIcon.infoWindowAnchor = new GPoint(5, 1);	
	      
			
     			
			eval('ewc'+siteName+cnt+' = new EWindow(map,E_STYLE_11)');
			var cname =  data[i].name;
			var phone  = data[i].phone;
			var addr = mapAddress;
			addr = addr.sub(',', '<br/>', 1);
			//addr = addr.sub('<br/>', ', ');

			//var cDistance = distVincenty(latp,lngp,parseFloat(lat),parseFloat(lng));
			var cDistance = Math.round(100*data[i].comments)/100;//data[i].comments;
			var imgSrc = imgThmPath+'common/'+siteName+'.gif';					
			infoCWindow[cnt] = '<table border="0">' +
					'				<tr>' +
					'					<td class="helpTopLeft"></td>' +
					'					<td class="helpTopCenter" align="right"></td>' +
					'					<td class="helpTopRight crsr"  onclick="eval(ewc'+siteName+cnt+'.hide());"></td>' +
					'				</tr>' +
					'				<tr>' +
					'					<td class="helpMiddleLeft"></td><td style="background-color: #FFFFFF;">' +
					'						<table>' +
					'							<tr>' +
					'								<td HEIGHT="30px" class="titleTextMapit" >' +
					'									<table width="200" border="0">' +
					'										<tr>' +
					'											<td width="10%" align="center"><img src="'+imgThmPath+'common/'+siteName+'.gif" alt=""/></td>' +
					'											<td width="90%" align="left" class="titleTextMapit">'+cname+' </td>' +
					'										</tr>' +
					'									</table>' +
					'								</td>' +
					'							</tr>' +
					'							<tr>' +
					'								<td class="lang swLableText" style="width:200px">'+addr+'</td>' +
					'							</tr>' +
					'							<tr>' +
					'								<td class="lang swLableText" style="width:200px"> Distance :'+cDistance+' miles</td>' +
					'							</tr>' +
					'						</table>' +
					'					</td>' +
					'					<td class="helpMiddleRight"></td>' +
					'				</tr>' +
					'				<tr>' +
					'					<td class="helpBottomLeft"></td><td class="helpBottomCenter"></td>' +
					'					<td class="helpBottomRight"></td>' +
					'				</tr>' +
					'			</table>';

			eval('map.addOverlay(ewc' +siteName+cnt+ ')');
			eval('infoCWindow' +siteName+cnt + ' = infoCWindow[cnt]');
			eval('commMarker'+siteName+cnt+'=createCommunityMarker(point,infoCWindow[cnt],pushPinIcon,siteName+cnt);');
        	map.addOverlay(eval('commMarker'+siteName+cnt)); 
			eval('GEvent.addListener(commMarker'+siteName+cnt+', "click", function() { if ( addressUrl ) open(addressUrl.gsub(\'amp;\',\'\')); })');
	 	}
		
    }
    //map.setCenter(point,zoomLevel);
    var currPoint = new GLatLng(parseFloat(latp),parseFloat(lngp));
    map.setCenter(currPoint);
};
*/
	function format_phone(phone)
	{
		if(phone == 'undefined' || typeof(phone) == 'undefined' || phone==null || phone=='')
		{
			return "Not Available";
		}

		var ext = "";
		if (phone.indexOf ('E') != -1)
		{
			var tmpArr = phone.split ("E");
			phone = tmpArr[0];
			if (tmpArr[1] != null || tmpArr[1] != "")
			{
				ext = " Ext " + tmpArr[1];
			}
		}
		
		if (phone.length == 11)
		{
			return phone.substring(0, 1) + "-" + phone.substring(1, 4) + "-" + phone.substring(4, 7) + "-" + phone.substring(7) + ext;
		}
		else if (phone.length == 10)
		{
			return phone.substring(0, 3) + "-" + phone.substring(3, 6) + "-" + phone.substring(6) + ext;
		}
		else if (phone.length == 7)
		{
			return phone.substring(0, 3) + "-" + substring(phone, 4, 6) + ext;
		}
		else
		{
			return "Not Available";
		}
	}
/*
function addCommListing()
{
//	$("commListDiv").innerHTML = "Loading...";
    var htmlStr = '';
	len = myCommArr.length;
    for(var j=0 ;j<len; j++)
    {
        var srno = myCommArr[j].srno;
        var site = trim(myCommArr[j].sourcename);    	
        var cName = myCommArr[j].name;
        var addr = myCommArr[j].address;
        var ct = myCommArr[j].city;
        var st = myCommArr[j].state;
        var zp = myCommArr[j].zip;
        var cType = myCommArr[j].type;
        var phone = myCommArr[j].phone;
        var link = myCommArr[j].link;
		var lat = myCommArr[j].latitude;
        var lng = myCommArr[j].longitude;
        var cDistance = Math.round(100*myCommArr[j].comments)/100;
		phone = format_phone(phone);		
        imgSrc = imgThmPath+'common/'+site+'.gif';
        imgPh  = imgThmPath+'common/phone.gif';
  	    divId =  site+srno;
		csz = ct+", "+st;
		cAddress = addr+", "+csz;

		
		htmlStr = htmlStr + "<div style='width:100%;*width:96%;' class='"+site+"Cls'><div style='width:100%;' id='"+divId+"' >" +
		"				<table width='100%' style='font-size:1em'>" +
		"					<tr class='srTr' onmouseover='hoverOnCommList(\""+divId+"\");$(\""+divId+"\").className=\"srTrOver\"'; onmouseout='$(\""+divId+"\").className=\"srTr\"; '  style='margin-left:2px;cursor:default;'>" +
		"								<td align='center' style='width:10%; padding-left:5px;border-bottom: solid 1px #D0D0D0;'><img src='"+imgSrc+"' alt='"+site+"'/></td>" +
		"								<td width='55%' style='border-bottom: solid 1px #D0D0D0;' align='left'><span class='communityWidgetDetail'>"+cName+"</span><br><span class='propertyWidgetDetail'>"+ cAddress +"</span></td>" +
		"								<td width='25%' style='border-bottom: solid 1px #D0D0D0;' align='left'><span class='communityWidgetLegend'><img src='"+imgPh+"'/>&nbsp;&nbsp;"+phone+"<br> Distance: "+cDistance+" miles</span></td>" +
		"					</tr>" +
		"				</table></div></div>";
		
    };
    $("commListDiv").innerHTML = htmlStr;
}	

function removeListing(bitName,count)
{
    for(var i =0 ;i< myCommArr.length;i++)
    {
       if(myCommArr[i].sourcename == bitName)
        {
            myCommArr[i] = null;
        }
    }
    myCommArr = myCommArr.compact();
    removeHtml(bitName);
    
}

function removeHtml(bitName)
{
	if(bitName==null)
	{
		$("commListDiv").innerHTML = "";
		return;
	}
    var MySiteArr = document.getElementsByClassName(bitName+"Cls");
    $A(MySiteArr).each(function(node)
	    {
	        node.remove();
	    }
	);
//	if(trim($("commListDiv").innerHTML) == "")
	if((mapItCtrl.count_()==0) || (myCommArr.length==0))
	{
		if (typeof(srTabs)!="undefined")
		{
			srTabs.removeTab(srTabs.getTab(3));
			srTabs.set("activeTab", srTabs.getTab(0), true);
		}
		else
		{
			$('listDiv').innerHTML = '<table align="center" valign="middle" style="height:100%;width:100%;"><tr><td><table align="center" valign="middle" style="width:350px; height:100px" border="0" cellspacing="0" cellpadding="0"><tr style="height:7px;"><td class="msgTableTopleft" valign="bottom"></td><td class="msgTableTopmid" valign="bottom"></td><td class="msgTableTopright" valign="bottom"></td></tr><tr style="height:84px;"><td class="msgTableCenleft"></td><td class="msgTableCenmid"><font color="#666666"><span class="lang"><span>Please drag and drop the <b>\'Bitz\'</b> from <b>\'Bitz Bar\'</b>.</span></span></font></td><td class="msgTableCenright"></td></tr><tr style="height:8px;"><td class="msgTableBotleft"></td><td class="msgTableBotmid"></td><td class="msgTableBotright"></td></tr></table></td></tr></table>';
		}
		communityTab = false;
		$("commSortBar").style.display="none";
	}
}
Array.prototype.sortComm = function (sortBy,type) 
{
    type = (type==null)?"string":type;
    if(type=="string")
    {
   this.sort(function(aa,bb)
	    {
	       return val = aa[sortBy].localeCompare(bb[sortBy]);
	    }
        );
    }
    else
    {
        this.sort(function(aa,bb)
	    {
               ((trim(aa[sortBy])=="")||(trim(aa[sortBy])==null))?'0':aa[sortBy];
               (trim(bb[sortBy])=="")?'0':bb[sortBy];
               return val = aa[sortBy]-bb[sortBy];
	    }
        );
    }    
}
function sortCommTable(sortBy,type,AscType)
{
	type =  sortBy.split(" ")[1];
	sortBy = sortBy.split(" ")[0];
	AscType = (AscType==null)?"ASC":AscType;
	commSortOrder = (AscType==null)?commSortOrder:AscType;

	if(commSortOrder == "ASC")
		myCommArr.sortComm(sortBy,type);
	else
	{
		myCommArr.sortComm(sortBy,type);
		myCommArr = myCommArr.reverse();
	}
    addCommListing();
}
function hoverOnCommList(wid)
{
	if(comWinId != "")
	{ 
		if(eval('window.ewc'+comWinId)!=null)
			eval('ewc'+comWinId+'.hide()');
	}

	comWinId=wid;
	if(eval('ewc'+wid)!=null)	 
		eval('ewc'+wid+'.openOnMarker(commMarker'+wid+',infoCWindow' + wid +')');
	
}
*/ 

/**
 * Remove the pushpins for the particular bit
 * @param siteName = BitName
 * @param totalRecords = number of records of the particular bit
 */
function removeCommPushpins(siteName, totalRecords)
{
//	setMapItCookie(siteName,"remove");

	for(var i=0 ; i<totalRecords ; i++)
	{
		var maxMarkerName = "commMarker"+siteName+i;
		var maxEw = "ewc"+siteName+i;
		if ( eval('window.' + maxMarkerName + ' != null') )
		{
			window.map.removeOverlay(eval(maxMarkerName));	   				
			eval('window.' + maxMarkerName + ' = null');	
			window.map.removeOverlay(eval(maxEw));	   				
			eval('window.' + maxEw + ' = null');	
		}
	}		
};

var cyberHomesMainAddress = "";
var cyberHomesCounter = "";
var cyberHomesXML = "";
function showPropertyByPID(criteria,status,activetab,fromCyberHomes)
{
//	var savedZoom = map.getZoom();
//	horizontalSlider2.setValue(eval((savedZoom - 3) * 5));
	fromCyberHomes = ( fromCyberHomes && trim(fromCyberHomes) != "" ) ? trim(fromCyberHomes) : "";
	var myarr = criteria.split(",");
	var queryString="";
	
	cyberHomesCounter = "";
	cyberHomesMainAddress = "";
	
	if ( trim(fromCyberHomes) != "" )
	{
		queryString += "type=cyberhomes";
		queryString += "&pid="+escape(myarr[0]);
		queryString += "&cnt="+fromCyberHomes;
		
		cyberHomesMainAddress = myarr[0];
		cyberHomesCounter = fromCyberHomes;		
	}	
	else
	{
		queryString += "type=pid";
		queryString += "&pid="+myarr[0];
	}
	queryString += "&status="+status;	
	queryString += "&isRemote="+(myarr[1]=="R"?"true":"false");
	queryString += "&sid="+myarr[2];
	var url = "./getSinglePropDetails.php";

	$('listDiv').innerHTML = '<table style="height:450px;width:100%"><tr><td><div style="height:100%;width:100%" class="loading">&nbsp;</div></td></tr></table>';
	map.clearOverlays();
	ajaxRequest(url,queryString,function(respObj){
		showPropertyResponse(respObj,"",activetab);
		initLoadBits("SinglePropShare");
	});
	
//	ajaxRequest(url,queryString,showPropertyResponse);
};

function showPropertyByAddress(criteria,status,activetab,datasource,aid)
{
	var myarr = criteria.split(",");
	var address=trim(myarr[0]);
	var city=trim(myarr[1]);
	var state=trim(myarr[2]);
	var zip=trim(myarr[3]);
	var price=trim(myarr[4]);
	var beds=trim(myarr[5]);
	var baths=trim(myarr[6]);
	var lat=trim(myarr[7]);
	var lng=trim(myarr[8]);
	var queryString="";
	var url="";
	if (status=="EXP" || status=="share" || status=="shareA" || status=='homesite')
	{
		if(status=="share")
		{
			address = getSearchCookie("searchAddress");
			city = getSearchCookie("city");
			state = getSearchCookie("state");
			zip = getSearchCookie("zip");
			price="";
			beds="";
			baths="";
			var latLong = eval(getCookie("latLongCk"))[0];
			lat = latLong.lat;
   			lng = latLong.lng;
   			criteria = address+","+city+","+state+","+zip+","+price+","+beds+","+baths+","+lat+","+lng;
		}
		else if(status=="shareA")
		{
			address = myarr[0];
			city = myarr[1];
			zip = myarr[3];
			state = myarr[2];
			
			var latLong = eval(getCookie("latLongCk"))[0];
			lat = latLong.lat;
   			lng = latLong.lng;
			price  = myarr[4];
			beds = 	myarr[5];
			baths = myarr[6];
   			
   			var queryString="";
			queryString += "type=address";
			queryString += "&status=A";
			queryString += "&address="+escape(address);
			queryString += "&city="+city;
			queryString += "&state="+state;
			queryString += "&zip="+zip;
			queryString += "&price="+price;
			queryString += "&beds="+beds;
			queryString += "&baths="+baths;
			queryString += "&lat="+lat;
			queryString += "&lng="+lng;
			//var criteria = address+", "+city+", "+state+", "+zip+", "+price+", "+beds+", "+baths;
			var url = "./getSinglePropDetails.php";
			$('listDiv').innerHTML = '<table style="height:450px;width:100%"><tr><td><div style="height:100%;width:100%" class="loading">&nbsp;</div></td></tr></table>';
			map.clearOverlays();
			ajaxRequest(url,queryString,function(respObj){
				showPropertyResponse(respObj,criteria);
				initLoadBits("SinglePropShare");
			});
			return;
		}
		queryString="";
//		queryString += "type=address";
		queryString += "status=A";
		queryString += "&address="+escape(address);
		queryString += "&city="+escape(city);
		queryString += "&state="+escape(state);
		queryString += "&zip="+escape(zip);
		queryString += "&price="+escape(price);
		queryString += "&beds="+escape(beds);
		queryString += "&baths="+escape(baths);
		queryString += "&lat="+escape(lat);
		queryString += "&lng="+escape(lng);

		var qs = new Querystring();

		// Code did for Personal Agentsite......
		var aid = qs.get('aid');
		if(aid)
			queryString += "&aid="+aid;
		////////////////

		if(status=='homesite')
		{
			var url = "./getSinglePropDetails.php?";
			queryString += "&cid="+escape(activetab);
			queryString += "&type=cid";
			queryString += "&datasource="+datasource;
			
			var ps = qs.get('ps');
			if(ps && aid)
			{
				queryString += "&from=powersearch";
			}
			else if(aid)
			{
				queryString += "&from=agentsite";
			}
		}	
		else
		{
			var ps = qs.get('ps');
			if(ps)
				queryString += "&from=powersearch";
	
			var url = "./getSinglePropDetails.php?";
			queryString += "&type=address";
			queryString += "&chkFromExplore=true";
		}
		
		$('listDiv').innerHTML = '<table style="height:450px;width:100%"><tr><td><div style="height:100%;width:100%" class="loading">&nbsp;</div></td></tr></table>';
		map.clearOverlays();
		ajaxRequest(url,queryString,function(respObj){
			showPropertyByAddressResponse(respObj,criteria,activetab);
		});
	}
	else
	{
		var queryString="";
		queryString += "type=address";
		queryString += "&status="+status;
		queryString += "&address="+escape(trim(myarr[0]));
		queryString += "&city="+escape(trim(myarr[1]));
		queryString += "&state="+escape(trim(myarr[2]));
		queryString += "&zip="+escape(trim(myarr[3]));
		queryString += "&price="+escape(trim(myarr[4]));
		queryString += "&beds="+escape(trim(myarr[5]));
		queryString += "&baths="+escape(trim(myarr[6]));
		queryString += "&lat="+escape(trim(myarr[7]));
		queryString += "&lng="+escape(trim(myarr[8]));
		$('listDiv').innerHTML = '<table style="height:450px;width:100%"><tr><td><div style="height:100%;width:100%" class="loading">&nbsp;</div></td></tr></table>';
		map.clearOverlays();
		var url = "./getSinglePropDetails.php?";
		ajaxRequest(url,queryString,function(respObj){
			showPropertyResponse(respObj,criteria,activetab);
		});
	}
}	
	
function showPropertyByAddressResponse(respObj,criteria,activetab)
{
	var icon = new GIcon();
	icon.iconSize = new GSize(30,34);
	icon.iconAnchor = new GPoint(6, 20);
	icon.infoWindowAnchor = new GPoint(5, 1);
	icon.image= imgThmPath+"pushpin/arrow_pushpin.png";
	if (respObj.responseText!="showexplore")
	{	

		var myarr = criteria.split(",");
		var resp = respObj.responseText.split("|==|");
		var xml = GXml.parse(resp[1]);
		var markers = xml.getElementsByTagName("marker");
		var i=0;
		var pid = markers[i].getAttribute("pid");
		var streetName = markers[i].getAttribute("streetname");
		var houseNo = markers[i].getAttribute("houseno");
		var unitvalue = markers[i].getAttribute("unitvalue");
		var unitprefix = markers[i].getAttribute("unitprefix");
		var addressSuffix = (unitprefix=="NA"?"":unitprefix)+" "+ (unitvalue=="NA"?"":unitvalue);
		var address = houseNo+" "+streetName+" "+addressSuffix;
		var city = markers[i].getAttribute("city");
		var state = markers[i].getAttribute("state");
		var zip = markers[i].getAttribute("zip");
		var mlsno = markers[i].getAttribute("mlsno");
		var lat = markers[i].getAttribute("latitude")!='0'?markers[i].getAttribute("latitude"):myarr[7];
		var lng = markers[i].getAttribute("longitude")!='0'?markers[i].getAttribute("longitude"):myarr[8];
		latp = lat;
		lngp = lng;
		var source =  markers[i].getAttribute("source")!=''?markers[i].getAttribute("source"):"";
		var listprice = markers[i].getAttribute("listprice");
		var beds = markers[i].getAttribute("beds");
		var baths = markers[i].getAttribute("baths");
		var areaSqft = markers[i].getAttribute("areasqft");
		var remote = markers[i].getAttribute("REMOTE");
		var sid = markers[i].getAttribute("RSERVER");
		var propStatus = markers[i].getAttribute("status");
		var point = new GLatLng(parseFloat(lat),parseFloat(lng));
		var listpriceStr = trim(listprice.substr(1))=="0"?"&nbsp;":"$ "+listprice.substr(1);
		var titleAddress="";
		var dbsource = markers[i].getAttribute("dbsource")!=''?markers[i].getAttribute("dbsource"):'';
		if(address!="") titleAddress = address+", ";		
		
		if(cf != 0)
			titleAddress += setCSZValue(getSearchCookie("city"),getSearchCookie("state"),getSearchCookie("zip"));
		else
			titleAddress += city+", "+state+" "+zip;

		if((source=='NNEREN' && uid=='')|| bkTheme=="century21ah" || (source.toUpperCase()=='JONATHAN BOWEN' && uid==''))	
			titleAddress = setCSZValue(getSearchCookie("city"),getSearchCookie("state"),getSearchCookie("zip"));
		if(titleAddress.length > 45)
			titleAddress = titleAddress.substring(0,45)+"...";
		var myQs = new Querystring();
		var frm = myQs.get("frm");
		var aid = myQs.get("aid");
		var ouid = myQs.get("ouid");
		/*
		if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
		{
			window.document.title =  strAgTitle+" - "+titleAddress;
		}
		else if(frm != null && trim(frm) == 'frch' && ouid != null && trim(ouid) != "")
		{
			window.document.title =  strAgTitle+" - "+titleAddress;
		}
		else
		{
			window.document.title =  bkOrgName+" - "+titleAddress;
		}
		*/
		//$('searchCriteria').innerHTML = '<div style="display:inline;float:left">Active Bitz:</div><div style="display:inline;float:right;padding-right:2px;" class="searchCriteriaH">&nbsp;</div>';

		var cssName = "green";
		var siteName = "";
		var addr = address;
		var cnt = "0";
		var price = listpriceStr;
	
		if(beds == "-" || beds == 0)
			beds = "";
		if(baths == "-" || baths == 0)
			baths = "";
		var bedbaths = beds +" Br/"+ baths +" Ba" ;		
		var sqft = areaSqft;
		
		if(sqft <= 0 || sqft=='' || sqft=='-')
		{
	        sqft = "- sqft"
		}
		else
		{
			sqftTmp = num2moneyWrapper(sqft);
			sqft = sqftTmp.replace("$","")+" sqft";
		}
		
		var imgPath = "";
		var picsArr = markers[i].getAttribute("IMAGE")=="0"?"":eval(unescape(markers[i].getAttribute("IMAGE")));
		
		//alert(markers[i].getAttribute("sourceLink"));
		var sourceLink = markers[i].getAttribute("sourceLink")!=""?markers[i].getAttribute("sourceLink"):"/app/listing/singlePropertyLanding.php?PHPSESSID=&pid="+pid+",R,"+sid+"&address=&status=A";
		var showNearBy = "1";

		var propertyType = markers[i].getAttribute("propStatus")?markers[i].getAttribute("propStatus").split("_"):"";
		
		var comments = "";
		if(propStatus=='homesite' || propStatus=='searchByAddress')
		{
			var	datasource = '';
			var brokerName = markers[i].getAttribute("brokername");
			var cMsg = "";

			if(brokerName=='' || brokerName=='undefined' || brokerName==' ')
				cMsg = "";
			else
				cMsg = "Courtesy of "+ brokerName;
				
			if(bkTheme!='terabitz')
			{
	 			var taxDisp = propertyType[0];
				//if(markers[i].getAttribute("sourceLink").include("POWERSRCH"))
				//	siteName = "powersearch";
				
				if(markers[i].getAttribute("sourceLink").include("POWERSRCH"))
					datasource = 'powersearch';				
				else if(propertyType[0]=="New")
	 				datasource = 'mlsnewlisting';
	 			else if(propertyType[0]=="featured")
	 			{
	 				datasource = 'jbfeaturedlistings';
	 				taxDisp = propertyType[1];
	 			}
	 			else if(propertyType[0]=="Back on Market")
	 				datasource = 'mlsbackmarket';
	 			else if(propertyType[0]=="Price Change")
	 				datasource = 'mlspricechange';
	 			else if(propertyType[0]=="openhome")
	 			{
	 				datasource = 'mlsSearch';
	 				taxDisp = propertyType[1];
	 				comments = "1";
	 			}
	 			else	
	 				datasource = 'mlsSearch';
	 			
	 			if(source=='sandicor')
	 			{
					if(propertyType[0]=="Active")
						datasource = 'sanDiegoListings';
					else if(propertyType[0]=="New")	
	 					datasource = "acbsannewlisting";
	 				else if(propertyType[0]=="Back on Market")
	 					datasource = 'acbsanbackmarket';
		 			else if(propertyType[0]=="Price Change")
		 				datasource = 'acbsanpricechange';
	 			}
		 				
		 		if ( taxDisp.length > 8 )
				taxDisp = taxDisp.substring(0,8);
				
				if ( trim(dbsource) == "POCKETLISTING" )
				{
					datasource = 'exclusivelisting';

					if(trim(markers[i].getAttribute("mlsno")) == "")
						mlsno="PKT"+markers[i].getAttribute("pid");
					else
						mlsno=mlsno;
				}

				if ( trim(dbsource) == "ENHANCEDLISTING" )
				{
					if(trim(mlsno) != "")
					{
						if(markers[i].getAttribute("cid") == "PKT")
							mlsno="PKT"+mlsno;
						else
							mlsno=mlsno;		
					}
				}
			}		
			else
			{
				datasource = 'forsalelisting';
				var taxDisp = 'For Sale';
			}
			
			var addr = houseNo+" "+streetName+",";
			if(addressSuffix!='' && addressSuffix!=' ')
				addr = addr +addressSuffix+",";
			if((source=='NNEREN' && uid=='')|| bkTheme=="century21ah" || (source.toUpperCase()=='JONATHAN BOWEN' && uid==''))	
				addr = ",";
			
			addr = addr +city+","+state+","+zip;			
			var moreLink = "/app/listing/singlePropertyLanding.php?PHPSESSID=&pid=&address="+escape(trim(address))+","+escape(city)+","+state+","+zip+","+ money2num(price)+","+beds+","+baths+","+lat+","+lng+"&status=A"+"&back=";
			var groupname = 'Listings';
		}
		else
		{
			var taxDisp ="Status N/A";
			var moreLink ="/app/listing/singlePropertyLanding.php?PHPSESSID=&pid="+pid+",R,"+sid+"&address=&status=A"+"&back="+escape(getBackToListingURL());
			
			var mlsno = "";
			var groupname = "";
			var datasource = '';
		}
		addr = addr.toLowerCase();
		addr = addr.capitalize();
		var valuethishomeLink = "";
		var directionLink = "";
		
		if(markers[i].getAttribute("enableExplore") == 1)	
		{
			var tid = markers[i].getAttribute("pid");

			if(markers[i].getAttribute("dbsource") == "ENHANCEDLISTING")
				tid = "ENH-"+tid;
			else if(markers[i].getAttribute("dbsource") == "POCKETLISTING")
				tid = "PKT-"+tid;
			else
				tid = "MLS-"+tid;			
		}
		else
			var tid = "";

		var copyright = markers[i].getAttribute("copyright")!=''?markers[i].getAttribute("copyright"):"";
		var infoCWindow = getPropertyHtml(cssName,imgThmPath,siteName,addr,cnt,price,bedbaths,sqft,imgPath,sourceLink,moreLink,valuethishomeLink,directionLink,taxDisp,datasource,"","",picsArr,cMsg,mlsno,lat,lng,groupname,showNearBy,comments,copyright,tid);		
		
		ewc0 = new EWindow(map,E_STYLE_18);
		
		map.addOverlay(ewc0);
		
//		var propmarker0 = new GMarker(point,icon);
		var propmarker0 = new GMarker(point,{icon:icon,zIndexProcess:function(marker,b){return GOverlay.getZIndex(marker.getPoint().lat()) + marker.importance*1000000;}});
		propmarker0.importance = 1;
		
		if (!disableSmartWindow)
		{
			GEvent.addListener(propmarker0, "click", function(){
				if(comWinId != "")
				{ 
					if(eval('window.ewc'+comWinId)!=null)
						eval('ewc'+comWinId+'.hide()');
				}
				
				if(cwinId != 0)
				{ 
					eval('ewindow'+cwinId+'.hide()');
				}
				ewc0.openOnMarker(propmarker0,infoCWindow);
				comWinId="0";
			});
		}
		comWinId="0";
		map.addOverlay(propmarker0);
		if (!disableSmartWindow)
		{
			ewc0.openOnMarker(propmarker0,infoCWindow);
		}

		if(sharedCenter)
			map.setCenter(sharedCenter);
		else
			map.setCenter(point);
		
		var queryString="";
		if(propStatus=='homesite' || propStatus=='searchByAddress')
		{
			queryString += "type="+propStatus;
			queryString += "&tid="+pid;
		}
		else
			queryString += "type=address";
		queryString += "&address="+escape(address);
		queryString += "&city="+escape(city);
		queryString += "&state="+escape(state);
		queryString += "&zip="+escape(zip);
		queryString += "&disableSmartWindow="+escape(disableSmartWindow);
		if(dbsource!='')
			queryString += "&dbsource="+dbsource;
		var url = "./srTabDetailsAssement.php";
		

	}
	else
	{
		var myarr = criteria.split(",");
		var address=trim(myarr[0]);
		var city=trim(myarr[1]);
		//LMSRE ::
		/*if(city.indexOf("|") > -1)
		{
			var allCity = city.split("|");
			if(allCity[0]=="county")
				city = allCity[1];
			else
			{
				//var cityList = city.replace("|",", ","g");
				//var cityList = city.gsub("|",", ");
				var allCity = city.split("|");
				var len =allCity.length;
				var cityList="";
				for(i=0;i<len;i++)
				{
					if(cityList.length >= 45)
					{
						if(cityList.length >= 45)
						{
							cityList = cityList.substring(0,44);
							cityList += "... ";
							break;
						}
					}
					else
						cityList += allCity[i] + "; "; 
						
				}
				cityList = cityList.substring(0,cityList.length-2);
				city = cityList;
			}
		}*/	
		var state=trim(myarr[2]);
		var zip=trim(myarr[3]);
		var price=trim(myarr[4]);
		var beds=trim(myarr[5]);
		var baths=trim(myarr[6]);
		var lat=trim(myarr[7]);
		var lng=trim(myarr[8]);
		latp = lat;
		lngp = lng;
		var queryString="";
		if(propStatus=='homesite')
		{
			queryString += "type=homesite";
			queryString += "&tid="+pid;
		}
		else
			queryString += "type=address";
		queryString += "&address="+escape(address);
		queryString += "&city="+escape(city);
		queryString += "&state="+escape(state);
		queryString += "&zip="+escape(zip);

		//var url = "./srTabDetailsAssement.php";		
		var url = "./refineSearch.php";
		if(mapToShow == "")
			url = "./refineSearchOther.php";
	
		var point = new GLatLng(parseFloat(lat),parseFloat(lng));
		var titleAddress="";
		if(address!="") titleAddress = address+", ";
		titleAddress += setCSZValue(getSearchCookie("city"),getSearchCookie("state"),getSearchCookie("zip"));

		if(titleAddress.length > 45)
			titleAddress = titleAddress.substring(0,45)+"...";
		
		if (address!="")
		{
			ewc0 = new EWindow(map,E_STYLE_17);
			map.addOverlay(ewc0);
			
			var propmarker0 = new GMarker(point,icon);
			map.addOverlay(propmarker0);
			/*infoCWindow = "abhishek";
			
			if (!disableSmartWindow)
			{
				ewc0.openOnMarker(propmarker0,infoCWindow);
			}*/
		}				
		if(sharedCenter)
			map.setCenter(sharedCenter);
		else
			map.setCenter(point);
		var myQs = new Querystring();
		var frm = myQs.get("frm");
		var aid = myQs.get("aid");
		var ouid = myQs.get("ouid");
		/**/
		if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
		{
			//window.document.title =  strAgTitle+" - "+titleAddress;
			queryString += "&frm=agt&aid=" + aid;
		}
		else if(frm != null && trim(frm) == 'frch' && ouid != null && trim(ouid) != "")
		{
			//window.document.title =  strAgTitle+" - "+titleAddress;
			queryString += "&frm=frch&ouid=" + ouid;
		}
		else
		{
			//window.document.title =  bkOrgName+" - "+titleAddress;
		}
		
		if(mapToShow == "")
			$('searchCriteria').innerHTML = '<div style="display:inline;float:left">Active Bitz:</div><div style="display:inline;float:right;padding-right:2px;" class="searchCriteriaH">&nbsp;</div>';
	}

	currPID = 111111111111111;
	prevRowId = 0;
	toogleToolDiv(1);
	if($('after') || $('before'))
	{
		$('after').style.display="none";
		$('before').style.display="none";
	}
	$('listDiv').innerHTML="";

	var newTabArr={
		"REFINE SEARCH": url+"?"+queryString+"&ps="+powerSearch+"&t="+parseInt(Date().split(" ")[4].replace(/:/g,""))*Math.random()
	}
	//t=parseInt(Date().split(" ")[4].replace(/:/g,""))*Math.random())
	srTabs = loadTabs('listDiv',newTabArr);
	srTabs.getTab(0).set("cacheData",false);
	srTabs.getTab(0).addListener("activeChange",function (){
		hideHeroDiv();
		srTabs.getTab(0).set("dataSrc",url+"?"+queryString+"&ps="+powerSearch+"&t="+parseInt(Date().split(" ")[4].replace(/:/g,""))*Math.random());	

		var i=0;			
		while(srTabs.getTab(i))
		{
			if(srTabs.getTab(i).get("active"))
			{						
				break;
			}
			i = i+1;
		}
		if(i==0)
		{
			if($("commSortBar"))
				$("commSortBar").style.display="none";
			if($("propSortBar"))
				$("propSortBar").style.display="none";
			if($("propViewDiv"))
				$("propViewDiv").style.display="none";

			$("limitBar").innerHTML="";

			if($("favRoloDiv"))
				$("favRoloDiv").style.display = "none";
		}
		else if($("divContainerAdvanceSearch"))
		{
			$("divContainerAdvanceSearch").style.display="none";
		}
	});	
	initLoadBits();
	//loadShareBits(bitStr);
}	

function showPropertyResponse(respObj,extra,activetab)
{
//	$('listDiv').innerHTML = respObj.responseText;
//	return;
	var resp = respObj.responseText.split("|==|");
	if (resp[0]=="-1")
	{
		$('listDiv').innerHTML = resp[1];
		return;
	}
	else if (resp[0]=="2")
	{
		alert("Not able to resolve the Given Property. Showing the First Property Found");
	}
	var xml = GXml.parse(resp[1]);
	cyberHomesXML = resp[1];
	var markers = xml.getElementsByTagName("marker");
	var infoTabs = new Array(markers.length);
	var icon = new GIcon();
	icon.iconSize = new GSize(30,34);
	icon.iconAnchor = new GPoint(6, 20);
	icon.infoWindowAnchor = new GPoint(5, 1);
	icon.image= imgThmPath+"pushpin/arrow_pushpin.png";
	var i=0;
	var pid = markers[i].getAttribute("pid");
	var streetName = markers[i].getAttribute("streetname");
	var houseNo = markers[i].getAttribute("houseno");
	var unitvalue = markers[i].getAttribute("unitvalue");
	var unitprefix = markers[i].getAttribute("unitprefix");
	var addressSuffix = (unitprefix=="NA"?"":unitprefix)+" "+ (unitvalue=="NA"?"":unitvalue);
	var address = houseNo+" "+streetName+" "+addressSuffix;
	var city = markers[i].getAttribute("city");
	var state = markers[i].getAttribute("state");
	var zip = markers[i].getAttribute("zip");
	var listDate = markers[i].getAttribute("listdate");
	var lat = markers[i].getAttribute("latitude");
	var lng = markers[i].getAttribute("longitude");
	var uid = markers[i].getAttribute("uid");
	var listPrice = markers[i].getAttribute("listprice");
	var beds = markers[i].getAttribute("beds");
	var baths = markers[i].getAttribute("baths");
	var propStatus = markers[i].getAttribute("status");
	var areaSqft = markers[i].getAttribute("areasqft");
	var isOpen = markers[i].getAttribute("isopen");
	var openDays = markers[i].getAttribute("opendays");
	var lotSize = markers[i].getAttribute("lotsize");
	var yearBuilt = markers[i].getAttribute("yearbuilt");
	var isFeatured = markers[i].getAttribute("featured");
	var theme = markers[i].getAttribute("theme");
	var propImage = markers[i].getAttribute("IMAGE");
	var propVideo = markers[i].getAttribute("VIDEO");
	var ufname = markers[i].getAttribute("U_FNAME");
	var ulname = markers[i].getAttribute("U_LNAME");
	var ucity = markers[i].getAttribute("U_CITY");
	var ustate = markers[i].getAttribute("U_STATE");
	var uaddress = markers[i].getAttribute("U_ADD1");
	var uemail = markers[i].getAttribute("U_EMAIL");
	var uphone = markers[i].getAttribute("U_PHONE");
	var remote = markers[i].getAttribute("REMOTE");
	var sid = markers[i].getAttribute("RSERVER");
	if ( trim(cyberHomesMainAddress) != "")
		var counter = markers[i].getAttribute("counter");
	
	var broker = "";
	var pStatus = "";
	var point = new GLatLng(parseFloat(lat),parseFloat(lng));
	var listpriceStr = trim(listPrice.substr(1))=="0"?"&nbsp;":"$ "+listPrice.substr(1);
	var titleAddress="";
	if(address!="") titleAddress = address+", ";
	titleAddress += setCSZValue(city,state);
	titleAddress += "<||>";
	var latlngsqft = lat+","+lng+","+areaSqft+","+city+","+state+","+zip;
	latp = lat;
	lngp = lng;
	isSinglePropertyLandingView = true;
	var cssName = "green";

	if(propStatus=='R')
	{
		var siteName = "recentsales";
		var dataSource = "recentsales";
		var prStatus = "Sold";
	}
	else
	{
		var siteName = "";
		var dataSource = "";
		var prStatus = "Status N/A";
	}
	
	var addr = address+","+city+","+state+","+zip;	
	addr = addr.toLowerCase();
	addr = addr.capitalize();
	var cnt = "0";
	var price = listpriceStr;

	if(beds == "-")
		beds = "";
	if(baths == "-")
		baths = "";

	var bedbaths = beds +" Br/"+ baths +" Ba" ;
	var sqft = areaSqft;
	if(sqft <= 0 || sqft=='-')
	{
        sqft = "- sqft"
	}
	else
	{
		sqftTmp = num2moneyWrapper(sqft);
		sqft = sqftTmp.replace("$","")+" sqft";
	}
	
	var imgPath ="";
	//var sourceLink = "/app/listing/singlePropertyLanding.php?PHPSESSID=&pid="+pid+",R,"+sid+"&address=&status=A";
	var sourceLink = "";
	var moreLink = "/app/listing/singlePropertyLanding.php?PHPSESSID=&pid="+pid+",R,"+sid+"&address=&status=A"+"&back="+escape(getBackToListingURL());;
	var valuethishomeLink = "";
	var directionLink = "";
	var tid = "";
	var infoCWindow = getPropertyHtml(cssName,imgThmPath,siteName,addr,cnt,price,bedbaths,sqft,imgPath,sourceLink,moreLink,valuethishomeLink,directionLink,prStatus,dataSource,"","","","","","","","","","","",tid);
	ewcrecentsales0 = new EWindow(map,E_STYLE_17);
	map.addOverlay(ewcrecentsales0);
	//var propmarker0 = new GMarker(point,icon);
	var propmarker0 = new GMarker(point,{icon:icon,zIndexProcess:function(marker,b){return GOverlay.getZIndex(marker.getPoint().lat()) + marker.importance*1000000;}});
	propmarker0.importance = 1;
	GEvent.addListener(propmarker0, "click", function(){
		if(comWinId != "")
		{ 
			if(eval('window.ewc'+comWinId)!=null)
				eval('ewc'+comWinId+'.hide()');
		}
		ewcrecentsales0.openOnMarker(propmarker0,infoCWindow);
		comWinId="recentsales0";
	});
	comWinId="recentsales0";
	map.addOverlay(propmarker0);
	ewcrecentsales0.openOnMarker(propmarker0,infoCWindow);

	if(sharedCenter)
		map.setCenter(sharedCenter);
	else
		map.setCenter(point);
		var myQs = new Querystring();
		var frm = myQs.get("frm");
		var aid = myQs.get("aid");
		var ouid = myQs.get("ouid");
		if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
		{
			window.document.title =  strAgTitle+" - "+titleAddress.split('<||>')[0];
		}
		else if(frm != null && trim(frm) == 'frch' && ouid != null && trim(ouid) != "")
		{
			window.document.title =  strAgTitle+" - "+titleAddress.split('<||>')[0];
		}
		else
		{
			window.document.title =  bkOrgName+" - "+titleAddress.split('<||>')[0];
		}
	loadConsumerTabs(pid,propStatus,propImage,propVideo,titleAddress,remote,sid,latlngsqft,extra);

	if ((typeof(activetab) != "undefined") && (activetab!=""))
		srTabs.set("activeTab", srTabs.getTab(activetab), true);	
	myHash.merge({"Local" : "Z"});
	mySbarHash.merge({"Local" : "0"});
//	Local= new Array();
	
//	alert("local");
	var localHTMLContent = '<div style="height:470px;width:100%;"><table style="width:100%;height:100%;"><tr><td align="center" valign="middle"><table align="center" valign="middle" style="width:300px; height:35px" border="0" cellspacing="0" cellpadding="0"><tr style="height:7px;"><td class="msgTableTopleft" valign="bottom"></td><td class="msgTableTopmid" valign="bottom"></td><td class="msgTableTopright" valign="bottom"></td></tr><tr ><td class="msgTableCenleft"></td><td class="msgTableCenmid"><font color="#666666"><span class="lang">Please drag-n-drop icons from the Bitzbar above to the map</span></font></td><td class="msgTableCenright"></td></tr><tr style="height:8px;"><td class="msgTableBotleft"></td><td class="msgTableBotmid"></td><td class="msgTableBotright"></td></tr></table></td></tr></table></div>'
	srTabs.getTab(2).set("content", localHTMLContent );
	if ((typeof(activetab) != "undefined") && (activetab!="") && (activetab==1))
		setComparables(pid,remote,1,sid,latlngsqft);
	//loadShareBits(bitStr);
}

function showGoogleDrivingDirection(from,to)
{
	if(typeof(drivingDirectionDlg) == 'string')
	{
		drivingDirectionDlg = createDialog('gdrivingDirections');
		drivingDirectionDlg.beforeHideEvent.subscribe(function(){
		 gdirmap = null;
		 $('gdrivingDirections').style.display="none";
		 $('gdirDisplay').innerHTML = "";
		 },this);
	}	
	$('gdrivingDirections').style.display="";
	showDirections(from,to,"0");
	drivingDirectionDlg.show();
}

String.prototype.capitalize = function(){ //v1.0
    return this.replace(/\w+/g, function(a){
        return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase();
    });
};

function funLoadOnMap(bitName)
{
	if(bitName == "wikipedia")
	{
		var bitzLoadedOnMap = 0;
		if (typeof(myBitzGroup) != "undefined")
			bitzLoadedOnMap = myBitzGroup.keys().length;
		
		if (bitzLoadedOnMap >= 10)
		{
			alert ("Please close a Bit, then select new Bit");
			return;
		}

		if($(bitName) == "undefined" || $(bitName) == null)
		{
			map.addOverlay(wikiLayer);
			funMakeBitNonClickable(bitName);
			mapItCtrl.addNewIcon_(mapItCtrl.getContainer_(),bitName,imgThmPath+'common/'+bitName+'.gif',"Remove "+unescape(widgetsData[bitName].title),true,"click",function()
			{
				mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),bitName);
				map.removeOverlay(wikiLayer);
				funMakeBitClickable(bitName);
			});
		}
		return;
	}

	var drgfilejs = (trim(unescape(eval('widgetsData.'+bitName+'.dragFile'))));
	if ( (drgfilejs.substr(0,10)).toLowerCase() === "javascript") {
		eval(drgfilejs.substr(11));
	}
	else
	{
		var bitzLoadedOnMap = 0;
		if (typeof(myBitzGroup) != "undefined")
			bitzLoadedOnMap = myBitzGroup.keys().length;

		var btNm = "wikipedia";
		if($(btNm) != "undefined" && $(btNm) != null)
			bitzLoadedOnMap += 1;

		if (bitzLoadedOnMap >= 10)
		{
			alert ("Please close a Bit, then select new Bit");
			return;
		}
		if(typeof(fillLoaded)!="undefined")
		{
			fillLoaded(bitName);
		}
		if($("searchCSZ"))
			var csz = $("searchCSZ").value;
		var drgFile = trim(unescape(eval("widgetsData."+bitName+".dragFile")));
		if( (bitName=="metroOfficeListing" || bitName=="jbfeaturedlistings" || bitName=="mlsCountySearch" || bitName=="exclusivecol" || bitName=="mlsfeatured" || bitName=="mlsopenhomes" || bitName=="acbVisual" || bitName=="officeStaff" || bitName=="acbsandagents" || bitName=="brokeroffices" || bitName=="brokeragents" || drgFile.include("dshbrdLocalService.php") ) && bkTheme=="metrobrokers")
		{
			if(csz=="required" || csz=="")
			{
				showPopupDivforMenu(bitName,'mapit');
				return;
			}
		}
		else
		{
			if($("chkmapSearchSelect") && $("chkmapSearchSelect").checked==false && (csz=="required" || csz==""))
			{
				showPopupDivforMenu(bitName,'mapit');
				return;
			}

			var multiCityFlag=callMultiCityCheck_Dashboard_Metro('dragbit',bitName);
			if(multiCityFlag==false)
			{
				//continue page when u click on favourites
				if(bitName != 'favorites')
					return false;
			}
			else
			{
				if(trim(unescape(eval("widgetsData."+bitName+".dragFile"))) == "funCalled")
				{
					funCnfrmRedirect(bitName);return;
				}
			}
		}
		var siteName = bitName;
		var siteArrDrag = $H(myComLstObj[0]).keys();
		if((siteArrDrag.find (siteName)>= 0) && currPID!=0)
		{
			
			if($(siteName))
			{
				if(siteName == "favorites")
				{			
					selFavGrps = "";
					loadBit(siteName);
				}
				return;
			}
			else
			{
				//initBitsArr.push(siteName);
				var qs = new Querystring();
				if(qs.get('cf')==0)
					bitArr.push(siteName);
				else if (!isSinglePropertyLandingView)
					setMapItCookie(siteName,"add");
				else if(isSinglePropertyLandingView)
					bitArr.push(siteName);
				
				if (currPID==111111111111111)
					loadBit(siteName);			//	loadCommunityNoTab(siteName);
				else
					loadBit(siteName);
			}
		}
		else
		{
			//_alert("Drag-Drop not available!");
		}
		for(var b=0 ; b<bitArr.length; b++)
		{
			//alert(bitArr[b]);	
		}

		//agentsite statistics
		if(agentId != null && trim(agentId) != "")
		{
			var bitTitle = (unescape(widgetsData[bitName].title));
			var url = "/classes/emailStats.php";
			var qs = "from=bitz&aid="+agentId+"&bitTitle="+bitTitle;
			ajaxRequest(url,qs);
		}
		//statistics done
	}
};



/*bitListing.js*/

/*bitListing.js*/

var imgThmPath = "../../wt/"+bkTheme+"/images/";
var myTab  = new Object(); //to handle currently loaded tab names
var myHash = $H(); //to handle group names along with their type for dynamic arrays
var mySbarHash = $H(); //to handle sortbar indexes for all tabs
var myUdHash = $H(); //to handle up/down link index for every tab
var myBitzGroup = $H();
var paginationHash = $H();
var groupSiteHash = $H();
var myDzEnableHash = $H();
var myDzLatLngHash = $H();
var bounds = new GLatLngBounds();
var currpushpin=''; // SOTHEBY js

var disableAutozoom = true;  // SOTHEBY js In prev it was False
var isSinglePropertyLandingView = false;

if(typeof(totalRecLimitOther) == "undefined") totalRecLimitOther = 20;
if(typeof(totalRecLimit) == "undefined") totalRecLimit = 60; // SOTHEBY 20 was in Prev
if(typeof(recordPerPage) == "undefined") recordPerPage = 20;

var blockSize = totalRecLimitOther; // global variable for no of records in a block
var blockSize100 = totalRecLimit;
var pagiBlockList = recordPerPage; // Pagination for Mls Property bitz On listing side
var modVal = parseInt(totalRecLimit/pagiBlockList);

var paginationBitsArr = new Array("acbsan","newListing","mlsCountySearch","mlsSearch","jbfeaturedlistings","mercerFeaturedListing","ibrOfficeListing","mlsopenhomes","acbVisual","exclusivelisting","mlsfeatured","exclusivecol","metroOfficeListing","enhancelistings","reolistings","shortsale","luxuryproperties","bankowned","johnstoneofficelisting","maxbroockofficelisting","reoofficelisting","mlsNHoodMode","mlsHomesMode","mlsnewlisting","medallionhomes","rentals"); // SOTHEBY "mlsNHoodMode","mlsHomesMode" added 
var pagiBlock100BitsArr = new Array("acbsan","newListing","mlsCountySearch","mlsSearch","jbfeaturedlistings","mercerFeaturedListing","ibrOfficeListing","mlsopenhomes","acbVisual","exclusivelisting","mlsfeatured","exclusivecol","metroOfficeListing","enhancelistings","reolistings","shortsale","luxuryproperties","bankowned","johnstoneofficelisting","maxbroockofficelisting","reoofficelisting","mlsNHoodMode","mlsHomesMode","mlsnewlisting","medallionhomes","rentals"); // SOTHEBY "mlsNHoodMode","mlsHomesMode" added 

var showDetail=0;
var singleBit = "";
var oldbounds = "";
var newbounds = "";
var bounds_diff_x = 0;
var bounds_diff_y = 0;
var disableNoRecordsError = false; // ByDefault, enable No Recods Error message for all bits

var mapListnerAdded = 1;


var powerSortOrderArr = new Array("dl","dh","lil","lih","al","ah");
var dragzoomBitsArr = new Array("acbsan","newListing","mlsCountySearch","mlsSearch","jbfeaturedlistings","mercerFeaturedListing","ibrOfficeListing","mlsopenhomes","exclusivelisting","mlsfeatured","exclusivecol","acbVisual","metroOfficeListing","enhancelistings","reolistings","shortsale","luxuryproperties","reoOfficeListing","bankowned","johnstoneofficelisting","maxbroockofficelisting","reoofficelisting","mlsNHoodMode","mlsHomesMode","mlsnewlisting","medallionhomes","rentals"); // ,"mlsNHoodMode","mlsHomesMode" ADDED from SOTHEBY

var queryDistance = "";
var mapZoomChanged = false;
var chkPSAr = new Array();
var propView = 1;
var selFavGrps = "";

// FROM bitListing Anil
var currNeighSel = "";
var currHomeSel = "";

//anil // FROM bitListing Anil 
var t = new Array();
var globalTimer = 0;

if(bkTheme=="intero" || bkTheme=="metrobrokers") propView=2;

if(getCookie("pv") == null || getCookie("pv") == "")
{
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	setCookie("pv",propView,now);
}
else
	propView = getCookie("pv");

Ajax.currentRequests = {};

/// Image Hover Div SOTHEBY CODE
var divImageTooltip = document.createElement ("div");
divImageTooltip.style.width = "280px";
divImageTooltip.style.height = "260px";
divImageTooltip.style.left = "0px";
divImageTooltip.style.top = "0px";
divImageTooltip.style.display = "none";
divImageTooltip.style.backgroundColor = "#f00";
divImageTooltip.style.border = "solid 0px #FF0000";
divImageTooltip.id = "divImageTooltip";
divImageTooltip.innerHTML = "Click here for more photos";
/// Image Hover Div SOTHEBY CODE ENDS

//function for registering ajax requests
Ajax.Responders.register({
	onCreate: function(request) {
		// keep note of this request object so we can cancel it if superceded
		Ajax.activeRequestCount++;
		if(request.options.onlyLatestOfClass && Ajax.currentRequests[request.options.onlyLatestOfClass]==null)
		{
			Ajax.currentRequests[request.options.onlyLatestOfClass] = request;
			$("imgTotal").innerHTML = $A($H(Ajax.currentRequests).values()).compact().length;
			$("imgNo").innerHTML = $A($H(Ajax.currentRequests).values()).compact().length+"/";
		}
	},
	onComplete: function(request) {
		Ajax.activeRequestCount--;
		if (request.options.onlyLatestOfClass) {
			// remove the request from our cache once completed so it can be garbage collected
			Ajax.currentRequests[request.options.onlyLatestOfClass] = null;
			if($("imgWait"))
			{
				if($("imgWait").innerHTML.indexOf(request.options.onlyLatestOfClass)==-1)
				{
					$("imgWait").innerHTML = $("imgWait").innerHTML + "&nbsp;<img src='"+imgThmPath+"common/"+request.options.onlyLatestOfClass+".gif' alt='"+request.options.onlyLatestOfClass+"' />"
					$("imgNo").innerHTML = $A($H(Ajax.currentRequests).values()).compact().length+"/";
				}
			}
		}
		if(Ajax.activeRequestCount==0)
		{				
			hideWait();			
			if(share!=true && showDetail==1)
			{
				window.setTimeout("setBitData("+isDragZoom+")",10);
				//setBitData();
				showDetail=0;
			}
			isDragZoom = false;
			disableNoRecordsError = false; // Once the default bits are loaded, enable the No Records Found error message
		}
	}
});

//function to display wait lightbox on loading the bit on map
function showWait(msg)
{
	var curid = "LoadingWait";
    var str = new StringBuffer();
	if($(curid)==null)
	{
   	    var mydiv = document.createElement("div");
	    leftpos = getPositionLeft(document.getElementsByClassName("headTr")[0])-10+"px";
	    toppos = getPositionTop("after")+"px";
    	mydiv.style.position = "absolute";
	    mydiv.style.width = "1010px";
	    mydiv.style.height = "850px";
	    mydiv.style.left = leftpos;
	    mydiv.style.top = "0px";
	    mydiv.style.zIndex = 1000;
	    mydiv.style.display = "block";
	    mydiv.style.border = "solid 1px #87A8B4";
	    mydiv.className = "maskError2";		
    	    mydiv.id='LoadingWait';
	    str.append('<table border="0" width="100%"  height="100%">');
	    str.append('<tr><td align="center" valign="middle" >');
	    str.append('<table border="0" class="widgetErrTbl" style="margin:20px;border:2px solid silver;width:250px;" cellspacing="3" cellpadding="3">');
	    str.append('<tr style="z-index:1500;"><td  align="center" valign="middle" id="msgWait"><img src="'+imgThmPath+'common/indexLoading_1.gif" alt="Terabitz" /></td></tr>');
	    str.append('<tr style="z-index:1500;"><td  align="center" valign="middle" style="font-size:14px;"><span id="imgNo"></span><span id="imgTotal"></span>&nbsp;Remaining...</td></tr>');	    
	    str.append('<tr style="z-index:1500;"><td  align="center" valign="middle" style="padding-top:10px;"><span id="imgWait"></span></td></tr>');
	    str.append("</table>");
	    str.append('</td></tr></table>');
	    mydiv.innerHTML = str.toString();
	    document.body.appendChild(mydiv);
   	    $("imgWait").focus();
	}
	else
	{
    	leftpos = getPositionLeft(document.getElementsByClassName("headTr")[0])-10+"px";
	    toppos = getPositionTop("after")+"px";
		$(curid).style.left = leftpos;
		$(curid).style.top = "0px";
        $(curid).style.display = "block";
   	    $("imgWait").focus();
   	}
   	hideSelectBoxes();
}

//function to remove light box
function hideWait()
{
	if(Ajax.activeRequestCount <= 0 )
	{
		if($("imgWait"))
			$("imgWait").innerHTML = "";
		if($("LoadingWait"))
			$("LoadingWait").style.display = "none";
		showSelectBoxes();
	}
	else
		return;
}

//function to load all selected bits
function initLoadBits(from)
{
	// Disable the No Recods Error message for default loaded bits, only first time
	disableNoRecordsError = true;

	var querys = new Querystring()
	if (querys.get("mapZoomLevel"))
	{
		var initZoom = querys.get("mapZoomLevel");
		map.setZoom(parseInt(initZoom));
	}

	var myQs = new Querystring();
	var tid = myQs.get("tid");
	var cf = myQs.get("cf");
	var code = myQs.get("code");
	if(code == null || code == "undefined")
		code = "";
	else
		code = "1";

	if (myQs.get("distance") != null && myQs.get("distance") != "")
	{
		queryDistance = trim(myQs.get("distance"));
	}
	if((trim(getSearchCookie('city')) == "" && trim(getSearchCookie('state')) == "" && trim(getSearchCookie('zip')) == "") || typeof(latLong) == "undefined" || latLong == null || (cf == 1 && code == ""))
	{	
		var data = myQs.get("address").split(",");
		var adr = data[0];
		var ct = data[1];
		var st = data[2];
		var zp = data[3];
		var lt = data[7];
		var lg = data[8];
		setSearchCookie("searchAddress",adr);
		setSearchCookie("city",ct);
		setSearchCookie("state",st);
		setSearchCookie("zip",zp);

		var latLongStr = "[{'lat':'"+lt+"','lng':'"+lg+"'}]";
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("latLongCk",latLongStr,now);
		latLong = eval(getCookie("latLongCk"))[0];
		
		var titleAddress="";
		if(adr!="") titleAddress = adr+", ";
		titleAddress += setCSZValue(getSearchCookie("city"),getSearchCookie("state"),getSearchCookie("zip"));
		var myQs = new Querystring();
		var frm = myQs.get("frm");
		var aid = myQs.get("aid");
		var ouid = myQs.get("ouid");
		if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
		{
			window.document.title =  strAgTitle+" - "+titleAddress;
		}
		else if(frm != null && trim(frm) == 'frch' && ouid != null && trim(ouid) != "")
		{
			window.document.title =  strAgTitle+" - "+titleAddress;
		}		
		else
		{
			window.document.title =  bkOrgName+" - "+titleAddress;
		}		
	}

	if(cf == 0)
	{
		var data = myQs.get("address").split(",");
		var adr = data[0];
		var ct = data[1];
		var st = data[2];
		var zp = data[3];

		var titleAddress="";
		if(adr!="") titleAddress = adr+", ";
		titleAddress += ct+", "+st;

		if(titleAddress.length >45)
			titleAddress = titleAddress.substr(0,44)+"...";
	}

	if(from=="geo")
	{
		myHash.each(function(pair) {		
			myHash[pair.key] = null;
		});
	}
	else
	{
		var qsstatus = myQs.get("status");
		var ad="";
		if(qsstatus=="EXP")
		{
			$("searchCSZ").value = setCSZValue(getSearchCookie("city"), getSearchCookie("state"), getSearchCookie("zip"));				
		}
	}
	if (from=="SinglePropShare" || tid!=null || cf == 0)
	{		
		var initBitsArr = bitArr;		
	}
	else
	{
		var qsBitNames = myQs.get("widgetnames");
		if (qsBitNames == "undefined" || qsBitNames == null || qsBitNames == "")
		{
			disableNoRecordsError = false;
		}
		var initBitsArr = getAllMapItCookie();
	}
	
	// SOTHEBY CODE 
	for(var i=0;i<initBitsArr.length;i++)
	{
		if(i>9)
			return;

		if(trim(initBitsArr[i])!="")
		{
			myBitzGroup[initBitsArr[i]] = "";
			if(initBitsArr[i] == "mlsNHoodMode")
			{
				var latLng = eval(getCookie("latLongCk"))[0];
				var htm = ","+getSearchCookie("city")+","+getSearchCookie("state")+","+getSearchCookie("zip")+","+latLng.lat+","+latLng.lng+",,search";
				loadBit(initBitsArr[i],1,"","",htm);
			
			}
			else
			{			
				//alert("2 : "+map.getZoom());
				map.setZoom(parseInt(listingzoom));
				loadBit(initBitsArr[i]);				
				changeMapListeners("add");
			}
		}
	}
	// SOTHEBY CODE ENDS	
}

//function to load individual bit according to type
function loadBit(bitName,pgNo,srt,forceDragZoom,html)
{	
	   	if (typeof(forceDragZoom) == "undefined")
		{
			forceDragZoom = false;
		}		
		isDragZoom = forceDragZoom;
		
		
		funReloadAdvertise();
		
		showDetail=1;
		var srtBy = "";
		if(typeof(pgNo)=="undefined")	
			pgNo=1;

		if(typeof(srt)=="undefined")
		{
			srtBy = getSearchCookie("searchSortType")=="" ? "ph":getSearchCookie("searchSortType");
		}
		else
		{
			srtBy = srt;
		}

		//var myArrIndex = Object.keys(widgetsData).sort().indexOf(bitName);		
		//if(myArrIndex == -1)
		//{		
			 //Object.keys(widgetsData).push(bitName);
		//}

		var fileName = "";
		var fromPage = "";
		if(bitName == "mlsNHoodMode" || bitName == "mlsHomesMode")
			fileName = unescape(widgetsData[bitName].dragFile);
		else
		{
			fileName = "mlsPropertyListings.php";
			fromPage = "dynamicMap";
		}
		
		if(bitName == "jbfeaturedlistings" || bitName == "mercerFeaturedListing" || bitName == "ibrOfficeListing" || bitName == "reolistings" || bitName=="shortsale" || bitName=="mlsCountySearch" || bitName=="newListing" || bitName=="exclusivelisting" || bitName=="mlsfeatured" || bitName=="mlsopenhomes" || bitName=="acbVisual" || bitName=="exclusivecol" || bitName=="metroOfficeListing" || bitName=="enhancelistings" || bitName=="mlsSearch" || bitName == "acbsan" || bitName == "johnstoneofficelisting" || bitName == "maxbroockofficelisting" || bitName == "reoofficelisting" || bitName == "medallionhomes" || bitName == "rentals")
		{			
			//DO NOTHING
		}
		else
		{
			var city = getSearchCookie("city");
			if(city.include("|"))
			{
				setMapItCookie(bitName,"del");
				return;
			}
		}

		if(cf == 0)
		{	
			var myQs = new Querystring();
			dataArr = myQs.get("address").split(",");

			var city = trim(dataArr[1]);
			var zip = trim(dataArr[3]);
			var state = trim(dataArr[2]);
			var ad = trim(dataArr[0]);
			var chkVar = getSearchCookie("chkVar"); 
			var tmpLatLong = new Object();
			tmpLatLong['lat'] = trim(dataArr[7]);
			tmpLatLong['lng'] = trim(dataArr[8]);				
		}
		else
		{
			var city = getSearchCookie("city");
			var zip = getSearchCookie("zip");
			var state = getSearchCookie("state");
			var ad = getSearchCookie("searchAddress");
			var chkVar = getSearchCookie("chkVar"); 
			oldQs = funGetAdvSearchQueryString();		
			var objQS = new Querystring(oldQs);
			var tmpLatLong = (getCookie("latLongCk")!=null)?(eval(getCookie("latLongCk"))[0]):null;

			if (srtBy == "")
			{
				srtBy = "ph";
			}
			objQS.set("searchSortType",srtBy);
		}

		var tmpLat = "";
		var tmpLong = "";
		var propLat = "";
		var propLng = "";

		if (tmpLatLong != null)
		{
			tmpLat = tmpLatLong.lat;
			tmpLong = tmpLatLong.lng;			
		}

		if (tmpLat != "" && tmpLong !="")
		{
			propLat = tmpLat;
			propLng = tmpLong;			
		}
		else
		{	
			propLat = latp;
			propLng = lngp;			
		}

		var qs = new StringBuffer();
		if(cf == 0)
		{
			qs.append("&qckWidgetUpdate=1");
			qs.append("&minprice=");
			qs.append("&maxprice=");
			qs.append("&beds=");
			qs.append("&minsqft=");
			qs.append("&maxsqft=");
			qs.append("&baths=");
			qs.append("&searchType=");
			qs.append("&searchSortType=ph");
			qs.append("&lfDate=");
			qs.append("&ltDate=");
			qs.append("&county=");
			qs.append("&neighborhood=");
		}
		else
			qs.append(objQS.qs);

		if (bitName=="mlsSearch")
		{
			var myQs = new Querystring();
			var la = (myQs.get("la")!=null)?myQs.get("la"):"";
			qs.append("&la="+la);

			// If MLS Search bit loaded by default, then pass additional parameter
			if (disableNoRecordsError)
			{
				qs.append("&default=1");
			}
		}
		
		if (queryDistance != "")
		{
			qs.append("&distance=" + queryDistance);
		}

		if(paginationBitsArr.indexOf(bitName) != -1)
		{
			if(pagiBlock100BitsArr.indexOf(bitName) != -1 )
				qs.append("&page="+pgNo+"&limit="+blockSize100);
			else
				qs.append("&page="+pgNo+"&limit="+blockSize);
		}
		else if(bitName=="mlsSearch")
		{ 
			RecordLimit=$("limitSel").options[$("limitSel").selectedIndex].value;			
			qs.append("&RecordLimit="+RecordLimit);
		}
		else if(bitName=="listingsnapshot")
		{ 
			RecordLimit=$("limitSel").options[$("limitSel").selectedIndex].value;			
			qs.append("&RecordLimit="+RecordLimit);
		}
		qs.append("&listingType=" + getSearchCookie("listType"));
		//****START**************TEMPLATE JS FUNCTION USED TO GENERATE QRY STRING FOR EXTRA PARAM****************//
		var queryStr = "" ;
		var addtionalThemeParam = getSearchTemplateParam ();		
		if (addtionalThemeParam != null)
		{	
			queryStr = '';
			addtionalThemeParam.each(function(pair)
				{				
					queryStr += '&' + pair.key + '=' + pair.value;
					setSearchCookie(pair.key,pair.value);	
				});
		}
		var garage_cookie = '';		
		garage_cookie = getSearchCookie("garage");		
		garage_cookie = garage_cookie.replace(/\+/g,' ');
		if(garage_cookie.include("__"))
			garage_cookie = garage_cookie.replace('__','+');
		
		queryStr += '&pool='+getSearchCookie("pool")+'&fire='+getSearchCookie("fire")+'&photo='+getSearchCookie("photo");
		queryStr += '&fromYear='+getSearchCookie("fromYear")+'&stories='+getSearchCookie("stories")+'&garage='+garage_cookie;
		qs.append(queryStr);		
		//*****END*************TEMPLATE JS FUNCTION USED TO GENERATE QRY STRING FOR EXTRA PARAM****************//
		//alert(bitName+" "+isDragZoomCtrl);
		if (isDragZoomCtrl=="2")
		{
			var bounds = map.getBounds();
			var southWest = bounds.getSouthWest();
			var northEast = bounds.getNorthEast();

			propLat = map.getCenter().lat();
			propLng = map.getCenter().lng();
			var boolGrpByCity;
			
			if ( map.getZoom() <= cityzoom ) {
				boolGrpByCity = 1;
				var areainfo =  'Looking at Zip Codes within map area.';
			}
			else if ( (map.getZoom() >= cityzoom) && (map.getZoom() <= neighzoom) ) {				
				currNeighSel = propLat+":::"+propLng+":::"+map.getZoom();
				boolGrpByCity = 2;
				var areainfo =  'Looking at Zip Codes within map area.';
			}
			else if ( map.getZoom() >= listingzoom ) {
				currHomeSel = propLat+":::"+propLng+":::"+map.getZoom();
				boolGrpByCity = 0;
				var areainfo =  'Looking at homes within map area.';
			}

			if ( typeof(html) !== "undefined" && html != "")
			{
				var innr = html.split(",");
				
				// ADDED NEW 
				var addrN = innr[0];
				var addrArr = addrN.split(":");
				var addr = addrArr[0];
				// ADDED ENDS

				var city = innr[1];
				var state= innr[2];
				var nhc = city;
				var nhs = state;
				
				if(typeof(innr[7]) != "undefined" && (innr[7] == "reload" || innr[7] == "search"))
				{
					boolGrpByCity = 2;
					areainfo = 'You are now searching in '+nhc+', '+nhs+'.';
					if(innr[7] == "search")
					{						
						changeMapListeners("remove");
		                disableAutozoom = true;
						map.setCenter(new GLatLng(parseFloat(innr[4]),parseFloat(innr[5])), parseInt(map.getZoom()));
						
						bounds = map.getBounds();
						southWest = bounds.getSouthWest();
                        northEast = bounds.getNorthEast();

                        propLat = map.getCenter().lat();
               			propLng = map.getCenter().lng();
						changeMapListeners("add");
					}
				}
				else
				{
					if (currpushpin=='neighborhood' || currpushpin.split("|")[0] == 'neighborhood') {
						var nh = addr;
						boolGrpByCity = 0;
						if (nh != '')
							areainfo =  'Looking at homes in '+unescape(nh)+', '+unescape(nhc)+' '+nhs+'.';
						else
							areainfo =  'Looking at homes within map area.';				
					}
					else if (currpushpin=='city') {
						boolGrpByCity = 2;
						areainfo = 'You are now searching in '+nhc+', '+nhs;
					}
				}
			}
			
			qs.append("&sw="+southWest+"&ne="+ northEast+"&dz=1&boolGrpByCity="+boolGrpByCity);
			showlocationinfo(areainfo);
			// NEW SOTHEBY CODE ENDS
		}
		else if ((isDragZoom || forceDragZoom) && dragzoomBitsArr.indexOf(bitName) != -1)
		{
			propLat = map.getCenter().lat();
			propLng = map.getCenter().lng();
			latp = map.getCenter().lat();
			lngp = map.getCenter().lng();
			qs.append("&dz=1");
		}
		else
		{			
			if(myDzEnableHash[bitName] && myDzEnableHash[bitName] == "1")
			{
				//get last lat lng from hash
				var latlng = myDzLatLngHash[bitName];				
				var latLngArr = latlng.split(":");
				propLat = latLngArr[0];
				propLng = latLngArr[1];
				latp = latLngArr[0];
				lngp = latLngArr[1];
				qs.append("&dz=1");
			}
			else
			{				
				if(isDragZoom || forceDragZoom) //setting latlong for local and education bitz
				{
					propLat = map.getCenter().lat();
					propLng = map.getCenter().lng();
					latp = map.getCenter().lat();
					lngp = map.getCenter().lng();
					qs.append("&dz=1");
				}
				else
				{
					if(cf != 0)
					{
						propLat = tmpLatLong.lat;
						propLng = tmpLatLong.lng;
						latp = tmpLatLong.lat;
						lngp = tmpLatLong.lng;
					}
					else
					{
						var myQs = new Querystring();
						dataArr = myQs.get("address").split(",");
						propLat = trim(dataArr[7]);
						propLng = trim(dataArr[8]);
						latp = trim(dataArr[7]);
						lngp = trim(dataArr[8]);
					}
				}
			}
		}
		qs.append("&address="+ad+"&city="+city+"&state="+state+"&zip="+zip+"&chkVar="+chkVar+"&propLatitude="+propLat+"&propLongitude="+propLng+"&mapit=1");
		qs.append("&search=");		
		
		/***   if area is set in cookie then search for particular bounding box - specially for map search from email alerts    ***/
		if(bitName == "mlsCountySearch" || bitName == "exclusivelisting") // SOTHEBY CODE MODIFIED
		{
			if(getSearchCookie("area") != "")
			{
				var area = getSearchCookie("area");

				if(!area.include("|"))
				{
					area = area.replace(/\ /g,"");
					area = area.replace("((","");
					area = area.replace("))","");
					area = area.replace("),(",",");
					area = area.split(",");				
					qs.append("&minlat="+area[0]);
					qs.append("&minlong="+area[1]);
					qs.append("&maxlat="+area[2]);
					qs.append("&maxlong="+area[3]);
				}
				else
				{
					mapArr = area.split("|");
					var minLat = "";
					var minLong = "";
					
					var maxLat = "";
					var maxLong = "";

					for(var i=0;i<mapArr.length;i++)
					{
						mapArr[i] = mapArr[i].replace(/\ /g,"");
						var areaArr = mapArr[i].split(",");
						minLat += areaArr[0].replace("((","")+",";
						minLong += areaArr[1].replace(")","")+",";
						
						maxLat += areaArr[2].replace("(","")+",";
						maxLong += areaArr[3].replace("))","")+",";
					}
					minLat = minLat.substr(0,minLat.length-1);
					minLong = minLong.substr(0,minLong.length-1);
					maxLat = maxLat.substr(0,maxLat.length-1);
					maxLong = maxLong.substr(0,maxLong.length-1);						

					qs.append("&minlat="+minLat);
					qs.append("&minlong="+minLong);
					qs.append("&maxlat="+maxLat);
					qs.append("&maxlong="+maxLong);
				}
			}
		}
		
		var myQsPrp = new Querystring();
		/*if(myQsPrp.get('prpAlert') != null && myQsPrp.get('prpAlert') == "1")
		{
			qs.append("&status="+getSearchCookie("propStatus").replace(/\:/g,','));
			qs.append("&minlotsqft="+getSearchCookie("minLotSize"));
			qs.append("&maxlotsqft="+getSearchCookie("maxLotSize"));
			qs.append("&stories="+getSearchCookie("stories"));
			qs.append("&garage="+getSearchCookie("garage"));
			qs.append("&minyearbuilt="+getSearchCookie("fromYear"));
			qs.append("&maxyearbuilt="+getSearchCookie("toYear"));
		}*/
		
		//property style included in qs
		if(bkTheme == "metrobrokers")
		{
			qs.append("&propStyle="+trim(getSearchCookie("propStyle")).replace(/:/g,','));				
		}

		qs.append("&minlotsqft="+getSearchCookie("minLotSize")+"&maxlotsqft="+getSearchCookie("maxLotSize"));
		/*qs.append("&garage="+getSearchCookie("garage"));
		qs.append("&stories="+getSearchCookie("stories"));
		qs.append("&fromYear="+getSearchCookie("fromYear"));
		qs.append("&pool="+getSearchCookie("pool"));
		qs.append("&fire="+getSearchCookie("fire"));
		qs.append("&photo="+getSearchCookie("photo"));*/		
		
		if(selFavGrps != "All")
			qs.append("&grp="+selFavGrps);

		if (bkTheme == 'waltwensel')
		{
			if ($('WALTWENSELDataSrcSelect'))
			{
				if (!$('WALTWENSELDataSrcSelect').checked)
				{
					setSearchCookie ('WALTWENSELDataSrcSelect', 'KEYSTONE');
					qs.append('&WALTWENSELDataSrcSelect=KEYSTONE');
				}
				else
				{
					setSearchCookie ('WALTWENSELDataSrcSelect', 'RAYAC');
					qs.append('&WALTWENSELDataSrcSelect=RAYAC');
				}
			}
		}

		var url = "../dashboard/" + fileName ;
		qs.append("&fromPage="+fromPage);
		qs.append("&searchdesc="+getSearchCookie("detailDesc").replace(/\:/g,',')); // SOTHEBY ADDED		
		showWait("Loading...");
		ajaxRequest(url,qs.toString(),function(reqobj){ 
				var imgId = bitName;
				var varResponse = trim(reqobj.responseText);

				// Code for Gooogle Analytics - PLS DO NOT REMOVE
				if (typeof(pageTracker) != "undefined" && typeof(widgetsData[bitName]) != "undefined")
				{
					pageTracker._trackPageview("/"+(widgetsData[bitName].title).replace(/%20/g,''));
				}

				if(varResponse.include("NoAlert:"))
				{
					setMapItCookie(bitName,"del");
					return;
				}

				if(varResponse.include("Alert:") || varResponse == "No Records" || varResponse == "[]" )
				{	
					
					if(bitName != "") //special condition for mapsearch IF WHOLE NEW SOTHEBY CODE 
					{
						var msgToshow = varResponse.gsub("Alert:","");
						alert(msgToshow);
						showlocationinfo("please move the map to the area that you wish to search and then click GO");
					}
					else if (typeof(myBitzGroup[bitName]) != "undefined") // SOTHEBY COE STARTS
					{
						if(!$(imgId))
						{
							mapItCtrl.addNewIcon_(mapItCtrl.getContainer_(),imgId,imgThmPath+'common/'+imgId+'.gif',"Remove "+unescape(widgetsData[imgId].title),true,"click",function()
							{
								mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),imgId);

								if (!isSinglePropertyLandingView)
									setMapItCookie(imgId,"del");
								
								if(myDzEnableHash[bitName])
								{
									myDzEnableHash.remove(bitName);
									myDzLatLngHash.remove(bitName);
								}
								if(typeof(myBitzGroup[bitName]) != "undefined")
									myBitzGroup.remove(bitName);
								funMakeBitClickable(bitName);
							});							
							funMakeBitNonClickable(bitName);
						}						
						// do not remove if map search is enabled
					} // SOTHEBY COE ENDS
					else
					{				
						if(dragzoomBitsArr.indexOf(bitName) != -1) 
						{
							if(!$(bitName))
							{
								myBitzGroup[bitName] = "";
								mapItCtrl.addNewIcon_(mapItCtrl.getContainer_(),imgId,imgThmPath+'common/'+imgId+'.gif',"Remove "+unescape(widgetsData[imgId].title),true,"click",function()
								{
									mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),imgId);
									setMapItCookie(bitName,"del");
								});
							}
						}
						else
							setMapItCookie(bitName,"del");
					
						if ( varResponse == "No Records" || varResponse == "[]" )
						{				
							// Disable error message for default loaded bits
							if (!disableNoRecordsError)
							{
								alert('No result found for ' + unescape(widgetsData[imgId].title));
							}
						}
						else
						{						
							var msgToshow = varResponse.gsub("Alert:","");
							var QStrHome = new Querystring();
							// Disable error message for default loaded bits
							if (!disableNoRecordsError)
							{
								alert(msgToshow);
							}												
						}												
						funMakeBitClickable(bitName);
					}

					var grp = "";										
					
					if(myDzEnableHash[bitName])
					{
						myDzEnableHash.remove(bitName);
						myDzLatLngHash.remove(bitName);
					}
					
					groupSiteHash.each(function(pair) {
						
						if(pair.value == bitName)
						{
							grp = pair.key;							
							myHash.remove(pair.key);
							mySbarHash.remove(pair.key);
							myUdHash.remove(pair.key);								
						}
					});
					
					groupSiteHash.remove(grp);					
					var i = 0;
					
					while(srTabs.getTab(i))
					{
						
						if(grp == (srTabs.getTab(i).get("label")).gsub(" ",""))
						{
							
							srTabs.removeTab(srTabs.getTab(i));
							break;
						}
						i = i+1;
					}
					return;
				}
				else
				{	
					
					if(varResponse.include('FATAL'))
					{
						
						return;
					}
					
					if(varResponse.include('Supplied RSS url contains no item.'))
					{
						alert("Supplied RSS url contains no item.");
						return;
					}
					
					if(varResponse.include('Supplied RSS url is invalid.'))
					{
						alert("Supplied RSS url is invalid.");
						return;
					}
					
					var myData = eval('('+varResponse+')');
					
					// SOTHEBY CODE STARTS
					if (myData[0].datasource=='nhpushpin')
						currpushpin = 'neighborhood';
					else if (myData[0].datasource=='citypushpin')
						currpushpin = 'city';
					// SOTHEBY CODE ENDS	
					
					if (myData[0].sourcename == "terabitzpartner")
					{
						
						setMapItCookie(imgId,"del");
						var arrComments = myData[0].comments.split(":::");
						
						var shareURL = unescape(arrComments[0]);
						var mlsDomain = unescape(arrComments[1]);
						function funRedirectToOther()
						{
							var url = shareURL;
							window.location.href = url;
						}
						funRedirectToOther();
						return;
					}
					
					if(typeof(myComLstObj)!="undefined")
					{
						shareCommArr.push(myComLstObj[0][bitName]);
					}
					var totalRecords = myData[0].totalcount;
					var bitType = myData[0].category;									
					var tabName = myData[0].groupname;
					var source = myData[0].sourcename;						
					var group = tabName.gsub(" ","");										

					var i=0;
					var tabExists=0;
					while(srTabs.getTab(i))
					{
						if(tabName == srTabs.getTab(i).get("label"))
						{
							tabExists = 1;
							break;
						}
						i = i+1;
					}	
					var lastTabId = i;
					
					myBitzGroup[bitName] = group;

					if(tabExists == 0)
					{						
						var pageInfo = pgNo;
						if(typeof(paginationHash[group])=="undefined")
						{
							paginationHash[group]=pageInfo;
						}
						groupSiteHash[group] = bitName;
						var newTabArr = $H();
						newTabArr[tabName] = null;
						srTabs = addTabs(srTabs,newTabArr,[true]);										
						myTab[group] = bitType;
						myHash[group] = bitType;

						if(dragzoomBitsArr.indexOf(bitName) != -1)
						{
							myDzEnableHash[bitName] = 0;
							var latlng = latp+":"+lngp;
							myDzLatLngHash[bitName] = latlng;
						}
						//to set sortbar index-----------------------																		
						if(bitType=="P")
						{
							var sortOrder=getSearchCookie("searchSortType")==""?"ph":getSearchCookie("searchSortType");

							if(powerSortOrderArr.indexOf(sortOrder) != -1)
								sortOrder = "ph";
							
							if(sortOrder == "pl")
							{
								mySbarHash[group] = 0;
								myUdHash[group] = 0;
							}
							else if(sortOrder == "ph")
							{
								mySbarHash[group] = 0;
								myUdHash[group] = 1;
							}
							else if(sortOrder == "brl")
							{
								mySbarHash[group] = 1;
								myUdHash[group] = 0;
							}
							else if(sortOrder == "brh")
							{
								mySbarHash[group] = 1;
								myUdHash[group] = 1;
							}
							else if(sortOrder == "bal")
							{
								mySbarHash[group] = 2;
								myUdHash[group] = 0;
							}
							else if(sortOrder == "bah")
							{
								mySbarHash[group] = 2;
								myUdHash[group] = 1;
							}
							else if(sortOrder == "sqftl")
							{
								mySbarHash[group] = 3;
								myUdHash[group] = 0;
							}
							else if(sortOrder == "sqfth")
							{
								mySbarHash[group] = 3;
								myUdHash[group] = 1;
							}							
						}
						else
						{														
							mySbarHash[group] = 0;
							var sortOrder=getSearchCookie("searchSortType")==""?"ph":getSearchCookie("searchSortType");
							myUdHash[group] = 0;
						}
	
						if(dragzoomBitsArr.indexOf(bitName) != -1)
						{
							srTabs.getTab(i).set("content",'<div class="mapItListDiv" style="overflow-y:auto;overflow-x:hidden;width:100%;height:390px" id="' + group + 'ListDiv"><table style="height:400px;width:100%"><tr><td><div style="height:100%;width:100%" id="divLoading" class="loading">&nbsp;</div></td></tr></table></div> <span id="tempDiv"></span>');
							$("favRoloDiv").style.display="";
						}
						else					
						{
							srTabs.getTab(i).set("content",'<div class="mapItListDiv" style="overflow-y:auto;overflow-x:hidden;width:100%;height:475px" id="' + group + 'ListDiv"><table style="height:475px;width:100%"><tr><td><div style="height:100%;width:100%" id="divLoading" class="loading">&nbsp;</div></td></tr></table></div><span id="tempDiv"></span>');						
							$("favRoloDiv").style.display="none";
						}						
						
						srTabs.getTab(i).set("disabled", false);			
						srTabs.set("activeTab", srTabs.getTab(i), true);								

					if(bitType=="C")
					{
						if($("propViewDiv"))
							$("propViewDiv").style.display = "none";

						if(group == "Local")
							myHash["Local"] = "C";
												
						$("limitBar").style.display="inline";
						$("commSortBar").style.display="inline";

						if($("propSortBar"))
							$("propSortBar").style.display="none";

						mySbarHash.each(function(pair) {
							if(pair.key == group)
							{								
								$("sortSel").selectedIndex = pair.value;									
							}
						});
						
						var upDownIndex = myUdHash[group];
						
						var ind = $("sortSel").selectedIndex;
						var sortIndex = $('sortSel').options[ind].value;
													
						if(upDownIndex == 0)							
							var strHtml = "<img src='"+imgThmPath+"listing/up_d.gif' id='lblAscC'>&nbsp;<img src='"+imgThmPath+"listing/down_a.gif' id='lblDescC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"2\",\"" + group + "\");'/>";
						else
							var strHtml = "<img src='"+imgThmPath+"listing/up_a.gif' id='lblAscC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"1\",\"" + group + "\");'/>&nbsp;<img src='"+imgThmPath+"listing/down_d.gif' id='lblDescC' class='upDownLabel'/>";
						$("spnUpDownC").innerHTML = strHtml;																
								
						srTabs.getTab(i).addListener("click",function(e){
						$("commSortBar").style.display="inline";

							$("propSortBar").style.display="none";
							$("limitBar").style.display="inline";
							$("limitBarProf").style.display="none";
							
							mySbarHash.each(function(pair) {
								if(pair.key == group)
								{
									$("sortSel").selectedIndex = pair.value;									
								}
							});
							
							var upDownIndex = myUdHash[group];
							
							var ind = $("sortSel").selectedIndex;
							var sortIndex = $('sortSel').options[ind].value;
														
							if(upDownIndex == 0)
									var strHtml = "<img src='"+imgThmPath+"listing/up_d.gif' id='lblAscC'>&nbsp;<img src='"+imgThmPath+"listing/down_a.gif' id='lblDescC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"2\",\"" + group + "\");'/>";
							else
									var strHtml = "<img src='"+imgThmPath+"listing/up_a.gif' id='lblAscC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"1\",\"" + group + "\");'/>&nbsp;<img src='"+imgThmPath+"listing/down_d.gif' id='lblDescC' class='upDownLabel'/>";	

							$("spnUpDownC").innerHTML = strHtml;
							
							if(paginationBitsArr.indexOf(bitName) == -1)
							{
								eval("var arr = "+group+";");
								if(isArray(arr) && arr.length>0)
									$("limitBar").innerHTML = '<table valign="middle"><tr><td class="lang paginatinText">'+ arr.length +' most relevant records</td></tr></table>';
							}														
						});
						
						srTabs.getTab(i).addListener("activeChange",function(e){
							
							if(paginationBitsArr.indexOf(bitName) != -1)
							{
								if(e.prevValue)
								{
									//$("limitBar").style.display="none";
								}
								else
								{
									var from = 1;
									setPagination(pgNo,totalRecords,bitName,group,from);
								}
							}
							
							if(paginationBitsArr.indexOf(bitName) == -1)
							{
								if(e.newValue)
								{									
									eval("var arr = "+group+";");
									if(isArray(arr) && arr.length>0)
										$("limitBar").innerHTML = '<table valign="middle"><tr><td class="lang paginatinText">'+ arr.length +' most relevant records</td></tr></table>';
								}
							}
							
							if(e.newValue)
							{			
								$("favRoloDiv").style.display="none";
								if($("propViewDiv"))
									$("propViewDiv").style.display = "none";
								
								$("commSortBar").style.display="inline";
								
								if($("propSortBar"))
									$("propSortBar").style.display="none";

								mySbarHash.each(function(pair) {
									if(pair.key == group)
									{
										$("sortSel").selectedIndex = pair.value;									
									}
								});

								var upDownIndex = myUdHash[group];
								var ind = $("sortSel").selectedIndex;
								var sortIndex = $('sortSel').options[ind].value;
								
								if(upDownIndex == 0)
										var strHtml = "<img src='"+imgThmPath+"listing/up_d.gif' id='lblAscC'>&nbsp;<img src='"+imgThmPath+"listing/down_a.gif' id='lblDescC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"2\",\"" + group + "\");'/>";
								else
										var strHtml = "<img src='"+imgThmPath+"listing/up_a.gif' id='lblAscC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"1\",\"" + group + "\");'/>&nbsp;<img src='"+imgThmPath+"listing/down_d.gif' id='lblDescC' class='upDownLabel'/>";

								$("spnUpDownC").innerHTML = strHtml;
							}
						});
						
					}
					else if(bitType=="P")
					{	
						$("propViewDiv").style.display = "block";
						if(paginationBitsArr.indexOf(bitName) != -1)
							$("limitBar").style.display="inline";
						else								
							$("limitBar").style.display="inline";

						if($("commSortBar"))
							$("commSortBar").style.display="none";
						
						$("propSortBar").style.display="block"; 
							
						var upDownIndex = myUdHash[group];

						$("sortProp").length = 0;
						var optn = document.createElement("OPTION");
						optn.text = "Price";
						optn.value = "price number";
						$("sortProp").options.add(optn);

						var optn = document.createElement("OPTION");
						optn.text = "Beds";
						optn.value = "beds number";
						$("sortProp").options.add(optn);

						var optn = document.createElement("OPTION");
						optn.text = "Baths";
						optn.value = "baths number";
						$("sortProp").options.add(optn);							

						var optn = document.createElement("OPTION");
						optn.text = "Sqft";
						optn.value = "sqft number";
						$("sortProp").options.add(optn);
					
						$("sortProp").selectedIndex = mySbarHash[group];
						
						var ind = $("sortProp").selectedIndex;
						var sortIndex = $('sortProp').options[ind].value;

						if(upDownIndex == 0)
								var strHtml = "<img src='"+imgThmPath+"listing/up_d.gif' id='lblAscC'>&nbsp;<img src='"+imgThmPath+"listing/down_a.gif' id='lblDescC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"2\",\"" + group + "\");'/>";
						else
								var strHtml = "<img src='"+imgThmPath+"listing/up_a.gif' id='lblAscC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"1\",\"" + group + "\");'/>&nbsp;<img src='"+imgThmPath+"listing/down_d.gif' id='lblDescC' class='upDownLabel'/>";						
											
						// NEW SOTHEBY CODE STARTS
						srTabs.getTab(i).addListener	("click",function(e){																													
							$("commSortBar").style.display="none";
							$("propSortBar").style.display="block";
							
							//latest code
							changeMapListeners("remove");
							disableAutozoom = true;
							var innr = "";
							if(bitName == "mlsNHoodMode")
							{
								showlocationinfo("Looking at Zip Codes within map area.",5,"");
								$("propSortBar").style.display="none";
								$("favRoloDiv").style.display="none";
								if($("ZipCodesListDiv")) $("ZipCodesListDiv").style.height="475px";

								var innr = currNeighSel.split(":::");
								if(typeof(Homes) != "undefined" && Homes != null)
								{			
									removeCommPushpins("mlsCountySearch", Homes.length);
								}
								map.setCenter(new GLatLng(parseFloat(innr[0]),parseFloat(innr[1])), parseInt(innr[2]));							
								changeMapListeners("add");								
								addBitPushpins(ZipCodes);								
							}
							else if(bitName == "mlsHomesMode")
							{
								$("propSortBar").style.display="";
								$("favRoloDiv").style.display="";
								if($("ZipCodesListDiv")) $("ZipCodesListDiv").style.height="390px";
								var innrhtml=$('searchCriteria').innerHTML;
								var citystate=trim(getSearchCookie('city'))+" "+trim(getSearchCookie('state'))+".";
								var innrsplit=innrhtml.split(",");
								if (trim(innrsplit[1])!=citystate)
									showlocationinfo("Looking at homes within map area.",5,"");
								else
									showlocationinfo("Looking at homes within map area.",5,"");

								var innr = currHomeSel.split(":::");
								if(typeof(ZipCodes) != "undefined" && ZipCodes != null)
								{					
									removeCommPushpins("mlsCountySearchNH", ZipCodes.length);
								}
								map.setCenter(new GLatLng(parseFloat(innr[0]),parseFloat(innr[1])), parseInt(innr[2]));							
								changeMapListeners("add");
								addBitPushpins(Homes);
								if(propView == 1)
								{
									var from = 1;
									setPagination(pgNo,Homes[0].totalcount,bitName,group,from);								
								}
								else
									$("limitBar").style.display="none";
							}	
							else
							{
								$("propSortBar").style.display="";
								$("favRoloDiv").style.display="";
								if($("ZipCodesListDiv")) $("ZipCodesListDiv").style.height="390px";
								var innr = currHomeSel.split(":::");
								map.setCenter(new GLatLng(parseFloat(innr[0]),parseFloat(innr[1])), parseInt(innr[2]));							
								changeMapListeners("add");
								addBitPushpins(Homes);
								if(propView == 1)
								{
									var from = 1;
									setPagination(pgNo,Homes[0].totalcount,bitName,group,from);								
								}
								else
									$("limitBar").style.display="none";
							}
							//latest code
						});
						//NEW SOTHEBY CODE ENDS
						
						var propActiveListener = function(e){
							if(e.newValue)
							{									
								hideHeroDiv();

								$("sortProp").length = 0;
								var optn = document.createElement("OPTION");
								optn.text = "Price";
								optn.value = "price number";
								$("sortProp").options.add(optn);

								var optn = document.createElement("OPTION");
								optn.text = "Beds";
								optn.value = "beds number";
								$("sortProp").options.add(optn);

								var optn = document.createElement("OPTION");
								optn.text = "Baths";
								optn.value = "baths number";
								$("sortProp").options.add(optn);

								var optn = document.createElement("OPTION");
								optn.text = "Sqft";
								optn.value = "sqft number";
								$("sortProp").options.add(optn);
								
								if(dragzoomBitsArr.indexOf(bitName) != -1)
								{
									$("favRoloDiv").style.display="";
									$("imgSavFav").style.display="";
								}
								else
								{
									$("favRoloDiv").style.display="none";
								}
								$("propViewDiv").style.display = "block";
								if(paginationBitsArr.indexOf(bitName) != -1)
								{
									var from = 1;									
									setPagination(pgNo,totalRecords,bitName,group,from);		
									if(eval(group) != "")
										switchView(propView,group);						
								}
								else
								{
									$("propViewDiv").style.display = "none";
									$("limitBar").style.display="inline";		
									eval("var arr = "+group+";");
									if(isArray(arr) && arr.length>0)
										$("limitBar").innerHTML = '<table valign="middle"><tr><td class="lang paginatinText">'+ arr.length +' most relevant records</td></tr></table>';
								}	
								
								$("propSortBar").style.display="block"; 										
								$("commSortBar").style.display="none"; 
								$("sortProp").selectedIndex = mySbarHash[group]; //pair.value;
						
								var upDownIndex = myUdHash[group];
								var ind = $("sortProp").selectedIndex;
								var sortIndex = $('sortProp').options[ind].value;
										
								if(upDownIndex == 0)
										var strHtml = "<img src='"+imgThmPath+"listing/up_d.gif' id='lblAscC'>&nbsp;<img src='"+imgThmPath+"listing/down_a.gif' id='lblDescC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"2\",\"" + group + "\");'/>";
								else
										var strHtml = "<img src='"+imgThmPath+"listing/up_a.gif' id='lblAscC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + bitType + "\",\"1\",\"" + group + "\");'/>&nbsp;<img src='"+imgThmPath+"listing/down_d.gif' id='lblDescC' class='upDownLabel'/>";
								
								$("spnUpDown").innerHTML = strHtml;	

							//latest code
							changeMapListeners("remove");
							disableAutozoom = true;
							var innr = "";
							
							if(bitName == "mlsNHoodMode")
							{
							    showlocationinfo("Looking at Zip Codes within map area.",5,"");
								$("propSortBar").style.display="none";
								$("favRoloDiv").style.display="none";
								if($("ZipCodesListDiv")) $("ZipCodesListDiv").style.height="475px";

								var innr = currNeighSel.split(":::");
								if(typeof(Homes) != "undefined" && Homes != null)
								{			
									removeCommPushpins("mlsCountySearch", Homes.length);
								}
								map.setCenter(new GLatLng(parseFloat(innr[0]),parseFloat(innr[1])), parseInt(innr[2]));							
								changeMapListeners("add");
								addBitPushpins(ZipCodes);
								var from = 1;
								setPagination(pgNo,ZipCodes[0].totalcount,bitName,group,from);																								
							}
							else if(bitName == "mlsHomesMode")
							{
								$("propSortBar").style.display="";
								$("favRoloDiv").style.display="";
								if($("ZipCodesListDiv")) $("ZipCodesListDiv").style.height="390px";
								var innrhtml=$('searchCriteria').innerHTML;
								var citystate=trim(getSearchCookie('city'))+" "+trim(getSearchCookie('state'))+".";
								var innrsplit=innrhtml.split(",");
								if (trim(innrsplit[1])!=citystate)
									showlocationinfo("Looking at homes within map area.",5,"");
								else
									showlocationinfo("Looking at homes within map area.",5,"");

								var innr = currHomeSel.split(":::");
								if(typeof(ZipCodes) != "undefined" && ZipCodes != null)
								{			
									removeCommPushpins("mlsCountySearchNH", ZipCodes.length);
								}
								map.setCenter(new GLatLng(parseFloat(innr[0]),parseFloat(innr[1])), parseInt(innr[2]));							
								changeMapListeners("add");
								if(typeof(Homes) != "undefined" && Homes != null)
								{			
									removeCommPushpins("mlsCountySearch", Homes.length);
								}								
								addBitPushpins(Homes);
								
								if(propView == 1)
								{
									var from = 1;
									setPagination(pgNo,Homes[0].totalcount,bitName,group,from);								
								}
								else
									$("limitBar").style.display="none";
							}
							else
							{	
								$("propSortBar").style.display="";									
								$("favRoloDiv").style.display="";
								if($("ZipCodesListDiv")) $("ZipCodesListDiv").style.height="390px";
								var innr = currHomeSel.split(":::");
								map.setCenter(new GLatLng(parseFloat(innr[0]),parseFloat(innr[1])), parseInt(innr[2]));							
								changeMapListeners("add");
								addBitPushpins(Homes);
								if(propView == 1)
								{
									var from = 1;
									setPagination(pgNo,Homes[0].totalcount,bitName,group,from);								
								}
								else
									$("limitBar").style.display="none";
							}
							//latest code
							}
						}
						srTabs.getTab(i).removeListener("activeChange",propActiveListener);
						srTabs.getTab(i).addListener("activeChange", propActiveListener);										
					}
					else if(bitType == "X")
					{		
						if($("propViewDiv"))
							$("propViewDiv").style.display = "none";
						if($("limitBar"))
							$("limitBar").style.display="inline";
						if($("propSortBar"))
							$("propSortBar").style.display="none";
						if($("commSortBar"))
							$("commSortBar").style.display="none";																		
							
						srTabs.getTab(i).addListener	("click",function(){
							if($("limitBar"))
								$("limitBar").style.display="inline";				
							if($("limitBarProf"))
								$("limitBarProf").style.display="none";				
							if($("propSortBar"))
								$("propSortBar").style.display="none";
							if($("commSortBar"))
								$("commSortBar").style.display="none";
								
							if(paginationBitsArr.indexOf(bitName) == -1)
							{
								eval("var arr = "+group+";");
								if(isArray(arr) && arr.length>0)
									$("limitBar").innerHTML = '<table valign="middle"><tr><td class="lang paginatinText">'+ arr.length +' most relevant records</td></tr></table>';
							}
						});
						
						srTabs.getTab(i).addListener	("activeChange",function(e){														
							if(e.newValue)
							{
								$("favRoloDiv").style.display="none";
								var j=0;			
								while(srTabs.getTab(j))
								{
									if(srTabs.getTab(j).get("active"))
									{	
										break;
									}
									j = j+1;
								}
							
								var ln = Object.keys(myTab).length;
								for(k=0;k<ln;k++)
								{
									if(Object.keys(myTab)[k] == (srTabs.getTab(j).get("label")).gsub(" ",""))
									{
										if(Object.values(myTab)[k] == "X")
										{
											if($("limitBar"))
												$("limitBar").style.display="inline";		
											if($("limitBarProf"))
												$("limitBarProf").style.display="none";						
											if($("propSortBar"))
												$("propSortBar").style.display="none";
											if($("commSortBar"))
												$("commSortBar").style.display="none";
										}
										break;
									}
								}

								if($("propViewDiv"))
									$("propViewDiv").style.display = "none";
								if($("propSortBar"))
									$("propSortBar").style.display="none";
								if($("commSortBar"))
									$("commSortBar").style.display="none";
											
								if(paginationBitsArr.indexOf(bitName) == -1)
								{
									eval("var arr = "+group+";");
									if(isArray(arr) && arr.length>0)
										$("limitBar").innerHTML = '<table valign="middle"><tr><td class="lang paginatinText">'+ arr.length +' most relevant records</td></tr></table>';
								}
							}
						});						
						}				
					}
					else
					{					
						if(dragzoomBitsArr.indexOf(bitName) != -1)
						{
							srTabs.getTab(i).set("content",'<div class="mapItListDiv" style="overflow-y:auto;overflow-x:hidden;width:100%;height:390px" id="' + group + 'ListDiv"><table style="height:400px;width:100%"><tr><td><div style="height:100%;width:100%" id="divLoading" class="loading">&nbsp;</div></td></tr></table></div> <span id="tempDiv"></span>');
							$("favRoloDiv").style.display="";
						}
						else						
						{
							srTabs.getTab(i).set("content",'<div class="mapItListDiv" style="overflow-y:auto;overflow-x:hidden;width:100%;height:475px" id="' + group + 'ListDiv"><table style="height:475px;width:100%"><tr><td><div style="height:100%;width:100%" id="divLoading" class="loading">&nbsp;</div></td></tr></table></div><span id="tempDiv"></span>');
							$("favRoloDiv").style.display="none";
						}						
					}
					var myDataLen = myData.length;	
					var myDataLen = myData.length;	
					if(bitType == "P")
					{							
						if(eval("typeof("+group+")") != "undefined")
						{ 
							eval("var myDataLen = "+group+".length;");							
							removePropListing(bitName,"P",myDataLen,group);
							removeCommPushpins(bitName,myDataLen);							
						}					
					}
					else
					{
						if($(bitName) == "undefined" || $(bitName) == null)
						{
							mapItCtrl.addNewIcon_(mapItCtrl.getContainer_(),imgId,imgThmPath+'common/'+imgId+'.gif',"Remove "+unescape(widgetsData[imgId].title),true,"click",function(){
								mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),imgId);				
								eval("var myDataLen = "+group+".length;");
								removeCommPushpins(imgId, myDataLen);
								
								if (!isSinglePropertyLandingView)
									setMapItCookie(imgId,"del");
								
								myBitzGroup.remove (imgId);
								if(bitType=="P")removeListing(imgId,bitType,myDataLen,group); 
								else if(bitType=="C")removeListing(imgId,bitType,myDataLen,group); 
								else if(bitType=="X")removeListing(imgId,bitType,myDataLen,group); 
								
								var delGroup = "";
								var actTab = "";
								delGroup = group;
								
								var j=0;			
								while(srTabs.getTab(j))
								{
									if(srTabs.getTab(j).get("active"))
									{	
										actTab = (srTabs.getTab(j).get("label")).gsub(" ","");
										break;
									}
									j = j+1;
								}
								
								if(delGroup == actTab)
								{
									if(paginationBitsArr.indexOf(bitName) == -1)
									{
										eval("var arr = "+group+";");
										if(isArray(arr) && arr.length>0)
											$("limitBar").innerHTML = '<table valign="middle"><tr><td class="lang paginatinText">'+ arr.length +' most relevant records</td></tr></table>';
									}
								}
								funMakeBitClickable(imgId);
							});	
						}						
					}	
					arrName = group;
										
					if(eval("typeof(" + arrName + ");") == "undefined")
					{
						var myArr = new Array();				
						
						for(i=0;i<myData.length;i++)
						{
							if(myData[i].error != "")
								continue;
								
							myArr.push(myData[i]);
						}					
						eval(arrName+"=myArr;");
					}
					else
					{
						for(i=0;i<myData.length;i++)
						{
							if(myData[i].error != "")							
								continue;
								
							eval(arrName + ".push(myData[i]);");								
						}
					}
					
					if(paginationBitsArr.indexOf(bitName) == -1)
					{		
						eval("var arr = "+group+";");
						if(isArray(arr) && arr.length>0)
							$("limitBar").innerHTML = '<table valign="middle"><tr><td class="lang paginatinText">'+ arr.length +' most relevant records</td></tr></table>';
					}

					if(paginationBitsArr.indexOf(bitName) != -1)
					{					
						eval("var arr = "+group+";");
						if(isArray(arr) && arr.length>0)
							setPagination(pgNo,totalRecords,bitName,group);							
					}	

					if(tabExists == 0)
					{
					}
					else
					{
						srTabs.getTab(lastTabId).set("disabled", false);			
						srTabs.set("activeTab", srTabs.getTab(lastTabId), true);
					}
				}
		},true,bitName);				
};

//function to which another functions for plotting pushpins and generating the html listing
function setBitData(dragZoomEnabled)
{
	if (typeof(dragZoomEnabled) == "undefined" || dragZoomEnabled == "")
	{
		dragZoomEnabled = false;
	}

	if(singleBit == "") // NEW MODIFICATION FROM SOTHEBY
	{
		$H(myHash).each(function(pair) {//alert("2 => "+pair.key+" :: "+pair.value);
			if(pair.value!="Z")
			{
				if(pair.value == "P")
				{
					eval("var Arr = " + pair.key + ";");
					if(typeof(Arr) != "undefined" && Arr.length > 0)
					{
						if(pagiBlock100BitsArr.indexOf(Arr[0].sourcename) != -1)
						{
							var page = paginationHash[pair.key];
							if(propView == 1)
								resetPropListing(Arr[0].sourcename,pair.key,page,Arr[0].totalcount,1);							
						}
						else
						{
							addPropListing(Arr);
						}						
						/**** For Courosel **/						
					}
				}
				else if(pair.value == "C")
				{	
					if(pair.key != "Professional" &&  pair.key != "Agents" &&  pair.key != "Offices")
					{
						var ind = mySbarHash[pair.key];
						$('sortSel').selectedIndex = ind;
						var sortIndex = $('sortSel').options[ind].value;
						var sOrder = myUdHash[pair.key];
						
						if(sOrder == 0)
							sortCommTable(sortIndex,pair.value,'Asc',pair.key);
						else
							sortCommTable(sortIndex,pair.value,'Desc',pair.key);						
					}
					/*else
					{
						//eval("var ind = mySbarHash."+pair.key+";" );
						var ind = mySbarHash[pair.key];
						$('sortSel').selectedIndex = ind;
						
						eval("var Arr = " + pair.key + ";");						
						addCommListing(Arr);
					}*/			
				}
				else if(pair.value == "X")
				{			
					eval("addPicListing(" + pair.key + ");");
				} 
			}
		});
	}
	else
	{
		$H(myHash).each(function(pair) {//alert("2 => "+pair.key+" :: "+pair.value);
			if(pair.value!="Z" && pair.key == singleBit)
			{
				if(pair.value == "P")
				{
					eval("var Arr = " + pair.key + ";");
					if(typeof(Arr) != "undefined" && Arr.length > 0)
					{
						if(pagiBlock100BitsArr.indexOf(Arr[0].sourcename) != -1)
						{
							var page = paginationHash[pair.key];
							if(propView == 1)
								resetPropListing(Arr[0].sourcename,pair.key,page,Arr[0].totalcount,1);							
						}
						else
						{
							addPropListing(Arr);
						}
					}
				}
				else if(pair.value == "C")
				{		
					if(pair.key != "Professional" && pair.key != "Agents" && pair.key != "Offices")
					{		
						var ind = mySbarHash[pair.key];
						$('sortSel').selectedIndex = ind;
						var sortIndex = $('sortSel').options[ind].value;
																
						var sOrder = myUdHash[pair.key];
						
						if(sOrder == 0)
							sortCommTable(sortIndex,pair.value,'Asc',pair.key);
						else
							sortCommTable(sortIndex,pair.value,'Desc',pair.key);
						
					}
					/*else
					{
						var ind = mySbarHash[pair.key];
						$('sortSel').selectedIndex = ind;
						
						eval("var Arr = " + pair.key + ";");
						addCommListing(Arr);
					}*/
				}
				else if(pair.value == "X")
				{												
					eval("addPicListing(" + pair.key + ");");
				} 
			}
		});
	}

	if(singleBit == "")
	{
		myHash.each(function(pair) {
			if(pair.value!="Z")
			{
				var tmpArr = new Array();				
				eval("tmpArr = " + pair.key + ";");
				if(tmpArr.length == 0)
				{
					var i=0;			
					
					var curTab;
					while(curTab = srTabs.getTab(i))
					{
						var tName = (curTab.get("label")).gsub(" ","");
						if(tName == pair.key)
						{	
							myHash.remove(tName);
							mySbarHash.remove(tName);
							myUdHash.remove(tName);
							groupSiteHash.remove(tName);
							paginationHash.remove(tName);
							srTabs.removeTab(curTab);
							break;
						}
						i = i+1;
					}									
					return;
				}				
				eval("addBitPushpins("+pair.key+",dragZoomEnabled);");
			}
		});
	}
	else
	{
		myHash.each(function(pair) {
			if(pair.value!="Z" && pair.key == singleBit)
			{
				var tmpArr = new Array();
				eval("tmpArr = " + pair.key + ";");
				if(tmpArr.length == 0)
				{
					var i=0;			
					var curTab;
					while(curTab = srTabs.getTab(i))
					{
						var tName = (curTab.get("label")).gsub(" ","");
						if(tName == pair.key)
						{				
							myHash.remove(tName);
							mySbarHash.remove(tName);
							myUdHash.remove(tName);
							groupSiteHash.remove(tName);
							paginationHash.remove(tName);
							srTabs.removeTab(curTab);
							break;
						}
						i = i+1;
					}									
					return;
				}
				eval("addBitPushpins("+pair.key+",dragZoomEnabled);");
			}
		});
	}

	singleBit = "";

	srTabs.set("activeTab",srTabs.get("activeTab"),true);
}

//function to add pushpins to map
function addBitPushpins(data ,dragZoomEnabled)
{	
	if (dragZoomEnabled == "" || typeof(dragZoomEnabled) == "undefined")
	{
		dragZoomEnabled = false;
	}

	infoCWindow = new Array();
	var bounds = null; // FROM SOTHEBY
	bounds = new GLatLngBounds(); // FROM SOTHEBY
	for(var i=0;i<data.length;i++)
    {
        var siteName = data[i].sourcename;	
        var dataSource = data[i].datasource;
		var isFeatured = data[i].placeholder;
		//if(isFeatured=="1") dataSource = "jbfeaturedlistings";
        var geoLevel = data[i].geocodelevel;
        var cnt = data[i].srno;
                
	    if(data[i].pictures!="")
    		var pics = data[i].pictures;    	
        else
            var pics = "";
	                
        var aptCls = "";
        if(eval('window.commMarker'+siteName+cnt) != null)
        {
        	continue;
        }
        if(siteName!="panoramio")
        {	
	        var address = data[i].address;    
			if(address.indexOf(",")>-1)
			{
				address = address.gsub(","," ");
			}
	        var city = data[i].city;
	        var state = data[i].state;
	        var zip = data[i].zip;
	        var beds = data[i].beds;
	        var baths = data[i].baths;
	        var addressUrl = data[i].link;
	        var zp = data[i].zip;
        	var mapAddress = "";
			mapAddress = address +", "+city+", "+state.toUpperCase()+", "+zp;		
        }
        
        var lat = data[i].latitude;
        var lng = data[i].longitude;
        
        if(lat == 0 || lng == 0)
        {
        	lat = latp;
        	lng = lngp;
        }        

		siteName = trim(siteName);
		var iconImage;
		if(geoLevel=="0")
			pushpinImg = dataSource+"_pushpin";
		else
			pushpinImg = dataSource+"_square";
			
		iconImage = imgThmPath+"pushpin/"+pushpinImg+".png";
		
		var point = new GLatLng(parseFloat(lat),parseFloat(lng));
	      if (!point) 
	      {
	      } 
	      else 
	      {
	      	pushPinIcon = new GIcon(); 
			pushPinIcon.image = iconImage; 
			pushPinIcon.iconSize = new GSize(22,33); 
			pushPinIcon.iconAnchor = new GPoint(6, 20);
			pushPinIcon.infoWindowAnchor = new GPoint(5, 1);	
			if(geoLevel=="0") // FROM SOTHEBY
				pushPinIcon.shadow = imgThmPath+"pushpin/shadow.png";
			var imgSrc = imgThmPath+'common/'+dataSource+'.gif';	
			var bitType = data[i].category;
			if(bitType == "C")
			{
				conviction="";
				eval('ewc'+siteName+cnt+' = new EWindow(map,E_STYLE_11)');
									
				var addr = mapAddress;
				var cname =  data[i].name;
				
				var phone  = data[i].phone;
				if(!data[i].distance)var dist = "";
				else  var dist = data[i].distance;
		        var cDistance = Math.round(100*dist)/100;
				
				infoCWindow[cnt] = getCommunityHtml(dataSource,cnt,imgSrc,cname,addr,cDistance,mapAddress,data[i].groupname,data[i].link,conviction);		
			}
			else if(bitType == "X")
			{
				eval('ewc'+siteName+cnt+' = new EWindow(map,E_STYLE_13)');
				var cssName = "cream";
				var title = data[i].title;
				var ownerName = data[i].ownername;
				
				if ( ownerName.length > 22 )
					ownerName = ownerName.substring(0,22) + '...';
				if ( title.length > 22 )
					title = title.substring(0,22) + '...';
				infoCWindow[cnt] = getPicHtml(cssName,dataSource,cnt,imgSrc,title,data[i].groupname,data[i].ownerurl,data[i].imageurl,data[i].url,data[i].ownername,data[i].uploadeddate);
			}
			else if(bitType == "P")
			{
				if(siteName == "metroOfficeListing" || siteName == "enhancelistings" || siteName == "mlsSearch" || siteName=="mlsopenhomes" || siteName=="acbsan" || siteName=="mlsCountySearchN" || siteName=="mlsCountySearch" || siteName=="newListing" || siteName=="acbVisual" || siteName=="jbfeaturedlistings" || siteName=="mercerFeaturedListing" || siteName == "ibrOfficeListing" || siteName=="exclusivecol" || siteName == "mlsfeatured" || siteName == "exclusivelisting" || siteName=="reolistings"|| siteName=="shortsale" || siteName == "luxuryproperties" || siteName == "bankowned" || siteName == "johnstoneofficelisting" || siteName == "maxbroockofficelisting" || siteName == "reoofficelisting" || siteName == "medallionhomes" || siteName == "rentals")
					eval('ewc'+siteName+cnt+' = new EWindow(map,E_STYLE_18)');
				else
					eval('ewc'+siteName+cnt+' = new EWindow(map,E_STYLE_17)');
				
				//data[i].price = "0.0";				
				price = num2moneyWrapper(data[i].price);
				if (beds > 0)
					beds = Math.round(data[i].beds*Math.pow(10,1))/Math.pow(10,1);
				if (baths > 0)
					baths = Math.round(data[i].baths*Math.pow(10,1))/Math.pow(10,1);
				beds = (beds != "0") ? beds : '';
				beds = (beds != "0.0") ? beds : '';
				
				baths = (baths != "0") ? baths : '';
				baths = (baths != "0.0") ? baths : '';

				var sqft = parseInt(data[i].squarefeet);
				var brokerName = data[i].broker;
				var mls = data[i].mlsno;
	
				if(brokerName!="")
					brokerName = "Courtesy of " + brokerName;
				else
					brokerName = "";
				
				if ( brokerName.length > 40 )
				{
					brokerName = brokerName.substr(0,38) + '...';
				}
		   		var link = address+","+city+","+state+","+zip+","+price+","+beds+","+baths+","+data[i].latitude+","+data[i].longitude;
        		if(sqft <= 0)
        		{
			        sqft = "- sqft"
        		}
				else
				{
					sqftTmp = num2moneyWrapper(sqft);
					sqft = sqftTmp.replace("$","")+" sqft";
				}
				bedbaths = beds +" Br/"+ baths +" Ba" ;
				if ( mapAddress.length > 22 )
					mapAddress1 = mapAddress.substring(0,22) + '...';
				else
					mapAddress1 = mapAddress;				
					
				if(mapAddress1.substring(0,2) == ", ")
					mapAddress1 = mapAddress1.substring(2,mapAddress1.length);
				var moreLink = "/app/listing/singlePropertyLanding.php?PHPSESSID=&pid=&address="+escape(address)+","+escape(city)+","+state+","+zip+","+ money2num(price)+","+beds+","+baths+","+lat+","+lng+"&status=A"+"&back="+escape(getBackToListingURL());

				var csz = trim(city+", "+state+" "+zip);
	
				var addr = mapAddress;
				var cssName = "green";
				var NA = "Not Available";
				
				price = (price) ? price : "&nbsp;";		
				if ( trim(siteName) == "recentsales" || trim(siteName) == "valuation" )
				{
					var valuethishomeLink = "<a href='/app/feed/homeEstimate.php?pid=&address="+escape(mapAddress)+"' class='dashAnchor crsr'>value my home</a>"
					var directionLink = '';
					var sourceLink = data[i].link;
					moreLink = sourceLink+"&back="+escape(getBackToListingURL());
				}	
				else
				{
					var valuethishomeLink = "<a href='/app/feed/homeEstimate.php?pid=&address="+escape(mapAddress)+"' class='dashAnchor crsr'>value my home</a>"
					var directionLink = '';
					var sourceLink = data[i].link;
				}	
				var imgPath = "";
				var txtDisp = data[i].status;
				
				if(txtDisp == "")
					txtDisp = "For Sale";
					
				if(txtDisp.length > 8)
					txtDisp = txtDisp.substring(0,8);

				if(data[i].comments >= 1)
					var cmts = data[i].comments;
				else
					var cmts = "";

				if(data[i].uniqueid=="city")
				{
					if (data[i].datasource=="nhpushpin")
						infoCWindow[cnt]=data[i].city+"&cedil;"+data[i].state+" - "+data[i].address+" : "+data[i].unitno+","+data[i].city+","+data[i].state+","+data[i].zip+","+lat+","+lng+","+data[i].address;
					else
						infoCWindow[cnt]=data[i].city+":"+data[i].unitno+","+data[i].city+","+data[i].state+","+data[i].zip+","+lat+","+lng+","+data[i].address;
					aptCls = "tooltip";
				}
				else if ( trim(siteName) == "recentsales" || trim(siteName) == "valuation" )
				{
					var regex = new RegExp("&pid=(.*?)&address");
                    var match = regex.exec(data[i].link);
                    var myarr = match[1].split(",");					
					var tid = data[i].mlsno;
					if(tid != "")
					{
						tid = Math.round((tid/43560)*100)/100;
						tid += " ac";
					}
					else
						tid = "- ac";
					mls = "";
					infoCWindow[cnt] = getPropertyHtml(cssName,imgThmPath,siteName,addr,cnt,price,bedbaths,sqft,imgPath,sourceLink,moreLink,valuethishomeLink,directionLink,txtDisp,dataSource,"","","",brokerName,mls,lat,lng,data[i].groupname,0,cmts,"",tid);
				}
				else 
				{					
					var copyright = data[i].copyright;
					var vtourUrl = data[i].virtualTour;
					var tid = data[i].tid;

					if (siteName == "acbVisual")
						infoCWindow[cnt] = getPropertyHtml(cssName,imgThmPath,siteName,addr,cnt,price,bedbaths,sqft,imgPath,sourceLink,moreLink,valuethishomeLink,directionLink,txtDisp,dataSource,"",vtourUrl,pics,brokerName,mls,lat,lng,data[i].groupname,0,cmts,copyright,tid);
					else
						infoCWindow[cnt] = getPropertyHtml(cssName,imgThmPath,siteName,addr,cnt,price,bedbaths,sqft,imgPath,sourceLink,moreLink,valuethishomeLink,directionLink,txtDisp,dataSource,"","",pics,brokerName,mls,lat,lng,data[i].groupname,0,cmts,copyright,tid);
				}				
			}
			address="";
				
			var groupname = data[i].groupname;
			eval('map.addOverlay(ewc' +siteName+cnt+ ')');
			eval('infoCWindow' +siteName+cnt + ' = infoCWindow[cnt]');
			eval('commMarker'+siteName+cnt+'=createCommunityMarker(point,infoCWindow[cnt],pushPinIcon,siteName+cnt,pushpinImg,groupname,bitType,aptCls);');
        	map.addOverlay(eval('commMarker'+siteName+cnt)); 
        	bounds.extend(point);
	 	}
		
    }
    var currPoint = new GLatLng(parseFloat(latp),parseFloat(lngp));
	if(!sharedCenter && !isDragZoom)
	{
		if(disableAutozoom == false)
			map.setCenter(currPoint);
	}	
	if(!disableAutozoom && siteName == "mlsCountySearch")
	{
		changeMapListeners("remove");
		var zoomValue = map.getBoundsZoomLevel(bounds);
		if(zoomValue>17) zoomValue = 17;
		map.setCenter(bounds.getCenter(),map.setZoom(zoomValue));
		changeMapListeners("add");
	}
	else if (!disableAutozoom && !dragZoomEnabled)
	{		
		//chnages done for Home Site		
		var zoomValue = map.getBoundsZoomLevel(bounds);
		if(zoomValue>17) zoomValue = 17;
		map.setZoom(zoomValue);
	}
	//alert("4 : "+map.getZoom());
};

//function which returns smart window HTML for property bits
function getPropertyHtml(cssName,imgThmPath,siteName,addr,cnt,price,bedbaths,sqft,imgPath,sourceLink,moreLink,valuethishomeLink,directionLink,status,dataSource,isApt,aptUnits,pics,brokerName,mlsno,lat,lng,groupname,showNearBy,cmts,copyright,tid)
{	

	var bedbathArr = bedbaths.split("/");
	var beds = bedbathArr[0].split("-");
	var bed = trim(beds[0]);
	var baths = bedbathArr[1].split("-");
	var bath = trim(baths[0]);
	var nhUrl = escape(addr.replace(/\#/,"Unit"));

	var latitude = lat;
	var longitude = lng;
	var originalLink="";

	if(trim(sourceLink)!="")
	{
		if(trim(siteName)=="recentsales")
			originalLink='';	
		else
			originalLink='<a href="'+sourceLink+'" class="dashAnchor crsr" target="_blank">View Details</a>';
	}
	else
	{
		originalLink='<span class="dashAnchor" style="text-decoration:none;color:#999999">View Details</span>';
	}
	var imgArr = imgPath.split(",");	
	var siteNameImg="";
	var propImg = (imgArr[0]=="")? imgThmPath+'listing/noImageThmb.jpg' : imgArr[0];	

	if (siteName=="")
		siteNameImg = "welcomeTera"
	else
		siteNameImg = siteName;
	var pStatus=status;
	var htmlStr = new StringBuffer();
	
	if(price == 0)
		price = "&nbsp;";
			
	var imgHtml = new StringBuffer();	
	var link = addr+","+money2num(price)+","+bed+","+bath+","+lat+","+lng;
	
		addrArr = addr.split(",");
		var adr = unescape(addrArr[0]);
		
		if(adr == "")
			adr = addrArr[1] + ", " + addrArr[2]+", "+addrArr[3];
	
		
		if ( adr.length > 16 )
			adr = adr.substring(0,16) + '...';
				
		htmlStr.append('<table border="0" cellspacing="0" cellpadding="0" style="*position:relative;border:0px solid #000000;width:280px;">');
		htmlStr.append('<tr style="height:20px;">');
		if(dataSource !="")
			htmlStr.append('<td class="top_bot_body_'+cssName+'"><img src="'+imgThmPath+'common/'+dataSource+'.gif" alt=""/></td>');
		else
			htmlStr.append('<td class="top_bot_body_'+cssName+'">&nbsp;</td>');
		htmlStr.append('<td style="width:210px;*width:200px;" class="top_bot_body_'+cssName+' titleText" >' + adr + ' </td>');
		htmlStr.append('<td style="width:90px;*width:92px;" class="top_bot_body_'+cssName+' titleText">' + pStatus + ' </td>');
		htmlStr.append('<td style="text-align:center;*text-align:right;*vertical-align:top;padding-right:5px;" class="top_bot_body_'+cssName+'" ><img src="'+imgThmPath+'common/close.gif" class="imgclose" onclick="eval(ewc'+siteName+cnt+'.hide());"/></td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr style="height:0px;"><td colspan="4"></td></tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td colspan="4" valign="top" align="left">');
		htmlStr.append('<table border="0" cellspacing="0" cellpadding="0" style="border:0px solid #000000;width:96%;" valign="top">');
		htmlStr.append('<tr>');
		htmlStr.append(imgHtml.toString());
		htmlStr.append('<td width="45%" valign="top">');
		htmlStr.append('<table border="0" cellspacing="0" cellpadding="0" valign="top">');
		htmlStr.append('<tr style="height:20px"><td valign="top" class="lang swDetailText" style="padding-left:5px;width:140px;*width:135px;font-size:14px;color:#FF871F" colspan="2">'+price+'</td></tr>');
		if(isApt == "" || isApt==0)
		{	
			if(cmts != "" && siteName != "mlsopenhomes")
				htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="width:140px;padding-left:5px;"><span class="swDetailText">'+bedbaths+'</span></td><td valign="top" style="padding-right:0px"><img src="'+imgThmPath+'common/mlsopen.gif" /></td></tr>');
			else
				htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="width:140px;padding-left:5px;" colspan="2"><span class="swDetailText">'+bedbaths+'</span></td></tr>');
		}
		else
			htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="width:140px;padding-left:5px;" colspan="2"><span class="swDetailText">Total Units: '+aptUnits+'</span></td></tr>');
		if(isApt == "" || isApt==0)
			htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="padding-left:5px;" colspan="2"><span class="swDetailText">'+sqft+'</span></td></tr>');
		else
			htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="padding-left:5px;" colspan="2"><span class="swDetailText">&nbsp;</span></td></tr>');		

		if(mlsno != "" && mlsno != "undefined") 
		{
			var mlsnoStr = "";
			if(mlsno.indexOf('PKT') == -1)
			{
				mlsnoStr = 'MLS # ' + mlsno;
			}
			else
			{
				mlsnoStr = 'TID ' + mlsno.replace('PKT', '');
			}
			htmlStr.append('<tr style="height:17px"><td valign="top" class="swLableText" style="width:140px;padding-left:5px;" colspan="2"><span class="swDetailText"> '+ mlsnoStr +'</span></td></tr>');
		}
		else
		{
			if(siteName == "recentsales")
			{
				if(tid != "")
				{
					htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="width:140px;padding-left:5px;" colspan="2"><span class="swDetailText">'+tid+'</span></td></tr>');
				}
				else
				{
					htmlStr.append('<tr style="height:17px"><td valign="top" class="swLableText" style="width:140px;padding-left:5px;" colspan="2"><span class="swDetailText">&nbsp;</span></td></tr>');
				}
			}
			else
			{
			 	htmlStr.append('<tr style="height:17px"><td valign="top" class="swLableText" style="width:140px;padding-left:5px;" colspan="2"><span class="swDetailText">&nbsp;</span></td></tr>');
			}
		}
		htmlStr.append('</table></td><td><table>');
		htmlStr.append('<tr style="height:15px"><td valign="top" style="padding-left:5px" colspan="2">'+originalLink);
		
		if(dataSource == "acbsannewlisting" || dataSource=="enhancelistings" || dataSource=="mlsnewlisting" || dataSource == "jbfeaturedlistings" || dataSource == "mercerFeaturedListing" || dataSource == "ibrOfficeListing" || dataSource == "mlsopenhomes" || dataSource == "mlsbackmarket" || dataSource == "mlspricechange" || dataSource == "sanDiegoListings" || dataSource == "mlsCountySearch" || dataSource == "newListing" || dataSource == "mlsfeatured" || dataSource == "reolistings" || dataSource == "shortsale" || dataSource == "exclusivelisting" || dataSource == "exclusivecol" || dataSource == "acbVisual" || dataSource == "mlsSearch" || dataSource == "luxuryproperties" || dataSource == "bankowned" || dataSource == "johnstoneofficelisting" || dataSource == "maxbroockofficelisting" || dataSource == "reoofficelisting" || dataSource == "medallionhomes" || dataSource == "rentals")
		{	
				var flag = 0;
				htmlStr.append('<tr style="height:15px"><td valign="top" style="padding-left:5px" colspan="2"><a id="schView_'+cnt+'" href="javascript:void(0);" onclick="javascript:showLeadPopup(\''+escape(addr)+'\',\''+sourceLink+'\',\''+mlsno+'\',\'\',\''+cnt+'\');" class="dashAnchor crsr" target="">Schedule Viewing</a></td></tr>');				
				
				if(tid != "")
				{
					var myQs = new Querystring();
					var aid = myQs.get("aid");
					if(aid == null) aid = "";
					nhUrl = nhUrl.replace(/\, /g,",");
					bed = bed.replace(" Br","");
					bed = bed.replace("Br","0");
					bath = bath.replace(" Ba","");
					bath = bath.replace("Ba","0");
					var tidArr = tid.split("-");
					
					if(tidArr[0]=="MLS")
						tidArr[0] = brokerSource;
					else if(tidArr[0]=="PKT")
						tidArr[0] = "POCKETLISTING";
					else
						tidArr[0] = "ENHANCEDLISTING";
					
					if (bkTheme != "patrick")
					{
						nhUrl = sourceLink.replace (/\/homes\//, "/homes/explorenh/");
					}
					else
					{
						nhUrl += ","+money2num(price)+","+bed+","+bath+","+lat+","+lng+"&cf=0&pos=2&widgetnames=elementaryschools,recentsales,panoramio&noSearch=1&tid="+tidArr[1]+"&aid="+aid+"&source="+tidArr[0];
						nhUrl = "http://"+location.hostname+"/app/listing/singlePropertyLanding.php?status=EXP&address="+nhUrl;
					}
					if(bkTheme != "commonwealth")
						htmlStr.append('<tr style="height:15px"><td valign="top" style="padding-left:5px" colspan="2"><a href="'+nhUrl+'" target="_blank" class="dashAnchor crsr">Explore Neighborhood&trade;</a></td></tr>');
					else
						htmlStr.append('<tr style="height:15px"><td valign="top" style="padding-left:5px" colspan="2">&nbsp;</td></tr>');
				}			
				else
				{
					htmlStr.append('<tr style="height:15px"><td colspan="2">&nbsp;</td></tr>');
				}

				if(flag)
					htmlStr.append('<tr style="height:15px"><td colspan="2">&nbsp;</td></tr>');			
		}
		else
		{
			htmlStr.append('<tr style="height:15px" colspan="2"><td>&nbsp;</td></tr>');			
		}
		var leadAddress = "";
		var addrArrLength = addrArr.length;
		if (addrArrLength >= 2)
			leadAddress += addrArr[1].replace(/^\s+|\s+$/g,"");
		if (addrArrLength >= 3)
			leadAddress += "," + addrArr[2].replace(/^\s+|\s+$/g,"");
		if (addrArrLength >= 4)
			leadAddress += " " + addrArr[3].replace(/^\s+|\s+$/g,"");

		var chatAgentUName = "";
		var chatAgentName  = "";
		indexOfhtml = sourceLink.split("/index.html");
		terabitzId 	= indexOfhtml[0].substring(indexOfhtml[0].lastIndexOf("/")+1,indexOfhtml[0].length);
				
		if(siteName == "" || siteName == "metroOfficeListing" || siteName == "enhancelistings" || siteName == "mlsSearch" || siteName=="mlsopenhomes" || siteName=="acbsan" || siteName=="mlsCountySearchN" || siteName=="mlsCountySearch" || siteName=="newListing" || siteName=="acbVisual" || siteName=="jbfeaturedlistings" || siteName=="mercerFeaturedListing" || siteName == "ibrOfficeListing" || siteName=="exclusivecol" || siteName == "mlsfeatured" || siteName == "reolistings" || siteName == "shortsale" || siteName == "exclusivelisting" || siteName == "luxuryproperties" || siteName == "johnstoneofficelisting" || siteName == "maxbroockofficelisting" || siteName == "reoofficelisting" || siteName == "medallionhomes" || siteName == "rentals")
		{			
			if(siteName == "mlsopenhomes" && cmts != "") // for show directions in mlsopenhomes		
				htmlStr.append('<tr style="height:15px"><td valign="top" style="padding-left:5px" colspan="2"><a href="javascript:showOpenHomeDir(\''+cmts+'\');" class="dashAnchor crsr">Show Directions</a></td></tr>');
			else if (siteName == "acbVisual")
				htmlStr.append('<tr style="height:15px"><td valign="top" style="padding-left:5px" colspan="2"><a href="' + aptUnits + '" class="dashAnchor crsr" target="_blank">Take the Tour</a></td></tr>');
			else
				htmlStr.append('<tr style="height:15px" colspan="2"><td id="openHDir">&nbsp;</td></tr>');
		}

		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('</tr>');
		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('</tr>');
		
		if(dataSource == "enhancelistings" || dataSource=="acbsannewlisting" || dataSource=="acbsanbackmarket" || dataSource=="acbsanpricechange" || dataSource=="acbVisual" || dataSource=="mlsSearch" || dataSource=="mlsnewlisting" || dataSource == "jbfeaturedlistings" || dataSource == "mercerFeaturedListing" || dataSource == "ibrOfficeListing" || dataSource == "exclusivecol" || dataSource == "exclusivecol" || dataSource == "mlsopenhomes" || dataSource == "mlsbackmarket" || dataSource == "mlspricechange" || dataSource == "sanDiegoListings" || dataSource == "mlsCountySearch" || dataSource == "newListing" || dataSource == "mlsfeatured" || dataSource == "reolistings" || dataSource == "shortsale" || dataSource == "exclusivelisting" || dataSource == "luxuryproperties" || dataSource == "bankowned" || dataSource == "johnstoneofficelisting" || dataSource == "maxbroockofficelisting" || dataSource == "reoofficelisting" || dataSource == "medallionhomes" || dataSource == "rentals" || dataSource == "mlssold")
		{
			if(brokerName == "")
				brokerName = "Listing Broker not available";
			if (bkTheme=="remax")
				brokerName="&nbsp;";

			if(brokerName.length > 45)
				brokerName = brokerName.substr(0,45)+"...";					
			if((bkTheme=="metrobrokers" || bkTheme=="intero") && (copyright != "" && copyright.include("METROLIST")))  
				brokerName = "<img src='"+imgThmPath+"common/idx.gif' height='10px' width='24px'> "+brokerName;
			else if(copyright != "" && copyright.include("Carolina Multiple Listing Services") )			
				brokerName = "<img src='/images/disclaimer/logo-cds-small.gif' height='10px' > "+brokerName;
			else if( bkTheme=="intero" && copyright != "" && copyright.include("MetroList") )			
				brokerName = "<img src='/images/disclaimer/INTEROMETROLIST_SMALL.gif' height='10px' > "+brokerName;
			else if( bkTheme=="mercerisland" && copyright != "" && copyright.include("NWMLS") )			
				brokerName = "<img src='/images/disclaimer/NWMLS_small.gif' height='10px' > "+brokerName;
			else if ((bkTheme == "century21mb" || bkTheme == "reotexashomes" || bkTheme == "texashomes") && (copyright != "" && copyright.include("North Texas Real Estate Information System")))
				brokerName = "<img src='/wt/century21mb/images/homesite/ntreis.gif' height='10px' width='24px'> "+brokerName;
			if(bkTheme=="jensenwhite" && (copyright != "" && copyright.include("RMLS")))  brokerName = "<img src='"+imgThmPath+"common/rmls.gif' height='10px' width='24px'> "+brokerName ;
			else if(bkTheme=="emerge") 
			{
				if(copyright.length > 50)					
					copyright = copyright.substr(0,50)+"...";				
				brokerName = "<img src='/images/disclaimer/gbrarsmall.jpg' height='10px'/>";
			}

				if(bkTheme != "patrick")
				{
					htmlStr.append(
		'<tr><td id="tdBrokerName" colspan="4" class="fadedFont" style="padding-left: 9px; padding-bottom:1px">'+brokerName+'</td></tr>');
				}
				else
				{
					htmlStr.append(
		'<tr><td id="tdBrokerName" colspan="4" class="swDetailText" style="padding-left: 9px; padding-bottom:1px">'+brokerName+'</td></tr>');
				}
			if(copyright != "")
			{
				var title = copyright;
				if(copyright.length > 50)					
					copyright = copyright.substr(0,50)+"...";
				
				if(bkTheme != "patrick")
				{
					htmlStr.append(
				'<tr><td id="tdCopyright" colspan="4" class="fadedFont" style="padding-left: 9px; padding-bottom:10px" title="'+title+'">'+copyright+'</td></tr>');
				}
				else
				{
					htmlStr.append(
				'<tr><td id="tdCopyright" colspan="4" class="swDetailText" style="padding-left: 9px; padding-bottom:10px" title="'+title+'">'+copyright+'</td></tr>');
				}
			}
			else
			{
				htmlStr.append(
			'<tr><td id="tdCopyright" colspan="4" class="fadedFont" style="padding-left: 9px; padding-bottom:9px;*padding-bottom:10px">&nbsp;</td></tr>');
			}
		}
		else if(siteName=="mlsopenhomes")
		{
			var title = copyright;
			if(copyright.length > 50)					
				copyright = copyright.substr(0,50)+"...";

				htmlStr.append(
		'<tr><td id="tdBrokerName" colspan="4" class="swLableText" style="padding-left: 9px; padding-bottom:10px"> Open Home: '+brokerName+'</td></tr>');
			if(copyright != "")
			{
				htmlStr.append(
			'<tr><td id="tdCopyright" colspan="4" class="fadedFont" style="padding-left: 9px; padding-bottom:10px" title="'+title+'">'+copyright+'</td></tr>');
			}
			else
			{
				htmlStr.append(
			'<tr><td id="tdCopyright" colspan="4" class="fadedFont" style="padding-left: 9px; padding-bottom:10px">&nbsp;</td></tr>');
			}
		}		
		else
			htmlStr.append('<tr style="height:12px"><td colspan="4">&nbsp;</td></tr>');
			
		htmlStr.append('</table>');	
	
	return htmlStr.toString();
}

//function which returns smart window HTML for photo bits
function getPicHtml(cssName,siteName,cnt,linkPg,title,groupname,ownerurl,image,infourl,oname,udate)
{
	if (oname.length > 15 )
		onameWrap = oname.substring(0,15) + '...';
	var onameWrap = (oname.length > 15 )? oname.substring(0,15) + '...':oname;
	var htmlStr = new StringBuffer();
	htmlStr.append('<table cellspacing="0" cellpadding="0" style="border:0px solid #000000;width:250px;">');
	htmlStr.append('<tr><td HEIGHT="20px" class="top_bot_body_'+cssName+'">&nbsp;<img src="'+imgThmPath+'common/'+siteName+'.gif" alt=""/></td>');
	htmlStr.append('<td HEIGHT="20px" class="top_bot_body_'+cssName+' titleText" width="220px" >'+title+' </td>');
	htmlStr.append('<td class="top_bot_body_'+cssName+'" align="right" width="11px" style="padding-right:3px;"><img src="'+imgThmPath+'common/close.gif" align="right" WIDTH="11px" HEIGHT="11px" class="imgclose" onclick="eval(ewc'+siteName+cnt+'.hide());"/></td>');
	htmlStr.append('</tr>');
	htmlStr.append('<tr height="8px"><td></td></tr>');
	htmlStr.append('<tr><td colspan="3"><table cellspacing="0" cellpadding="0" style="border:0px solid #000000;width:250px;">');
	htmlStr.append('<tr width="250px"><td align="center" width="20px" style="padding-left:5px">&nbsp;<a href="'+infourl+'" class="dashAnchor crsr" target="_blank"><img src="'+image+'" alt="" height="80px" width="120px"/></a></td>');
	htmlStr.append('<td style="padding-right:5px" align="right"><span class="moduleDetailText">Uploaded on:<br>' + udate + '</span><br><br><span class="moduleDetailText">See more photos by:</span><br><a href="' + ownerurl + '" class="dashAnchor crsr" target="_blank" title="'+oname+'">'+onameWrap+'</a><br><br><span class="moduleDetailText">Photo provided by:</span><br><a href="'+infourl+'" class="dashAnchor crsr" target="_blank">Panoramio</a></td></tr>');
	htmlStr.append('</tr></table></td></tr>');
	htmlStr.append('<tr height="19px"><td colspan="3" >&nbsp;</td></tr>');
	htmlStr.append('</table>');
	return htmlStr.toString();
}

//function which returns smart window HTML for community bits
function getCommunityHtml(siteName,cnt,linkPg,cname,addr,cDistance,mapAddress,grp,lnk,conviction)
{	
	var htmlStr = new StringBuffer();
	mapAddress = mapAddress.replace(/\'/g,'');
	googleDirectAddress = googleDirectAddress.replace(/\'/g,'');
	var title = "";
	var email = "";
	
	if ( cname.length > 22 )
		cname = cname.substr(0,22) + "...";
		
	if(lnk != "")
		detailsTd='<td class="lang swLableText" style="width:auto"><a href="'+lnk+'" target="_blank"><span class="lang dashAnchor crsr" style="text-decoration: underline;" >view details</span></a></td>';
	else
		detailsTd='';
		
	if(grp != "Education")
	{		
		if(!checkMultiCity())
		{
			directionTd='<td class="lang swLableText" style="width:auto"> Distance :'+cDistance+' miles <label onclick="showGoogleDrivingDirection(\''+googleDirectAddress+'\',\''+mapAddress+'\');" class="lang dashAnchor crsr" style="text-decoration: underline;" >get directions</label></td>';
			addr = addr.sub(',', '<br/>', 1);
		}
		else
		{
			directionTd='<td class="lang swLableText" style="width:auto">&nbsp;</td>';			
			 addr = addr.sub(',', '<br/>', 1);
		}
				
		htmlStr.append('<table border="0" width="100%">');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpTopLeft"></td>');
		htmlStr.append('<td class="helpTopCenter" align="right"></td>');
		htmlStr.append('<td class="helpTopRight crsr"  onclick="eval(ewc'+siteName+cnt+'.hide());"></td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpMiddleLeft"></td><td style="background-color: #FFFFFF;">');
		htmlStr.append('<table>');
		htmlStr.append('<tr>');
		htmlStr.append('<td HEIGHT="20px" class="titleTextMapit" >');
		htmlStr.append('<table width="200px" border="0">');
		htmlStr.append('<tr>');
		htmlStr.append('<td width="5%" align="center"><img src="'+linkPg+'" alt=""/></td>');
		htmlStr.append('<td width="95%" align="left" class="titleTextMapit">'+cname+' </td>');
		htmlStr.append('</tr>');
		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="lang swLableText" style="width:200px">'+addr+'</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>' +	directionTd + '</tr>');
		htmlStr.append('                           <tr>' +	detailsTd + '</tr>');
		htmlStr.append('</table></td><td class="helpMiddleRight"></td></tr><tr><td class="helpBottomLeft"></td><td class="helpBottomCenter"></td><td class="helpBottomRight"></td></tr></table>');
	}
	else
	{
		var pos = addr.indexOf(",");
		
		var addr1 = addr;
		var addr2 = "";
		if (pos > 0)
		{	
			addr1 = addr.substr(0,pos);
			addr2 = addr.substr(pos+1,addr.length);
		}
		distanceTd='<td class="lang swLableText" style="width:auto"> Distance :'+cDistance+' miles &nbsp;&nbsp;</td>';
		if(siteName == "middleschools" || siteName == "elementaryschools" || siteName == "highschools")
		{						
			if(lnk!="")
				moreInfoLnk = '<a href="' + lnk + '" target="_blank" class="lang dashAnchor crsr" style="text-decoration: underline;" >Research School</a>';				
			else
				moreInfoLnk = '&nbsp;';
			
			if(conviction!="")
			{
				if(conviction.length>30)
					conviction = conviction.substr(0,30)+"...";
				district='<td class="lang swLableText" colspan="2">District :'+conviction+'</td>';
			}
			else			
				district='<td class="lang swLableText" colspan="2">&nbsp;</td>';
		}
		else
		{
			moreInfoLnk = '&nbsp;';
			district='<td class="lang swLableText" colspan="2">&nbsp;</td>';
		}
		
		htmlStr.append('<table border="0">');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpTopLeft"></td>');
		htmlStr.append('<td class="helpTopCenter" align="right"></td>');
		htmlStr.append('<td class="helpTopRight crsr"  onclick="eval(ewc'+siteName+cnt+'.hide());"></td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpMiddleLeft"></td><td style="background-color: #FFFFFF;">');
		htmlStr.append('<table>');
		htmlStr.append('<tr>');
		htmlStr.append('<td HEIGHT="20px" class="titleTextMapit" colspan="2">');
		htmlStr.append('<table width="200" border="0">');
		htmlStr.append('<tr>');
		htmlStr.append('<td width="10%" align="center"><img src="'+linkPg+'" alt=""/></td>');
		htmlStr.append('<td width="90%" align="left" class="titleTextMapit">'+cname+' </td>');
		htmlStr.append('</tr>');
		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="lang swLableText" style="width:200px"  colspan="2">'+addr1.strip().capitalize().gsub(' ',' -').camelize()+'</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="lang swLableText" style="width:100px">'+addr2+'</td> <td align="right">'+moreInfoLnk+'</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>' + distanceTd +	'</tr>');
		htmlStr.append('<tr> '+district+'</tr>');
		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('<td class="helpMiddleRight"></td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpBottomLeft"></td><td class="helpBottomCenter"></td>');
		htmlStr.append('<td class="helpBottomRight"></td>');
		htmlStr.append('</tr>');
		htmlStr.append('</table>');
	}
	return htmlStr.toString();
}

//function to generate html listing for photo bit
function addPicListing(arr)
{	
	var htmlStr = new StringBuffer();
	len = arr.length;

	activeTab = arr[0].groupname;
	
	for(var j=0 ;j<len; j++)
    {
        var srno = arr[j].srno;
        var site = trim(arr[j].sourcename); 
        var dataSource = trim(arr[j].datasource);
        var geoLevel = arr[j].geocodelevel;
        var pushpinImg="";
        if(geoLevel=="0")
        	pushpinImg=dataSource+"_pushpin";
        else
	        pushpinImg=dataSource+"_square";   	
        var title = arr[j].title;
        var oname = arr[j].ownername;
        var updt = arr[j].uploadeddate;
        var link = arr[j].ownerurl;
        var picLink = arr[j].url;
		var lat = arr[j].latitude;
        var lng = arr[j].longitude;
		var bitType = arr[j].category;
		
		var maxCharLength = 40;
		var onameLength = 25;
		
		if(oname.length>onameLength)
			oname = oname.substr(0,onameLength) + "...";
		
		if(title.length>maxCharLength)
			title = title.substr(0,maxCharLength) + "...";
		imgSrc = imgThmPath+'common/'+site+'.gif';
  	    divId =  site+srno;
		linkPg = "<img src='"+imgSrc+"' alt='"+site+"'/>";
		htmlStr.append("<div style='width:100%;*width:96%;' class='"+site+"Cls' id='div"+divId+"'><div style='width:100%;' id='"+divId+"' onclick='clickOnCommList(\""+divId+"\",\""+site+"\")' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\");$(\""+divId+"\").className=\"srTrOver\"'; onmouseout='$(\""+divId+"\").className=\"srTr\";hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\");'>");
		htmlStr.append("<table width='100%' style='font-size:1em'>");
		htmlStr.append("<tr class='srTr' style='height:45px;'>");
		htmlStr.append("<td align='center' style='width:10%; border-bottom: solid 1px #D0D0D0;'>"+linkPg+"</td>");
		htmlStr.append("<td width='70%' style='border-bottom: solid 1px #D0D0D0;' align='left'><span class='communityWidgetDetail'>"+title+"</span><br><span class='propertyWidgetDetail'>More photos by:&nbsp;<a href=" + link + " target='_blank'><span class='propertyWidgetLegend'>"+ oname +"</span></a></span></td>");
		htmlStr.append("<td width='20%' style='border-bottom: solid 1px #D0D0D0;' align='left'><span class='communityWidgetLegend'>Date Uploaded:<br>"+updt+"</span></td>");
		htmlStr.append("</tr>");
		htmlStr.append("</table></div></div>");
    }

	var divName = activeTab + "ListDiv";
	if ($(divName) == null)
	{
		srTabs.getTab(i).set("content",'<div  style="overflow:auto;width:100%;height:450px" id="' + divName + '">' + htmlStr.toString() + '</div>');
	}
	else
	{
		$(divName).innerHTML = htmlStr.toString();
	}	
}

//function to generate html listing on right side of page for community bits
function addCommListing(arr)
{	
	if(arr == '')
	{
		return false;
	}
	var htmlStr = new StringBuffer();
	len = arr.length;
	activeTab = (arr[0].groupname).gsub(" ","");
    //activeTab = 'Neighborhood';
	for(var j=0 ;j<len; j++)
    {
        var srno = arr[j].srno;
        var site = trim(arr[j].sourcename);    	
        var dataSource = trim(arr[j].datasource);
        var geoLevel = arr[j].geocodelevel;
        var pushpinImg="";
        if(geoLevel=="0")
        	pushpinImg=dataSource+"_pushpin";
        else
	        pushpinImg=dataSource+"_square";
    
        var addr = arr[j].address;        
        var ct = arr[j].city;        
        var st = arr[j].state;
        var zp = arr[j].zip;
        var cType = arr[j].type;
        var link = arr[j].link;
		var lat = arr[j].latitude;
        var lng = arr[j].longitude;
		var bitType = arr[j].category;
		
		var cName = arr[j].name;
        var phone = arr[j].phone;
        
		if(!arr[j].distance)var dist = "";
		else  var dist = arr[j].distance;
        var cDistance = Math.round(100*dist)/100;
		
		phone = format_phone(phone);
        imgSrc = imgThmPath+'common/'+site+'.gif';
        imgPh  = imgThmPath+'common/phone.gif';
    	imgDirN = imgThmPath+"common/direction_n.gif";
    	imgDirH = imgThmPath+"common/direction_h.gif";
  	    divId =  site+srno;
		csz = ct+", "+st.toUpperCase();
		cAddress = addr+", "+csz;
		cAddress = cAddress.replace(/\'/g,'');
		googleDirectAddress = googleDirectAddress.replace(/\'/g,'');		
		if(site=="schools")
			linkPg = "<a href='"+link+"'><img src='"+imgSrc+"' alt='"+site+"'/></a>";
		else
			linkPg = "<img src='"+imgSrc+"' alt='"+site+"'/>";
		
		getDirectionTd = "<td width='5%' class='crsr' style='border-bottom: solid 1px #D0D0D0;' align='left' onclick='showGoogleDrivingDirection(\""+googleDirectAddress+"\",\""+cAddress+"\");' title='Get Directions'><img src='"+imgDirN+"' onmouseover=\"this.src='"+imgDirH+"'\" onmouseout=\"this.src='"+imgDirN+"'\" /></td>";		
		
		phoneImg = "<img src='"+imgPh+"'/>&nbsp;&nbsp;"+phone+"<br>"; 
		if(cAddress.length>40)
			cAddress = cAddress.substring(0,40) + '...';
		if(cName.length>40)
			cName = cName.substring(0,40) + '...';
					
		cAddress = trim(cAddress);
		if(cAddress.charAt(0)==",")
			cAddress = trim(cAddress.substr(1,cAddress.length));

		if(cAddress.charAt(cAddress.length-1)==",")
			cAddress = trim(cAddress.substr(0,cAddress.length-1));
					
			htmlStr.append("<div style='width:100%;*width:96%;' class='"+site+"Cls' id='div"+divId+"'><div style='width:100%;' id='"+divId+"' onclick='clickOnCommList(\""+divId+"\",\""+site+"\");' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\"); $(\""+divId+"\").className=\"srTrOver\";' onmouseout='$(\""+divId+"\").className=\"srTr\"; hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\");'>");
			htmlStr.append("<table width='100%' border='0' style='font-size:1em'>");
			htmlStr.append("<tr class='srTr' style='height:45px;'>");
			htmlStr.append("<td align='center' style='width:10%; border-bottom: solid 1px #D0D0D0;'>"+linkPg+"</td>");
			htmlStr.append("<td  style='width:60%;*width:58%;border-bottom: solid 1px #D0D0D0;' align='left'><span class='communityWidgetDetail'>"+cName+"</span><br><span class='propertyWidgetDetail'>"+ cAddress +"</span></td>");
			htmlStr = htmlStr.append(getDirectionTd);
			htmlStr.append("<td  style='width:25%;*width:27%;border-bottom: solid 1px #D0D0D0;padding-right:3px;' align='right'><span class='communityWidgetLegend'>"+phoneImg+" Distance: "+cDistance+" miles</span></td>");
			htmlStr.append("</tr></table></div></div>");
    }
    
  	var divName = activeTab + "ListDiv";
	if ($(divName) == null)
	{
		srTabs.getTab(i).set("content",'<div  style="overflow:auto;width:100%;height:450px" id="' + divName + '">' + htmlStr.toString() + '</div>');
	}
	else
	{
		$(divName).innerHTML = htmlStr.toString();
	}	
}	

//function to generate html listing on right side of page for property bits
function addPropListing(arr)
{    	
	var htmlStr = new StringBuffer();
	var featuredHtmlStr = new StringBuffer();

    len = arr.length;
          	
	activeTab = (arr[0].groupname).gsub(" ","");
	var siteNm = trim(arr[0].sourcename);  

    for(var j=0 ;j<len; j++)
    {
		var localHtmlStr = new StringBuffer();
		var localFeatStr = new StringBuffer();
		var site = trim(arr[j].sourcename);  
		var dataSource = trim(arr[j].datasource);
		var isFeatured = arr[j].placeholder;
		var geoLevel = arr[j].geocodelevel;


		var first = escape(arr[j].address)+":"+arr[j].totalcount;


		if(arr[j].tid)
			var tid = arr[j].tid;
		else
			var tid = "";
		var pushpinImg="";
		if(geoLevel=="0")
			pushpinImg=dataSource+"_pushpin";
		else
			pushpinImg=dataSource+"_square";
		var addr = arr[j].address;	        
		addr = addr.replace(/\'/g,'');		       	
		var ct = arr[j].city;
		var st = arr[j].state;
		var zp = arr[j].zip;
		var picLen = arr[j].pictures.length;	     
		var picStr = "";
		var sqft = arr[j].squarefeet;
		var broker = arr[j].broker;
		var copyright = arr[j].copyright;
		
		var mlsno = arr[j].mlsno;
		var mlsnoE = arr[j].mlsno;
		if(mlsno!="") 
		{
			if (mlsno.indexOf ('PKT') == -1)
			{
				mlsno="MLS # "+mlsno;
			}
			else
			{
				mlsno="TID "+mlsno.replace('PKT', '');
			}
		}
		for(l=0;l<picLen;l++)
		{
			picStr += arr[j].pictures[l].url + ",";
		}
		
		if(picStr != "")
			picStr = picStr.substr(0,picStr.length-1);	        	
		
		var pri = num2money(arr[j].price);
		if(pri==0 || pri=="" || pri==null ) pri="Not Available";	       
		var link = arr[j].link;
		var beds = arr[j].beds;
		var baths = arr[j].baths;
		var grouptab = arr[j].groupname;
	
		beds = Math.round(beds*Math.pow(10,2))/Math.pow(10,2);
		baths = Math.round(baths*Math.pow(10,2))/Math.pow(10,2);
		beds = (beds=="0")?"-":beds;
		baths = (baths=="0.00")?"-":baths;
		
		var bedbaths = beds +" Br "+ baths +" Ba" ;
		var srn = arr[j].srno;
		var prc = arr[j].price;
		var bed = beds;
		var bath = baths;
		var lati = arr[j].latitude;
		var longi = arr[j].longitude;
		var errorMessage = trim(arr[j].error);
		var mapAddress = '';
		var html = '';
		var unId = arr[j].uniqueid;
		var unNo = arr[j].unitno;
		var pstatusE=arr[j].status;
		var specAddress='';
		if (pstatusE==""){
			pstatusE= "For Sale";
		}
		if(lati == 0 && longi==0)
		{
			lati = latp;
			longi = lngp;
		}
		
		if (site != 'recentsales' && site != 'valuation')
		{
			var sLink = link;
			addr1 = addr;
			ct1 = ct;
			st1 = st;
			zp1 = zp;
			addr1 = addr.replace(/[,]/g, " ");
			ct1 = ct1.replace(/[,]/g, " ");
			st1 = st1.replace(/[,]/g, " ");
			zp1 = zp1.replace(/[,]/g, " ");
			link = addr1+","+ct1+","+st1+","+zp1+","+prc+","+bed+","+bath+","+lati+","+longi;
		}
		else
		{
			link = arr[j].link;
		}
		
		if ( errorMessage == '' )  		 
		{
			if ( site != '' )
			{	 		      
				if ( ct != '' )
				{
					mapAddress = mapAddress + ct +", ";
				}
				if ( st != '' )
				{
					mapAddress = mapAddress + st +" - ";
				}
				if ( addr != '' )
				{
					mapAddress = mapAddress+ addr;
				}

				html = html + first + ',' + ct + "," + st + "," + zp + "," + lati + "," + longi;

				if(mapAddress.charAt(0)==",")
					mapAddress = trim(mapAddress.substr(1,mapAddress.length));

				mapAddress = trim(unescape(mapAddress));					
				if(mapAddress.charAt(mapAddress.length-1)==",")
					mapAddress = trim(mapAddress.substr(0,mapAddress.length-1));
				if(dragzoomBitsArr.indexOf(site) != -1)
				{
					imgSrc = arr[j].pictures[0];
					imgHvr = arr[j].pictures[0];
				}
				else
				{
					imgSrc = imgThmPath+"common/mini"+dataSource.capitalize()+"Icon.gif";
					imgHvr = imgThmPath+"common/mini"+dataSource.capitalize()+"Icon_h.gif";
				}				
				
				imgDirN = imgThmPath+"common/direction_n.gif";
				imgDirH = imgThmPath+"common/direction_h.gif";
				divId =  site+srn;

				

				if (arr[j].uniqueid=="city")
				{
					pri = arr[j].unitno;
					price = num2money(arr[j].price);

					localHtmlStr.append("<div style='width:100%;*width:96%;' class='"+site+"Cls' id='div"+divId+"'><div style='width:100%;' id='"+divId+"' ><table width='100%' style='font-size:1em' border='0'><tr class='srTr' style='height:45px;' onclick='mapCenterZoomin(\""+html+"\")' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\");$(\""+divId+"\").className=\"srTrOver\"'; onmouseout='$(\""+divId+"\").className=\"srTr\"; hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\")'  style='margin-left:2px'>");
					localHtmlStr.append("<td class='srTd3' style='width:8%;padding-left:3px'><img src='"+imgSrc+"' alt=''/></td>");
					localHtmlStr.append("<td class='srTd2' style='width:80%;border-left:none;padding-left:10px;'><span style='font-size:12px;'><b>"+pri+"</b> Properties found in "+mapAddress+"<br/>Average Price: "+price+"</span></td>");
					localHtmlStr.append("<td class='srTd3' style='width:5%;' align='center'>&nbsp;");
					localHtmlStr.append("</td>");
					localHtmlStr.append("</tr></table></div></div>");
				}
				else // else started
				{
					if(mapAddress.length>45) 
						mapAddress = mapAddress.substr(0,42) + "...";
				
					if ( site == "recentsales" )
					{
						var soldDate = arr[j].date
						localHtmlStr.append("<div style='width:100%;*width:96%;' class='"+site+"Cls' id='div"+divId+"'><div style='width:100%;' id='"+divId+"' ><table width='100%' style='font-size:1em'><tr class='srTr' style='height:45px;' onclick='clickOnCommList(\""+divId+"\",\""+pushpinImg+"\")' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\");$(\""+divId+"\").className=\"srTrOver\"'; onmouseout='$(\""+divId+"\").className=\"srTr\";hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\")'  style='margin-left:2px'>");
						localHtmlStr.append("<td class='srTd3' style='width:5%;padding-left:3px'><img src='"+imgSrc+"' onmouseover=\"this.src='"+imgHvr+"'\" onmouseout=\"this.src='"+imgSrc+"'\" alt='"+dataSource+"'/></td>");
						localHtmlStr.append("<td class='srTd1' style='width:20%;border-left:none;'>"+pri+"<br><span class='srTdSmall' >"+bedbaths+"</span></td>");
						localHtmlStr.append("<td class='srTd2' style='width:70%;'>"+mapAddress+"<br> <span class='srTdSmall' > Last Sold : "+soldDate+"</span></td>");
						localHtmlStr.append("<td class='srTd3' style='width:5%;' align='center'>");
						localHtmlStr.append("&nbsp;");
						localHtmlStr.append("</td></tr></table></div></div>");
					}
					else if  ( site == "valuation" )
					{
						localHtmlStr.append("<div style='width:100%;*width:96%;' class='"+site+"Cls' id='div"+divId+"'><div style='width:100%;' id='"+divId+"' ><table width='100%' style='font-size:1em'><tr class='srTr' style='height:45px;' onclick='clickOnCommList(\""+divId+"\",\""+pushpinImg+"\")' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\");$(\""+divId+"\").className=\"srTrOver\"'; onmouseout='$(\""+divId+"\").className=\"srTr\"; hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\")'  style='margin-left:2px'>");
						localHtmlStr.append("<td class='srTd3' style='width:10%;padding-left:3px'><img src='"+imgSrc+"' onmouseover=\"this.src='"+imgHvr+"'\" onmouseout=\"this.src='"+imgSrc+"'\" alt='"+dataSource+"'/></td>");
						localHtmlStr.append("<td class='srTd1' style='width:20%;border-left:none;'>"+pri+"<br><span class='srTdSmall' >"+bedbaths+"</span></td>");
						localHtmlStr.append("<td class='srTd2' style='width:65%;'>"+mapAddress+"</td>");
						localHtmlStr.append("<td class='srTd3' style='width:5%;' align='center'>");
						localHtmlStr.append("&nbsp;");
						localHtmlStr.append("</td></tr></table></div></div>");
					}
					else
					{				 
						var brokerInfo=""; 	    	
						if(site=="enhancelistings" || site=="mlsSearch" || site == "exclusivelisting" || site == "exclusivecol" || site=="jbfeaturedlistings" || site == "mercerFeaturedListing" || site == "ibrOfficeListing" || site == "mlsfeatured" || site == "reolistings" || site == "shortsale" || site == "acbVisual" || site == "acbsan" || site == "mlsCountySearch" || site == "newListing" || site == "mlsCountySearchN" ||  site == "metroOfficeListing" || site == "johnstoneofficelisting" || site == "maxbroockofficelisting" || site == "reoofficelisting" || site == "medallionhomes" || site == "rentals")
						{
							if(arr[j].comments >= 1)
								var openHome = "<td class='srTd3' style='width:10%;' align='center'><img src=\""+imgThmPath+"common/mlsopen.gif\" /></td>";
							else
								var openHome = "<td class='srTd3' style='width:10%;' align='center'>&nbsp;</td>";
							var brokerName = arr[j].broker;
							if ( brokerName.length > 25 )
							{
								brokerName = brokerName.substr(0,25) + '...';
							}	
							if((bkTheme=="metrobrokers" || bkTheme=="intero") && (copyright != "" && copyright.include("METROLIST")))					brokerInfo = "<img src='"+imgThmPath+"common/idx.gif' height='10px' width='24px'> Courtesy of "+brokerName;
							
							if(copyright != "" && copyright.include("Carolina Multiple Listing Services") )			
								brokerInfo = "<img src='/images/disclaimer/logo-cds-small.gif' height='10px' > Courtesy of "+brokerName;
							
							if ((bkTheme == "century21mb" || bkTheme == "reotexashomes" || bkTheme == "texashomes") && (copyright != "" && copyright.include("North Texas Real Estate Information System")))
				                                brokerInfo = "<img src='/wt/century21mb/images/homesite/ntreis.gif' height='10px' width='24px'> Courtesy of "+brokerName;
							if(bkTheme=="jensenwhite" && (copyright != "" && copyright.include("RMLS")))
								brokerInfo = "<img src='"+imgThmPath+"common/rmls.gif' height='10px' width='24px'> Courtesy of "+brokerName;	
							if (bkTheme=="remax")
								brokerInfo = "";
						}
						else
							var openHome = "";
						
						if(site=="mlsopenhomes")
						{
							openHomes = arr[j].placeholder;
							mlsno = openHomes+"   ("+mlsno+")";
						}
						if(isFeatured=='1')
						{
							localFeatStr.append("<div style='width:100%;*width:96%' class='"+site+"Cls' id='div"+divId+"'><div style='width:100%;' id='"+divId+"' ><table width='100%' style='font-size:1em;' border='0'><tr class='srTr' style='height:45px;' onclick='clickOnCommList(\""+divId+"\",\""+pushpinImg+"\")' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\");$(\""+divId+"\").className=\"srTrOver\"'; onmouseout='$(\""+divId+"\").className=\"srTr\"; hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\")'  style='margin-left:2px;background-image:url("+imgThmPath+"common/list_bg.gif)'>");
							
							localFeatStr.append("<td class='srTd3' style='width:8%;padding-left:3px'><img src='"+imgSrc+"' alt=''/></td>");
														
							localFeatStr.append("<td class='srTd1' style='width:20%;border-left:none;' >"+pri+"<br><span class='srTdSmall' >"+bedbaths+"</span></td>");
							if(site=="mlsSearch" || site == "mlsCountySearch" || site == "mlsCountySearchN" || site=="newListing" || site=="jbfeaturedlistings" || site == "mercerFeaturedListing" || site == "ibrOfficeListing" || site == "johnstoneofficelisting" || site == "maxbroockofficelisting" || site == "reoofficelisting" || site == "medallionhomes" || site == "rentals")
								localFeatStr.append("<td class='srTd2' style='width:60%;' >"+mapAddress+"<br>"+mlsno+" <br>"+brokerInfo+"</td>");
							else
								localFeatStr.append("<td class='srTd2' style='width:70%;' >"+mapAddress+"<br>"+mlsno+" <br>"+brokerInfo+"</td>");
							localFeatStr.append(openHome);
							localFeatStr.append("<td class='srTd3' style='width:5%;' align='center'>");
							if(bkTheme=="interorelo" || (uRole == 'EA' || uRole == 'A'))
							{
								localFeatStr.append("&nbsp;");
							}
							else
							{
								localHtmlStr.append("&nbsp;");
							}
							
							localFeatStr.append("</td></tr></table></div></div>");
						}
						else
						{				
							localHtmlStr.append("<div style='width:100%;*width:96%;' class='"+site+"Cls' id='div"+divId+"'><div style='width:100%;' id='"+divId+"' ><table width='100%' style='font-size:1em' border='0'><tr class='srTr' style='height:45px;' onclick='clickOnCommList(\""+divId+"\",\""+pushpinImg+"\")' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\");$(\""+divId+"\").className=\"srTrOver\"'; onmouseout='$(\""+divId+"\").className=\"srTr\"; hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\")'  style='margin-left:2px'>");
							
							localHtmlStr.append("<td class='srTd3' style='width:8%;padding-left:3px'><img src='"+imgSrc+"' alt=''/></td>");
							
							localHtmlStr.append("<td class='srTd1' style='width:20%;border-left:none;' >"+pri+"<br><span class='srTdSmall' >"+bedbaths+"</span></td>");
							if(site=="mlsSearch" || site == "mlsCountySearch" || site=="newListing" || site=="jbfeaturedlistings" || site=="mercerFeaturedListing" || site == "ibrOfficeListing"  || site == "mlsCountySearchN" || site == "johnstoneofficelisting" || site == "maxbroockofficelisting" || site == "reoofficelisting" || site == "medallionhomes" || site == "rentals")
								localHtmlStr.append("<td class='srTd2' style='width:60%;' >"+mapAddress+"<br>"+mlsno+" <br>"+brokerInfo+"</td>");
							else
								localHtmlStr.append("<td class='srTd2' style='width:70%;' >"+mapAddress+"<br>"+mlsno+" <br>"+brokerInfo+"</td>");

							localHtmlStr.append(openHome);
							localHtmlStr.append("<td class='srTd3' style='width:5%;' align='center'>");
							localHtmlStr.append("&nbsp;");						
							localHtmlStr.append("</td></tr></table></div></div>");
						}
					}
				}
			}
		}
		htmlStr.append(localHtmlStr.toString());
		featuredHtmlStr.append (localFeatStr.toString());
    }
    
	var divName = activeTab + "ListDiv";
	
	htmlStr.append (featuredHtmlStr.toString());

	if ($(divName) == null)
	{
		srTabs.getTab(i).set("content",'<div  style="overflow:auto;width:100%;height:450px" id="' + divName + '">' + htmlStr.toString() + '</div>');
	}
	else
	{		
		$(divName).innerHTML = htmlStr.toString();
	}
	featuredHtmlStr = null;
	htmlStr = null;
}	

//function to remove data from array when cancel is clicked on map
function removeListing(bitName,bitType,count,group)
{			
	myArr = new Array();
	eval("myArr = " + group + ";");
		
	if(myArr.length == 0)
		return;
	for(var i =0 ;i< myArr.length;i++)
    {		
       if(myArr[i].sourcename == bitName)        	
            myArr[i] = null;
    }
    myArr = myArr.compact();
    eval(group + " = myArr;");

    removeHtml(bitName,bitType,group);    
}

//function to remove tab or html listing on the right side of the page
function removeHtml(bitName,bitType,group)
{	
	if(comWinId.include(bitName))
		comWinId = "";

	if(bitName == "undefined" || bitName == null)
	{		
		var tabName = "";	
		//var tab = group + "ListDiv";		
		$A(document.getElementsByClassName("mapItListDiv")).each(function(txtnode){
			$(txtnode.id).innerHTML="";
			tabName = txtnode.id.substr(0,txtnode.id.length-7);
		});

		if(tabName != "")
		{
			var i=0;	
			
			while(srTabs.getTab(i))
			{
				if(tabName == (srTabs.getTab(i).get("label")).gsub(" ",""))
				{	
					srTabs.removeTab(srTabs.getTab(i));
					break;
				}
				i = i+1;
			}			
		}				
		
		bounds = new GLatLngBounds();
		return;
	}

	var myObj = $(group + "ListDiv");    
    var MySiteArr = document.getElementsByClassName(bitName+"Cls");   
    $A(MySiteArr).each(function(node)
	    {
	        node.remove();
	    }
	);

	var MySiteArrOther = document.getElementsByClassName("srTrOver");   
    $A(MySiteArrOther).each(function(node)
	    {
			if(node.id.include(bitName))	
				node.remove();
	    }
	);

	var flag = getStatus(bitType,group,bitName);

	if(!flag)
    {
    	var j=0;			
		while(srTabs.getTab(j))
		{
			if(group == (srTabs.getTab(j).get("label")).gsub(" ",""))
			{	
				break;
			}
			j = j+1;
		}			
		srTabs.removeTab(srTabs.getTab(j));
		
		var j=0;			
		while(srTabs.getTab(j))
		{
			if(srTabs.getTab(j).get("active"))
			{	
				break;
			}
			j = j+1;
		}		
    }
    if (!disableAutozoom)
		resetZoomLevel();
}

//function to check whether group exists in array or not in case of deleting tab
function getStatus(bitType,group,bitName)
{
	eval("var len = " + group + ".length;");
	if(len >0)
		return true;
	else
	{
		myHash.remove(group);
		mySbarHash.remove(group);
		myUdHash.remove(group);		
		groupSiteHash.remove(group);		
		paginationHash.remove(group);
		return false;
	}
}

//function to sort data in array
Array.prototype.sortComm = function (sortBy,type) 
{
    type = (type==null)?"string":type;
    if(type=="string")
    {
   this.sort(function(aa,bb)
	    {
	       return val = aa[sortBy].localeCompare(bb[sortBy]);
	    }
        );
    }
    else
    {
        this.sort(function(aa,bb)
	    {
               ((trim(aa[sortBy])=="")||(trim(aa[sortBy])==null))?'0':aa[sortBy];
               (trim(bb[sortBy])=="")?'0':bb[sortBy];
               return val = aa[sortBy]-bb[sortBy];
	    }
        );
    }    
}

//function to sort data and regenerate the html listing on right side of page
function sortCommTable(sortBy,bitType,AscType,grp)
{			
	var arr = new Array();
	eval("arr = " + grp);
	
	type =  sortBy.split(" ")[1];
	sortBy = sortBy.split(" ")[0];
	AscType = (AscType==null || AscType=="Asc")?"ASC":AscType;
	commSortOrder = (AscType==null)?commSortOrder:AscType;	
	
	if(grp=="Recent" &&  sortBy=="date")
	{		
		
		var months = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
		for(i=0;i<arr.length;i++)
		{
			var newArr = $w(arr[i].date);			
			var ind = months.indexOf(newArr[0])+1;
			if(ind <=9)
				ind = "0" + ind;
			var str = newArr[2] + " " + ind + " " + newArr[1];
			arr[i].date = str;
		}

		arr.sortComm(sortBy,type);

		for(i=0;i<arr.length;i++)
		{
			var newArr = $w(arr[i].date);
			arr[i].date = months[newArr[1]-1] + " " + newArr[2] + " " + newArr[0];			
		}
		
		if(commSortOrder != "ASC")
			arr = arr.reverse();
	}
	else 
	{
		if(commSortOrder == "ASC")
			arr.sortComm(sortBy,type);
		else
		{
			arr.sortComm(sortBy,type);
			arr = arr.reverse();
		}
	}
	if(bitType=="P")
		addPropListing(arr);
	else
	    addCommListing(arr);
}

//function to set hover image on pushpins
function hoverOnCommList(wid,siteName)
{
//	alert('wid'  + wid + 'siteName' + siteName);
	if(eval('commMarker'+wid))
		eval('commMarker'+wid).setImage(imgThmPath+"pushpin/"+siteName+"_h.png");
}

//function to set hover out image on pushpins
function hoverOutCommList(wid,siteName)
{
	if(eval('commMarker'+wid))
		eval('commMarker'+wid).setImage(imgThmPath+"pushpin/"+siteName+".png");
}

//function to open smart window on pushpins click
function clickOnCommList(wid)
{
	hideInfoDivOnMap();
	if(comWinId != "" && comWinId != 0)
	{ 		
		if(eval('window.ewc'+comWinId)!=null)
		{			
            var match = /[a-z]*/.exec(comWinId);			

			eval('ewc'+comWinId+'.hide()');
			if($('div'+comWinId) !=null) $("div"+comWinId).className = match+"Cls";
		}
	}
	else if(comWinId == 0)
	{
		if(eval('window.ewc'+comWinId)!=null)		
			eval('ewc'+comWinId+'.hide()');		
	}

	comWinId=wid;
	if(eval('ewc'+wid)!=null)	 
	{
		eval('ewc'+wid+'.openOnMarker(commMarker'+wid+',infoCWindow' + wid +')');
		if($('div'+wid) !=null)
		{
			$("div"+wid).className = "srTrOver";
		}
	}
}
/**
 * Remove the pushpins for the particular bit
 * @param siteName = BitName
 * @param totalRecords = number of records of the particular bit
 */
 
//function to remove pushpins from map
function removeCommPushpins(siteName, totalRecords)
{	
	for(var i=0 ; i<totalRecords ; i++)
	{
		var maxMarkerName = "commMarker"+siteName+i;
		var maxEw = "ewc"+siteName+i;
		if ( eval('window.' + maxMarkerName + ' != null') )
		{
			window.map.removeOverlay(eval(maxMarkerName));	   				
			eval('window.' + maxMarkerName + ' = null');	
			window.map.removeOverlay(eval(maxEw));	   				
			eval('window.' + maxEw + ' = null');	
		}
	}
};

//function to reset zoom level
function resetZoomLevel()
{
	bounds = new GLatLngBounds();
	var sName; 
		
	if(myHash.keys() == "")
	{
		map.setZoom(11);
	}
	else
	{	
		myHash.each(function(pair) {		
			if(pair.value != "Z")
			{
				var myArr = new Array();
				eval("myArr = " + pair.key + ";");
				
				for(var i =0 ;i< myArr.length;i++)
			    {
			    	sName = myArr[i].sourcename;					
			    	sr = myArr[i].srno;
			    	bounds.extend(eval('commMarker' +sName+sr).getPoint());
			    }
			}
		});
		
	 	//map.setZoom(map.getBoundsZoomLevel(bounds));
		//chnages done for Home Site
		var zoomValue = map.getBoundsZoomLevel(bounds);
		if(zoomValue>17) zoomValue = 18;
		map.setZoom(zoomValue-1);
	}

    var currPoint = new GLatLng(parseFloat(latp),parseFloat(lngp));
    map.setCenter(currPoint);
}
comWinId="";


//function to create markers for map and adding listeners to it
function createCommunityMarker(point,html,icon,wid,siteName,grpname,bitType,aptCls) 
{
		var marker = new GMarker(point,{icon:icon,zIndexProcess:function(marker, b){
		if (siteName.match(/^rsfeaturedprop/) != null) //if (siteName.match(/^exclusivecol/) != null) NEW SOTHEBY CODE
			return 2;
		else if (siteName.match(/^jbfeaturedlistings/) != null)
			return 1;
		else
			return 0;
	}});

	// ========== Open the EWindow instead of a Google Info Window ==========
	if(aptCls=="tooltip") 
	{
		var innr = html.split(",");
   		innr = innr[0];
		var markerTooltip = new StringBuffer();
		markerTooltip.append('<table style="margin-left:1px;">');
		markerTooltip.append('<tr>');
		markerTooltip.append('<td class="tooltipleft">&nbsp;</td>');
		markerTooltip.append('<td class="tooltip">'+innr+'</td>');
		markerTooltip.append('<td class="tooltipright">&nbsp;</td>');
		markerTooltip.append('</tr>');
		markerTooltip.append('</table>');
		marker.tooltip = markerTooltip.toString();
	}
	GEvent.addListener(marker, "mouseover", function()
	{
		hideInfoDivOnMap();	
		if(aptCls=="tooltip")
		{
			//marker.tooltipEM='<div align="center" class="tooltipEM">'+html+'</div>';
		}
		else
		{
			if(propView==2) 
			{				
				var cid = wid.replace(/^[A-Z]+/i,"");
				var grp = grpname.gsub(" ","");
				eval("var myArr = " + grp + ";");
				var cIndex = parseInt(myArr[0].pno-1)*blockSize100 + parseInt(cid);
				curIndexHash[grp]= cIndex;
				if(grp == (srTabs.get("activeTab").get("label")).gsub(" ",""))
					focusRoloMouseOver(parseInt(cid));				
			}

			if($(grpname.gsub(" ","")+"ListDiv") && $("div"+wid))
			{
					var h = $("div"+wid).offsetTop;
					$(grpname.gsub(" ","")+"ListDiv").scrollTop = h-200;
			}

			if($('div'+wid) !=null) $("div"+wid).className = "srTrOver";

			if(comWinId != "")
			{ 
				if(eval('window.ewc'+comWinId)!=null)
				{
					if($('div'+comWinId) !=null) $("div"+comWinId).className = "";
					eval('ewc'+comWinId+'.hide()');				
				}
			}
			
			comWinId=wid;
			eval('ewc'+wid+'.openOnMarker(marker,html)');
		}		
	});
	if(aptCls == "")
	{
		//do nothing
	}
	else if(aptCls == 1)
	{
		GEvent.addListener(marker, "mouseover", function() {
		  marker.setImage(imgThmPath+"pushpin/"+siteName+"_h.png");
	      $(wid).className = "srTrOverApt";
	    });
	    
	    GEvent.addListener(marker, "mouseout", function() {
	      marker.setImage(imgThmPath+"pushpin/"+siteName+".png");
	      $(wid).className = "srTrApt";
	    });
	}
	else
	{
		GEvent.addListener(marker, "mouseover", function() {
			showTooltipCity(marker);
			marker.setImage(imgThmPath+"pushpin/"+siteName+"_h.png");
	    });
		GEvent.addListener(marker,"mouseout", function() {
			tooltip.style.visibility="hidden";
			marker.setImage(imgThmPath+"pushpin/"+siteName+".png");
        }); 
		GEvent.addListener(marker,"click", function() {
			tooltip.style.visibility="hidden";
			mapCenterZoomin(html);			
        }); 
	}
	return marker;
};

function createRssMarker(point,html,icon,wid,siteName,grpname,bitType) 
{		
	var marker = new GMarker(point,icon);
	// ========== Open the EWindow instead of a Google Info Window ==========
	GEvent.addListener(marker, "click", function()
	{
		if(comWinId != "")
		{ 
			if(eval('window.ewc'+comWinId)!=null)
			{
				eval('ewc'+comWinId+'.hide()');				
			}
		}
		
		comWinId=wid;
		eval('ewc'+wid+'.openOnMarker(marker,html)');		
	});
	
	GEvent.addListener(marker, "mouseover", function() {
	  marker.setImage(imgThmPath+"pushpin/"+siteName+"_h.png");
    });
    
    GEvent.addListener(marker, "mouseout", function() {
      marker.setImage(imgThmPath+"pushpin/"+siteName+".png");
    });

	return marker;
};

function getValueMyHomeByPID(pid,sid)
{
	var url = "../feed/homeEstimate.php?pid="+pid+",,"+sid+"&address=";
	window.open(url,"_blank");
}
function getValueMyHomeByAddress(me,address,city,state,zip,site)
{
	var url = "../feed/homeEstimate.php?pid=&address="+escape(address)+","+escape(city)+","+escape(state)+","+escape(zip);
	window.open(url,"_blank");
}

//function which is called first when single landing property is accessed, intern calls diff functions
function funExploreOnMapit()
{
	showDetail=1;
	var myQs = new Querystring();

	if(myQs.get("shr") != null && myQs.get("shr") == "1")
	{
		var s = location.search.substr(1,location.search.length);
		var qstrArr = s.split("&");
		var redirectUrl = "http://"+location.hostname+"/app/listing/singlePropertyLanding.php?";

		for(i=0;i<qstrArr.length;i++)
		{
			if(!qstrArr[i].include("code"))
			{
				var tmp = qstrArr[i].split("=");

				if(tmp[0] == "id")
				{
					if(i==0)
						redirectUrl += tmp[0]+"=355";
					else
						redirectUrl += "&"+tmp[0]+"=355";
				}
				else if(tmp[0] == "mapZoom")
				{
					if(i==0)
						redirectUrl += tmp[0]+"="+parseInt(neighzoom);
					else
						redirectUrl += "&"+tmp[0]+"="+parseInt(neighzoom);
				}
				else if(tmp[0] == "shr")
				{
					//DO NOTHING
				}
				else
				{
					if(i==0)
						redirectUrl += tmp[0]+"="+tmp[1];
					else
						redirectUrl += "&"+tmp[0]+"="+tmp[1];
				}
			}
			else
				redirectUrl += "&"+qstrArr[i];
		}
		//alert(redirectUrl);
		removeAllMapItCookie()

		window.location.href = redirectUrl;
		return;
	}

	var drgArr = new Array();
	var city = getSearchCookie("city");
	var zip = getSearchCookie("zip");
	var state = getSearchCookie("state");
	var ad = getSearchCookie("searchAddress");
	
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");
	var ouid = myQs.get("ouid");
	if(getSearchCookie("area")!="") {setSearchCookie("area","");}
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		//agentsite statistics
		var beds = getSearchCookie("searchBeds");
		var baths = getSearchCookie("searchBaths");
		var type = getSearchCookie("searchType");
		var minprice = getSearchCookie("minPrice");
		var maxprice = getSearchCookie("maxPrice");

		var url = "../../classes/emailStats.php";
		var qs = "from=search&aid="+aid+"&city="+city+"&type="+type+"&beds="+beds+"&baths="+baths+"&price="+minprice+"-"+maxprice+"&addr=&mlsno";
		ajaxRequest(url,qs);
		//statistics done
	}

	if($('chkmapSearchSelect') != null && $('chkmapSearchSelect').checked == true )
	{
		$('chkmapSearchSelect').checked = false;
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("mapSearchSelect","0",now);
		isDragZoomCtrl = 0;
		isDragZoom = 0;
		GEvent.removeListener(mylist1);
		GEvent.removeListener(mylist2);
		GEvent.removeListener(mylist3);
		mapListnerAdded = 0;
		$('gzoom-control').style.display = 'none';
		
		myDzEnableHash.each(function(pair) {		
			myDzEnableHash[pair.key] = 0;
		});
	}
	//disableAutozoom = false;  SOTHEBY CHANGES COMMENTED

	city = (trim(city)=="" || city==null)?"":(city + ", ");
	state = (trim(state)=="" || state==null)?"":(state + ", ");
	zip = (trim(zip)=="" || zip==null)?"":(zip + "");
	var fullAddr = city + state.gsub(",","") + zip;
	
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		window.document.title =  strAgTitle+" - "+fullAddr;
	}
	else if(frm != null && trim(frm) == 'frch' && ouid != null && trim(ouid) != "")
	{
		window.document.title =  strAgTitle+" - "+fullAddr;
	}		
	else
	{
		window.document.title =  bkOrgName+" - "+fullAddr;
	}	
	if (ad != '')
		googleDirectAddress = ad+", "+fullAddr;
	else
		googleDirectAddress = fullAddr;

	// NEW CODE PLACED SOTHEBY
	var listType = getSearchCookie("listType");
	var bitName = "mlsNHoodMode";
	if(listType != "")
	{
		switch(listType)
		{
			case 'openHome':
					bitName = 'mlsopenhomes';	
					break;
			case 'brokeropenHome':
					bitName = 'mlsopenhomes';	
					break;
			case 'officeListing':
					bitName = 'jbfeaturedlistings';	
					break;
			case 'newListing':			
					bitName = 'mlsCountySearch';	
					break;
			case 'willisFracOwner':
					setSearchCookie ('searchType', '\'Fractional Ownership\'');
					bitName = 'exclusivelisting';	
					break;
			case 'willisInvestmentProp':
					setSearchCookie ('searchType', '\'Investment Properties\'');
					bitName = 'exclusivelisting';	
					break;
			case 'willisNewProjects':
					setSearchCookie ('searchType', '\'New Projects\'');
					bitName = 'exclusivelisting';	
					break;
			case 'virtualTour':
					bitName = 'acbVisual';	
					break;
			case 'sandicoreListing':
					bitName = 'mlsCountySearch';
                    break;
			case 'exclusiveListing':
					bitName = 'exclusivelisting';	
					break;
			case 'featuredListing':
					bitName = 'mlsfeatured';	
					break;
			case 'bankOwned':
					bitName = 'reolistings';
					break;
			case 'metroListing':
					bitName = 'metroOfficeListing';
					break;
			case 'exclusiveCol':
					bitName = 'exclusivecol';
					break;
			case 'mercerFeaturedListing':
					bitName = 'mercerFeaturedListing';
					break;					
			case 'ibrOfficeListing':
					bitName = 'ibrOfficeListing';
					break;					
			case 'medallionHome':
					bitName = 'medallionhomes';
					break;	
			case 'reolisting':
					bitName = 'reolistings';
					break;
			case 'shortsale':
					bitName = 'shortsale';
					break;
			case 'auction':
					bitName = 'auction';
					break;
			case 'crenListings':			
					bitName = 'mlsHomesMode';	
					break;
			case 'signatureListing':			
					bitName = 'mlsCountySearch';	
					break;
			case 'newConstruction':
					bitName = 'mlsCountySearch';	
					break;
			case 'rentals':
					bitName = 'rentals';	
					break;
			case 'mlsrentals':
					bitName = 'rentals';	
					break;
			case 'pocketrentals':
					bitName = 'rentals';	
					break;
			case 'brokermlsrentals':
					bitName = 'rentals';	
					break;
			case 'soldListing':
					bitName = 'mlsCountySearch';	
					break;
			case 'homeswithwater':
					bitName = 'mlsCountySearch';	
					break;
			case 'disclosureListing':
					bitName = 'mlsCountySearch';	
					break;
			case 'foreclosureListing':
					bitName = 'reolistings';	
					break;
			case 'all':
					bitName = 'mlsNHoodMode';	
					break;
		}
	}	
	// NEW CODE ENDS

	drgArr = getAllMapItCookie();
	for(var i=0;i<drgArr.length;i++)
	{		
		if (typeof(myBitzGroup[drgArr[i]]) != "undefined") // MODIFIED SOTHEBY
		{
			if (myBitzGroup[drgArr[i]] != "")
			{
				var src = "";
				var len = eval(myBitzGroup[drgArr[i]]).length;

				if(drgArr[i] == "mlsHomesMode")
				{
					setMapItCookie("mlsHomesMode","del");
					src = "mlsCountySearch";
				}
				else if(drgArr[i] == "mlsNHoodMode")
					src = "mlsCountySearchNH";
				else
					src = drgArr[i];
				
				if(myHash[myBitzGroup[drgArr[i]]] == "C") len = 20;
				changeMapListeners("remove");
	            disableAutozoom = true;
				removeCommPushpins(src,len);
				changeMapListeners("add");
				removePropListing(src,"P",len,myBitzGroup[drgArr[i]]);		
			}
		}
	}

	// ADDED - SOTHEBY 
	changeMapListeners("remove");
	changeMapListeners("add");
	removeAllMapItCookie();
	if(listType)
	{ 
		setMapItCookie(bitName,"add");	 
	}
	// ADDED - SOTHEBY  ENDS

	bounds = new GLatLngBounds();
	paginationHash.each(function(pair) {		
		paginationHash[pair.key] = 1;
	});
	curIndexHash.each(function(pair) {		
		curIndexHash[pair.key] = 0;
	});
	
	// NEW CODE FOR SOTHEBY	
	if(trim(getCookie("strMapitCK"))=="" || getCookie("strMapitCK")==null)
	{		
		var latLong = (getCookie("latLongCk")!=null)?(eval(getCookie("latLongCk"))[0]):null;	
		
		if(bitName == "mlsNHoodMode")
		{
			var htm = "list,"+getSearchCookie("city")+","+getSearchCookie("state")+","+getSearchCookie("zip")+","+latLong.lat+","+latLong.lng+",,search";
			currNeighSel = latLong.lat+":::"+latLong.lng+":::"+(neighzoom-1);		
			changeMapListeners("remove");
			disableAutozoom = true;
			map.setCenter(new GLatLng(parseFloat(latLong.lat),parseFloat(latLong.lng)), parseInt(neighzoom));
			changeMapListeners("add");
			loadBit(bitName,1,"","",htm); 
		}
		else
		{	
			currHomeSel = latLong.lat+":::"+latLong.lng+":::"+listingzoom;		
			changeMapListeners("remove");
			disableAutozoom = true;
			map.setCenter(new GLatLng(parseFloat(latLong.lat),parseFloat(latLong.lng)), parseInt(listingzoom));
			changeMapListeners("add");
			loadBit(bitName); 			
		}
	}
	else
	{	
		drgArr = getAllMapItCookie();		
		for(var i=0;i<drgArr.length;i++)
		{
			if(drgArr[i] == "mlsNHoodMode")
			{
				var latLong = (getCookie("latLongCk")!=null)?(eval(getCookie("latLongCk"))[0]):null;				
				var htm = "list,"+getSearchCookie("city")+","+getSearchCookie("state")+","+getSearchCookie("zip")+","+latLong.lat+","+latLong.lng+",,search";
				currNeighSel = latLong.lat+":::"+latLong.lng+":::"+(neighzoom-1);		
				changeMapListeners("remove");
				disableAutozoom = true;
				map.setCenter(new GLatLng(parseFloat(latLong.lat),parseFloat(latLong.lng)), parseInt(neighzoom));
				changeMapListeners("add");							
			}
			else
			{
				var latLong = (getCookie("latLongCk")!=null)?(eval(getCookie("latLongCk"))[0]):null;
				currHomeSel = latLong.lat+":::"+latLong.lng+":::"+listingzoom;						
				changeMapListeners("remove");
				disableAutozoom = true;				
				map.setCenter(new GLatLng(parseFloat(latLong.lat),parseFloat(latLong.lng)), parseInt(listingzoom));
				changeMapListeners("add");
			}
		}		
		initLoadBits();
	}
}

Array.prototype.remove=function(s){
  for(i=0;i<this .length;i++){
    if(s==this[i]) this.splice(i, 1);
  }
}

//function to go back to url in case of detailed page in single property landing page
function getBackToListingURL()
{	
	var loadedBitStr="";
	var initBitsArr = getAllMapItCookie();
	if (initBitsArr.length>0)
		loadedBitStr = initBitsArr[0];
	for(i=1;i<initBitsArr.length;i++)
	{
	    loadedBitStr+= ","+initBitsArr[i];
	}
	var city = getSearchCookie("city");
	var zip = getSearchCookie("zip");
	var state = getSearchCookie("state");
	var address = getSearchCookie("searchAddress");
	var latLong =  (getCookie("latLongCk")!=null)?(eval(getCookie("latLongCk"))[0]):null;	 // SOTHEBBY 
	var lat = latLong.lat;
	var lng = latLong.lng;
	var path = "/app/listing/singlePropertyLanding.php?status=EXP&address="+escape(address)+","+escape(city)+","+escape(state)+","+zip+",,,,"+lat+","+lng;
	return path;
}

//function to set up/down link on sort bar
function setUpDown(sortIndex,commType,sortType,myArr)
{
	//condition removed bcoz of community bitz infinite loop
	var strHtml="";
	if(commType == "P")
	{
		var ind = $("sortProp").selectedIndex;			
		mySbarHash[myArr] = ind;
			
		if(sortType == "1")
		{
			strHtml = "<img src='"+imgThmPath+"listing/up_d.gif' id='lblAscC'>&nbsp;<img src='"+imgThmPath+"listing/down_a.gif' id='lblDescC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + commType + "\",\"2\",\"" + myArr + "\");'/>";
			myUdHash[myArr]=0;
		}                        
		else
		{
			strHtml = "<img src='"+imgThmPath+"listing/up_a.gif' id='lblAscC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + commType + "\",\"1\",\"" + myArr + "\");'/>&nbsp;<img src='"+imgThmPath+"listing/down_d.gif' id='lblDescC' class='upDownLabel'/>";
			myUdHash[myArr] = 1;
		}
		$("spnUpDown").innerHTML = strHtml;
		handleCombo(sortIndex,commType,sortType);
	}
	else if(commType == "C")
	{		
		var ind = $("sortSel").selectedIndex;
		
		mySbarHash[myArr] = ind;
	
		if(sortType == "1")
		{
			strHtml = "<img src='"+imgThmPath+"listing/up_d.gif' id='lblAscC'>&nbsp;<img src='"+imgThmPath+"listing/down_a.gif' id='lblDescC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + commType + "\",\"2\",\"" + myArr + "\");'/>";
			$("spnUpDownC").innerHTML = strHtml;
			myUdHash[myArr]=0;
		}
		else
		{
			strHtml = "<img src='"+imgThmPath+"listing/up_a.gif' id='lblAscC' class='upDownLink crsr' onclick='setUpDown(\"" + sortIndex + "\",\"" + commType + "\",\"1\",\"" + myArr + "\");'/>&nbsp;<img src='"+imgThmPath+"listing/down_d.gif' id='lblDescC' class='upDownLabel'/>";
			$("spnUpDownC").innerHTML = strHtml;
			myUdHash[myArr] = 1;
		}

		if(myArr != "Professional" && myArr != "Agents" && myArr != "Offices")
		{									
			if(sortType == "1")
				sortCommTable(sortIndex,commType,'Asc',myArr);
			else
				sortCommTable(sortIndex,commType,'DESC',myArr);
		}
		/*else
		{																
			handleCombo(sortIndex,commType,sortType);
		}*/	
	}
}

function num2moneyWrapper(num)
{
	if(num=="0" || num=="0.0" || num=="0.00" || num == "00000") 
		return "0";
	else 
		return num2money(num);
}



function reloadBit(group,bitName,pgNo,localPg)
{	
	if(typeof(localPg)!="undefined") // for local pagination
	{
		paginationHash[group] = localPg;
	}
	singleBit = group;
	var j=0;			
	while(srTabs.getTab(j))
	{
		if(srTabs.getTab(j).get("active"))
		{	
			break;
		}
		j = j+1;
	}
	group = (srTabs.getTab(j).get("label")).gsub(" ","");	
	var myDataLen = eval(group).length;
	
	var htm = "";	
	if(bitName == "mlsCountySearch")
        {
		eval("var dataArr="+group+";");
		if(dataArr[0].datasource == "nhpushpin")
                {
                        var first = dataArr[0].city+":"+dataArr[0].totalcount;
                        var ct = dataArr[0].city;
                        var st = dataArr[0].state;
                        var zp = dataArr[0].zip;
                        var lt = "";
                        var lng = "";
                        var last = dataArr[0].address;
                        htm = first+","+ct+","+st+","+zp+","+lt+","+lng+","+last+",reload";
                }
		else if(dataArr[0].uniqueid != "city")
		{
			var first = dataArr[0].city+":"+dataArr[0].totalcount;
                        var ct = dataArr[0].city;
                        var st = dataArr[0].state;
                        var zp = dataArr[0].zip;
                        var lt = "";
                        var lng = "";
                        var last = "";//currpushpin.split("|")[1];
                        htm = first+","+ct+","+st+","+zp+","+lt+","+lng+","+last;
		}
	}

	if(bitName == "mlsNHoodMode")
	{
		var latLng = eval(getCookie("latLongCk"))[0];
		htm = ","+getSearchCookie("city")+","+getSearchCookie("state")+","+getSearchCookie("zip")+","+latLng.lat+","+latLng.lng+",,search";
	}
	
	var src = bitName;
	if(src == "mlsHomesMode")
		src = "mlsCountySearch";
	else if(src == "mlsNHoodMode")
		src = "mlsCountySearchNH";

	removePropListing(src,"P",myDataLen,group);	
	removeCommPushpins(src,myDataLen);
	
	if(group != "Professional" && group != "Agents" && group != "Offices")
	{
		var sortOrder = myUdHash[group];
		var ind = $("sortProp").selectedIndex; //0-price 1-beds 2-baths	3-date	
		mySbarHash[group] = ind;
		var sortData = "";
		
		if(ind == 0)
			sortData = "p";
		else if(ind == 1)
			sortData = "br";
		else if(ind == 2)
			sortData = "ba";
		else if(ind == 3)
			sortData = "sqft";
			
		if(sortOrder == 0)
			sortData += "l";
		else
			sortData += "h";
	}
	/*else
	{
		//eval("var sortOrder = myUdHash['"+group+"'];" );
		var sortOrder = myUdHash[group];
		var ind = $("sortSel").selectedIndex; //0-distance 1-type
		//eval("mySbarHash.merge({"+group+" : ind});");
		mySbarHash[group] = ind;
		var sortData = "";
		
		if(ind == 0)
			sortData = "p";
		else if(ind == 1)
			sortData = "t";
			
		if(sortOrder == 0)
			sortData += "l";
		else
			sortData += "h";
		
		showAgentDialog = "nxt";
	}*/		
			
	loadBit(bitName,pgNo,sortData,undefined,htm);
};

function reloadBit1(group,bitName,pgNo,localPg)
{	
	if(typeof(localPg)!="undefined") // for local pagination
	{
		paginationHash[group] = localPg;
	}
	singleBit = group;
	var j=0;			
	while(srTabs.getTab(j))
	{
		if(srTabs.getTab(j).get("active"))
		{	
			break;
		}
		j = j+1;
	}
	
	group = (srTabs.getTab(j).get("label")).gsub(" ","");	
	var myDataLen = eval(group).length;
	
	// NEW SOTHEBY CODE
	if(bitName == "mlsCountySearch")
        {
		eval("var dataArr="+group+";");
		if(dataArr[0].datasource == "nhpushpin")
		{
				var first = dataArr[0].city+":"+dataArr[0].totalcount;
				var ct = dataArr[0].city;
				var st = dataArr[0].state;
				var zp = dataArr[0].zip;
				var lt = "";
				var lng = "";
				var last = dataArr[0].address;
				htm = first+","+ct+","+st+","+zp+","+lt+","+lng+","+last+",reload";
		}
		else if(dataArr[0].uniqueid != "city")
		{
			var first = dataArr[0].city+":"+dataArr[0].totalcount;
			var ct = dataArr[0].city;
			var st = dataArr[0].state;
			var zp = dataArr[0].zip;
			var lt = "";
			var lng = "";
			var last = "";//currpushpin.split("|")[1];
			htm = first+","+ct+","+st+","+zp+","+lt+","+lng+","+last;
		}
	}
	
	var src = bitName;
	if(src == "mlsHomesMode")
		src = "mlsCountySearch";
	else if(src == "mlsNHoodMode")
		src = "mlsCountySearchNH";
	// NEW SOTHEBY CODE ENDS
	
	removePropListing(src,"P",myDataLen,group);	 // NEW SOTHEBY CODE 
	removeCommPushpins(src,myDataLen);			 // NEW SOTHEBY CODE 

	if(group != "Professional" && group != "Agents" && group != "Offices")
	{
		var sortOrder = myUdHash[group];
		var ind = $("sortProp").selectedIndex; //0-price 1-beds 2-baths	3-date	
		mySbarHash[group] = ind;
		var sortData = "";
		
		if(ind == 0)
			sortData = "p";
		else if(ind == 1)
			sortData = "br";
		else if(ind == 2)
			sortData = "ba";
		else if(ind == 3)
			sortData = "d";
		else if(ind == 4)
			sortData = "li";
		else if(ind == 5)
			sortData = "sd";
		else if(ind == 6)
			sortData = "a";
		else if(ind == 7)
			sortData = "st";
		else if(ind == 8)
			sortData = "dom";
			
		if(sortOrder == 0)
			sortData += "l";
		else
			sortData += "h";
	}
	// SOTHEBY CODE STARTS
	/*else
	{
		//eval("var sortOrder = myUdHash['"+group+"'];" );
		var sortOrder = myUdHash[group];
		var ind = $("sortSel").selectedIndex; //0-distance 1-type
		//eval("mySbarHash.merge({"+group+" : ind});");
		mySbarHash[group] = ind;
		var sortData = "";
		
		if(ind == 0)
			sortData = "p";
		else if(ind == 1)
			sortData = "t";
			
		if(sortOrder == 0)
			sortData += "l";
		else
			sortData += "h";
		
		showAgentDialog = "nxt";
	}*/		
			
	loadBit(bitName,pgNo,sortData,undefined,htm);		
	// SOTHEBY CODE ENDS
};

//function which is called when combobox ic clicked which intern calls setupdown function
function handleCombo(sortIndex,commType,sortType)
{	
	var j=0;			
	while(srTabs.getTab(j))
	{
		if(srTabs.getTab(j).get("active"))
		{	
			break;
		}
		j = j+1;
	}
	
	group = (srTabs.getTab(j).get("label")).gsub(" ","");
	
	if(commType == "P")
	{
		var bitName = groupSiteHash[group];
		var sortOrder = myUdHash[group];
		var ind = $("sortProp").selectedIndex; //0-price 1-beds 2-baths	3-date	
		mySbarHash[group] = ind;
		paginationHash[group] = 0;
		curIndexHash[group]=0;
		var sortData = "";
		
		if(ind == 0)
			sortData = "p";
		else if(ind == 1)
			sortData = "br";
		else if(ind == 2)
			sortData = "ba";
		else if(ind == 3)
			sortData = "sqft";
					
		if(sortOrder == 0)
			sortData += "l";
		else
			sortData += "h";
		
		var myDataLen = eval(group).length;

		if(pagiBlock100BitsArr.indexOf(bitName) != -1)
		{
			paginationHash[group] = 1;
		}
		
		removePropListing(bitName,"P",myDataLen,group);
		removeCommPushpins(bitName,myDataLen);		
				
		var htm = "";
		if(bitName == "mlsNHoodMode")
		{
			var latLng = eval(getCookie("latLongCk"))[0];
			htm = ","+getSearchCookie("city")+","+getSearchCookie("state")+","+getSearchCookie("zip")+","+latLng.lat+","+latLng.lng+",,search";
		}
		loadBit(bitName,1,sortData,undefined,htm);
	}
	else
	{
		if(group != "Professional" &&  group != "Agents" &&  group != "Offices")
		{			
			setUpDown(sortIndex,commType,sortType,group);
		}
		/*else
		{
			var bitName = groupSiteHash[group];
			var sortOrder = myUdHash[group];
			var ind = $("sortSel").selectedIndex; //0-distance 1-type
			mySbarHash[group] = ind;
			var sortData = "";
			
			if(ind == 0)
				sortData = "p";
			else if(ind == 1)
				sortData = "t";
				
			if(sortOrder == 0)
				sortData += "l";
			else
				sortData += "h";
				
			var myDataLen = eval(group).length;
			removeCommPushpins(bitName,myDataLen);
			removePropListing(bitName,"C",myDataLen,group);
			if(group == "Agents")
				showAgentDialog = "1";
				
			loadBit(bitName,1,sortData);
		}*/
	}
}
function addRssPushpins(data)
{
	infoCWindow = new Array();
	for(i=0;i<data.length;i++)
	{
		var cnt = data[i].srno;
		var siteName = data[i].sourcename;
		var point = new GLatLng(parseFloat(data[i].latitude),parseFloat(data[i].longitude));
		pushpinImg = data[i].sourcename+"_pushpin";
		iconImage = imgThmPath+"pushpin/"+pushpinImg+".png";
		pushPinIcon = new GIcon(); 
		pushPinIcon.image = iconImage; 
		pushPinIcon.iconSize = new GSize(20,28); 
		pushPinIcon.iconAnchor = new GPoint(6, 20);
		pushPinIcon.infoWindowAnchor = new GPoint(5, 1);
		groupname = data[i].groupname;
		bitType = data[i].category;
		var cssName = "green";
		
		eval('ewc'+siteName+cnt+' = new EWindow(map,E_STYLE_10)');
		infoCWindow[cnt] =getRssHtml(data[i].title,data[i].image,data[i].desc,data[i].author,cssName,siteName,cnt);
	
		eval('map.addOverlay(ewc' +siteName+cnt+ ')');
		eval('infoCWindow' +siteName+cnt+ ' = infoCWindow[cnt]');
		eval('commMarker'+siteName+cnt+'=createRssMarker(point,infoCWindow[cnt],pushPinIcon,siteName+cnt,pushpinImg,groupname,bitType);');
       	map.addOverlay(eval('commMarker'+siteName+cnt)); 
       	bounds.extend(eval('commMarker' +siteName+cnt).getPoint());
	}    	
        	
    var currPoint = new GLatLng(parseFloat(latp),parseFloat(lngp));
    bounds.extend(currPoint);
}

function getRssHtml(title,image,desc,author,pubdate,link,cssName,siteName,cnt,imgThmPath)
{
	htmlStr = '<table  cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:280px;height:149px">' +
	'<tr style="height:20px;">' +
	'<td class="top_bot_body_'+cssName+'"><img src="'+imgThmPath+'common/'+siteName+'.gif" alt=""/></td>' 	+
	'<td style="width:210px;" class="top_bot_body_'+cssName+' titleText" ><a href="'+link+'" target="_blank">' + title + '</a> </td>' +
	'<td style="text-align:center;*text-align:right;*vertical-align:top;" class="top_bot_body_'+cssName+'" ><img src="'+imgThmPath+'common/close.gif" class="imgclose" onclick="eval(ewc'+siteName+cnt+'.hide());"/></td>' +
	'</tr>' +
	'<tr style="height:5px;"><td colspan="3"></td></tr>' +		
	'<tr>'+
	'<td colspan="3" style="padding:2px" width="230px">'+
	'<table ce;;padding="0" cellspacing="0" width="100%">'+
	'<tr>'+
	'<td width="120px"><img src="'+image+'" height="80" width="120"/></td>'+
	'<td width="100px" class="swDetailText" wrap><textarea class="swLableText" readonly="readonly" cols="15" rows="3" style="height:73px;*height:72px;border-style:none">'+desc+'</textarea></td>'+
	'</tr>' +
	'<tr>' +
	'<td colspan="2" width="130px" style="padding:2px" class="swDetailText">'+pubdate+'</td>'+
	'</tr>'+		
	'</table>'+
	'</td>'+
	'<tr>'+
	'<td colspan="3" style="padding:4px" class="swDetailText">'+author+'</td>'+
	'</tr>'+		
	'</table>';			
	return htmlStr;
}

function showAptDivs(divs,obj)
{	
	var spanId = "s_" + obj.id.substr(2,obj.id.length);	
	var arr = divs.split(",");
	
	for(var i=0;i<arr.length;i++)
	{	
		if($(arr[i]))
			$(arr[i]).style.display = "block";		
	}
	$(spanId).innerHTML="<a href='javascript:void(0);' onclick='javascript:hideAptDivs(\"" + divs + "\",this);' id=" + obj.id + "><img src='"+imgThmPath+"common/hide_unit.gif'/></a>";
	$(spanId).parentNode.parentNode.parentNode.parentNode.parentNode.className = "srTr";	
}

function hideAptDivs(divs,obj)
{	
	var spanId = "s_" + obj.id.substr(2,obj.id.length);
	var arr = divs.split(",");
	
	for(var i=0;i<arr.length;i++)
	{	
		if($(arr[i]))
			$(arr[i]).style.display = "none";		
	}
	$(spanId).innerHTML="<a href='javascript:void(0);' onclick='javascript:showAptDivs(\"" + divs + "\",this);' id=" + obj.id + "><img src='"+imgThmPath+"common/show_unit.gif'/></a>";
	$(spanId).parentNode.parentNode.parentNode.parentNode.parentNode.className = "srTr";
}

function navigatePics(imgIndex,obj,pics)
{		
	eval('var picArr = '+unescape(pics)+';');
	var htmlStr = new StringBuffer();

	if(imgIndex == 0)
	{
		var image = unescape(picArr[0].url);
		htmlStr.append('<table cellpaddong="0" cellspacing="0">');
		htmlStr.append('<tr><td colspan="2"><img src="'+image+'" width="120px" height="80px"/></td></tr>');
		htmlStr.append('<tr><td align="left"><img class="imgPointer" src="'+imgThmPath+'listing/btnPrev_d.gif"/></td><td align="right"><img class="imgPointer" id="imgnext" src="'+imgThmPath+'listing/btnNext.gif" onclick="navigatePics(1,\''+obj+'\',\''+pics+'\')"/></td></tr>');
		htmlStr.append('</table>');
	}
	else if(imgIndex == (picArr.length-1))
	{
		var image = unescape(picArr[imgIndex].url);
		htmlStr.append('<table cellpaddong="0" cellspacing="0">');
		htmlStr.append('<tr><td colspan="2"><img src="'+image+'" width="120px" height="80px"/></td></tr>');
		htmlStr.append('<tr><td align="left"><img class="imgPointer" src="'+imgThmPath+'listing/btnPrev.gif" onclick="navigatePics('+(imgIndex-1)+',\''+obj+'\',\''+pics+'\')"/></td><td align="right"><img class="imgPointer" id="imgnext" src="'+imgThmPath+'listing/btnNext_d.gif"/></td></tr>');
		htmlStr.append('</table>');
	}
	else
	{
		var image = unescape(picArr[imgIndex].url);
		htmlStr.append('<table cellpaddong="0" cellspacing="0">');
		htmlStr.append('<tr><td colspan="2"><img src="'+image+'" width="120px" height="80px"/></td></tr>');
		htmlStr.append('<tr><td align="left"><img class="imgPointer" src="'+imgThmPath+'listing/btnPrev.gif" onclick="navigatePics('+(imgIndex-1)+',\''+obj+'\',\''+pics+'\')"/></td><td align="right"><img class="imgPointer" id="imgnext" src="'+imgThmPath+'listing/btnNext.gif" onclick="navigatePics('+(imgIndex+1)+',\''+obj+'\',\''+pics+'\')"/></td></tr>');
		htmlStr.append('</table>');
	}
	
	$(obj).innerHTML = htmlStr.toString();
}
function removePropListing(bitName,bitType,count,group)
{		
	myArr = new Array();
	eval("myArr = " + group + ";");
	if(myArr.length == 0)
		return;
	for(var i =0 ;i< myArr.length;i++)
    {
        myArr[i] = null;
    }
    myArr = myArr.compact();
    eval(group + " = myArr;");

    var myObj = $(group + "ListDiv");
      
    var MySiteArr = document.getElementsByClassName(bitName+"Cls");   
    $A(MySiteArr).each(function(node)
	    {
	        node.remove();
	    }
	);
}

function setPagination(page,totalRecords,bitName,group,from)
{
	if(pagiBlock100BitsArr.indexOf(bitName) != -1)
	{
		page = paginationHash[group];
		setPagiMlsProp(bitName,group,page,totalRecords);
	}
	else
	{
		if(typeof(from) != "undefined")
		{
			eval("var arr = "+group+";");						
			if(arr.length == 0)
			{	
				return;
			}
			else
			{
				page = parseInt(arr[0].pno);
			}
		}
		
		var prev=page-1;
		var next= page+1;

		if(pagiBlock100BitsArr.indexOf(bitName) != -1)
		{
			var sLimit = (page-1)*blockSize100+1;
			var eLimit = (page)*blockSize100;
		}
		else
		{
			var sLimit = (page-1)*blockSize+1;
			var eLimit = (page)*blockSize;
		}
		
		if(prev==0) 
			prevImg = '<img src="'+imgThmPath+'common/arrow_left_deactive.gif" />';
		else
			prevImg = '<img class="crsr" src="'+imgThmPath+'common/arrow_left_active.gif" onclick="reloadBit(\''+group+'\',\''+bitName+'\','+prev+')" />';
		
		if(totalRecords <= eLimit) 
		{
			eLimit = totalRecords;
			nextImg = '<img src="'+imgThmPath+'common/arrow_right_deactive.gif" />';
		}
		else 
			nextImg = '<img class="crsr" src="'+imgThmPath+'common/arrow_right_active.gif" onclick="reloadBit(\''+group+'\',\''+bitName+'\','+next+')" />';
		
		$("limitBar").innerHTML = '<table valign="middle"><tr><td>'+prevImg+'</td><td class="lang paginatinText" id="txtLimit"> &nbsp;&nbsp; '+ sLimit +' - '+ eLimit +' of '+totalRecords+'  &nbsp;&nbsp;</td><td>'+nextImg+'</td></tr></table>';
		$('limitBar').style.display="inline";						
	}
}

function isArray(obj) {
   if (obj.constructor.toString().indexOf("Array") == -1)
      return false;
   else
      return true;
}

function removeCommListing(bitName,bitType,count,group)
{		
	myArr = new Array();
	eval("myArr = " + group + ";");
	if(myArr.length == 0)
		return;
	for(var i =0 ;i< myArr.length;i++)
    {
       if(myArr[i].sourcename == bitName)        	
            myArr[i] = null;
    }
    myArr = myArr.compact();
    eval(group + " = myArr;");

    var myObj = $(group + "ListDiv");
      
    var MySiteArr = document.getElementsByClassName(bitName+"Cls");   
    $A(MySiteArr).each(function(node)
	    {
	        node.remove();
	    }
	);
}

function showWebsite(url)
{
	window.open(url,"_blank");
}

function showCoupon(url)
{
	window.open(url,"_blank");
}

function reloadLocal()
{
	if(typeof(Local)!="undefined" && Local != null)
	{
		var ckAr = new Array();
		for(var i=0;i<Local.length;i++)
		{
			var isBitz = ckAr.in_array(Local[i].sourcename);
			if(isBitz === false)
			{  
				ckAr[ckAr.length] = Local[i].sourcename;
			}
		
		}
		for(var j=0;j<ckAr.length;j++)
		{
			removeCommPushpins(ckAr[j],Local.length);
			removeCommListing(ckAr[j],"C",Local.length,"Local");
			mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),ckAr[j]);
		}
	
		for(var j=0;j<ckAr.length;j++)
		{
			loadBit(ckAr[j],undefined,undefined,true);
		}	
	}
}

function reloadEducation()
{
	if(typeof(Education)!="undefined" && Education != null)
	{
		var ckAr = new Array();
		for(var i=0;i<Education.length;i++)
		{
			var isBitz = ckAr.in_array(Education[i].sourcename);
			if(isBitz === false)
			{  
				ckAr[ckAr.length] = Education[i].sourcename;
			}
		
		}
		for(var j=0;j<ckAr.length;j++)
		{
			removeCommPushpins(ckAr[j],Education.length);
			removeCommListing(ckAr[j],"C",Education.length,"Education");
			mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),ckAr[j]);
		}
	
		for(var j=0;j<ckAr.length;j++)
		{
			loadBit(ckAr[j], undefined, undefined, true);
		}	
	}
}

function reloadDragzoom()
{
	var drgArr = new Array();
	drgArr = getAllMapItCookie().intersection(dragzoomBitsArr);
	if(getSearchCookie("area")!="") {setSearchCookie("area","");}

	for(var i=0;i<drgArr.length;i++)
	{				
		if (typeof(myBitzGroup[drgArr[i]]) != "undefined")
		{
			var grp = "";
			var j = 0;
			while(srTabs.getTab(j))
			{
				if(srTabs.getTab(j).get("active"))
				{	
					grp = (srTabs.getTab(j).get("label")).gsub(" ","");
					break;
				}
				j = j+1;
			}							

			if(grp == myBitzGroup[drgArr[i]])
			{	
				var src = "";
				var len = eval(myBitzGroup[drgArr[i]]).length;

				if(drgArr[i] == "mlsHomesMode")
					src = "mlsCountySearch";
				else if(drgArr[i] == "mlsNHoodMode")
					src = "mlsCountySearchNH";
				else
					src = drgArr[i];
				removeCommPushpins(src,len);
				removePropListing(src,"P",len,myBitzGroup[drgArr[i]]);				
			}
		}
	}

	for(var i=0;i<drgArr.length;i++)
	{
		if (typeof(myBitzGroup[drgArr[i]]) != "undefined")
		{
			var grp = "";
			var j = 0;
			while(srTabs.getTab(j))
			{
				if(srTabs.getTab(j).get("active"))
				{	
					grp = (srTabs.getTab(j).get("label")).gsub(" ","");
					break;
				}
				j = j+1;
			}				

			if(grp == myBitzGroup[drgArr[i]])
			{
				myDzEnableHash[drgArr[i]] = 1;
				var latlng = map.getCenter().lat()+":"+map.getCenter().lng();		
				myDzLatLngHash[drgArr[i]] = latlng;
				curIndexHash[myBitzGroup[drgArr[i]]] = 0;
			}
		}
	}

	for(var i=0;i<drgArr.length;i++)
	{
		if (typeof(myBitzGroup[drgArr[i]]) != "undefined")
		{
			var srtBy = "";
			if(mySbarHash[myBitzGroup[drgArr[i]]] == 0)
				srtBy ="p";
			else if(mySbarHash[myBitzGroup[drgArr[i]]] == 1)
				srtBy ="br";
			else if(mySbarHash[myBitzGroup[drgArr[i]]] == 2)
				srtBy ="ba";
			else if(mySbarHash[myBitzGroup[drgArr[i]]] == 3)
				srtBy ="sqft";
			else
				srtBy ="p";

			if(myUdHash[myBitzGroup[drgArr[i]]] == 0)
				srtBy +="l";
			else if(myUdHash[myBitzGroup[drgArr[i]]] == 1)
				srtBy +="h";
			else
				srtBy +="h";
						
			if(map.getZoom()<=neighzoom)
			{
				currNeighSel = map.getCenter().lat()+":::"+map.getCenter().lng()+":::"+map.getZoom();
			}
			else
			{
				currHomeSel = map.getCenter().lat()+":::"+map.getCenter().lng()+":::"+map.getZoom();
			}

			var grp = "";
			var j = 0;
			while(srTabs.getTab(j))
			{
				if(srTabs.getTab(j).get("active"))
				{	
					grp = (srTabs.getTab(j).get("label")).gsub(" ","");
					break;
				}
				j = j+1;
			}				

			if(grp == myBitzGroup[drgArr[i]])
			{
				loadBit(drgArr[i], 1, srtBy, true);
			}
		}		
	}
}

function reloadDragZoomAll()
{
	if(typeof(tooltip)!="undefined")
		tooltip.style.visibility="hidden";

	var grp = "";
	var j = 0;
	
	if(typeof(srTabs) != "undefined")
	{
		while(srTabs.getTab(j))
		{
			if(srTabs.getTab(j).get("active"))
			{	
				grp = (srTabs.getTab(j).get("label")).gsub(" ","");
				break;
			}
			j = j+1;
		}
	}

	paginationHash.each(function(pair){
		if(grp == pair.key)
			paginationHash[pair.key]=1;
	});
	disableAutozoom = true;
	reloadLocal();
	reloadEducation();
	reloadDragzoom();
	isDragZoom=false;
}

function showOpenHomeDir(id) // SOTHEBY MODIFICATIONS
{
	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");
	var oid = myQs.get("ouid");
	var aidParam = "";
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
		aidParam = "&frm=" + frm + "&aid=" + aid;

	if(frm != null && trim(frm) == 'frch' && oid != null && trim(oid) != "")
		aidParam = "&frm=" + frm + "&ouid=" + oid;
	var host = "http://"+window.location.hostname+"/app/dashboard/getDirectionDetails.php?id=" + id + aidParam;
	window.open(host,"_blank");
}

function setDistance(op)
{
	   var isDistance=false;
       for(var i =0;i<$('sortProp').length;i++)
       {
               if($('sortProp').options[i].text=="Distance")
               {
                       isDistance=true;
                       break;
               }
       }
       if(isDistance==false && op=="add")
       {
                       var option = document.createElement('option');
                       option.text = "Distance";
                       option.value = "distance number";
                       if(isIE)
						   $('sortProp').add(option);
					   else
					   	   $('sortProp').add(option,null);
       }
       else if(op=="remove")
       {
               $('sortProp').options[i]=null;
       }
}

function reloadMapChange()
{
	hideInfoDivOnMap();
	newbounds = map.fromLatLngToDivPixel(map.getCenter());
	if ( !checkzoombounds(oldbounds,newbounds) || isDragZoomCtrl == 0)
	{
		oldbounds = '';
		newbounds = '';
		return;
	}
	if(typeof(srTabs) != "undefined" && srTabs.getTab(0).get("active") && $("RSsearchCSZ"))
	{
		  var geocoder = new GClientGeocoder();
		  geocoder.getLocations(map.getCenter(), function(addresses) {
          if(addresses.Status.code != 200) {
            //alert("reverse geocoder failed to find an address for " + map.getCenter().toUrlValue());
          }
          else {
            address = addresses.Placemark[0];
            $("RSsearchCSZ").value = address.address.split(",")[1];
          }	});
	}
	queryDistance = "";
	reloadDragZoomAll();
}

function mapChangeStart()
{
	oldbounds = map.fromLatLngToDivPixel(map.getCenter());
}

function mapZoomChange()
{
	mapZoomChanged = true;
}

function showTooltipCity(marker)
{
	tooltip = document.createElement("div");
	document.getElementById("mapSearchDiv").appendChild(tooltip);
	tooltip.style.width = "100%";
	tooltip.style.visibility="hidden";
	tooltip.innerHTML = marker.tooltip;
	var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());
	var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
	var anchor=marker.getIcon().iconAnchor;
	var width=marker.getIcon().iconSize.width;
	var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize( offset.x - point.x - anchor.x - width/6,- offset.y + point.y +anchor.y)); 
	pos.apply(tooltip);
	tooltip.style.visibility="visible";
}

function checkzoombounds(oldbounds,newbounds)
{
	// If Map Zoom level has been changed, then unset the mapZoomChanged variable and return true
	if (mapZoomChanged)
	{
		mapZoomChanged = false;
		return 1;
	}

	if (oldbounds != '')
	{
		var diff_x = newbounds.x - oldbounds.x;
		var diff_y = newbounds.y - oldbounds.y;

		bounds_diff_x = parseFloat(bounds_diff_x) + parseFloat(diff_x);
		bounds_diff_y = parseFloat(bounds_diff_y) + parseFloat(diff_y);
		
		if( bounds_diff_x > 60 || bounds_diff_y  > 60 ||  bounds_diff_x < -60 || bounds_diff_y  < -60 )
		{
			bounds_diff_x = 0;
			bounds_diff_y = 0;
			return 1;
		}
		else
		{
			return 0;
		}
	}
	else
	{
		return 0;
	}
}

function setPagiMlsProp(bitName,group,page,totalRecords)
{
	var prev=page-1;
	var next= page+1;
	
	var arr = new Array();
	var pno = 1;
	var groupLength = 0;

	eval ("groupLength = " + group + ".length;");

	if (groupLength > 0)
	{
		eval("arr = " + group + ";");
		pno = parseInt(arr[0].pno);
	}

	var sLimit = (page-1)*pagiBlockList+1;
	var eLimit = (page)*pagiBlockList;
	
	var aLimit = (pno)*blockSize100;
	var pLimit = (pno-1)*blockSize100;
	
	if(sLimit==1) 
		prevImg = '<img src="'+imgThmPath+'common/arrow_left_deactive.gif" />';
	else if((prev % modVal) == 0)
	{
		prev = pno - 1;
		prevImg = '<img class="crsr" src="'+imgThmPath+'common/arrow_left_active.gif" onclick="reloadBit(\''+group+'\',\''+bitName+'\','+prev+','+(page-1)+')" />';
	}
	else
		prevImg = '<img class="crsr" src="'+imgThmPath+'common/arrow_left_active.gif" onclick="resetPropListing(\''+bitName+'\',\''+group+'\','+prev+','+totalRecords+')" />';
	
	if(totalRecords <= eLimit) 
	{
		eLimit = totalRecords;
		nextImg = '<img src="'+imgThmPath+'common/arrow_right_deactive.gif" />';
	}
	else if((page % modVal) == 0)
	{
		next = pno + 1;
		nextImg = '<img class="crsr" src="'+imgThmPath+'common/arrow_right_active.gif" onclick="reloadBit(\''+group+'\',\''+bitName+'\','+next+','+(page+1)+')" />';
	}
	else 
		nextImg = '<img class="crsr" src="'+imgThmPath+'common/arrow_right_active.gif" onclick="resetPropListing(\''+bitName+'\',\''+group+'\','+next+','+totalRecords+')" />';
	
	$("limitBar").innerHTML = '<table valign="middle"><tr><td>'+prevImg+'</td><td class="lang paginatinText" id="txtLimit"> &nbsp;&nbsp; '+ sLimit +' - '+ eLimit +' of '+totalRecords+' &nbsp;&nbsp;</td><td>'+nextImg+'</td></tr></table>';
	$('limitBar').style.display="inline";					

}
function resetPropListing(bitName,group,page,totalRecords,flgSetPagi)
{
	paginationHash[group] = page;
	var arr = new Array();
	eval("arr = " + group + ";");
	activeTab = (arr[0].groupname).gsub(" ","");
	curIndexHash[group] = ((paginationHash[group]-1)%modVal)*pagiBlockList + ((arr[0].pno-1)*blockSize100);
	var featuredArr = new Array();
	if (bitName == "mlsCountySearch" || bitName == "mlsSearch")
	{
		if (arr[0].placeholder == "1")
			featuredArr[0] = arr[0];
		if (arr.length > 1)
		{
			if (arr[1].placeholder == "1")
				featuredArr[1] = arr[1];
		}
	}
	var totalFeatured = featuredArr.length;

	var divName = activeTab + "ListDiv";
	$(divName).innerHTML = '<div style="height:100%;width:100%" class="loading">&nbsp;</div>';
	
	if(typeof(flgSetPagi)=="undefined")
		setPagiMlsProp(bitName,group,page,totalRecords);

	if(paginationHash[group]%modVal != 0)
		page = (paginationHash[group])%modVal;
	else
		page = modVal;

	var htmlStrBuf = new StringBuffer();
	var sLimit = (page-1)*pagiBlockList+1;

	var eLimit = (page)*pagiBlockList;
	if((arr.length-totalFeatured) <= eLimit) 
		eLimit = (arr.length-totalFeatured);
	eLimit += totalFeatured;
	
	var curRespState = (arr[0].uniqueid == "")? "list":"city";
	
	if (totalFeatured > 0 && page == 1)
		sLimit = totalFeatured + 1;
	else
		sLimit += totalFeatured;

	var featuredHtmlStrBuf = new StringBuffer();
	var siteNm = trim(arr[0].sourcename); 
	
	if (totalFeatured > 0)
	{
		for (var j=0; j < totalFeatured; j++)
		{
			featuredHtmlStrBuf.append(createPropertyRow (arr[j]).toString());
		}
	}
    for(var j=sLimit-1 ;j<eLimit; j++)
    {
		if(curRespState == "list" && arr[j].uniqueid == "city") break;
		htmlStrBuf.append(createPropertyRow (arr[j]).toString());
	}
    
	if ($(divName) == null)
	{
		srTabs.getTab(i).set("content",'<div  style="overflow:auto;width:100%;height:450px" id="' + divName + '">' + htmlStrBuf.toString() + '</div>');		
	}
	else
	{		
		$(divName).innerHTML = featuredHtmlStrBuf.toString() + htmlStrBuf.toString();
	}	

}

function createPropertyRow (rowArr)
{
	var htmlStrBuf = new StringBuffer();
	var featuredHtmlStrBuf = new StringBuffer();
	var htmlStr = "";
	var featuredHtmlStr = "";

	var site = trim(rowArr.sourcename);  
	var dataSource = trim(rowArr.datasource);
	var isFeatured = rowArr.placeholder;

	var geoLevel = rowArr.geocodelevel;
	if(rowArr.tid)
		var tid = rowArr.tid;
	else
		var tid = "";
	var pushpinImg="";
	if(geoLevel=="0")
		pushpinImg=dataSource+"_pushpin";
	else
		pushpinImg=dataSource+"_square";
	var addr = rowArr.address;	        
	addr = addr.replace(/\'/g,'');		       	
	var ct = rowArr.city;
	var st = rowArr.state;
	var zp = rowArr.zip;
	var picLen = rowArr.pictures.length;	     
	var picStr = "";
	var sqft = rowArr.squarefeet;
	var broker = rowArr.broker;
	var copyright = rowArr.copyright;
	if (copyright.length > 55)
		copyright = copyright.substr(0,55) + '...';
	
	var mlsno = rowArr.mlsno;
	var mlsnoE = rowArr.mlsno;
	if(mlsno!="") 
	{
		if (mlsno.indexOf ('PKT') == -1)
		{
			mlsno="MLS # "+mlsno;
			if(dataSource == 'mlsnewlisting')
			{
				mlsno += "<span style='font-size:11px;color:#F00;padding-left:5px;'><b>(New)</b></span>" 
			}
		}
		else
		{
			mlsno="TID "+mlsno.replace('PKT', '');
		}
	}
	for(l=0;l<picLen;l++)
	{
		picStr += rowArr.pictures[l].url + ",";
	}
	
	if(picStr != "")
		picStr = picStr.substr(0,picStr.length-1);	        	
	
	var pri = num2money(rowArr.price);
	if(pri==0 || pri=="" || pri==null ) pri="Not Available";	       
	var link = rowArr.link;
	var beds = rowArr.beds;
	var baths = rowArr.baths;
	var grouptab = rowArr.groupname;

	beds = Math.round(beds*Math.pow(10,1))/Math.pow(10,1);
	baths = Math.round(baths*Math.pow(10,1))/Math.pow(10,1);
	beds = (beds=="0")?"-":beds;
	baths = (baths=="0.00")?"-":baths;
	
	var bedbaths = beds +" Br "+ baths +" Ba" ;
	var srn = rowArr.srno;
	var prc = rowArr.price;
	var bed = beds;
	var bath = baths;
	var lati = rowArr.latitude;
	var longi = rowArr.longitude;
	var errorMessage = trim(rowArr.error);
	var mapAddress = '';
	var html = 'list,';
	var unId = rowArr.uniqueid;
	var unNo = rowArr.unitno;
	var pstatusE=rowArr.status;
	var specAddress='';
	if (pstatusE==""){
		pstatusE= "For Sale";
	}
	if(lati == 0 && longi==0)
	{
		lati = latp;
		longi = lngp;
	}
	
	if (site != 'recentsales' && site != 'valuation')
	{
		var sLink = link;
		addr1 = addr;
		ct1 = ct;
		st1 = st;
		zp1 = zp;
		addr1 = addr.replace(/[,]/g, " ");
		ct1 = ct1.replace(/[,]/g, " ");
		st1 = st1.replace(/[,]/g, " ");
		zp1 = zp1.replace(/[,]/g, " ");
		link = addr1+","+ct1+","+st1+","+zp1+","+prc+","+bed+","+bath+","+lati+","+longi;
	}
	else
	{
		link = rowArr.link;
	}
	
	if ( errorMessage == '' )  		 
	{
		if ( site != '' )
		{	 		      
			if ( addr != '' )
			{
				mapAddress = mapAddress+ addr +", ";
			}
			if ( ct != '' )
			{
				mapAddress = mapAddress + ct +", ";
			}
			if ( st != '' )
			{
				mapAddress = mapAddress + st +" ";
			}
			if ( zp != '' )
			{
				mapAddress = mapAddress + zp;
			}
			html = html + ct + "," + st + "," + zp + "," + lati + "," + longi + "," + addr;  // SOTHEBY CHANGES
			
			if(mapAddress.charAt(0)==",")
				mapAddress = trim(mapAddress.substr(1,mapAddress.length));

			mapAddress = trim(unescape(mapAddress));					
			if(mapAddress.charAt(mapAddress.length-1)==",")
				mapAddress = trim(mapAddress.substr(0,mapAddress.length-1));
			var imgSrcd = imgThmPath+"common/mini"+dataSource.capitalize()+"Icon.gif";
			var imgHvrd = imgThmPath+"common/mini"+dataSource.capitalize()+"Icon_h.gif";
			var picUrl = (rowArr.pictures != "")?rowArr.pictures[0].url:imgThmPath+'listing/noImageThmb.jpg';
			var imgSrc = picUrl;
			var imgHvr = picUrl;

			imgDirN = imgThmPath+"common/direction_n.gif";
			imgDirH = imgThmPath+"common/direction_h.gif";
			divId =  site+srn;
			if (rowArr.uniqueid=="city") // SOTHEBY CHANGES
			{
				count = rowArr.unitno;
				price = num2money(rowArr.price);
				if (rowArr.datasource=='nhpushpin')
					mapAddress = rowArr.address+", "+ct+" "+st;
				else
					mapAddress = rowArr.address;
					
					htmlStrBuf.append ("<div style='width:100%;*width:96%;' class='"+site+"Cls' id='div"+divId+"'><div style='width:100%;' id='"+divId+"' ><table width='100%' style='font-size:1em' border='0'><tr class='srTr' onclick='mapCenterZoomin(\""+html+"\")' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\");$(\""+divId+"\").className=\"srTrOver\"'; onmouseout='$(\""+divId+"\").className=\"srTr\"; hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\")'  style='height:45px;margin-left:2px'>");
					htmlStrBuf.append ("<td class='srTd3' style='width:15%;padding-left:3px'><img src='"+imgSrcd+"' alt=''/></td>");
					htmlStrBuf.append ("<td class='srTd2' style='width:80%;border-left:none;padding-left:10px;'><span style='font-size:12px;'><b>"+count+"</b> Properties found in "+mapAddress+"<br/>Average Price: "+price+"</span></td>");
					htmlStrBuf.append ("<td class='srTd3' style='width:5%;' align='center'>&nbsp;");
					htmlStrBuf.append ("</td></tr></table></div></div>");
			}
			else
			{
				if(mapAddress.length>45) 
					mapAddress = mapAddress.substr(0,42) + "...";
				
				var brokerInfo=""; 	    	
				if(site == "bankowned" || site=="mlsopenhomes" || site=="enhancelistings" || site=="mlsSearch" || site == "exclusivelisting" || site == "exclusivecol" || site=="jbfeaturedlistings" || site=="mercerFeaturedListing" || site=="ibrOfficeListing" || site == "mlsfeatured" || site == "reolistings" || site == "shortsale" || site == "acbVisual" || site == "acbsan" || site == "mlsCountySearch" || site == "newListing" || site == "mlsCountySearchN" ||  site == "metroOfficeListing" || site == "luxuryproperties" || site == "johnstoneofficelisting" || site == "maxbroockofficelisting" || site == "reoofficelisting" || site == "medallionhomes" || site == "rentals")
				{
					if(rowArr.comments >= 1)
						var openHome = "<td style='width:10%;' align='center'><img src=\""+imgThmPath+"common/mlsopen.gif\" /></td>";
					else
						var openHome = "<td style='width:10%;' align='center'>&nbsp;</td>";
					var brokerName = rowArr.broker;
					if ( brokerName.length > 40 )
					{
						brokerName = brokerName.substr(0,40) + '...';
					}	
					if((bkTheme=="metrobrokers" || bkTheme=="intero") && (copyright != "" && copyright.include("METROLIST")))
					{	
						if(brokerName == "")
							brokerInfo = "<img src='"+imgThmPath+"common/idx.gif' height='10px' width='24px'><span class='fadedFont' style='width:300px;'>Listing Broker not available</span>";
						else
							brokerInfo = "<img src='"+imgThmPath+"common/idx.gif' height='10px' width='24px'><span class='fadedFont' style='width:300px;'> Courtesy of "+brokerName+"<br>"+copyright+"</span>";						

					}
					else if(copyright != "" && copyright.include("Carolina Multiple Listing Services"))
					{
						brokerInfo = "<img src='/images/disclaimer/logo-cds-small.gif' height='10px' width='24px'><span class='fadedFont' style='width:300px;'> Courtesy of "+brokerName+"<br>"+copyright+"</span>";
					}
					else if( bkTheme=="intero" && copyright != "" && copyright.include("MetroList") )
					{	
						if(brokerName == "")
							brokerInfo = "<img src='/images/disclaimer/INTEROMETROLIST_SMALL.gif' height='12px' ><span class='fadedFont' style='width:300px;'>Listing Broker not available</span>";
						else
							brokerInfo = "<img src='/images/disclaimer/INTEROMETROLIST_SMALL.gif' height='12px' ><span class='fadedFont' style='width:300px;'> Courtesy of "+brokerName+"<br>"+copyright+"</span>";	
					}
					else if( bkTheme=="mercerisland" && copyright != "" && copyright.include("NWMLS") )
					{	
						if(brokerName == "")
							brokerInfo = "<img src='/images/disclaimer/NWMLS_small.gif' height='12px' ><span class='fadedFont' style='width:300px;'>Listing Broker not available</span>";
						else
							brokerInfo = "<img src='/images/disclaimer/NWMLS_small.gif' height='12px' ><span class='fadedFont' style='width:300px;'> Courtesy of "+brokerName+"<br>"+copyright+"</span>";	
					}
					else if(bkTheme=="jensenwhite" && (copyright != "" && copyright.include("RMLS"))) 
					{
						brokerInfo = "<img src='"+imgThmPath+"common/rmls.gif' height='10px' width='24px'><span class='fadedFont' style='width:300px;'>Courtesy of "+brokerName+"<br/>"+copyright+"</span>";
					}
					else if ((bkTheme == "century21mb" || bkTheme == "reotexashomes" || bkTheme == "texashomes") && (copyright != "" && copyright.include("North Texas Real Estate Information System")))
					{
						if(brokerName == "")
                                                        brokerInfo = "<img src='/wt/century21mb/images/homesite/ntreis.gif' height='10px' width='24px'><span class='fadedFont' style='width:300px;'>Listing Broker not available</span>";
                                                else
                                                        brokerInfo = "<img src='/wt/century21mb/images/homesite/ntreis.gif' height='10px' width='24px'><span class='fadedFont' style='width:300px;'> Courtesy of "+brokerName+"<br>"+copyright+"</span>";
					}
					else if(bkTheme=="emerge") 
					{
						brokerInfo = "<span class='fadedFont' style='width:300px;'><img src='/images/disclaimer/gbrarsmall.jpg' height='10px'/><br/>"+copyright+"</span>";
					}
					else	
					{
						if(brokerName == "")
							brokerInfo = "<span class='fadedFont' style='width:300px;'>Listing Broker not available<br>"+copyright+"</span>";
						else
							brokerInfo = "<span class='fadedFont' style='width:300px;'>Courtesy of "+brokerName+ "<br>"+copyright+"</span>";						
					}
					if (bkTheme=="remax")
						brokerInfo =  "<span class='fadedFont' style='width:300px;'>&nbsp;<br>"+copyright+"</span>";
				}
				else
					var openHome = "";
				
				if(site=="mlsopenhomes")
				{
					openHomes = rowArr.placeholder;
					mlsno = openHomes+"   ("+mlsno+")";
				}
				
				// NEW SOTHEBY CODE STARTS
				if(isIE)
				{
					var addToFav = "<a href='" + rowArr.link + "' target='_blank'><img id='favIcon1"+site+srn+"' src='/vendor/rolodex/Images/viewdetails.gif' align='right' style='display:none;margin-top:-16px;*position:absolute;left:365px;'/></a><img id='favIcon"+site+srn+"' src='/vendor/rolodex/Images/addtofav.gif' align='right' style='display:none;margin-top:0px;*position:absolute;left:365px;' onclick='saveHome(\"f"+srn+"\");'/>";
				}
				else
				{
					var addToFav = "<div style='position:absolute;margin-top:-28px;*margin-top:-17px;padding-right:20px;*padding-right:0px;*width:200px;'><table cellpadding='2' cellspacing='2' style='width:360px;*width:0;'><tr><td><a href='" + rowArr.link + "' target='_blank'><img id='favIcon1"+site+srn+"' src='/vendor/rolodex/Images/viewdetails.gif' align='right' style='display:none;'/></a></td></tr><tr><td><img id='favIcon"+site+srn+"' src='/vendor/rolodex/Images/addtofav.gif' align='right' style='display:none;padding-top:2px;*padding-top:1px;' onclick='saveHome(\"f"+srn+"\");'/></td></tr></table></div>";
				}
				// NEW SOTHEBY CODE ENDS

				if(rowArr.pictures != "")
					var imageToolTip = "<img id='toolTip"+site+srn+"' onmouseover='$(\"toolTip"+site+srn+"\").style.display=\"block\";' onmouseout='$(\"toolTip"+site+srn+"\").style.display=\"none\";' onclick='setHeroDiv(0,\""+grouptab+"\",\""+escape(rowArr.pictures.toJSON())+"\",\""+rowArr.link+"\");' src='../../vendor/rolodex/Images/clickPhoto.gif' height='60px' width='80px' style='display:none;position:absolute;padding-left:4px;*padding-left:0px;'/>";
				else
					var imageToolTip = "<span id='toolTip"+site+srn+"'></span>";

				if(dragzoomBitsArr.indexOf(site) == -1) 
				{
					addToFav = "<span id='favIcon"+site+srn+"'></span><span id='favIcon1"+site+srn+"'></span>";				
					imageToolTip = "<span id='toolTip"+site+srn+"'></span>";
				}

				if(isFeatured=='1')
				{
					featuredHtmlStrBuf.append("<div style='width:100%;*width:96%;padding-top:2px;' class='"+site+"Cls' id='div"+divId+"' onmouseover='$(\"favIcon"+site+srn+"\").style.display=\"block\";$(\"favIcon1"+site+srn+"\").style.display=\"block\";' onmouseout='$(\"favIcon"+site+srn+"\").style.display=\"none\";$(\"favIcon1"+site+srn+"\").style.display=\"none\";'><div style='width:100%;' id='"+divId+"' ><table width='100%' style='font-size:1em;' border='0'><tr class='srTr' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\");$(\""+divId+"\").className=\"srTrOver\";clickOnCommList(\""+divId+"\",\""+pushpinImg+"\");' onmouseout='$(\""+divId+"\").className=\"srTr\"; hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\")'  style='margin-left:2px;background-image:url("+imgThmPath+"common/list_bg.gif)'>");
					
					featuredHtmlStrBuf.append("<td class='srTd3 imgBorder' style='width:20%;padding-left:3px'>"+imageToolTip+"<img height='60px' width='80px' onmouseover='$(\"toolTip"+site+srn+"\").style.display=\"block\";' onmouseout='$(\"toolTip"+site+srn+"\").style.display=\"none\";' src='"+imgSrc+"' alt=''/></td>");
					
					
					featuredHtmlStrBuf.append("<td class='srTd2' style='width:80%;padding-left:3px' onclick='hideHeroDiv();'><table><tr>");
					featuredHtmlStrBuf.append("<td class='listPrice' style='width:110px;text-align:left;border-left:none;' >"+pri+"<br><span class='srTdSmall' >"+bedbaths+"</span></td>");
					if(site=="mlsSearch" || site == "mlsCountySearch" || site=="newListing" || site=="jbfeaturedlistings" || site=="mercerFeaturedListing" || site=="ibrOfficeListing" ||site == "mlsCountySearchN" || site == "johnstoneofficelisting" || site == "maxbroockofficelisting" || site == "reoofficelisting" || site == "medallionhomes" || site == "rentals")
						featuredHtmlStrBuf.append("<td style='width:70%;text-align:left' ><span class='listAddress'>"+mapAddress+"</span><br><span class='listAddress'>"+mlsno+"</span></td>");
					else
						featuredHtmlStrBuf.append("<td style='width:70%;text-align:left' ><span class='listAddress'>"+mapAddress+"</span><br><span class='listAddress'>"+mlsno+"</span></td>");
					featuredHtmlStrBuf.append("</tr>");
					featuredHtmlStrBuf.append("<tr><td colspan='2' style='text-align:left'><div style='height:30px;'>"+brokerInfo+addToFav+"</div></td></tr></table></td>");
					featuredHtmlStrBuf.append("</tr></table></div></div>");
					htmlStrBuf.append(featuredHtmlStrBuf.toString());
				}
				else
				{					
					htmlStrBuf.append("<div style='width:100%;*width:96%;padding-top:2px;' class='"+site+"Cls' id='div"+divId+"' onmouseover='$(\"favIcon"+site+srn+"\").style.display=\"block\";$(\"favIcon1"+site+srn+"\").style.display=\"block\";' onmouseout='$(\"favIcon"+site+srn+"\").style.display=\"none\";$(\"favIcon1"+site+srn+"\").style.display=\"none\";'><div style='width:100%;' id='"+divId+"' ><table width='100%' style='font-size:1em' border='0'><tr class='srTr' onmouseover='hoverOnCommList(\""+divId+"\",\""+pushpinImg+"\");$(\""+divId+"\").className=\"srTrOver\";clickOnCommList(\""+divId+"\",\""+pushpinImg+"\");' onmouseout='$(\""+divId+"\").className=\"srTr\"; hoverOutCommList(\""+divId+"\",\""+pushpinImg+"\")'  style='margin-left:2px'>");
					
					htmlStrBuf.append("<td class='srTd3 imgBorder' style='width:20%;padding-left:3px'>"+imageToolTip+"<img height='60px' width='80px' onmouseover='$(\"toolTip"+site+srn+"\").style.display=\"block\";' onmouseout='$(\"toolTip"+site+srn+"\").style.display=\"none\";' src='"+imgSrc+"' alt='' /></td>");
					
					htmlStrBuf.append("<td class='srTd2' style='width:80%;padding-left:3px' onclick='hideHeroDiv();'><table><tr>");
					htmlStrBuf.append("<td class='listPrice' style='width:110px;text-align:left;border-left:none;' >"+pri+"<br><span class='srTdSmall' >"+bedbaths+"</span></td>");
					if(site=="mlsSearch" || site == "mlsCountySearch" || site=="newListing" || site=="jbfeaturedlistings" || site=="mercerFeaturedListing" || site=="ibrOfficeListing" || site == "mlsCountySearchN" || site == "johnstoneofficelisting" || site == "maxbroockofficelisting" || site == "reoofficelisting" || site == "medallionhomes" || site == "rentals")
						htmlStrBuf.append("<td style='width:70%;text-align:left' ><span class='listAddress'>"+mapAddress+"</span><br><span class='listAddress'>"+mlsno+"</span></td>");
					else
						htmlStrBuf.append("<td style='width:70%;text-align:left' ><span class='listAddress'>"+mapAddress+"</span><br><span class='listAddress'>"+mlsno+"</span></td>");
					htmlStrBuf.append("</tr>");
					htmlStrBuf.append("<tr><td colspan='2' style='text-align:left'><div style='height:30px;'>"+brokerInfo+addToFav+"</div></td></tr></table></td>");
					htmlStrBuf.append("</tr></table></div></div>");
				}
			}
		}
	}
	return htmlStrBuf;
}

function hideMsgbox()
{
	if($("chkMsgbox").checked)
	{
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("msgboxCK","1",now);
	}
	$("msgboxDiv").style.top="-1000px";
	$("msgboxDiv").style.left="-1000px";
}
function setPSarray(e)
{
	alert(e.value);
	var rec = e.value;
	if(e.checked)
	{
		if(chkPSAr.in_array(rec) === false)
			chkPSAr[chkPSAr.length] = rec;
	}
	else
	{
		if(chkPSAr.in_array(rec) === false);
		else
			chkPSAr.splice(chkPSAr.in_array(rec),1);
	}
}

function hideMsgboxSignin()
{
	if($("chkMsgboxSignin").checked)
	{
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("msgboxCKSignin","1",now);
	}
	$("msgboxDivSignin").hide();
}

function hidemsgboxtutorial()
{
	if($("chkmsgboxtutorial").checked)
	{
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("msgboxtutorialcook","1",now);
	}
	$("msgboxtutorial").hide();
}

//new mapti functions
function createRoloDivs(tab)
{	
	$("limitBar").style.display = "none";
	var str = '<div id="roloMainDiv'+tab+'"  width="450px"  style="display:none;align:left">'+
	'<table  width="450px" height="450px" border=0 cellpadding=0 cellspacing=0 >'+
		'<tr>'+
			'<td align="left" width="130px" valign="top"><!-- attributes -->'+
				'<table width="100%" border=0 cellpadding=0 cellspacing=0 bgcolor="#EEEEEE">'+
					'<tr>'+
						'<td id="thumbParent'+tab+'" align="center" style="height:140px;*height:136px;vertical-align:top"><!-- thumbnail --></td>'+						
					'</tr>'+
					'<tr>'+
						'<td id="barParent'+tab+'" width="68px" height="67px" style="display:none"><!-- barchart  --></td>'+
					'</tr>'+
					'<tr>'+
						'<td id="attsParent'+tab+'" colspan=1 style="height:160px;*height:136px;vertical-align:top;"></td>'+
					'</tr>'+
					'<tr>'+
						'<td id="linksParent'+tab+'" colspan=1 height="60px" width="120px" style="alignment:center;vertical-align:top;"></td>'+
					'</tr>'+

					'<tr>'+
						'<td colspan="1" style="*padding-bottom:5px;"><img style="cursor:pointer;*cursor:hand;" src="/vendor/rolodex/Images/addBtn.gif"  onmouseover="this.src=\'/vendor/rolodex/Images/addBtnOver.gif\'"		onmouseout="this.src=\'/vendor/rolodex/Images/addBtn.gif\'" onmousedown="this.src=\'/vendor/rolodex/Images/addBtnDown.gif\'"	onclick="saveHome(curIndex);"></td>'+
					'</tr>'+
				'</table>'+
			'</td>'+
			'<td bgcolor="#FFFFFF" width="2px"><!-- border between attributes and rolodex --></td>'+
			'<td id="roloParent'+tab+'" style="width:320px;background-image:url(\''+imgThmPath+'listing/bg_repeat.gif\');background-repeat:repeat-x;" valign="top">'+
				'<div id="roloDiv'+tab+'" style="position:relative;">'+
				  '<!-- upper wedge images go here with z-index between 3 and 7 -->'+
				  '<div id="pagi'+tab+'" style="font-family:arial;font-size:12px;color:#D5D4BF;position:absolute;font-weight:bold;left:70px;top:8px;width:265px;height:20px;z-index:11">Showing Property <span id="cProp'+tab+'"> 1 </span> of <span id="totalProp'+tab+'"></span></div>'+
				  '<img id="t2Img'+tab+'" src="/vendor/rolodex/Images/trans.gif" style="position:absolute;left:33px;top:28px;width:265px;height:48px;z-index:5">'+
				  '<img id="t1Img'+tab+'" src="/vendor/rolodex/Images/trans.gif" style="position:absolute;left:30px;top:60px;width:270px;height:50px;z-index:6">'+
				  '<!-- the lower wedges go here -->'+
				  '<img id="b1Img'+tab+'" src="/vendor/rolodex/Images/trans.gif" style="position:absolute;left:30px;top:60px;width:270px;height:50px;z-index:6">'+
				  '<img id="b2Img'+tab+'" src="/vendor/rolodex/Images/trans.gif" style="position:absolute;left:33px;top:28px;width:265px;height:48px;z-index:5">'+
				  '<div id="heroDiv'+tab+'" style="background-image:url(\'/vendor/rolodex/Images/heroFrame.png\');background-repeat:no-repeat;position:absolute;width:270px;height:205px;left:10px;top:122px;z-index:10;">'+
					   '<img id="heroImg'+tab+'" src="/vendor/rolodex/Images/hero.jpg" style="position:absolute;left:5px;top:10px;width:260px;height:190px;z-index:10">'+
					   '<div id="altLeftImg'+tab+'" style="background-image:url(\'/vendor/rolodex/Images/roloLtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:20px;top:172px;width:30px;height:30px;z-index:15;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloLtBtn.png\', sizingMethod=\'scale\');"	onclick="displayAltImg(\'prev\')"></div>'+
					   '<div id="altRightImg'+tab+'"  style="background-image:url(\'/vendor/rolodex/Images/roloRtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;right:18px;top:172px;width:30px;height:30px;z-index:15;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloRtBtn.png\', sizingMethod=\'scale\');"	onclick="displayAltImg(\'next\')"></div>'+
				       '<a id="roloDetailImg'+tab+'" style="background-image:url(\'/vendor/rolodex/Images/roloInfoBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:96px;top:177px;width:75px;height:19px;z-index:15;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloInfoBtn.png\', sizingMethod=\'scale\');" href="#" target="_blank"></a>'+
				 '</div>'+
                  '<div id="roloMaskUpper'+tab+'"  style="background-image:url(\''+imgThmPath+'listing/roloBG2.png\');background-repeat:no-repeat;*background-image:none;position:absolute;left:0;top:5px;*top:0px;width:317px;*width:318px;height:395px;*height:388px;z-index:9;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+imgThmPath+'listing/roloBG2.png\', sizingMethod=\'scale\');"></div>'+
				  '<!-- next and previous button images go here with z-index = 11 -->'+
				  '<div id="roloPrevBtn'+tab+'" style="background-image:url(\'/vendor/rolodex/Images/roloScrollPrev.png\');background-repeat:no-repeat;*background-image:none;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloScrollPrev.png\', sizingMethod=\'scale\');cursor:pointer;*cursor:hand;position:absolute;left:280px;top:20px;width:42px;height:42px;z-index:11" onclick="scrollRolo(\'up\')"></div>'+
				  '<div id="roloNextBtn'+tab+'" style="background-image:url(\'/vendor/rolodex/Images/roloScrollNext.png\');background-repeat:no-repeat;*background-image:none;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloScrollNext.png\', sizingMethod=\'scale\');cursor:pointer;*cursor:hand;position:absolute;left:280px;top:350px;width:42px;height:42px;z-index:11" onclick="scrollRolo(\'down\')"></div>'+
				  '<div id="vertBGDiv'+tab+'" name="vertBGDiv'+tab+'" style="height:273px;width:20px;z-index:12;cursor:pointer;*cursor:hand;position:absolute;left:290px;top:70px;background:transparent url(/vendor/rolodex/Images/vertBg.gif) no-repeat scroll 0%" onkeypress="YAHOO.util.Event.preventDefault(YAHOO.util.Event.getEvent(event))" >'+
					'<div id="vertHandleDiv'+tab+'" style="position:relative;background-image:url(\'/vendor/rolodex/Images/vertSlider.png\');background-repeat:no-repeat;*background-image:none;height:18px;width:28px;left:-5px;top:2px;text-align:center;vertical-align: middle;padding-top:2px;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/vertSlider.png\', sizingMethod=\'scale\');"></div>'+
					'<div id="vertTooltipDiv'+tab+'" style="position:absolute;left:-105px;z-index:11;display:none;background-image:url(\'/vendor/rolodex/Images/vtooltip.png\');background-repeat:no-repeat;*background-image:none;height:36px;width:97px;text-align:center;vertical-align: middle;padding-top:2px;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/vtooltip.png\', sizingMethod=\'scale\');"></div>'+
				'</div>'+
			'</div>'+

			'<!-- rolodex --></td>'+
		'</tr>'+
		'<tr>'+
			'<td colspan="3" bgcolor="#FFFFFF" height="5px" width="450px"><!-- border below rolodex --></td>'+
		'</tr>'+
 '</table>'+
'</div>';

	var myDiv = document.createElement("div");
	myDiv.innerHTML = str;
	document.body.appendChild(myDiv);
	initRolo(tab);
}

function switchView(view,grp)
{
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	setCookie("pv",view,now);
	hideHeroDiv();
	var j=0;	
	var group;
	if(grp == "undefined" || grp == null)
	{
		while(srTabs.getTab(j))
		{
			if(srTabs.getTab(j).get("active"))
			{	
				group = (srTabs.getTab(j).get("label")).gsub(" ","");
				break;
			}
			j = j+1;
		}
	}
	else
		group = grp;

	eval("var Arr = " + group + ";");
	if(Arr[0].uniqueid == "city" || dragzoomBitsArr.indexOf(Arr[0].sourcename) == -1) 
	{
		view = 1; 
		$("propViewDiv").style.display = "none";
	}
	else
		$("propViewDiv").style.display = "block";

	if(view==1) // NEW SOTHEBY MODIFIED
	{
		propView = 1;
		$("imgListview").style.display="none";
		$("imgPicview").style.display="inline";
		if(pagiBlock100BitsArr.indexOf(Arr[0].sourcename) != -1 || Arr[0].sourcename == "mlsCountySearchNH")
		{
			var src = Arr[0].sourcename;			
	
			if(src == "mlsCountySearch" && Arr[0].groupname == "Properties")
			{
				//DO NOTHING			
			}
			else if(src == "mlsCountySearch")
				src = "mlsHomesMode";
			else if(src == "mlsCountySearchNH")
				src = "mlsNHoodMode";

			resetPropListing(src,group,paginationHash[group],Arr[0].totalcount);
		}
		else
			addPropListing(Arr);
	}
	else
	{
		propView = 2;
		var sIndex = ((paginationHash[group]-1)%modVal)*pagiBlockList + ((Arr[0].pno-1)*blockSize100);
		sIndex = (curIndexHash[group]==null)?sIndex:parseInt(curIndexHash[group]);
		$("imgListview").style.display="inline";
		$("imgPicview").style.display="none";
		if($("roloMainDiv"+group))
		{
			while ($(group+"ListDiv").hasChildNodes())
			  $(group+"ListDiv").removeChild($(group+"ListDiv").firstChild);
		}
			createRoloDivs(group);	
			loadRolo(Arr,sIndex,group);
	}

}

function setHeroDiv(imgIndex,tab,pics,link)
{
	var tab = tab.gsub(" ","");
	if($("propHeroDiv")==null || $("propHeroDiv")=="undefined")
	{
		var propHeroDiv = document.createElement("div");
		propHeroDiv.id = "propHeroDiv";
		document.body.appendChild(propHeroDiv);

	}
	$("propHeroDiv").setStyle({position:'absolute',zIndex:'11',display:'none',backgroundImage:'url(/vendor/rolodex/Images/heroFrame.png)',backgroundRepeat:'no-repeat',height:'205px',width:'270px'});
	$("propHeroDiv").style.top = (parseInt(getPositionTop($(tab+"ListDiv"))) + 110)+"px";
	$("propHeroDiv").style.left = (parseInt(getPositionLeft($(tab+"ListDiv"))) + 110)+"px";

	eval('var picArr = '+unescape(pics)+';');

	var htmlStr = new StringBuffer();
	if(picArr ==  "")
	{
		var image = "http://"+window.location.hostname+"/wt/"+bkTheme+"/images/listing/noImageThmbBig.jpg";
		htmlStr.append('<img src="'+image+'" height="185" width="250" style="position:absolute;top:10px;left:10px"/>');
		htmlStr.append('<div class="imgPointer" onclick="hideHeroDiv();" style="background-image:url(\'/vendor/rolodex/Images/savedDelBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:240px;top:12px;width:20px;height:20px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/savedDelBtn.png\', sizingMethod=\'scale\');"/></div>');
		htmlStr.append('<a id="roloDetailImg" style="background-image:url(\'/vendor/rolodex/Images/roloInfoBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:96px;top:177px;width:75px;height:19px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloInfoBtn.png\', sizingMethod=\'scale\');" href="'+link+'" target="_blank"></a>');
	}
	else if(imgIndex == 0)
	{
		if(imgIndex == (picArr.length-1))
		{	
			//var image = "http://"+location.hostname+"/vendor/thumb/thumb.php?src="+unescape(picArr[imgIndex].url)+"&x=250&y=190";
			var image = unescape(picArr[imgIndex].url);
			htmlStr.append('<img width="250" height="185" src="'+image+'" style="position:absolute;top:10px;left:10px"/>');
			htmlStr.append('<div class="imgPointer" onclick="javascript:alert(\'No additional photos are available for this property\');" style="background-image:url(\'/vendor/rolodex/Images/roloLtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:20px;top:172px;width:30px;height:30px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloLtBtn.png\', sizingMethod=\'scale\');"	/></div>');
			htmlStr.append('<div class="imgPointer" onclick="javascript:alert(\'No additional photos are available for this property\');" style="background-image:url(\'/vendor/rolodex/Images/roloRtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;right:18px;top:172px;width:30px;height:30px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloRtBtn.png\', sizingMethod=\'scale\');"/></div>');
			htmlStr.append('<div class="imgPointer" onclick="hideHeroDiv();" style="background-image:url(\'/vendor/rolodex/Images/savedDelBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:240px;top:12px;width:20px;height:20px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/savedDelBtn.png\', sizingMethod=\'scale\');"/></div>');	
			htmlStr.append('<a id="roloDetailImg" style="background-image:url(\'/vendor/rolodex/Images/roloInfoBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:96px;top:177px;width:75px;height:19px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloInfoBtn.png\', sizingMethod=\'scale\');" href="'+link+'" target="_blank"></a>');
		}
		else
		{
			//var image = "http://"+location.hostname+"/vendor/thumb/thumb.php?src="+unescape(picArr[0].url)+"&x=250&y=190";
			var image = unescape(picArr[0].url);
			htmlStr.append('<img width="250" height="185" src="'+image+'" style="position:absolute;top:10px;left:10px"/>');
			htmlStr.append('<div class="imgPointer" onclick="setHeroDiv('+(picArr.length-1)+',\''+tab+'\',\''+pics+'\',\''+link+'\')" style="background-image:url(\'/vendor/rolodex/Images/roloLtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:20px;top:172px;width:30px;height:30px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloLtBtn.png\', sizingMethod=\'scale\');"	/></div>');
			htmlStr.append('<div class="imgPointer" onclick="setHeroDiv('+(imgIndex+1)+',\''+tab+'\',\''+pics+'\',\''+link+'\')" style="background-image:url(\'/vendor/rolodex/Images/roloRtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;right:18px;top:172px;width:30px;height:30px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloRtBtn.png\', sizingMethod=\'scale\');"/></div>');
			htmlStr.append('<div class="imgPointer" onclick="hideHeroDiv();" style="background-image:url(\'/vendor/rolodex/Images/savedDelBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:240px;top:12px;width:20px;height:20px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/savedDelBtn.png\', sizingMethod=\'scale\');"/></div>');
			htmlStr.append('<a id="roloDetailImg" style="background-image:url(\'/vendor/rolodex/Images/roloInfoBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:96px;top:177px;width:75px;height:19px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloInfoBtn.png\', sizingMethod=\'scale\');" href="'+link+'" target="_blank"></div>');
		}
	}
	else if(imgIndex == (picArr.length-1))
	{
		//var image = "http://"+location.hostname+"/vendor/thumb/thumb.php?src="+unescape(picArr[imgIndex].url)+"&x=250&y=190";
		var image = unescape(picArr[imgIndex].url);
		htmlStr.append('<img width="250" height="185" src="'+image+'" style="position:absolute;top:10px;left:10px"/>');
		htmlStr.append('<div class="imgPointer" onclick="setHeroDiv('+(imgIndex-1)+',\''+tab+'\',\''+pics+'\',\''+link+'\')" style="background-image:url(\'/vendor/rolodex/Images/roloLtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:20px;top:172px;width:30px;height:30px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloLtBtn.png\', sizingMethod=\'scale\');"	/></div>');
		htmlStr.append('<div class="imgPointer" onclick="setHeroDiv(0,\''+tab+'\',\''+pics+'\',\''+link+'\')" style="background-image:url(\'/vendor/rolodex/Images/roloRtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;right:18px;top:172px;width:30px;height:30px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloRtBtn.png\', sizingMethod=\'scale\');"/></div>');
		htmlStr.append('<div class="imgPointer" onclick="hideHeroDiv();" style="background-image:url(\'/vendor/rolodex/Images/savedDelBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:240px;top:12px;width:20px;height:20px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/savedDelBtn.png\', sizingMethod=\'scale\');"/></div>');	
		htmlStr.append('<a id="roloDetailImg" style="background-image:url(\'/vendor/rolodex/Images/roloInfoBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:96px;top:177px;width:75px;height:19px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloInfoBtn.png\', sizingMethod=\'scale\');" href="'+link+'" target="_blank"></a>');
	}
	else
	{
		//var image = "http://"+location.hostname+"/vendor/thumb/thumb.php?src="+unescape(picArr[imgIndex].url)+"&x=250&y=190";
		var image = unescape(picArr[imgIndex].url);
		htmlStr.append('<img width="250" height="185" src="'+image+'" style="position:absolute;top:10px;left:10px"/>');
		htmlStr.append('<div class="imgPointer" onclick="setHeroDiv('+(imgIndex-1)+',\''+tab+'\',\''+pics+'\',\''+link+'\')" style="background-image:url(\'/vendor/rolodex/Images/roloLtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:20px;top:172px;width:30px;height:30px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloLtBtn.png\', sizingMethod=\'scale\');"	/></div>');
		htmlStr.append('<div class="imgPointer" onclick="setHeroDiv('+(imgIndex+1)+',\''+tab+'\',\''+pics+'\',\''+link+'\')" style="background-image:url(\'/vendor/rolodex/Images/roloRtBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;right:18px;top:172px;width:30px;height:30px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloRtBtn.png\', sizingMethod=\'scale\');"/></div>');
		htmlStr.append('<div class="imgPointer" onclick="hideHeroDiv();" style="background-image:url(\'/vendor/rolodex/Images/savedDelBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:240px;top:12px;width:20px;height:20px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/savedDelBtn.png\', sizingMethod=\'scale\');"/></div>');
		htmlStr.append('<a id="roloDetailImg" style="background-image:url(\'/vendor/rolodex/Images/roloInfoBtn.png\');background-repeat:no-repeat;*background-image:none;cursor:pointer;*cursor:hand;position:absolute;left:96px;top:177px;width:75px;height:19px;z-index:11;*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/vendor/rolodex/Images/roloInfoBtn.png\', sizingMethod=\'scale\');" href="'+link+'" target="_blank"></a>');
	}
	$("propHeroDiv").style.display="";
	$("propHeroDiv").innerHTML = htmlStr.toString();
}
function hideHeroDiv()
{
	if($("propHeroDiv")) $("propHeroDiv").style.display="none";
}
function viewDetails(link)
{
	window.open(link,"_blank");
}
function closeMapBit(bitName)
{
	mapItCtrl.removeIcon_(mapItCtrl.getContainer_(),bitName);	
	var group = myBitzGroup[bitName];
	if (group != "")
	{
		if(eval("typeof(" + group + ");") == "undefined")
		{
			myBitzGroup.remove(bitName);
			return;
		}
	}
	else
	{
		myBitzGroup.remove(bitName);
		return;
	}

	eval("var myDataLen = "+group+".length;");
	removeCommPushpins(bitName, myDataLen);
	if (!isSinglePropertyLandingView)
		setMapItCookie(bitName,"del");
	myBitzGroup.remove(bitName);
	var bitType = myHash[group];
	if(bitType=="P")removeListing(bitName,bitType,myDataLen,group);
	else if(bitType=="C")removeListing(bitName,bitType,myDataLen,group);
	else if(bitType=="X")removeListing(bitName,bitType,myDataLen,group);
	var delGroup = "";
	var actTab = "";
	var j=0;
	while(srTabs.getTab(j))
	{
		if(srTabs.getTab(j).get("active"))
		{
			actTab = (srTabs.getTab(j).get("label")).gsub(" ","");
			break;
		}
		j = j+1;
	}
	if(group == actTab)
	{
		if(paginationBitsArr.indexOf(bitName) == -1)
		{
			eval("var arr = "+group+";");
			if(isArray(arr) && arr.length>0)
			$("limitBar").innerHTML = '<table valign="middle"><tr><td class="lang paginatinText">'+ arr.length +' most relevant records</td></tr></table>';
		}
	}
}

//function mapCenterZoomin(lat,lng)
function mapCenterZoomin(html)
{	
	
	disableAutozoom = false; // SOTHEBY	
	var innr = html.split(",");

	// SOTHEBY CODE STARTS
	if(currpushpin == "city")
	{
		changeMapListeners("remove");
		map.setCenter(new GLatLng(parseFloat(innr[4]),parseFloat(innr[5])), parseInt(cityzoom)+1);	
		disableAutozoom = true;	
		changeMapListeners("add");		
	}
	else if(currpushpin == "neighborhood" || (typeof(currpushpin.split("|")[0]) != "undefined" && currpushpin.split("|")[0] == "neighborhood"))
	{
		changeMapListeners("remove");
		map.setCenter(new GLatLng(parseFloat(innr[4]),parseFloat(innr[5])), parseInt(listingzoom));		
		disableAutozoom = true;		
		changeMapListeners("add");
	}

	var j=0;
        while(srTabs.getTab(j))
        {
                if(srTabs.getTab(j).get("active"))
                {
                        break;
                }
                j = j+1;
        }
        group = (srTabs.getTab(j).get("label")).gsub(" ","");

	if(paginationHash['Homes'] != "undefined")
		paginationHash['Homes']=1;

	var srtBy = "";
	if(mySbarHash[group] == 0)
		srtBy ="p";
	else if(mySbarHash[group] == 1)
		srtBy ="br";
	else if(mySbarHash[group] == 2)
		srtBy ="ba";
	else
		srtBy ="p";

	if(myUdHash[group] == 0)
		srtBy +="l";
	else if(myUdHash[group] == 1)
		srtBy +="h";
	else
		srtBy +="h";
	//alert(srtBy);
	setMapItCookie("mlsHomesMode","add");
	
	loadBit('mlsHomesMode',1,srtBy,'',html);	
	return;   
	
}


/* NEW FUNCTIONS */

function showImageTooltip (imgObj)
{
	var top = getPositionTop(imgObj);
	var left = getPositionLeft(imgObj);

	if(!document.getElementById("divImageTooltip"))
	{
		document.body.appendChild(divImageTooltip);
	}
	divImageTooltip.style.left = left + "px";
	divImageTooltip.style.top = top + "px";
	divImageTooltip.style.display = "block";
}

function hideImageTooltip (imgObj)
{
        if(!document.getElementById("divImageTooltip"))
                document.body.appendChild(divImageTooltip);

	divImageTooltip.style.display = "none";
}

function changeMapListeners(type)
{
	if(type == "add" && mapListnerAdded == 0)
	{
		mylist1 = GEvent.addListener(map,"movestart",function(){mapChangeStart();});
		mylist2 = GEvent.addListener(map,"zoomend",function(){mapZoomChange();});
		mylist3 = GEvent.addListener(map,"moveend",function(){reloadMapChange();});
		mapListnerAdded = 1;
	}
	else if(type == "remove" && mapListnerAdded == 1)
	{
		GEvent.removeListener(mylist1);
		GEvent.removeListener(mylist2);
		GEvent.removeListener(mylist3);
		mapListnerAdded = 0;
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id)
{
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
	if (opacity==0)
	{
		$('locationinfo').style.display="none";
		clearAllTime();
	}
}

function clearAllTime()
{
	for(var i=0;i<t.length;i++)
		clearTimeout(t[i]);
	t = new Array();
	globalTimer = 0;
}

function opacity(id, opacStart, opacEnd, millisec)
{
	$(id).style.display = "block";

	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd)
	{
		for(i = opacStart; i >= opacEnd; i--)
		{
			var temp_ = setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			t.push(temp_);
			timer++;
			globalTimer = timer;
			timer++;
		}
	}
	else if(opacStart < opacEnd)
	{
		for(i = opacStart; i <= opacEnd; i++)
		{
			var temp_ = setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			t.push(temp_);
			timer++;
			globalTimer = timer;
		}
	}
}

function showlocationinfo(msg,delayMsg,delay,fade)
{
	if (typeof(msg)!='undefined' && msg!='')
		$('searchCriteria').innerHTML = msg;
}

function removeFrTabs()
{
	var grp = "";
	var j = 0;
	while(srTabs.getTab(j))
	{
		if((srTabs.getTab(j).get("label")).gsub(" ","") == 'Local')
		{				
			myHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));
			mySbarHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));
			myUdHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));		
			groupSiteHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));		
			paginationHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));

			myBitzGroup.each(function(pair){
				if(pair.value == 'Local')
				{
					removeCommPushpins(pair.key, Local.length);
					myBitzGroup.remove(pair.key);
				}
			});

			srTabs.removeTab(srTabs.getTab(j));
			Local = null;
		}

		if((srTabs.getTab(j).get("label")).gsub(" ","") == 'Education')
		{				
			myHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));
			mySbarHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));
			myUdHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));		
			groupSiteHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));		
			paginationHash.remove((srTabs.getTab(j).get("label")).gsub(" ",""));

			myBitzGroup.each(function(pair){
				if(pair.value == 'Education')
				{
					removeCommPushpins(pair.key, Education.length);
					myBitzGroup.remove(pair.key);
				}
			});

			srTabs.removeTab(srTabs.getTab(j));
			Education = null;
		}
		j = j+1;		
	}			
}


/*scheduleView.js*/

var leadEmailDlg = '';
// get the url and separate out the parameters with value
// created by anil... for lead creation and identifying whether from agentside or not
function getURLParam(strParamName)
{
	var strReturn = "";
	var strHref = window.location.href;
	if(strHref.indexOf("?") > -1 )
	{
		var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
		var aQueryString = strQueryString.split("&");
		for(var iParam = 0; iParam < aQueryString.length; iParam++ )
		{
			if(aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 )
			{
				var aParam = aQueryString[iParam].split("=");
				strReturn = aParam[1];
				break;
			}	
		}
	}
	return unescape(strReturn);
} 

function showLeadPopup(address,sourceLink,mlsno,datasource,schViewId)
{	
	var openSignInDlgBox=true;
	var qs = new Querystring();
	if(qs.get("frm") != null && qs.get("aid") != null) 
		openSignInDlgBox = false;
	else if(qs.get("frm") != null && qs.get("ouid") != null)
		openSignInDlgBox = false;

	if(openSignInDlgBox && typeof(schViewSignIn) != "undefined" && schViewSignIn == "1" && (typeof(uid) == "undefined" || uid == "" || uid == null))
	{
		if($('favRow')) $('favRow').hide();
		if($('signInRow')) $('signInRow').show();
		var url = '/app/feed/processFavourite.php';
		ajaxRequest(url,'action=chksignin',function resChkSignin(originalRequest){
		var res = originalRequest.responseText;
		if(res==0)
		{		
			if(typeof(SignInDlg) == "string" || typeof(SignInDlg) == "undefined" || SignInDlg == null)
				$('divSignInFrm').style.display='';
			SignInDlg = createDialog('divSignInFrm');

			SignInDlg.beforeHideEvent.subscribe(beforeHideSignInFrm, this);
			SignInDlg.beforeShowEvent.subscribe(beforeShowSignInFrm, this);
			$('divSignInFrm').style.dispaly = 'block';
			$('userName').value = "";
			$('userPwd').value = "";
			$('userName').className="textbox";
			$('userPwd').className="textbox";
			$('errSysLogin').innerHTML="&nbsp;";

			if($("fromWhere")) $("fromWhere").value = "schView";
			if($("schViewId")) $("schViewId").value = schViewId;
			var qs = new Querystring();
			if(qs.get("frm") != null && qs.get("aid") != null)
				$("signInRoloLnk").href += "?agd="+trim(qs.get("aid"));
			else if(qs.get("frm") != null && qs.get("ouid") != null)
				$("signInRoloLnk").href += "?frm=frch&ouid="+trim(qs.get("ouid"));
						
			if($('divSignInFrm')) $('divSignInFrm').parentNode.style.zIndex = 12;
			SignInDlg.show();			
			$('userName').focus();			
		}
		else
		{
				setHeader();				
		}
		});
		return;
	}
	if($('divLocalSearch')){$('divLocalSearch').style.display='none';}
	var frm = getURLParam('frm');
	var aid = getURLParam('aid');
	if(typeof(frmAgtSite) != "undefined" && frmAgtSite == "1") frm = "agt";
	if(typeof(frmAgtUid) != "undefined" && frmAgtUid != "") { aid = frmAgtUid;}
	var prefix = mlsno.substring(0,3);
	if (bkTheme == "raveis")
	{
		var scheduleRaveisUrl="/ws/po/template/scheduleViewRaveis.php?address="+escape(address)+"&mlsno="+mlsno+"&showno="+mlsno;
		if(trim(aid) != '')
			scheduleRaveisUrl+="&agentid="+aid;
		scheduleRaveisUrl+="&from=smartwindow";
		scheduleRaveisUrl+="&sourceLink="+escape(sourceLink);
		window.open(scheduleRaveisUrl,'','height=570,width=500,left=0,top=0',void(''));
	}
	else if (bkTheme == "garygreene")
	{
		
		var scheduleRaveisUrl="/ws/po/template/scheduleViewGarygreene.php?address="+escape(address)+"&mlsno="+mlsno+"&showno="+mlsno;
		if(trim(aid) != '')
			scheduleRaveisUrl+="&agentid="+aid+"&frm="+frm;
		scheduleRaveisUrl+="&from=smartwindow";
		scheduleRaveisUrl+="&sourceLink="+escape(sourceLink);
		window.open(scheduleRaveisUrl,'','height=570,width=500,left=0,top=0',void(''));
	}
	else
	{
		if(typeof(leadEmailDlg) == 'string')
		{
			var url = '/app/listing/getSchViewPopup.php';
			//anil...
			if(prefix == "TID" ||  prefix == "PKT" || prefix == "ENH")	var qs = 'mort=' + prefix + '&mlsno=' + mlsno.substr(3) + "&frm=" + frm + "&aid=" + aid;
			else	var qs = 'mort=' + prefix + '&mlsno=' + mlsno + "&frm=" + frm + "&aid=" + aid + "&datasource="+datasource;			
			//alert(qs);
			var cbfnShowLeadPopup = function(reqObj)
			{
				var response = trim(reqObj.responseText);
				$('leadPopup').innerHTML = response;
				leadEmailDlg = createDialog('leadPopup');
			}
			ajaxRequest(url,qs,cbfnShowLeadPopup,false);
		}
		var addressNew = address.split(",");
		var addr = '';
		if(trim(addressNew[0])!=''){addr = addressNew[0];}
		if(trim(addressNew[1])!='')
		{
			if(addr == '')
				addr = addressNew[1];
			else
				addr = addr +","+addressNew[1];
		}
		if(trim(addressNew[2])!=''){addr = addr +","+addressNew[2];}
		if(trim(addressNew[3])!=''){addr = addr +","+addressNew[3];}
		$('errLead').innerHTML = "&nbsp;";
		enableAll();
		if($("aid"))
		{
			$("aid").value = aid;
		}
		$('propAddress').innerHTML =  unescape(addr);
		$('propFullAddress').innerHTML = unescape(address);
		$('completedMsg').style.display = 'none';
		$('completedMsg').innerHTML = 'Processing...........<img src = "'+imgThmPath+'common/loaderLogin.gif"/>';
		schviewClearAll();
		
		if(mlsno!='' &&  mlsno!='undefined')
		{
			$('propMlsNo').style.display = '';
			var startmls=mlsno.substring(0,3);
			if ( startmls == "TID" ||  startmls == "PKT" || startmls == "ENH")
			{
				var tid = mlsno.substr(3);
				$("hdnDiv").innerHTML="PKT";
				$("hdnOrgSource").innerHTML="PKT";
				$("propMLSlabel").style.display="";
				$("propMLSlabel").innerHTML="Terabitz Id&nbsp;:&nbsp;&nbsp;";
				$('propMlsNo').innerHTML = tid;
			}
			else
			{
				$("hdnDiv").innerHTML="MLS";
				$("hdnOrgSource").innerHTML = "MLS";
				$("propMLSlabel").style.display="";
				$("propMLSlabel").innerHTML="MLS ID&nbsp;:&nbsp;&nbsp;";
				$('propMlsNo').innerHTML = mlsno;
			}
			if($('hdnOrgTid'))
				$('hdnOrgTid').innerHTML = tid;
		}
		$('propSourceLink').value = sourceLink;
		leadEmailDlg.beforeHideEvent.subscribe(beforeHideLead, this);
		leadEmailDlg.beforeShowEvent.subscribe(beforeShowLead, this);
		$('leadPopup').style.display = 'block';
		$('leadPopup').parentNode.style.zIndex = 1000;
		if($('leadPopup_c')) $('leadPopup_c').style.zIndex='27';
		if($('leadPopup_mask')) $('leadPopup_mask').style.zIndex='26';
		if($('leadPopup')) $('leadPopup').style.zIndex='25';
		leadEmailDlg.show();
	}
}

function doNothing()
{	
}
function checkRadioType(id,val,divName)
{
	$(id).value=val;
	if($(id).value=='Y')
		 $(divName).style.display = "inline";
	else
		{
		 $(divName).style.display = "none";
		 errExists=$('errLead').innerHTML.indexOf('your realtor');
		 if(errExists != -1)
			{
			 $('txtRealtorName').className = 'textboxBlue';
    		 $('errLead').innerHTML = "&nbsp;";
			}
		}

}
function setTxtBoxFromDD(ddId,txtId)
{
	$(txtId).value=$(ddId).value;
	$(txtId).className='textboxBlue';
	$('errLead').innerHTML = '';

}


function responseLeadEmail(originalRequest)
{
	var response = originalRequest.responseText;
	if(response)
	{
		$('completedMsg').innerHTML = '<span class="moduleLableText" style="color:gray;">Your request has been submitted! </span>';
		//$('completedMsg').innerHTML = '<span class="errorMsg">Your request has been submitted! </span><span onclick="leadEmailDlg.hide();" class="errorMsg crsr">[close]</span>';
		schviewClearAll();
		disableAll();
		if(leadEmailDlg)
			setTimeout(function hideLeadPopup(){leadEmailDlg.hide();},5000);
		else
			setTimeout("window.close()",3000); 
	}
	else
		alert("Sorry !! Please try again later.");
}

function schviewClearAll()
{
		//$('txtfinemail1').value = '';
		//$('txtfinfname1').value = '';
		//$('txtfinlname1').value = '';
		//$('txtfinphone1').value = '';
		if($('txtRealtorName'))
			$('txtRealtorName').value='';
		//$('txtfinemail1').value = '';
		$('txtfinemail1').className = 'textboxBlue';
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinlname1').className = 'textboxBlue';
		$('txtfinphone1').className = 'textboxBlue';
		if($('txtRealtorName'))
			$('txtRealtorName').className = 'textboxBlue';
		if($('selectRealtor'))
			$('selectRealtor').selectedIndex='0';
		$('txtreach').value = '';
		//$('schView').value = '';
		$('suggesteddaytime1').value = '';
		$('suggesteddaytime2').value = '';
		$('suggesteddaytime3').value = '';
		$('txtFeedback').value = '';
		$('propSourceLink').value = '';
}
function disableAll()
{
	$('txtfinfname1').disabled="true";
	$('txtfinlname1').disabled="true";
	$('txtfinphone1').disabled="true";
	$('txtfinemail1').disabled="true";
	$('txtreach').disabled="true";
	//$('schView').disabled="true";
	$('suggesteddaytime1').disabled="true";
	$('suggesteddaytime2').disabled="true";
	$('suggesteddaytime3').disabled="true";
	$('txtFeedback').disabled="true";
}
function enableAll()
{
	$('txtfinfname1').disabled=false;
	$('txtfinlname1').disabled=false;
	$('txtfinphone1').disabled=false;
	$('txtfinemail1').disabled=false;
	$('txtreach').disabled=false;
	//$('schView').disabled=false;
	$('suggesteddaytime1').disabled=false;
	$('suggesteddaytime2').disabled=false;
	$('suggesteddaytime3').disabled=false;
	$('txtFeedback').disabled=false;
}
	
function beforeHideLead()
{
	$('leadPopup').style.display = 'none';
	var myCombox = document.getElementsByTagName("select"); 
	var lengthMyCombox = myCombox.length; 
	for(var i=0;i<lengthMyCombox;i++)
		{myCombox[i].style.visibility = "visible";}
	if ($('imgViewRequestSend').style.display == "none")
		$('imgViewRequestSend').style.display = "block";
}
function beforeShowLead()
{
	$('leadPopup').style.display = 'block';
}
function funLoadDatePicker(datepickerNo,fieldName,imgName)
{
	if(Calendar==null)
	{
		return;
	}
	else
	{
		if(datepickerNo == 1);
		{
			Calendar.setup({inputField:fieldName, button:imgName ,align: "Tr",showsTime:true,timeFormat:"12",ifFormat:'%d-%b-%Y %l:%M %p'});
		}
	}
}

function responseLeadEmailMoreInfo(originalRequest)
{
	var response = originalRequest.responseText;
	if(response)
	{
		$('completedMsg').innerHTML = '<span class="moduleLableText" style="color:gray;">Your request has been submitted! </span>';
		MoreInfoClearAll();
		disableAllMoreInfo();
		setTimeout("window.close()",3000);
	}
	else
		alert("Sorry !! Please try again later.");
}


function MoreInfoClearAll()
{
		$('txtfname').value = '';
		$('txtfname').className = 'textboxBlue';
		$('txtlname').value = '';
		$('txtlname').className = 'textboxBlue';
		$('txtemail').value = '';
		$('txtemail').className = 'textboxBlue';
		$('txtWorkingWithAgent').value = '';
		$('txtWorkingWithAgent').className = 'textboxBlue';
		$('txtMLSNo').value = '';
		$('txtMLSNo').className = 'textboxBlue';
		$('txtReferenceAddress').value = '';
		$('txtReferenceAddress').className = 'textboxBlue';
		$('txtPropertyType').value = '';
		$('txtPropertyType').className = 'textboxBlue';
		$('txtPriceFrom').value = '';
		$('txtPriceFrom').className = 'textboxBlue';
		$('txtPriceTo').value = '';
		$('txtPriceTo').className = 'textboxBlue';
		$('txtBeds').value = '';
		$('txtBeds').className = 'textboxBlue';
		$('txtBaths').value = '';
		$('txtBaths').className = 'textboxBlue';
		$('txtSqft').value = '';
		$('txtSqft').className = 'textboxBlue';
		$('txtFeedback').value = '';
		$('txtFeedback').className = 'textboxBlue';
		$('txtPhone').value = '';
		$('txtPhone').className = 'textboxBlue';
		$('txtAddress').value = '';
		$('txtAddress').className = 'textboxBlue';
		$('txtCity').value = '';
		$('txtCity').className = 'textboxBlue';
		$('cmbState').value = "";
		$('cmbState').className = 'textboxBlue';
		$('txtZip').value = '';
		$('txtZip').className = 'textboxBlue';
		$('inputLookingToBuy').value = '';
		if($('lookingToBuy'))
		{
			$('lookingToBuy').value='';
		}
}
function disableAllMoreInfo()
{		
		$('txtfname').disabled = true;
		$('txtlname').disabled = true;
		$('txtemail').disabled = true;
		$('txtWorkingWithAgent').disabled = true;
		$('txtMLSNo').disabled = true;
		$('txtReferenceAddress').disabled = true;
		$('txtPropertyType').disabled = true;
		$('txtPriceFrom').disabled = true;
		$('txtPriceTo').disabled = true;
		$('txtBeds').disabled = true;
		$('txtBaths').disabled = true;
		$('txtSqft').disabled = true;
		$('txtFeedback').disabled = true;
		$('txtPhone').disabled = true;
		$('txtAddress').disabled = true;
		$('txtCity').disabled = true;
		$('cmbState').disabled = true;
		$('txtZip').disabled = true;
		$('inputLookingToBuy').disabled = true;
}
/*Function for Free Brochure of BHI Homesite*/
function sendBrochureEmail()
{
	var validateFlag=0;
	if(!isBlank('txtFname',"your first name."))
	{
		$('txtFname').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtFname').className = 'textboxBlue';
	}
	if(!isBlank('txtLname',"your last name."))
	{
		$('txtLname').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtLname').className = 'textboxBlue';
	}
	if(!isBlank('txtEmail',"your email address."))
	{
		$('txtEmail').className = 'textboxBlue';
		$('txtEmail').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtEmail').className = 'textboxBlue';
	}
	if(trim($('txtEmail').value)!="")
	{
		if(!emailIsValid('txtEmail'))
		{
			$('txtEmail').className = 'textboxBlue';
			$('txtEmail').className = 'textboxRed';
			$('errLead').innerHTML = alertErrorMsg;
			validateFlag=1;
			return;
		}
		else
		{
			$('txtEmail').className = 'textboxBlue';
		}
	}
	if(!isBlank('txtAddress',"address."))
	{
		$('txtAddress').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtAddress').className = 'textboxBlue';
	}
	
	if(!isBlank('txtCity',"city."))
	{
		$('txtCity').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtCity').className = 'textboxBlue';
	}
	if(!isBlank('txtState',"state."))
	{
		$('txtState').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtState').className = 'textboxBlue';
	}
	
	if(!isBlank('txtZip',"zip."))
	{
		$('txtZip').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtZip').className = 'textboxBlue';
	}
	if(trim($('txtZip').value)!="")
	{
		if ( !zipIsValid("txtZip") )
	    {
	    	$('txtZip').className = 'textboxRed';
	    	$('errLead').innerHTML = alertErrorMsg;
			validateFlag=1;
			return;
	    }
	    else
		{
			$('txtZip').className = 'textboxBlue';
		}
	}
	
	if(!isBlank('txtPhone',"contact number."))
	{
		$('txtPhone').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtPhone').className = 'textboxBlue';
	}
	
	if(!validatePhone('txtPhone',"your contact number."))
	{
		$('txtPhone').className = 'textboxBlue';
		$('txtPhone').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtPhone').className = 'textboxBlue';
	}
	if(trim($('txtExt').value)!="")
	{
		if(!IsNumeric($('txtExt').value))
		{
			$('txtExt').className = 'textboxRed';
			$('errLead').innerHTML = "Please enter valid extension.";
			validateFlag=1;
			return;
		}
		else if(($('txtExt').value).length>11)
		{
			$('txtExt').className = 'textboxRed';
			$('errLead').innerHTML = "Extension length can not be greater 10.";
			validateFlag=1;
			return;
		}
		else
		{
			$('txtExt').className = 'textboxBlue';
		}
	}
	
	if(validateFlag==0)
	{
		/*if($('imgViewRequestSend')!='null')
			$('imgViewRequestSend').style.display = "none";*/
			
		$('errLead').innerHTML = "&nbsp;";
		
		
		var url = 'http://'+window.location.hostname+'/homesite/BHI/freeBrochure.php';	
		var queryString = "from=sendEmail";
		
		queryString = queryString + "&id="+escape($('id').value);
		queryString = queryString + "&type="+escape($('type').value);
		queryString = queryString + "&requestFor="+escape($('requestFor').value);
		queryString = queryString + "&email="+escape($('txtEmail').value);
		queryString = queryString + "&fname="+escape($('txtFname').value);
		queryString = queryString + "&lname="+escape($('txtLname').value);
		queryString = queryString + "&phone="+escape($('txtPhone').value);
		queryString = queryString + "&ext="+escape($('txtExt').value);
		queryString = queryString + "&address="+escape($('txtAddress').value);
		queryString = queryString + "&city="+escape($('txtCity').value);
		queryString = queryString + "&state="+escape($('txtState').value);
		queryString = queryString + "&zip="+escape($('txtZip').value);
		queryString = queryString + "&feedback="+encodeURI($('txtFeedback').value);
		queryString = queryString + "&movedate="+escape($("selectMovedate").value);		
		queryString = queryString + "&title="+escape($("title").value);		
		if ( $('selectFinancing').value != "0" )
		{
			queryString = queryString + "&financing="+escape($("selectFinancing").value);		
		}
		else
		{
			queryString = queryString + "&financing=";		
		}
		/*if ( $('selectLookhome').value != "0" )
		{
			queryString = queryString + "&lookhome="+escape($("selectLookhome").value);		
		}
		else
		{
			queryString = queryString + "&lookhome=";		
		}*/
	
		queryString = queryString + "&sourceLink="+escape($('sourceLink').value);
		queryString = queryString + "&builderid="+escape($("builderid").value);		
		queryString = queryString + "&commid="+escape($("commid").value);		
		$('completedMsg').style.display = 'block';
		ajaxRequest(url,queryString,responseBrochureEmail);
	}
}

function responseBrochureEmail(originalRequest)
{
	var response = originalRequest.responseText;
	if(response)
	{
		$('completedMsg').innerHTML = '<span class="moduleLableText" style="color:gray;">Your request has been submitted! </span>';
		freeBrochureClearAll();
		setTimeout("window.close()",3000);
	}
	else
		alert("Sorry !! Please try again later.");
}

function freeBrochureClearAll()
{
		$('txtFname').value = '';
		$('txtFname').className = 'textboxBlue';
		$('txtLname').value = '';
		$('txtLname').className = 'textboxBlue';
		$('txtEmail').value = '';
		$('txtEmail').className = 'textboxBlue';
		$('txtAddress').value = '';
		$('txtAddress').className = 'textboxBlue';
		$('txtCity').value = '';
		$('txtCity').className = 'textboxBlue';
		$('txtState').value = '';
		$('txtState').className = 'textboxBlue';
		$('txtZip').value = '';
		$('txtZip').className = 'textboxBlue';
		$('txtPhone').value = '';
		$('txtPhone').className = 'textboxBlue';
		$('txtExt').value = '';
		$('txtExt').className = 'textboxBlue';
		$('txtFeedback').value = '';
		$('txtFeedback').className = 'textareaBlue';
}

/*Function for schedule viewing*/
function sendLeadEmail(fromOpen)
{
	if(!isBlank('txtfinfname1',"your first name."))
	{
		$('txtfinfname1').className = 'textboxRed';
		$('txtfinlname1').className = 'textboxBlue';
		$('txtfinemail1').className = 'textboxBlue';
		$('txtfinphone1').className = 'textboxBlue';
		if($('agentName'))
			$('agentName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;
	}
	else if(bkTheme == 'commonwealth' && !isBlank('txtfinlname1',"your last name."))
	{
		$('txtfinlname1').className = 'textboxRed';
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinemail1').className = 'textboxBlue';
		$('txtfinphone1').className = 'textboxBlue';
		if($('agentName'))
			$('agentName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;
	}
	else if(!isBlank('txtfinemail1',"your email address."))
	{
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinlname1').className = 'textboxBlue';
		$('txtfinemail1').className = 'textboxRed';
		$('txtfinphone1').className = 'textboxBlue';
		if($('agentName'))
			$('agentName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;	
	}
	else if(!emailIsValid('txtfinemail1'))
	{
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinlname1').className = 'textboxBlue';
		$('txtfinemail1').className = 'textboxRed';
		$('txtfinphone1').className = 'textboxBlue';
		if($('agentName'))
			$('agentName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;	
	}
	else if((bkTheme == 'intero' || bkTheme == 'commonwealth') && !isBlank('txtfinphone1',"your phone."))
	{
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinlname1').className = 'textboxBlue';
		$('txtfinemail1').className = 'textboxBlue';
		$('txtfinphone1').className = 'textboxRed';
		if($('agentName'))
			$('agentName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;
	}
	else if(trim($('txtfinphone1').value)!='' && !validatePhone('txtfinphone1',"Your phone"))
	{
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinlname1').className = 'textboxBlue';
		$('txtfinemail1').className = 'textboxBlue';
		$('txtfinphone1').className = 'textboxRed';
		if($('agentName'))
			$('agentName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;
	}
	else if($("yes") && ($("yes").checked == true && $("agentName").value == "0"))
	{
			$('txtfinfname1').className   = 'textboxBlue';
			$('txtfinlname1').className   = 'textboxBlue';
			$('txtfinemail1').className   = 'textboxBlue';
			$('txtfinphone1').className   = 'textboxBlue';
			$('errLead').innerHTML="Please select Agent Name";			
			$('agentName').className="textboxRed";
			return false;
	}
	else
	{		
		/*if($('imgViewRequestSend')!='null')
			$('imgViewRequestSend').style.display = "none";*/
			
		$('txtfinfname1').className   = 'textboxBlue';
		$('txtfinlname1').className   = 'textboxBlue';
		$('txtfinemail1').className   = 'textboxBlue';
		$('txtfinphone1').className   = 'textboxBlue';
		if($('agentName'))
			$('agentName').className = 'textboxBlue';
		$('errLead').innerHTML = "&nbsp;";
		
		var url = 'http://'+window.location.hostname+'/app/listing/leadMailHandler.php';
		var queryString = "";
		queryString = "mailType=schView";

		var fromPage = 'bk';
		var fromPageId = '0';
		if(typeof(frmAgtSite) != "undefined" && frmAgtSite == "1")
		{
			fromOpen = "";
			fromPage = frm = "agt";
			aid = fromPageId = frmAgtUid;
		}
		else if(fromOpen == 'pop')
		{
			var frm = getURLParam('frm');
			var aid = getURLParam('aid');
			var ouid = getURLParam('ouid');
			fromPage = frm;
			if(frm == 'agt' && aid!='')
				fromPageId = aid;
			else if(frm == 'frch' && ouid!='')
				fromPageId = ouid;
		}
		else
		{
			fromPage = $("hdnFromSite").value;
			fromPageId = $("hdnFromSiteId").value;
		}

		if(fromPage=="agt"|| fromPage == "lmagt")//Agentsite Homesite
		{
			queryString = queryString+ "&aid="+fromPageId+"";
		}
		else if(fromPage=="frch")//Franchise Homesite
		{
			queryString = queryString+ "&ouid="+fromPageId+"";
		}
		
		queryString = queryString + "&frmOpen="+fromOpen;
		queryString = queryString + "&frm="+fromPage;
		queryString = queryString + "&email="+escape($('txtfinemail1').value);
		queryString = queryString + "&name="+escape($('txtfinfname1').value);
		queryString = queryString + "&lname="+escape($('txtfinlname1').value);
		queryString = queryString + "&phone="+escape($('txtfinphone1').value);
		queryString = queryString + "&reach="+escape($('txtreach').value);
		queryString = queryString + "&fchoice="+escape($('suggesteddaytime1').value);
		queryString = queryString + "&schoice="+escape($('suggesteddaytime2').value);
		queryString = queryString + "&tchoice="+escape($('suggesteddaytime3').value);
		
		queryString = queryString + "&feedback="+escape($('txtFeedback').value);
		//queryString = queryString + "&address="+trim(escape($('propAddress').innerHTML));
		queryString = queryString + "&address="+trim(escape($('propFullAddress').innerHTML));
		queryString = queryString + "&sourceLink="+escape($('propSourceLink').value);
		queryString = queryString + "&mlsno="+escape($('propMlsNo').innerHTML);
		if($('hiddenTid'))	queryString = queryString + "&tid="+escape($('hiddenTid').value);

		if($('hdnDiv'))
			var source=$('hdnDiv').innerHTML;
		else
			var source="";

		queryString = queryString + "&source="+source;

		var orgSource = '';
		if($('hdnOrgSource'))
		{
			orgSource = $('hdnOrgSource').innerHTML;
			queryString = queryString + "&orgSource="+orgSource;
		}
		if($('hdnOrgTid'))
		{
			var orgTid = $('hdnOrgTid').innerHTML;
			queryString = queryString + "&orgTid="+orgTid;
		}

		if($('agentName') && ($('yes').checked))
			realtorqs = "&realtor="+escape($('agentName').value);
		else
			realtorqs = "&realtor="; 

		//alert(url+"==="+queryString);
		queryString = queryString + realtorqs;
		$('completedMsg').style.display = 'block';
		ajaxRequest(url,queryString,responseLeadEmail);
	}
}

function sendLeadEmailforMoreInfo(fromOpen)
{
	var validateFlag = 0;
	var queryString = "";
	var url = 'http://'+window.location.hostname+'/app/listing/leadMailHandler.php';
		
	var fromPage = $("hdnFromSite").value;
	var fromPageId = $("hdnFromSiteId").value;

	queryString = "mailType=moreInfo";
	if(agentcode != '')
		queryString = queryString+"&agentcode="+agentcode;

	if(fromPage == "agt" || fromPage == "lmagt")
	{
		queryString = queryString+ "&aid="+fromPageId+"";
	}
	else if(fromPage=="frch")
	{
		queryString = queryString+ "&ouid="+fromPageId+"";
	}

	queryString = queryString + "&frmOpen="+fromOpen;
	queryString = queryString + "&frm="+fromPage;

	queryString = queryString + "&referenceAddress="+escape(encodeURI($("propAddress").innerHTML));
	if(!isBlank('txtfname',"your first name."))
	{
		$('txtfname').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag = 1;
		return;
	}
	else
	{
		$('txtfname').className = 'textboxBlue';
		$('errLead').innerHTML = "&nbsp;";
		queryString = queryString + "&name="+escape($('txtfname').value);				
	}
	
	if(!isBlank('txtlname',"your last name."))
	{
		$('txtlname').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag = 1;		
		return;
	}
	else
	{
		$('txtlname').className = 'textboxBlue';
		$('errLead').innerHTML = "&nbsp;";
		queryString = queryString + "&lname="+escape($('txtlname').value);		
	}
	
	if(!isBlank('txtemail',"email address."))
	{
		$('txtemail').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag = 1;		
		return;
	}
	else if(!emailIsValid('txtemail'))
	{
		$('txtemail').className = 'textboxRed';
		$('errLead').innerHTML = "Please enter valid email address.";
		validateFlag = 1;	
		return;	
	}
	else
	{
		$('txtemail').className = 'textboxBlue';
		$('errLead').innerHTML = "&nbsp;";
		queryString = queryString + "&email="+escape($('txtemail').value);		
	}
	
	queryString = queryString + "&mlsno="+escape($("propMlsNo").innerHTML);
	
	if ( isBlank("lookingToBuy") )
	{
		queryString = queryString + "&lookingToBuy="+escape($("lookingToBuy").value);
	}
	else
	{
		queryString = queryString + "&lookingToBuy=";
	}
	
	if ( isBlank("txtFeedback") )
	{
		queryString = queryString + "&otherFeature="+escape($("txtFeedback").value);
	}
	else
	{
		queryString = queryString + "&otherFeature=";
	}
	
	if ( isBlank("txtPhone") )
	{
		if ( validatePhone("txtPhone","Phone no") )
		{
			$('txtPhone').className = 'textboxBlue';
			$('errLead').innerHTML = "&nbsp";
			
			queryString = queryString + "&phone="+$('txtPhone').value;
		}
		else
		{
			$('txtPhone').className = 'textboxRed';
			//$('errLead').innerHTML = "Phone is not Valid. Please input in format like 306-954-2548.";
			$('errLead').innerHTML = alertErrorMsg;
			validateFlag = 1;
			return;	
		}
	}
	else
		queryString = queryString + "&phone=";
		
	var rbgroup = "";
	rbgroup = document.getElementsByName('Best_time_to_call');
	var timetocall = "";
	for (i=0;i<rbgroup.length;i++)
	{
    	if (rbgroup[i].checked)
  		{
        	timetocall = rbgroup[i].value;
      	}
	}
	if ( trim(timetocall) != "" )
	{
		queryString = queryString + "&bestTime="+timetocall;
	}
	
	if ( isBlank("txtAddress") )
	{
		queryString = queryString + "&address="+escape($("txtAddress").value);
	}
	else
	{
		queryString = queryString + "&address=";
	}
	
	if ( isBlank("txtCity") )
	{
		queryString = queryString + "&city="+escape($("txtCity").value);
	}
	else
	{
		queryString = queryString + "&city=";
	}
	
	if ( $('cmbState').value != "0" )
	{
		queryString = queryString + "&state="+escape($("cmbState").value);		
	}
	else
	{
		queryString = queryString + "&state=";		
	}
	
	if ( isBlank("txtZip") )
	{
		if ( zipIsValid("txtZip") )
	    {
	    	$('txtZip').className = 'textboxBlue';
			$('errLead').innerHTML = "&nbsp";
	    	queryString = queryString + "&zip="+escape($("txtZip").value);
	    }
	    else
	    {
			$('txtZip').className = 'textboxRed';
			$('errLead').innerHTML = "Please enter valid value zip.";
			validateFlag = 1;
			return;	
	    }
	}
	else
	{
		queryString = queryString + "&zip=";
	}
	if($('hiddenTid'))	queryString = queryString + "&tid="+escape($('hiddenTid').value);

	if($('txtPrice'))	queryString = queryString + "&price="+escape($('txtPrice').value);

	if($('txtPropertyType'))	queryString = queryString + "&ptype="+escape($('txtPropertyType').value);

	if ( validateFlag == 0 )
	{
		/*if($('imgViewRequestSend')!='null')
			$('imgViewRequestSend').style.display = "none";*/
		
		queryString = queryString + "&sourceLink="+escape($('propSourceLink').value);
		if ( $('hdnDiv') != null )
			queryString = queryString + "&source="+escape($('hdnDiv').innerHTML);

		var orgSource = '';
		if($('hdnOrgSource'))
		{
			orgSource = $('hdnOrgSource').innerHTML;
			queryString = queryString + "&orgSource="+orgSource;
		}
		if($('hdnOrgTid'))
		{
			var orgTid = $('hdnOrgTid').innerHTML;
			queryString = queryString + "&orgTid="+orgTid;
		}

		$('completedMsg').style.display = 'block';
		ajaxRequest(url,queryString,responseLeadEmailMoreInfo);
	}
}
function showAgentNames()
{
	var optArr = $('agentNameSelectBox').getElementsByTagName("option");
	if($("yes") && $("yes").checked == true)
	{
		if(optArr.length ==0 )
		{
			var qs='';
			qs += "limit=all&showAgents=dropdown";
			var qstr = new Querystring();
			if(qstr.get("frm") != null && qstr.get("ouid") != null)
				qs += "&frm=frch&ouid="+qstr.get("ouid");

			var url = "/getAgents.php";
			//alert(url+qs);
			ajaxRequest(url,qs,cbfngetAgents);
		}
		$("agentNameSelectBox").style.display=""; 
		$("agentNameLabel").style.display=""; 
	}
	else
	{
		$("agentNameSelectBox").style.display="none"; 
		$("agentNameLabel").style.display="none"; 
	}
}
function cbfngetAgents(resp)
{
	var response = resp.responseText;
	if(trim(response) == "" || trim(response) == "0")
	{

		alert("No Agent Found.");
		$("agentNameSelectBox").style.display="none"; 
		$("agentNameLabel").style.display="none"; 
		$("no").checked = true;
	}
	$("agentNameSelectBox").innerHTML = response;
	
}

/*srTabs.js*/

function getFinanceDlgFrmFinTab(sno,city,state,zip,yearbuild)
{	
	$("financeContact").style.display = "block";
	$("txtFinanceBorrowerName").className = "textbox";
	$("txtFinanceBorrowerEmail").className = "textbox";
	financeDlg.show();
	$('txtFinanceStreet').value = sno;
	$('txtFinanceCity').value = city;
	$('txtFinanceState').value = state;
	$('txtFinanceZip').value = zip;
	var sar_zip = zip.split('-');
	var szip = sar_zip[0];
	
	var queryString="";
	queryString +="&zip="+szip;
	var url = './financePopupBanner.php'
	loadToDiv(url,queryString,'divAdsFinanceWindow');
}

function validateFinanceFE()
{

	if(!isBlank('txtFinanceBorrowerName','Your Name'))
	{
		$('errFinancePopup').innerHTML = alertErrorMsg;
		$('txtFinanceBorrowerName').className = "textboxRed";
		return false;
	}
	else if(!isBlank('txtFinanceBorrowerEmail','Your Email'))
	{
		$('errFinancePopup').innerHTML = alertErrorMsg;
		$('txtFinanceBorrowerEmail').className = "textboxRed";
		$('txtFinanceBorrowerName').className = "textbox";
		return false;
	}
	else if(!emailIsValid('txtFinanceBorrowerEmail'))
	{
		$('errFinancePopup').innerHTML = alertErrorMsg;
		$('txtFinanceBorrowerEmail').className = "textboxRed";
		return false;
	}
	else
	{
			$('errFinancePopup').innerHTML = "&nbsp;";
			$("txtFinanceBorrowerName").className = "textbox";
			$("txtFinanceBorrowerEmail").className = "textbox";
			var queryString = "sendmail=2";
			queryString = queryString + "&Street=" + $("txtFinanceStreet").value;
			queryString = queryString + "&City=" + $("txtFinanceCity").value;
			queryString = queryString + "&State=" + $("txtFinanceState").value;
			queryString = queryString + "&Zip=" + $("txtFinanceZip").value;
			queryString = queryString + "&Purpose=" + $("slctFinancePurpose").options[$("slctFinancePurpose").selectedIndex].text;
			queryString = queryString + "&ExistingMortgage=" + $("txtFinanceExistingMortgage").value;
			queryString = queryString + "&PType=" + $("slctFinancePType").options[$("slctFinancePType").selectedIndex].text;
			queryString = queryString + "&DesiredLoan=" + $("txtFinanceDesiredLoan").value;
			queryString = queryString + "&SrcOFDP=" + $("txtFinanceSrcOFDP").value;
			queryString = queryString + "&BorrowerName=" + $("txtFinanceBorrowerName").value;
			queryString = queryString + "&BorrowerHomePhone=" + $("txtFinanceBorrowerHomePhone").value;
			queryString = queryString + "&BorrowerMaritialStatus=" + $("slctFinanceBorrowerMaritialStatus").options[$("slctFinanceBorrowerMaritialStatus").selectedIndex].text;
			queryString = queryString + "&BorrowerPresentStreet=" + $("txtFinanceBorrowerPresentStreet").value;
			queryString = queryString + "&BorrowerPresentCity=" + $("txtFinanceBorrowerPresentCity").value;
			queryString = queryString + "&BorrowerPresentState=" + $("txtFinanceBorrowerPresentState").value;
			queryString = queryString + "&BorrowerPresentZip=" + $("txtFinanceBorrowerPresentZip").value;
			queryString = queryString + "&BorrowerAge=" + $("txtFinanceBorrowerAge").value;
			queryString = queryString + "&BorrowerOccupation=" + $("txtFinanceBorrowerOccupation").value;
			queryString = queryString + "&BorrowerTimeAtPresentJob=" + $("txtFinanceBorrowerTimeAtPresentJob").value;
			queryString = queryString + "&BorrowerGrossIncome=" + $("txtFinanceBorrowerGrossIncome").value;
			queryString = queryString + "&CreditRating=" + $("slctFinanceCreditRating").options[$("slctFinanceCreditRating").selectedIndex].text;
			queryString = queryString + "&BorrowerEmail=" + $("txtFinanceBorrowerEmail").value;
			queryString = queryString + "&ContactLender=" + $("txtFinanceContactLender").options[$("txtFinanceContactLender").selectedIndex].text;
			queryString = queryString + "&ContactRealEstateAgent=" + $("txtFinanceContactRealEstateAgent").options[$("txtFinanceContactRealEstateAgent").selectedIndex].text;
			
			var url = './srTabCalcMail.php?'+queryString;
			ajaxRequest(url,queryString,showResponseMailSent);
	}
}

function showResponseMailSent(originalRequest)
{
	var response = originalRequest.responseText;
	if(response=="1")
	{
		alert("Mail has been sent");
	}
	else
	{
		alert("Sorry !! Can't send mail now");
	}
	financeDlg.hide();
}


var prvSelSpanId="spn0";
function setFloorPlan(imgsrc,spanid,aid)
{
	if (spanid != prvSelSpanId)
	{
		$(spanid).className="pga";
		$(prvSelSpanId).className="lbllink2";
		prvSelSpanId = spanid;
		$('floorplanimg').innerHTML='<img src="'+imgsrc+'" alt="FLOOR PLAN">';
	}
}


/*validation.js*/

var alertErrorMsg="";

function isYear(id)
{
	var dt = new Date();
	dt = dt.getFullYear();
	var yr = Number($(id).value);
	if(isNaN(yr))
	{
		alertErrorMsg = "Please Enter valid Year.";
		return false;
	}
	if(yr<1000 || yr>3000)
	{
		alertErrorMsg = "Please Enter valid Year.";
		return false;
	}
/*	if($(id).value.length != oflength)
	{
		alertErrorMsg = "Only "+oflength+" characters alllowed."
		return false;
	}*/
	return true;
}
function isSqft(id)
{
	var sqft = $(id).value;
	sqft = sqft.gsub(",","");
	if(isNaN(Number(sqft)))
	{
		alertErrorMsg = "Enter valid value.";
		return false;
	}
	return true;
}
function isOfLength(id,oflength,limit)
{
	if(limit==null)
	{
		if($(id).value.length != oflength)
		{
			alertErrorMsg = "Only "+oflength+" characters alllowed."
			return false;
		}
	}
	else
	if($(id).value.length > oflength)
	{
		alertErrorMsg = "Maximum "+oflength+" characters alllowed."
		return false;
	}
	return true;
}

function isOverMaxLength(id,maxlength)
{
	return $(id).value.length > maxlength;
}

function isUnderMinLength(id,minlength)
{
	return $(id).value.length < minlength;
}

function regExTest(id,expression)
{
	return $(id).value.match(expression) != null;
}

function isDecimal(val)
{
	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	return val.match(decimalRE) != null;
}

function isNonDecimal(number)
{
	numRegExp = /^[0-9]+$/
  	return numRegExp.test(number);
}

function isNonNegDecimal(element)
{
	var nonnegdecimalRE = "^[0-9][0-9]*(\\.[0-9]*)?$";
	return regExTest(element,nonnegdecimalRE);
}

function isProperMoney(id)
{
	if($(id).value<=0)
		return null;
	var nonnegdecimalRE = "^[0-9][0-9]*(\\.[0-9]*)?$";
	var num=String(money2num($(id).value));
	return num.match(nonnegdecimalRE) != null;
	
}

function usernameIsValid(id,min,max)
{
	if (!isBlank(id,'Username')) 
	{
		return false;
	}
	if (isOverMaxLength(id,max) || isUnderMinLength(id,min))
	{
		alertErrorMsg = "Username should between "+min+" - "+max+" characters";
		return false;
	}
	var uName = $(id).value;
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
	for (var i = 0; i < uName.length; i++) 
	{
  		if (iChars.indexOf(uName.charAt(i)) != -1)
  		{
  			alertErrorMsg = "Username should not contain special characters";
  			return false;
  		}
  	}
	return true;
}

function passwordIsValid(id,reid,min,max)
{
	if ($F(id) != $F(reid))
	{
		alertErrorMsg = "Password do not match";
		return false;
	}
	if (!isBlank(id,'Password')) //|| (IsDecimal('txtName'))
	{
		return false;
	}
	if (isOverMaxLength(id,max) || isUnderMinLength(id,min))
	{
		alertErrorMsg = "Password should be between "+min+" - "+max+" characters";
		return false;
	}
	return true;
}

function emailIsValid(id)
{
	var testresults;
	if (!isBlank(id,"E-mail Address")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter E-mail.";
		return false;
	}
	var str=$F(id);
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(str))
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid email address!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return (testresults)
}

function emailIsValidByVal(email)
{
	var testresults;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(email))
	{
		testresults=true;
	}
	else
	{
		testresults=false;
	}
	return (testresults)
}

function chkOnlyEmailIsValid(id)
{
	var testresults;
	var str=$F(id);
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	
	if (filter.test(str) || str == "")
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid email address!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return (testresults)
}

function isValidURL(id,newRegEx){

	var flag=0;
	if (!isBlank(id,"URL")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter URL.";
		return false;
	}
	var url=$F(id);

	if (url.indexOf ('http://') == -1)
	{
		if (url.indexOf ('https://') == -1)
		{
			$(id).focus();
			alertErrorMsg = "URL must start with http:// or https://";
			return false;
		}
		else
			flag=1;
	}
	else
		flag=1;

	if(flag==1)
	{
		if(url.substring(0,7)=="http://" || url.substring(0,8)=="https://" )
		{	//nothing 	
		}
		else
		{
			$(id).focus();
			alertErrorMsg = "URL must start with http:// or https://";
			return false;
		}

	}  
	var newRegCheck = false;
	if(newRegEx)
	{
		if(newRegEx != '' || newRegEx == '1')
			newRegCheck = true;
	}

	if(newRegCheck)
	{
		var RegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
	}
	else
	{
		var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
	}

    if(RegExp.test(url))
	{
        return true;
    }
	else
	{
    	$(id).value="";
		$(id).focus();
		alertErrorMsg = "Please Enter valid URL.";		
        return false;
    }
} 

function validURL(id){
	if (!isBlank(id,"URL")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter URL.";
		return false;
	}
	var url=$F(id);
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url))
	{
        return true;
    }	
	else
	{
    	$(id).value="";
		$(id).focus();
		alertErrorMsg = "Please Enter valid URL.";		
        return false;
    }
}


function phoneIsValid(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
		return false;
	}
	return true;
}


function validatePhone1(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;

	if(numTotal($(id).value)==0)
	{
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		return false;
	}
	return true;
}
function zipIsValid(id,how)
{
	(how==null)?"alert":"";
	var valid = "0123456789-";
	var hyphencount = 0;

	if($F(id) != "" && $F(id) != " ")
	{
		//alert("val = "+document.getElementById(id).value+"ens");
		if ($(id).value.length!=5 && $(id).value.length!=10)
		{
			if(how=="alert")
				_alert("Please enter your 5 digit or 5 digit+4 zip code.");
			else
				alertErrorMsg = "Please enter your 5 digit or 5 digit+4 zip code.";
			$(id).value="";
			$(id).focus();
			return false;
		}
		for (var i=0; i < $(id).value.length; i++)
		{
			temp = "" + $(id).value.substring(i, i+1);
			if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1")
			{
				if(how=="alert")
					_alert("Invalid characters in your zip code.  Please try again.");
				else
					alertErrorMsg = "Invalid characters in your zip code.";
				$(id).value="";
				$(id).focus();
				return false;
			}
			if ((hyphencount > 1) || (($(id).value.length==10) && ""+$(id).value.charAt(5)!="-"))
			{
				if(how=="alert")
					_alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
				else
					alertErrorMsg = "The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.";
				
				$(id).value="";
				$(id).focus();
				return false;
			}
		}
	}
	return true;
}

function zipValid(id)
{
	var valid = "0123456789-";
	var hyphencount = 0;

	if($F(id) != "" && $F(id) != " ")
	{
		//alert("val = "+document.getElementById(id).value+"ens");
		if ($(id).value.length!=5 && $(id).value.length!=10)
		{
			alertErrorMsg = "Please enter your 5 digit or 5 digit+4 zip code.";
			$(id).value="";
			$(id).focus();
			return false;
		}
		for (var i=0; i < $(id).value.length; i++)
		{
			temp = "" + $(id).value.substring(i, i+1);
			if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1")
			{
				alertErrorMsg = "Invalid characters in your zip code.";
				$(id).value="";
				$(id).focus();
				return false;
			}
			if ((hyphencount > 1) || (($(id).value.length==10) && ""+$(id).value.charAt(5)!="-"))
			{
				alertErrorMsg = "The hyphen character should be used formatted properly.";
				$(id).value="";
				$(id).focus();
				return false;
			}
		}
	}
	return true;
}


function numberIsValid(id,msg,disp,min,max)
{
	if (($F(id) != "") && ($F(id) != " ") && (isNaN($F(id))))
	{
		alertErrorMsg=msg;
		//alert(msg);
		$(id).value="";
		$(id).focus();
		return false;
	}
	if (min !=null && isUnderMinLength(id,min) && ($F(id) != "") && ($F(id) != " "))
	{
		alertErrorMsg=disp+" should be more than "+min+" characters";
		$(id).value="";
		$(id).focus();
		return false;
	}
	if (max !=null && isOverMaxLength(id,max) && ($F(id) != "") && ($F(id) != " "))
	{
		alertErrorMsg=disp+" should be less than "+max+" characters";
		$(id).value="";
		$(id).focus();
		return false;
	}
	return true;
}

function albhabetIsValid(id,msg,disp,min,max)
{
	if(($F(id) != "") && ($F(id) != " ") && $F(id).match(/^[A-Za-z\s]+$/g) == null)
	{
		alertErrorMsg=msg;
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((min != null) && isUnderMinLength(id,min) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+" should have atleast "+min+" characters.")
		alertErrorMsg="Value of "+disp+" should have atleast "+min+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((max != null) && isOverMaxLength(id,max) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+"allows only "+max+" characters.")
		alertErrorMsg="Value of "+disp+"allows only "+max+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	return true;
}

function alphaNumericIsValid(id,msg,disp,min,max)
{
	if(($F(id) != "") && ($F(id) != " ") && $F(id).match(/^[A-Za-z0-9_\s]+$/g) == null)
	{
		alertErrorMsg=msg;
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((min != null) && isUnderMinLength(id,min) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+" should have atleast "+min+" characters.")
		alertErrorMsg="Value of "+disp+" should have atleast "+min+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((max != null) && isOverMaxLength(id,max) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+"allows only "+max+" characters.")
		alertErrorMsg="Value of "+disp+"allows only "+max+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	return true;
}


function isBlank(id,disp)
{
	if(trim($F(id)) == "")
	{
		alertErrorMsg="Please enter "+disp;
		$(id).focus();
		return false;
	}
	return true;
}
function isBlank_withoutfocus(id,disp)
{
	if(trim($F(id)) == "")
	{
		alertErrorMsg="Please enter "+disp;
		return false;
	}
	return true;
}
function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
function mobileIsValid(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = "Mobile number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = "Mobile number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
	}
	return true;
}
function faxIsValid(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = "Fax number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = "Fax number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
	}
	return true;
}

function percentageIsValid(id)
{
	var testresults;
	var filter = /^\d{1,2}(\.\d{1,2})?$/;
	var str=$F(id);
	if (!isBlank(id,"Percentage")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter Percentage.";
		return false;
	}
	if (filter.test(str))
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid Percentage value!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return testresults;
}


function siteIsValid(id)
{
	var testresults;
	if (!isBlank(id,"E-mail Address")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter E-mail.";
		return false;
	}
	var str=$F(id);
	var filter=/^([\w-]+(?:\.[\w-]+)*)\.((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	//var filter = /(\w+):\/\/([\w\.]+)\/([\w\/]+)/;
	if (filter.test(str))
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid site address!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return (testresults)
}

// Date Validation Javascript
// copyright 30th October 2004, by Stephen Chapman
// http://javascript.about.com

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.

function valDateFmt(datefmt) {myOption = -1;
for (i=0; i<datefmt.length; i++) {if (datefmt[i].checked) {myOption = i;}}
if (myOption == -1) {_alert("You must select a date format");return ' ';}
return datefmt[myOption].value;}
function valDateRng(daterng) {myOption = -1;
for (i=0; i<daterng.length; i++) {if (daterng[i].checked) {myOption = i;}}
if (myOption == -1) {_alert("You must select a date range");return ' ';}
return daterng[myOption].value;}
function stripBlanks(fld) {var result = "";for (i=0; i<fld.length; i++) {
if (fld.charAt(i) != " " || c > 0) {result += fld.charAt(i);
if (fld.charAt(i) != " ") c = result.length;}}return result.substr(0,c);}
var numb = '0123456789';
function isValid(parm,val) {if (parm == "") return true;
for (i=0; i<parm.length; i++) {if (val.indexOf(parm.charAt(i),0) == -1)
return false;}return true;}
function isNum(parm) {return isValid(parm,numb);}
var mth = new Array(' ','january','february','march','april','may','june','july','august','september','october','november','december');
var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
function validateDate(fld,fmt,rng)
{
	var dd, mm, yy;
	var today = new Date;
	var t = new Date;
	fld = stripBlanks(fld);
	if (fld == '') return false;
	var d1 = fld.split('\/');
	if (d1.length != 3) d1 = fld.split(' ');
	if (d1.length != 3) return false;
	if (fmt == 'u' || fmt == 'U')
	{
	 	dd = d1[1];
	 	mm = d1[0];
	 	yy = d1[2];
	 }
	else if (fmt == 'j' || fmt == 'J') {
	  dd = d1[2]; mm = d1[1]; yy = d1[0];}
	else if (fmt == 'w' || fmt == 'W'){
	  dd = d1[0]; mm = d1[1]; yy = d1[2];}
	else return false;
	var n = dd.lastIndexOf('st');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf('nd');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf('rd');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf('th');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf(',');
	if (n > -1) dd = dd.substr(0,n);
	n = mm.lastIndexOf(',');
	if (n > -1) mm = mm.substr(0,n);
	if (!isNum(dd)) return false;
	if (!isNum(yy)) return false;
	if (!isNum(mm)) {
	  var nn = mm.toLowerCase();
	  for (var i=1; i < 13; i++) {
	    if (nn == mth[i] ||
	        nn == mth[i].substr(0,3)) {mm = i; i = 13;}
	  }
}
if (!isNum(mm)) return false;
dd = parseFloat(dd); mm = parseFloat(mm); yy = parseFloat(yy);
if (yy < 100) yy += 2000;
if (yy < 1582 || yy > 4881) return false;
if (mm == 2 && (yy%400 == 0 || (yy%4 == 0 && yy%100 != 0))) day[mm-1]++;
if (mm < 1 || mm > 12) return false;
if (dd < 1 || dd > day[mm-1]) return false;
t.setDate(dd); t.setMonth(mm-1); t.setFullYear(yy);
if (rng == 'p' || rng == 'P') {
if (t > today) return false;
}
else if (rng == 'f' || rng == 'F') {
if (t < today) return false;
}
else if (rng != 'a' && rng != 'A') return false;
return true;
}

/*Function to check phone validation in format 306-954-2548 or 3-306-954-2548 */
function validatePhone(id,disp)
{
	var title = '';
	if(trim(disp)!='')
		title = disp;
	else
		title = 'Phone';

	var decimalRE = /^\s*(\d{1}-\d{3}-\d{3}-\d{4}|\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	//var decimalRE = /^\s*(\d{1}-\d{3}-\d{3}-\d{4}|\(\d{1}\-\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = title + " is not Valid. \nPlease input in format like 306-954-2548 or 3-306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = title + " is not Valid. \nPlease input in format like 306-954-2548 or 3-306-954-2548";
		return false;
	}
	return true;
}
	/*----------------------------------SUGGESTION EMAIL POPUP VALIDATION START--------------------------------- */
	var sugEmailPopup;
	function showSuggestionPopup()
	{	
		if($('emailPopupSuggestion'))
		{
			sugEmailPopup = createDialog('emailPopupSuggestion');		
			$('emailPopupSuggestion').style.display='block';
			if($('emailPopupSuggestion_c')) $('emailPopupSuggestion_c').style.zIndex='17';
			if($('emailPopupSuggestion_mask')) $('emailPopupSuggestion_mask').style.zIndex='16';
			if($('divContainerAdvanceSearch')) $('divContainerAdvanceSearch').style.zIndex='15';
			sugEmailPopup.show();			
			$('errEmailPro').innerHTML = '';
			$('txtComments').className = ''; $('txtComments').value = '';
			$('txtEmail').className = ''; $('txtEmail').value = '';
			$('txtName').className = ''; $('txtName').value = '';
			$('errEmailPro').innerHTML = '';
			$('sent').value = '0';

			//hide all related zindex specific div related to BUG# 10875
			if($("powerAdvSearch")) $("powerAdvSearch").style.display = "none";
			if($("divSaveSearch")) $("divSaveSearch").style.display = "none";
			if($("prpTyp")) $("prpTyp").style.display = "none";
			if($("prpStat")) $("prpStat").style.display = "none";
			if($("trSaleDate")) $("trSaleDate").style.display = "none";

			if(typeof(spl)!= "undefined")
			{	if(!spl)
				{
					hideMapList();	
					hidePwrsrchrel();
				}
			}
			
			//related to the bug specific to suggestion box;
			//Hide ProListing DIV
			if($('mapDiv') && $('mapDiv').style.display!='none')
			{
				if($("proListingDiv")){$("proListingDiv").style.display="none";}
			}
			//hide all related zindex specific div
		}
	}
	function sendSuggestion()
	{
		if($('sent').value == '0')
		{
			$('errEmailPro').innerHTML = '';
			$('txtComments').className = '';
			$('txtEmail').className = '';
			$('txtName').className = '';
			$('errEmailPro').innerHTML = '';			
			var sent = false;
			var comments = trim($('txtComments').value);
			var name = trim($('txtName').value);
			var email = trim($('txtEmail').value);
			var specialchars = "!@#$%^&*()+=-[]\\\';,/{}|\":<>?``";


			if(name)
			{
				var fName = name;
				for (var charNo = 0; charNo < fName.length; charNo++) 
				{
					if (specialchars.indexOf(fName.charAt(charNo)) != -1)
					{
						errorMsg = "Name should not contain special characters.";
						$('errEmailPro').innerHTML = errorMsg;
						$('txtName').className 	= "textboxRed";
						$('txtName').focus();
						return false ;	  				
					}
				}
			}
			
			if(email != '' && !emailIsValid("txtEmail"))
			{
				$('errEmailPro').innerHTML = "Please specify valid email.";
				$('txtEmail').focus();
				$('txtEmail').className="textboxRed";
				return false;
			}
			if(comments == '')
			{
				$('errEmailPro').innerHTML = "Please specify suggestions.";
				$('txtComments').focus();
				$('txtComments').className="textboxRed";
				return false;
			}
			if(comments)
			{			
				var specialchars = "#%^()+=[]\\\'/{}|\"<>``";
				for (var charNo = 0; charNo < comments.length; charNo++) 
				{
					if (specialchars.indexOf(comments.charAt(charNo)) != -1)
					{
						errorMsg = "Suggestions should not contain special characters.";
						$('errEmailPro').innerHTML = errorMsg;
						$('txtComments').className 	= "textboxRed";
						$('txtComments').focus();
						return false ;	  				
					}
				}
			}
			$('sent').value = '1';
			var url = "/app/listing/singlePropertyLandingNew.php";
			var qs = "action=suggestion&name="+name+"&email="+email+"&comments="+encodeURI(comments);
			ajaxRequest(url,qs,function(reqobj)
			{ 
				var varResponse = trim(reqobj.responseText);	
				if(varResponse == '1')
				{
					$('errEmailPro').innerHTML = "Your suggestions have been sent successfully.";
					$('txtComments').value = '';
					$('txtName').value = '';
					$('txtEmail').value = '';
					$('sent').value = '0';
				}
				else
				{
					$('errEmailPro').innerHTML = "Problem in email sending.";					
					$('sent').value = '0';
				}
				setTimeout('sugEmailPopup.hide();',800);
			});
		}
	}
 /*----------------------------------SUGGESTION EMAIL POPUP VALIDATION END--------------------------------- */
 function validateMultiZip(id,how)
 {
	(how==null)?"alert":"";	
	var valid="0123456789,";
	if ($(id).value=="")
	{
		alert("Please enter zip code.");
		$(id).value="";
		$(id).focus();
		return false;

	}
	else
	{
		for (var i=0; i < $(id).value.length; i++)
		{
			temp = "" + $(id).value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1")
			{
				if(how=="alert")
					alert("Invalid characters in your zip code.  Please try again.");
				else
					alertErrorMsg = "Invalid characters in your zip code.";
				$(id).value="";
				$(id).focus();
				return false;
			}
		}
	}
 }

/*favourite.js*/

var favDialog = '';
var favDialogDualpane = '';
var hdBtnClk = "";

if(typeof(uRole) != "undefined" && uRole != "")
{
	if(uRole == "EA" || uRole == "A"){}
	else psForBasicAgent = "";
}

function showFavPopup()
{	
	if(typeof(favDialog) == 'string')
	{
		if($('favDiv') == null)
		{
			var url = '/app/feed/favouritePopup.php';
			var qs = '';

			if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || (typeof(psForBasicAgent) != "undefined" && psForBasicAgent == "1")))
				qs = qs + "power=1";

			var cbfnLoadFavPopup = function(reqObj)
			{
				var response = trim(reqObj.responseText);
				var myDiv = document.createElement('div');
				myDiv.innerHTML = response;
				document.body.appendChild(myDiv);
			} 	
			ajaxRequest(url,qs,cbfnLoadFavPopup,false);
		}
		favDialog = createDialog('favDiv');
		favDialog.beforeHideEvent.subscribe(beforeHidefavDialog, this);
		favDialog.beforeShowEvent.subscribe(beforeShowfavDialog, this);
	}
	//var checkArr = chooseChecked('listDiv',true);
	//if(checkArr=='' || checkArr==null)
	if(chkPSAr.length==0)
	{
		alert('Please select atleast one property to add to favorite.');
		return;
	}
		
	if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || (typeof(psForBasicAgent) != "undefined" && psForBasicAgent == "1")))
	{		
		$('txtGName').value = "";
		$('txtGName').className = "";
		if($('cmbGrp'))
		{
			var url = '/app/feed/processFavourite.php';
			var qs = "action=getAllGroups&power=1";
			ajaxRequest(url,qs,function resFillComboGroups(originalRequest){
				var res = originalRequest.responseText;
				var groups = eval(res);
				var myElem = $('cmbGrp'); 
				var len = myElem.options.length;
				myElem.options[0] = new Option('--select--','');
				for(var j=1; j<len; j++)
				{
					myElem.options[j] = null;
				}
				for(var i=1; i<=groups.length; i++)
				{
					myElem.options[i] = new Option(groups[i-1]['G_NAME'],groups[i-1]['G_ID']);
				}
			});
		}
		$('favDiv').parentNode.style.zIndex = 12;
		favDialog.show();
	}
	else
	{		
		var url = '/app/feed/processFavourite.php';
		ajaxRequest(url,'action=chksignin',function resChkSignin(originalRequest){
			var res = originalRequest.responseText;
			if(res==0)
			{
				alert('Please sign in to add favorite.');
				return;
			}
			else
			{
				$('txtGName').value = "";
				$('txtGName').className = "";
				if($('cmbGrp'))
				{
					ajaxRequest(url,'action=getAllGroups',function resFillComboGroups(originalRequest){
						var res = originalRequest.responseText;
						var groups = eval(res);
						var myElem = $('cmbGrp'); 
						var len = myElem.options.length;
						myElem.options[0] = new Option('--select--','');
						for(var j=1; j<len; j++)
						{
							myElem.options[j] = null;
						}
						for(var i=1; i<=groups.length; i++)
						{
							myElem.options[i] = new Option(groups[i-1]['G_NAME'],groups[i-1]['G_ID']);
						}
					});
				}
				$('favDiv').parentNode.style.zIndex = 12;
				favDialog.show();			
			}	
		});
	}
}
function addFav(gaction,from)
{
	if(typeof(from) == "undefined")
		from = "";

	if(from == "")
		var url = '/app/feed/processFavourite.php';
	else
	{
		var url = '/app/feed/processFavourite.php';
		eval('var fromArr = '+unescape(from)+';');		
	}	

	//var tp = chooseChecked('listDiv',true);
	if(typeof(chkPSAr) != "undefined")
	{
		var checkArr = chkPSAr[0]; 
		for(var i=1;i<chkPSAr.length;i++)
			checkArr +="|==|"+chkPSAr[i];
	}
	
	qs = "";
	qs = qs + "action=addFavourite";
	qs = qs + "&gaction="+gaction;

	if(typeof(checkArr) != "undefined")
	{
		checkArr = checkArr.replace(/\#/g,"__");
		qs = qs + "&infoArr="+checkArr;
	}

	//anil... lead creation
	if(typeof(fromArr) != "undefined")
		qs = qs + "&frm=" + fromArr['from'] + "&aid=" + fromArr['aid'];	
	else
	{
		if($('hiddenFrm'))
			qs = qs + "&frm=" + $('hiddenFrm').value;
		else
			qs = qs + "&frm=";

		if($('hiddenAid'))
			qs = qs + "&aid=" + $('hiddenAid').value;
		else
			qs = qs + "&aid=";
	}
	if(typeof(fromArr) != "undefined" && typeof(fromArr['ouid']) != "undefined")
	{
		if(trim(fromArr['ouid'])!='')
			qs = qs + "&ouid="+fromArr['ouid'];
	}

	if(typeof(ouid) != "undefined")
		qs  = qs + "&ouid=" + ouid;
	//anil... end
	
	if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || (typeof(psForBasicAgent) != "undefined" && psForBasicAgent == "1")))
		qs = qs + "&power=1";
	
	if(gaction=='EG')
	{
		if($('cmbGrp').value =='')
		{
			alert('Please select group name.');
			return false;
		}
		qs = qs + "&gid="+$('cmbGrp').value;
		qs = qs + "&gname="+escape($('cmbGrp').options[$('cmbGrp').selectedIndex].innerHTML);
	}
	else
	{
		if(!isBlank('txtGName','Group Name'))
		{
			alert(alertErrorMsg);
			$('txtGName').className = 'textboxRed';
			return false;
		}	
		$('txtGName').className = 'textbox';
		qs = qs + "&gname="+escape($('txtGName').value);
	}

	if(from == "")
		ajaxRequest(url,qs,resAddFav);	
	else //favorite handling for homesite
	{
		ajaxRequest(url,qs,function(req){
			var res = trim(req.responseText);
			var propAdded = 0;
			if(res.indexOf('error')!=-1)
			{
				//alert("Property already added in favorites.");
			}
			else if(res.indexOf('Group name already exist')!=-1)
			{
				propAdded = -1;
				if($("txtGName")) $("txtGName").className = "textboxRed";
				alert('Group name already exist, Please select it from existing groups.');
			}
			else if(res.indexOf('This is reserved group name.')!= -1)
			{
				if($("txtGName")) $("txtGName").className = "textboxRed";
				alert(res);				
				return;
			}
			else if(res.indexOf('exist')!=-1)
			{
				propAdded = -1;
				//DO NOTHING
			}
			else
			{
				//alert('Property successfully added in your favorite list.');
				propAdded = 1;
			}			
			
			if(propAdded >= 0)
			{
				if($("txtGName")) $("txtGName").className = "";
				var locUrl = "http://"+location.hostname+"/ws/po/template/favorite.php?code="+propAdded+"&aid="+fromArr['aid']+"&from="+fromArr['from']+"&id="+fromArr['id']+"&url="+fromArr['homesiteUrl']+"&source="+fromArr['source'];
				if(typeof(fromArr['ps']) != "undefined")
					locUrl += "&ps="+fromArr['ps'];
				if(typeof(fromArr['ouid']) != "undefined")
				{
					if(trim(fromArr['ouid'])!='')
						locUrl += "&ouid="+fromArr['ouid'];
				}
				location.href = locUrl;
			}
			return;
		});
	}
}

function resAddFav(originalRequest)
{
	var res = originalRequest.responseText;	
	if(res.indexOf('error')!=-1)
	{
		var res1 = res.split(':::');
		var infoArr = eval(res1[1]);		
		var errStr = "Following records are not added in favorites due to either they are Inactive OR they are already added to your Favorites. \n\n";
		for(var i=0; i< infoArr.length; i++)
		{
			if(infoArr[i].Tid)
			{				
				var ancIdShow = "fs-"+infoArr[i].Tid;
				var ancIdHide = "fs1-"+infoArr[i].Tid;

				if($(ancIdShow)) $(ancIdShow).style.display="";
				if($(ancIdHide)) $(ancIdHide).style.display="none";
			}
			errStr = errStr + "Address = "+ (infoArr[i].Address.replace(/_/g,',')).replace(/[+]/g,' ') +" ";
			//errStr = errStr + "Reason = "+ infoArr[i].Reason +" \n";
			errStr = errStr + "\n";			
		}
		
		url = '/app/listing/favourite.php';		
		qs = "op=reset";
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";		
		ajaxRequest(url,qs, function resDeleteFav(originalRequest){	});		
		getImages();		
		initSlideShow_pic();
		unsetAllFavoriteIncon();
		alert(errStr);
		favDialog.hide();
		return;
	}
	else if(res.indexOf('Group name already exist')!=-1)
	{
		if($("txtGName")) $("txtGName").className = "textboxRed";
		alert('Group name already exist, Please select it from existing groups.');
		return;
	}
	else if(res.indexOf('This is reserved group name.')!= -1)
	{		
		if($("txtGName")) $("txtGName").className = "textboxRed";
		alert(res);
		return;
	}
	else if(res.indexOf('exist')!=-1)
		return;
	else
	{
		if($("txtGName")) $("txtGName").className = "";
		alert('Property successfully added in your favorite list. ')
		/*var checkArr = chooseChecked('listDiv',true);
		var chkArr2 = new Array();
		for(var i=0; i<checkArr.length; i++)
		{
			var chkArr1 = checkArr[i].split(':::');
			chkArr2[i] = chkArr1[0];
		}
		for(var j=0; j<chkArr2.length; j++)
		{
			$(chkArr2[j]).checked = false;
		}*/
		if(typeof(chkPSAr) != "undefined")
		{
			for (j=0;j<chkPSAr.length ;j++ )
			{
				chkPSAr[j] = null;
			}
			chkPSAr = chkPSAr.compact();
		}
		getImages();
		initSlideShow_pic();
		url = '/app/listing/favourite.php';		
		qs = "op=reset";		
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
		ajaxRequest(url,qs, function resDeleteFav(originalRequest){	});

		favDialog.hide();
		unsetAllFavoriteIncon();
	}
}

function deleteFav(fid,action)
{
	if(confirm('Are you sure to delete this property from your favorites?'))
	{
		url = '/app/feed/processFavourite.php';
		qs = "";
		qs = qs + "action=deleteFav&power=1";
		if(action=='grp')
		{
			qs = qs + "&daction=grp";
			qs = qs + "&gid="+fid;
		}
		else
		{
			qs = qs + "&daction=fav";
			qs = qs + "&fid="+fid;
		}
		
		ajaxRequest(url,qs, function resDeleteFav(originalRequest){
			var res = originalRequest.responseText;
			if(res==1)
			{
				alert('Property has been successfully deleted from the favorites.');
				loadbrokerTabs('myFavorites');
				//loadToDiv(url,'action=showAllFavourites','myFavList');
			}
		});
	}
	else
		return;
}	

// following function is used to delete consumer fav. from front site
function deleteConsFav(fid,action,grpId)
{
	var name="";
	if(action == "grp")
		name = "group";
	else
		name = "property";

	if(confirm('Are you sure to delete this ' + name + ' from your favorites?'))
	{
		url = '/app/feed/processFavourite.php';
		qs = "";
		qs = qs + "action=deleteFav";
		if(action=='grp')
		{
			qs = qs + "&daction=grp";
			qs = qs + "&gid="+fid;
		}
		else
		{
			qs = qs + "&daction=fav";
			qs = qs + "&fid="+fid;
		}
		
		ajaxRequest(url,qs, function resDeleteFav(originalRequest){
			var res = originalRequest.responseText;
			if(res==1)
			{
				alert(name + ' has been successfully deleted from the favorites.');	
				if(action == 'grp')
				{
					grpRow = 'GRP_'+fid;
					grpRow1 = 'GRP1_'+fid;
					grpRow2 = 'GRP2_'+fid;
					favRow	= 'GRP_FAV_'+fid;
					if($(grpRow)) $(grpRow).hide();
					if($(grpRow1)) $(grpRow1).hide();
					if($(grpRow2)) $(grpRow2).hide();
					if($(favRow)) $(favRow).hide();					
					favGrpCnt--;
					if(favGrpCnt == 0)
						$("noRecFnd").show();
				}
				else
				{
					eval('NO_GRP_'+grpId+'--');
					grpFavCnt = eval('NO_GRP_'+grpId);
					if(grpFavCnt == 0) { $('NO_GRP_'+grpId).show();	}
					favRow = 'FAV_'+fid;
					if($(favRow)) $(favRow).hide();
				}
			}
		});
	}
	else
		return;
}	
// following function is used to load Fav Row @ from front site
function showFavRow(id,grpid)
{
	if($(id) && $(id).visible())
	{
		$(id).hide();
		$(grpid).innerHTML = '<img src="/wt/'+bkTheme+'/images/common/favorire_plus.gif"/> ';
	}
	else if($(id) && !$(id).visible())
	{
		$(id).show();
		$(grpid).innerHTML = '<img src="/wt/'+bkTheme+'/images/common/favorire_minus.gif"/> ';
	}
}

function getFavByGroup(gid)
{	
	url = '/app/feed/processFavourite.php';
	qs = "action=getFavByGroup&power=1";
	qs = qs + "&gid="+gid;
	var inDiv = 'div_'+gid;

	if($(inDiv).style.display=='none')
		$(inDiv).style.display='inline';
	else
		$(inDiv).style.display='none';
	$(inDiv).innerHTML = "Loading...";
	//menuToggle(inDiv);
	ajaxRequest(url,qs,function resGetFavByGroup(originalRequest){
		$(inDiv).innerHTML = originalRequest.responseText;
	},false);
}

function checkAll(gid)
{
	getFavByGroup(gid);
	if($('g_'+gid).checked == true)
	{
		var checkArr = chooseChecked('div_'+gid);
		for(var i=0; i<checkArr.length; i++)
		{
			$(checkArr[i]).checked = true;	
		}
	}
	else
	{
		var checkArr = chooseChecked('div_'+gid);
		for(var i=0; i<checkArr.length; i++)
		{
			$(checkArr[i]).checked = false;	
		}
	}
}

function showFavPopupDualPane(from)
{	
	if(typeof(favDialogDualpane) == 'string')
	{
		var url = '/app/feed/favoritePopupDualPane.php';
		var qs = '';
		if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || (typeof(psForBasicAgent) != "undefined" && psForBasicAgent == "1")))
			qs = qs + "&power=1";

		if(typeof(from) != "undefined" && from == "listing")
			qs += "&from=listing";
		
		ajaxRequest(url,qs,function(reqObj){
			var response = trim(reqObj.responseText);
			if(response == "0")
			{
				alert("No favorites added.");
				setMapItCookie('favorites','del');
				ClrQckSrchCookies();
				return;
			}
			else
			{
				var myDiv = document.createElement('div');
				myDiv.innerHTML = response;
				document.body.appendChild(myDiv);
				$('favGselectDiv').style.display="block";
				favDialogDualpane = createDialog('favGselectDiv');
				favDialogDualpane.beforeHideEvent.subscribe(clrFavDlg, this);			
				favDialogDualpane.show();			
			}
		},false);	
	}
	else
	{
		var url = '/app/feed/processFavourite.php';
		var qs = 'action=getAllGoupsforDualPane';
		if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || (typeof(psForBasicAgent) != "undefined" && psForBasicAgent == "1")))
			qs = qs + "&power=1";
		
		ajaxRequest(url,qs,function(reqObj){
			var response = trim(reqObj.responseText);
			if(response == "null")
			{
				alert("No favorites added.");
				setMapItCookie('favorites','del');
				return;
			}
			else
			{	
				$("dvChkGrpFav").innerHTML = "";
				var groups = eval(response);
				var str = '<table cellpadding="0" cellspacing="0" height="" width="100%">';
					str += '	<tr><td width="7%"><input type="checkbox" id="favGrpAll" value="All" onclick="javascript:selectAllFavGrp();"/></td><td class="contentSHPopup lang" width="93%">All</td></tr>';

				for(var i=0; i<groups.length; i++)
				{
					str += '	<tr><td width="7%"><input type="checkbox" id="favGrp'+groups[i]['G_ID']+'" value="'+groups[i]['G_ID']+'" onclick="javascript:uncheckSelFavGrp(this);"/></td><td class="contentSHPopup lang" width="93%">'+groups[i]['G_NAME']+'</td></tr>';
				}
				str += '</table>';
				$("dvChkGrpFav").innerHTML = str;				
				favDialogDualpane.show();			
			}
		},false);
	}
}

function loadSelectedFavGroup(from,power)
{
	var chkdArr = "";
	var chkArr = $A($("dvChkGrpFav").getElementsByTagName("input"));

	for(var i=0;i<chkArr.length;i++)
	{
		if(chkArr[i].type == "checkbox" && chkArr[i].checked == true)
			chkdArr += chkArr[i].value +",";
	}
	chkdArr = chkdArr.substr(0,chkdArr.length-1);

	if(chkdArr.include("All"))
		chkdArr = "All";
	
	if(chkdArr == "" || chkdArr == null)
	{
		alert("Please select atleast one group");
		return;
	}
	else
	{
		selFavGrps = chkdArr;
		chkdArr = null;
		favDialogDualpane.hide();

		if(typeof(from) != "undefined" && from == "listing")
		{
			if(typeof(map2) == 'object')
			{
				map2.clearOverlays();	
				localBitArr = '';
				localBitArr = new Array()
			}
			if($('bit_select_box') && $F('bit_select_box') == 'favorites')
			{	
				removePolyRelated();
			}
			var sortIndex = $F('sortProp');
			var sortType =  $F('highLowVal');
			
			if(typeof(power) != "undefined" && power == "1")
				setUpDown(sortIndex,sortType,"load");
			else
				setUpDown(sortIndex,sortType);
		}
		else
			loadBit("favorites");
	}
}

function selectAllFavGrp(from)
{
	var divObj = "";
	var selObj = "";
	if(typeof(from) == "undefined")
	{
		divObj = "dvChkGrpFav";
		selObj = "favGrpAll";
	}
	else
	{
		divObj = "multiGrpFavList";
		selObj = "G_all";
	}

	var arrChkBox = $(divObj).getElementsByTagName("input");
	var lenChkBox = arrChkBox.length;
	for(var i=0;i<lenChkBox;i++)
	{
		if(arrChkBox[i].id == selObj)
		{
		 	continue;
		}
	    if(($(selObj).checked == true) && (arrChkBox[i].type == "checkbox"))
	    {
	    	arrChkBox[i].checked = true;
	    }
	    else if(arrChkBox[i].type == "checkbox")
	    {
    		arrChkBox[i].checked = false;
	    }
	}
}

function uncheckSelFavGrp(objChkBox,from) 
{
	var selObj = "";
	if(typeof(from) == "undefined")
		selObj = "favGrpAll";
	else
		selObj = "G_all";

	if(($(selObj).checked == true) && (objChkBox.checked == false))
	{
		$(selObj).checked = false;
	}
}

function clrFavDlg()
{	
	setMapItCookie('favorites','del');	
	cancelFav();
}

var fromWhereforEmailFriend="";
function sendMailOfPowerProperty(fromWhere)
{
	if($("divSaveSearch")) {$("divSaveSearch").style.display = "none";}
	//if($("powerAdvSearch")) {$("powerAdvSearch").style.display = "none";}
	if($("prpStat")) {$("prpStat").style.display = "none";}
	if($("divEmailSaveSearch")) {$("divEmailSaveSearch").style.display = "none";}
	//if($("trSaleDate")) {$("trSaleDate").style.display = "none";}
	if($("divAutoComp")) {$("divAutoComp").style.display = "none";}
	if($('RSshPopupDesc')) { $('RSshPopupDesc').style.display='none'; }
	if($('divRSType')) { $('divRSType').style.display='none'; }
	if($('prpTyp')) { $('prpTyp').style.display='none'; }
	if($('localSearchTxt') && $('divLocalSearch')) {$('divLocalSearch').style.display='none';}
	if($('mySavedSrchTxt') && $('divMySavedSrch')) {$('divMySavedSrch').style.display='none';}
	if($("divMultiCity")) $("divMultiCity").style.display = "none";

	fromWhereforEmailFriend=fromWhere;
	var selArray;
	var propExist=0;
	if(fromWhere=="fromFavourites")
	{
		selArray = chooseChecked('myFavList',true);
		for(i=0;i<selArray.length;i++)
		{
			var value = selArray[i];
			if(value.indexOf("PKT")>-1 || value.indexOf("MLS")>-1 || value.indexOf("ENH")>-1)
			{
				propExist=1
				break;
			}
		}
		if(propExist==0)
		{	
			alert("Please select properties to send in mail.");
			return;
		}
	}
	else if(fromWhere != null)
	{
        selArray = new Array(fromWhere);
	}
	else
	{
		selArray = chkPSAr;//chooseChecked('ListingsListDiv',true);
	}
	if(selArray==false || selArray.length == 0 )
	{
		alert("Please select properties to send in mail.");
		return;
	}
	dlgMLSConfirmBox = createDialog('divPowerPopup_Email');
	$('divPowerPopup_Email').style.display="block";
	//$("powerFrmEmail").value="";
	$("powerToEmail").value="";
	$("powerDesc").value="";
	$('powerPopupErr').innerHTML = '';
	$('powerToEmail').className = "textbox";		
	$('divPowerPopup_Email').style.display="block";
	$('divPowerPopup_Email').parentNode.style.zIndex = 12;

	if($('divPowerPopup_Email_c')) $('divPowerPopup_Email_c').style.zIndex='17';
	if($('divPowerPopup_Email_mask')) $('divPowerPopup_Email_mask').style.zIndex='16';

	dlgMLSConfirmBox.show();

}

function emailToFriendPower()
{
	var retFlag = checkValidationEmailPowerPopup();
	if(retFlag==false)
		return;
	//to check if from favrts email friend - or - email friend tab on mapit
	var selArray;
	var ps = "";
	if(fromWhereforEmailFriend=="fromFavourites")
	{
		 selArray = chooseChecked('myFavList',true);		 
		 for(i=i;i<selArray.length;i++)
		 {
			 if(selArray[i] == "on")
				 continue;
			 else
			 {
				 if(selArray[i].include("_"))
					 selArray[i] = selArray[i].split("_")[0];
			 }
		 }
		 ps = 1;
	}
    else if(fromWhereforEmailFriend != null)
	{
        selArray = new Array(fromWhereforEmailFriend);
	}
    else
		selArray = chkPSAr;//chooseChecked('ListingsListDiv',true);

	var toArr = ($('powerToEmail').value).split(',');
	for(i=0;i<toArr.length;i++) 
	{
		var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
		if(trim(toArr[i])!='')
		{
			if (filter.test(trim(toArr[i])))
				{
					var testResults = true;
				}
			else
				{ 	
					$('powerPopupErr').innerHTML = '<span class="errorMsg">Please input valid email addresses in recipients!</span>';
					$('powerToEmail').className = 'textboxRed';
					return false;
				}
		}	
	}

	var host = location.hostname;

	var url = "http://"+host+"/app/feed/psEmailPopup.php";
	var querys = new Querystring();
	var queryString = 'emailFlag=1&checkedArr='+selArray+"&frmEmail="+$("powerFrmEmail").value+"&toEmail="+$("powerToEmail").value+"&desc="+escape($("powerDesc").value);
	//var queryString = 'emailFlag=1&checkedArr='+selArray+"&toEmail="+$("powerToEmail").value+"&desc="+$("powerDesc").value;

	if (querys.get("ps") == "1")
	{
		queryString += "&ps=1&aid=" + querys.get("aid");
	}
	else if(ps == 1)
	{
		queryString += "&ps=1&aid=" + uid;
	}
	else if(querys.get("aid") != null)
	{
		queryString += "&aid=" + querys.get("aid");
	}
	else if(typeof(frmAgtUid) != 'undefined' && frmAgtUid != '' && frmAgtUid != '0')
		queryString += "&aid=" + frmAgtUid;
	else if(querys.get("ouid") != null)
	{
		queryString += "&ouid=" + querys.get("ouid");
	}
	else if(typeof(uid) != "undefined" && typeof(uRole) != "undefined" && (uRole == "EA" || (uRole == "A" && typeof(psForBasicAgent) != "undefined" && psForBasicAgent == "1")))
		queryString += "&ps=1&aid=" + uid;

	ajaxRequest(url,queryString,function(reqobj)
	{
		var response = trim(reqobj.responseText);
		//if(response=="mail sent")
			alert('Your mail has been sent.');
			dlgMLSConfirmBox.hide();

	});
}
function checkValidationEmailPowerPopup()
{
	if(!isBlank('powerToEmail','To Email Address.'))
	{
		$('powerPopupErr').innerHTML = '<span class="errorMsg">Please provide atleast one recipient email id.</span>';
		$('powerToEmail').className = 'textboxRed';
		//$('powerFrmEmail').className = 'textbox';
		return false;
	}
	$('powerPopupErr').innerHTML = '';
	$('powerToEmail').className = "textbox";		
	//$('powerFrmEmail').className = "textbox";		
}

function beforeHidefavDialog()
{
	if($("cmbGrp")) $("cmbGrp").style.display = "none";
}

function beforeShowfavDialog()
{
	if($("cmbGrp")) $("cmbGrp").style.display = "";
}

function cancelFav()
{	
	if(hdBtnClk == 1)
	{
		hdBtnClk = "";
		return;
	}
	
	if($('bit_select_box'))
	{
		if( trim(getSearchCookie("listType")) == "all" || trim(getSearchCookie("listType")) == "" || trim(getSearchCookie("listType")) == "favorites")
			$('bit_select_box').selectedIndex = 0;
		else if( trim(getSearchCookie("listType")) != "" && $('bit_select_box') )
			$('bit_select_box').value =  trim(getSearchCookie("listType"));
	
		if(trim($('bit_select_box').value)  != "favorites")
			hideSavedSearch(); //blank passed to show the hidden Saved Search link...Jahnvi
	}

}

/*googleDrivingDirection.js*/

	var gdirmap;
	var gdirmapTab;
    var gdirections;
	var fromAdd = "26450 ascension dr, los altos, ca 94022";
	var toAdd = "10 coronado ave, los altos, ca 94022";
//	var fromAdd = "Los Altos, CA 94022";
//	var toAdd = "New York, NY 10001";
	var flg = "";
	var drivingTab = false;
	var htmlTosetDir = "";

	function closeDirectionsTab()
	{
		var i = 0 ;
		while(srTabs.getTab(i))
		{
			if(srTabs.getTab(i).get("label") == "Driving Directions")
			{
				break;
			}
			i++;
		}
		srTabs.removeTab(srTabs.getTab(i));
		drivingTab = false;
		$("dirTabBd").innerHTML = htmlTosetDir;
	}
	function showDirectionsTab(from,to,flag)
	{
		
		if(!drivingTab)
		{
			var newGDirTabArr = {}
			newGDirTabArr["Driving Directions"] = null;
			srTabs = addTabs(srTabs,newGDirTabArr,[true]);
			var i = 0 ;
			while(srTabs.getTab(i))
			{
				i++;
			}
			i--;
			drivingTab = true;
			htmlTosetDir = $("dirTabBd").innerHTML;
			$("dirTabBd").innerHTML = "";
		}
		else
		{
			var i = 0 ;
			while(srTabs.getTab(i))
			{
				if(srTabs.getTab(i).get("label") == "Driving Directions")
				{
					break;
				}
				i++;
			}
		}
		srTabs.getTab(i).set("content",'<div class="mapItListDiv">'+htmlTosetDir+'</div>');
		srTabs.getTab(i).set("disabled", false);
		srTabs.set("activeTab", srTabs.getTab(i), true);
		

			
						
		if (GBrowserIsCompatible())
		{      
			flg = flag;
			var elem = document.getElementById("gdirmapTab");
			gdirmapTab = new GMap2(elem);
			mapTypeCtrl = new mapTypeControl();
			gdirmapTab.addControl(mapTypeCtrl);
			if (bkTheme == "frontdoor")
		    {
			     ysliderCtrl = new ZoomControl();
			     gdirmapTab.addControl(ysliderCtrl);
			     gdirmapTab.addControl(new GMapTypeControl());
		    }
		    else
		    {
				 zoomCtrl = new ZoomControl();
			     gdirmap.addControl(zoomCtrl);
	        }
			GEvent.addListener(gdirmapTab,"maptypechanged",function(){highlightMapTypeBtn(gdirmapTab);});
			if (typeof(gdirmapTab) != "undefined")
			{
				gdirections = new GDirections(gdirmapTab,document.getElementById("gdirdirections"));
				GEvent.addListener(gdirections, "load", onGDirectionsLoad);
				GEvent.addListener(gdirections, "addoverlay", displayDirectionInPanel);
				GEvent.addListener(gdirections, "error", handleErrors);
				fromAdd = from;
				toAdd = to;
				setDirections(fromAdd,toAdd, "en_US");
			}
			//setDirections(from,to, "en_US");
		}
	}
    function showDirections(from,to,flag)
    {
		if (GBrowserIsCompatible())
		{      
			flg = flag;
			gdirmap = new GMap2(document.getElementById("gdirmap"));

			mapTypeCtrlGDir = new mapTypeControlGDir();
			gdirmap.addControl(mapTypeCtrlGDir);

            if (bkTheme == "frontdoor")
		    {
			     ysliderCtrl = new ZoomControl();
			     gdirmap.addControl(ysliderCtrl);
			     gdirmap.addControl(new GMapTypeControl());
		    }
		    else
		    {			 
				 zoomCtrl = new ZoomControl();
			     gdirmap.addControl(zoomCtrl);			 
	        }
			
			GEvent.addListener(gdirmap,"maptypechanged",function(){highlightMapTypeBtnGDir(gdirmap);});
			if (typeof(gdirmap) != "undefined")
			{
				gdirections = new GDirections(gdirmap,document.getElementById("gdirdirections"));
				GEvent.addListener(gdirections, "load", onGDirectionsLoad);
				GEvent.addListener(gdirections, "addoverlay", displayDirectionInPanel);
				GEvent.addListener(gdirections, "error", handleErrors);
				$('gdirmap').style.display = "";
				fromAdd = from;
				toAdd = to;
				setDirections(fromAdd,toAdd, "en_US");
			}
			//setDirections(from,to, "en_US");
		}
	}
    
    function displayDirectionInPanel() 
	{
		var objQs=new Querystring();
		var aid=objQs.get('aid');	
		var frm =objQs.get('frm');
		var ouid =objQs.get('ouid');
		
		var querystring = '';
		querystring = querystring + "from=" +escape(fromAdd);
		querystring =querystring + "&to=" +escape(toAdd);
		//var printUrl = "/app/misc/showDirection.php?from="+escape(fromAdd)+"&to="+escape(toAdd);
		if(aid != '' && aid != null)
			querystring =querystring + "&aid=" +escape(aid);
		if(ouid != '' && ouid != null)
			querystring =querystring + "&ouid=" +escape(ouid);
		if(frm != '' && frm != null)
			querystring =querystring + "&frm=" +escape(frm);
		
		var printUrl = "/app/misc/showDirection.php?" + querystring;
		
		var toDisplay='<table style="width: 100%;" border="0">'+
							'<tbody>'+
								'<tr style="height: 40px;">';
		if(flg == "1")						
			toDisplay +=			'<td colspan="3" align="right"><div style="display:none;float:left;margin-left:5px;"><button id="btnPrint" onclick="window.open(\''+printUrl+'\',\'_blank\');">Print</button>&nbsp;<button id="btnClose" onclick="drivingDirectionDlg.hide();">Close</button></div><div style="display:inline;float:right;" class="apiTd"><span style="font-size: 12px; font-weight: bold;">Total:&nbsp;</span><span style="font-size: 12px;">'+gdirections.getDistance().html +' (about '+gdirections.getDuration().html+')</span></div></td>';
		else
			toDisplay +=			'<td colspan="3" align="right"><div style="display:inline;float:left;margin-left:5px;"><button id="btnPrint" onclick="window.open(\''+printUrl+'\',\'_blank\');">Print</button>&nbsp;<button id="btnClose" onclick="drivingDirectionDlg.hide();">Close</button></div><div style="display:inline;float:right;" class="apiTd"><span style="font-size: 12px; font-weight: bold;">Total:&nbsp;</span><span style="font-size: 12px;">'+gdirections.getDistance().html +' (about '+gdirections.getDuration().html+')</span></div></td>';
		toDisplay +=			'</tr>'+
								'<tr class="gdiraddtr">'+
									'<td align="center"><img src="http://www.google.com/intl/en_ALL/mapfiles/icon-dd-play-gray.png"></td>'+
									'<td class="gdirstartAt" colspan="2" align="left">Start : <span id="startAddress" style="display:">'+fromAdd+'&nbsp;<a href="#" onclick="$(\'startAddress\').style.display=\'none\';$(\'editStartAddress\').style.display=\'\';" class="moduleAnchor">edit</a></span>'+
									'<span id="editStartAddress" style="display:none"><input type="text" id="txtFromAddress" class="textbox" style="width:230px;"value="'+fromAdd+'">&nbsp;<a href="#" onclick="fromAdd=$(\'txtFromAddress\').value;setDirections(fromAdd,toAdd);$(\'startAddress\').style.display=\'\';$(\'editStartAddress\').style.display=\'none\';" class="moduleAnchor">save</a>&nbsp;<a href="#" onclick="$(\'startAddress\').style.display=\'\';$(\'editStartAddress\').style.display=\'none\';" class="moduleAnchor">cancel</a></span>'+
								'</tr>';
		var steps = gdirections.getRoute(0).getNumSteps();
		for(i=0;i<steps;i++)
		{
			toDisplay+=			'<tr style="width: 100%;">'+
									'<td class="gdirsteptd1" align="center">'+(i+1)+'</td>'+
									'<td class="gdirsteptd2" align="left">'+gdirections.getRoute(0).getStep(i).getDescriptionHtml()+'</td>'+
									'<td class="gdirsteptd3" align="right">'+gdirections.getRoute(0).getStep(i).getDistance().html+'</td>'+
								'</tr>';
		}
		toDisplay+=				'<tr class="gdiraddtr">'+
									'<td align="center"><img src="http://www.google.com/intl/en_ALL/mapfiles/icon-dd-stop-gray.png"></td>'+
									'<td class="gdirstartAt" colspan="3" align="left">End : '+toAdd+'</td>'+
								'</tr>'+
							'</tbody>'+
						'</table>';
		toDisplay+=				'<div align="right" style="font-size:12px;">' +gdirections.getCopyrightsHtml()+ '</div>';
		if(bkTheme=="frontdoor")
		{
			$("gdirDisplayTab").innerHTML=toDisplay;
		}
		else
		{
			$("gdirDisplay").innerHTML=toDisplay;
		}
		//alert(gdirections.getRoute(0).getSummaryHtml());
		
		/*to plot customize marker
		alert(gdirections.getMarker(0).getPoint().lat());
		
		gdirections.getMarker(0).hide();
		
		point = new GLatLng(gdirections.getMarker(0).getPoint().lat(),gdirections.getMarker(0).getPoint().lng());
		alert(point.lat() + "   " + point.lng());
		
		var pushPinIcon = new GIcon(); 
		pushPinIcon.image = "../../wt/terabitz/images/pushpin/airport_pushpin_h.png"; 
		pushPinIcon.iconSize = new GSize(30,34);
		pushPinIcon.iconAnchor = new GPoint(6, 20);
		pushPinIcon.infoWindowAnchor = new GPoint(5, 1);		
		alert(point);
		var startMarker = new GMarker(point,{icon: pushPinIcon});	
		alert(startMarker.getPoint().lat());
		//alert(startMarker.getPoint().lat());	
		gdirmap.addOverlay(startMarker);*/
	}
    
    
	/*function displayDirectionInPanel() 
	{
		directionsDisplay = document.getElementById("gdirDisplay");
		if (directionsDisplay.hasChildNodes())
			directionsDisplay.removeChild(directionsDisplay.firstChild);
		var tblMain = document.createElement("table");
		tblMain.border="0";
		tblMain.style.width="100%";
		
		var tr1 = document.createElement("tr");
		tr1.style.height = "40px";
		tblMain.appendChild(tr1);
		var td1 = document.createElement("td");
		tr1.appendChild(td1);
		
		td1.setAttribute("colspan","3");
		td1.align="right";
		td1.innerHTML = "<span style='font-size:12px;font-weight:bold;'>Total:&nbsp;</span><span style='font-size:12px;'>"+gdirections.getDistance().html + " (about " + gdirections.getDuration().html + ")"+"</span>";

		var startAtTr = document.createElement("tr");
		startAtTr.className="gdiraddtr";
		tblMain.appendChild(startAtTr);
		
		var startAtTdImg = document.createElement("td");
		startAtTr.appendChild(startAtTdImg);
		startAtImg = document.createElement("img");
		startAtImg.src = "http://www.google.com/intl/en_ALL/mapfiles/icon-dd-play-gray.png";
		startAtTdImg.align= "center";
		startAtTdImg.appendChild(startAtImg)
		
		var startAtTd = document.createElement("td");
		startAtTr.appendChild(startAtTd);
		
		startAtTd.setAttribute("colspan","2");
		startAtTd.align="left";
		startAtTd.className = "gdirstartAt";
		startAtTd.innerHTML = "Start : "+fromAdd;

		var steps = gdirections.getRoute(0).getNumSteps();
		if(steps>0)
		{
			for(i=0;i<steps;i++)
			{
				var steptr = document.createElement("tr");
//				steptr.className = "steptr";
				steptr.style.width = "100%";
				tblMain.appendChild(steptr);
				
				var steptd1 = document.createElement("td");
				steptd1.className="gdirsteptd1";
				steptr.appendChild(steptd1);

				var steptd2 = document.createElement("td");
				steptd2.className="gdirsteptd2";
				steptr.appendChild(steptd2);

				var steptd3 = document.createElement("td");
				steptd3.className="gdirsteptd3";
				steptr.appendChild(steptd3);
				
				steptd1.align="center";
				steptd1.innerHTML = ""+(i+1);

				steptd2.align="left";
				steptd2.innerHTML = gdirections.getRoute(0).getStep(i).getDescriptionHtml();
				steptd3.align="right";
				steptd3.innerHTML = gdirections.getRoute(0).getStep(i).getDistance().html;
			}
		}

		var endAtTr = document.createElement("tr");
		endAtTr.className="gdiraddtr";
		tblMain.appendChild(endAtTr);
		
		var endAtTdImg = document.createElement("td");
		endAtTr.appendChild(endAtTdImg);
		endAtImg = document.createElement("img");
		endAtImg.src = "http://www.google.com/intl/en_ALL/mapfiles/icon-dd-stop-gray.png";
		endAtTdImg.align= "center";
		endAtTdImg.appendChild(endAtImg)

		var endAtTd = document.createElement("td");
		endAtTr.appendChild(endAtTd);
		
		endAtTd.setAttribute("colspan","3");
		endAtTd.align="left";
		endAtTd.className = "gdirstartAt";
		endAtTd.innerHTML = "End : "+toAdd;
		directionsDisplay.appendChild(tblMain);
		
		var myIH = directionsDisplay.innerHTML;
		if (directionsDisplay.hasChildNodes())
			directionsDisplay.removeChild(directionsDisplay.firstChild);
		directionsDisplay.innerHTML = myIH;			
	}*/
    
    function setDirections(fromAddress, toAddress, locale)
	{
		if (typeof(locale) == "undefined")
			locale = "en_US";
		gdirections.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
	}

    function handleErrors()
    {
		
		if($('gdirDisplay'))
			$('gdirDisplay').innerHTML = " ";

		if($('gdirmap'))
			$('gdirmap').style.display = "none";

		if (gdirections.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
			alert("No corresponding geographic location could be found for one of the specified addresses. This may be due to the fact that the address is relatively new, or it may be incorrect.\nError code: " + gdirections.getStatus().code);
		else if (gdirections.getStatus().code == G_GEO_SERVER_ERROR)
			alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdirections.getStatus().code);
		else if (gdirections.getStatus().code == G_GEO_MISSING_QUERY)
			alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdirections.getStatus().code);
		//else if (gdirections.getStatus().code == G_UNAVAILABLE_ADDRESS)  <--- Doc bug... this is either not defined, or Doc is wrong
		//alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdirections.getStatus().code);
		else if (gdirections.getStatus().code == G_GEO_BAD_KEY)
			alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdirections.getStatus().code);
		else if (gdirections.getStatus().code == G_GEO_BAD_REQUEST)
			alert("A directions request could not be successfully parsed.\n Error code: " + gdirections.getStatus().code);
		else 
			alert("An unknown error occurred.");
		
		if (bkTheme == "frontdoor")
		{
			closeDirectionsTab();
		}
		else
		{
			if(YAHOO && drivingDirectionDlg)
			{
				drivingDirectionDlg.hide();
			}
		}
	}

	function onGDirectionsLoad()
	{ 
	}

function showDirectionsMS(from,to)
{
	try
	{
		fromAdd = from;
		toAdd = to;

		var locations;
		locations = new Array(fromAdd, toAdd);
		var options = new VERouteOptions;

		// Otherwise what's the point?
		options.DrawRoute      = true;

		// So the map doesn't change:
		options.SetBestMapView = true;

		// Call this function when map route is determined:
		//options.RouteCallback  = ShowTurns;

		// Show as miles
		options.DistanceUnit   = VERouteDistanceUnit.Mile;

		// Show the disambiguation dialog
		options.ShowDisambiguation = true;

		map.GetDirections(locations, options);
	}
	catch(e){}
}
function highlightMapTypeBtnGDir(maparg)
{
	if (maparg)
		mapType = maparg.getCurrentMapType().getName(true);
	if(mapType=="Map")
	{
		document.getElementById("btnMapGDir").className="mapTypeButtonSelect";
		document.getElementById("btnSatGDir").className="mapTypeButton";
//		document.getElementById("btnHyb").className="mapTypeButton";
		document.getElementById("btnTerGDir").className="mapTypeButton";
	}
	else if(mapType=="Sat")
	{
		document.getElementById("btnMapGDir").className="mapTypeButton";
		document.getElementById("btnSatGDir").className="mapTypeButtonSelect";
//		document.getElementById("btnHyb").className="mapTypeButton";
		document.getElementById("btnTerGDir").className="mapTypeButton";
	}
/*	else if(mapType=="Hyb")
	{
		document.getElementById("btnMap").className="mapTypeButton";
		document.getElementById("btnSat").className="mapTypeButton";
		document.getElementById("btnHyb").className="mapTypeButtonSelect";
		document.getElementById("btnTer").className="mapTypeButton";
	}
*/
	else if(mapType=="Ter")
	{
		document.getElementById("btnMapGDir").className="mapTypeButton";
		document.getElementById("btnSatGDir").className="mapTypeButton";
//		document.getElementById("btnHyb").className="mapTypeButton";
		document.getElementById("btnTerGDir").className="mapTypeButtonSelect";
	};
}

/*share.js*/

// functions related to sharing pages
var shareDlg = "";
var fromPage = "";
var singleShare = "";
function showSharePopup(from,link,extraInfo,Status,lpid)
{
	fromPage = from;
	share = true;
	if($('searchCity'))
		var searchCity = trim($('searchCity').value);
	else
		var searchCity = "";

	if($('searchState'))
		var searchState = trim($('searchState').value);
	else
		var searchState = "";

	if($('searchZip'))
		var searchZip = trim($('searchZip').value);
	else
		var searchZip = "";
	
	if((searchCity == "") && (searchZip == ""))
	{
		setAllCookieValue();
	}
	else if((searchCity != "") && (searchZip == "") && (searchState == ""))
	{
		setAllCookieValue();	
	}
	
	/*if(extraInfo)
	{
		var isDiff="";
	}
	else
		var isDiff=funCompareSearchCookie();
	
	if(isDiff!="")
	{
		var chkValue =  funCheckContradict();
		if(chkValue!=null && chkValue!=0)
		{
			if(from=='dashboard')
			{
				var updateBitz  = funQckUpdateWidgets(null,'share');
			}
			else
			{
				var updateBitz = true;
			}
			if(updateBitz)
			{
				var url = '../dashboard/sharePopup.php';
				if($('divSharePopup')==null)
				{
					var queryString = "divnull=1&lpid="+lpid;
					ajaxRequest(url,queryString,function showResponseShare(originalRequest){
																				var response = originalRequest.responseText;
																				var myDiv = document.createElement('div');
																				myDiv.innerHTML = response;
																				document.body.appendChild(myDiv);
																				shareDlg = createDialog("divSharePopup");
																				shareDlg.beforeHideEvent.subscribe(beforeHideShare, this);
																				shareDlg.beforeShowEvent.subscribe(beforeShowShare, this);
																				getShareUrl(from,link,extraInfo,Status);
																				
																			}	
					);
				}
				else
				{
					var queryString = "&lpid="+lpid;
					loadToDiv(url,queryString,'innerShareDiv',function(request){	var response = request.responseText;
																					getShareUrl(from,link,extraInfo,Status);
																		   });
				}
			}
		}
		else
			return;
	}
	else
	{*/
		var url = '../dashboard/sharePopup.php';
		var myQs = new Querystring();
	    var ps = myQs.get("ps");
		var aid = myQs.get("aid");
		var ouid = myQs.get("ouid");

        if($('divSharePopup')==null)
		{			
			var queryString = '';
			if(ps=='1')
				queryString = "divnull=1&lpid="+lpid+"&ps=1&aid="+aid;
			else if ( aid != null && aid != '' )
				queryString = "divnull=1&lpid="+lpid+"&aid="+aid;
			else if ( ouid != null && ouid != '' )
				queryString = "divnull=1&lpid="+lpid+"&ouid="+ouid;
			else
				queryString = "divnull=1&lpid="+lpid;

		    ajaxRequest(url,queryString,function showResponseShare(originalRequest){
																				var response = originalRequest.responseText;
																				var myDiv = document.createElement('div');
																				myDiv.innerHTML = response;
																				document.body.appendChild(myDiv);
																				shareDlg = createDialog("divSharePopup");
																				$('divSharePopup').parentNode.style.zIndex = 12;
																				shareDlg.beforeHideEvent.subscribe(beforeHideShare, this);
																				shareDlg.beforeShowEvent.subscribe(beforeShowShare, this);
																				
																				getShareUrl(from,link,extraInfo,Status);
																			}
						);					
		}
		else
		{
			var queryString = '';
			if(ps=='1')
				queryString = "&lpid="+lpid+"&ps=1&aid="+aid;
		    else if ( aid != null && aid != '' )
				queryString = "&lpid="+lpid+"&aid="+aid;
		    else if ( ouid != null && ouid != '' )
				queryString = "&lpid="+lpid+"&ouid="+ouid;
			else
				queryString = "&lpid="+lpid;

			loadToDiv(url,queryString,'innerShareDiv',function(request){	var response = request.responseText;
																				getShareUrl(from,link,extraInfo,Status);
																	   });
		}
	//}
}
function getShareUrl(from,link,extraInfo,Status)
{
	var url = '../dashboard/sharePopup.php';
	var cookBitz="";
	var qs= new Querystring();
	if(from=='dashboard')
	{
		if(typeof(getWidgetCookie)=='function')
		{
			for(r=1;r<=3;r++)
			{
				for(c=1;c<=3;c++)
				{
					var cookName = 'widget'+r+'X'+c;
					var cookVal= getWidgetCookie(cookName);
					if(cookVal!=null && trim(cookVal) != "")
					{
						cookBitz=cookBitz+':::'+cookVal+","+r+","+c;
					}
				}
			}	
			cookBitz=cookBitz.substring(3);
		}
		else
		 cookBitz = "";
	}
	else if(from=='singleProp')
	{
		if(extraInfo && trim(extraInfo)!="")
			var initBitsArr = bitArr;
		else if(qs.get('cf')==0)
			var initBitsArr = bitArr;
		else
			var initBitsArr = getAllMapItCookie();

        
        for(var i=0; i<initBitsArr.length; i++)
		{
			if(initBitsArr[i] != 'favorites')
			{
			cookBitz = cookBitz+','+initBitsArr[i];
            }
		}
		
		var mlsnoBit = 0;
		if(!myHash['MLSNumber'] || myHash['MLSNumber'] == "undefined")
			mlsnoBit = 0;
		else
			mlsnoBit = 1;
		if (mlsnoBit == 1)
		{
			if(cookBitz != "")
				cookBitz += ",mlsnosearch";
			else
				cookBitz += ",mlsnosearch";
			cookBitz = cookBitz.substring(1);
		}
		var mlsSrchBit = 0;
		if(!myHash['MLSSearch'] || myHash['MLSSearch'] == "undefined")
			mlsSrchBit = 0;
		else
			mlsSrchBit = 1;
		if (mlsSrchBit == 1)
		{
			if(cookBitz != "")
				cookBitz += ",mlsaddrsearch";
			else
				cookBitz += ",mlsaddrsearch";
			cookBitz = cookBitz.substring(1);
		}
		var ckMapitBits = getAllMapItCookie();
		if(ckMapitBits.indexOf('powersearch') != -1)
		{
			if(cookBitz != "")
				cookBitz += ",powersearch";
			else
				cookBitz += ",powersearch";
			cookBitz = cookBitz.substring(1);
		}
	}	
	
	if(extraInfo && trim(extraInfo)!="")
	{
		if(Status=='R')
			var pStatus = 'R';
		else
			var pStatus = 'A';
		var addArr = extraInfo.split(',');
	}
	else
	{
		var pStatus = "N";
	}
	
	var code = getCookie('strSearchCookie');
				
	var queryString="from="+from+"&cookBitz="+cookBitz+"&strSrch="+code+"&status="+pStatus;
	/*if(from=='emailToFriend')
	{
		var queryString = "from="+from+"&link="+escape(link);
	}*/
	if(extraInfo && trim(extraInfo)!="")
	{
		 singleShare = true;
		 if(Status=='R')
	     	queryString = queryString + '&pid='+addArr[0]+','+addArr[1]+','+addArr[2];
		 else	
		 	queryString =  queryString + '&address='+escape(addArr[0])+'&city='+escape(addArr[1])+'&state='+addArr[2]+'&zip='+addArr[3]+'&price='+addArr[4]+'&beds='+addArr[5]+'&baths='+addArr[6];	
	}
	if(from=='singleProp')
	{
		queryString = queryString +'&mapZoom='+map.getZoom()+'&mapCenter='+map.getCenter();
	}

	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");
	var ouid = myQs.get("ouid");	
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		queryString = queryString +'&frm=agt&aid='+aid;
	}
	else if(frm != null && trim(frm) == 'frch' && ouid != null && trim(ouid) != "")
	{
		queryString = queryString +'&frm=frch&ouid='+ouid;
	}	
	if($('chkmapSearchSelect') != null) 
	{
		if($('chkmapSearchSelect').checked == true)
		{
			queryString = queryString + '&valChkMapSearchSelect=1';
		}
		else
		{
			queryString = queryString +'&valChkMapSearchSelect=0';
		}
	}
	url=url+"?"+queryString;
	ajaxRequest(url,'',responseIds);
}

function responseIds(originalRequest)
{
	var response = originalRequest.responseText;
	var res = response.split("_");
	if(fromPage=='emailToFriend')
		$('txtShowUrl').value = res[1];
	else
	{
		var qs= new Querystring()
		var lpid = qs.get('lpid');
		if(lpid==null)
		{
			$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng;
		}
		else
		{
			$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&lpid="+lpid;
		}
		
		var cid = qs.get('cid');
		var pos = qs.get('pos');
		var tid = qs.get('tid');
		var source = qs.get('source');
		var mlsno = qs.get('mlsno');
		var ps = qs.get('ps');
		var aid = qs.get('aid');
		var mlsnoBit = 0;
		var noSearch = qs.get('noSearch');
		if(typeof(myHash) != "undefined")
		{
			if(!myHash['MLSNumber'] || myHash['MLSNumber'] == "undefined")
				mlsnoBit = 0;
			else
				mlsnoBit = 1;
		}
		
		if(cid)
			$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&cid="+cid+"&pos="+pos;
		else if(tid && ps)
			$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&tid="+tid+"&pos="+pos+"&ps=1";
		else if(tid)
			$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&tid="+tid+"&pos="+pos;
		else if(ps)
			$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&ps=1";
		
		if(source && mlsnoBit == 1)
			$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&mlsno="+mlsno+"&source="+source;
		else if (source)
		{
			if(tid != null)
			{
				$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&tid="+tid+"&pos="+pos+"&source="+source;
				if(aid)
					$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&tid="+tid+"&pos="+pos+"&source="+source+"&aid="+aid;
				if(ps)
					$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&tid="+tid+"&pos="+pos+"&source="+source+"&aid="+aid+"&ps=1";
			}
			else
				$('txtShowUrl').value = res[1]+"&propLatitude="+latLong.lat+"&propLongitude="+latLong.lng+"&source="+source;
		}

		if (noSearch != null && noSearch == "1")
			$('txtShowUrl').value += "&noSearch=" + noSearch;

		if (typeof(queryDistance) != "undefined" && queryDistance != "")
		{
			$('txtShowUrl').value += '&distance=' + queryDistance;
		}
	}
	$('divSharePopup').style.display = 'block';
	shareDlg.show();
}

function saveShareurl()
{
	$('shareEmailEnable').style.display = 'block';
	$('shareEmailDisable').style.display = 'none';
	//$('shareSnapEnable').style.display = 'block';
	//$('shareSnapDisable').style.display = 'none';
	/*if($('sharePSnapEnable') && $('sharePSnapDisable'))
	{		
		$('sharePSnapEnable').style.display = 'block';
		$('sharePSnapDisable').style.display = 'none';
	}
	if($('shareUSnapDisable') && $('shareUSnapEnable'))
	{	
		$('shareUSnapDisable').style.display = 'none';
		$('shareUSnapEnable').style.display = 'block';
	}*/
	
	var url = '../dashboard/sharePopup.php';
	var type = "";
	if(fromPage=='dashboard')
		type = "dashboard";
	else if(singleShare == true)
		type = "singleprop";
	else
		type = "mapit";
	var queryString = "";
	queryString = queryString+"by=saveUrl";
	queryString = queryString+"&url="+escape($('txtShowUrl').value);
	queryString = queryString+"&type="+type; 
	var qs = new Querystring();
	if(qs.get('ps')==1 && qs.get('tid')==null)
		queryString = queryString+"&ps=1"; 

	ajaxRequest(url,queryString,responseSaveUrl);
}
function responseSaveUrl(originalRequest)
{
	var response = originalRequest.responseText;
	$('txtGeneratedUrl').style.display = "block";
	$('urlGenerate').style.display = "none";
	$('txtGeneratedUrl').style.width="390px";
	$('txtGeneratedUrl').value = response;
}

function sendShareMail()
{
		if(!isBlank('txtFromEmail','Your email address'))
		{
			$('errShare').innerHTML = '<span class="errorMsg">'+alertErrorMsg+'</span>';
			$('txtFromEmail').className = 'textboxRed';
			return false;
		}
		if(!emailIsValid('txtFromEmail'))
		{
			$('errShare').innerHTML = '<span class="errorMsg">'+alertErrorMsg+'</span>';
			$('txtFromEmail').className = 'textboxRed';
			return false;
		}
		else if(!isBlank('txtToEmail','To Email Address.'))
		{
			$('errShare').innerHTML = '<span class="errorMsg">Please provide atleast one recipient email id.</span>';
			$('txtToEmail').className = 'textboxRed';
			$('txtFromEmail').className = 'textbox';
			return false;
		}
		else
		{
			var toArr = ($('txtToEmail').value).split(',');
			for(i=0;i<toArr.length;i++) 
			{
				//alert(toArr[i]);
				var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
				//toArr[i] = trim(toArr[i]);
				if(trim(toArr[i])!='')
				{
					if (filter.test(trim(toArr[i])))
						{
							var testResults = true;
						}
					else
						{ 	
							//$('errShare').innerHTML = '<span class="errorMsg">Please enter valid email addresses in recipient\'s Email</span>';
							$('errShare').innerHTML = '<span class="errorMsg">Please input valid email addresses in recipients!</span>';
							$('txtToEmail').className = 'textboxRed';
							return false;
						}
				}
			}
		}
		
		$('errShare').innerHTML = '&nbsp;';
		$('txtToEmail').className = "textbox";		
		$('txtFromEmail').className = "textbox";	
		
		if(fromPage == 'emailToFriend')
			fromPage = "";
		if(singleShare==true)
			var shareType = 'Single Property';
		else if(fromPage=='singleProp')
			var shareType = 'Map It';
		else 
		  	var shareType = 'Dashboard';
		var url = '../dashboard/sharePopup.php';
		//var toArr = $('txtToEmail').value;
		var myQs = new Querystring();
		var aid = myQs.get("aid");
		var ouid = myQs.get("ouid");
		var link = $('txtShowUrl').value;
		var queryString="by=email";
		queryString = queryString+"&from="+shareType;
		queryString = queryString+"&fromEmail="+escape($('txtFromEmail').value);
		queryString = queryString+"&toArr="+toArr.without('');
		queryString = queryString+"&desc="+escape($('txtDesc').value);
		queryString = queryString+"&link="+escape($('txtGeneratedUrl').value);
		
		if (ouid != null && ouid != '' )
			queryString = queryString+"&ouid="+ouid;
		else if (aid != null && aid != '' )
			queryString = queryString+"&aid="+aid;
			
		if($('chkMe').checked==true)
			queryString = queryString+"&sendMe=1";
		ajaxRequest(url,queryString,responseShareMail);
		
}
function responseShareMail(originalRequest)
{
	var response = originalRequest.responseText;
	if(trim(response)=='mail sent')
		$('errShare').innerHTML =  '<span class="moduleLableText" style="color:gray;">Mail has been sent. </span>'; //<span onclick="publishEmailDlg.hide();" class="errorMsg crsr">[close]</span>'
	else
		$('errShare').innerHTML =  '<span class="moduleLableText" style="color:gray;">Mail has been sent. </span>'; //<span onclick="publishEmailDlg.hide();" class="errorMsg crsr">[close]</span>'
	//shareDlg.hide();		
	clearAll();
}
function clearAll()
{
		$('txtToEmail').value = '';
}
function postShareComm()
{
	if(!isBlank('shareCommTitle','Title'))
	{
		$('errShare').innerHTML = alertErrorMsg;
		$('shareCommTitle').className = 'textboxRed';
		return false;
	}
	/*else if(!isBlank('shareCommCat','Category'))
	{
		$('errShare').innerHTML = alertErrorMsg;
		$('shareCommCat').className = 'textboxRed';
		return false;
	}*/
	else if(!isBlank('shareCommDesc','Description'))
	{
		$('errShare').innerHTML = alertErrorMsg;
		$('shareCommDesc').className = 'textboxRed';
		return false;
	}
	else if(($('shareCommDesc').value).length > 255)
	{
		$('errShare').innerHTML = "Descriprion should not be more than 255 characters.";
		$('shareCommDesc').className = 'textboxRed';
		return false;
	}
	else
	{
		$('errShare').innerHTML = "";
		$('shareCommDesc').className = 'textbox';
		var url = '../dashboard/postShare.php';
		var queryString = "";
		queryString = queryString+"url="+escape($('txtShowUrl').value);
		queryString = queryString+"&title="+$('shareCommTitle').value;
		queryString = queryString+"&author="+$('shareCommAuthor').value;
		queryString = queryString+"&category="+$('shareCommCat').value;
		queryString = queryString+"&desc="+$('shareCommDesc').value;
		queryString = queryString+"&tags="+$('shareCommTags').value;
		queryString = queryString+"&snapType=saveSnap";
		queryString = queryString+"&lpid="+$('txtLpid').value;
		
		if(fromPage=='dashboard')
			queryString = queryString+"&type=DSH";
		else if(fromPage=='singleProp' && singleShare==true)
			queryString = queryString+"&type=SPL";
		else
			queryString = queryString+"&type=LST"; 
			
		ajaxRequest(url,queryString,responsePostShare);
	}
}

function publishSnap()
{
	if(!isBlank('sharePTitle','Title'))
	{
		$('errShare').innerHTML = alertErrorMsg;
		$('sharePTitle').className = 'textboxRed';
		return false;
	}
	/*else if(!isBlank('sharePCat','Category'))
	{
		$('errShare').innerHTML = alertErrorMsg;
		$('shareCommCat').className = 'textboxRed';
		return false;
	}*/
	else if(!isBlank('sharePDesc','Description'))
	{
		$('errShare').innerHTML = alertErrorMsg;
		$('sharePDesc').className = 'textboxRed';
		return false;
	}
	else if(($('sharePDesc').value).length > 255)
	{
		$('errShare').innerHTML = "Descriprion should not be more than 255 characters.";
		$('sharePDesc').className = 'textboxRed';
		return false;
	}
	else
	{
		$('errShare').innerHTML = "";
		$('sharePDesc').className = 'textbox';
		var url = '../dashboard/postShare.php';
		var queryString = "";
		queryString = queryString+"url="+escape($('txtShowUrl').value);
		queryString = queryString+"&title="+$('sharePTitle').value;
		queryString = queryString+"&author="+$('sharePAuthor').value;
		queryString = queryString+"&category="+$('sharePCat').value;
		queryString = queryString+"&desc="+$('sharePDesc').value;
		queryString = queryString+"&tags="+$('sharePTags').value;
		queryString = queryString+"&snapType=publishSnap";
		queryString = queryString+"&lpid="+$('txtLpid').value;
		if(fromPage=='dashboard')
			queryString = queryString+"&type=DSH";
		else if(fromPage=='singleProp' && singleShare==true)
			queryString = queryString+"&type=SPL";
		else
			queryString = queryString+"&type=LST"; 
		ajaxRequest(url,queryString,responsePostShare);
	}
	
}

function responsePostShare(originalRequest)
{
	alert("Snapshot has been saved.");
	shareDlg.hide();
	window.location.href = "../snapshot/showShareLinks.php?a=all&page=1";
}

function beforeHideShare()
{
	$('divSharePopup').style.display = 'none';
	share = false;
}
function beforeShowShare()
{
	$('divSharePopup').style.display = 'block';
}

function updateSnap(snId)
{
	var url = '../dashboard/postShare.php';
	var queryString = "updateSnap=1";
	queryString = queryString +"&snid="+snId;
	queryString = queryString +"&url="+escape($('txtShowUrl').value);
	ajaxRequest(url,queryString,responseUpdate);
}
function responseUpdate(originalRequest)
{
	var response = originalRequest.responseText;
	alert('Your snapshot has been updated');
	window.location.href = "../snapshot/showListingLinks.php?a=all&page=1";
}

/*refineSearch.js*/

function getNHoodInfoNew(csz,divId)
{
	if($('chkmapSearchSelect') && $('chkmapSearchSelect').checked == true)
	{
		$(divId).innerHTML = '<span class="contentSHPopup">Please disable Map Search to enable neighborhood search.</span>';
		$(divId).style.height = "55px";
		$('rsNHoodCntr').style.display='block';
		$(divId).style.display = "";
	}
	else if(trim(getSearchCookie("county")) != "" && isCountySearchEnabled == 1)	
	{
		$(divId).innerHTML = '<span class="contentSHPopup">Please deselect county to enable neighborhood search.</span>';
		$(divId).style.height = "55px";
		$('rsNHoodCntr').style.display='block';
		$(divId).style.display = "";
	}
	else if(getSearchCookie('city').indexOf("|") != -1)
	{
		$(divId).innerHTML = '<span class="contentSHPopup">Please select single city to enable neighborhood search.</span>';
		$(divId).style.height = "55px";
		$('rsNHoodCntr').style.display='block';
		$(divId).style.display = "";
	}
	else if($("txtArea") && $("txtArea").value != "")
	{
		setSearchCookie("neighborhood","");
		$(divId).innerHTML = '<span class="contentSHPopup">Please disable Area Search to enable neighborhood search.</span>';
		$(divId).style.height = "55px";
		$('rsNHoodCntr').style.display='block';
		$(divId).style.display = "";
	}
	else
	{
		var cbfnGetNeighborHoodNew = function(reqObj)
		{
			$(divId).innerHTML = "";
			$('rsNHoodCntr').style.display='block';
			var response = reqObj.responseText;
			if(response.toString() != 'null')
			{
				arrDataNeighborHood = eval(response);
				if(arrDataNeighborHood.length > 0)
				{
					var strCKNH = getSearchCookie("neighborhood");
					var arrCKNH = strCKNH.split(',');
					var ihNeighborHood = new StringBuffer();
					var lenArrDataNeighborHood = arrDataNeighborHood.length;
					ihNeighborHood.append('<table cellpadding="0" cellspacing="0" border="0" style="width:100%;*width:96%">');
						ihNeighborHood.append('<tr>'); 
							ihNeighborHood.append('<td style="width:20px;">'); 
								ihNeighborHood.append('<input type="checkbox" value=""  id="chbRSNHAll" name="chbRSNHAll" onclick="javscript:funSetSHNHAll(\'RS\');"/>');
							ihNeighborHood.append('</td>'); 
							ihNeighborHood.append('<td style="width:190px;*width:180;">'); 
								ihNeighborHood.append('<span class="contentSHPopup lang">all</span>');
							ihNeighborHood.append('</td><td colspan="2">&nbsp;</td>'); 
					for(var i=0;i<lenArrDataNeighborHood;i++)
					{
						if(trim(arrDataNeighborHood[i]['neighborhood'])!="")
						{
							ihNeighborHood.append('</tr><tr>'); 
							ihNeighborHood.append('<td style="width:20px;">'); 
								if((arrCKNH.in_array(arrDataNeighborHood[i]['neighborhood']) !== false) || (trim(strCKNH) == 'all'))
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['neighborhood']+'" checked="checked" />');
								}
								else
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['neighborhood']+'" />');
								}	
							ihNeighborHood.append('</td>'); 
							ihNeighborHood.append('<td style="width:190px;*width:180;">'); 
								ihNeighborHood.append('<span class="contentSHPopup lang">'+arrDataNeighborHood[i]['neighborhood']+'</span>');
							ihNeighborHood.append('</td>'); 
	//						ihNeighborHood.append('</tr>'); 
						}
					}	
					ihNeighborHood.append('</tr></table>');	
					$(divId).innerHTML = ihNeighborHood.toString();
					var arrChkBox = $(divId).getElementsByTagName("input");
					var lenArrChkBox = arrChkBox.length;
					var allChked = true;
					for(var i=0;i<lenArrChkBox;i++)
					{
						if((arrChkBox[i].id == "chbRSNHAll") || (arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true))
						{
							continue;
						}
						else
						{
							allChked = false;
							break;
						}
					}
					if(allChked == true || getSearchCookie("neighborhood") == "all")
					{					
						$("chbRSNHAll").checked = true;
					}
				}
				else
				{
					$(divId).innerHTML = "<div class='divSHDataNeighborHood contentSHPopup'>Neighborhood information not available for  \""+getSearchCookie('city')+","+getSearchCookie("state")+"\"</div>";
					$(divId).style.height = "55px";
					$(divId).style.display = "";
				}
			}
			else
			{
				$(divId).innerHTML = "<div class='divSHDataNeighborHood contentSHPopup'>Neighborhood information not available for  \""+getSearchCookie('city')+","+getSearchCookie("state")+"\"</div>";
				$(divId).style.height = "50px";
				$(divId).style.display = "";
			}		
		}
		var url = "../../getCountyNeighborHood.php";
		var qs = "getDataNeighborHood=1&city="+getSearchCookie('city')+"&state="+getSearchCookie("state")+"&zip="+getSearchCookie("zip");
		ajaxRequest(url,qs,cbfnGetNeighborHoodNew);
	}
}

function getNHoodInfo(csz,divId)
{
	if($('chkmapSearchSelect') && $('chkmapSearchSelect').checked == true)
	{
		$(divId).innerHTML = '<span class="contentSHPopup">Please disable Map Search to enable neighborhood search.</span>';
		$(divId).style.height = "55px";
		$('rsNHoodCntr').style.display='block';
		$(divId).style.display = "";
	}
	else if(trim(getSearchCookie("county")) != "" && isCountySearchEnabled == 1)	
	{
		$(divId).innerHTML = '<span class="contentSHPopup">Please deselect county to enable neighborhood search.</span>';
		$(divId).style.height = "55px";
		$('rsNHoodCntr').style.display='block';
		$(divId).style.display = "";
	}
	else if(getSearchCookie('city').indexOf("|") != -1)
	{
		$(divId).innerHTML = '<span class="contentSHPopup">Please select single city to enable neighborhood search.</span>';
		$(divId).style.height = "55px";
		$('rsNHoodCntr').style.display='block';
		$(divId).style.display = "";
	}
	else if($("txtArea") && $("txtArea").value != "")
	{
		setSearchCookie("neighborhood","");
		$(divId).innerHTML = '<span class="contentSHPopup">Please disable Area Search to enable neighborhood search.</span>';
		$(divId).style.height = "55px";
		$('rsNHoodCntr').style.display='block';
		$(divId).style.display = "";
	}
	else
	{
		var cbfnGetNeighborHood = function(reqObj)
		{
			$(divId).innerHTML = "";
			$('rsNHoodCntr').style.display='block';
			var response = reqObj.responseText;
			if(response.toString() != 'null')
			{
				arrDataNeighborHood = eval(response);
				if(arrDataNeighborHood.length > 0)
				{
					var strCKNH = getSearchCookie("neighborhood");
					var arrCKNH = strCKNH.split(',');
					var ihNeighborHood = new StringBuffer();
					var lenArrDataNeighborHood = arrDataNeighborHood.length;
					ihNeighborHood.append('<table cellpadding="0" cellspacing="0" border="0" style="width:100%;*width:96%">');
						ihNeighborHood.append('<tr>'); 
							ihNeighborHood.append('<td style="width:20px;">'); 
								ihNeighborHood.append('<input type="checkbox" value=""  id="chbRSNHAll" name="chbRSNHAll" onclick="javscript:funSetSHNHAll(\'RS\');"/>');
							ihNeighborHood.append('</td>'); 
							ihNeighborHood.append('<td style="width:190px;*width:180;">'); 
								ihNeighborHood.append('<span class="contentSHPopup lang">all</span>');
							ihNeighborHood.append('</td><td colspan="2">&nbsp;</td>'); 
					for(var i=0;i<lenArrDataNeighborHood;i++)
					{
						if(typeof(arrDataNeighborHood[i]['neighborhood']) != "undefined" && trim(arrDataNeighborHood[i]['neighborhood'])!="")
						{
							if(i%2 == 0)ihNeighborHood.append('</tr><tr>'); 
							ihNeighborHood.append('<td style="width:20px;">'); 
								if((arrCKNH.in_array(arrDataNeighborHood[i]['neighborhood']) !== false) || (trim(strCKNH) == 'all'))
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['neighborhood']+'" checked="checked" />');
								}
								else
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['neighborhood']+'" />');
								}	
							ihNeighborHood.append('</td>'); 
							ihNeighborHood.append('<td style="width:190px;*width:180;">'); 
								ihNeighborHood.append('<span class="contentSHPopup lang">'+arrDataNeighborHood[i]['neighborhood']+'</span>');
							ihNeighborHood.append('</td>'); 
	//						ihNeighborHood.append('</tr>'); 
						}
						else if(typeof(arrDataNeighborHood[i]['area']) != "undefined" && trim(arrDataNeighborHood[i]['area'])!="")
						{
							if(i%2 == 0)ihNeighborHood.append('</tr><tr>'); 
							ihNeighborHood.append('<td style="width:20px;">'); 
								if((arrCKNH.in_array(arrDataNeighborHood[i]['area']) !== false) || (trim(strCKNH) == 'all'))
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['area']+'" checked="checked" />');
								}
								else
								{
									ihNeighborHood.append('<input type="checkbox" value="'+arrDataNeighborHood[i]['area']+'" />');
								}	
							ihNeighborHood.append('</td>'); 
							ihNeighborHood.append('<td style="width:190px;*width:180;">'); 
								ihNeighborHood.append('<span class="contentSHPopup lang">'+arrDataNeighborHood[i]['code']+" - "+arrDataNeighborHood[i]['area']+'</span>');
							ihNeighborHood.append('</td>'); 
	//						ihNeighborHood.append('</tr>'); 
						}
					}	
					ihNeighborHood.append('</tr></table>');	
					$(divId).innerHTML = ihNeighborHood.toString();
					var arrChkBox = $(divId).getElementsByTagName("input");
					var lenArrChkBox = arrChkBox.length;
					var allChked = true;
					for(var i=0;i<lenArrChkBox;i++)
					{
						if((arrChkBox[i].id == "chbRSNHAll") || (arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true))
						{
							continue;
						}
						else
						{
							allChked = false;
							break;
						}
					}
					if(allChked == true || getSearchCookie("neighborhood") == "all")
					{					
						$("chbRSNHAll").checked = true;
					}
				}
				else
				{
					$(divId).innerHTML = "<div class='divSHDataNeighborHood contentSHPopup'>Neighborhood information not available for  \""+getSearchCookie('city')+","+getSearchCookie("state")+"\"</div>";
					$(divId).style.height = "55px";
					$(divId).style.display = "";
				}
			}
			else
			{
				$(divId).innerHTML = "<div class='divSHDataNeighborHood contentSHPopup'>Neighborhood information not available for  \""+getSearchCookie('city')+","+getSearchCookie("state")+"\"</div>";
				$(divId).style.height = "50px";
				$(divId).style.display = "";
			}		
		}
		var url = "../../getCountyNeighborHood.php";
		var qs = "getDataNeighborHood=1&city="+getSearchCookie('city')+"&state="+getSearchCookie("state")+"&zip="+getSearchCookie("zip");

		if($("mlsSource"))
			qs +="&ds="+$F("mlsSource");
		else if(getSearchCookie('mlsSource'))
			qs +="&ds="+escape(getSearchCookie('mlsSource'));

		ajaxRequest(url,qs,cbfnGetNeighborHood);
	}
}

function getRSCounty(divId)
{
	if(getSearchCookie('city').indexOf("|") != -1)
	{
		$(divId).innerHTML = '<span class="contentSHPopup">Please select single city to enable county search.</span>';
		$(divId).style.height = "55px";
		$('rsCountyCntr').style.display='block';
		$(divId).style.display = "";
	}
	else
	{
		var cbfnGetCountyRS = function(reqObj)
		{
			$(divId).innerHTML = "";
			$("rsCountyCntr").style.display = "block";
			var response = reqObj.responseText;
			if(response.toString() != 'null')
			{
				arrDataCounty = eval(trim(response));
				if(arrDataCounty.length > 0)
				{
					var strCKCounty = getSearchCookie("county");
					var arrCKCounty = strCKCounty.split(',');
					var ihCounty = new StringBuffer();
					var lenArrDataCounty = arrDataCounty.length;
					ihCounty.append('<table cellpadding="0" cellspacing="0" style="width:100%;*width:96%">');
					ihCounty.append('<tr>');
					for(var i=0;i<lenArrDataCounty;i++)
					{
						var countyName = arrDataCounty[i]['county'];
						if(i%2 == 0)ihCounty.append('</tr><tr>'); 
						//ihCounty.append('<tr>'); 
							ihCounty.append('<td style="width:20px;">'); 
								if(arrCKCounty.in_array(countyName) !== false)
								{
									ihCounty.append('<input type="checkbox" value="'+countyName+'" checked="checked" />');
								}
								else
								{
									ihCounty.append('<input type="checkbox" value="'+countyName+'"  />');
								}	
							ihCounty.append('</td>'); 
							ihCounty.append('<td style="width:190px;*width:180;">'); 
								ihCounty.append('<span class="contentSHPopup lang">'+countyName+'</span>');
							ihCounty.append('</td>'); 
						//ihCounty.append('</tr>'); 
					}	
					ihCounty.append('</table>');
					
					$(divId).innerHTML = ihCounty.toString();					
				}
				else
				{
					$(divId).innerHTML = '<span class="contentSHPopup">County information for \"' + getSearchCookie("city") + ', ' + getSearchCookie("state") + '\" is coming soon.</span>';
					$(divId).style.height = "55px";
					$(divId).style.display = "";
				}
			}
			else
			{
				$(divId).innerHTML = '<span class="contentSHPopup">County information for \"' + getSearchCookie("city") + ', ' + getSearchCookie("state") + '\" is coming soon.</span>';
				$(divId).style.height = "55px";
				$(divId).style.display = "";
			}
		}
		var url = "../../getCountyNeighborHood.php";
		var qs = "getDataCounty=1&city="+getSearchCookie('city')+"&state="+getSearchCookie("state")+"&zip="+getSearchCookie("zip");		
		ajaxRequest(url,qs,cbfnGetCountyRS);
	}
}

function setCkValues()
{
	if(getSearchCookie("spanStyleHTML"))
	{
		if($('prpStyleText')) $('prpStyleText').innerHTML = getSearchCookie("spanStyleHTML");
	}

	var beds = getSearchCookie("searchBeds");
	var baths = getSearchCookie("searchBaths");
	var type = getSearchCookie("searchType");
	var minprice = getSearchCookie("minPrice");
	var maxprice = getSearchCookie("maxPrice");
	var address = getSearchCookie("searchAddress");
	var csz = unescape(getSearchCookie("city"))+", "+getSearchCookie("state")+" "+getSearchCookie("zip");
	if(csz.indexOf(",") == 0)
	{
		csz = trim(csz.substr(1,csz.length));
	}

	$("RSminPrice").value = addCommas(minprice);
	$("RSmaxPrice").value = addCommas(maxprice);

	if(trim(beds) == "")
	{
		$("RSsearchBedsMin").value = "";
		$("RSsearchBedsMax").value = "";
	}
	else
	{
		var bdArr = beds.split("-");
		$("RSsearchBedsMin").value = bdArr[0];
		$("RSsearchBedsMax").value = bdArr[1];
	}

	if(trim(baths) == "")
	{
		$("RSsearchBathsMin").value = "";
		$("RSsearchBathsMax").value = "";
	}
	else
	{
		var bthArr = baths.split("-");
		$("RSsearchBathsMin").value = bthArr[0];
		$("RSsearchBathsMax").value = bthArr[1];
	}

	if(address != "") $("RSsearchAddress").value = address;
	
	if(getSearchCookie("city").indexOf("|") != -1) //multicity case
	{
		var cityArr = new Array();
		var stateArr = new Array();
		var zipArr = new Array();
		var geoCSZStr = "";

		cityArr = getSearchCookie("city").split("|");
		stateArr = getSearchCookie("state").split("|");
		zipArr = getSearchCookie("zip").split("|");

		for (var i=0; i<cityArr.length; i++)
		{
			var currentCsz = "";
			if (cityArr[i]  == null || cityArr[i] == "")
			{}
			else
				currentCsz += cityArr[i] + ", ";

			if (stateArr[i]  == null || stateArr[i] == "")
			{}
			else
				currentCsz += stateArr[i] + " ";

			if (zipArr[i]  == null || zipArr[i] == "")
			{}
			else
				currentCsz += zipArr[i];
			
			if (currentCsz != "")
				geoCSZStr += trim(currentCsz) + ";";
		}

		if (geoCSZStr != "")
			geoCSZStr = geoCSZStr.substr(0, geoCSZStr.length-1);

		if (geoCSZStr != "")
			$("RSsearchCSZ").value = geoCSZStr;
		else
			$("RSsearchCSZ").value = "required";
	}
	else
	{
		if(getSearchCookie("city") == "" && getSearchCookie("state") == "" && getSearchCookie("zip") == "")
			$("RSsearchCSZ").value = "required";
		else
			$("RSsearchCSZ").value = csz;
	}

	//For SQFT...
	if(getSearchCookie("minSize") && $("RSminSize"))
	{
		$("RSminSize").value = getSearchCookie("minSize");
	}
	else if($("RSminSize"))
	{
		$("RSminSize").selectedIndex = 0;
	}
	if(getSearchCookie("maxSize") && $("RSmaxSize"))
	{
		$("RSmaxSize").value = getSearchCookie("maxSize");
	}
	else if($("RSmaxSize"))
	{
		$("RSmaxSize").selectedIndex = 0;
	}

	//For Lot Size...
	if(getSearchCookie("minLotSize") && $("RSminLotSize"))
	{
		$("RSminLotSize").value = getSearchCookie("minLotSize");
	}
	else if($("RSminLotSize"))
	{
		$("RSminLotSize").selectedIndex = 0;
	}

	if(getSearchCookie("maxLotSize") && $("RSmaxLotSize"))
	{
		$("RSmaxLotSize").value = getSearchCookie("maxLotSize");
	}
	else if($("RSmaxLotSize"))
	{
		$("RSmaxLotSize").selectedIndex = 0;
	}

	//For Property Type....
	if(getSearchCookie("searchType") || trim(getSearchCookie("searchType")) == "")
	{		
		if($("divRSType"))
		{
			var arrChkBox = $("divRSType").getElementsByTagName("input");
			var lenChkBox = arrChkBox.length;
			var strChkBox = getSearchCookie("searchType");
			if(trim(strChkBox) == "")
			{
				for(var i=0;i<lenChkBox;i++)
				{
					//if(arrChkBox[i].id == "RSchbSHTypeAll")
					//{
						//continue;
					//}
					if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == false)
					{
						arrChkBox[i].checked = true;
					}
				}
				savePrpTypeRS();
			}
			else
			{				
				
				var arrStrChkBox = strChkBox.split(":");
				
				for(var i=0;i<lenChkBox;i++)
				{
					if(arrChkBox[i].id == "RSchbSHTypeAll")
					{
						continue;
					}
					if(arrChkBox[i].type == "checkbox")
					{
						var valChkBox = arrChkBox[i].value;
						
						if((arrStrChkBox.in_array(valChkBox) !== false))
						{
							arrChkBox[i].checked = true;
						}
						else
							arrChkBox[i].checked = false;
					}
				}
				
				//for setting all checked
				var allChked = true;
				for(var i=0;i<lenChkBox;i++)
				{
					if((arrChkBox[i].id == "RSchbSHTypeAll") || (arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true))
					{
						continue;
					}
					else
					{
						allChked = false;
						break;
					}
				}

				if(allChked == true || getSearchCookie("searchType") == "all")
				{					
					$("RSchbSHTypeAll").checked = true;
				}
			}
		}
	}

	savePrpTypeRS();
	if(getSearchCookie("spanHTML"))
	{
		if($('prpTypeText')) $('prpTypeText').innerHTML = getSearchCookie("spanHTML");
	}

	setPrpStyleFrmCookie();
	//For Garage Type.....
	if(getSearchCookie("garage") && $("RSGarage"))
	{
		$("RSGarage").value = getSearchCookie("garage");
	}
	else if($("RSGarage"))
	{
		$("RSGarage").selectedIndex = 0;
	}

	//For Stories....
	if(getSearchCookie("stories") && $("RSStories"))
	{
		$("RSStories").value = getSearchCookie("stories");
	}
	else if($("RSStories"))
	{
		$("RSStories").selectedIndex = 0;
	}

	//For Age Of Home....
	if(getSearchCookie("fromYear") && $("RSAgeHome"))
	{
		$("RSAgeHome").value = getSearchCookie("fromYear");
	}
	else if($("RSAgeHome"))
	{
		$("RSAgeHome").selectedIndex = 0;
	}

	//For Have a Pool....
	if(getSearchCookie("pool") && $("RSPool"))
	{
		$("RSPool").checked = true;
	}
	else if($("RSPool"))
	{
		$("RSPool").checked = false;
	}

	//For Have a Fireplace....
	if(getSearchCookie("fire") && $("RSFireplace"))
	{
		$("RSFireplace").checked = true;
	}
	else if($("RSFireplace"))
	{
		$("RSFireplace").checked = false;
	}

	//For Have a Photo....
	if(getSearchCookie("photo") && $("RSPhoto"))
	{
		$("RSPhoto").checked = true;
	}
	else if($("RSPhoto"))
	{
		$("RSPhoto").checked = false;
	}
		
	if(getSearchCookie("neighborhood") !="")
		getNHoodInfo("","divNHood");
	
	if(isCountySearchEnabled == 1 && getSearchCookie("county") != "")
		getRSCounty("divRSCounty");

	if(getSearchCookie("ckLFDate") && $("RStxtLFDate"))
	{
		$("RStxtLFDate").value = getSearchCookie("ckLFDate");
	}
	else if($("RStxtLFDate"))
	{
		$("RStxtLFDate").value = '';
	}
	if(getSearchCookie("ckLTDate") && $("RStxtLTDate"))
	{
		$("RStxtLTDate").value = getSearchCookie("ckLTDate");
	}
	else if($("RStxtLTDate"))
	{
		$("RStxtLTDate").value = '';
	}

	if ($('WALTWENSELDataSrcSelect'))
	{
		$('WALTWENSELDataSrcSelect').checked = true;
		if (getSearchCookie ('WALTWENSELDataSrcSelect') == 'KEYSTONE')
		{
			$('WALTWENSELDataSrcSelect').checked = false;
		}
	}
}

function refineSearch()
{	
	setSearchCookie("garage",($("RSGarage"))?$F("RSGarage")==0?"":$F("RSGarage"):"");
	setSearchCookie("stories",($("RSStories"))?$F("RSStories")==0?"":$F("RSStories"):"");
	setSearchCookie("fromYear",($("RSAgeHome"))?$F("RSAgeHome")==0?"":$F("RSAgeHome"):"");
	setSearchCookie("pool",($("RSPool"))?$("RSPool").checked?"1":"":"");
	setSearchCookie("fire",($("RSFireplace"))?$("RSFireplace").checked?"1":"":"");
	setSearchCookie("photo",($("RSPhoto"))?$("RSPhoto").checked?"1":"":"");
	setPropFrmCookieRS();
	removeFrTabs();
	
	if(validateRSCriteria())
	{		
		setSearchCookie("minPrice",($("RSminPrice"))?(money2num($F("RSminPrice"))):"");
		setSearchCookie("maxPrice",($("RSmaxPrice"))?(money2num($F("RSmaxPrice"))):"");

		var srchBds = "";
		var minBeds = trim($("RSsearchBedsMin").value);
		if(minBeds == "0") minBeds = "";
		if(minBeds != "" && minBeds.indexOf(".") == (minBeds.length-1)) 
		{
			minBeds = minBeds+"0";
			$("RSsearchBedsMin").value = minBeds;
		}
		if(minBeds != "" && minBeds.indexOf(".") == 0) 
		{
			minBeds = "0"+minBeds;
			$("RSsearchBedsMin").value = minBeds;
		}

		var maxBeds = trim($("RSsearchBedsMax").value)
		if(maxBeds == "0") maxBeds = "";
		if(maxBeds != "" && maxBeds.indexOf(".") == (maxBeds.length-1)) 
		{
			maxBeds = maxBeds+"0";
			$("RSsearchBedsMax").value = maxBeds;
		}
		if(maxBeds != "" && maxBeds.indexOf(".") == 0) 
		{
			maxBeds = "0"+maxBeds;
			$("RSsearchBedsMax").value = maxBeds;
		}

		srchBds = minBeds+"-"+maxBeds;
		if(trim(srchBds) == "-")
			srchBds = "";
		setSearchCookie("searchBeds",srchBds);

		setSearchCookie("minSize",($("RSminSize"))?$F("RSminSize")==0?"":$F("RSminSize"):"");
		setSearchCookie("maxSize",($("RSmaxSize"))?$F("RSmaxSize")==0?"":$F("RSmaxSize"):"");
		
		var srchBths = "";
		var minBath = trim($("RSsearchBathsMin").value);
		if(minBath == "0") minBath = "";
		if(minBath != "" && minBath.indexOf(".") == (minBath.length-1)) 
		{	
			minBath = minBath+"0";
			$("RSsearchBathsMin").value = minBath;
		}
		if(minBath != "" && minBath.indexOf(".") == 0) 
		{
			minBath = "0"+minBath;
			$("RSsearchBathsMin").value = minBath;
		}

		var maxBath = trim($("RSsearchBathsMax").value);
		if(maxBath == "0") maxBath = "";
		if(maxBath != "" && maxBath.indexOf(".") == (maxBath.length-1)) 
		{
			maxBath = maxBath+"0";
			$("RSsearchBathsMax").value = maxBath;
		}
		if(maxBath != "" && maxBath.indexOf(".") == 0) 
		{
			maxBath = "0"+maxBath;
			$("RSsearchBathsMax").value = maxBath;
		}		

		srchBths = minBath+"-"+maxBath;
		if(trim(srchBths) == "-")
			srchBths = "";
		setSearchCookie("searchBaths",srchBths);

		setSearchCookie("ckLFDate",($("RStxtLFDate"))?($F("RStxtLFDate")):"");
		setSearchCookie("ckLTDate",($("RStxtLTDate"))?($F("RStxtLTDate")):"");
		if(powerSearch=="")
		{
			setAllToCookie("type","RS");
			setAllToCookie("propstyle","RS");
			//setAllToCookie("garage","RS");
		}

		setSearchCookie("minLotSize",($("RSminLotSize"))?$F("RSminLotSize")==""?"":$F("RSminLotSize"):"");
		setSearchCookie("maxLotSize",($("RSmaxLotSize"))?$F("RSmaxLotSize")==""?"":$F("RSmaxLotSize"):"");
		setSearchCookie("garage",($("RSGarage"))?$F("RSGarage")==0?"":$F("RSGarage"):"");
		setSearchCookie("stories",($("RSStories"))?$F("RSStories")==0?"":$F("RSStories"):"");
		setSearchCookie("fromYear",($("RSAgeHome"))?$F("RSAgeHome")==0?"":$F("RSAgeHome"):"");
		setSearchCookie("pool",($("RSPool"))?$("RSPool").checked?"1":"":"");
		setSearchCookie("fire",($("RSFireplace"))?$("RSFireplace").checked?"1":"":"");
		setSearchCookie("photo",($("RSPhoto"))?$("RSPhoto").checked?"1":"":"");

		setAllToCookie("neighborhood","RS");
		if(isCountySearchEnabled == 1)
			setAllToCookie("county","RS");
		else
			setSearchCookie("county","");
		
		setAllCookieValue(null);
		headerContent(null);

		$("searchAddress").value = $("RSsearchAddress").value;
		$("searchCSZ").value = $("RSsearchCSZ").value;
		$("searchMLS").value = $("RSsearchMLS").value;

		if(powerSearch=="") 
		{
			explore('singleProp');
		}
		else 
		{			
			if (typeof(uid) != "undefined" && uid != "" && typeof(uRole) != "undefined" && uRole =="EA")
				explore('singlePropPower');
			else
				explore('singleProp');
		}
	}
}

function validateRSCriteria()
{
	//price
	var minP = Number(money2num($('RSminPrice').value));	
	var maxP = Number(money2num($('RSmaxPrice').value));

	if(minP<0 || maxP<0)
	{
		alert("Please enter valid price range");
		$('RSminPrice').value = '';
		$('RSmaxPrice').value = '';
		return false;
	}

	if((minP>maxP) && (minP != "" && maxP != ""))
	{
		alert("Please enter valid price range");
		$('RSminPrice').value = '';
		$('RSmaxPrice').value = '';
		return false;
	}

	//beds
	var minbd = trim($('RSsearchBedsMin').value);
	var maxbd = trim($('RSsearchBedsMax').value);

	if(isNaN(minbd))
	{
		alert("Please enter numeric value for min beds");
		$('RSsearchBedsMin').value = '';
		return false;
	}

	if(isNaN(maxbd))
	{
		alert("Please enter numeric value for max beds");
		$('RSsearchBedsMax').value = '';
		return false;
	}

	if(minbd.include("."))
	{
		var ptLen = minbd.substr(minbd.indexOf(".")+1,minbd.length).length;
		if(ptLen>2)
		{
			alert("Only 2 digits allowed after decimal point for min beds");
			$('RSsearchBedsMin').value = '';
			return false;
		}
	}

	if(maxbd.include("."))
	{
		var ptLen = maxbd.substr(maxbd.indexOf(".")+1,maxbd.length).length;
		if(ptLen>2)
		{
			alert("Only 2 digits allowed after decimal point for max beds");
			$('RSsearchBedsMax').value = '';
			return false;
		}
	}

	minbd = Number(minbd);
	maxbd = Number(maxbd);

	if(minbd<0 || maxbd<0)
	{
		alert("Please enter valid beds range");
		$('RSsearchBedsMin').value = '';
		$('RSsearchBedsMax').value = '';
		return false;
	}
	if((minbd>maxbd) && (minbd != "" && maxbd != ""))
	{
		alert("Please enter valid beds range");
		$('RSsearchBedsMin').value = '';
		$('RSsearchBedsMax').value = '';
		return false;
	}

	//baths
	var minbth = trim($('RSsearchBathsMin').value);
	var maxbth = trim($('RSsearchBathsMax').value);

	if(isNaN(minbth))
	{
		alert("Please enter numeric value for min baths");
		$('RSsearchBathsMin').value = '';
		return false;
	}

	if(isNaN(maxbth))
	{
		alert("Please enter numeric value for max baths");
		$('RSsearchBathsMax').value = '';
		return false;
	}

	if(minbth.include("."))
	{
		var ptLen = minbth.substr(minbth.indexOf(".")+1,minbth.length).length;
		if(ptLen>2)
		{
			alert("Only 2 digits allowed after decimal point for min baths");
			$('RSsearchBathsMin').value = '';
			return false;
		}
	}

	if(maxbth.include("."))
	{
		var ptLen = maxbth.substr(maxbth.indexOf(".")+1,maxbth.length).length;
		if(ptLen>2)
		{
			alert("Only 2 digits allowed after decimal point for max baths");
			$('RSsearchBathsMax').value = '';
			return false;
		}
	}

	minbth = Number(minbth);
	maxbth = Number(maxbth);

	if(minbth<0 || maxbth<0)
	{
		alert("Please enter valid baths range");
		$('RSsearchBathsMin').value = '';
		$('RSsearchBathsMax').value = '';
		return false;
	}
	if((minbth>maxbth) && (minbth != "" && maxbth != ""))
	{
		alert("Please enter valid baths range");
		$('RSsearchBathsMin').value = '';
		$('RSsearchBathsMax').value = '';
		return false;
	}

	//sqft
	if($("RSminSize"))
	{
		var sqftMin = Number($("RSminSize").value);
		var sqftMax = Number($("RSmaxSize").value);
		if(sqftMin>sqftMax && sqftMax != 0)
		{
			alert("Please select valid range for square feet");
			return false;
		}
	}

    //Lot Size        
	if($("RSminLotSize") && $("RSmaxLotSize"))
	{
			var lotMin = Number($("RSminLotSize").value);
			var lotMax = Number($("RSmaxLotSize").value);
			if(lotMin>lotMax && lotMax != "")
			{
					alert("Please select valid range for Lot size");
					return false;
			}
	}

	//listdate
	if($("RStxtLFDate") && $("RStxtLTDate"))
	{
		if(trim($("RStxtLFDate").value) != "" && trim($("RStxtLTDate").value) != "")
		{
			var valLFDate = $("RStxtLFDate").value;
			var arrLFDate = valLFDate.split("-");		
			var objLFDate = new Date();
			objLFDate.setYear(arrLFDate[2]);
			objLFDate.setMonth(arrLFDate[0]);
			objLFDate.setDate(arrLFDate[1]);
			var tsLFDate = objLFDate.getTime()
			var valLTDate = $("RStxtLTDate").value;
			var arrLTDate = valLTDate.split("-");		
			var objLTDate = new Date();
			objLTDate.setYear(arrLTDate[2]);
			objLTDate.setMonth(arrLTDate[0]);
			objLTDate.setDate(arrLTDate[1]);
			var tsLTDate = objLTDate.getTime()
			if(tsLFDate > tsLTDate)
			{
				alert("To date should not be less than From date.");
				$('RStxtLFDate').value = '';
				$('RStxtLTDate').value = '';
				return false;
			}
		}
	}

	if($('metroYearBuiltFrom') && $('metroYearBuiltTo'))
	{
		var fromYear = $('metroYearBuiltFrom').value;
		var toYear = $('metroYearBuiltTo').value;

		if (fromYear != '')
		{
			if (fromYear.length != 4)
			{
				alert("Home Built From Year must be of 4 digit like 1990");
				return false;
			}

			if (fromYear.indexOf (".") != -1)
			{
				alert("Home Built From Year must be numeric");
				return false;
			}

			if (isNaN(fromYear))
			{
				alert("Home Built From Year must be numeric");
				return false;
			}
		}
		if (toYear != '')
		{
			if (toYear.length != 4)
			{
				alert("Home Built To Year must be of 4 digit like 1990");
				return false;
			}

			if (toYear.indexOf (".") != -1)
			{
				alert("Home Built To Year must be numeric");
				return false;
			}

			if (isNaN(toYear))
			{
				alert("Home Built To Year must be numeric");
				return false;
			}
		}

		if (fromYear != '' && toYear != '')
		{
			if (parseInt(fromYear) > parseInt(toYear))
			{
				alert("Home Built From Year must be less than To Year");
				return false;
			}
		}
	}

	return true;
}
function setMapArea(fileName)
{
	/*if(getCookie("mapSearchSelect"))
		setSearchCookie("area",map.getBounds());
	else*/
	
	setSearchCookie("area","");
	location.href = fileName;
}


function checkPropType()
{
	 if(getSearchCookie("searchType") || trim(getSearchCookie("searchType")) == "")
	{
		if($("divRSType"))
		{
			var arrChkBox = $("divRSType").getElementsByTagName("input");
			var lenChkBox = arrChkBox.length;
			var strChkBox = getSearchCookie("searchType");
			if(trim(strChkBox) == "")
			{
				
				for(var i=0;i<lenChkBox;i++)
				{					
					if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == false)
					{
						arrChkBox[i].checked = true;
					}
				}	
			}
			else
			{				
				var arrStrChkBox = strChkBox.split(":");
				for(var i=0;i<lenChkBox;i++)
				{
					if(arrChkBox[i].id == "RSchbSHTypeAll")
					{
						continue;
					}
					if(arrChkBox[i].type == "checkbox")
					{
						var valChkBox = arrChkBox[i].value;
						if((arrStrChkBox.in_array(valChkBox) !== false) && (arrChkBox[i].checked == false))
						{
							arrChkBox[i].checked = true;
						}
					}
				}
				
				//for setting all checked
				var allChked = true;
				for(var i=0;i<lenChkBox;i++)
				{
					if((arrChkBox[i].id == "RSchbSHTypeAll") || (arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true))
					{
						continue;
					}
					else
					{
						allChked = false;
						break;
					}
				}

				if(allChked == true || getSearchCookie("searchType") == "all")
				{					
					$("RSchbSHTypeAll").checked = true;
				}
			}
		}
	}
}

// FUNCTION TO OPEN PROP TYPE DIV IN REFINE SEARCH
function showPTypeRS(dv)
{
	if(dv == "RSpropStyleDv" && $("divRSType")) $("divRSType").hide();
	if(dv == "divRSType" && $("RSpropStyleDv")) $("RSpropStyleDv").hide();

	if($(dv))
	{
		if($(dv).visible()) 
			$(dv).hide();
		else
			$(dv).show();
	}

	if($('mapDiv') && $('mapDiv').visible())
	{
		if($('proListingDiv')) $('proListingDiv').hide();
	}
	if(typeof(showRoloDivOrNot) == 'function')
		showRoloDivOrNot();
}

function savePrpTypeRS()
{
	setPrpTypeInCookie("type","RS");
	var strChkdText = "";

	if($("divRSType"))
	{
		var arrChkBox = $("divRSType").getElementsByTagName("input");

		for(i=0;i<arrChkBox.length;i++)
		{
			if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true && arrChkBox[i].value != "on")
			{
				var chkName = "Span" + arrChkBox[i].name;
				strChkdText += $(chkName).innerHTML + ',';
			}
		}

		if(strChkdText.length > 60)
		{
			strChkdText = strChkdText.substr(0, 57) + "...";
		}
		else if (strChkdText.length > 1)
		{
			strChkdText = strChkdText.substr(0, strChkdText.length-1);
		}
	}
	if($('prpTypeText'))
	{
		$('prpTypeText').innerHTML = strChkdText;
		setSearchCookie("spanHTML",strChkdText);
	}	
}

function savePrpStyleRS()
{
	setAllToCookie("propstyle","RS");
	var strChkdText = "";

	if($("RSpropStyleDv"))
	{
		var arrChkBox = $("RSpropStyleDv").getElementsByTagName("input");

		for(i=0;i<arrChkBox.length;i++)
		{
			if(arrChkBox[i].id == "RSchkStyleAll")
				continue;
			if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true && arrChkBox[i].value != "on")
			{
				var chkName = "spnStyle"+i;
				strChkdText += $(chkName).innerHTML + ',';
			}
		}
		if(spl)
		{
			if(strChkdText.length > 60)
			{
				strChkdText = strChkdText.substr(0, 57) + "...";
			}
			else if (strChkdText.length > 1)
			{
				strChkdText = strChkdText.substr(0, strChkdText.length-1);
			}
		}
		else
		{
			if(strChkdText.length > 25)
			{
				strChkdText = strChkdText.substr(0, 22) + "...";
			}
			else if (strChkdText.length > 1)
			{
				strChkdText = strChkdText.substr(0, strChkdText.length-1);
			}
		}
		//alert(strChkdText);
	}
	if($('prpStyleText'))
	{
		$('prpStyleText').innerHTML = strChkdText;
		setSearchCookie("spanStyleHTML",strChkdText);
	}	
}

function clrPrpTypeRS()
{
	removeSearchCookie("searchType");
	if($('prpTypeText')) $('prpTypeText').innerHTML = '';
	if($('RSchbSHTypeAll')) $('RSchbSHTypeAll').checked=false;
	funSetSHTypeAll('RS');
}

function clrPrpStyleRS()
{
	removeSearchCookie("propStyle");
	if($('prpStyleText')) $('prpStyleText').innerHTML = '';
	if($('RSchkStyleAll')) $('RSchkStyleAll').checked=false;
	setSearchCookie("spanStyleHTML","");
	setAllCheckedStyle('RS');
}

function setPrpTypeInCookie()
{		
		divId = "divRSType";
		chkAllId = "RSchbSHTypeAll";		
		
		var arrChkBox = $(divId).getElementsByTagName("input");
		var lenChkBox = arrChkBox.length;		
		var strChkBox = "";
		var allChked = true;		

		if(bkTheme == "emerge" && trim(getSearchCookie("searchType")) == "")
		{			
			for(var i=0;i<lenChkBox;i++)
			{					
				if(arrChkBox[i].type == "checkbox")
				{
					var valChkBox = arrChkBox[i].value;
					
					if(valChkBox == "'Single Family','Residential'")
						arrChkBox[i].checked = true;
					else
						arrChkBox[i].checked = false;
				}
			}
		}

		for(var i=0;i<lenChkBox;i++)
		{				
	    	if(arrChkBox[i].id == chkAllId)
	    	{
	    		continue;
	    	}
	    	if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
	    	{
	    	    var valChkBox = arrChkBox[i].value;
	    	    strChkBox = strChkBox + valChkBox + ':';				
	    	}
	    	else if(arrChkBox[i].type == "checkbox")
	    	{
	    	    allChked = false;    
	    	}
		}
		if(allChked == true && bkTheme != "emerge")
		{
	    	strChkBox = "";
		}
		else if(strChkBox.charAt(strChkBox.length-1) == ':')
		{
			strChkBox = strChkBox.substr(0,eval(strChkBox.length-1));
		}			
		setSearchCookie("searchType",strChkBox);		
}


function setPropFrmCookieRS()
{
		if(getSearchCookie("searchType") || trim(getSearchCookie("searchType")) == "")
	   {
		if($("divRSType"))
		{
			var arrChkBox = $("divRSType").getElementsByTagName("input");
			var lenChkBox = arrChkBox.length;
			var strChkBox = getSearchCookie("searchType");
			if(trim(strChkBox) == "")
			{
				
				for(var i=0;i<lenChkBox;i++)
				{
					/*
					if(arrChkBox[i].id == "RSchbSHTypeAll")
					{
						continue;
					}
					*/
					if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == false)
					{
						arrChkBox[i].checked = true;
					}
				}	
			}
			else
			{				
				var arrStrChkBox = strChkBox.split(":");
				for(var i=0;i<lenChkBox;i++)
				{
					if(arrChkBox[i].id == "RSchbSHTypeAll")
					{
						continue;
					}
					if(arrChkBox[i].type == "checkbox")
					{
						var valChkBox = arrChkBox[i].value;						
						if((arrStrChkBox.in_array(valChkBox) !== false) && (arrChkBox[i].checked == false))
						{
							arrChkBox[i].checked = true;
						}
						else if(arrStrChkBox.in_array(valChkBox) === false)
						{
							arrChkBox[i].checked = false;
						}
					}
				}
				
				//for setting all checked
				var allChked = true;
				for(var i=0;i<lenChkBox;i++)
				{
					if((arrChkBox[i].id == "RSchbSHTypeAll") || (arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true))
					{
						continue;
					}
					else
					{
						allChked = false;
						break;
					}
				}				
				if(allChked == true || getSearchCookie("searchType") == "all")
				{					
					$("RSchbSHTypeAll").checked = true;
				}
				else
				{
					$("RSchbSHTypeAll").checked = false;
				}
			}
		}
	}
}
var prpStyleThemeArr = ['metrobrokers','williampitt','litchfield','jbfsir'];
function setPrpStyleFrmCookie()
{
	//Only for Metrobrokers....
	if(checkInArray(bkTheme,prpStyleThemeArr))
	{		
		if(getSearchCookie("propStyle") || trim(getSearchCookie("propStyle")) == "")
		{				
			if($("RSpropStyleDv"))
			{
				var arrChkBox = $("RSpropStyleDv").getElementsByTagName("input");
				var lenChkBox = arrChkBox.length;
				var strChkBox = getSearchCookie("propStyle");
				if(trim(strChkBox) == "")
				{					
					for(var i=0;i<lenChkBox;i++)
					{
						if(arrChkBox[i].id == "RSchkStyleAll")
						{
							continue;
						}
						if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == false)
						{
							arrChkBox[i].checked = true;
						}
					}

					var allFlg = true;
					for(var i=0;i<lenChkBox;i++)
					{
						if(arrChkBox[i].id == "RSchkStyleAll")
						{
							continue;
						}

						if(arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true)
						{
							continue;
						}
						else
						{
							allFlg = false;
							break;
						}
					}
					if(allFlg) 
						$("RSchkStyleAll").checked = true;
					else
						$("RSchkStyleAll").checked = false;
				}
				else
				{
					var arrStrChkBox = strChkBox.split(":");
					for(var i=0;i<lenChkBox;i++)
					{
						if(arrChkBox[i].id == "RSchkStyleAll")
						{
							continue;
						}
						if(arrChkBox[i].type == "checkbox")
						{
							var valChkBox = arrChkBox[i].value;
							/*if((arrStrChkBox.in_array(valChkBox) !== false) && (arrChkBox[i].checked == false))
							{
								arrChkBox[i].checked = true;
							}*/
							if((arrStrChkBox.in_array(valChkBox) !== false))
							{
								arrChkBox[i].checked = true;
							}
							else
								arrChkBox[i].checked = false;
						}
					}
					
					//for setting all checked
					var allChked = true;
					for(var i=0;i<lenChkBox;i++)
					{
						if((arrChkBox[i].id == "RSchkStyleAll") || (arrChkBox[i].type == "checkbox" && arrChkBox[i].checked == true))
						{
							continue;
						}
						else
						{
							allChked = false;
							break;
						}
					}					

					if(allChked == true || getSearchCookie("propStyle") == "all")
					{					
						$("RSchkStyleAll").checked = true;
					}
					else
					{
						$("RSchkStyleAll").checked = false;
					}					
					if(getSearchCookie("spanStyleHTML"))
					{
						if($('prpStyleText')) $('prpStyleText').innerHTML = getSearchCookie("spanStyleHTML");
					}
				}
			}
		}

		if(getSearchCookie("garage") && $("RScmbGarage"))
		{
			$("RScmbGarage").value = getSearchCookie("garage").replace(/[+]/g, ' ');
		}
		else if($("RScmbGarage"))
		{
			$("RScmbGarage").selectedIndex = 0;
		}
	}
}

/*../vendor/ewindow/EWindow.js*/

var original_center_x_px;
var original_center_y_px;
function EStyle(stemImage, stemSize, boxClass, boxOffset) 
{
	this.stemImage = stemImage;
    this.stemSize = stemSize;
    this.boxClass = boxClass;
	this.boxOffset = boxOffset;

	//this.border = border;

    // Known fudge factors are:
    // Firefox (1.0.6 and 1.5)    5, -1
    // IE 6.0                     0, -1
    // Opera 8.54                 3, -1
    // Opera 9 prev               4, -1
    // Netscape (7.2, 8.0)        5, -1
    // Safari                     5, -1        
	
	var agent = navigator.userAgent.toLowerCase();
	var fudge = 5;  // assume Netscape if no match found
	if (agent.indexOf("opera") > -1) 
	{
		fudge = 3;
		tfudge = 0;
	}   
	
	if (agent.indexOf("firefox") > -1) 
	{
		fudge = 5;
		tfudge = 3;
	}   
	
	if (agent.indexOf("safari") > -1) 
	{
		fudge = 5;
		tfudge = 0;
	}   
	
	if ((agent.indexOf("msie") > -1) && (agent.indexOf("opera") < 1))
	{
		fudge = 0;
		tfudge = 0;
	}
	this.fudge = fudge;
}
	
	var E_STYLE_1 = new EStyle("/vendor/ewindow/green/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_2 = new EStyle("/vendor/ewindow/red/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_3 = new EStyle("/vendor/ewindow/blue/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_4 = new EStyle("/vendor/ewindow/orange/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_7 = new EStyle("/vendor/ewindow/cyan/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_8 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle2", new GPoint(-10,15));
	var E_STYLE_9 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle3", new GPoint(-10,15));
	var E_STYLE_10 = new EStyle("/vendor/ewindow/green/arrow.gif", new GSize(12,22), "estyle4", new GPoint(-10,15));
	var E_STYLE_11 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle5", new GPoint(-10,15));
	var E_STYLE_12 = new EStyle("/vendor/ewindow/green/arrow.gif", new GSize(12,22), "estyle6", new GPoint(-10,15));
	var E_STYLE_13 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle9", new GPoint(-10,15));
	var E_STYLE_14 = new EStyle("/vendor/ewindow/blue/arrow.gif", new GSize(12,22), "estyle4", new GPoint(-10,15));
	var E_STYLE_15 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle7", new GPoint(-10,15));
	var E_STYLE_16 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle8", new GPoint(-10,15));
	var E_STYLE_17 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle10", new GPoint(-10,15));
	var E_STYLE_18 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle11", new GPoint(-10,15));
	var E_STYLE_19 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle12", new GPoint(-10,15));
	var E_STYLE_20 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle13", new GPoint(-10,15));
	var E_STYLE_21 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle14", new GPoint(-10,15));
	var E_STYLE_22 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle15", new GPoint(-10,15));
	var E_STYLE_23 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle16", new GPoint(-10,15));
	var E_STYLE_24 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle17", new GPoint(-10,15));

function EWindow(map,estyle) 
{
	// parameters
	this.map=map;
	this.estyle=estyle;
	// internal variables
	this.visible = false;
	// browser - specific variables
	this.ie = false;
	var agent = navigator.userAgent.toLowerCase();
	if ((agent.indexOf("msie") > -1) && (agent.indexOf("opera") < 1))
	{ 
		this.ie = true
	} 
	else 
	{
		this.ie = false
	}
} 
	
	EWindow.prototype = new GOverlay();

EWindow.prototype.initialize = function(map) 
{
	var div1 = document.createElement("div");
	div1.style.position = "absolute";

	
	map.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(div1);
	
	var div2 = document.createElement("div");
	div2.style.position = "absolute";
	div2.style.width = this.estyle.stemSize.width+"px";

	map.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(div2);
	this.div1 = div1;
	this.div2 = div2;
}

EWindow.prototype.openOnMap = function(point, html, offset) 
{
	this.offset = offset||new GPoint(0,0);
	this.point = point;
	this.div1.innerHTML = '<div class="' + this.estyle.boxClass + '"><nobr>' + html + '</nobr></div>';

	this.decidePosition();

	var z = GOverlay.getZIndex(this.point.lat());
	this.div1.style.zIndex = z;
	this.div2.style.zIndex = z+1;
	this.visible = true;
	this.show();
	this.redraw(true);
}


EWindow.prototype.redraw = function(force) 
{
	if(this.estyle.boxClass=="estyle2")
	{
		wHeight=130;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
		tfudge = 0;
	}
	else if(this.estyle.boxClass=="estyle5")
	{
		if(bkTheme=="frontdoor")
			wHeight=132;
		else
			wHeight=129;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle8")
	{
		if(bkTheme=="frontdoor")
			wHeight=146;
		else
			wHeight=142;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle15")
	{
		wHeight=142;
		rightx = 190;
		bottomy = -4;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle16")
	{
		wHeight=157;
		rightx = 190;
		bottomy = -4;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle17")
	{
		wHeight=150;
		rightx = 230;
		bottomy = -7;
		leftx = 25;
	}
	else if(this.estyle.boxClass=="estyle7")
	{
		wHeight=192;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle3")
	{
		wHeight=172;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle4")
	{
		wHeight=191;
		rightx = 221;
		bottomy = 5;
		leftx = 5;
	//	tfudge = 0;
	}
	else if(this.estyle.boxClass=="estyle9")  // Local Photos(Panoramio)
	{
		wHeight=190;
		rightx = 221;
		bottomy = 5;
		leftx = 25;
	//	tfudge = 0;
	}
	else if(this.estyle.boxClass=="estyle6")
	{
		wHeight=121;
		rightx = 225;
		bottomy = 5;
		leftx = 5;
	}
	else if(this.estyle.boxClass=="estyle10")
	{
		wHeight=151;
		rightx = 230;
		bottomy = 4;
		leftx = 30;
	}
	else if(this.estyle.boxClass=="estyle11")
	{
		wHeight=175;
		rightx = 230;
		bottomy = 5;
		leftx = 30;
	}
	else if(this.estyle.boxClass=="estyle12")  // for broker agent
	{
		wHeight=190;
		rightx = 230;
		bottomy = 5;
		leftx = 30;
	//	tfudge = 0;
	}
	else if(this.estyle.boxClass=="estyle13")
	{
		wHeight=190;
		rightx = 210;
		bottomy = 5;
		leftx = 30;
	}
	else if(this.estyle.boxClass=="estyle14")
	{
		wHeight=239;
		rightx = 230;
		bottomy = 5;
		leftx = 30;
	}
	else
	{
		wHeight=189;
		rightx = 221;
		bottomy = 5;
		leftx = 5;
	}
	if (!this.visible) {return;}
	var p = this.map.fromLatLngToDivPixel(this.point);

	//alert(this.region_x1_px+' :: '+this.region_y1_px+' :: '+this.region_x2_px+' :: '+this.region_y2_px);
	//alert(p);
	var arrowPath = this.estyle.stemImage.substring(0,parseInt(this.estyle.stemImage.lastIndexOf('/'))+1);
	
	if((parseInt(this.region_x2_px - p.x) > 260) && (parseInt(p.y - this.region_y2_px) > 180))
	{
		var arrowImg = "arrow_1.gif";
		this.div2.style.left   = (p.x + this.offset.x) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - leftx ) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y + bottomy - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
	}
	else if((parseInt(this.region_x2_px - p.x) > 270) && (parseInt(this.region_y1_px - p.y) > 180))
	{
		var arrowImg = "arrow_4.gif";
		this.div2.style.left   = (p.x + this.offset.x ) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge - 29) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - leftx) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y  - wHeight - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
	}
	else if((parseInt(p.x - this.region_x1_px) > 260) && (parseInt(p.y - this.region_y2_px) > 180))
	{
		var arrowImg = "arrow_2.gif";
		this.div2.style.left   = (p.x + this.offset.x - 5) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y  - tfudge - this.estyle.fudge ) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - rightx) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y + bottomy  - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 

	}
	else if((parseInt(p.x - this.region_x1_px) > 260) && (parseInt(this.region_y1_px - p.y) > 180))
	{
		var arrowImg = "arrow_3.gif";
		this.div2.style.left   = (p.x + this.offset.x - 5) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge - 29) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - rightx) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y - wHeight - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
	}
	else  if(parseInt(p.y - this.region_y2_px) > 180)
	{
		var gpoint = new GPoint(p.x + 10,p.y - 5);
		var gpoint_latlng = this.map.fromDivPixelToLatLng(gpoint);
		//this.map.panTo(gpoint_latlng);
		
		var arrowImg = "arrow_1.gif";
		this.div2.style.left   = (p.x + this.offset.x) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - leftx ) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y + bottomy - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
		
	}
	else
	{
		var arrowImg = "arrow_3.gif";
		this.div2.style.left   = (p.x + this.offset.x - 15) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge - 29) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - rightx) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y - wHeight - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
	}
	
	var imgSrc = arrowPath + arrowImg;

/*
	if(this.ie && this.estyle.stemImage.toLowerCase().indexOf(".png")>-1) 
	{
		var loader = "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.estyle.stemImage+"', sizingMethod='scale');";
		this.div2.innerHTML = '<div style="height:' +this.estyle.stemSize.height+ 'px; width:'+this.estyle.stemSize.width+'px; ' +loader+ '" ></div>';
	}  
	else 
	{
*/		

		this.div2.innerHTML = '<img src="' + imgSrc + '" width="' + this.estyle.stemSize.width +'" height="' + this.estyle.stemSize.height +'">';
/*		
	}
*/

/*	
	this.div2.style.left   = (p.x + this.offset.x) + "px";
	this.div2.style.bottom = (-p.y + this.offset.y - this.estyle.fudge) + "px";
	this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x) + "px";
	this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y) + "px";
*/	
}


EWindow.prototype.decidePosition = function()
{
	if((original_center_x_px == null) && (original_center_y_px == null))
	{
		original_center_x_px = this.map.fromLatLngToDivPixel(this.map.getCenter()).x;
		original_center_y_px = this.map.fromLatLngToDivPixel(this.map.getCenter()).y;
	}
	
	this.pointPX = this.map.fromLatLngToDivPixel(this.point);

	this.map_width_px =  this.map.getSize().width;
	this.map_height_px =  this.map.getSize().height;
	
	
	this.region_x1_px = this.map.fromLatLngToDivPixel(this.map.getBounds().getSouthWest()).x;
	this.region_y1_px = this.map.fromLatLngToDivPixel(this.map.getBounds().getSouthWest()).y;
	this.region_x2_px = this.map.fromLatLngToDivPixel(this.map.getBounds().getNorthEast()).x;
	this.region_y2_px = this.map.fromLatLngToDivPixel(this.map.getBounds().getNorthEast()).y;

	//alert(this.region_x1_px+' :: '+this.region_y1_px+' :: '+this.region_x2_px+' :: '+this.region_y2_px);

	this.center_x_px =  this.map.fromLatLngToDivPixel(this.map.getCenter()).x;
	this.center_y_px =  this.map.fromLatLngToDivPixel(this.map.getCenter()).y;
	
	//alert(this.center_x_px+' :: '+this.center_y_px);
	//alert(this.pointPX.x+' :: '+this.pointPX.y);
	
	if((parseInt(parseInt(this.region_x1_px) + 20) <= parseInt(this.pointPX.x)) && (parseInt(this.pointPX.x) <= parseInt(parseInt(this.region_x2_px) - 20)))
	{
		this.new_center_x_px = null;
	}
	else if(parseInt(parseInt(this.region_x1_px)+20) > parseInt(this.pointPX.x)) 
	{
		this.new_center_x_px = parseInt(this.center_x_px) - parseInt(parseInt(this.region_x1_px) + 20 - parseInt(this.pointPX.x));
	}
	else if(parseInt(this.pointPX.x) > parseInt(this.region_x2_px - 20)) 
	{
		this.new_center_x_px = parseInt(this.center_x_px) + parseInt(this.pointPX.x - this.region_x2_px) + 20;
	}

	if((parseInt(parseInt(this.region_y2_px) + 30) <= parseInt(this.pointPX.y)) && (parseInt(this.pointPX.y) <= parseInt(parseInt(this.region_y1_px) - 30)))
	{
		this.new_center_y_px = null;
	}
	else if(parseInt(parseInt(this.region_y2_px)+30) > parseInt(this.pointPX.y)) 
	{
		this.new_center_y_px = parseInt(this.center_y_px) - parseInt(parseInt(this.region_y2_px) + 30 - parseInt(this.pointPX.y));
	}
	else if(parseInt(this.pointPX.y) > parseInt(this.region_y1_px - 30)) 
	{
		this.new_center_y_px = parseInt(this.center_y_px) + parseInt(this.pointPX.y - this.region_y1_px) + 30;
	}

	if((this.new_center_x_px == null) && (this.new_center_y_px == null))
	{
		//no action
	}
	else 
	{
		if(this.new_center_x_px == null)
		{
			this.new_center_x_px = this.center_x_px;
		}
		else if(this.new_center_y_px == null)
		{
			this.new_center_y_px = this.center_y_px;
		}

		this.new_center_gpoint = new GPoint(this.new_center_x_px,this.new_center_y_px);
		this.new_center_gpoint_latlng = this.map.fromDivPixelToLatLng(this.new_center_gpoint);
		this.map.panTo(this.new_center_gpoint_latlng);
	}
}

EWindow.prototype.openOnMarker = function(marker,html) 
{
	var vx = marker.getIcon().iconAnchor.x - marker.getIcon().infoWindowAnchor.x;
	var vy = marker.getIcon().iconAnchor.y - marker.getIcon().infoWindowAnchor.y;
	this.openOnMap(marker.getPoint(), html, new GPoint(vx,vy));
}


EWindow.prototype.remove = function() 
{
	this.div1.parentNode.removeChild(this.div1);
	this.div2.parentNode.removeChild(this.div2);
	this.visible = false;
}

EWindow.prototype.copy = function() 
{
	return new EWindow(this.map, this.estyle);
}

EWindow.prototype.show = function() 
{
	this.div1.style.display="";
	this.div2.style.display="";
	this.visible = true;
}

EWindow.prototype.hide = function() 
{
	this.div1.style.display="none";
	this.div2.style.display="none";
	this.visible = false;
}


/*../vendor/rolodex/rolo.js*/

//var homes = new Array();   // the homes in the rolodex
var curIndex = 0;
var curSaved = null;
var savedList = new Array();
var savedListGroup = new Array();
var carList = new Array();
var carIndex = null;
var mapLoco;
var spinEl = new Array();     // keyframes of object position, size, visiblity
var spinUl = new Array();     // upwards animation keyframes (backwards)
var spinDir = "down";
var animTimerID = null;
var batchSize = 10;
var searchResults = new Array();
var defaultImg = "http://"+window.location.hostname+"/wt/"+bkTheme+"/images/listing/noImageThmbBig.jpg" ;
//var lowerWedgeImg = "/vendor/rolodex/Images/lowerWedgeDefault.png";  // a hack
//var upperWedgeImg = "/vendor/rolodex/Images/upperWedgeDefault.png";
var lowerWedgeImg = "/vendor/rolodex/Images/lowerWedge1.png";  // a hack
var lowerWedgeImg1 = "/vendor/rolodex/Images/lowerWedge2.png";
var upperWedgeImg = "/vendor/rolodex/Images/upperWedge1.png";
var upperWedgeImg1 = "/vendor/rolodex/Images/upperWedge2.png";

var carIndex = 0;
var carLength = 4;
var roloh = 437;
var currentTab="";
var actTab = "";
var dataArr = new Array();


var homesHash = $H();
var curIndexHash = $H();
var savedListHash = $H();
var carListHash = $H();
var spinElHash = $H();
var spinUlHash = $H();
var searchResultsHash = $H();
var multiFavDelDlg = "";

function El(id, indexOff, left, top, width, height, display) {
	this.id = id;
	this.obj = document.getElementById(id);
	this.indexOffset = indexOff;
	this.left = left;
	this.top = top
	this.width = width;
	this.height = height;
	this.display = display;
}

    function initRolo(tab) {
		actTab = tab;
		this.homes = new Array();

		eval("homesHash.merge({"+tab+" : null});");
		eval("curIndexHash.merge({"+tab+" : null});");
		eval("savedListHash.merge({"+tab+" : null});");
		eval("carListHash.merge({"+tab+" : null});");
		eval("spinElHash.merge({"+tab+" : null});");
		eval("spinUlHash.merge({"+tab+" : null});");
		eval("searchResultsHash.merge({"+tab+" : null});");

        initAnim(tab);   // set up the keyframes
    }

    function Home(sr, index) {
    eval("this.heroImg"+actTab+" =  (sr.pictures.length ==0)? defaultImg : sr.pictures[0].url;");
    this.altImg = new Array();
    for (var i=1; i<sr.pictures.length; i++) {
        this.altImg[i-1] = sr.pictures[i].url;
    }

    eval("this.thumbImg = this.heroImg" + actTab + ";");
    //this.upperWedgeImg = sr.upperWedgeImg;
    //this.lowerWedgeImg = sr.lowerWedgeImg;     // this is a hack until wedge images are available
    this.upperWedgeImg = upperWedgeImg;
	this.upperWedgeImg1 = upperWedgeImg1;
    this.lowerWedgeImg = lowerWedgeImg;
	this.lowerWedgeImg1 = lowerWedgeImg1;
    this.index = index;
    this.atts = new Array();

      this.atts["bedroom"] = {abbrev:"BD", value:sr.beds};
      this.atts["bathroom"] = {abbrev:"BA", value:sr.baths};
      this.atts["price"] = {abbrev:"$$", value:sr.price};
      this.atts["sqft"] = {abbrev:"SQ", value:sr.squarefeet};
      this.atts["address"] = {abbrev:"ADR", value:{st:sr.address, city:sr.city, state:sr.state, zip:sr.zip}};
	  this.atts["copyright"] = {abbrev:"CR", value:sr.copyright};
	  this.atts["broker"] = {abbrev:"BK", value:sr.broker};
	  this.atts["sourcename"] = {abbrev:"SRC", value:sr.sourcename};
	  this.atts["status"] = {abbrev:"ST", value:sr.status};

    this.detailsUrl = sr.link;
	this.mlsno = sr.mlsno;
	this.lat = sr.latitude;
	this.lng = sr.longitude;
	this.sourcename = sr.sourcename;
	this.srno = sr.srno;
	this.tid = sr.tid;
	this.pno = sr.pno;
	this.totalcount = sr.totalcount;
	this.status = sr.status;
	if (this.mlsno.indexOf ('PKT') != -1)
	{
		this.mlslbl = "TID";
		this.mlsStr = this.mlsno.replace('PKT', '');
	}
	else
	{
		this.mlslbl = "MLS #";
		this.mlsStr = this.mlsno;
	}
    this.curAlt = null;  // which alternative image is being shown.
    this.showThumb = function(imgParent) {
        var txt;
        var bkText;
		var idxImg = "";
		if((bkTheme=="metrobrokers" || bkTheme=="intero") && (this.atts["copyright"].value != "" && this.atts["copyright"].value.include("METROLIST")))  
			idxImg = "<img src='"+imgThmPath+"common/idx.gif' height='10px' width='24px'> ";
		else	if( ( bkTheme=="mercerisland") && (this.atts["copyright"].value != "" && this.atts["copyright"].value.include("NWMLS") ) )  
			idxImg = "<img src='/images/disclaimer/NWMLS_small.gif' height='10px' width='24px'> ";
		else if(bkTheme=="jensenwhite" && (this.atts["copyright"].value != "" && this.atts["copyright"].value.include("RMLS")))  
			idxImg = "<img src='"+imgThmPath+"common/rmls.gif' height='10px' width='24px'> ";

		if(this.atts["broker"].value == "")
				bkText = "Listing Broker not available";
		else
				bkText = idxImg+"Courtesy of "+this.atts["broker"].value;
		if(bkTheme=="remax")
			txt = "<img src='/vendor/rolodex/Images/trans.gif' width=68 height=5><br><img src='" + this.thumbImg + "' width=90 height=55 border=0><br><span class='fadedFont'> "+this.atts["copyright"].value+"</span>";
		else if(bkTheme == "emerge")
			txt = "<img src='/vendor/rolodex/Images/trans.gif' width=68 height=5><br><img src='" + this.thumbImg + "' width=90 height=55 border=0><br><img src='/images/disclaimer/gbrarsmall.jpg' height='10px'/>&nbsp;<span class='fadedFont'> "+this.atts["copyright"].value+"</span>";
		else
			txt = "<img src='/vendor/rolodex/Images/trans.gif' width=68 height=5><br><img src='" + this.thumbImg + "' width=90 height=55 border=0><br><span class='fadedFont'>"+bkText+ " <br> "+this.atts["copyright"].value+"</span>";
		imgParent.innerHTML = txt;

    }

    this.showAtts = function(tabParent) {
        var txt = new StringBuffer();
		txt.append("<table width=100% height=100% cellspacing=0 cellpadding=2 border=0>");
        txt.append("<tr><td colspan=2 align=center class='medText'>" + this.atts["address"].value.st);
        txt.append("<br>" + this.atts["address"].value.city + ", " + this.atts["address"].value.state+ " " + this.atts["address"].value.zip);
        txt.append("</td></tr><tr><td colspan=2 height=20></td></tr>");
	    if(this.atts["bedroom"].value != "") {
			this.atts["bedroom"].value = (this.atts["bedroom"].value==0 ? "-":this.atts["bedroom"].value);
            txt.append("<tr><td class='smlText' height=16>Bedroom</td><td class='smlText' align=left>");
            txt.append(this.atts["bedroom"].value + "</td></tr>");
        }
        if(this.atts["bathroom"].value != "") {
			this.atts["bathroom"].value = (this.atts["bathroom"].value==0 ? "-":this.atts["bathroom"].value);
            txt.append("<tr><td class='smlText' height=16>Bathroom</td><td class='smlText' align=left>");
            txt.append(this.atts["bathroom"].value + "</td></tr>");
        }
        if(this.atts["price"].value != "") {
			this.atts["price"].value = (this.atts["price"].value==0 ? "-":"$"+format1000s(this.atts["price"].value));
            txt.append("<tr><td class='smlText' height=16>Price</td><td class='smlText' align=left>");
            txt.append(this.atts["price"].value + "</td></tr>");
        }
        if(this.atts["sqft"].value != "") {
			this.atts["sqft"].value = (this.atts["sqft"].value==0 ? "-":this.atts["sqft"].value);
            txt.append("<tr><td class='smlText' height=16>Sqft</td><td class='smlText' align=left>");
            txt.append(format1000s(this.atts["sqft"].value) + "</td></tr>");
        }
		if(this.mlsno != "") {
            txt.append("<tr><td class='smlText' height=16>"+this.mlslbl+"</td><td class='smlText' align=left>");
            txt.append(this.mlsStr + "</td></tr>");
        }

        txt.append("<tr><td colspan=2 style='height:20px;*height:30px'></td></table>");
        tabParent.innerHTML = txt;
    }

	this.showLinks = function(tabParent) {		
		var powerFlag = "";
		if(this.atts["sourcename"].value == "powersearch" && powerSearch == 1 && enablePowerSearch == 1 && ((uRole == "EA" || uRole == "A")))
			powerFlag = 1;
		var addr = this.atts["address"].value.st + ", " +this.atts["address"].value.city + ", " + this.atts["address"].value.state;
        if(powerFlag == 1)
			var txt = "<table align='center' width=100% height=40px cellspacing=0 cellpadding=2 border=0>";
		else
			var txt = "<table align='center' width=100% height=100% cellspacing=0 cellpadding=2 border=0>";
		txt+= "<tr><td colspan='2' class='smlText' height=16><a target='_blank' href='"+this.detailsUrl+"' class='dashAnchor crsr'> View Details</a></td></tr>";
				
		if(powerFlag == 1 || this.atts['status'].value == "Sold")		
		{
			//DO NOTHING
		}
		else
			txt+= "<tr><td colspan='2' class='smlText' height=16><a  href='javascript:showLeadPopup(\""+escape(addr)+"\",\""+this.detailsUrl+"\",\""+this.mlsno+"\");' class='dashAnchor crsr'> Schedule Viewing</a></td></tr>";	    

/********		 Explore Neighborhood link code			***********/
	if (bkTheme != "patrick")
	{		
		nhUrl = this.detailsUrl.replace (/\/homes\//, "/homes/explorenh/");
	}
	else
	{
		var tidArr = this.tid.split("-");
		var myQs = new Querystring();
		var aid = myQs.get("aid");
		if(aid == null) aid = "";

		if(tidArr[0]=="MLS")
			tidArr[0] = brokerSource;
		else if(tidArr[0]=="PKT")
			tidArr[0] = "POCKETLISTING";
		else
			tidArr[0] = "ENHANCEDLISTING";

		nhUrl = addr.replace(/\#/,"Unit")+","+this.atts["address"].value.zip;

		if(this.sourcename != "powersearch")
				nhUrl += ","+money2num(this.atts["price"].value)+","+this.atts["bedroom"].value+","+this.atts["bathroom"].value+","+this.lat+","+this.lng+"&cf=0&pos=2&widgetnames=elementaryschools,recentsales,panoramio&noSearch=1&tid="+tidArr[1]+"&aid="+aid+"&source="+tidArr[0];
		else
				nhUrl += ","+money2num(this.atts["price"].value)+","+this.atts["bedroom"].value+","+this.atts["bathroom"].value+","+this.lat+","+this.lng+"&cf=0&pos=2&widgetnames=elementaryschools,recentsales,panoramio&noSearch=1&tid="+tidArr[2]+"&aid="+aid+"&source="+tidArr[0];
		nhUrl = "http://"+location.hostname+"/app/listing/singlePropertyLanding.php?status=EXP&address="+nhUrl;
	}
		if(this.atts['status'].value == "Sold")
		{
			//DO NOTHING
		}
		else
		{
			if(bkTheme != "commonwealth")
				txt+= '<tr><td colspan="2" height=16><a href="'+nhUrl+'" target="_blank" class="dashAnchor crsr" style="font-size:9px;">Explore Neighborhood&trade;</a></td></tr>';
		}

        txt+= "</table>";
        tabParent.innerHTML = txt;
    }
    this.showHero = function() {
//        this.curAlt = null;   // set it to "unseen"
			var a = "altLeftImg"+actTab;
			var b = "altRightImg"+actTab;
        if(this.altImg.length == 0) {
            document.getElementById(a).src  = "/vendor/rolodex/Images/roloLtDisabledBtn.png";
            document.getElementById(b).src = "/vendor/rolodex/Images/roloRtDisabledBtn.png";
        } else {
            document.getElementById(a).src  = "/vendor/rolodex/Images/roloLtBtn.png";
            document.getElementById(b).src = "/vendor/rolodex/Images/roloRtBtn.png";
        }
        this.showThumb(document.getElementById("thumbParent" + actTab));
        this.showAtts(document.getElementById("attsParent"+actTab));
		this.showLinks(document.getElementById("linksParent"+actTab));
        document.getElementById("barParent"+actTab).innerHTML = barChart(this.atts,searchResults.bc);

        curFrame = 0 ;
        animateSpin();
    }

    this.showAlt = function(dir) {
        if(this.altImg.length == 0) {
            alert("No additional photos are available for this property");
            return;
        }
        var curSrc = "";
        if( dir == "next") {
             this.curAlt = (this.curAlt == null)? 0: this.curAlt+1;
        } else {
             this.curAlt = (this.curAlt == null)? this.altImg.length-1: this.curAlt-1;
        }

        if(this.curAlt >= this.altImg.length) {
                 eval("curSrc = this.heroImg" + actTab + ";");
                 this.curAlt = -1;
        }
        if(this.curAlt < 0) {
            if(this.curAlt == -1) {
                 this.curAlt = null;
                 eval("curSrc = this.heroImg" + actTab + ";");
            } else {
                 this.curAlt = this.altImg.length-1;
                 curSrc = this.altImg[this.curAlt];
            }
        }
        if(curSrc == "") curSrc = this.altImg[this.curAlt];
        document.getElementById("heroImg"+actTab).src = curSrc;

    }

    this.highlightPin = function() {
        window.status = "highlighting pin on map not yet integrated"
    }
}
    function focusRolo(index) {
        this.homes[index].showHero();
        curIndex = index;
    }

	function focusRoloMouseOver(index) {		
        this.homes[index].showHero();
        verticalSlider.setValue(Math.round(index/valSlideBy)-1);
		$("roloDetailImg" + srTabs.get("activeTab").get("label").gsub(" ","")).href = this.homes[index].detailsUrl;
		var crec = (this.homes[index].pno-1)*blockSize100 + index + 1;
		$("cProp"+srTabs.get("activeTab").get("label").gsub(" ","")).innerHTML = " "+(crec)+" ";
		curIndex = index;
    }

    function loadRolo(srArr, index,tabName) {
		var sr = new Array();
		sr = srArr.clone();
		if(tabName=="Properties" && (sr[0].placeholder == "1" && sr.length > 1) )
		{
			if(sr[1].placeholder == "1" && sr.length==2);
			else
			{
				if (sr[0].placeholder == "1")
				{
					sr.splice(0,1);
					if(index>0 && index%blockSize100 != 0)
					{
						if((index+1)%blockSize100 != 0) 
						index = index - 1;
					}
				}
				if (sr.length > 1)
				{
					if (sr[0].placeholder == "1")
					{
						sr.splice(0,1);
						if(index>0 && index%blockSize100 != 0)
						{
							if((index+1)%blockSize100 != 0) 
							index = index - 1;
						}
					}
				}
			}
		} 
//		var cntShow = index;
		var tcount = (parseInt(sr[0].totalcount - parseInt(sr[0].pno-1)*blockSize100) >= blockSize100 )?blockSize100:sr[0].totalcount - parseInt(sr[0].pno-1)*blockSize100;
		//var tcount = sr.length;
		valSlideBy = eval(tcount/250);
		var slideLen = parseInt(tcount);
		verticalSlider = YAHOO.widget.Slider.getVertSlider("vertBGDiv"+tabName, "vertHandleDiv"+tabName, 0, 250);
		verticalSlider.subscribe("change",function(offsetFromStart) {
				var curValue = (sr[0].pno-1)*blockSize100 + Math.round(verticalSlider.getValue()*valSlideBy)+1;
				if(curValue > (parseInt(sr[0].pno)-1)*blockSize100 + parseInt(tcount))	curValue = (parseInt(sr[0].pno)-1)*blockSize100 + parseInt(tcount);  
				document.getElementById("vertHandleDiv"+tabName).innerHTML = "<span style='font-weight:bold;font-size:12px;'>"+curValue+"</span>";
				if(sr[(curValue-1)%blockSize100]) setVtooltip(sr[(curValue-1)%blockSize100]);
		});
		verticalSlider.subscribe("slideEnd",function(offsetFromStart) {
			document.getElementById("vertTooltipDiv"+actTab).style.display = "none";
			var curValue = Math.round(verticalSlider.getValue()*valSlideBy)+1;
			if(curValue > tcount) curValue = tcount;
			scrollRolo(curValue);
		});

		//alert("index : "+index+" valSlideBy : "+valSlideBy)
		verticalSlider.setValue(Math.round((index%blockSize100)/valSlideBy)-1);
		//Math.round((index%blockSize100)/valSlideBy)-1
		$("cProp"+actTab).innerHTML = " "+ eval(index+1)+" ";
//		$("cProp"+actTab).innerHTML = " "+  eval((parseInt(sr[0].pno-1)*blockSize100)+(index+1))+" ";
		currentTab = tabName+"ListDiv";
		dataArr = sr;
		getDataRange(tabName,sr, searchResults);
        this.homes.length =0;
		var latArr = new Array();
		var lngArr = new Array();
		actTab = tabName;
		$("totalProp"+actTab).innerHTML = sr[0].totalcount;

        for (var i=0; i< sr.length; i++) {
           this.homes[i] = new Home(sr[i], i);
        }

		eval("homesHash.merge({"+tabName+" : this.homes});");
		eval("curIndexHash.merge({"+tabName+" : index});");

		curIndex = index%blockSize100;
		if(this.homes[curIndex]) this.homes[curIndex].showHero();
		$("roloMainDiv" + tabName).style.display="inline";

		// For setting up View Details URL
		$("roloDetailImg" + actTab).href = this.homes[curIndex].detailsUrl;

		var roloLoco = findPos(document.getElementById("roloParent"+actTab));
		roloLoco.parentObj = document.getElementById("roloParent"+actTab);
        roloLoco.height = roloLoco.parentObj.offsetHeight;
        document.getElementById("roloDiv"+actTab).style.height = roloLoco.height+"px";
        document.getElementById("heroDiv"+actTab).style.top = Math.round((roloLoco.height-234)/2)+"px";
        document.getElementById("roloDiv"+actTab).style.display = "inline";
        document.getElementById("b1Img"+actTab).style.top = (roloLoco.height-120)+"px";
        document.getElementById("b2Img"+actTab).style.top = (roloLoco.height-83)+"px";
		$(currentTab).style.position = "relative";
		$(currentTab).parentNode.parentNode.style.height="410px"
		if ($(tabName+"ListDiv"))
		{
			while ($(currentTab).hasChildNodes())
			  $(currentTab).removeChild($(currentTab).firstChild);
		}
		$(currentTab).appendChild($("roloMainDiv" + tabName));
		var disclaimerDiv = document.createElement("div");
		//disclaimerDiv.innerHTML = "<br>"+disclaimer;
		$(currentTab).appendChild(disclaimerDiv);
		var eFlag = 0;
		for(var i=0; i<sr.length ; i++)
		{
			var maxMarkerName = "commMarker"+sr[i].sourcename+sr[i].srno;
			if ( eval('window.' + maxMarkerName + ' == null') )
				continue;
			else
			{
				eFlag = 1;
				break;
			}
		}
		if(this.homes[curIndex]) clickOnCommList(this.homes[curIndex].sourcename+this.homes[curIndex].srno);
	}


    function barChart(atts, sr) {
       var txt = "<table width=100% height=100% cellspacing=0 cellpadding=0 border=0><tr>"
       var txt2 = ""
       var txt1 = "";
       var icnt = 0;
       var totalWidth = document.getElementById("barParent"+actTab).width;

       for (var i in sr) {
           if(sr[i].useStat) {   // show this in the bar chart.
               txt1+= "<td height=45 align=center style='vertical-align:bottom'>"
               var indx = Math.max(0, Math.min(4, Math.floor( 5*(atts[i].value-sr[i].min)/(sr[i].max - sr[i].min))));
               txt1+= "<img src='/vendor/rolodex/Images/bar" + indx + ".gif'></td>";
               txt2+= "<td height=22 class='tinyText' align=center>" + sr[i].abbrev + "</td>";
               icnt++;
               if(icnt >5) break;  // can't fit more than 5 in the space allowed.
           }
       }
       var pad = Math.floor((totalWidth - 10*icnt - 5*(icnt-1))/2)
       txt+= "<td height=45 width=" + pad + "></td>" + txt1 + "<td width=" + pad + "></td></tr>"
       txt+= "<tr><td width=" + pad + "></td>" + txt2 + "<td width=" + pad + "></td></tr></table>"
       return txt;
    }

    function scrollRolo(dir) {		
		bounds_diff_x=0; // reset the bound variables to resolve the map reload issue
		bounds_diff_y=0;

        if(animTimerID != null) return;  // animation in progress, don't start another
        spinDir = dir;
        if(dir == "down") {
            curIndex++;
            if(curIndex > this.homes.length-1) {
                 if(curIndex < searchResults.houseCount) {
                 //   reqBatch(curIndex, recBatch);
                 } else {
                    curIndex--;
					var crec = (parseInt(this.homes[curIndex].pno)-1)*blockSize100 + curIndex + 1;

					if(crec >= this.homes[curIndex].totalcount)
						alert("no more properties are available");
					else
					{
						paginationHash[actTab] = (this.homes[curIndex].pno)*modVal + 1;
						curIndexHash[actTab] = crec;
						if(mapToShow == "nhood")
						{							
							if(this.homes[curIndex].sourcename == "mlsCountySearch" && this.homes[curIndex].status == "Sold")
							{
								//DO NOTHING
							}
							else if(this.homes[curIndex].sourcename == "mlsCountySearch")							
								this.homes[curIndex].sourcename = "mlsHomesMode";
						}
						reloadBit(actTab,this.homes[curIndex].sourcename,eval(parseInt(this.homes[curIndex].pno) + 1),paginationHash[actTab]);
					}
                 }
                 return;
            }
        } else if(dir == "up"){
            curIndex--;
            if(curIndex < 0) {
				var crec = (parseInt(this.homes[curIndex+1].pno)-1)*blockSize100 + curIndex;
				if(crec > 0)
				{
					paginationHash[actTab] = (this.homes[curIndex+1].pno - 1)*modVal;
					curIndexHash[actTab] = crec;
					if(mapToShow == "nhood")
					{
						if(this.homes[curIndex+1].sourcename == "mlsCountySearch" && this.homes[curIndex+1].status == "Sold")
						{
							//DO NOTHING
						}
						else if(this.homes[curIndex+1].sourcename == "mlsCountySearch")
							this.homes[curIndex+1].sourcename = "mlsHomesMode";
					}
					reloadBit(actTab,this.homes[curIndex+1].sourcename,eval(parseInt(this.homes[curIndex+1].pno) - 1),paginationHash[actTab]);
				}
				else
				{
					alert("Showing first property in the search results");
				    curIndex=0;
				}
				return;
            }
        }
		else
		{
			if(curIndex < dir-1) spinDir = "down";
			else if(curIndex > dir-1) spinDir = "up";
			else return;
			curIndex = dir-1;
		}

		this.homes[curIndex].showHero();

		// For setting up View Details URL
		$("roloDetailImg" + actTab).href = this.homes[curIndex].detailsUrl;

		verticalSlider.setValue(Math.round(curIndex/valSlideBy)-1);
		var crec = (this.homes[curIndex].pno-1)*blockSize100 + curIndex + 1;
		$("cProp"+actTab).innerHTML = " "+(crec)+" ";
		curIndexHash[actTab] = crec-1;
		clickOnCommList(this.homes[curIndex].sourcename+this.homes[curIndex].srno);
    }

    function displayAltImg(dir) {
        this.homes[curIndex].showAlt(dir);
    }

    function linkToDetails(index) {
		window.open(this.homes[index].detailsUrl,"_blank");
    }

    function saveHome(index,saveDirect) // need to animate the transition into the saved list
	{
		if(typeof(saveDirect) == "undefined") saveDirect = false;
		
		if(typeof(index) == "string")
			index = parseInt(index.replace("f",""));
		else
			index = this.homes[index].srno;

		var k = 0;
		if(typeof(srTabs) != 'undefined')
		{
			while(srTabs.getTab(k))
			{
				if(srTabs.getTab(k).get("active"))
				{
					actTab = (srTabs.getTab(k).get("label")).gsub(" ","");
					break;
				}
				k++;
			}
			eval("var dataArr = "+actTab+";");
		}
		else
		{
			var dataArr = response;	
		}
		var tid = dataArr[index].tid;
		var address = escape(dataArr[index].address);
		var price = dataArr[index].price;
		var beds = dataArr[index].beds;
		var baths = dataArr[index].baths;
        var lat = dataArr[index].latitude;
        var lng = dataArr[index].longitude;
		var status = dataArr[index].status;
		var mlsno = dataArr[index].mlsno;
		var ds = "";
		if(dataArr[index].mlsdatasource)
			ds = dataArr[index].mlsdatasource;

		var homesiteUrl = escape(dataArr[index].link);
		imgStr=dataArr[index].pictures;
		
		if(typeof(dataArr[index].pictures) == 'object' && dataArr[index].pictures.length>0)
			var imgPath = escape(dataArr[index].pictures[0].url);
		else if(imgStr.indexOf('http://') == 0)
			var imgPath = escape(imgStr);				
		else
			var imgPath = escape("http://"+location.hostname+"/wt/"+bkTheme+"/images/listing/noImageThmb.jpg");	
		

		var tidArr = tid.split("-");
		var finalTid = tidArr[0];
		if (tidArr.length == 2)
			finalTid += "-" + tidArr[1];
		else if (tidArr.length == 3)
			finalTid += "-" + tidArr[2];
		//for powersearch favorites
		//if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
		//{			
			var fullAddress = escape(dataArr[index].address)+"_"+escape(dataArr[index].city)+"_"+dataArr[index].state+"_"+dataArr[index].zip;			
			var tp = finalTid+':::'+fullAddress+':::'+status+':::'+mlsno;			
			if(typeof(chkPSAr) != 'undefined' && chkPSAr.in_array(tp) === false)
				chkPSAr[chkPSAr.length] = tp;
		//}
		//----------------------------------

		var url = "/app/listing/favourite.php";
		var qs = "op=add&tid="+finalTid+"&address="+address+"&price="+price+"&beds="+beds+"&baths="+baths+"&photourl="+imgPath+"&link="+homesiteUrl+"&lat="+lat+"&lng="+lng;
		qs += "&city="+escape(dataArr[index].city)+"&state="+dataArr[index].state+"&zip="+dataArr[index].zip+"&status="+status+"&mlsno="+mlsno+"&ds="+ds;

		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";

		ajaxRequest(url,qs,function(reqobj){
			var varResponse = trim(reqobj.responseText);

			if(varResponse != "-1" && varResponse != "0")
			{
				var myData = eval('('+varResponse+')');				
				getImages(myData);
			}
			else if(varResponse == "-1" && !saveDirect)
				alert("Property already added to Favorite Bar.");
		},false);
		initSlideShow_pic();
		
		if(saveDirect)
		{
			saveFavorites();
		}
    }

	function addAllPropToFavTrain()
	{
		var k = 0;
		if(typeof(srTabs) != 'undefined')
		{
			while(srTabs.getTab(k))
			{
				if(srTabs.getTab(k).get("active"))
				{
					actTab = (srTabs.getTab(k).get("label")).gsub(" ","");
					break;
				}
				k++;
			}	
			eval("var dataArr = "+actTab+";");
		}
		else
		{
			var dataArr = response;	
		}
		var url = "/app/listing/favourite.php";
		var qs = "op=addAll&data="+escape(encodeURIComponent(dataArr.toJSON()));
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
		ajaxRequest(url,qs.toString(),function(reqobj){
			var varResponse = trim(reqobj.responseText);

			if(varResponse != "-1" && varResponse != "0")
			{
				var myData = eval('('+varResponse+')');				
				getImages(myData);
			}
		},false);
		initSlideShow_pic();
	}

	function delFav(index,gid,from)
	{		
		if(typeof(from) == "undefined")
			var answer = confirm("Are you sure you want to delete this Favorite?");
		else
			var answer = 1;
		if(answer)
		{
			if(gid.include(",") && typeof(from) == "undefined")
			{
				showMultiFavDelDlg(index,gid);
				return;
			}

			var k = 0;
			while(srTabs.getTab(k))
			{
				if(srTabs.getTab(k).get("active"))
				{
					actTab = (srTabs.getTab(k).get("label")).gsub(" ","");
					break;
				}
				k++;
			}
			eval("var dataArr = "+actTab+";");
			var tid = dataArr[index].tid;
			var bitName = dataArr[index].sourcename;
			var bitType = dataArr[index].category;
			var myDataLen = dataArr[index].totalcount;
			var group = dataArr[index].groupname;

			var url = "/app/listing/favourite.php";
			var qs = "op=delfromdb&tid="+tid+"&gid="+gid;
			if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
				qs = qs + "&power=1";
			ajaxRequest(url,qs.toString(),function(reqobj){
				var varResponse = trim(reqobj.responseText);

				/*if(varResponse == "1")
				{
					alert("Property deleted from Favorites.");
				}*/
			},false);
			removeCommPushpins(bitName,myDataLen);
			removeListing(bitName,bitType,myDataLen,group);
			loadBit(bitName);
		}
	}

function getEvent(event)
{
	if (event.keyCode==13)
	{
		if($("loginDiv").visible())
		{
			validateLogin();
		}
		else
		{
			return;
		}
	}
}

	function validateLogin(fromWhere)		
	{
		if ( bkTheme == 'williampitt' || 'jbfsir' == bkTheme )
		{
			if(!isBlank('userName',"Email"))
			{
				$('errSysLogin').innerHTML=alertErrorMsg;
				$('userName').focus();
				$('userName').className="textboxRed";
				$('userPwd').className="textbox";
				return false;
			}
			/*else if(!emailIsValid('userName'))
			{
				$('errSysLogin').innerHTML="Please enter a valid Email Address";
				$('userName').focus();
				$('userName').className="textboxRed";
				$('userPwd').className="textbox";
				return false;
			}*/
		}
		else
		{
			if(!isBlank('userName',"Username"))
			{
				$('errSysLogin').innerHTML=alertErrorMsg;
				$('userName').focus();
				$('userName').className="textboxRed";
				$('userPwd').className="textbox";
				return false;
			}
		}

		if(!isBlank('userPwd',"Password"))
		{
			$('errSysLogin').innerHTML=alertErrorMsg;
			$('userPwd').focus();
			$('userName').className="textbox";
			$('userPwd').className="textboxRed";
			return false;
		}
		var url = '/app/auth/validateLogin.php';
		var queryString = "from=UR&usid=" + $F('userName') + "&pass=" + escape($F('userPwd'));
		ajaxRequest(url,queryString,
		responseLogin = function(originalRequest)
		{
			var response = originalRequest.responseText;
			if(response.include("NA|"))
			{
				$('errSysLogin').innerHTML="Please activate your account";
			}
			else if(response!='NR')
			{
				SignInDlg.hide();
				//saveFavorites();				
				setHeader();
				if($("fromWhere") && $("fromWhere").value == "listing")
				{
					showFavPopupDualPane(trim($("fromWhere").value));
				}
				else if($("fromWhere") && $("fromWhere").value == "schView")
				{						
					if($('schViewId')) 
					{						
						var schLink = "schView_"+trim($F('schViewId'));						
						setTimeout(function() {
							if($(schLink)) $(schLink).onclick();
						},1000);						
					}
				}
				else
				{					
					showFavPopup();
				}
			}
			else
			{
				$('userName').focus();
				$('userName').value = "";
				$('userPwd').value = "";
				$('userName').className="textbox";
				$('userPwd').className="textbox";
				$('errSysLogin').innerHTML="Incorrect login information";
				//alert('Incorrect login information');
			}
		});
	}

	function beforeHideSignInFrm()
	{
		$('divSignInFrm').style.dispaly = 'none';
	}

	function beforeShowSignInFrm()
	{
		$('divSignInFrm').style.dispaly = 'none';
	}


    function saveFavorites(prop)
	{	
		
		if($("divSaveSearch")) {$("divSaveSearch").style.display = "none";}
		//if($("powerAdvSearch")) {$("powerAdvSearch").style.display = "none";}
		if($("prpStat")) {$("prpStat").style.display = "none";}
		if($("divEmailSaveSearch")) {$("divEmailSaveSearch").style.display = "none";}
		//if($("trSaleDate")) {$("trSaleDate").style.display = "none";}
		if($("divAutoComp")) {$("divAutoComp").style.display = "none";}
		if($('RSshPopupDesc')) { $('RSshPopupDesc').style.display='none'; }
		if($('divRSType')) { $('divRSType').style.display='none'; }
		if($('prpTyp')) { $('prpTyp').style.display='none'; }
		if($('localSearchTxt') && $('divLocalSearch')) {$('divLocalSearch').style.display='none';}
		if($('mySavedSrchTxt') && $('divMySavedSrch')) {$('divMySavedSrch').style.display='none';}
		if($("divMultiCity")) $("divMultiCity").style.display = "none";
		
		if(typeof(prop) != "undefined")
		{
			chkPSAr.push(prop);
		}

		if(typeof(chkPSAr) != "undefined" && chkPSAr == "")
		{
			alert("No Properties to add in Favorites.");
			return;
		}

		if(typeof(uid) == "undefined" || uid == "" || uid == null)
		{
			var url = '/app/feed/processFavourite.php';
			ajaxRequest(url,'action=chksignin',function resChkSignin(originalRequest){
			var res = originalRequest.responseText;
			if(res==0)
			{
				if($('favRow')) $('favRow').show();
				if($('signInRow')) $('signInRow').hide();

				if(typeof(SignInDlg) == "string" || typeof(SignInDlg) == "undefined" || SignInDlg == null)
					$('divSignInFrm').style.display='';
				SignInDlg = createDialog('divSignInFrm');

				SignInDlg.beforeHideEvent.subscribe(beforeHideSignInFrm, this);
				SignInDlg.beforeShowEvent.subscribe(beforeShowSignInFrm, this);
				$('divSignInFrm').style.dispaly = 'block';
				$('userName').value = "";
				$('userPwd').value = "";
				$('userName').className="textbox";
				$('userPwd').className="textbox";
				$('errSysLogin').innerHTML="&nbsp;";

				if($("fromWhere")) $("fromWhere").value = "savelisting";
				var qs = new Querystring();
				if(qs.get("frm") != null && qs.get("aid") != null)
					$("signInRoloLnk").href += "?agd="+trim(qs.get("aid"));
				else if(qs.get("frm") != null && qs.get("ouid") != null)
					$("signInRoloLnk").href += "?frm=frch&ouid="+trim(qs.get("ouid"));

				if($('divSignInFrm')) $('divSignInFrm').parentNode.style.zIndex = 12;
				SignInDlg.show();
				
				$('userName').focus();
			}
			else
			{
				setHeader();
				showFavPopup();
			}
			});
			
		}
		else
			showFavPopup();
		
		if($('divSignInFrm_c')) $('divSignInFrm_c').style.zIndex='11';
		if($('divSignInFrm_mask')) $('divSignInFrm_mask').style.zIndex='10';
		/*var url = "./favourite.php";
		var qs = "op=save";

		if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
			qs += "&power=1";	

		ajaxRequest(url,qs,function(obj){
			var response = trim(obj.responseText);

			switch(response)
			{
				case "0":
					alert("Property already added in Favorites.");
					getImages();
					initSlideShow_pic();
					break;
				case "1":
					alert("Property added to Favorites.");
					getImages();
					initSlideShow_pic();
					if(myHash["Favorites"])
					{
						eval("var bitName = Favorites[0].sourcename");
						eval("var myDataLen = Favorites[0].totalcount");
						eval("var bitType = Favorites[0].category");
						eval("var group = Favorites[0].groupname");
						removeCommPushpins(bitName,myDataLen);
						removeListing(bitName,bitType,myDataLen,group);
						loadBit(bitName);
					}
					break;
				case "2":
					if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
						showFavPopup();
					else
					{						
						SignInDlg.beforeHideEvent.subscribe(beforeHideSignInFrm, this);
						SignInDlg.beforeShowEvent.subscribe(beforeShowSignInFrm, this);
						$('divSignInFrm').style.dispaly = 'block';
						$('userName').value = "";
						$('userPwd').value = "";
						$('userName').className="textbox";
						$('userPwd').className="textbox";
						$('errSysLogin').innerHTML="&nbsp;";
						SignInDlg.show();
						$('userName').focus();
					}
					break;
				case "3":
					alert("No Properties to add in Favorites.");
					getImages();
					initSlideShow_pic();
					break;
			}
		});*/
    }

    function showSaved() {
        var s = carList[curSaved]; // s is the index into the saved list
        if (s == null) return;
        curIndex = savedList[s];      // index is into homes[]
        this.homes[curIndex].showHero();
    }

    function loadCarrousel(dir) {    // scroll the carrousel left or right
		if(dir == "next") {
            carIndex = Math.max(0, Math.min(carIndex+1, savedList.length-4));
        } else {
            carIndex = Math.max(0, carIndex-1);
        }

        var j=0;

        for (var i=carIndex; i< Math.min(carIndex+carLength, savedList.length); i++) {
           carList[j] = i;
		   var sImg = "car" + j + "Img" + actTab;
           document.getElementById(sImg).src = this.homes[savedList[i]].thumbImg;
		   var ui = "s" + j + "Div" + actTab;
           document.getElementById(ui).style.display = "inline";

		   j++;
        }

        for (var i=j; i<carLength; i++) {
			var a = "s" + i + "Div"+ actTab;
           document.getElementById(a).style.display = "none";
        }

		if($("sEmptyDiv"+actTab))
		{
			if(carIndex == j)
				$("sEmptyDiv"+actTab).style.display = "inline";
			else
				$("sEmptyDiv"+actTab).style.display = "none";
		}

        document.getElementById("carLeftBtn"+actTab).src  = (carIndex == 0)? "/vendor/rolodex/Images/carLeftNone.gif" : "/vendor/rolodex/Images/carLeft.gif";
        document.getElementById("carRightBtn"+actTab).src = (carIndex == savedList.length-carLength)? "/vendor/rolodex/Images/carRightNone.gif" : "/vendor/rolodex/Images/carRight.gif";
	}


    function delSaved(index) {
		setFavoriteIcon(index,'desel');//function for powersearch to change favorite icon(added by saloni)
		var url = "/app/listing/favourite.php";
		var qs = "op=del&tid="+index;
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
		ajaxRequest(url,qs.toString(),function(reqobj){
			var varResponse = trim(reqobj.responseText);

			if(varResponse == "[]")
				varResponse="";
			else
				var myData = eval('('+varResponse+')');			
			getImages(myData);

		},false);
		initSlideShow_pic();
	}

	function loadFav() {
		var url = "/app/listing/favourite.php";
		var qs = "op=get";

		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
		ajaxRequest(url,qs,function(reqobj){
			var varResponse = trim(reqobj.responseText);
			var myData;
			if(varResponse == "")
				varResponse="[]";
			myData = eval('('+varResponse+')');
			getImages(myData);

		},false);
		if($('picdivIconCollect'))
			initSlideShow_pic();
		//	added by krunal
		if($("mapLoading"))
			$("mapLoading").style.display = 'none';
	}
    function hideAllThumbDel() {   // a hack for firefox issues
        for (var i=0; i< 4; i++) {
			var a = "s" + i + "d" + actTab;
            document.getElementById(a).style.display = "none";
        }

    }
    ////////////////  Rolodex animation ///////////////
    var dtAnim = 20;  // in ms
    if(isIE) dtAnim = 40;
	var spinTimes = new Array(0, 6, 6.5, 9);

    function initAnim(tab) {
		//alert("initAnim");
		//var spinEl = new Array();
		//var spinUI = new Array();
        // this works only for spinning DOWN the list
        //
        // pop off hero - t1 becomes old-hero sized tall and moved over old hero
        spinEl[0] = [//new El("b4Img"+actTab,    3, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    2, 50, roloh-53,  230, 42, "inline"),

					 new El("b2Img"+actTab,    1, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    0, 15, roloh-132, 260, 45, "inline"),

					 new El("heroImg"+actTab, -1, 9, Math.round((roloh-254)/2), 250, 180, "none"),

					 new El("t1Img"+actTab,   -1, 15, 173, 260, 160, "inline"),
                     new El("t2Img"+actTab,   -2, 15, 63, 260, 35, "inline")];

                     //new El("t3Img"+actTab,   -3, 33, 38, 265, 48, "inline"),
                     //new El("t4Img"+actTab,   -4, 50, 11, 230, 42, "inline")];

        // b1 (the new hero) resizes and slides up. t1 resizes to normal size and slides into position
        spinEl[1] = [//new El("b4Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     //new El("b3Img"+actTab,    2, 33, roloh-83,  265, 48, "inline"),
                     new El("b2Img"+actTab,    1, 15, roloh-132, 260, 35, "inline"),
                     new El("b1Img"+actTab,    0, 15, roloh-252, 260, 160, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-234)/2), 250, 180, "none"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

        // new hero pops on in smaller format. all other wedges are in place.
        spinEl[2] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-414)/2), 250, 180, "inline"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

        // hero grows in size.
        spinEl[3] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-414)/2), 250, 180, "inline"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

         // parameters for upwards spin -----------------------------------------------------
         //
         spinUl[0] = [//new El("b4Img"+actTab,   4, 50, roloh-53,  230, 42, "inline"),
                     //new El("b3Img"+actTab,    3, 33, roloh-83,  265, 48, "inline"),
                     new El("b2Img"+actTab,    2, 15, roloh-212,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-252, 260, 160, "inline"),
                     new El("heroImg"+actTab, -1, 9, Math.round((roloh-254)/2), 250, 180, "none"),
                     new El("t1Img"+actTab,    0, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -1, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -2, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -3, 65, -12, 200, 37, "inline")];

        // b1 (the new hero) resizes and slides up. t1 resizes to normal size and slides into position
        spinUl[1] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-254)/2), 250, 180, "none"),
                     new El("t1Img"+actTab,    0, 15, 93, 260, 160, "inline"),
                     new El("t2Img"+actTab,   -1, 15, 63, 260, 45, "inline")];
                     //new El("t3Img"+actTab,   -2, 33, 38, 265, 48, "inline"),
                     //new El("t4Img"+actTab,   -3, 50, 11, 230, 42, "inline")];

        // new hero pops on in smaller format. all other wedges are in place.
        spinUl[2] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-414)/2), 250, 180, "inline"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

        // hero grows in size.
        spinUl[3] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-414)/2), 250, 180, "inline"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

		eval("spinElHash.merge({"+tab+" : spinEl});");
		eval("spinUlHash.merge({"+tab+" : spinUl});");
    }

    function animateSpin() {
		//alert("animateSpin");
		if(!document.getElementById("heroDiv"+actTab))
			return;
        var keyf = 0;
        for (var i=0; i<spinTimes.length-1; i++) {
           if(curFrame >= spinTimes[i] && curFrame <= spinTimes[i+1]) {
               keyf = i;
               break;
           }
        }

        var sEl = "";
        if(spinDir == "down")
			sEl = spinEl;
		else
			sEl = spinUl;

		if(document.getElementById("heroDiv"+actTab)) document.getElementById("heroDiv"+actTab).style.backgroundImage = "url('/vendor/rolodex/Images/trans.gif')";
        if(document.getElementById("altLeftImg"+actTab)) document.getElementById("altLeftImg"+actTab).style.display    = "none";
        if(document.getElementById("altRightImg"+actTab)) document.getElementById("altRightImg"+actTab).style.display   = "none";
        if(document.getElementById("roloDetailImg"+actTab)) document.getElementById("roloDetailImg"+actTab).style.display = "none";
        var tFrac = (curFrame-spinTimes[keyf])/(spinTimes[keyf+1]-spinTimes[keyf]);   // fraction for interpolation
        for (i=0; i< sEl[keyf].length; i++) {
             // interpolate
             // for each element i in sEl[time][i]
                // for each attribute interpolate between [time] and [time+1] based on fraction
             var o = sEl[keyf][i];
             if(curIndex+o.indexOffset >= 0 && curIndex+o.indexOffset < this.homes.length) {
				 //alert(o.id);
                   if(o.id.substring(0,1) == "t")
				   {
					   if(o.id.substring(1,2) == "1")
					   {	//o.obj.src = this.homes[curIndex + o.indexOffset].upperWedgeImg;  // if this is "t1, t2, t3, t4"
						   eval('o.obj.src = this.homes[curIndex + o.indexOffset ].heroImg'+ actTab +';');  // if this is "t1, t2, t3, t4"
					   }
					   else
					   {
						   eval('o.obj.src = this.homes[curIndex + o.indexOffset ].heroImg'+ actTab +';');
							//o.obj.src = this.homes[curIndex + o.indexOffset].upperWedgeImg1;
					   }
				   }
                   if(o.id.substring(0,1) == "b")
				   {
					   if(o.id.substring(1,2) == "1")
					   {
						   eval('o.obj.src = this.homes[curIndex + o.indexOffset ].heroImg'+ actTab +';');
						//	o.obj.src = this.homes[curIndex + o.indexOffset].lowerWedgeImg;
					   }
					   else
					   {
						   eval('o.obj.src = this.homes[curIndex + o.indexOffset ].heroImg'+ actTab +';');
						//	o.obj.src = this.homes[curIndex + o.indexOffset].lowerWedgeImg1;
					   }
				   }
                   eval('if(o.id.substring(0,1) == "h") o.obj.src = this.homes[curIndex + o.indexOffset].heroImg' + actTab + ';');
             } else {
                   if(curIndex+o.indexOffset == this.homes.length) {
                        if(o.id.substring(0,1) == "t") o.obj.src = "/vendor/rolodex/Images/lastUpper.png";
                        if(curIndex+o.indexOffset == searchResults.houseCount) {
                            if(o.id.substring(0,1) == "b") o.obj.src = "/vendor/rolodex/Images/trans.gif";
                        } else {
                            if(o.id.substring(0,1) == "b") {
                                o.obj.src = "/vendor/rolodex/Images/trans.gif";
                                //reqBatch(curIndex+o.indexOffset, recBatch)    /// request the next batch of homes
                            }
                        }
                   } else {
                        if(o.id.substring(0,1) == "t") o.obj.src = "/vendor/rolodex/Images/trans.gif";
                        if(o.id.substring(0,1) == "b") o.obj.src = "/vendor/rolodex/Images/trans.gif";
                   }
             }
             
			 try
			 {
				 var l1 = Math.round(o.left + (sEl[keyf+1][i].left - o.left)*tFrac)+"px";
				 var t1 = Math.round(o.top + (sEl[keyf+1][i].top - o.top)*tFrac)+"px";
				 var w1 = Math.abs(Math.round(o.width + (sEl[keyf+1][i].width - o.width)*tFrac))+"px";
				 var h1 = Math.abs(Math.round(o.height + (sEl[keyf+1][i].height - o.height)*tFrac))+"px";
				 o.obj.style.left = l1;
				 o.obj.style.top = t1;
				 o.obj.style.width = w1;
				 o.obj.style.height = h1;
				 o.obj.style.display = sEl[keyf][i].display;	
				 //console.log(l1+" == "+t1+" == "+w1+" == "+h1);
			 }
			 catch (err)
			 {
				 //DO NOTHING
				 //alert(o.obj);
				 //alert(l1+" == "+t1+" == "+w1+" == "+h1);
				 //alert(err.description);
			 }
			 
             //if(curFrame == spinTimes[keyf+1]) o.obj.style.display = sEl[keyf][i].display; // to avoid roundoff
             if(curFrame == spinTimes[spinTimes.length-1]) {
				 if(document.getElementById("heroDiv"+actTab))
				 {
					 document.getElementById("heroDiv"+actTab).style.backgroundImage = "url('/vendor/rolodex/Images/heroFrame.png')";
					 document.getElementById("heroDiv"+actTab).style.left = "10px";
					 document.getElementById("heroDiv"+actTab).style.top = Math.round((roloh-234)/2)+"px";
				 }
//                 document.getElementById("heroDiv"+actTab).style.width = 280;
 //                document.getElementById("heroDiv"+actTab).style.height= 210;
                 if(!document.getElementById("heroImg"+actTab).src.include("images/listing/noImageThmbBig.jpg"))
				 {
					if(document.getElementById("altLeftImg"+actTab)) document.getElementById("altLeftImg"+actTab).style.display    = "inline";
	                if(document.getElementById("altRightImg"+actTab)) document.getElementById("altRightImg"+actTab).style.display   = "inline";
				 }
                 if(document.getElementById("roloDetailImg"+actTab)) document.getElementById("roloDetailImg"+actTab).style.display = "inline";
             }
        }
        curFrame++;
        if(curFrame <= spinTimes[spinTimes.length-1]) {
            animTimerID = window.setTimeout(animateSpin, dtAnim);
        } else {
            animTimerID = null;
        }
    }

    function findPos(obj) {         // from quirksmode.org   - cross browser
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return {left:curleft, top:curtop};
}

function format1000s(val) {  // add thousands-commas  i.e:  3,104,005.3
	var rtn = "";
	if(isNaN(val)) return val;
	if(val == 0) return val;
	var tmp = to3Digits(val) + "";
	var numD = tmp.indexOf(".");
	if(numD >= 0) rtn = tmp.substring(numD);  // the decimal point and everything to the right
	var sign = "";
	if(val < 0) {
		sign= "-";
		val = -val;
	}
	tmpI = parseInt(Math.floor(val));
	while (tmpI != 0) {
		partI = tmpI % 1000;
		if(tmpI > 999) {
			zeroPad = "";
			if(partI < 10) zeroPad = "0";
			if(partI < 100) zeroPad = zeroPad + "0";
			partI = zeroPad + partI;
			rtn = "," + partI + rtn;
		} else {
			rtn = partI + rtn;
		}
		tmpI = Math.floor(tmpI/1000)
	}
	rtn = sign + rtn;
	return rtn;
}

function to3Digits(num) {  // round to 3 decimal places (used for svg floating point data)
	return Math.round(num*1000)/1000;
}

function getDataRange(tab,d,r) {
    r.bc = new Array();
    r.bc["bedroom"] =  {abbrev:"BD", useStat:true, min:1000000, max: -1000000};
    r.bc["bathroom"] = {abbrev:"BA", useStat:true, min:1000000, max: -1000000};
    r.bc["sqft"] =     {abbrev:"SQ", useStat:true, min:1000000, max: -1000000};
    r.bc["price"] =    {abbrev:"$$", useStat:true, min:100000000, max: -100000000};

    r.houseCount = d.length;
    for (var i=0; i< d.length; i++) {
        if(d[i].price != "") r.bc["price"].min = Math.min(r.bc["price"].min, parseFloat(d[i].price));
        if(d[i].price != "") r.bc["price"].max = Math.max(r.bc["price"].max, parseFloat(d[i].price));

        if(d[i].beds != "" )r.bc["bedroom"].min = Math.min(r.bc["bedroom"].min, d[i].beds);
        if(d[i].beds != "") r.bc["bedroom"].max = Math.max(r.bc["bedroom"].max, d[i].beds);

        if(d[i].baths != "") r.bc["bathroom"].min = Math.min(r.bc["bathroom"].min, d[i].baths);
        if(d[i].baths != "") r.bc["bathroom"].max = Math.max(r.bc["bathroom"].max, d[i].baths);

        if(d[i].squarefeet != "") r.bc["sqft"].min = Math.min(r.bc["sqft"].min, d[i].squarefeet);
        if(d[i].squarefeet != "") r.bc["sqft"].max = Math.max(r.bc["sqft"].max, d[i].squarefeet);
    }

	eval("searchResultsHash.merge({"+tab+" :$H(r.bc)});");

}

/************************************Slide Show Related---Pictures *****************************************/


	var displayWaitMessage_pic=true;	// Display a please wait message while images are loading?
	var activeImage_pic = false;
	var imageGalleryLeftPos_pic = false;
	var imageGalleryWidth_pic = false;
	var imageGalleryObj_pic = false;
	var maxGalleryXPos_pic = false;
	var slideSpeed_pic = 0;
	var imageGalleryCaptions_pic = new Array();
	function startSlide_pic(e)
	{
		slideSpeed_pic = 0;
		if(document.all)e = event;
		var id = this.id;
		if(this.getElementsByTagName('IMG')[0].src.indexOf('Over')<0)
			this.getElementsByTagName('IMG')[0].src = this.getElementsByTagName('IMG')[0].src.replace('.gif','Over.gif');
		if(this.id=='picarrowRight'){
			slideSpeed_pic = -4;
		}else{
			slideSpeed_pic = 6;
		}
	};

	function releaseSlide_pic()
	{
		var id = this.id;

		this.getElementsByTagName('IMG')[0].src = this.getElementsByTagName('IMG')[0].src.replace('Over','')
		slideSpeed_pic=0;
	};
	function fastSlide_pic(event)
	{
		var arrow = Event.element(event).parentNode.id;
		imageGalleryWidth_pic = $('picgalleryContainer').offsetWidth - 80;
		if(arrow.search('Left') != -1)
		{
			var leftPos = imageGalleryObj_pic.offsetLeft;
				leftPos = leftPos + imageGalleryWidth_pic;
			if(leftPos>maxGalleryXPos_pic)
			{
				leftPos = maxGalleryXPos_pic;
			}
			if(leftPos<minGalleryXPos_pic)
			{
				leftPos = minGalleryXPos_pic;
			}

			imageGalleryObj_pic.style.left = leftPos + 'px';
		}
		else
		{

			var leftPos = imageGalleryObj_pic.offsetLeft;
				leftPos = leftPos - imageGalleryWidth_pic;
			if(leftPos>maxGalleryXPos_pic)
			{
				leftPos = maxGalleryXPos_pic;
			}
			if(leftPos<minGalleryXPos_pic)
			{
				leftPos = minGalleryXPos_pic;
			}
			imageGalleryObj_pic.style.left = leftPos + 'px';
		}
	}
	function gallerySlide_pic()
	{

		if(slideSpeed_pic!=0){
			var leftPos = imageGalleryObj_pic.offsetLeft;

			leftPos = eval(leftPos + slideSpeed_pic);

			if(leftPos>maxGalleryXPos_pic){

				leftPos = maxGalleryXPos_pic;
				slideSpeed_pic = 0;
			}
			if(leftPos<minGalleryXPos_pic){
				leftPos = minGalleryXPos_pic;
				slideSpeed_pic=0;
			}

			imageGalleryObj_pic.style.left = leftPos + 'px';
		}
		setTimeout('gallerySlide_pic()',50);

	};

	function initSlideShow_pic()
	{
		if(typeof($('picdivIconCollect')) == "undefined" || $('picdivIconCollect') == null)
		{
			return;
		}
	    var arrAlldiv;
	    var lenAlldiv;
	  	arrAlldiv = $('picdivIconCollect').getElementsByTagName('div');
		lenAlldiv = arrAlldiv.length;
		
		if(parseInt($('favRoloDiv').style.width) > 600)
		 {
			 $("carrouselDiv").style.width = "570px";

			 if (lenAlldiv<16)
			   {
				   $("picarrowLeftDis").style.display="block";
				   $('picarrowLeft').style.display="none";
				   $('picarrowRightDis').style.display="block";
				   $('picarrowRight').style.display="none";          
				 
				   $('picdivIconCollect').style.width="570px";
			   }
			   else
			   {
				   $('picdivIconCollect').style.width="auto";
				   $("picarrowLeftDis").style.display="none";
				   $('picarrowLeft').style.display="block";
				   $('picarrowRightDis').style.display="none";
				   $('picarrowRight').style.display="block";
			   }
		 }
		 else
		 {		
			  $("carrouselDiv").style.width = "320px";

			  if (lenAlldiv<11)
			   {
				   $("picarrowLeftDis").style.display="block";
				   $('picarrowLeft').style.display="none";
				   $('picarrowRightDis').style.display="block";
				   $('picarrowRight').style.display="none";          
				 
				   $('picdivIconCollect').style.width="320px";
			   }
			   else
			   {
				   $('picdivIconCollect').style.width="auto";
				   $("picarrowLeftDis").style.display="none";
				   $('picarrowLeft').style.display="block";
				   $('picarrowRightDis').style.display="none";
				   $('picarrowRight').style.display="block";
			   }
		 }
	 
	   /*
	   if (lenAlldiv<11)
	   {
	       $("picarrowLeftDis").style.display="block";
	       $('picarrowLeft').style.display="none";
	       $('picarrowRightDis').style.display="block";
	       $('picarrowRight').style.display="none";
           $('picdivIconCollect').style.width="320px";
	   }
	   else
	   {
           $('picdivIconCollect').style.width="auto";
	       $("picarrowLeftDis").style.display="none";
	       $('picarrowLeft').style.display="block";
	       $('picarrowRightDis').style.display="none";
	       $('picarrowRight').style.display="block";
	   }*/

		if($('picarrowLeft')&& $('picarrowRight'))
		{
			$('picarrowLeft').onmousemove = startSlide_pic;
			$('picarrowLeft').onmouseout = releaseSlide_pic;
			$('picarrowRight').onmousemove = startSlide_pic;
			$('picarrowRight').onmouseout = releaseSlide_pic;

			Event.observe($('picarrowLeft'), 'click', function(event) {
				fastSlide_pic(event);
			});
			Event.observe($('picarrowRight'), 'click', function(event) {
				fastSlide_pic(event);
			});
		}
		imageGalleryObj_pic = $('pictheImages');
		imageGalleryLeftPos_pic = imageGalleryObj_pic.offsetLeft;
		imageGalleryWidth_pic = $('picgalleryContainer').offsetWidth -25;
		maxGalleryXPos_pic = imageGalleryObj_pic.offsetLeft;
		sildeEnd = $('picslideEnd');
		minGalleryXPos_pic = imageGalleryWidth_pic - sildeEnd.offsetLeft;

		//alert("GalleryWidth :: "+imageGalleryWidth_pic+" min :: "+minGalleryXPos_pic+" max :: "+maxGalleryXPos_pic+" sildeEnd :: "+sildeEnd.offsetLeft);
		if(isIE)
		{
			minGalleryXPos_pic = imageGalleryWidth_pic - $('picslideEnd').offsetLeft ;
			maxGalleryXPos_pic = imageGalleryObj_pic.offsetLeft;
			//minGalleryXPos_pic += 1550;
		}

		gallerySlide_pic();
	};

/***********************************************End Slide Show*********************************/

function getImages(dataArr)
{
	//if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
	//{
		if(typeof(chkPSAr) != "undefined" && chkPSAr != "")
		{
			for (j=0;j<chkPSAr.length ;j++ )
			{
				chkPSAr[j] = null;
			}
			chkPSAr = chkPSAr.compact();
		}
	//}	
	if(typeof($('favRoloDiv')) == "undefined" || $('favRoloDiv') == null)
	{
		return;
	}
	var strHtml = new StringBuffer();
	 if(parseInt($('favRoloDiv').style.width) > 600)
	 {
		 var pgHgt = "570px";
		 $("carrouselDiv").style.width = "500px";
	 }
	 else
	 {
		  var pgHgt = "318px";
		  $("carrouselDiv").style.width = "318px";
	 }

	strHtml.append('<div id="pictoggleDiv" style="padding:0px;">');
		strHtml.append('<div id="picdhtmlgoodies_slideshow" style="padding:0px;">');
			strHtml.append('<div id="picgalleryContainer" style="padding:0px;">');
				strHtml.append('<div id="picgalleryC" style="width:'+pgHgt+';*width:'+pgHgt+';height:80px; padding:0px;">');
					strHtml.append('<div id="picarrowLeft" style="display:inline;padding:0px;"><img src="/vendor/rolodex/Images/arrow_left.gif" alt="" /></div><div id="picarrowRight" style="display:inline;z-index:1000;padding:0px;"><img src="/vendor/rolodex/Images/arrow_right.gif" alt="" /></div>');
						strHtml.append('<div id="picarrowLeftDis" style="padding:0px;"><img src="/vendor/rolodex/Images/arrow_left_d.gif" alt="" /></div><div id="picarrowRightDis"><img src="/vendor/rolodex/Images/arrow_right_d.gif" alt="" /></div>');
							strHtml.append('<div id="pictheImages" style="height:80px;padding-left:0px;position:relative;*position:absolute;display:inline;float:left;">');
								strHtml.append('<div id="picdivIconCollect" style="height:80px;position:relative;display:inline;float:left;padding-top:5px;padding-left:5px;padding-right:0px;padding-bottom:0px;background-image:url(/vendor/rolodex/Images/middlebg.gif);background-repeat:repeat-x;">');

								if(typeof(dataArr) == "undefined" || dataArr == "")
								{
									//DO NOTHING
								}
								else
								{
									var mlsKeys = Object.keys(dataArr);									
									for(var i=0;i<mlsKeys.length;i++)
									{	
										setFavoriteIcon(mlsKeys[i],"sel");//function for powersearch to change favorite icon(added by saloni)
										//for powersearch favorites
										//if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
										//{
											var fullAddress = escape(dataArr[mlsKeys[i]].address)+"_"+escape(dataArr[mlsKeys[i]].city)+"_"+dataArr[mlsKeys[i]].state+"_"+dataArr[mlsKeys[i]].zip;
											var tp = dataArr[mlsKeys[i]].tid+':::'+fullAddress+':::'+dataArr[mlsKeys[i]].status+':::'+dataArr[mlsKeys[i]].mlsno;
											if(typeof(chkPSAr) != "undefined" && chkPSAr.in_array(tp) === false)
												chkPSAr[chkPSAr.length] = tp;											
										//}
										//----------------------------------

										var homesiteUrl = dataArr[mlsKeys[i]].link;
										var image = dataArr[mlsKeys[i]].photoUrl;										

										var printUrl = '/brokerAdmin/printProperty.php?id='+mlsKeys[i];

										var qs = new Querystring();
										if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || uRole == "A"))
											printUrl += '&ps=1&aid='+uid;
										else if(qs.get("frm") && qs.get("aid"))
											printUrl += '&aid='+qs.get("aid");
										else if(qs.get("frm") && qs.get("ouid"))
											printUrl += '&ouid='+qs.get("ouid");

										//if(dataArr[mlsKeys[i]].ds == "TREND")
											//dataArr[mlsKeys[i]].address = "";

										strHtml.append('<div id="picdivImg_'+i+'" style="width:65px;height:65px;position:static;display:inline;float:left;padding-left:0px;background-image:url(/vendor/rolodex/Images/bg.gif);background-repeat:no-repeat;">');
											strHtml.append('<table cellpadding="0" cellspacing="0">');												
													strHtml.append('<tr>');
													printHTML = '';
													if(bkTheme != "commonwealth")
													{
														printHTML = '<img style="padding:0px;cursor:pointer;*cursor:hand" src="/vendor/rolodex/Images/print.gif" onclick="javascript:window.open(\''+printUrl+'\');" title="Click to print this Property"/>&nbsp;';
													}

														strHtml.append('<td align="right" style="padding-top:2px;padding-right:2px;">'+printHTML+'&nbsp;<img style="padding:0px;cursor:pointer;*cursor:hand" src="/vendor/rolodex/Images/email.gif" onclick="sendMailOfPowerProperty(\''+mlsKeys[i]+'\');" title="Click to Email this Property"/>&nbsp;&nbsp;<img style="padding:0px;cursor:pointer;*cursor:hand" src="/vendor/rolodex/Images/close.gif" onclick="delSaved(\''+mlsKeys[i]+'\');" title="Click to remove Property Photo"/></td>');
													strHtml.append('</tr>');												
												strHtml.append('<tr>');
													strHtml.append('<td align="center" style="padding-top:2px;"><a href="'+homesiteUrl+'" target="_blank" style="border:0px;"><img id="picimg_'+i+'" height="44px" width="59px" src="'+image+'" style="padding:0px;height:44px;width:59px;border:0px solid #C5C5C5" onmouseover="showPropInfo(event,\''+dataArr[mlsKeys[i]].price+'\',\''+dataArr[mlsKeys[i]].beds+'\',\''+dataArr[mlsKeys[i]].baths+'\',\''+escape(dataArr[mlsKeys[i]].address)+'\',\''+dataArr[mlsKeys[i]].ds+'\');" onmouseout="hideTooltip()"/></a></td>');
												strHtml.append('</tr>');
											strHtml.append('</table>');
										strHtml.append('</div><div style="width:3px;position:static;display:inline;float:left;padding-left:0px;">&nbsp;</div>');

									}
								}
								strHtml.append('<div id="picslideEnd" style="position:static;display:inline;float:left"></div>');

								strHtml.append('</div>');
							strHtml.append('</div>');
						strHtml.append('</div>');
					strHtml.append('</div>');
				strHtml.append('</div>');
			strHtml.append('</div>');
		strHtml.append('</div>');
	
	$("roloCar").innerHTML = strHtml.toString();
}

function setHeader()
{
	var url = "/app/listing/resetHeader.php";
	var qs = "";

	if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
		qs = qs + "power=1";
	else
	{
		var qs1 = new Querystring();
		if(qs1.get("ps") != null && qs1.get("frm") != null && qs1.get("aid") != null)
			qs = qs + "ps=1&frm=agt&aid="+qs1.get("aid");
		else if(qs1.get("frm") != null && qs1.get("aid") != null)
			qs = qs + "frm=agt&aid="+qs1.get("aid");
		else if(qs1.get("frm") != null && qs1.get("ouid") != null)
			qs = qs + "frm=frch&ouid="+qs1.get("ouid");
	}

	ajaxRequest(url,qs,
	responseLogin = function(originalRequest)
	{
		var response = originalRequest.responseText;
		$("headermDiv").innerHTML = '<table width="100%" class="HeaderRepeat" style="height:78px;"><tr>'+ response +'</tr></table>';
		var stags = $("headermDiv").getElementsByTagName("script");
		for(i=0;i<stags.length;i++)
		{				
			eval(stags[i].innerHTML);
		}
	});

	var propAlertPage="";
	var qs1 = new Querystring();
	if(bkTheme == "agtterabitz")
	{
		propAlertPage = "/personalAgtsite/template.php?from=SearchAlert&id=" + qs1.get("aid");
	}
	else if (qs1.get("frm") == "agt")
	{
		propAlertPage = "/agentsite/template.php?from=SearchAlert&id=" + qs1.get("aid");
	}
	else if (qs1.get("frm") == "frch")
	{
		propAlertPage = "/app/mlsLeadManagement/mlsPropertyAlert.php?frm=frch&ouid=" + qs1.get("ouid");
	}
	else
	{
		propAlertPage = "/app/mlsLeadManagement/mlsPropertyAlert.php";
	}	
	if($("emailAlerts")) $("emailAlerts").href = "javascript:setMapArea('"+propAlertPage+"');";
	//setMapArea(propAlertPage);
}
function setVtooltip(cNode)
{
	var lprice = (cNode.price==0)? " - " : num2moneyWrapper(cNode.price);
	var beds = (cNode.beds==0)? " - " : cNode.beds;
	var baths = (cNode.baths==0)? " - " : cNode.baths;

	document.getElementById("vertTooltipDiv"+actTab).style.top = parseInt($("vertHandleDiv"+actTab).style.top)+"px";
	document.getElementById("vertTooltipDiv"+actTab).style.display = "inline";
	document.getElementById("vertTooltipDiv"+actTab).innerHTML = "<span class='roloLblHd'>"+ lprice +"</span><br><span class='roloLblHd'> "+beds+" Br / "+baths+" Ba</span>";
}
function showPropInfo(e,lprice,beds,baths,plocation,ds)
{
	if(beds == "0") beds = "-";
	if(baths == "0") baths = "-";

	var finalPrice = num2moneyWrapper(lprice);
	if(lprice.include("-") || lprice.include("more than"))
		finalPrice = lprice;
	
	var tipStr = "<span><b>"+ unescape(plocation).replace(/__/g,"#") +"  ("+ finalPrice +")  "+beds+" Br / "+baths+" Ba</b></span>";
	//if(ds == "TREND")
		//showTooltip(tipStr,e,120);
	//else
		showTooltip(tipStr,e,220);
}

function selectAllComp(val)
{
	var dv = "";
	if($("comparePropList1") != null)
		dv = "comparePropList1";
	else
		dv = "comparePropList";

		var children = document.getElementById(dv).getElementsByTagName('*');
		for(i=0;i<children.length;i++)
		{
			var e = children[i];
			if(e.type=='checkbox') 
			{
				if(val)	
					e.checked = true;
				else
					e.checked = false;
			}
		}	
}
function deSelectAll(val)
{
	var dv = "";
	if($("comparePropList1") != null)
		dv = "comparePropList1";
	else
		dv = "comparePropList";

	if(!val)
		$('chk_all').checked = false;
	else
	{
		var cnt1 = 0;
		var cnt2 = 0; 
		var children = document.getElementById(dv).getElementsByTagName('*');
		for(i=0;i<children.length;i++)
		{
			var e = children[i];
			if(e.type=='checkbox') 
			{
				cnt1++;
				if(e.checked )	
					cnt2++;
			}
		}
		cnt1--;
		if(cnt1 == cnt2)
			$('chk_all').checked = true;
		else
			$('chk_all').checked = false;
	}
}
function loadCompareDiv()
{
	
	if($("divSaveSearch")) {$("divSaveSearch").style.display = "none";}
	//if($("powerAdvSearch")) {$("powerAdvSearch").style.display = "none";}
	if($("prpStat")) {$("prpStat").style.display = "none";}
	if($("divEmailSaveSearch")) {$("divEmailSaveSearch").style.display = "none";}
	//if($("trSaleDate")) {$("trSaleDate").style.display = "none";}
	if($("divAutoComp")) {$("divAutoComp").style.display = "none";}
	if($('RSshPopupDesc')) { $('RSshPopupDesc').style.display='none'; }
	if($('divRSType')) { $('divRSType').style.display='none'; }
	if($('prpTyp')) { $('prpTyp').style.display='none'; }
	if($('localSearchTxt') && $('divLocalSearch')) {$('divLocalSearch').style.display='none';}
	if($('mySavedSrchTxt') && $('divMySavedSrch')) {$('divMySavedSrch').style.display='none';}
	if($("divMultiCity")) $("divMultiCity").style.display = "none";

    if($("picdivImg_0") && $("picdivImg_1"))
    {
    
        compareDlg = createDialog('comparePropDiv');
        var url = "/app/listing/favourite.php";
		var qs = "op=get";
		
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";

		ajaxRequest(url,qs,function(reqobj){
			var varResponse = trim(reqobj.responseText);
			var myData;
			if(varResponse == "")
				varResponse="[]";
				
				myData = eval('('+varResponse+')');
		
				var mlsKeys = Object.keys(myData);
                var str = new StringBuffer();               
				str.append("<form name='frmAgtReport' id='frmAgtReport' method='post' action='/brokerAdmin/printProperty.php' target='_blank'>");
				str.append("<input type='hidden' name='ps' id='ps' value='0'>");
				str.append("<input type='hidden' name='show_feature' id='show_feature' value='0'>");
				str.append("<input type='hidden' name='aid' id='aid' value='"+$F('aidChk')+"'>");
				str.append("<input type='hidden' name='prp' id='prp' value=''>");
				str.append("<input type='hidden' name='exRespType' id='exRespType' value='JSONEXCEL'>");
				str.append("<input type='hidden' name='exlat' id='exlat1' value=''>");
				str.append("<input type='hidden' name='exlong' id='exlong1' value=''>");
				str.append("<table>");

				if(mlsKeys.length > 1)
				{
					str.append("<tr>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;padding-bottom: 2px;' width='100px' align='center'><input id='chk_all' type='checkbox' value='chk_all' onclick='selectAllComp(this.checked);'/></td>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;padding-bottom: 2px;' width='200px'><span style='font-size:12px;'> Select All </span></td>");
					
                    if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || uRole == "A"))
					{
						//str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' align='right' width='500px'><img src='/vendor/rolodex/Images/coversheet.gif' onmouseover='this.src=\"/vendor/rolodex/Images/coversheet_Over.gif\"' onmouseout='this.src=\"/vendor/rolodex/Images/coversheet.gif\"' onmousedown='this.src=\"/vendor/rolodex/Images/coversheet_Down.gif\"' style='cursor:pointer;*cursor:hand;' onclick='javascript:getReport(4);'/>   <img src='/vendor/rolodex/Images/exportExcel_small.gif' onmouseover='this.src=\"/vendor/rolodex/Images/exportExcel_smallOver.gif\"' onmouseout='this.src=\"/vendor/rolodex/Images/exportExcel_small.gif\"' onmousedown='this.src=\"/vendor/rolodex/Images/exportExcel_smallDown.gif\"' style='cursor:pointer;*cursor:hand;' onclick='javascript:exportToExcel();'/></td>");
						str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;padding-bottom: 2px;' align='right' width='300px'>");
							str.append("<span class='captionSHPopup lang'>Report&nbsp;</span><select name='cmbRptTypePower' id='cmbRptTypePower' style='width:180px;' class='textboxSH'>");
								str.append("<option value=''>Select</option>");								
								str.append("<option value='1'>Summary</option>");
								if(bkTheme!="commonwealth")
								{
									str.append("<option value='2'>Agent Full Report</option>");
									str.append("<option value='3'>Agent Short Report</option>");
									str.append("<option value='4'>Client Full Report</option>");
									str.append("<option value='5'>Client Short Report</option>");
								}
								str.append("<option value='6'>Cover Sheet</option>");
								str.append("<option value='7'>Export to Excel</option>");
								str.append("<option value='8'>Comparables Market Average</option>");
							str.append("</select>&nbsp;&nbsp;<img onclick='javascript:loadRptTypeFromCombo();' onmousedown='this.src=\"../../vendor/rolodex/Images/go_smallDown.gif\"' onmouseout='this.src=\"../../vendor/rolodex/Images/go_small.gif\"' onmouseover='this.src=\"../../vendor/rolodex/Images/go_smallOver.gif\"' src=\"../../vendor/rolodex/Images/go_small.gif\" style=\"cursor: pointer;\"/>");
						str.append("</td>");
					}
					else
						str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' align='right' width='300px'>&nbsp;</td>");

                    str.append("</tr><tr><td colspan='3'><div style='overflow: auto; height: 278px;'><table>");
				}
				
                for(var i=0;i<mlsKeys.length;i++)
                {
                    var tid = mlsKeys[i];
					var tidArr = tid.split("-");
					var finalTid = tidArr[0];
					if (tidArr.length == 2)
						finalTid += "-" + tidArr[1];
					else if (tidArr.length == 3)
						finalTid += "-" + tidArr[2];
					tid = finalTid;
					var homesiteUrl = myData[mlsKeys[i]].link;
                    var image = myData[mlsKeys[i]].photoUrl;
                    var price = myData[mlsKeys[i]].price;
					if(!price.include("-"))
						price = num2moneyWrapper(price);
					var st = myData[mlsKeys[i]].status;
                    var beds = myData[mlsKeys[i]].beds;
					if(beds == "0") beds = "-";
                    var baths = myData[mlsKeys[i]].baths;
					if(baths == "0") baths = "-";
                    var addr = myData[mlsKeys[i]].address+", "+(myData[mlsKeys[i]].city).replace(/\\/g,'')+", "+myData[mlsKeys[i]].state+", "+myData[mlsKeys[i]].zip;
					
					var ds = "";
					if(myData[mlsKeys[i]].ds)
						ds = myData[mlsKeys[i]].ds;
		
					if(ds != "" && (ds == "GSMLS" || ds == "MIDDLESEX" || ds == "NNEREN" && (uid == null || uid == "")))
						addr = myData[mlsKeys[i]].city+", "+myData[mlsKeys[i]].state+", "+myData[mlsKeys[i]].zip;

					if(addr.indexOf(",") == 0)
						addr = addr.substr(1,addr.length);

                    str.append("<tr>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' width='100px' align='center'><input id='"+tid+"' type='checkbox' value='"+tid+":::"+addr+"' name='id[]' onclick='deSelectAll(this.checked);'/></td>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' width='130px'><img src='"+image+"' height='60px' width='75px'/></td>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' width='370px'><span class='listAddress'>"+addr+"<br/>"+st+"</span><br><span class='listPrice'>"+price+"</span><br><span class='srTdSmall'>"+beds+" Br / "+baths+" Ba</span></td>");
                    str.append("</tr>");
                }
                str.append("</table></div></td></tr></table></form>");
                if($("comparePropList1") != null)
					$("comparePropList1").innerHTML = str;
				else
					$("comparePropList").innerHTML = str;

                $("comparePropDiv").style.display = "";
				$("comparePropDiv").parentNode.style.zIndex = 15;
				$("comparePropDiv_mask").style.zIndex = 14;
				//$("powerLinkDiv").style.display = "none";
				if($("txtPowerLinkEmail")) $("txtPowerLinkEmail").value = "";
                compareDlg.show();
        });
    }
    else
    {
        alert("Please add atleast 2 properties to compare");
    }

}
function showMultiDirections()
{
        var geoUrl = "/classes/getCSZ.php";
		var geoQueryString = "csz="+$('cszDir').value + "&address=" + $('streetDir').value;
		if(trim($('cszDir').value)!= "")
		{
			if ((trim($('cszDir').value).length) > 25)
			{
				$('errMsgA').innerHTML='Please Enter City or Zip with max 25 characters.';
				$('cszDir').className  = 'textboxRed';
				$('cszDir').focus();
				return false;
			}
			ajaxRequest(geoUrl,geoQueryString,cfgeoCode,false);
		}
		else
		{
			$('errMsgA').innerHTML='Please Enter City or Zip.';
			$('cszDir').className  = 'textboxRed';
			$('cszDir').focus();
			return false;
		}

	if(errAddress == '')
		return true;
	else
		return false;
}
var cfgeoCode = function(geoResponse)
{
	var geoArr = eval('('+trim(geoResponse.responseText)+')');
	var geoStatus = geoArr[0].status;
	if(geoStatus!=0)
	{
		geoCity = "";
		geoState = "";
		geoZip = "";
		latitude="";
		longitude="";
		$('errMsgA').innerHTML='Sorry, We couldn\'t find a location for "' + geoArr[0].originaladdress + '"';
		$('cszDir').className  = 'textboxRed';
		$('cszDir').focus();
		errAddress = 1;
		return false;
	}
	else
	{
		errAddress = '';
		geoAddress = geoArr[0].address;
       	geoCity = geoArr[0].city;
	    geoState = geoArr[0].state;
		geoZip = geoArr[0].zip;
		latitude=geoArr[0].latitude;
		longitude=geoArr[0].longitude;

		if(geoCity=="" && geoZip=="")
		{
			$('errMsgA').innerHTML='Please specify City or Zip';
			return false;
		}
		else
		{
		    $('cszDir').value = geoCity + "," +geoState+ " " + geoZip ;
			//cityCheckPower();
		}
	}
    getDirDlg.hide();
/******   Redirecting to google map directions page ******/
	var furl = "/app/listing/favourite.php";
        var qs = "op=get";
	if(typeof(powerSearch) != "undefined" && powerSearch == "1")
		qs += "&power=1";
	var dataArr;
        ajaxRequest(furl,qs.toString(),function(reqobj){
                var varResponse = trim(reqobj.responseText);
                if(varResponse == "")
                        varResponse="[]";
        	dataArr = eval('('+varResponse+')');
		//var dataArr = eval('(<?php echo $_SESSION['favJson']; ?>)');
			var mlsKeys = Object.keys(dataArr);
			var url = "http://maps.google.com/maps?f=d&hl=en";
			if(trim(geoAddress) != "")
				var from = "&saddr="+geoAddress+", "+geoCity+", "+geoState+" "+geoZip;
                       	else
				var from = "&saddr="+geoCity+", "+geoState+" "+geoZip;

			var j=0;
                        while(j<mlsKeys.length)
                        {
                            	if (j==24)
                                	break;
				if(j==0)
					to = "&daddr="+escape(dataArr[mlsKeys[j]].address)+" "+dataArr[mlsKeys[j]].city+"@"+dataArr[mlsKeys[j]].lat+","+dataArr[mlsKeys[j]].lng;
				else
					to += " to:"+escape(dataArr[mlsKeys[j]].address)+" "+dataArr[mlsKeys[j]].city+"@"+dataArr[mlsKeys[j]].lat+","+dataArr[mlsKeys[j]].lng;
				j++;
                        }
	window.open(url+from+to);
	});
/*********************************************************/
  //  window.open('getDirections.php?from='+latitude+','+longitude);
}
function getComparables(paramPropFile)
{
	var dv = "";
	if($("comparePropList1") != null)
		dv = "comparePropList1";
	else
		dv = "comparePropList";
    var checkArr = chooseChecked(dv,true);
	
    if(checkArr=='' || checkArr==null || checkArr.length < 2)
    {
        alert('Please select atleast 2 properties to compare');
        return;
    }
    else if(checkArr.length > 4)
    {
		if(checkArr.include("chk_all"))
		{
			if((checkArr.length - 1) > 4)
			{
				alert('Maximum 4 properties can be compared');
				return;
			}
		}
		else
		{
			alert('Maximum 4 properties can be compared');
	        return;
		}
    }
	var paramProp="";
	if(paramPropFile=="" || paramPropFile=="undefined" || paramPropFile==null)
	{}
	else
		paramProp="&paramPropFile="+paramPropFile;
    $('selectedChk').value = checkArr;
    var myQs = new Querystring();
	var ps = myQs.get("ps");
    if(ps == null) ps = "";
    document.frmMoreActions.action = '/brokerAdmin/comparables.php?ps='+ps+paramProp;
    //compareDlg.hide();
    document.frmMoreActions.submit();
}

function getStartingPoint()
{
	if($("divSaveSearch")) {$("divSaveSearch").style.display = "none";}
	//if($("powerAdvSearch")) {$("powerAdvSearch").style.display = "none";}
	if($("prpStat")) {$("prpStat").style.display = "none";}
	if($("divEmailSaveSearch")) {$("divEmailSaveSearch").style.display = "none";}
	//if($("trSaleDate")) {$("trSaleDate").style.display = "none";}
	if($("divAutoComp")) {$("divAutoComp").style.display = "none";}
	if($('RSshPopupDesc')) { $('RSshPopupDesc').style.display='none'; }
	if($('divRSType')) { $('divRSType').style.display='none'; }
	if($('prpTyp')) { $('prpTyp').style.display='none'; }
	if($('localSearchTxt') && $('divLocalSearch')) {$('divLocalSearch').style.display='none';}
	if($('mySavedSrchTxt') && $('divMySavedSrch')) {$('divMySavedSrch').style.display='none';}
	if($("divMultiCity")) $("divMultiCity").style.display = "none";

    if($("picdivImg_0") && $("picdivImg_1"))
    {
        getDirDlg = createDialog('startingLocDiv');
        $("startingLocDiv").style.display="block";
		$("errMsgA").innerHTML = "";
		$("cszDir").className = "textbox";
		$("cszDir").value = "";
		$("streetDir").value = "";
        getDirDlg.show();

		if($('startingLocDiv_c')) $('startingLocDiv_c').style.zIndex='11';
		if($('startingLocDiv_mask')) $('startingLocDiv_mask').style.zIndex='10';
		if($('startingLocDiv')) $('startingLocDiv').parentNode.style.zIndex = 12;
    }
    else
        alert("Please add atleast 2 properties to get directions");

}

function clearAllFav()
{
	unsetAllFavoriteIncon();
	var url = "/app/listing/favourite.php";
	var qs = "op=reset";
	if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
	ajaxRequest(url,qs,function(reqobj){
		if(trim(reqobj.responseText) == "1")
		{			
			getImages();
			initSlideShow_pic();
		}
	},false);	
}

function getReport(type)
{
    var checkArr = chooseChecked('comparePropList1',true);

    if(checkArr=='' || checkArr==null || checkArr.length < 1)
    {
        alert('Please select atleast 1 property');
        return;
    }    
    
    if(type == 1 || type == 5)
	{
		$('selectedChk').value = checkArr;		
		document.frmMoreActions.action = '/brokerAdmin/getReport.php?type='+type;
		//compareDlg.hide();
		document.frmMoreActions.submit();
	}
	
	if(type == 2)
	{
		if($("txtPowerLinkEmail").value == "")
			alert("Please enter email address.");
		else if(!emailIsValid('txtPowerLinkEmail'))
			alert("Please enter valid email address.");
		else
		{
			var url = "/brokerAdmin/getReport.php";
			var qs = "type="+type+"&selectedChk="+escape(checkArr)+"&aidChk="+$("aidChk").value+"&psChk="+$("psChk").value+"&email="+escape(trim($("txtPowerLinkEmail").value));
			ajaxRequest(url,qs,function(reqobj){
				if(trim(reqobj.responseText) == "1")
				{
					alert("Mail sent successfully.");
					$("txtPowerLinkEmail").value = "";
					//compareDlg.hide();
				}
			},false);
		}
	}
	if(type == 4)
	{
		if(checkArr.length > 26)
		{
			alert('You can select maximum 26 properties');
	        return;
		}
		$('selectedChk').value = checkArr;
		document.frmMoreActions.action = '/brokerAdmin/getReport.php?type='+type;
		//compareDlg.hide();
		document.frmMoreActions.submit();
	}
	switch(type)
	{
		case 'AF':		
					$('ps').value = '1';
					$('show_feature').value = '1';
					$('frmAgtReport').submit();
					break;				
		case 'AS':
					$('ps').value = '1';
					$('show_feature').value = '0'; 
					$('frmAgtReport').submit();
					break;
		case 'CF':
					$('ps').value = '0';
					$('show_feature').value = '1'; 
					$('frmAgtReport').submit();
					break;
		case 'CS':
					$('ps').value = '0';
					$('show_feature').value = '0'; 
					$('frmAgtReport').submit();
					break;
	}
}

function showMultiFavDelDlg(index,gid)
{
	if(typeof(multiFavDelDlg) == 'string')
		multiFavDelDlg = createDialog('multiGrpFavDiv');

	var url = "/app/listing/favourite.php";
	var qs = "op=getFavGrpById&gid="+gid;
	if(typeof(powerSearch) != "undefined" && powerSearch == "1")
		qs += "&power=1";
	ajaxRequest(url,qs,function(reqobj){
		var res = trim(reqobj.responseText);	
		
		if(res != "")
		{
			$("delIndex").value = index;
			var myData = eval('('+res+')');			
			var inrHtml = "<table width='100%' cellpadding='0' cellspacing='0'>";
			inrHtml += "<tr><td width='7%'><input type='checkbox' id='G_all' value=\""+gid+"\" onclick='javascript:selectAllFavGrp(\"DG\");'/></td> <td class='contentSHPopup lang' width='93%'>All</td></tr>";
			for(var i=0;i<myData.length;i++)
			{
				inrHtml += "<tr><td width='7%'><input type='checkbox' id=\"G_"+myData[i].G_ID+"\" value=\""+myData[i].G_ID+"\" onclick='javascript:uncheckSelFavGrp(this,\"DG\");'/></td> <td class='contentSHPopup lang' width='93%'>"+myData[i].G_NAME+"</td></tr>";
			}
			inrHtml += "</table>";
			$("multiGrpFavList").innerHTML = inrHtml;
		}
		else
		{
			var inrHtml = "<table width='100%' cellpadding='0' cellspacing='0'>";
			inrHtml += "<tr><td width='100%'>No groups available.</td></tr>";
			inrHtml += "</table>";
			$("multiGrpFavList").innerHTML = inrHtml;
		}
	},false);

	$("multiGrpFavDiv").style.display = "";
	multiFavDelDlg.show();	
}

function delFavFromSelectedGrp()
{
	var delIndex = $("delIndex").value;
	var checkArr = chooseChecked('multiGrpFavList',true);

    if(checkArr=='' || checkArr==null || checkArr.length == 0)
    {
        alert('Please select atleast 1 group.');
        return;
    }
	else
	{
		delFav(delIndex,checkArr,"1");
		$("delIndex").value = "";
		multiFavDelDlg.hide();
	}
}

function exportToExcel()
{
	var checkArr = chooseChecked('comparePropList1',true);

	if(checkArr=='' || checkArr==null || checkArr.length == 0)
    {
        alert('Please select atleast 1 property to export.');
        return;
    }
	else
	{
		var srchPrp = "";
		for(var i=0;i<checkArr.length;i++)
		{
			if(checkArr[i] == "chk_all")
				continue;
			else
				srchPrp += checkArr[i].split(":::")[0]+","; 
		}

		if(srchPrp != "")
			srchPrp = srchPrp.substr(0,srchPrp.length-1);		
		if(getCookie("latLongCk"))
		{
			var latLong = eval(getCookie("latLongCk"))[0];
			$("exlat1").value = latLong.lat;
			$("exlong1").value = latLong.lng;
		}
		$("prp").value = srchPrp;
			

		$("frmAgtReport").action = "/brokerAdmin/powerSearchExport.php";
		$("frmAgtReport").submit();
		$("frmAgtReport").action = "/brokerAdmin/printProperty.php";
	}
}

/*Function for enable favorite icon*/
function setFavoriteIcon(index,from)
{
	if($("imgF-"+index))
	{
		if(from == "sel")
		{
			//Select checkbox
			$('achFR-'+index).show();
			$('achF-'+index).hide();
			$("imgF-"+index).src = $("imgF-"+index).src.replace("_desel","_sel");

		}
		else if(from == "desel")
		{
			//Deselect checkbox
			$('achFR-'+index).hide();
			$('achF-'+index).show();
			$("imgF1-"+index).src = $("imgF-"+index).src.replace("_sel","_desel");
		}
	}
	if($("fs-"+index))
	{
		if(from == "sel")
		{
			//Select checkbox
			//$("fs-"+index).innerHTML = "Added To favorites";
			$("fs1-"+index).style.display='';
			$("fs-"+index).style.display='none';

		}
		else if(from == "desel")
		{
			//Deselect checkbox
			//$("fs-"+index).innerHTML = "Add To favorites";
			$("fs1-"+index).style.display='none';
			$("fs-"+index).style.display='';
		}
	}
}

/*Function to unset Favorite icon*/
function unsetAllFavoriteIncon()
{
	var parentDiv = $("proListingDiv");
	if(parentDiv)
	{
		if(initPower)
		{
			var iconArr = $A(parentDiv.getElementsByTagName("a"));
			for(var i=0; i<iconArr.length; i++)
			{
				var nodeid = iconArr[i].id;
				if(nodeid != "" && nodeid.indexOf("achFR-")!= -1)
				{
					if($(nodeid))
					{
						$(nodeid).hide();
					}
				}
				if(nodeid != "" && nodeid.indexOf("achF-")!= -1)
				{
					if($(nodeid))
					{
						$(nodeid).show();
					}
				}
			}
		}
		
		var iconArr = $A(parentDiv.getElementsByTagName("a"));
		for(var i=0; i<iconArr.length; i++)
		{
			var nodeid = iconArr[i].id;
			if(nodeid != "" && nodeid.indexOf("fs-")!= -1)
			{	
				if($(nodeid))
				{
					$(nodeid).show();				
				}
			}
			if(nodeid != "" && nodeid.indexOf("fs1-")!= -1)
			{	
				if($(nodeid))
				{
					$(nodeid).hide();					
				}
			}
		}
		
	}
}

function loadRptTypeFromCombo()
{
	var index = $F("cmbRptTypePower");
	if (index == "")
	{
		alert("Please select any report type.");
		return;
	}

	switch(index)
	{
		case "1":		
				getReport(1);
				break;				
		case "2":
				getReport('AF');
				break;
		case "3":
				getReport('AS');
				break;
		case "4":
				getReport('CF');
				break;
		case "5":		
				getReport('CS');
				break;				
		case "6":
				getReport(4);
				break;
		case "7":
				exportToExcel();
				break;
		case "8":
				getReport(5);
				break;
	}
}


/*../vendor/calendar/calendar.js*/

Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);}Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined")Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);}Calendar._SMN=ar;}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(el){var SL=0,ST=0;var is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this.getAbsolutePos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}return r;};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement;}else if(type=="mouseout"){related=evt.toElement;}}while(related){if(related==el){return true;}related=related.parentNode;}return false;};Calendar.removeClass=function(el,className){if(!(el&&el.className)){return;}var cls=el.className.split(" ");var ar=new Array();for(var i=cls.length;i>0;){if(cls[--i]!=className){ar[ar.length]=cls[i];}}el.className=ar.join(" ");};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className;};Calendar.getElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName))f=f.parentNode;return f;};Calendar.getTargetElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1)f=f.parentNode;return f;};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}return false;};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func);}else if(el.addEventListener){el.addEventListener(evname,func,true);}else{el["on"+evname]=func;}};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func);}else if(el.removeEventListener){el.removeEventListener(evname,func,true);}else{el["on"+evname]=null;}};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type);}else{el=document.createElement(type);}if(typeof parent!="undefined"){parent.appendChild(el);}return el;};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;}return null;};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;}return null;};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}if(cal.activeMonth){Calendar.removeClass(cal.activeMonth,"active");}var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined")mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}if(cal.activeYear){Calendar.removeClass(cal.activeYear,"active");}cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1);var yr=yc.firstChild;var show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.innerHTML=Y;yr.year=Y;yr.style.display="block";show=true;}else{yr.style.display="none";}yr=yr.nextSibling;Y+=fwd?cal.yearStep:-cal.yearStep;}if(show){var s=yc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var ycw=yc.offsetWidth;if(typeof ycw=="undefined")ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false;}if(cal.timeout){clearTimeout(cal.timeout);}var el=cal.activeDiv;if(!el){return false;}var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev);}var mon=Calendar.findMonth(target);var date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal){return;}var el=cal.activeDiv;var target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite");}ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el);var w=el.offsetWidth;var x=ev.clientX;var dx;var decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false;}else dx=pos.x-x;if(dx<0)dx=0;var range=el._range;var current=el._current;var count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;)if(range[i]==current)break;while(count-->0)if(decrease){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();}var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}Calendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}return Calendar.stopEvent(ev);};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){return Calendar.stopEvent(ev);}};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging)){return false;}var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posX=ev.pageX;posY=ev.pageY;}cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev);};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false;}cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);}cal.hideShowCovered();};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false;}var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300)with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver);}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp);}else if(cal.isPopup){cal._dragStart(ev);}if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);}else{cal.timeout=null;}return Calendar.stopEvent(ev);};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie){document.selection.empty();}};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){return false;}if(el.ttip){if(el.ttip.substr(0,1)=="_"){el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);}el.calendar.tooltips.innerHTML=el.ttip;}if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate){Calendar.addClass(el.parentNode,"rowhilite");}}return Calendar.stopEvent(ev);};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled)return false;removeClass(el,"hilite");if(el.caldate)removeClass(el.parentNode,"rowhilite");if(el.calendar)el.calendar.tooltips.innerHTML=_TT["SEL_DATE"];return stopEvent(ev);}};Calendar.cellClick=function(el,ev){var cal=el.calendar;var closing=false;var newdate=false;var date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing){cal.currentDateEl=el;}}cal.date.setDateOnly(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl)cal._toggleMultipleDate(new Date(date));else newdate=!el.disabled;if(other_month)cal._init(cal.firstDayOfWeek,date);}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return;}date=new Date(cal.date);if(el.navtype==0)date.setDateOnly(new Date());cal.dateClicked=false;var year=date.getFullYear();var mon=date.getMonth();function setMonth(m){var day=date.getDate();var max=date.getMonthDays(m);if(day>max){date.setDate(max);}date.setMonth(m);};switch(el.navtype){case 400:Calendar.removeClass(el,"hilite");var text=Calendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:"";}else{text="Help and about box text is not translated into this language.\n"+"If you know this language and you feel generous please update\n"+"the corresponding file in \"lang\" subdir to match calendar-en.js\n"+"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\n"+"Thank you!\n"+"http://dynarch.com/mishoo/calendar.epl\n";}alert(text);return;case -2:if(year>cal.minYear){date.setFullYear(year-1);}break;case -1:if(mon>0){setMonth(mon-1);}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11);}break;case 1:if(mon<11){setMonth(mon+1);}else if(year<cal.maxYear){date.setFullYear(year+1);setMonth(0);}break;case 2:if(year<cal.maxYear){date.setFullYear(year+1);}break;case 100:cal.setFirstDayOfWeek(el.fdow);return;case 50:var range=el._range;var current=el.innerHTML;for(var i=range.length;--i>=0;)if(range[i]==current)break;if(ev&&ev.shiftKey){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate())){return false;}break;}if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true;}else if(el.navtype==0)newdate=closing=true;}if(newdate){ev&&cal.callHandler();}if(closing){Calendar.removeClass(el,"hilite");ev&&cal.callCloseHandler();}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true;}else{parent=_par;this.isPopup=false;}this.date=this.dateStr?new Date(this.dateStr):new Date();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){if(isIE)div.style.position="absolute";else div.style.position="absolute";div.style.display="none";}div.appendChild(table);var thead=Calendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="<div unselectable='on'>"+text+"</div>";return cell;};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=Calendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("&#x00d7;",1,200).ttip=Calendar._TT["CLOSE"];}row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.innerHTML=Calendar._TT["WK"];}for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell);}}this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers){cell=Calendar.createElement("td",row);}for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.calendar=this;Calendar._add_evs(cell);}}if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||"&nbsp;";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number")part._range=range_start;else{for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10)txt='0'+i;else txt=''+i;part._range[part._range.length]=txt;}}Calendar._add_evs(part);return part;};var hrs=cal.date.getHours();var mins=cal.date.getMinutes();var t12=!cal.time24;var pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);var span=Calendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12)AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else cell.innerHTML="&nbsp;";cal.onSetTime=function(){var pm,hrs=this.date.getHours(),mins=this.date.getMinutes();if(t12){pm=(hrs>=12);if(pm)hrs-=12;if(hrs==0)hrs=12;AP.innerHTML=pm?"pm":"am";}H.innerHTML=(hrs<10)?("0"+hrs):hrs;M.innerHTML=(mins<10)?("0"+mins):mins;};cal.onUpdateTime=function(){var date=this.date;var h=parseInt(H.innerHTML,10);if(t12){if(/pm/i.test(AP.innerHTML)&&h<12)h+=12;else if(/am/i.test(AP.innerHTML)&&h==12)h=0;}var d=date.getDate();var m=date.getMonth();var y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.innerHTML,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler();};})();}else{this.onSetTime=this.onUpdateTime=function(){};}var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";}this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<Calendar._MN.length;++i){var mn=Calendar.createElement("div");mn.className=Calendar.is_ie?"label-IEfix":"label";mn.month=i;mn.innerHTML=Calendar._SMN[i];div.appendChild(mn);}div=Calendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";div.appendChild(yr);}this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};Calendar._keyEvent=function(ev){var cal=window._dynarch_popupCalendar;if(!cal||cal.multiple)return false;(Calendar.is_ie)&&(ev=window.event);var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(K){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var prev,x,y,ne,el,step;prev=K==37||K==38;step=(K==37||K==39)?1:7;function setVars(){el=cal.currentDateEl;var p=el.pos;x=p&15;y=p>>4;ne=cal.ar_days[y][x];};setVars();function prevMonth(){var date=new Date(cal.date);date.setDate(date.getDate()-step);cal.setDate(date);};function nextMonth(){var date=new Date(cal.date);date.setDate(date.getDate()+step);cal.setDate(date);};while(1){switch(K){case 37:if(--x>=0)ne=cal.ar_days[y][x];else{x=6;K=38;continue;}break;case 38:if(--y>=0)ne=cal.ar_days[y][x];else{prevMonth();setVars();}break;case 39:if(++x<7)ne=cal.ar_days[y][x];else{x=0;K=40;continue;}break;case 40:if(++y<cal.ar_days.length)ne=cal.ar_days[y][x];else{nextMonth();setVars();}break;}break;}if(ne){if(!ne.disabled)Calendar.cellClick(ne);else if(prev)prevMonth();else nextMonth();}}break;case 13:if(act)Calendar.cellClick(cal.currentDateEl,ev);break;default:return false;}return Calendar.stopEvent(ev);};Calendar.prototype._init=function(firstDayOfWeek,date){var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate();this.table.style.visibility="hidden";var year=date.getFullYear();if(year<this.minYear){year=this.minYear;date.setFullYear(year);}else if(year>this.maxYear){year=this.maxYear;date.setFullYear(year);}this.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getMonth();var mday=date.getDate();var no_days=date.getMonthDays();date.setDate(1);var day1=(date.getDay()-this.firstDayOfWeek)%7;if(day1<0)day1+=7;date.setDate(-day1);date.setDate(date.getDate()+1);var row=this.tbody.firstChild;var MN=Calendar._SMN[month];var ar_days=this.ar_days=new Array();var weekend=Calendar._TT["WEEKEND"];var dates=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.innerHTML=date.getWeekNumber();cell=cell.nextSibling;}row.className="daysrow";var hasdays=false,iday,dpos=ar_days[i]=[];for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(iday+1)){iday=date.getDate();var wday=date.getDay();cell.className="day";cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true;}else{cell.className="emptycell";cell.innerHTML="&nbsp;";cell.disabled=true;continue;}}else{cell.otherMonth=false;hasdays=true;}cell.disabled=false;cell.innerHTML=this.getDateText?this.getDateText(date,iday):iday;if(dates)dates[date.print("%Y%m%d")]=cell;if(this.getDateStatus){var status=this.getDateStatus(date,year,month,iday);if(this.getDateToolTip){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip)cell.title=toolTip;}if(status===true){cell.className+=" disabled";cell.disabled=true;}else{if(/disabled/i.test(status))cell.disabled=true;cell.className+=" "+status;}}if(!cell.disabled){cell.caldate=new Date(date);cell.ttip="_";if(!this.multiple&&current_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell;}if(date.getFullYear()==TY&&date.getMonth()==TM&&iday==TD){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"];}if(weekend.indexOf(wday.toString())!=-1)cell.className+=cell.otherMonth?" oweekend":" weekend";}}if(!(hasdays||this.showsOtherMonths))row.className="emptyrow";}this.title.innerHTML=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var cell=this.datesCells[i];var d=this.multiple[i];if(!d)continue;if(cell)cell.className+=" selected";}}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d");var cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date;}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds];}}}};Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null;};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};Calendar._checkCalendar=function(ev){var calendar=window._dynarch_popupCalendar;if(!calendar){return false;}var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active");}}this.element.style.zIndex="2000";this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);}this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);}this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,opts){var self=this;var p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true;}function fixPosition(box){if(box.x<0)box.x=0;if(box.y<0)box.y=0;var cp=document.createElement("div");var s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft;}else{br.y+=window.scrollY;br.x+=window.scrollX;}var tmp=box.x+box.width-br.x;if(tmp>0)box.x-=tmp;tmp=box.y+box.height-br.y;if(tmp>0)box.y-=tmp;};this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=self.element.offsetWidth;var h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1);var halign="l";if(opts.length>1){halign=opts.substr(1,1);}switch(valign){case"T":p.y-=h;break;case"B":p.y+=el.offsetHeight;break;case"C":p.y+=(el.offsetHeight-h)/2;break;case"t":p.y+=el.offsetHeight-h;break;case"b":break;}switch(halign){case"L":p.x-=w;break;case"R":p.x+=el.offsetWidth;break;case"C":p.x+=(el.offsetWidth-w)/2;break;case"l":p.x+=el.offsetWidth-w;break;case"r":break;}p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y);};if(Calendar.is_khtml)setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){if(!fmt)fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt));};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera)return;function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml)value=document.defaultView.getComputedStyle(obj,"").getPropertyValue("visibility");else value='';}else if(obj.currentStyle){value=obj.currentStyle.visibility;}else value='';}return value;};var tags=new Array("applet","select");var el=this.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility=cc.__msh_save_visibility;}else{if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility="hidden";}}}};Calendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek;var cell=this.firstdayname;var weekend=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";var realday=(i+fdow)%7;if(i){cell.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[realday]);cell.navtype=100;cell.calendar=this;cell.fdow=realday;Calendar._add_evs(cell);}if(weekend.indexOf(realday.toString())!=-1){Calendar.addClass(cell,"weekend");}cell.innerHTML=Calendar._SDN[(i+fdow)%7];cell=cell.nextSibling;}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};Calendar.prototype._dragStart=function(ev){if(this.dragging){return;}this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX;}var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd);}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(str,fmt){var today=new Date();var y=0;var m=-1;var d=0;var a=str.split(/\W+/);var b=fmt.match(/%./g);var i=0,j=0;var hr=0;var min=0;for(i=0;i<a.length;++i){if(!a[i])continue;switch(b[i]){case"%d":case"%e":d=parseInt(a[i],10);break;case"%m":m=parseInt(a[i],10)-1;break;case"%Y":case"%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;case"%b":case"%B":for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}}break;case"%H":case"%I":case"%k":case"%l":hr=parseInt(a[i],10);break;case"%P":case"%p":if(/pm/i.test(a[i])&&hr<12)hr+=12;else if(/am/i.test(a[i])&&hr>=12)hr-=12;break;case"%M":min=parseInt(a[i],10);break;}}if(isNaN(y))y=today.getFullYear();if(isNaN(m))m=today.getMonth();if(isNaN(d))d=today.getDate();if(isNaN(hr))hr=today.getHours();if(isNaN(min))min=today.getMinutes();if(y!=0&&m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);y=0;m=-1;d=0;for(i=0;i<a.length;++i){if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break;}}if(t!=-1){if(m!=-1){d=m+1;}m=t;}}else if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1;}else if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else if(d==0){d=a[i];}}if(y==0)y=today.getFullYear();if(m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);return today;};Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined"){month=this.getMonth();}if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29;}else{return Date._MD[month];}};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new Date(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1;};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.setDateOnly=function(date){var tmp=new Date(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate());};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0)ir=12;var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)return str.replace(re,function(par){return s[par]||par;});var a=str.match(re);for(var i=0;i<a.length;i++){var tmp=s[a[i]];if(tmp){re=new RegExp(a[i],'g');str=str.replace(re,tmp);}}return str;};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(y){var d=new Date(this);d.__msh_oldSetFullYear(y);if(d.getMonth()!=this.getMonth())this.setDate(28);this.__msh_oldSetFullYear(y);};window._dynarch_popupCalendar=null;

/*../vendor/calendar/calendar-setup.js*/

Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("dateText",null);param_default("firstDay",null);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",1);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false;}function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange();}if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);}if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false;}var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(dateEl)params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.refresh();if(!params.position)cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else cal.showAt(params.position[0],params.position[1]);return false;};return cal;};

/*../vendor/calendar/calendar-en.js*/

Calendar._DN=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");Calendar._SDN=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun");Calendar._FD=0;Calendar._MN=new Array("January","February","March","April","May","June","July","August","September","October","November","December");Calendar._SMN=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");Calendar._TT={};Calendar._TT["INFO"]="About the calendar";Calendar._TT["ABOUT"]="DHTML Date/Time Selector\n"+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n"+"For latest version visit: http://www.dynarch.com/projects/calendar/\n"+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details."+"\n\n"+"Date selection:\n"+"- Use the \xab, \xbb buttons to select year\n"+"- Use the "+String.fromCharCode(0x2039)+", "+String.fromCharCode(0x203a)+" buttons to select month\n"+"- Hold mouse button on any of the above buttons for faster selection.";Calendar._TT["ABOUT_TIME"]="\n\n"+"Time selection:\n"+"- Click on any of the time parts to increase it\n"+"- or Shift-click to decrease it\n"+"- or click and drag for faster selection.";Calendar._TT["PREV_YEAR"]="Prev. year (hold for menu)";Calendar._TT["PREV_MONTH"]="Prev. month (hold for menu)";Calendar._TT["GO_TODAY"]="Go Today";Calendar._TT["NEXT_MONTH"]="Next month (hold for menu)";Calendar._TT["NEXT_YEAR"]="Next year (hold for menu)";Calendar._TT["SEL_DATE"]="Select date";Calendar._TT["DRAG_TO_MOVE"]="Drag to move";Calendar._TT["PART_TODAY"]=" (today)";Calendar._TT["DAY_FIRST"]="Display %s first";Calendar._TT["WEEKEND"]="0,6";Calendar._TT["CLOSE"]="Close";Calendar._TT["TODAY"]="Today";Calendar._TT["TIME_PART"]="(Shift-)Click or drag to change value";Calendar._TT["DEF_DATE_FORMAT"]="%Y-%m-%d";Calendar._TT["TT_DATE_FORMAT"]="%a, %b %e";Calendar._TT["WK"]="wk";Calendar._TT["TIME"]="Time:";

/*../vendor/yui_252/build/yahoo-dom-event/yahoo-dom-event.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.2
*/
if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var A=YAHOO.lang,C=["toString","valueOf"],B={isArray:function(D){if(D){return A.isNumber(D.length)&&A.isFunction(D.splice);}return false;},isBoolean:function(D){return typeof D==="boolean";},isFunction:function(D){return typeof D==="function";},isNull:function(D){return D===null;},isNumber:function(D){return typeof D==="number"&&isFinite(D);},isObject:function(D){return(D&&(typeof D==="object"||A.isFunction(D)))||false;},isString:function(D){return typeof D==="string";},isUndefined:function(D){return typeof D==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(var D=0;D<C.length;D=D+1){var H=C[D],G=E[H];if(A.isFunction(G)&&G!=Object.prototype[H]){F[H]=G;}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new Error("extend failed, please check that "+"all dependencies are included.");}var E=function(){};E.prototype=I.prototype;H.prototype=new E();H.prototype.constructor=H;H.superclass=I.prototype;if(I.prototype.constructor==Object.prototype.constructor){I.prototype.constructor=I;}if(G){for(var D in G){if(A.hasOwnProperty(G,D)){H.prototype[D]=G[D];}}A._IEEnumFix(H.prototype,G);}},augmentObject:function(H,G){if(!G||!H){throw new Error("Absorb failed, verify dependencies.");}var D=arguments,F,I,E=D[2];if(E&&E!==true){for(F=2;F<D.length;F=F+1){H[D[F]]=G[D[F]];}}else{for(I in G){if(E||!(I in H)){H[I]=G[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||!G){throw new Error("Augment failed, verify dependencies.");}var D=[G.prototype,F.prototype];for(var E=2;E<arguments.length;E=E+1){D.push(arguments[E]);}A.augmentObject.apply(this,D);},dump:function(D,I){var F,H,K=[],L="{...}",E="f(){...}",J=", ",G=" => ";if(!A.isObject(D)){return D+"";}else{if(D instanceof Date||("nodeType" in D&&"tagName" in D)){return D;}else{if(A.isFunction(D)){return E;}}}I=(A.isNumber(I))?I:3;if(A.isArray(D)){K.push("[");for(F=0,H=D.length;F<H;F=F+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push("]");}else{K.push("{");for(F in D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.pop();}K.push("}");}return K.join("");},substitute:function(S,E,L){var I,H,G,O,P,R,N=[],F,J="dump",M=" ",D="{",Q="}";for(;;){I=S.lastIndexOf(D);if(I<0){break;}H=S.indexOf(Q,I);if(I+1>=H){break;}F=S.substring(I+1,H);O=F;R=null;G=O.indexOf(M);if(G>-1){R=O.substring(G+1);O=O.substring(0,G);}P=E[O];if(L){P=L(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=A.dump(P,parseInt(R,10));}else{R=R||"";var K=R.indexOf(J);if(K>-1){R=R.substring(4);}if(P.toString===Object.prototype.toString||K>-1){P=A.dump(P,parseInt(R,10));}else{P=P.toString();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P="~-"+N.length+"-~";N[N.length]=F;}}S=S.substring(0,I)+P+S.substring(H+1);}for(I=N.length-1;I>=0;I=I-1){S=S.replace(new RegExp("~-"+I+"-~"),"{"+N[I]+"}","g");}return S;},trim:function(D){try{return D.replace(/^\s+|\s+$/g,"");}catch(E){return D;}},merge:function(){var G={},E=arguments;for(var F=0,D=E.length;F<D;F=F+1){A.augmentObject(G,E[F],true);}return G;},later:function(K,E,L,G,H){K=K||0;E=E||{};var F=L,J=G,I,D;if(A.isString(L)){F=E[L];}if(!F){throw new TypeError("method undefined");}if(!A.isArray(J)){J=[G];}I=function(){F.apply(E,J);};D=(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:function(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean(D));}};A.hasOwnProperty=(Object.prototype.hasOwnProperty)?function(D,E){return D&&D.hasOwnProperty(E);}:function(D,E){return !A.isUndefined(D[E])&&D.constructor.prototype[E]!==D[E];};B.augmentObject(A,B,true);YAHOO.util.Lang=A;A.augment=A.augmentProto;YAHOO.augment=A.augmentProto;YAHOO.extend=A.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.5.2",build:"1076"});(function(){var B=YAHOO.util,K,I,J={},F={},M=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,L=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,G=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var N=function(P){if(!E.HYPHEN.test(P)){return P;}if(J[P]){return J[P];}var Q=P;while(E.HYPHEN.exec(Q)){Q=Q.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}J[P]=Q;return Q;};var O=function(Q){var P=F[Q];if(!P){P=new RegExp("(?:^|\\s+)"+Q+"(?:\\s+|$)");F[Q]=P;}return P;};if(M.defaultView&&M.defaultView.getComputedStyle){K=function(P,S){var R=null;if(S=="float"){S="cssFloat";}var Q=P.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){R=Q[N(S)];}return P.style[S]||R;};}else{if(M.documentElement.currentStyle&&G){K=function(P,R){switch(N(R)){case"opacity":var T=100;try{T=P.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(S){try{T=P.filters("alpha").opacity;}catch(S){}}return T/100;case"float":R="styleFloat";default:var Q=P.currentStyle?P.currentStyle[R]:null;return(P.style[R]||Q);}};}else{K=function(P,Q){return P.style[Q];};}}if(G){I=function(P,Q,R){switch(Q){case"opacity":if(YAHOO.lang.isString(P.style.filter)){P.style.filter="alpha(opacity="+R*100+")";if(!P.currentStyle||!P.currentStyle.hasLayout){P.style.zoom=1;}}break;case"float":Q="styleFloat";default:P.style[Q]=R;}};}else{I=function(P,Q,R){if(Q=="float"){Q="cssFloat";}P.style[Q]=R;};}var D=function(P,Q){return P&&P.nodeType==1&&(!Q||Q(P));};YAHOO.util.Dom={get:function(R){if(R&&(R.nodeType||R.item)){return R;}if(YAHOO.lang.isString(R)||!R){return M.getElementById(R);}if(R.length!==undefined){var S=[];for(var Q=0,P=R.length;Q<P;++Q){S[S.length]=B.Dom.get(R[Q]);}return S;}return R;},getStyle:function(P,R){R=N(R);var Q=function(S){return K(S,R);};return B.Dom.batch(P,Q,B.Dom,true);},setStyle:function(P,R,S){R=N(R);var Q=function(T){I(T,R,S);};B.Dom.batch(P,Q,B.Dom,true);},getXY:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}return H(R);};return B.Dom.batch(P,Q,B.Dom,true);},getX:function(P){var Q=function(R){return B.Dom.getXY(R)[0];};return B.Dom.batch(P,Q,B.Dom,true);},getY:function(P){var Q=function(R){return B.Dom.getXY(R)[1];};return B.Dom.batch(P,Q,B.Dom,true);},setXY:function(P,S,R){var Q=function(V){var U=this.getStyle(V,"position");if(U=="static"){this.setStyle(V,"position","relative");U="relative";}var X=this.getXY(V);if(X===false){return false;}var W=[parseInt(this.getStyle(V,"left"),10),parseInt(this.getStyle(V,"top"),10)];if(isNaN(W[0])){W[0]=(U=="relative")?0:V.offsetLeft;}if(isNaN(W[1])){W[1]=(U=="relative")?0:V.offsetTop;}if(S[0]!==null){V.style.left=S[0]-X[0]+W[0]+"px";}if(S[1]!==null){V.style.top=S[1]-X[1]+W[1]+"px";}if(!R){var T=this.getXY(V);if((S[0]!==null&&T[0]!=S[0])||(S[1]!==null&&T[1]!=S[1])){this.setXY(V,S,true);}}};B.Dom.batch(P,Q,B.Dom,true);},setX:function(Q,P){B.Dom.setXY(Q,[P,null]);},setY:function(P,Q){B.Dom.setXY(P,[null,Q]);},getRegion:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}var S=B.Region.getRegion(R);return S;};return B.Dom.batch(P,Q,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(T,X,U,V){X=X||"*";U=(U)?B.Dom.get(U):null||M;if(!U){return[];}var Q=[],P=U.getElementsByTagName(X),W=O(T);for(var R=0,S=P.length;R<S;++R){if(W.test(P[R].className)){Q[Q.length]=P[R];if(V){V.call(P[R],P[R]);}}}return Q;},hasClass:function(R,Q){var P=O(Q);var S=function(T){return P.test(T.className);};return B.Dom.batch(R,S,B.Dom,true);},addClass:function(Q,P){var R=function(S){if(this.hasClass(S,P)){return false;}S.className=YAHOO.lang.trim([S.className,P].join(" "));return true;};return B.Dom.batch(Q,R,B.Dom,true);},removeClass:function(R,Q){var P=O(Q);var S=function(T){if(!Q||!this.hasClass(T,Q)){return false;}var U=T.className;T.className=U.replace(P," ");if(this.hasClass(T,Q)){this.removeClass(T,Q);}T.className=YAHOO.lang.trim(T.className);return true;};return B.Dom.batch(R,S,B.Dom,true);},replaceClass:function(S,Q,P){if(!P||Q===P){return false;}var R=O(Q);var T=function(U){if(!this.hasClass(U,Q)){this.addClass(U,P);return true;}U.className=U.className.replace(R," "+P+" ");if(this.hasClass(U,Q)){this.replaceClass(U,Q,P);}U.className=YAHOO.lang.trim(U.className);return true;};return B.Dom.batch(S,T,B.Dom,true);},generateId:function(P,R){R=R||"yui-gen";var Q=function(S){if(S&&S.id){return S.id;}var T=R+YAHOO.env._id_counter++;if(S){S.id=T;}return T;};return B.Dom.batch(P,Q,B.Dom,true)||Q.apply(B.Dom,arguments);},isAncestor:function(P,Q){P=B.Dom.get(P);Q=B.Dom.get(Q);if(!P||!Q){return false;}if(P.contains&&Q.nodeType&&!L){return P.contains(Q);}else{if(P.compareDocumentPosition&&Q.nodeType){return !!(P.compareDocumentPosition(Q)&16);}else{if(Q.nodeType){return !!this.getAncestorBy(Q,function(R){return R==P;});}}}return false;},inDocument:function(P){return this.isAncestor(M.documentElement,P);},getElementsBy:function(W,Q,R,T){Q=Q||"*";R=(R)?B.Dom.get(R):null||M;if(!R){return[];}var S=[],V=R.getElementsByTagName(Q);for(var U=0,P=V.length;U<P;++U){if(W(V[U])){S[S.length]=V[U];if(T){T(V[U]);}}}return S;},batch:function(T,W,V,R){T=(T&&(T.tagName||T.item))?T:B.Dom.get(T);if(!T||!W){return false;}var S=(R)?V:window;if(T.tagName||T.length===undefined){return W.call(S,T,V);}var U=[];for(var Q=0,P=T.length;Q<P;++Q){U[U.length]=W.call(S,T[Q],V);}return U;},getDocumentHeight:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollHeight:M.documentElement.scrollHeight;var P=Math.max(Q,B.Dom.getViewportHeight());return P;},getDocumentWidth:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollWidth:M.documentElement.scrollWidth;var P=Math.max(Q,B.Dom.getViewportWidth());return P;},getViewportHeight:function(){var P=self.innerHeight;
var Q=M.compatMode;if((Q||G)&&!C){P=(Q=="CSS1Compat")?M.documentElement.clientHeight:M.body.clientHeight;}return P;},getViewportWidth:function(){var P=self.innerWidth;var Q=M.compatMode;if(Q||G){P=(Q=="CSS1Compat")?M.documentElement.clientWidth:M.body.clientWidth;}return P;},getAncestorBy:function(P,Q){while(P=P.parentNode){if(D(P,Q)){return P;}}return null;},getAncestorByClassName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return B.Dom.hasClass(S,P);};return B.Dom.getAncestorBy(Q,R);},getAncestorByTagName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return S.tagName&&S.tagName.toUpperCase()==P.toUpperCase();};return B.Dom.getAncestorBy(Q,R);},getPreviousSiblingBy:function(P,Q){while(P){P=P.previousSibling;if(D(P,Q)){return P;}}return null;},getPreviousSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getPreviousSiblingBy(P);},getNextSiblingBy:function(P,Q){while(P){P=P.nextSibling;if(D(P,Q)){return P;}}return null;},getNextSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getNextSiblingBy(P);},getFirstChildBy:function(P,R){var Q=(D(P.firstChild,R))?P.firstChild:null;return Q||B.Dom.getNextSiblingBy(P.firstChild,R);},getFirstChild:function(P,Q){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getFirstChildBy(P);},getLastChildBy:function(P,R){if(!P){return null;}var Q=(D(P.lastChild,R))?P.lastChild:null;return Q||B.Dom.getPreviousSiblingBy(P.lastChild,R);},getLastChild:function(P){P=B.Dom.get(P);return B.Dom.getLastChildBy(P);},getChildrenBy:function(Q,S){var R=B.Dom.getFirstChildBy(Q,S);var P=R?[R]:[];B.Dom.getNextSiblingBy(R,function(T){if(!S||S(T)){P[P.length]=T;}return false;});return P;},getChildren:function(P){P=B.Dom.get(P);if(!P){}return B.Dom.getChildrenBy(P);},getDocumentScrollLeft:function(P){P=P||M;return Math.max(P.documentElement.scrollLeft,P.body.scrollLeft);},getDocumentScrollTop:function(P){P=P||M;return Math.max(P.documentElement.scrollTop,P.body.scrollTop);},insertBefore:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}return P.parentNode.insertBefore(Q,P);},insertAfter:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}if(P.nextSibling){return P.parentNode.insertBefore(Q,P.nextSibling);}else{return P.parentNode.appendChild(Q);}},getClientRegion:function(){var R=B.Dom.getDocumentScrollTop(),Q=B.Dom.getDocumentScrollLeft(),S=B.Dom.getViewportWidth()+Q,P=B.Dom.getViewportHeight()+R;return new B.Region(R,S,P,Q);}};var H=function(){if(M.documentElement.getBoundingClientRect){return function(Q){var R=Q.getBoundingClientRect();var P=Q.ownerDocument;return[R.left+B.Dom.getDocumentScrollLeft(P),R.top+B.Dom.getDocumentScrollTop(P)];};}else{return function(R){var S=[R.offsetLeft,R.offsetTop];var Q=R.offsetParent;var P=(L&&B.Dom.getStyle(R,"position")=="absolute"&&R.offsetParent==R.ownerDocument.body);if(Q!=R){while(Q){S[0]+=Q.offsetLeft;S[1]+=Q.offsetTop;if(!P&&L&&B.Dom.getStyle(Q,"position")=="absolute"){P=true;}Q=Q.offsetParent;}}if(P){S[0]-=R.ownerDocument.body.offsetLeft;S[1]-=R.ownerDocument.body.offsetTop;}Q=R.parentNode;while(Q.tagName&&!E.ROOT_TAG.test(Q.tagName)){if(Q.scrollTop||Q.scrollLeft){if(!E.OP_SCROLL.test(B.Dom.getStyle(Q,"display"))){if(!C||B.Dom.getStyle(Q,"overflow")!=="visible"){S[0]-=Q.scrollLeft;S[1]-=Q.scrollTop;}}}Q=Q.parentNode;}return S;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.5.2",build:"1076"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent){return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent){}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D){var M=C[D];if(!M){J=true;}else{if(!this.silent){}var L=M.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var B=null;if(I.length>0){B=I[0];}try{G=M.fn.call(L,B,M.obj);}catch(F){this.lastError=F;if(A){throw F;}}}else{try{G=M.fn.call(L,this.type,I,M.obj);}catch(H){this.lastError=H;if(A){throw H;}}}if(false===G){if(!this.silent){}break;}}}return(G!==false);},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){var K=this;var L=function(){K._tryPreloadAttach();};this._interval=setInterval(L,this.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N){var K=(YAHOO.lang.isString(P))?[P]:P;for(var L=0;L<K.length;L=L+1){F.push({id:K[L],fn:M,obj:Q,override:O,checkReady:N});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(M,K,N,L){this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L){if(this.DOMReady){setTimeout(function(){var N=window;if(L){if(L===true){N=M;}else{N=L;}}K.call(N,"DOMReady",[],M);},0);}else{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:function(M,K,V,Q,L){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var R=0,T=M.length;R<T;++R){W=this.on(M[R],K,V,Q,L)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var P=this.getEl(M);if(P){M=P;}else{this.onAvailable(M,function(){YAHOO.util.Event.on(M,K,V,Q,L);});return true;}}}if(!M){return false;}if("unload"==K&&Q!==this){J[J.length]=[M,K,V,Q,L];return true;}var Y=M;if(L){if(L===true){Y=Q;}else{Y=L;}}var N=function(Z){return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var X=[M,K,V,N,Y,Q,L];var S=I.length;I[S]=X;if(this.useLegacyEvent(M,K)){var O=this.getLegacyIndex(M,K);if(O==-1||M!=G[O][0]){O=G.length;B[M.id+K]=O;G[O]=[M,K,M["on"+K]];E[O]=[];M["on"+K]=function(Z){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(X);}else{try{this._simpleAdd(M,K,N,false);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}}return true;},fireLegacyEvent:function(O,M){var Q=true,K,S,R,T,P;S=E[M].slice();for(var L=0,N=S.length;L<N;++L){R=S[L];if(R&&R[this.WFN]){T=R[this.ADJ_SCOPE];P=R[this.WFN].call(T,O);Q=(Q&&P);}}K=G[M];if(K&&K[2]){K[2](O);}return Q;},getLegacyIndex:function(L,M){var K=this.generateId(L)+M;if(typeof B[K]=="undefined"){return -1;}else{return B[K];}},useLegacyEvent:function(L,M){if(this.webkit&&("click"==M||"dblclick"==M)){var K=parseInt(this.webkit,10);if(!isNaN(K)&&K<418){return true;}}return false;},removeListener:function(L,K,T){var O,R,V;if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var U=true;for(O=L.length-1;O>-1;O--){U=(this.removeListener(L[O],K,T)&&U);}return U;}}if(!T||!T.call){return this.purgeElement(L,false,K);}if("unload"==K){for(O=J.length-1;O>-1;O--){V=J[O];if(V&&V[0]==L&&V[1]==K&&V[2]==T){J.splice(O,1);return true;}}return false;}var P=null;var Q=arguments[3];if("undefined"===typeof Q){Q=this._getCacheIndex(L,K,T);}if(Q>=0){P=I[Q];}if(!L||!P){return false;}if(this.useLegacyEvent(L,K)){var N=this.getLegacyIndex(L,K);var M=E[N];if(M){for(O=0,R=M.length;O<R;++O){V=M[O];if(V&&V[this.EL]==L&&V[this.TYPE]==K&&V[this.FN]==T){M.splice(O,1);break;}}}}else{try{this._simpleRemove(L,K,P[this.WFN],false);}catch(S){this.lastError=S;return false;}}delete I[Q][this.WFN];delete I[Q][this.FN];I.splice(Q,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;
},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;if(!K){if(L.type=="mouseout"){K=L.toElement;}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in D)){K=D[K];}return K;},_getCacheIndex:function(O,P,N){for(var M=0,L=I.length;M<L;M=M+1){var K=I[M];if(K&&K[this.FN]==N&&K[this.EL]==O&&K[this.TYPE]==P){return M;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+A;++A;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(L){if(!H){H=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var Q=!H;if(!Q){Q=(C>0&&F.length>0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=F.length;L<K;L=L+1){O=F[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(H||N.nextSibling||!Q){M.push(O);F[L]=null;}}else{R(N,O);F[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}C--;if(Q){for(L=F.length-1;L>-1;L--){O=F[L];if(!O||!O.id){F.splice(L,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[I,J];}else{if(K==="unload"){L=[J];}else{L=[I];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(Q){var K=YAHOO.util.Event,N,M,L,P,O,R=J.slice();for(N=0,P=J.length;N<P;++N){L=R[N];if(L){var S=window;if(L[K.ADJ_SCOPE]){if(L[K.ADJ_SCOPE]===true){S=L[K.UNLOAD_OBJ];}else{S=L[K.ADJ_SCOPE];}}L[K.FN].call(S,K.getEvent(Q,L[K.EL]),L[K.UNLOAD_OBJ]);R[N]=null;L=null;S=null;}}J=null;if(I){for(M=I.length-1;M>-1;M--){L=I[M];if(L){K.removeListener(L[K.EL],L[K.TYPE],L[K.FN],M);}}L=null;}G=null;K._simpleRemove(window,"unload",K._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;
/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;
if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.5.2",build:"1076"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.5.2", build: "1076"});


/*../vendor/yui_260/build/connection/connection-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,_submitElementValue:null,_hasSubmitListener:(function(){if(YAHOO.util.Event){YAHOO.util.Event.addListener(document,"click",function(B){var A=YAHOO.util.Event.getTarget(B);if(A.nodeName.toLowerCase()=="input"&&(A.type&&A.type.toLowerCase()=="submit")){YAHOO.util.Connect._submitElementValue=encodeURIComponent(A.name)+"="+encodeURIComponent(A.value);}});return true;}return false;})(),startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),uploadEvent:new YAHOO.util.CustomEvent("upload"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(F){var E,A;try{A=new XMLHttpRequest();E={conn:A,tId:F};}catch(D){for(var B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);E={conn:A,tId:F};break;}catch(C){}}}finally{return E;}},getConnectionObject:function(A){var C;var D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={};C.tId=D;C.isUpload=true;}if(C){this._transaction_id++;}}catch(B){}finally{return C;}},asyncRequest:function(F,C,E,A){var D=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var B=(E&&E.argument)?E.argument:null;if(!D){return null;}else{if(E&&E.customevents){this.initCustomEvents(D,E);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(D,E,C,A);return D;}if(F.toUpperCase()=="GET"){if(this._sFormData.length!==0){C+=((C.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(F.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(F.toUpperCase()=="GET"&&(E&&E.cache===false)){C+=((C.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}D.conn.open(F,C,true);if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((F.toUpperCase()==="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(this._has_default_headers||this._has_http_headers){this.setHeader(D);}this.handleReadyState(D,E);D.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(D,B);if(D.startEvent){D.startEvent.fire(D,B);}return D;}},initCustomEvents:function(A,C){var B;for(B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this;var A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(F,G,A){var D,C;var B=(G&&G.argument)?G.argument:null;try{if(F.conn.status!==undefined&&F.conn.status!==0){D=F.conn.status;}else{D=13030;}}catch(E){D=13030;}if(D>=200&&D<300||D===1223){C=this.createResponseObject(F,B);if(G&&G.success){if(!G.scope){G.success(C);}else{G.success.apply(G.scope,[C]);}}this.successEvent.fire(C);if(F.successEvent){F.successEvent.fire(C);}}else{switch(D){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:C=this.createExceptionObject(F.tId,B,(A?A:false));if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}break;default:C=this.createResponseObject(F,B);if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}}this.failureEvent.fire(C);if(F.failureEvent){F.failureEvent.fire(C);}}this.releaseObject(F);C=null;},createResponseObject:function(A,G){var D={};var I={};try{var C=A.conn.getAllResponseHeaders();var F=C.split("\n");for(var E=0;E<F.length;E++){var B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=F[E].substring(B+2);}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0;var G="communication failure";var C=-1;var B="transaction aborted";var E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;
}},setHeader:function(A){var B;if(this._has_default_headers){for(B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]);}}delete this._http_headers;this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){delete this._default_headers;this._default_headers={};this._has_default_headers=false;},setForm:function(M,H,C){var L,B,K,I,P,J=false,F=[],O=0,E,G,D,N,A;this.resetFormState();if(typeof M=="string"){L=(document.getElementById(M)||document.forms[M]);}else{if(typeof M=="object"){L=M;}else{return ;}}if(H){this.createFrame(C?C:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=L;return ;}for(E=0,G=L.elements.length;E<G;++E){B=L.elements[E];P=B.disabled;K=B.name;if(!P&&K){K=encodeURIComponent(K)+"=";I=encodeURIComponent(B.value);switch(B.type){case"select-one":if(B.selectedIndex>-1){A=B.options[B.selectedIndex];F[O++]=K+encodeURIComponent((A.attributes.value&&A.attributes.value.specified)?A.value:A.text);}break;case"select-multiple":if(B.selectedIndex>-1){for(D=B.selectedIndex,N=B.options.length;D<N;++D){A=B.options[D];if(A.selected){F[O++]=K+encodeURIComponent((A.attributes.value&&A.attributes.value.specified)?A.value:A.text);}}}break;case"radio":case"checkbox":if(B.checked){F[O++]=K+I;}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(J===false){if(this._hasSubmitListener&&this._submitElementValue){F[O++]=this._submitElementValue;}else{F[O++]=K+I;}J=true;}break;default:F[O++]=K+I;}}}this._isFormSubmit=true;this._sFormData=F.join("&");this.initHeader("Content-Type",this._default_form_header);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(A){var B="yuiIO"+this._transaction_id;var C;if(YAHOO.env.ua.ie){C=document.createElement('<iframe id="'+B+'" name="'+B+'" />');if(typeof A=="boolean"){C.src="javascript:false";}}else{C=document.createElement("iframe");C.id=B;C.name=B;}C.style.position="absolute";C.style.top="-1000px";C.style.left="-1000px";document.body.appendChild(C);},appendPostData:function(A){var D=[],B=A.split("&"),C,E;for(C=0;C<B.length;C++){E=B[C].indexOf("=");if(E!=-1){D[C]=document.createElement("input");D[C].type="hidden";D[C].name=decodeURIComponent(B[C].substring(0,E));D[C].value=decodeURIComponent(B[C].substring(E+1));this._formNode.appendChild(D[C]);}}return D;},uploadFile:function(D,N,E,C){var I="yuiIO"+D.tId,J="multipart/form-data",L=document.getElementById(I),O=this,K=(N&&N.argument)?N.argument:null,M,H,B,G;var A={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",E);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",I);if(YAHOO.env.ua.ie){this._formNode.setAttribute("encoding",J);}else{this._formNode.setAttribute("enctype",J);}if(C){M=this.appendPostData(C);}this._formNode.submit();this.startEvent.fire(D,K);if(D.startEvent){D.startEvent.fire(D,K);}if(N&&N.timeout){this._timeOut[D.tId]=window.setTimeout(function(){O.abort(D,N,true);},N.timeout);}if(M&&M.length>0){for(H=0;H<M.length;H++){this._formNode.removeChild(M[H]);}}for(B in A){if(YAHOO.lang.hasOwnProperty(A,B)){if(A[B]){this._formNode.setAttribute(B,A[B]);}else{this._formNode.removeAttribute(B);}}}this.resetFormState();var F=function(){if(N&&N.timeout){window.clearTimeout(O._timeOut[D.tId]);delete O._timeOut[D.tId];}O.completeEvent.fire(D,K);if(D.completeEvent){D.completeEvent.fire(D,K);}G={tId:D.tId,argument:N.argument};try{G.responseText=L.contentWindow.document.body?L.contentWindow.document.body.innerHTML:L.contentWindow.document.documentElement.textContent;G.responseXML=L.contentWindow.document.XMLDocument?L.contentWindow.document.XMLDocument:L.contentWindow.document;}catch(P){}if(N&&N.upload){if(!N.scope){N.upload(G);}else{N.upload.apply(N.scope,[G]);}}O.uploadEvent.fire(G);if(D.uploadEvent){D.uploadEvent.fire(G);}YAHOO.util.Event.removeListener(L,"load",F);setTimeout(function(){document.body.removeChild(L);O.releaseObject(D);},100);};YAHOO.util.Event.addListener(L,"load",F);},abort:function(E,G,A){var D;var B=(G&&G.argument)?G.argument:null;if(E&&E.conn){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E&&E.isUpload===true){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(B){if(B&&B.conn){return B.conn.readyState!==4&&B.conn.readyState!==0;}else{if(B&&B.isUpload===true){var A="yuiIO"+B.tId;return document.getElementById(A)?true:false;}else{return false;}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.6.0",build:"1321"});

/*../vendor/yui_260/build/datasource/datasource-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
(function(){var lang=YAHOO.lang,util=YAHOO.util,Ev=util.Event;util.DataSourceBase=function(oLiveData,oConfigs){if(oLiveData===null||oLiveData===undefined){return ;}this.liveData=oLiveData;this._oQueue={interval:null,conn:null,requests:[]};this.responseSchema={};if(oConfigs&&(oConfigs.constructor==Object)){for(var sConfig in oConfigs){if(sConfig){this[sConfig]=oConfigs[sConfig];}}}var maxCacheEntries=this.maxCacheEntries;if(!lang.isNumber(maxCacheEntries)||(maxCacheEntries<0)){maxCacheEntries=0;}this._aIntervals=[];this.createEvent("cacheRequestEvent");this.createEvent("cacheResponseEvent");this.createEvent("requestEvent");this.createEvent("responseEvent");this.createEvent("responseParseEvent");this.createEvent("responseCacheEvent");this.createEvent("dataErrorEvent");this.createEvent("cacheFlushEvent");var DS=util.DataSourceBase;this._sName="DataSource instance"+DS._nIndex;DS._nIndex++;};var DS=util.DataSourceBase;lang.augmentObject(DS,{TYPE_UNKNOWN:-1,TYPE_JSARRAY:0,TYPE_JSFUNCTION:1,TYPE_XHR:2,TYPE_JSON:3,TYPE_XML:4,TYPE_TEXT:5,TYPE_HTMLTABLE:6,TYPE_SCRIPTNODE:7,TYPE_LOCAL:8,ERROR_DATAINVALID:"Invalid data",ERROR_DATANULL:"Null data",_nIndex:0,_nTransactionId:0,issueCallback:function(callback,params,error,scope){if(lang.isFunction(callback)){callback.apply(scope,params);}else{if(lang.isObject(callback)){scope=callback.scope||scope||window;var callbackFunc=callback.success;if(error){callbackFunc=callback.failure;}if(callbackFunc){callbackFunc.apply(scope,params.concat([callback.argument]));}}}},parseString:function(oData){if(!lang.isValue(oData)){return null;}var string=oData+"";if(lang.isString(string)){return string;}else{return null;}},parseNumber:function(oData){var number=oData*1;if(lang.isNumber(number)){return number;}else{return null;}},convertNumber:function(oData){return DS.parseNumber(oData);},parseDate:function(oData){var date=null;if(!(oData instanceof Date)){date=new Date(oData);}else{return oData;}if(date instanceof Date){return date;}else{return null;}},convertDate:function(oData){return DS.parseDate(oData);}});DS.Parser={string:DS.parseString,number:DS.parseNumber,date:DS.parseDate};DS.prototype={_sName:null,_aCache:null,_oQueue:null,_aIntervals:null,maxCacheEntries:0,liveData:null,dataType:DS.TYPE_UNKNOWN,responseType:DS.TYPE_UNKNOWN,responseSchema:null,toString:function(){return this._sName;},getCachedResponse:function(oRequest,oCallback,oCaller){var aCache=this._aCache;if(this.maxCacheEntries>0){if(!aCache){this._aCache=[];}else{var nCacheLength=aCache.length;if(nCacheLength>0){var oResponse=null;this.fireEvent("cacheRequestEvent",{request:oRequest,callback:oCallback,caller:oCaller});for(var i=nCacheLength-1;i>=0;i--){var oCacheElem=aCache[i];if(this.isCacheHit(oRequest,oCacheElem.request)){oResponse=oCacheElem.response;this.fireEvent("cacheResponseEvent",{request:oRequest,response:oResponse,callback:oCallback,caller:oCaller});if(i<nCacheLength-1){aCache.splice(i,1);this.addToCache(oRequest,oResponse);}oResponse.cached=true;break;}}return oResponse;}}}else{if(aCache){this._aCache=null;}}return null;},isCacheHit:function(oRequest,oCachedRequest){return(oRequest===oCachedRequest);},addToCache:function(oRequest,oResponse){var aCache=this._aCache;if(!aCache){return ;}while(aCache.length>=this.maxCacheEntries){aCache.shift();}var oCacheElem={request:oRequest,response:oResponse};aCache[aCache.length]=oCacheElem;this.fireEvent("responseCacheEvent",{request:oRequest,response:oResponse});},flushCache:function(){if(this._aCache){this._aCache=[];this.fireEvent("cacheFlushEvent");}},setInterval:function(nMsec,oRequest,oCallback,oCaller){if(lang.isNumber(nMsec)&&(nMsec>=0)){var oSelf=this;var nId=setInterval(function(){oSelf.makeConnection(oRequest,oCallback,oCaller);},nMsec);this._aIntervals.push(nId);return nId;}else{}},clearInterval:function(nId){var tracker=this._aIntervals||[];for(var i=tracker.length-1;i>-1;i--){if(tracker[i]===nId){tracker.splice(i,1);clearInterval(nId);}}},clearAllIntervals:function(){var tracker=this._aIntervals||[];for(var i=tracker.length-1;i>-1;i--){clearInterval(tracker[i]);}tracker=[];},sendRequest:function(oRequest,oCallback,oCaller){var oCachedResponse=this.getCachedResponse(oRequest,oCallback,oCaller);if(oCachedResponse){DS.issueCallback(oCallback,[oRequest,oCachedResponse],false,oCaller);return null;}return this.makeConnection(oRequest,oCallback,oCaller);},makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oRawResponse=this.liveData;this.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);return tId;},handleResponse:function(oRequest,oRawResponse,oCallback,oCaller,tId){this.fireEvent("responseEvent",{tId:tId,request:oRequest,response:oRawResponse,callback:oCallback,caller:oCaller});var xhr=(this.dataType==DS.TYPE_XHR)?true:false;var oParsedResponse=null;var oFullResponse=oRawResponse;if(this.responseType===DS.TYPE_UNKNOWN){var ctype=(oRawResponse&&oRawResponse.getResponseHeader)?oRawResponse.getResponseHeader["Content-Type"]:null;if(ctype){if(ctype.indexOf("text/xml")>-1){this.responseType=DS.TYPE_XML;}else{if(ctype.indexOf("application/json")>-1){this.responseType=DS.TYPE_JSON;}else{if(ctype.indexOf("text/plain")>-1){this.responseType=DS.TYPE_TEXT;}}}}else{if(YAHOO.lang.isArray(oRawResponse)){this.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse&&oRawResponse.nodeType&&oRawResponse.nodeType==9){this.responseType=DS.TYPE_XML;}else{if(oRawResponse&&oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){this.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){this.responseType=DS.TYPE_TEXT;}}}}}}}switch(this.responseType){case DS.TYPE_JSARRAY:if(xhr&&oRawResponse&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseArrayData(oRequest,oFullResponse);
break;case DS.TYPE_JSON:if(xhr&&oRawResponse&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}try{if(lang.isString(oFullResponse)){if(lang.JSON){oFullResponse=lang.JSON.parse(oFullResponse);}else{if(window.JSON&&JSON.parse){oFullResponse=JSON.parse(oFullResponse);}else{if(oFullResponse.parseJSON){oFullResponse=oFullResponse.parseJSON();}else{while(oFullResponse.length>0&&(oFullResponse.charAt(0)!="{")&&(oFullResponse.charAt(0)!="[")){oFullResponse=oFullResponse.substring(1,oFullResponse.length);}if(oFullResponse.length>0){var objEnd=Math.max(oFullResponse.lastIndexOf("]"),oFullResponse.lastIndexOf("}"));oFullResponse=oFullResponse.substring(0,objEnd+1);oFullResponse=eval("("+oFullResponse+")");}}}}}}catch(e){}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseJSONData(oRequest,oFullResponse);break;case DS.TYPE_HTMLTABLE:if(xhr&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseHTMLTableData(oRequest,oFullResponse);break;case DS.TYPE_XML:if(xhr&&oRawResponse.responseXML){oFullResponse=oRawResponse.responseXML;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseXMLData(oRequest,oFullResponse);break;case DS.TYPE_TEXT:if(xhr&&lang.isString(oRawResponse.responseText)){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseTextData(oRequest,oFullResponse);break;default:oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseData(oRequest,oFullResponse);break;}oParsedResponse=oParsedResponse||{};if(!oParsedResponse.results){oParsedResponse.results=[];}if(!oParsedResponse.meta){oParsedResponse.meta={};}if(oParsedResponse&&!oParsedResponse.error){oParsedResponse=this.doBeforeCallback(oRequest,oFullResponse,oParsedResponse,oCallback);this.fireEvent("responseParseEvent",{request:oRequest,response:oParsedResponse,callback:oCallback,caller:oCaller});this.addToCache(oRequest,oParsedResponse);}else{oParsedResponse.error=true;this.fireEvent("dataErrorEvent",{request:oRequest,response:oRawResponse,callback:oCallback,caller:oCaller,message:DS.ERROR_DATANULL});}oParsedResponse.tId=tId;DS.issueCallback(oCallback,[oRequest,oParsedResponse],oParsedResponse.error,oCaller);},doBeforeParseData:function(oRequest,oFullResponse,oCallback){return oFullResponse;},doBeforeCallback:function(oRequest,oFullResponse,oParsedResponse,oCallback){return oParsedResponse;},parseData:function(oRequest,oFullResponse){if(lang.isValue(oFullResponse)){var oParsedResponse={results:oFullResponse,meta:{}};return oParsedResponse;}return null;},parseArrayData:function(oRequest,oFullResponse){if(lang.isArray(oFullResponse)){var results=[],i,j,rec,field,data;if(lang.isArray(this.responseSchema.fields)){var fields=this.responseSchema.fields;for(i=fields.length-1;i>=0;--i){if(typeof fields[i]!=="object"){fields[i]={key:fields[i]};}}var parsers={},p;for(i=fields.length-1;i>=0;--i){p=(typeof fields[i].parser==="function"?fields[i].parser:DS.Parser[fields[i].parser+""])||fields[i].converter;if(p){parsers[fields[i].key]=p;}}var arrType=lang.isArray(oFullResponse[0]);for(i=oFullResponse.length-1;i>-1;i--){var oResult={};rec=oFullResponse[i];if(typeof rec==="object"){for(j=fields.length-1;j>-1;j--){field=fields[j];data=arrType?rec[j]:rec[field.key];if(parsers[field.key]){data=parsers[field.key].call(this,data);}if(data===undefined){data=null;}oResult[field.key]=data;}}else{if(lang.isString(rec)){for(j=fields.length-1;j>-1;j--){field=fields[j];data=rec;if(parsers[field.key]){data=parsers[field.key].call(this,data);}if(data===undefined){data=null;}oResult[field.key]=data;}}}results[i]=oResult;}}else{results=oFullResponse;}var oParsedResponse={results:results};return oParsedResponse;}return null;},parseTextData:function(oRequest,oFullResponse){if(lang.isString(oFullResponse)){if(lang.isString(this.responseSchema.recordDelim)&&lang.isString(this.responseSchema.fieldDelim)){var oParsedResponse={results:[]};var recDelim=this.responseSchema.recordDelim;var fieldDelim=this.responseSchema.fieldDelim;if(oFullResponse.length>0){var newLength=oFullResponse.length-recDelim.length;if(oFullResponse.substr(newLength)==recDelim){oFullResponse=oFullResponse.substr(0,newLength);}if(oFullResponse.length>0){var recordsarray=oFullResponse.split(recDelim);for(var i=0,len=recordsarray.length,recIdx=0;i<len;++i){var bError=false,sRecord=recordsarray[i];if(lang.isString(sRecord)&&(sRecord.length>0)){var fielddataarray=recordsarray[i].split(fieldDelim);var oResult={};if(lang.isArray(this.responseSchema.fields)){var fields=this.responseSchema.fields;for(var j=fields.length-1;j>-1;j--){try{var data=fielddataarray[j];if(lang.isString(data)){if(data.charAt(0)=='"'){data=data.substr(1);}if(data.charAt(data.length-1)=='"'){data=data.substr(0,data.length-1);}var field=fields[j];var key=(lang.isValue(field.key))?field.key:field;if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}else{bError=true;}}catch(e){bError=true;}}}else{oResult=fielddataarray;}if(!bError){oParsedResponse.results[recIdx++]=oResult;}}}}}return oParsedResponse;}}return null;},parseXMLResult:function(result){var oResult={},schema=this.responseSchema;try{for(var m=schema.fields.length-1;m>=0;m--){var field=schema.fields[m];var key=(lang.isValue(field.key))?field.key:field;var data=null;var xmlAttr=result.attributes.getNamedItem(key);if(xmlAttr){data=xmlAttr.value;}else{var xmlNode=result.getElementsByTagName(key);if(xmlNode&&xmlNode.item(0)&&xmlNode.item(0)){data=xmlNode.item(0).firstChild.nodeValue;var item=xmlNode.item(0);data=(item.text)?item.text:(item.textContent)?item.textContent:null;
if(!data){var datapieces=[];for(var j=0,len=item.childNodes.length;j<len;j++){if(item.childNodes[j].nodeValue){datapieces[datapieces.length]=item.childNodes[j].nodeValue;}}if(datapieces.length>0){data=datapieces.join("");}}}}if(data===null){data="";}if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}}catch(e){}return oResult;},parseXMLData:function(oRequest,oFullResponse){var bError=false,schema=this.responseSchema,oParsedResponse={meta:{}},xmlList=null,metaNode=schema.metaNode,metaLocators=schema.metaFields||{},i,k,loc,v;try{xmlList=(schema.resultNode)?oFullResponse.getElementsByTagName(schema.resultNode):null;metaNode=metaNode?oFullResponse.getElementsByTagName(metaNode)[0]:oFullResponse;if(metaNode){for(k in metaLocators){if(lang.hasOwnProperty(metaLocators,k)){loc=metaLocators[k];v=metaNode.getElementsByTagName(loc)[0];if(v){v=v.firstChild.nodeValue;}else{v=metaNode.attributes.getNamedItem(loc);if(v){v=v.value;}}if(lang.isValue(v)){oParsedResponse.meta[k]=v;}}}}}catch(e){}if(!xmlList||!lang.isArray(schema.fields)){bError=true;}else{oParsedResponse.results=[];for(i=xmlList.length-1;i>=0;--i){var oResult=this.parseXMLResult(xmlList.item(i));oParsedResponse.results[i]=oResult;}}if(bError){oParsedResponse.error=true;}else{}return oParsedResponse;},parseJSONData:function(oRequest,oFullResponse){var oParsedResponse={results:[],meta:{}};if(lang.isObject(oFullResponse)&&this.responseSchema.resultsList){var schema=this.responseSchema,fields=schema.fields,resultsList=oFullResponse,results=[],metaFields=schema.metaFields||{},fieldParsers=[],fieldPaths=[],simpleFields=[],bError=false,i,len,j,v,key,parser,path;var buildPath=function(needle){var path=null,keys=[],i=0;if(needle){needle=needle.replace(/\[(['"])(.*?)\1\]/g,function(x,$1,$2){keys[i]=$2;return".@"+(i++);}).replace(/\[(\d+)\]/g,function(x,$1){keys[i]=parseInt($1,10)|0;return".@"+(i++);}).replace(/^\./,"");if(!/[^\w\.\$@]/.test(needle)){path=needle.split(".");for(i=path.length-1;i>=0;--i){if(path[i].charAt(0)==="@"){path[i]=keys[parseInt(path[i].substr(1),10)];}}}else{}}return path;};var walkPath=function(path,origin){var v=origin,i=0,len=path.length;for(;i<len&&v;++i){v=v[path[i]];}return v;};path=buildPath(schema.resultsList);if(path){resultsList=walkPath(path,oFullResponse);if(resultsList===undefined){bError=true;}}else{bError=true;}if(!resultsList){resultsList=[];}if(!lang.isArray(resultsList)){resultsList=[resultsList];}if(!bError){if(schema.fields){var field;for(i=0,len=fields.length;i<len;i++){field=fields[i];key=field.key||field;parser=((typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""])||field.converter;path=buildPath(key);if(parser){fieldParsers[fieldParsers.length]={key:key,parser:parser};}if(path){if(path.length>1){fieldPaths[fieldPaths.length]={key:key,path:path};}else{simpleFields[simpleFields.length]={key:key,path:path[0]};}}else{}}for(i=resultsList.length-1;i>=0;--i){var r=resultsList[i],rec={};for(j=simpleFields.length-1;j>=0;--j){rec[simpleFields[j].key]=(r[simpleFields[j].path]!==undefined)?r[simpleFields[j].path]:r[j];}for(j=fieldPaths.length-1;j>=0;--j){rec[fieldPaths[j].key]=walkPath(fieldPaths[j].path,r);}for(j=fieldParsers.length-1;j>=0;--j){var p=fieldParsers[j].key;rec[p]=fieldParsers[j].parser(rec[p]);if(rec[p]===undefined){rec[p]=null;}}results[i]=rec;}}else{results=resultsList;}for(key in metaFields){if(lang.hasOwnProperty(metaFields,key)){path=buildPath(metaFields[key]);if(path){v=walkPath(path,oFullResponse);oParsedResponse.meta[key]=v;}}}}else{oParsedResponse.error=true;}oParsedResponse.results=results;}else{oParsedResponse.error=true;}return oParsedResponse;},parseHTMLTableData:function(oRequest,oFullResponse){var bError=false;var elTable=oFullResponse;var fields=this.responseSchema.fields;var oParsedResponse={results:[]};for(var i=0;i<elTable.tBodies.length;i++){var elTbody=elTable.tBodies[i];for(var j=elTbody.rows.length-1;j>-1;j--){var elRow=elTbody.rows[j];var oResult={};for(var k=fields.length-1;k>-1;k--){var field=fields[k];var key=(lang.isValue(field.key))?field.key:field;var data=elRow.cells[k].innerHTML;if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}oParsedResponse.results[j]=oResult;}}if(bError){oParsedResponse.error=true;}else{}return oParsedResponse;}};lang.augmentProto(DS,util.EventProvider);util.LocalDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_LOCAL;if(oLiveData){if(YAHOO.lang.isArray(oLiveData)){this.responseType=DS.TYPE_JSARRAY;}else{if(oLiveData.nodeType&&oLiveData.nodeType==9){this.responseType=DS.TYPE_XML;}else{if(oLiveData.nodeName&&(oLiveData.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;oLiveData=oLiveData.cloneNode(true);}else{if(YAHOO.lang.isString(oLiveData)){this.responseType=DS.TYPE_TEXT;}else{if(YAHOO.lang.isObject(oLiveData)){this.responseType=DS.TYPE_JSON;}}}}}}else{oLiveData=[];this.responseType=DS.TYPE_JSARRAY;}this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.LocalDataSource,DS);lang.augmentObject(util.LocalDataSource,DS);util.FunctionDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_JSFUNCTION;oLiveData=oLiveData||function(){};this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.FunctionDataSource,DS,{makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oRawResponse=this.liveData(oRequest);if(this.responseType===DS.TYPE_UNKNOWN){if(YAHOO.lang.isArray(oRawResponse)){this.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse&&oRawResponse.nodeType&&oRawResponse.nodeType==9){this.responseType=DS.TYPE_XML;
}else{if(oRawResponse&&oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){this.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){this.responseType=DS.TYPE_TEXT;}}}}}}this.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);return tId;}});lang.augmentObject(util.FunctionDataSource,DS);util.ScriptNodeDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_SCRIPTNODE;oLiveData=oLiveData||"";this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.ScriptNodeDataSource,DS,{getUtility:util.Get,asyncMode:"allowAll",scriptCallbackParam:"callback",generateRequestCallback:function(id){return"&"+this.scriptCallbackParam+"=YAHOO.util.ScriptNodeDataSource.callbacks["+id+"]";},makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});if(util.ScriptNodeDataSource._nPending===0){util.ScriptNodeDataSource.callbacks=[];util.ScriptNodeDataSource._nId=0;}var id=util.ScriptNodeDataSource._nId;util.ScriptNodeDataSource._nId++;var oSelf=this;util.ScriptNodeDataSource.callbacks[id]=function(oRawResponse){if((oSelf.asyncMode!=="ignoreStaleResponses")||(id===util.ScriptNodeDataSource.callbacks.length-1)){if(oSelf.responseType===DS.TYPE_UNKNOWN){if(YAHOO.lang.isArray(oRawResponse)){oSelf.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse.nodeType&&oRawResponse.nodeType==9){oSelf.responseType=DS.TYPE_XML;}else{if(oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){oSelf.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){oSelf.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){oSelf.responseType=DS.TYPE_TEXT;}}}}}}oSelf.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);}else{}delete util.ScriptNodeDataSource.callbacks[id];};util.ScriptNodeDataSource._nPending++;var sUri=this.liveData+oRequest+this.generateRequestCallback(id);this.getUtility.script(sUri,{autopurge:true,onsuccess:util.ScriptNodeDataSource._bumpPendingDown,onfail:util.ScriptNodeDataSource._bumpPendingDown});return tId;}});lang.augmentObject(util.ScriptNodeDataSource,DS);lang.augmentObject(util.ScriptNodeDataSource,{_nId:0,_nPending:0,callbacks:[]});util.XHRDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_XHR;this.connMgr=this.connMgr||util.Connect;oLiveData=oLiveData||"";this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.XHRDataSource,DS,{connMgr:null,connXhrMode:"allowAll",connMethodPost:false,connTimeout:0,makeConnection:function(oRequest,oCallback,oCaller){var oRawResponse=null;var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oSelf=this;var oConnMgr=this.connMgr;var oQueue=this._oQueue;var _xhrSuccess=function(oResponse){if(oResponse&&(this.asyncMode=="ignoreStaleResponses")&&(oResponse.tId!=oQueue.conn.tId)){return null;}else{if(!oResponse){this.fireEvent("dataErrorEvent",{request:oRequest,callback:oCallback,caller:oCaller,message:DS.ERROR_DATANULL});DS.issueCallback(oCallback,[oRequest,{error:true}],true,oCaller);return null;}else{if(this.responseType===DS.TYPE_UNKNOWN){var ctype=(oResponse.getResponseHeader)?oResponse.getResponseHeader["Content-Type"]:null;if(ctype){if(ctype.indexOf("text/xml")>-1){this.responseType=DS.TYPE_XML;}else{if(ctype.indexOf("application/json")>-1){this.responseType=DS.TYPE_JSON;}else{if(ctype.indexOf("text/plain")>-1){this.responseType=DS.TYPE_TEXT;}}}}}this.handleResponse(oRequest,oResponse,oCallback,oCaller,tId);}}};var _xhrFailure=function(oResponse){this.fireEvent("dataErrorEvent",{request:oRequest,callback:oCallback,caller:oCaller,message:DS.ERROR_DATAINVALID});if(lang.isString(this.liveData)&&lang.isString(oRequest)&&(this.liveData.lastIndexOf("?")!==this.liveData.length-1)&&(oRequest.indexOf("?")!==0)){}oResponse=oResponse||{};oResponse.error=true;DS.issueCallback(oCallback,[oRequest,oResponse],true,oCaller);return null;};var _xhrCallback={success:_xhrSuccess,failure:_xhrFailure,scope:this};if(lang.isNumber(this.connTimeout)){_xhrCallback.timeout=this.connTimeout;}if(this.connXhrMode=="cancelStaleRequests"){if(oQueue.conn){if(oConnMgr.abort){oConnMgr.abort(oQueue.conn);oQueue.conn=null;}else{}}}if(oConnMgr&&oConnMgr.asyncRequest){var sLiveData=this.liveData;var isPost=this.connMethodPost;var sMethod=(isPost)?"POST":"GET";var sUri=(isPost||!lang.isValue(oRequest))?sLiveData:sLiveData+oRequest;var sRequest=(isPost)?oRequest:null;if(this.connXhrMode!="queueRequests"){oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,_xhrCallback,sRequest);}else{if(oQueue.conn){var allRequests=oQueue.requests;allRequests.push({request:oRequest,callback:_xhrCallback});if(!oQueue.interval){oQueue.interval=setInterval(function(){if(oConnMgr.isCallInProgress(oQueue.conn)){return ;}else{if(allRequests.length>0){sUri=(isPost||!lang.isValue(allRequests[0].request))?sLiveData:sLiveData+allRequests[0].request;sRequest=(isPost)?allRequests[0].request:null;oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,allRequests[0].callback,sRequest);allRequests.shift();}else{clearInterval(oQueue.interval);oQueue.interval=null;}}},50);}}else{oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,_xhrCallback,sRequest);}}}else{DS.issueCallback(oCallback,[oRequest,{error:true}],true,oCaller);}return tId;}});lang.augmentObject(util.XHRDataSource,DS);util.DataSource=function(oLiveData,oConfigs){oConfigs=oConfigs||{};var dataType=oConfigs.dataType;if(dataType){if(dataType==DS.TYPE_LOCAL){lang.augmentObject(util.DataSource,util.LocalDataSource);return new util.LocalDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_XHR){lang.augmentObject(util.DataSource,util.XHRDataSource);return new util.XHRDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_SCRIPTNODE){lang.augmentObject(util.DataSource,util.ScriptNodeDataSource);
return new util.ScriptNodeDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_JSFUNCTION){lang.augmentObject(util.DataSource,util.FunctionDataSource);return new util.FunctionDataSource(oLiveData,oConfigs);}}}}}if(YAHOO.lang.isString(oLiveData)){lang.augmentObject(util.DataSource,util.XHRDataSource);return new util.XHRDataSource(oLiveData,oConfigs);}else{if(YAHOO.lang.isFunction(oLiveData)){lang.augmentObject(util.DataSource,util.FunctionDataSource);return new util.FunctionDataSource(oLiveData,oConfigs);}else{lang.augmentObject(util.DataSource,util.LocalDataSource);return new util.LocalDataSource(oLiveData,oConfigs);}}};lang.augmentObject(util.DataSource,DS);})();YAHOO.util.Number={format:function(B,F){F=F||{};if(!YAHOO.lang.isNumber(B)){B*=1;}if(YAHOO.lang.isNumber(B)){var D=(B<0);var J=B+"";var G=(F.decimalSeparator)?F.decimalSeparator:".";var H;if(YAHOO.lang.isNumber(F.decimalPlaces)){var I=F.decimalPlaces;var C=Math.pow(10,I);J=Math.round(B*C)/C+"";H=J.lastIndexOf(".");if(I>0){if(H<0){J+=G;H=J.length-1;}else{if(G!=="."){J=J.replace(".",G);}}while((J.length-1-H)<I){J+="0";}}}if(F.thousandsSeparator){var L=F.thousandsSeparator;H=J.lastIndexOf(G);H=(H>-1)?H:J.length;var K=J.substring(H);var A=-1;for(var E=H;E>0;E--){A++;if((A%3===0)&&(E!==H)&&(!D||(E>1))){K=L+K;}K=J.charAt(E-1)+K;}J=K;}J=(F.prefix)?F.prefix+J:J;J=(F.suffix)?J+F.suffix:J;return J;}else{return B;}}};(function(){var A=function(C,E,D){if(typeof D==="undefined"){D=10;}for(;parseInt(C,10)<D&&D>1;D/=10){C=E.toString()+C;}return C.toString();};var B={formats:{a:function(D,C){return C.a[D.getDay()];},A:function(D,C){return C.A[D.getDay()];},b:function(D,C){return C.b[D.getMonth()];},B:function(D,C){return C.B[D.getMonth()];},C:function(C){return A(parseInt(C.getFullYear()/100,10),0);},d:["getDate","0"],e:["getDate"," "],g:function(C){return A(parseInt(B.formats.G(C)%100,10),0);},G:function(E){var F=E.getFullYear();var D=parseInt(B.formats.V(E),10);var C=parseInt(B.formats.W(E),10);if(C>D){F++;}else{if(C===0&&D>=52){F--;}}return F;},H:["getHours","0"],I:function(D){var C=D.getHours()%12;return A(C===0?12:C,0);},j:function(G){var F=new Date(""+G.getFullYear()+"/1/1 GMT");var D=new Date(""+G.getFullYear()+"/"+(G.getMonth()+1)+"/"+G.getDate()+" GMT");var C=D-F;var E=parseInt(C/60000/60/24,10)+1;return A(E,0,100);},k:["getHours"," "],l:function(D){var C=D.getHours()%12;return A(C===0?12:C," ");},m:function(C){return A(C.getMonth()+1,0);},M:["getMinutes","0"],p:function(D,C){return C.p[D.getHours()>=12?1:0];},P:function(D,C){return C.P[D.getHours()>=12?1:0];},s:function(D,C){return parseInt(D.getTime()/1000,10);},S:["getSeconds","0"],u:function(C){var D=C.getDay();return D===0?7:D;},U:function(F){var C=parseInt(B.formats.j(F),10);var E=6-F.getDay();var D=parseInt((C+E)/7,10);return A(D,0);},V:function(F){var E=parseInt(B.formats.W(F),10);var C=(new Date(""+F.getFullYear()+"/1/1")).getDay();var D=E+(C>4||C<=1?0:1);if(D===53&&(new Date(""+F.getFullYear()+"/12/31")).getDay()<4){D=1;}else{if(D===0){D=B.formats.V(new Date(""+(F.getFullYear()-1)+"/12/31"));}}return A(D,0);},w:"getDay",W:function(F){var C=parseInt(B.formats.j(F),10);var E=7-B.formats.u(F);var D=parseInt((C+E)/7,10);return A(D,0,10);},y:function(C){return A(C.getFullYear()%100,0);},Y:"getFullYear",z:function(E){var D=E.getTimezoneOffset();var C=A(parseInt(Math.abs(D/60),10),0);var F=A(Math.abs(D%60),0);return(D>0?"-":"+")+C+F;},Z:function(C){var D=C.toString().replace(/^.*:\d\d( GMT[+-]\d+)? \(?([A-Za-z ]+)\)?\d*$/,"$2").replace(/[a-z ]/g,"");if(D.length>4){D=B.formats.z(C);}return D;},"%":function(C){return"%";}},aggregates:{c:"locale",D:"%m/%d/%y",F:"%Y-%m-%d",h:"%b",n:"\n",r:"locale",R:"%H:%M",t:"\t",T:"%H:%M:%S",x:"locale",X:"locale"},format:function(G,F,D){F=F||{};if(!(G instanceof Date)){return YAHOO.lang.isValue(G)?G:"";}var H=F.format||"%m/%d/%Y";if(H==="YYYY/MM/DD"){H="%Y/%m/%d";}else{if(H==="DD/MM/YYYY"){H="%d/%m/%Y";}else{if(H==="MM/DD/YYYY"){H="%m/%d/%Y";}}}D=D||"en";if(!(D in YAHOO.util.DateLocale)){if(D.replace(/-[a-zA-Z]+$/,"") in YAHOO.util.DateLocale){D=D.replace(/-[a-zA-Z]+$/,"");}else{D="en";}}var J=YAHOO.util.DateLocale[D];var C=function(L,K){var M=B.aggregates[K];return(M==="locale"?J[K]:M);};var E=function(L,K){var M=B.formats[K];if(typeof M==="string"){return G[M]();}else{if(typeof M==="function"){return M.call(G,G,J);}else{if(typeof M==="object"&&typeof M[0]==="string"){return A(G[M[0]](),M[1]);}else{return K;}}}};while(H.match(/%[cDFhnrRtTxX]/)){H=H.replace(/%([cDFhnrRtTxX])/g,C);}var I=H.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g,E);C=E=undefined;return I;}};YAHOO.namespace("YAHOO.util");YAHOO.util.Date=B;YAHOO.util.DateLocale={a:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],A:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],B:["January","February","March","April","May","June","July","August","September","October","November","December"],c:"%a %d %b %Y %T %Z",p:["AM","PM"],P:["am","pm"],r:"%I:%M:%S %p",x:"%d/%m/%y",X:"%T"};YAHOO.util.DateLocale["en"]=YAHOO.lang.merge(YAHOO.util.DateLocale,{});YAHOO.util.DateLocale["en-US"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"],{c:"%a %d %b %Y %I:%M:%S %p %Z",x:"%m/%d/%Y",X:"%I:%M:%S %p"});YAHOO.util.DateLocale["en-GB"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"],{r:"%l:%M:%S %P %Z"});YAHOO.util.DateLocale["en-AU"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"]);})();YAHOO.register("datasource",YAHOO.util.DataSource,{version:"2.6.0",build:"1321"});

/*../vendor/yui_260/build/autocomplete/autocomplete-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
YAHOO.widget.DS_JSArray=YAHOO.util.LocalDataSource;YAHOO.widget.DS_JSFunction=YAHOO.util.FunctionDataSource;YAHOO.widget.DS_XHR=function(B,A,D){var C=new YAHOO.util.XHRDataSource(B,D);C._aDeprecatedSchema=A;return C;};YAHOO.widget.DS_ScriptNode=function(B,A,D){var C=new YAHOO.util.ScriptNodeDataSource(B,D);C._aDeprecatedSchema=A;return C;};YAHOO.widget.DS_XHR.TYPE_JSON=YAHOO.util.DataSourceBase.TYPE_JSON;YAHOO.widget.DS_XHR.TYPE_XML=YAHOO.util.DataSourceBase.TYPE_XML;YAHOO.widget.DS_XHR.TYPE_FLAT=YAHOO.util.DataSourceBase.TYPE_TEXT;YAHOO.widget.AutoComplete=function(G,B,J,C){if(G&&B&&J){if(J instanceof YAHOO.util.DataSourceBase){this.dataSource=J;}else{return ;}this.key=0;var D=J.responseSchema;if(J._aDeprecatedSchema){var K=J._aDeprecatedSchema;if(YAHOO.lang.isArray(K)){if((J.responseType===YAHOO.util.DataSourceBase.TYPE_JSON)||(J.responseType===YAHOO.util.DataSourceBase.TYPE_UNKNOWN)){D.resultsList=K[0];this.key=K[1];D.fields=(K.length<3)?null:K.slice(1);}else{if(J.responseType===YAHOO.util.DataSourceBase.TYPE_XML){D.resultNode=K[0];this.key=K[1];D.fields=K.slice(1);}else{if(J.responseType===YAHOO.util.DataSourceBase.TYPE_TEXT){D.recordDelim=K[0];D.fieldDelim=K[1];}}}J.responseSchema=D;}}if(YAHOO.util.Dom.inDocument(G)){if(YAHOO.lang.isString(G)){this._sName="instance"+YAHOO.widget.AutoComplete._nIndex+" "+G;this._elTextbox=document.getElementById(G);}else{this._sName=(G.id)?"instance"+YAHOO.widget.AutoComplete._nIndex+" "+G.id:"instance"+YAHOO.widget.AutoComplete._nIndex;this._elTextbox=G;}YAHOO.util.Dom.addClass(this._elTextbox,"yui-ac-input");}else{return ;}if(YAHOO.util.Dom.inDocument(B)){if(YAHOO.lang.isString(B)){this._elContainer=document.getElementById(B);}else{this._elContainer=B;}if(this._elContainer.style.display=="none"){}var E=this._elContainer.parentNode;var A=E.tagName.toLowerCase();if(A=="div"){YAHOO.util.Dom.addClass(E,"yui-ac");}else{}}else{return ;}if(this.dataSource.dataType===YAHOO.util.DataSourceBase.TYPE_LOCAL){this.applyLocalFilter=true;}if(C&&(C.constructor==Object)){for(var I in C){if(I){this[I]=C[I];}}}this._initContainerEl();this._initProps();this._initListEl();this._initContainerHelperEls();var H=this;var F=this._elTextbox;YAHOO.util.Event.addListener(F,"keyup",H._onTextboxKeyUp,H);YAHOO.util.Event.addListener(F,"keydown",H._onTextboxKeyDown,H);YAHOO.util.Event.addListener(F,"focus",H._onTextboxFocus,H);YAHOO.util.Event.addListener(F,"blur",H._onTextboxBlur,H);YAHOO.util.Event.addListener(B,"mouseover",H._onContainerMouseover,H);YAHOO.util.Event.addListener(B,"mouseout",H._onContainerMouseout,H);YAHOO.util.Event.addListener(B,"click",H._onContainerClick,H);YAHOO.util.Event.addListener(B,"scroll",H._onContainerScroll,H);YAHOO.util.Event.addListener(B,"resize",H._onContainerResize,H);YAHOO.util.Event.addListener(F,"keypress",H._onTextboxKeyPress,H);YAHOO.util.Event.addListener(window,"unload",H._onWindowUnload,H);this.textboxFocusEvent=new YAHOO.util.CustomEvent("textboxFocus",this);this.textboxKeyEvent=new YAHOO.util.CustomEvent("textboxKey",this);this.dataRequestEvent=new YAHOO.util.CustomEvent("dataRequest",this);this.dataReturnEvent=new YAHOO.util.CustomEvent("dataReturn",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError",this);this.containerPopulateEvent=new YAHOO.util.CustomEvent("containerPopulate",this);this.containerExpandEvent=new YAHOO.util.CustomEvent("containerExpand",this);this.typeAheadEvent=new YAHOO.util.CustomEvent("typeAhead",this);this.itemMouseOverEvent=new YAHOO.util.CustomEvent("itemMouseOver",this);this.itemMouseOutEvent=new YAHOO.util.CustomEvent("itemMouseOut",this);this.itemArrowToEvent=new YAHOO.util.CustomEvent("itemArrowTo",this);this.itemArrowFromEvent=new YAHOO.util.CustomEvent("itemArrowFrom",this);this.itemSelectEvent=new YAHOO.util.CustomEvent("itemSelect",this);this.unmatchedItemSelectEvent=new YAHOO.util.CustomEvent("unmatchedItemSelect",this);this.selectionEnforceEvent=new YAHOO.util.CustomEvent("selectionEnforce",this);this.containerCollapseEvent=new YAHOO.util.CustomEvent("containerCollapse",this);this.textboxBlurEvent=new YAHOO.util.CustomEvent("textboxBlur",this);this.textboxChangeEvent=new YAHOO.util.CustomEvent("textboxChange",this);F.setAttribute("autocomplete","off");YAHOO.widget.AutoComplete._nIndex++;}else{}};YAHOO.widget.AutoComplete.prototype.dataSource=null;YAHOO.widget.AutoComplete.prototype.applyLocalFilter=null;YAHOO.widget.AutoComplete.prototype.queryMatchCase=false;YAHOO.widget.AutoComplete.prototype.queryMatchContains=false;YAHOO.widget.AutoComplete.prototype.queryMatchSubset=false;YAHOO.widget.AutoComplete.prototype.minQueryLength=1;YAHOO.widget.AutoComplete.prototype.maxResultsDisplayed=10;YAHOO.widget.AutoComplete.prototype.queryDelay=0.2;YAHOO.widget.AutoComplete.prototype.typeAheadDelay=0.5;YAHOO.widget.AutoComplete.prototype.queryInterval=500;YAHOO.widget.AutoComplete.prototype.highlightClassName="yui-ac-highlight";YAHOO.widget.AutoComplete.prototype.prehighlightClassName=null;YAHOO.widget.AutoComplete.prototype.delimChar=null;YAHOO.widget.AutoComplete.prototype.autoHighlight=true;YAHOO.widget.AutoComplete.prototype.typeAhead=false;YAHOO.widget.AutoComplete.prototype.animHoriz=false;YAHOO.widget.AutoComplete.prototype.animVert=true;YAHOO.widget.AutoComplete.prototype.animSpeed=0.3;YAHOO.widget.AutoComplete.prototype.forceSelection=false;YAHOO.widget.AutoComplete.prototype.allowBrowserAutocomplete=true;YAHOO.widget.AutoComplete.prototype.alwaysShowContainer=false;YAHOO.widget.AutoComplete.prototype.useIFrame=false;YAHOO.widget.AutoComplete.prototype.useShadow=false;YAHOO.widget.AutoComplete.prototype.suppressInputUpdate=false;YAHOO.widget.AutoComplete.prototype.resultTypeList=true;YAHOO.widget.AutoComplete.prototype.queryQuestionMark=true;YAHOO.widget.AutoComplete.prototype.toString=function(){return"AutoComplete "+this._sName;};YAHOO.widget.AutoComplete.prototype.getInputEl=function(){return this._elTextbox;};YAHOO.widget.AutoComplete.prototype.getContainerEl=function(){return this._elContainer;
};YAHOO.widget.AutoComplete.prototype.isFocused=function(){return(this._bFocused===null)?false:this._bFocused;};YAHOO.widget.AutoComplete.prototype.isContainerOpen=function(){return this._bContainerOpen;};YAHOO.widget.AutoComplete.prototype.getListEl=function(){return this._elList;};YAHOO.widget.AutoComplete.prototype.getListItemMatch=function(A){if(A._sResultMatch){return A._sResultMatch;}else{return null;}};YAHOO.widget.AutoComplete.prototype.getListItemData=function(A){if(A._oResultData){return A._oResultData;}else{return null;}};YAHOO.widget.AutoComplete.prototype.getListItemIndex=function(A){if(YAHOO.lang.isNumber(A._nItemIndex)){return A._nItemIndex;}else{return null;}};YAHOO.widget.AutoComplete.prototype.setHeader=function(B){if(this._elHeader){var A=this._elHeader;if(B){A.innerHTML=B;A.style.display="block";}else{A.innerHTML="";A.style.display="none";}}};YAHOO.widget.AutoComplete.prototype.setFooter=function(B){if(this._elFooter){var A=this._elFooter;if(B){A.innerHTML=B;A.style.display="block";}else{A.innerHTML="";A.style.display="none";}}};YAHOO.widget.AutoComplete.prototype.setBody=function(A){if(this._elBody){var B=this._elBody;YAHOO.util.Event.purgeElement(B,true);if(A){B.innerHTML=A;B.style.display="block";}else{B.innerHTML="";B.style.display="none";}this._elList=null;}};YAHOO.widget.AutoComplete.prototype.generateRequest=function(B){var A=this.dataSource.dataType;if(A===YAHOO.util.DataSourceBase.TYPE_XHR){if(!this.dataSource.connMethodPost){B=(this.queryQuestionMark?"?":"")+(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}else{B=(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}}else{if(A===YAHOO.util.DataSourceBase.TYPE_SCRIPTNODE){B="&"+(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}}return B;};YAHOO.widget.AutoComplete.prototype.sendQuery=function(B){var A=(this.delimChar)?this._elTextbox.value+B:B;this._sendQuery(A);};YAHOO.widget.AutoComplete.prototype.collapseContainer=function(){this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype.getSubsetMatches=function(E){var D,C,A;for(var B=E.length;B>=this.minQueryLength;B--){A=this.generateRequest(E.substr(0,B));this.dataRequestEvent.fire(this,D,A);C=this.dataSource.getCachedResponse(A);if(C){return this.filterResults.apply(this.dataSource,[E,C,C,{scope:this}]);}}return null;};YAHOO.widget.AutoComplete.prototype.preparseRawResponse=function(C,B,A){var D=((this.responseStripAfter!=="")&&(B.indexOf))?B.indexOf(this.responseStripAfter):-1;if(D!=-1){B=B.substring(0,D);}return B;};YAHOO.widget.AutoComplete.prototype.filterResults=function(J,L,P,K){if(J&&J!==""){P=YAHOO.widget.AutoComplete._cloneObject(P);var H=K.scope,O=this,B=P.results,M=[],D=false,I=(O.queryMatchCase||H.queryMatchCase),A=(O.queryMatchContains||H.queryMatchContains);for(var C=B.length-1;C>=0;C--){var F=B[C];var E=null;if(YAHOO.lang.isString(F)){E=F;}else{if(YAHOO.lang.isArray(F)){E=F[0];}else{if(this.responseSchema.fields){var N=this.responseSchema.fields[0].key||this.responseSchema.fields[0];E=F[N];}else{if(this.key){E=F[this.key];}}}}if(YAHOO.lang.isString(E)){var G=(I)?E.indexOf(decodeURIComponent(J)):E.toLowerCase().indexOf(decodeURIComponent(J).toLowerCase());if((!A&&(G===0))||(A&&(G>-1))){M.unshift(F);}}}P.results=M;}else{}return P;};YAHOO.widget.AutoComplete.prototype.handleResponse=function(C,A,B){if((this instanceof YAHOO.widget.AutoComplete)&&this._sName){this._populateList(C,A,B);}};YAHOO.widget.AutoComplete.prototype.doBeforeLoadData=function(C,A,B){return true;};YAHOO.widget.AutoComplete.prototype.formatResult=function(B,D,A){var C=(A)?A:"";return C;};YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer=function(D,A,C,B){return true;};YAHOO.widget.AutoComplete.prototype.destroy=function(){var B=this.toString();var A=this._elTextbox;var D=this._elContainer;this.textboxFocusEvent.unsubscribeAll();this.textboxKeyEvent.unsubscribeAll();this.dataRequestEvent.unsubscribeAll();this.dataReturnEvent.unsubscribeAll();this.dataErrorEvent.unsubscribeAll();this.containerPopulateEvent.unsubscribeAll();this.containerExpandEvent.unsubscribeAll();this.typeAheadEvent.unsubscribeAll();this.itemMouseOverEvent.unsubscribeAll();this.itemMouseOutEvent.unsubscribeAll();this.itemArrowToEvent.unsubscribeAll();this.itemArrowFromEvent.unsubscribeAll();this.itemSelectEvent.unsubscribeAll();this.unmatchedItemSelectEvent.unsubscribeAll();this.selectionEnforceEvent.unsubscribeAll();this.containerCollapseEvent.unsubscribeAll();this.textboxBlurEvent.unsubscribeAll();this.textboxChangeEvent.unsubscribeAll();YAHOO.util.Event.purgeElement(A,true);YAHOO.util.Event.purgeElement(D,true);D.innerHTML="";for(var C in this){if(YAHOO.lang.hasOwnProperty(this,C)){this[C]=null;}}};YAHOO.widget.AutoComplete.prototype.textboxFocusEvent=null;YAHOO.widget.AutoComplete.prototype.textboxKeyEvent=null;YAHOO.widget.AutoComplete.prototype.dataRequestEvent=null;YAHOO.widget.AutoComplete.prototype.dataReturnEvent=null;YAHOO.widget.AutoComplete.prototype.dataErrorEvent=null;YAHOO.widget.AutoComplete.prototype.containerPopulateEvent=null;YAHOO.widget.AutoComplete.prototype.containerExpandEvent=null;YAHOO.widget.AutoComplete.prototype.typeAheadEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOverEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOutEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowToEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowFromEvent=null;YAHOO.widget.AutoComplete.prototype.itemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.unmatchedItemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.selectionEnforceEvent=null;YAHOO.widget.AutoComplete.prototype.containerCollapseEvent=null;YAHOO.widget.AutoComplete.prototype.textboxBlurEvent=null;YAHOO.widget.AutoComplete.prototype.textboxChangeEvent=null;YAHOO.widget.AutoComplete._nIndex=0;
YAHOO.widget.AutoComplete.prototype._sName=null;YAHOO.widget.AutoComplete.prototype._elTextbox=null;YAHOO.widget.AutoComplete.prototype._elContainer=null;YAHOO.widget.AutoComplete.prototype._elContent=null;YAHOO.widget.AutoComplete.prototype._elHeader=null;YAHOO.widget.AutoComplete.prototype._elBody=null;YAHOO.widget.AutoComplete.prototype._elFooter=null;YAHOO.widget.AutoComplete.prototype._elShadow=null;YAHOO.widget.AutoComplete.prototype._elIFrame=null;YAHOO.widget.AutoComplete.prototype._bFocused=null;YAHOO.widget.AutoComplete.prototype._oAnim=null;YAHOO.widget.AutoComplete.prototype._bContainerOpen=false;YAHOO.widget.AutoComplete.prototype._bOverContainer=false;YAHOO.widget.AutoComplete.prototype._elList=null;YAHOO.widget.AutoComplete.prototype._nDisplayedItems=0;YAHOO.widget.AutoComplete.prototype._sCurQuery=null;YAHOO.widget.AutoComplete.prototype._sPastSelections="";YAHOO.widget.AutoComplete.prototype._sInitInputValue=null;YAHOO.widget.AutoComplete.prototype._elCurListItem=null;YAHOO.widget.AutoComplete.prototype._bItemSelected=false;YAHOO.widget.AutoComplete.prototype._nKeyCode=null;YAHOO.widget.AutoComplete.prototype._nDelayID=-1;YAHOO.widget.AutoComplete.prototype._nTypeAheadDelayID=-1;YAHOO.widget.AutoComplete.prototype._iFrameSrc="javascript:false;";YAHOO.widget.AutoComplete.prototype._queryInterval=null;YAHOO.widget.AutoComplete.prototype._sLastTextboxValue=null;YAHOO.widget.AutoComplete.prototype._initProps=function(){var B=this.minQueryLength;if(!YAHOO.lang.isNumber(B)){this.minQueryLength=1;}var E=this.maxResultsDisplayed;if(!YAHOO.lang.isNumber(E)||(E<1)){this.maxResultsDisplayed=10;}var F=this.queryDelay;if(!YAHOO.lang.isNumber(F)||(F<0)){this.queryDelay=0.2;}var C=this.typeAheadDelay;if(!YAHOO.lang.isNumber(C)||(C<0)){this.typeAheadDelay=0.2;}var A=this.delimChar;if(YAHOO.lang.isString(A)&&(A.length>0)){this.delimChar=[A];}else{if(!YAHOO.lang.isArray(A)){this.delimChar=null;}}var D=this.animSpeed;if((this.animHoriz||this.animVert)&&YAHOO.util.Anim){if(!YAHOO.lang.isNumber(D)||(D<0)){this.animSpeed=0.3;}if(!this._oAnim){this._oAnim=new YAHOO.util.Anim(this._elContent,{},this.animSpeed);}else{this._oAnim.duration=this.animSpeed;}}if(this.forceSelection&&A){}};YAHOO.widget.AutoComplete.prototype._initContainerHelperEls=function(){if(this.useShadow&&!this._elShadow){var A=document.createElement("div");A.className="yui-ac-shadow";A.style.width=0;A.style.height=0;this._elShadow=this._elContainer.appendChild(A);}if(this.useIFrame&&!this._elIFrame){var B=document.createElement("iframe");B.src=this._iFrameSrc;B.frameBorder=0;B.scrolling="no";B.style.position="absolute";B.style.width=0;B.style.height=0;B.tabIndex=-1;B.style.padding=0;this._elIFrame=this._elContainer.appendChild(B);}};YAHOO.widget.AutoComplete.prototype._initContainerEl=function(){YAHOO.util.Dom.addClass(this._elContainer,"yui-ac-container");if(!this._elContent){var C=document.createElement("div");C.className="yui-ac-content";C.style.display="none";this._elContent=this._elContainer.appendChild(C);var B=document.createElement("div");B.className="yui-ac-hd";B.style.display="none";this._elHeader=this._elContent.appendChild(B);var D=document.createElement("div");D.className="yui-ac-bd";this._elBody=this._elContent.appendChild(D);var A=document.createElement("div");A.className="yui-ac-ft";A.style.display="none";this._elFooter=this._elContent.appendChild(A);}else{}};YAHOO.widget.AutoComplete.prototype._initListEl=function(){var C=this.maxResultsDisplayed;var A=this._elList||document.createElement("ul");var B;while(A.childNodes.length<C){B=document.createElement("li");B.style.display="none";B._nItemIndex=A.childNodes.length;A.appendChild(B);}if(!this._elList){var D=this._elBody;YAHOO.util.Event.purgeElement(D,true);D.innerHTML="";this._elList=D.appendChild(A);}};YAHOO.widget.AutoComplete.prototype._enableIntervalDetection=function(){var A=this;if(!A._queryInterval&&A.queryInterval){A._queryInterval=setInterval(function(){A._onInterval();},A.queryInterval);}};YAHOO.widget.AutoComplete.prototype._onInterval=function(){var A=this._elTextbox.value;var B=this._sLastTextboxValue;if(A!=B){this._sLastTextboxValue=A;this._sendQuery(A);}};YAHOO.widget.AutoComplete.prototype._clearInterval=function(){if(this._queryInterval){clearInterval(this._queryInterval);this._queryInterval=null;}};YAHOO.widget.AutoComplete.prototype._isIgnoreKey=function(A){if((A==9)||(A==13)||(A==16)||(A==17)||(A>=18&&A<=20)||(A==27)||(A>=33&&A<=35)||(A>=36&&A<=40)||(A>=44&&A<=45)||(A==229)){return true;}return false;};YAHOO.widget.AutoComplete.prototype._sendQuery=function(G){if(this.minQueryLength<0){this._toggleContainer(false);return ;}var I=(this.delimChar)?this.delimChar:null;if(I){var B=-1;for(var F=I.length-1;F>=0;F--){var D=G.lastIndexOf(I[F]);if(D>B){B=D;}}if(I[F]==" "){for(var E=I.length-1;E>=0;E--){if(G[B-1]==I[E]){B--;break;}}}if(B>-1){var H=B+1;while(G.charAt(H)==" "){H+=1;}this._sPastSelections=G.substring(0,H);G=G.substr(H);}else{this._sPastSelections="";}}if((G&&(G.length<this.minQueryLength))||(!G&&this.minQueryLength>0)){if(this._nDelayID!=-1){clearTimeout(this._nDelayID);}this._toggleContainer(false);return ;}G=encodeURIComponent(G);this._nDelayID=-1;if(this.dataSource.queryMatchSubset||this.queryMatchSubset){var A=this.getSubsetMatches(G);if(A){this.handleResponse(G,A,{query:G});return ;}}if(this.responseStripAfter){this.dataSource.doBeforeParseData=this.preparseRawResponse;}if(this.applyLocalFilter){this.dataSource.doBeforeCallback=this.filterResults;}var C=this.generateRequest(G);this.dataRequestEvent.fire(this,G,C);this.dataSource.sendRequest(C,{success:this.handleResponse,failure:this.handleResponse,scope:this,argument:{query:G}});};YAHOO.widget.AutoComplete.prototype._populateList=function(K,F,C){if(this._nTypeAheadDelayID!=-1){clearTimeout(this._nTypeAheadDelayID);}K=(C&&C.query)?C.query:K;var H=this.doBeforeLoadData(K,F,C);if(H&&!F.error){this.dataReturnEvent.fire(this,K,F.results);if(this._bFocused||(this._bFocused===null)){var M=decodeURIComponent(K);
this._sCurQuery=M;this._bItemSelected=false;var R=F.results,A=Math.min(R.length,this.maxResultsDisplayed),J=(this.dataSource.responseSchema.fields)?(this.dataSource.responseSchema.fields[0].key||this.dataSource.responseSchema.fields[0]):0;if(A>0){if(!this._elList||(this._elList.childNodes.length<A)){this._initListEl();}this._initContainerHelperEls();var I=this._elList.childNodes;for(var Q=A-1;Q>=0;Q--){var P=I[Q],E=R[Q];if(this.resultTypeList){var B=[];B[0]=(YAHOO.lang.isString(E))?E:E[J]||E[this.key];var L=this.dataSource.responseSchema.fields;if(YAHOO.lang.isArray(L)&&(L.length>1)){for(var N=1,S=L.length;N<S;N++){B[B.length]=E[L[N].key||L[N]];}}else{if(YAHOO.lang.isArray(E)){B=E;}else{if(YAHOO.lang.isString(E)){B=[E];}else{B[1]=E;}}}E=B;}P._sResultMatch=(YAHOO.lang.isString(E))?E:(YAHOO.lang.isArray(E))?E[0]:(E[J]||"");P._oResultData=E;P.innerHTML=this.formatResult(E,M,P._sResultMatch);P.style.display="";}if(A<I.length){var G;for(var O=I.length-1;O>=A;O--){G=I[O];G.style.display="none";}}this._nDisplayedItems=A;this.containerPopulateEvent.fire(this,K,R);if(this.autoHighlight){var D=this._elList.firstChild;this._toggleHighlight(D,"to");this.itemArrowToEvent.fire(this,D);this._typeAhead(D,K);}else{this._toggleHighlight(this._elCurListItem,"from");}H=this.doBeforeExpandContainer(this._elTextbox,this._elContainer,K,R);this._toggleContainer(H);}else{this._toggleContainer(false);}return ;}}else{this.dataErrorEvent.fire(this,K);}};YAHOO.widget.AutoComplete.prototype._clearSelection=function(){var C=this._elTextbox.value;var B=(this.delimChar)?this.delimChar[0]:null;var A=(B)?C.lastIndexOf(B,C.length-2):-1;if(A>-1){this._elTextbox.value=C.substring(0,A);}else{this._elTextbox.value="";}this._sPastSelections=this._elTextbox.value;this.selectionEnforceEvent.fire(this);};YAHOO.widget.AutoComplete.prototype._textMatchesOption=function(){var A=null;for(var B=this._nDisplayedItems-1;B>=0;B--){var C=this._elList.childNodes[B];var D=(""+C._sResultMatch).toLowerCase();if(D==this._sCurQuery.toLowerCase()){A=C;break;}}return(A);};YAHOO.widget.AutoComplete.prototype._typeAhead=function(B,D){if(!this.typeAhead||(this._nKeyCode==8)){return ;}var A=this,C=this._elTextbox;if(C.setSelectionRange||C.createTextRange){this._nTypeAheadDelayID=setTimeout(function(){var F=C.value.length;A._updateValue(B);var G=C.value.length;A._selectText(C,F,G);var E=C.value.substr(F,G);A.typeAheadEvent.fire(A,D,E);},(this.typeAheadDelay*1000));}};YAHOO.widget.AutoComplete.prototype._selectText=function(D,A,B){if(D.setSelectionRange){D.setSelectionRange(A,B);}else{if(D.createTextRange){var C=D.createTextRange();C.moveStart("character",A);C.moveEnd("character",B-D.value.length);C.select();}else{D.select();}}};YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers=function(D){var E=this._elContent.offsetWidth+"px";var B=this._elContent.offsetHeight+"px";if(this.useIFrame&&this._elIFrame){var C=this._elIFrame;if(D){C.style.width=E;C.style.height=B;C.style.padding="";}else{C.style.width=0;C.style.height=0;C.style.padding=0;}}if(this.useShadow&&this._elShadow){var A=this._elShadow;if(D){A.style.width=E;A.style.height=B;}else{A.style.width=0;A.style.height=0;}}};YAHOO.widget.AutoComplete.prototype._toggleContainer=function(I){var D=this._elContainer;if(this.alwaysShowContainer&&this._bContainerOpen){return ;}if(!I){this._toggleHighlight(this._elCurListItem,"from");this._nDisplayedItems=0;this._sCurQuery=null;if(!this._bContainerOpen){this._elContent.style.display="none";return ;}}var A=this._oAnim;if(A&&A.getEl()&&(this.animHoriz||this.animVert)){if(A.isAnimated()){A.stop(true);}var G=this._elContent.cloneNode(true);D.appendChild(G);G.style.top="-9000px";G.style.width="";G.style.height="";G.style.display="";var F=G.offsetWidth;var C=G.offsetHeight;var B=(this.animHoriz)?0:F;var E=(this.animVert)?0:C;A.attributes=(I)?{width:{to:F},height:{to:C}}:{width:{to:B},height:{to:E}};if(I&&!this._bContainerOpen){this._elContent.style.width=B+"px";this._elContent.style.height=E+"px";}else{this._elContent.style.width=F+"px";this._elContent.style.height=C+"px";}D.removeChild(G);G=null;var H=this;var J=function(){A.onComplete.unsubscribeAll();if(I){H._toggleContainerHelpers(true);H._bContainerOpen=I;H.containerExpandEvent.fire(H);}else{H._elContent.style.display="none";H._bContainerOpen=I;H.containerCollapseEvent.fire(H);}};this._toggleContainerHelpers(false);this._elContent.style.display="";A.onComplete.subscribe(J);A.animate();}else{if(I){this._elContent.style.display="";this._toggleContainerHelpers(true);this._bContainerOpen=I;this.containerExpandEvent.fire(this);}else{this._toggleContainerHelpers(false);this._elContent.style.display="none";this._bContainerOpen=I;this.containerCollapseEvent.fire(this);}}};YAHOO.widget.AutoComplete.prototype._toggleHighlight=function(A,C){if(A){var B=this.highlightClassName;if(this._elCurListItem){YAHOO.util.Dom.removeClass(this._elCurListItem,B);this._elCurListItem=null;}if((C=="to")&&B){YAHOO.util.Dom.addClass(A,B);this._elCurListItem=A;}}};YAHOO.widget.AutoComplete.prototype._togglePrehighlight=function(B,C){if(B==this._elCurListItem){return ;}var A=this.prehighlightClassName;if((C=="mouseover")&&A){YAHOO.util.Dom.addClass(B,A);}else{YAHOO.util.Dom.removeClass(B,A);}};YAHOO.widget.AutoComplete.prototype._updateValue=function(C){if(!this.suppressInputUpdate){var F=this._elTextbox;var E=(this.delimChar)?(this.delimChar[0]||this.delimChar):null;var B=C._sResultMatch;var D="";if(E){D=this._sPastSelections;D+=B+E;if(E!=" "){D+=" ";}}else{D=B;}F.value=D;if(F.type=="textarea"){F.scrollTop=F.scrollHeight;}var A=F.value.length;this._selectText(F,A,A);this._elCurListItem=C;}};YAHOO.widget.AutoComplete.prototype._selectItem=function(A){this._bItemSelected=true;this._updateValue(A);this._sPastSelections=this._elTextbox.value;this._clearInterval();this.itemSelectEvent.fire(this,A,A._oResultData);this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype._jumpSelection=function(){if(this._elCurListItem){this._selectItem(this._elCurListItem);
}else{this._toggleContainer(false);}};YAHOO.widget.AutoComplete.prototype._moveSelection=function(G){if(this._bContainerOpen){var F=this._elCurListItem;var E=-1;if(F){E=F._nItemIndex;}var C=(G==40)?(E+1):(E-1);if(C<-2||C>=this._nDisplayedItems){return ;}if(F){this._toggleHighlight(F,"from");this.itemArrowFromEvent.fire(this,F);}if(C==-1){if(this.delimChar){this._elTextbox.value=this._sPastSelections+this._sCurQuery;}else{this._elTextbox.value=this._sCurQuery;}return ;}if(C==-2){this._toggleContainer(false);return ;}var D=this._elList.childNodes[C];var A=this._elContent;var B=((YAHOO.util.Dom.getStyle(A,"overflow")=="auto")||(YAHOO.util.Dom.getStyle(A,"overflowY")=="auto"));if(B&&(C>-1)&&(C<this._nDisplayedItems)){if(G==40){if((D.offsetTop+D.offsetHeight)>(A.scrollTop+A.offsetHeight)){A.scrollTop=(D.offsetTop+D.offsetHeight)-A.offsetHeight;}else{if((D.offsetTop+D.offsetHeight)<A.scrollTop){A.scrollTop=D.offsetTop;}}}else{if(D.offsetTop<A.scrollTop){this._elContent.scrollTop=D.offsetTop;}else{if(D.offsetTop>(A.scrollTop+A.offsetHeight)){this._elContent.scrollTop=(D.offsetTop+D.offsetHeight)-A.offsetHeight;}}}}this._toggleHighlight(D,"to");this.itemArrowToEvent.fire(this,D);if(this.typeAhead){this._updateValue(D);}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseover=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return ;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseover");}else{C._toggleHighlight(D,"to");}C.itemMouseOverEvent.fire(C,D);break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=true;return ;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseout=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return ;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseout");}else{C._toggleHighlight(D,"from");}C.itemMouseOutEvent.fire(C,D);break;case"ul":C._toggleHighlight(C._elCurListItem,"to");break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=false;return ;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerClick=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return ;case"li":C._toggleHighlight(D,"to");C._selectItem(D);return ;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerScroll=function(A,B){B._elTextbox.focus();};YAHOO.widget.AutoComplete.prototype._onContainerResize=function(A,B){B._toggleContainerHelpers(B._bContainerOpen);};YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown=function(A,B){var C=A.keyCode;if(B._nTypeAheadDelayID!=-1){clearTimeout(B._nTypeAheadDelayID);}switch(C){case 9:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B.delimChar&&(B._nKeyCode!=C)){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B._nKeyCode!=C){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 27:B._toggleContainer(false);return ;case 39:B._jumpSelection();break;case 38:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;case 40:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;default:B._bItemSelected=false;B._toggleHighlight(B._elCurListItem,"from");B.textboxKeyEvent.fire(B,C);break;}if(C===18){B._enableIntervalDetection();}B._nKeyCode=C;};YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress=function(A,B){var C=A.keyCode;if(YAHOO.env.ua.opera||(navigator.userAgent.toLowerCase().indexOf("mac")!=-1)&&(YAHOO.env.ua.webkit<420)){switch(C){case 9:if(B._bContainerOpen){if(B.delimChar){YAHOO.util.Event.stopEvent(A);}if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;default:break;}}else{if(C==229){B._enableIntervalDetection();}}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp=function(A,C){var B=this.value;C._initProps();var D=A.keyCode;if(C._isIgnoreKey(D)){return ;}if(C._nDelayID!=-1){clearTimeout(C._nDelayID);}C._nDelayID=setTimeout(function(){C._sendQuery(B);},(C.queryDelay*1000));};YAHOO.widget.AutoComplete.prototype._onTextboxFocus=function(A,B){if(!B._bFocused){B._elTextbox.setAttribute("autocomplete","off");B._bFocused=true;B._sInitInputValue=B._elTextbox.value;B.textboxFocusEvent.fire(B);}};YAHOO.widget.AutoComplete.prototype._onTextboxBlur=function(A,C){if(!C._bOverContainer||(C._nKeyCode==9)){if(!C._bItemSelected){var B=C._textMatchesOption();if(!C._bContainerOpen||(C._bContainerOpen&&(B===null))){if(C.forceSelection){C._clearSelection();}else{C.unmatchedItemSelectEvent.fire(C,C._sCurQuery);}}else{if(C.forceSelection){C._selectItem(B);}}}if(C._bContainerOpen){C._toggleContainer(false);}C._clearInterval();C._bFocused=false;if(C._sInitInputValue!==C._elTextbox.value){C.textboxChangeEvent.fire(C);}C.textboxBlurEvent.fire(C);}};YAHOO.widget.AutoComplete.prototype._onWindowUnload=function(A,B){if(B&&B._elTextbox&&B.allowBrowserAutocomplete){B._elTextbox.setAttribute("autocomplete","on");}};YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery=function(A){return this.generateRequest(A);};YAHOO.widget.AutoComplete.prototype.getListItems=function(){var C=[],B=this._elList.childNodes;for(var A=B.length-1;A>=0;A--){C[A]=B[A];}return C;};YAHOO.widget.AutoComplete._cloneObject=function(D){if(!YAHOO.lang.isValue(D)){return D;
}var F={};if(YAHOO.lang.isFunction(D)){F=D;}else{if(YAHOO.lang.isArray(D)){var E=[];for(var C=0,B=D.length;C<B;C++){E[C]=YAHOO.widget.AutoComplete._cloneObject(D[C]);}F=E;}else{if(YAHOO.lang.isObject(D)){for(var A in D){if(YAHOO.lang.hasOwnProperty(D,A)){if(YAHOO.lang.isValue(D[A])&&YAHOO.lang.isObject(D[A])||YAHOO.lang.isArray(D[A])){F[A]=YAHOO.widget.AutoComplete._cloneObject(D[A]);}else{F[A]=D[A];}}}}else{F=D;}}}return F;};YAHOO.register("autocomplete",YAHOO.widget.AutoComplete,{version:"2.6.0",build:"1321"});