var JSJAC_HAVEKEYS=true;var JSJAC_NKEYS=16;var JSJAC_INACTIVITY=300;var JSJAC_ERR_COUNT=10;var JSJAC_ALLOW_PLAIN=true;var JSJAC_CHECKQUEUEINTERVAL=1;var JSJAC_CHECKINQUEUEINTERVAL=1;var JSJACHBC_BOSH_VERSION="1.6";var JSJACHBC_USE_BOSH_VER=true;var JSJACHBC_MAX_HOLD=1;var JSJACHBC_MAX_WAIT=300;var JSJACHBC_MAXPAUSE=0;String.prototype.htmlEnc=function(){var a=this.replace(/&/g,"&amp;");a=a.replace(/</g,"&lt;");a=a.replace(/>/g,"&gt;");a=a.replace(/\"/g,"&quot;");a=a.replace(/\n/g,"<br />");return a};Date.jab2date=function(b){var a=new Date(Date.UTC(b.substr(0,4),b.substr(5,2)-1,b.substr(8,2),b.substr(11,2),b.substr(14,2),b.substr(17,2)));if(b.substr(b.length-6,1)!="Z"){var c=new Date();c.setTime(0);c.setUTCHours(b.substr(b.length-5,2));c.setUTCMinutes(b.substr(b.length-2,2));if(b.substr(b.length-6,1)=="+"){a.setTime(a.getTime()-c.getTime())}else{if(b.substr(b.length-6,1)=="-"){a.setTime(a.getTime()+c.getTime())}}}return a};Date.hrTime=function(a){return Date.jab2date(a).toLocaleString()};Date.prototype.jabberDate=function(){var b=function(c){if(c<10){return"0"+c}return c};var a=this.getUTCFullYear()+"-";a+=b(this.getUTCMonth()+1)+"-";a+=b(this.getUTCDate())+"T";a+=b(this.getUTCHours())+":";a+=b(this.getUTCMinutes())+":";a+=b(this.getUTCSeconds())+"Z";return a};var hexcase=0;var b64pad="=";var chrsz=8;function hex_sha1(a){return binb2hex(core_sha1(str2binb(a),a.length*chrsz))}function b64_sha1(a){return binb2b64(core_sha1(str2binb(a),a.length*chrsz))}function str_sha1(a){return binb2str(core_sha1(str2binb(a),a.length*chrsz))}function hex_hmac_sha1(a,b){return binb2hex(core_hmac_sha1(a,b))}function b64_hmac_sha1(a,b){return binb2b64(core_hmac_sha1(a,b))}function str_hmac_sha1(a,b){return binb2str(core_hmac_sha1(a,b))}function sha1_vm_test(){return hex_sha1("abc")=="a9993e364706816aba3e25717850c26c9cd0d89d"}function core_sha1(v,o){v[o>>5]|=128<<(24-o%32);v[((o+64>>9)<<4)+15]=o;var y=Array(80);var u=1732584193;var s=-271733879;var r=-1732584194;var q=271733878;var p=-1009589776;for(var l=0;l<v.length;l+=16){var n=u;var m=s;var k=r;var h=q;var f=p;for(var g=0;g<80;g++){if(g<16){y[g]=v[l+g]}else{y[g]=rol(y[g-3]^y[g-8]^y[g-14]^y[g-16],1)}var z=safe_add(safe_add(rol(u,5),sha1_ft(g,s,r,q)),safe_add(safe_add(p,y[g]),sha1_kt(g)));p=q;q=r;r=rol(s,30);s=u;u=z}u=safe_add(u,n);s=safe_add(s,m);r=safe_add(r,k);q=safe_add(q,h);p=safe_add(p,f)}return Array(u,s,r,q,p)}function sha1_ft(e,a,g,f){if(e<20){return(a&g)|((~a)&f)}if(e<40){return a^g^f}if(e<60){return(a&g)|(a&f)|(g&f)}return a^g^f}function sha1_kt(a){return(a<20)?1518500249:(a<40)?1859775393:(a<60)?-1894007588:-899497514}function core_hmac_sha1(c,f){var e=str2binb(c);if(e.length>16){e=core_sha1(e,c.length*chrsz)}var a=Array(16),d=Array(16);for(var b=0;b<16;b++){a[b]=e[b]^909522486;d[b]=e[b]^1549556828}var g=core_sha1(a.concat(str2binb(f)),512+f.length*chrsz);return core_sha1(d.concat(g),512+160)}function rol(a,b){return(a<<b)|(a>>>(32-b))}function str2binb(d){var c=Array();var a=(1<<chrsz)-1;for(var b=0;b<d.length*chrsz;b+=chrsz){c[b>>5]|=(d.charCodeAt(b/chrsz)&a)<<(32-chrsz-b%32)}return c}function binb2str(c){var d="";var a=(1<<chrsz)-1;for(var b=0;b<c.length*32;b+=chrsz){d+=String.fromCharCode((c[b>>5]>>>(32-chrsz-b%32))&a)}return d}function binb2hex(c){var b=hexcase?"0123456789ABCDEF":"0123456789abcdef";var d="";for(var a=0;a<c.length*4;a++){d+=b.charAt((c[a>>2]>>((3-a%4)*8+4))&15)+b.charAt((c[a>>2]>>((3-a%4)*8))&15)}return d}function binb2b64(d){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var f="";for(var b=0;b<d.length*4;b+=3){var e=(((d[b>>2]>>8*(3-b%4))&255)<<16)|(((d[b+1>>2]>>8*(3-(b+1)%4))&255)<<8)|((d[b+2>>2]>>8*(3-(b+2)%4))&255);for(var a=0;a<4;a++){if(b*8+a*6>d.length*32){f+=b64pad}else{f+=c.charAt((e>>6*(3-a))&63)}}}return f.replace(/AAA\=(\=*?)$/,"$1")}function hex_md5(a){return binl2hex(core_md5(str2binl(a),a.length*chrsz))}function b64_md5(a){return binl2b64(core_md5(str2binl(a),a.length*chrsz))}function str_md5(a){return binl2str(core_md5(str2binl(a),a.length*chrsz))}function hex_hmac_md5(a,b){return binl2hex(core_hmac_md5(a,b))}function b64_hmac_md5(a,b){return binl2b64(core_hmac_md5(a,b))}function str_hmac_md5(a,b){return binl2str(core_hmac_md5(a,b))}function md5_vm_test(){return hex_md5("abc")=="900150983cd24fb0d6963f7d28e17f72"}function core_md5(p,k){p[k>>5]|=128<<((k)%32);p[(((k+64)>>>9)<<4)+14]=k;var o=1732584193;var n=-271733879;var m=-1732584194;var l=271733878;for(var g=0;g<p.length;g+=16){var j=o;var h=n;var f=m;var e=l;o=md5_ff(o,n,m,l,p[g+0],7,-680876936);l=md5_ff(l,o,n,m,p[g+1],12,-389564586);m=md5_ff(m,l,o,n,p[g+2],17,606105819);n=md5_ff(n,m,l,o,p[g+3],22,-1044525330);o=md5_ff(o,n,m,l,p[g+4],7,-176418897);l=md5_ff(l,o,n,m,p[g+5],12,1200080426);m=md5_ff(m,l,o,n,p[g+6],17,-1473231341);n=md5_ff(n,m,l,o,p[g+7],22,-45705983);o=md5_ff(o,n,m,l,p[g+8],7,1770035416);l=md5_ff(l,o,n,m,p[g+9],12,-1958414417);m=md5_ff(m,l,o,n,p[g+10],17,-42063);n=md5_ff(n,m,l,o,p[g+11],22,-1990404162);o=md5_ff(o,n,m,l,p[g+12],7,1804603682);l=md5_ff(l,o,n,m,p[g+13],12,-40341101);m=md5_ff(m,l,o,n,p[g+14],17,-1502002290);n=md5_ff(n,m,l,o,p[g+15],22,1236535329);o=md5_gg(o,n,m,l,p[g+1],5,-165796510);l=md5_gg(l,o,n,m,p[g+6],9,-1069501632);m=md5_gg(m,l,o,n,p[g+11],14,643717713);n=md5_gg(n,m,l,o,p[g+0],20,-373897302);o=md5_gg(o,n,m,l,p[g+5],5,-701558691);l=md5_gg(l,o,n,m,p[g+10],9,38016083);m=md5_gg(m,l,o,n,p[g+15],14,-660478335);n=md5_gg(n,m,l,o,p[g+4],20,-405537848);o=md5_gg(o,n,m,l,p[g+9],5,568446438);l=md5_gg(l,o,n,m,p[g+14],9,-1019803690);m=md5_gg(m,l,o,n,p[g+3],14,-187363961);n=md5_gg(n,m,l,o,p[g+8],20,1163531501);o=md5_gg(o,n,m,l,p[g+13],5,-1444681467);l=md5_gg(l,o,n,m,p[g+2],9,-51403784);m=md5_gg(m,l,o,n,p[g+7],14,1735328473);n=md5_gg(n,m,l,o,p[g+12],20,-1926607734);o=md5_hh(o,n,m,l,p[g+5],4,-378558);l=md5_hh(l,o,n,m,p[g+8],11,-2022574463);m=md5_hh(m,l,o,n,p[g+11],16,1839030562);n=md5_hh(n,m,l,o,p[g+14],23,-35309556);o=md5_hh(o,n,m,l,p[g+1],4,-1530992060);l=md5_hh(l,o,n,m,p[g+4],11,1272893353);m=md5_hh(m,l,o,n,p[g+7],16,-155497632);n=md5_hh(n,m,l,o,p[g+10],23,-1094730640);o=md5_hh(o,n,m,l,p[g+13],4,681279174);l=md5_hh(l,o,n,m,p[g+0],11,-358537222);m=md5_hh(m,l,o,n,p[g+3],16,-722521979);n=md5_hh(n,m,l,o,p[g+6],23,76029189);o=md5_hh(o,n,m,l,p[g+9],4,-640364487);l=md5_hh(l,o,n,m,p[g+12],11,-421815835);m=md5_hh(m,l,o,n,p[g+15],16,530742520);n=md5_hh(n,m,l,o,p[g+2],23,-995338651);o=md5_ii(o,n,m,l,p[g+0],6,-198630844);l=md5_ii(l,o,n,m,p[g+7],10,1126891415);m=md5_ii(m,l,o,n,p[g+14],15,-1416354905);n=md5_ii(n,m,l,o,p[g+5],21,-57434055);o=md5_ii(o,n,m,l,p[g+12],6,1700485571);l=md5_ii(l,o,n,m,p[g+3],10,-1894986606);m=md5_ii(m,l,o,n,p[g+10],15,-1051523);n=md5_ii(n,m,l,o,p[g+1],21,-2054922799);o=md5_ii(o,n,m,l,p[g+8],6,1873313359);l=md5_ii(l,o,n,m,p[g+15],10,-30611744);m=md5_ii(m,l,o,n,p[g+6],15,-1560198380);n=md5_ii(n,m,l,o,p[g+13],21,1309151649);o=md5_ii(o,n,m,l,p[g+4],6,-145523070);l=md5_ii(l,o,n,m,p[g+11],10,-1120210379);m=md5_ii(m,l,o,n,p[g+2],15,718787259);n=md5_ii(n,m,l,o,p[g+9],21,-343485551);o=safe_add(o,j);n=safe_add(n,h);m=safe_add(m,f);l=safe_add(l,e)}return Array(o,n,m,l)}function md5_cmn(h,e,d,c,g,f){return safe_add(bit_rol(safe_add(safe_add(e,h),safe_add(c,f)),g),d)}function md5_ff(g,f,k,j,e,i,h){return md5_cmn((f&k)|((~f)&j),g,f,e,i,h)}function md5_gg(g,f,k,j,e,i,h){return md5_cmn((f&j)|(k&(~j)),g,f,e,i,h)}function md5_hh(g,f,k,j,e,i,h){return md5_cmn(f^k^j,g,f,e,i,h)}function md5_ii(g,f,k,j,e,i,h){return md5_cmn(k^(f|(~j)),g,f,e,i,h)}function core_hmac_md5(c,f){var e=str2binl(c);if(e.length>16){e=core_md5(e,c.length*chrsz)}var a=Array(16),d=Array(16);for(var b=0;b<16;b++){a[b]=e[b]^909522486;d[b]=e[b]^1549556828}var g=core_md5(a.concat(str2binl(f)),512+f.length*chrsz);return core_md5(d.concat(g),512+128)}function safe_add(a,d){var c=(a&65535)+(d&65535);var b=(a>>16)+(d>>16)+(c>>16);return(b<<16)|(c&65535)}function bit_rol(a,b){return(a<<b)|(a>>>(32-b))}function str2binl(d){var c=Array();var a=(1<<chrsz)-1;for(var b=0;b<d.length*chrsz;b+=chrsz){c[b>>5]|=(d.charCodeAt(b/chrsz)&a)<<(b%32)}return c}function binl2str(c){var d="";var a=(1<<chrsz)-1;for(var b=0;b<c.length*32;b+=chrsz){d+=String.fromCharCode((c[b>>5]>>>(b%32))&a)}return d}function binl2hex(c){var b=hexcase?"0123456789ABCDEF":"0123456789abcdef";var d="";for(var a=0;a<c.length*4;a++){d+=b.charAt((c[a>>2]>>((a%4)*8+4))&15)+b.charAt((c[a>>2]>>((a%4)*8))&15)}return d}function binl2b64(d){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var f="";for(var b=0;b<d.length*4;b+=3){var e=(((d[b>>2]>>8*(b%4))&255)<<16)|(((d[b+1>>2]>>8*((b+1)%4))&255)<<8)|((d[b+2>>2]>>8*((b+2)%4))&255);for(var a=0;a<4;a++){if(b*8+a*6>d.length*32){f+=b64pad}else{f+=c.charAt((e>>6*(3-a))&63)}}}return f}function utf8t2d(a){a=a.replace(/\r\n/g,"\n");var b=new Array;var g=String.fromCharCode(237);if(g.charCodeAt(0)<0){for(var f=0;f<a.length;f++){var e=a.charCodeAt(f);if(e>0){b[b.length]=e}else{b[b.length]=(((256+e)>>6)|192);b[b.length]=(((256+e)&63)|128)}}}else{for(var f=0;f<a.length;f++){var e=a.charCodeAt(f);if(e<128){b[b.length]=e}else{if((e>127)&&(e<2048)){b[b.length]=((e>>6)|192);b[b.length]=((e&63)|128)}else{b[b.length]=((e>>12)|224);b[b.length]=(((e>>6)&63)|128);b[b.length]=((e&63)|128)}}}}return b}function utf8d2t(c){var b=new Array;var a=0;while(a<c.length){if(c[a]<128){b[b.length]=String.fromCharCode(c[a]);a++}else{if((c[a]>191)&&(c[a]<224)){b[b.length]=String.fromCharCode(((c[a]&31)<<6)|(c[a+1]&63));a+=2}else{b[b.length]=String.fromCharCode(((c[a]&15)<<12)|((c[a+1]&63)<<6)|(c[a+2]&63));a+=3}}}return b.join("")}function b64arrays(){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";b64=new Array();f64=new Array();for(var a=0;a<b.length;a++){b64[a]=b.charAt(a);f64[b.charAt(a)]=a}}function b64d2t(f){var e=new Array;var c=0;var a=f.length;if((a%3)==1){f[f.length]=0;f[f.length]=0}if((a%3)==2){f[f.length]=0}while(c<f.length){e[e.length]=b64[f[c]>>2];e[e.length]=b64[((f[c]&3)<<4)|(f[c+1]>>4)];e[e.length]=b64[((f[c+1]&15)<<2)|(f[c+2]>>6)];e[e.length]=b64[f[c+2]&63];c+=3}if((a%3)==1){e[e.length-1]=e[e.length-2]="="}if((a%3)==2){e[e.length-1]="="}var b=e.join("");return b}function b64t2d(b){var c=new Array;var a=0;b=b.replace(/\n|\r/g,"");b=b.replace(/=/g,"");while(a<b.length){c[c.length]=(f64[b.charAt(a)]<<2)|(f64[b.charAt(a+1)]>>4);c[c.length]=(((f64[b.charAt(a+1)]&15)<<4)|(f64[b.charAt(a+2)]>>2));c[c.length]=(((f64[b.charAt(a+2)]&3)<<6)|(f64[b.charAt(a+3)]));a+=4}if(b.length%4==2){c=c.slice(0,c.length-2)}if(b.length%4==3){c=c.slice(0,c.length-1)}return c}if(typeof(atob)=="undefined"||typeof(btoa)=="undefined"){b64arrays()}if(typeof(atob)=="undefined"){atob=function(a){return utf8d2t(b64t2d(a))}}if(typeof(btoa)=="undefined"){btoa=function(a){return b64d2t(utf8t2d(a))}}function cnonce(b){var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";var d="";for(var a=0;a<b;a++){d+=c.charAt(Math.round(Math.random(new Date().getTime())*(c.length-1)))}return d}function JSJaCJSON(){}JSJaCJSON.toString=function(c){var a={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},b={array:function(e){var h=["["],d,m,k,g=e.length,j;for(k=0;k<g;k+=1){j=e[k];m=b[typeof j];if(m){j=m(j);if(typeof j=="string"){if(d){h[h.length]=","}h[h.length]=j;d=true}}}h[h.length]="]";return h.join("")},"boolean":function(d){return String(d)},"null":function(d){return"null"},number:function(d){return isFinite(d)?String(d):"null"},object:function(e){if(e){if(e instanceof Array){return b.array(e)}var g=["{"],d,k,j,h;for(j in e){if(e.hasOwnProperty(j)){h=e[j];k=b[typeof h];if(k){h=k(h);if(typeof h=="string"){if(d){g[g.length]=","}g.push(b.string(j),":",h);d=true}}}}g[g.length]="}";return g.join("")}return"null"},string:function(d){if(/["\\\x00-\x1f]/.test(d)){d=d.replace(/([\x00-\x1f\\"])/g,function(f,e){var g=a[e];if(g){return g}g=e.charCodeAt();return"\\u00"+Math.floor(g/16).toString(16)+(g%16).toString(16)})}return'"'+d+'"'}};switch(typeof(c)){case"object":return b.object(c);case"array":return b.array(c);case"string":return b.string(c)}};JSJaCJSON.parse=function(str){try{return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(str.replace(/"(\\.|[^"\\])*"/g,"")))&&eval("("+str+")")}catch(e){return false}};function XmlHttp(){}XmlHttp.create=function(){try{if(window.XMLHttpRequest){var b=new XMLHttpRequest();if(b.readyState==null){b.readyState=1;b.addEventListener("load",function(){b.readyState=4;if(typeof b.onreadystatechange=="function"){b.onreadystatechange()}},false)}return b}if(window.ActiveXObject){return new ActiveXObject(XmlHttp.getPrefix()+".XmlHttp")}}catch(a){}throw new Error("Your browser does not support XmlHttp objects")};XmlHttp.getPrefix=function(){if(XmlHttp.prefix){return XmlHttp.prefix}var c=["MSXML2","Microsoft","MSXML","MSXML3"];var d;for(var b=0;b<c.length;b++){try{d=new ActiveXObject(c[b]+".XmlHttp");return XmlHttp.prefix=c[b]}catch(a){}}throw new Error("Could not find an installed XML parser")};function XmlDocument(){}XmlDocument.create=function(b,d){b=b||"foo";d=d||"";try{var e;if(document.implementation&&document.implementation.createDocument){e=document.implementation.createDocument(d,b,null);if(e.readyState==null){e.readyState=1;e.addEventListener("load",function(){e.readyState=4;if(typeof e.onreadystatechange=="function"){e.onreadystatechange()}},false)}}else{if(window.ActiveXObject){e=new ActiveXObject(XmlDocument.getPrefix()+".DomDocument")}}if(!e.documentElement||e.documentElement.tagName!=b||(e.documentElement.namespaceURI&&e.documentElement.namespaceURI!=d)){try{if(d!=""){e.appendChild(e.createElement(b)).setAttribute("xmlns",d)}else{e.appendChild(e.createElement(b))}}catch(a){e=document.implementation.createDocument(d,b,null);if(e.documentElement==null){e.appendChild(e.createElement(b))}if(d!=""&&e.documentElement.getAttribute("xmlns")!=d){e.documentElement.setAttribute("xmlns",d)}}}return e}catch(c){alert(c.name+": "+c.message)}throw new Error("Your browser does not support XmlDocument objects")};XmlDocument.getPrefix=function(){if(XmlDocument.prefix){return XmlDocument.prefix}var c=["MSXML2","Microsoft","MSXML","MSXML3"];var d;for(var b=0;b<c.length;b++){try{d=new ActiveXObject(c[b]+".DomDocument");return XmlDocument.prefix=c[b]}catch(a){}}throw new Error("Could not find an installed XML parser")};if(typeof(Document)!="undefined"&&window.DOMParser){Document.prototype.loadXML=function(b){var c=(new DOMParser()).parseFromString(b,"text/xml");while(this.hasChildNodes()){this.removeChild(this.lastChild)}for(var a=0;a<c.childNodes.length;a++){this.appendChild(this.importNode(c.childNodes[a],true))}}}if(window.XMLSerializer&&window.Node&&Node.prototype&&Node.prototype.__defineGetter__){XMLDocument.prototype.__defineGetter__("xml",function(){return(new XMLSerializer()).serializeToString(this)});Document.prototype.__defineGetter__("xml",function(){return(new XMLSerializer()).serializeToString(this)});Node.prototype.__defineGetter__("xml",function(){return(new XMLSerializer()).serializeToString(this)})}var JSJaCBuilder={buildNode:function(d,a){var b,c=arguments[4];if(arguments[2]){if(JSJaCBuilder._isStringOrNumber(arguments[2])||(arguments[2] instanceof Array)){b=this._createElement(d,a,c);JSJaCBuilder._children(d,b,arguments[2])}else{c=arguments[2]["xmlns"]||c;b=this._createElement(d,a,c);for(attr in arguments[2]){if(arguments[2].hasOwnProperty(attr)&&attr!="xmlns"){b.setAttribute(attr,arguments[2][attr])}}}}else{b=this._createElement(d,a,c)}if(arguments[3]){JSJaCBuilder._children(d,b,arguments[3],c)}return b},_createElement:function(e,a,d){try{if(d){return e.createElementNS(d,a)}}catch(b){}var c=e.createElement(a);if(d){c.setAttribute("xmlns",d)}return c},_text:function(a,b){return a.createTextNode(b)},_children:function(h,c,b,d){if(typeof b=="object"){for(var a in b){if(b.hasOwnProperty(a)){var g=b[a];if(typeof g=="object"){if(g instanceof Array){var f=JSJaCBuilder.buildNode(h,g[0],g[1],g[2],d);c.appendChild(f)}else{c.appendChild(g)}}else{if(JSJaCBuilder._isStringOrNumber(g)){c.appendChild(JSJaCBuilder._text(h,g))}}}}}else{if(JSJaCBuilder._isStringOrNumber(b)){c.appendChild(JSJaCBuilder._text(h,b))}}},_attributes:function(a){var b=[];for(attribute in a){if(a.hasOwnProperty(attribute)){b.push(attribute+'="'+a[attribute].toString().htmlEnc()+'"')}}return b.join(" ")},_isStringOrNumber:function(a){return(typeof a=="string"||typeof a=="number")}};var NS_DISCO_ITEMS="http://jabber.org/protocol/disco#items";var NS_DISCO_INFO="http://jabber.org/protocol/disco#info";var NS_VCARD="vcard-temp";var NS_AUTH="jabber:iq:auth";var NS_AUTH_ERROR="jabber:iq:auth:error";var NS_REGISTER="jabber:iq:register";var NS_SEARCH="jabber:iq:search";var NS_ROSTER="jabber:iq:roster";var NS_PRIVACY="jabber:iq:privacy";var NS_PRIVATE="jabber:iq:private";var NS_VERSION="jabber:iq:version";var NS_TIME="jabber:iq:time";var NS_LAST="jabber:iq:last";var NS_XDATA="jabber:x:data";var NS_IQDATA="jabber:iq:data";var NS_DELAY="jabber:x:delay";var NS_EXPIRE="jabber:x:expire";var NS_EVENT="jabber:x:event";var NS_XCONFERENCE="jabber:x:conference";var NS_STATS="http://jabber.org/protocol/stats";var NS_MUC="http://jabber.org/protocol/muc";var NS_MUC_USER="http://jabber.org/protocol/muc#user";var NS_MUC_ADMIN="http://jabber.org/protocol/muc#admin";var NS_MUC_OWNER="http://jabber.org/protocol/muc#owner";var NS_PUBSUB="http://jabber.org/protocol/pubsub";var NS_PUBSUB_EVENT="http://jabber.org/protocol/pubsub#event";var NS_PUBSUB_OWNER="http://jabber.org/protocol/pubsub#owner";var NS_PUBSUB_NMI="http://jabber.org/protocol/pubsub#node-meta-info";var NS_COMMANDS="http://jabber.org/protocol/commands";var NS_STREAM="http://etherx.jabber.org/streams";var NS_STANZAS="urn:ietf:params:xml:ns:xmpp-stanzas";var NS_STREAMS="urn:ietf:params:xml:ns:xmpp-streams";var NS_TLS="urn:ietf:params:xml:ns:xmpp-tls";var NS_SASL="urn:ietf:params:xml:ns:xmpp-sasl";var NS_SESSION="urn:ietf:params:xml:ns:xmpp-session";var NS_BIND="urn:ietf:params:xml:ns:xmpp-bind";var NS_FEATURE_IQAUTH="http://jabber.org/features/iq-auth";var NS_FEATURE_IQREGISTER="http://jabber.org/features/iq-register";var NS_FEATURE_COMPRESS="http://jabber.org/features/compress";var NS_COMPRESS="http://jabber.org/protocol/compress";function STANZA_ERROR(c,b,a){if(window==this){return new STANZA_ERROR(c,b,a)}this.code=c;this.type=b;this.cond=a}var ERR_BAD_REQUEST=STANZA_ERROR("400","modify","bad-request");var ERR_CONFLICT=STANZA_ERROR("409","cancel","conflict");var ERR_FEATURE_NOT_IMPLEMENTED=STANZA_ERROR("501","cancel","feature-not-implemented");var ERR_FORBIDDEN=STANZA_ERROR("403","auth","forbidden");var ERR_GONE=STANZA_ERROR("302","modify","gone");var ERR_INTERNAL_SERVER_ERROR=STANZA_ERROR("500","wait","internal-server-error");var ERR_ITEM_NOT_FOUND=STANZA_ERROR("404","cancel","item-not-found");var ERR_JID_MALFORMED=STANZA_ERROR("400","modify","jid-malformed");var ERR_NOT_ACCEPTABLE=STANZA_ERROR("406","modify","not-acceptable");var ERR_NOT_ALLOWED=STANZA_ERROR("405","cancel","not-allowed");var ERR_NOT_AUTHORIZED=STANZA_ERROR("401","auth","not-authorized");var ERR_PAYMENT_REQUIRED=STANZA_ERROR("402","auth","payment-required");var ERR_RECIPIENT_UNAVAILABLE=STANZA_ERROR("404","wait","recipient-unavailable");var ERR_REDIRECT=STANZA_ERROR("302","modify","redirect");var ERR_REGISTRATION_REQUIRED=STANZA_ERROR("407","auth","registration-required");var ERR_REMOTE_SERVER_NOT_FOUND=STANZA_ERROR("404","cancel","remote-server-not-found");var ERR_REMOTE_SERVER_TIMEOUT=STANZA_ERROR("504","wait","remote-server-timeout");var ERR_RESOURCE_CONSTRAINT=STANZA_ERROR("500","wait","resource-constraint");var ERR_SERVICE_UNAVAILABLE=STANZA_ERROR("503","cancel","service-unavailable");var ERR_SUBSCRIPTION_REQUIRED=STANZA_ERROR("407","auth","subscription-required");var ERR_UNEXPECTED_REQUEST=STANZA_ERROR("400","wait","unexpected-request");function JSJaCConsoleLogger(a){this.level=a||4;this.start=function(){};this.log=function(c,d){d=d||0;if(d>this.level){return}if(typeof(console)=="undefined"){return}try{switch(d){case 0:console.warn(c);break;case 1:console.error(c);break;case 2:console.info(c);break;case 4:console.debug(c);break;default:console.log(c);break}}catch(b){try{console.log(c)}catch(b){}}};this.setLevel=function(b){this.level=b;return this};this.getLevel=function(){return this.level}}function JSJaCCookie(a,c,b){if(window==this){return new JSJaCCookie(a,c,b)}this.name=a;this.value=c;this.secs=b;this.write=function(){if(this.secs){var e=new Date();e.setTime(e.getTime()+(this.secs*1000));var d="; expires="+e.toGMTString()}else{var d=""}document.cookie=this.getName()+"="+this.getValue()+d+"; path=/"};this.erase=function(){var d=new JSJaCCookie(this.getName(),"",-1);d.write()};this.getName=function(){return this.name};this.setName=function(d){this.name=d;return this};this.getValue=function(){return this.value};this.setValue=function(d){this.value=d;return this}}JSJaCCookie.read=function(b){var e=b+"=";var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)==0){return new JSJaCCookie(b,f.substring(e.length,f.length))}}throw new JSJaCCookieException("Cookie not found")};JSJaCCookie.get=function(a){return JSJaCCookie.read(a).getValue()};JSJaCCookie.remove=function(a){JSJaCCookie.read(a).erase()};function JSJaCCookieException(a){this.message=a;this.name="CookieException"}function JSJaCError(c,b,d){var a=XmlDocument.create("error","jsjac");a.documentElement.setAttribute("code",c);a.documentElement.setAttribute("type",b);a.documentElement.appendChild(a.createElement(d)).setAttribute("xmlns","urn:ietf:params:xml:ns:xmpp-stanzas");return a.documentElement}var JSJACJID_FORBIDDEN=['"'," ","&","'","/",":","<",">","@"];function JSJaCJID(a){this._node="";this._domain="";this._resource="";if(typeof(a)=="string"){if(a.indexOf("@")!=-1){this.setNode(a.substring(0,a.indexOf("@")));a=a.substring(a.indexOf("@")+1)}if(a.indexOf("/")!=-1){this.setResource(a.substring(a.indexOf("/")+1));a=a.substring(0,a.indexOf("/"))}this.setDomain(a)}else{this.setNode(a.node);this.setDomain(a.domain);this.setResource(a.resource)}}JSJaCJID.prototype.getNode=function(){return this._node};JSJaCJID.prototype.getDomain=function(){return this._domain};JSJaCJID.prototype.getResource=function(){return this._resource};JSJaCJID.prototype.setNode=function(a){JSJaCJID._checkNodeName(a);this._node=a||"";return this};JSJaCJID.prototype.setDomain=function(a){if(!a||a==""){throw new JSJaCJIDInvalidException("domain name missing")}JSJaCJID._checkNodeName(a);this._domain=a;return this};JSJaCJID.prototype.setResource=function(a){this._resource=a||"";return this};JSJaCJID.prototype.toString=function(){var a="";if(this.getNode()&&this.getNode()!=""){a=this.getNode()+"@"}a+=this.getDomain();if(this.getResource()&&this.getResource()!=""){a+="/"+this.getResource()}return a};JSJaCJID.prototype.removeResource=function(){return this.setResource()};JSJaCJID.prototype.clone=function(){return new JSJaCJID(this.toString())};JSJaCJID.prototype.isEntity=function(a){if(typeof a=="string"){a=(new JSJaCJID(a))}a.removeResource();return(this.clone().removeResource().toString()===a.toString())};JSJaCJID._checkNodeName=function(a){if(!a||a==""){return}for(var b=0;b<JSJACJID_FORBIDDEN.length;b++){if(a.indexOf(JSJACJID_FORBIDDEN[b])!=-1){throw new JSJaCJIDInvalidException("forbidden char in nodename: "+JSJACJID_FORBIDDEN[b])}}};function JSJaCJIDInvalidException(a){this.message=a;this.name="JSJaCJIDInvalidException"}function JSJaCKeys(d,c){var a=Math.random();this._k=new Array();this._k[0]=a.toString();if(c){this.oDbg=c}else{this.oDbg={};this.oDbg.log=function(){}}if(d){for(var b=1;b<JSJAC_NKEYS;b++){this._k[b]=d(this._k[b-1]);c.log(b+": "+this._k[b],4)}}this._indexAt=JSJAC_NKEYS-1;this.getKey=function(){return this._k[this._indexAt--]};this.lastKey=function(){return(this._indexAt==0)};this.size=function(){return this._k.length};this._getSuspendVars=function(){return("_k,_indexAt").split(",")}}var JSJACPACKET_USE_XMLNS=true;function JSJaCPacket(a){this.name=a;if(typeof(JSJACPACKET_USE_XMLNS)!="undefined"&&JSJACPACKET_USE_XMLNS){this.doc=XmlDocument.create(a,"jabber:client")}else{this.doc=XmlDocument.create(a,"")}}JSJaCPacket.prototype.pType=function(){return this.name};JSJaCPacket.prototype.getDoc=function(){return this.doc};JSJaCPacket.prototype.getNode=function(){if(this.getDoc()&&this.getDoc().documentElement){return this.getDoc().documentElement}else{return null}};JSJaCPacket.prototype.setTo=function(a){if(!a||a==""){this.getNode().removeAttribute("to")}else{if(typeof(a)=="string"){this.getNode().setAttribute("to",a)}else{this.getNode().setAttribute("to",a.toString())}}return this};JSJaCPacket.prototype.setFrom=function(a){if(!a||a==""){this.getNode().removeAttribute("from")}else{if(typeof(a)=="string"){this.getNode().setAttribute("from",a)}else{this.getNode().setAttribute("from",a.toString())}}return this};JSJaCPacket.prototype.setID=function(a){if(!a||a==""){this.getNode().removeAttribute("id")}else{this.getNode().setAttribute("id",a)}return this};JSJaCPacket.prototype.setType=function(a){if(!a||a==""){this.getNode().removeAttribute("type")}else{this.getNode().setAttribute("type",a)}return this};JSJaCPacket.prototype.setXMLLang=function(a){if(!a||a==""){this.getNode().removeAttribute("xml:lang")}else{this.getNode().setAttribute("xml:lang",a)}return this};JSJaCPacket.prototype.getTo=function(){return this.getNode().getAttribute("to")};JSJaCPacket.prototype.getFrom=function(){return this.getNode().getAttribute("from")};JSJaCPacket.prototype.getToJID=function(){return new JSJaCJID(this.getTo())};JSJaCPacket.prototype.getFromJID=function(){return new JSJaCJID(this.getFrom())};JSJaCPacket.prototype.getID=function(){return this.getNode().getAttribute("id")};JSJaCPacket.prototype.getType=function(){return this.getNode().getAttribute("type")};JSJaCPacket.prototype.getXMLLang=function(){return this.getNode().getAttribute("xml:lang")};JSJaCPacket.prototype.getXMLNS=function(){return this.getNode().namespaceURI};JSJaCPacket.prototype.getChild=function(b,d){if(!this.getNode()){return null}b=b||"*";d=d||"*";if(this.getNode().getElementsByTagNameNS){return this.getNode().getElementsByTagNameNS(d,b).item(0)}var a=this.getNode().getElementsByTagName(b);if(d!="*"){for(var c=0;c<a.length;c++){if(a.item(c).namespaceURI==d){return a.item(c)}}}else{return a.item(0)}return null};JSJaCPacket.prototype.getChildVal=function(b,d){var e=this.getChild(b,d);var a="";if(e&&e.hasChildNodes()){for(var c=0;c<e.childNodes.length;c++){if(e.childNodes.item(c).nodeValue){a+=e.childNodes.item(c).nodeValue}}}return a};JSJaCPacket.prototype.clone=function(){return JSJaCPacket.wrapNode(this.getNode())};JSJaCPacket.prototype.isError=function(){return(this.getType()=="error")};JSJaCPacket.prototype.errorReply=function(a){var b=this.clone();b.setTo(this.getFrom());b.setFrom();b.setType("error");b.appendNode("error",{code:a.code,type:a.type},[[a.cond]]);return b};JSJaCPacket.prototype.xml=typeof XMLSerializer!="undefined"?function(){var a=(new XMLSerializer()).serializeToString(this.getNode());if(typeof(a)=="undefined"){a=(new XMLSerializer()).serializeToString(this.doc)}return a}:function(){return this.getDoc().xml};JSJaCPacket.prototype._getAttribute=function(a){return this.getNode().getAttribute(a)};JSJaCPacket.prototype._replaceNode=function(a){for(var b=0;b<a.attributes.length;b++){if(a.attributes.item(b).nodeName!="xmlns"){this.getNode().setAttribute(a.attributes.item(b).nodeName,a.attributes.item(b).nodeValue)}}for(var b=0;b<a.childNodes.length;b++){if(this.getDoc().importNode){this.getNode().appendChild(this.getDoc().importNode(a.childNodes.item(b),true))}else{this.getNode().appendChild(a.childNodes.item(b).cloneNode(true))}}};JSJaCPacket.prototype._setChildNode=function(g,b){var a=this.getChild(g);var d=this.getDoc().createTextNode(b);if(a){try{a.replaceChild(d,a.firstChild)}catch(f){}}else{try{a=this.getDoc().createElementNS(this.getNode().namespaceURI,g)}catch(c){a=this.getDoc().createElement(g)}this.getNode().appendChild(a);a.appendChild(d)}return a};JSJaCPacket.prototype.buildNode=function(a){return JSJaCBuilder.buildNode(this.getDoc(),a,arguments[1],arguments[2])};JSJaCPacket.prototype.appendNode=function(a){if(typeof a=="object"){return this.getNode().appendChild(a)}else{return this.getNode().appendChild(this.buildNode(a,arguments[1],arguments[2],null,this.getNode().namespaceURI))}};function JSJaCPresence(){this.base=JSJaCPacket;this.base("presence")}JSJaCPresence.prototype=new JSJaCPacket;JSJaCPresence.prototype.setStatus=function(a){this._setChildNode("status",a);return this};JSJaCPresence.prototype.setShow=function(a){if(a=="chat"||a=="away"||a=="xa"||a=="dnd"){this._setChildNode("show",a)}return this};JSJaCPresence.prototype.setPriority=function(a){this._setChildNode("priority",a);return this};JSJaCPresence.prototype.setPresence=function(b,a,c){if(b){this.setShow(b)}if(a){this.setStatus(a)}if(c){this.setPriority(c)}return this};JSJaCPresence.prototype.getStatus=function(){return this.getChildVal("status")};JSJaCPresence.prototype.getShow=function(){return this.getChildVal("show")};JSJaCPresence.prototype.getPriority=function(){return this.getChildVal("priority")};function JSJaCIQ(){this.base=JSJaCPacket;this.base("iq")}JSJaCIQ.prototype=new JSJaCPacket;JSJaCIQ.prototype.setIQ=function(c,a,b){if(c){this.setTo(c)}if(a){this.setType(a)}if(b){this.setID(b)}return this};JSJaCIQ.prototype.setQuery=function(c){var a;try{a=this.getDoc().createElementNS(c,"query")}catch(b){a=this.getDoc().createElement("query")}if(a&&a.getAttribute("xmlns")!=c){a.setAttribute("xmlns",c)}this.getNode().appendChild(a);return a};JSJaCIQ.prototype.getQuery=function(){return this.getNode().getElementsByTagName("query").item(0)};JSJaCIQ.prototype.getQueryXMLNS=function(){if(this.getQuery()){return this.getQuery().namespaceURI}else{return null}};JSJaCIQ.prototype.reply=function(d){var b=this.clone();b.setTo(this.getFrom());b.setType("result");if(d){if(typeof d=="string"){b.getChild().appendChild(b.getDoc().loadXML(d))}else{if(d.constructor==Array){var c=b.getChild();for(var a=0;a<d.length;a++){if(typeof d[a]=="string"){c.appendChild(b.getDoc().loadXML(d[a]))}else{if(typeof d[a]=="object"){c.appendChild(d[a])}}}}else{if(typeof d=="object"){b.getChild().appendChild(d)}}}}return b};function JSJaCMessage(){this.base=JSJaCPacket;this.base("message")}JSJaCMessage.prototype=new JSJaCPacket;JSJaCMessage.prototype.setBody=function(a){this._setChildNode("body",a);return this};JSJaCMessage.prototype.setSubject=function(a){this._setChildNode("subject",a);return this};JSJaCMessage.prototype.setThread=function(a){this._setChildNode("thread",a);return this};JSJaCMessage.prototype.getThread=function(){return this.getChildVal("thread")};JSJaCMessage.prototype.getBody=function(){return this.getChildVal("body")};JSJaCMessage.prototype.getSubject=function(){return this.getChildVal("subject")};JSJaCPacket.wrapNode=function(b){var a;switch(b.nodeName?b.nodeName.toLowerCase():""){case"presence":a=new JSJaCPresence();break;case"message":a=new JSJaCMessage();break;case"iq":a=new JSJaCIQ();break;default:return null}a._replaceNode(b);return a};function JSJaCConnection(a){if(a&&a.oDbg&&a.oDbg.log){this.oDbg=a.oDbg}else{this.oDbg=new Object();this.oDbg.log=function(){}}if(a&&a.httpbase){this._httpbase=a.httpbase}if(a&&a.allow_plain){this.allow_plain=a.allow_plain}else{this.allow_plain=JSJAC_ALLOW_PLAIN}this._connected=false;this._events=new Array();this._keys=null;this._ID=0;this._inQ=new Array();this._pQueue=new Array();this._regIDs=new Array();this._req=new Array();this._status="intialized";this._errcnt=0;this._inactivity=JSJAC_INACTIVITY;this._sendRawCallbacks=new Array();if(a&&a.timerval){this.setPollInterval(a.timerval)}}JSJaCConnection.prototype.connect=function(a){this._setStatus("connecting");this.domain=a.domain||"localhost";this.username=a.username;this.resource=a.resource;this.pass=a.pass;this.register=a.register;this.authhost=a.authhost||this.domain;this.authtype=a.authtype||"sasl";if(a.xmllang&&a.xmllang!=""){this._xmllang=a.xmllang}this.host=a.host||this.domain;this.port=a.port||5222;if(a.secure){this.secure="true"}else{this.secure="false"}if(a.wait){this._wait=a.wait}this.jid=this.username+"@"+this.domain;this.fulljid=this.jid+"/"+this.resource;this._rid=Math.round(100000.5+(((900000.49999)-(100000.5))*Math.random()));var c=this._getFreeSlot();this._req[c]=this._setupRequest(true);var b=this._getInitialRequestString();this.oDbg.log(b,4);this._req[c].r.onreadystatechange=JSJaC.bind(function(){if(this._req[c].r.readyState==4){this.oDbg.log("async recv: "+this._req[c].r.responseText,4);this._handleInitialResponse(c)}},this);if(typeof(this._req[c].r.onerror)!="undefined"){this._req[c].r.onerror=JSJaC.bind(function(d){this.oDbg.log("XmlHttpRequest error",1);return false},this)}this._req[c].r.send(b)};JSJaCConnection.prototype.connected=function(){return this._connected};JSJaCConnection.prototype.disconnect=function(){this._setStatus("disconnecting");if(!this.connected()){return}this._connected=false;clearInterval(this._interval);clearInterval(this._inQto);if(this._timeout){clearTimeout(this._timeout)}var b=this._getFreeSlot();this._req[b]=this._setupRequest(false);request=this._getRequestString(false,true);this.oDbg.log("Disconnecting: "+request,4);this._req[b].r.send(request);try{}catch(a){}this.oDbg.log("Disconnected: "+this._req[b].r.responseText,2);this._handleEvent("ondisconnect")};JSJaCConnection.prototype.getPollInterval=function(){return this._timerval};JSJaCConnection.prototype.getFaultInterval=function(){var a=Math.floor(1000*Math.pow(((this._errcnt||0)/2),2));this.oDbg.log("fault-interval("+this._errcnt+"): "+a,1);return a};JSJaCConnection.prototype.registerHandler=function(event){event=event.toLowerCase();var eArg={handler:arguments[arguments.length-1],childName:"*",childNS:"*",type:"*"};if(arguments.length>2){eArg.childName=arguments[1]}if(arguments.length>3){eArg.childNS=arguments[2]}if(arguments.length>4){eArg.type=arguments[3]}if(!this._events[event]){this._events[event]=new Array(eArg)}else{this._events[event]=this._events[event].concat(eArg)}this._events[event]=this._events[event].sort(function(a,b){var aRank=0;var bRank=0;with(a){if(type=="*"){aRank++}if(childNS=="*"){aRank++}if(childName=="*"){aRank++}}with(b){if(type=="*"){bRank++}if(childNS=="*"){bRank++}if(childName=="*"){bRank++}}if(aRank>bRank){return 1}if(aRank<bRank){return -1}return 0});this.oDbg.log("registered handler for event '"+event+"'",2)};JSJaCConnection.prototype.unregisterHandler=function(e,d){e=e.toLowerCase();if(!this._events[e]){return}var a=this._events[e],c=new Array();for(var b=0;b<a.length;b++){if(a[b].handler!=d){c.push(a[b])}}if(a.length!=c.length){this._events[e]=c;this.oDbg.log("unregistered handler for event '"+e+"'",2)}};JSJaCConnection.prototype.dispose=function(){for(var a in this._events){if(this._events.hasOwnProperty(a)&&this._events[a].length){this._events[a].length=0}}};JSJaCConnection.prototype.registerIQGet=function(a,b,c){this.registerHandler("iq",a,b,"get",c)};JSJaCConnection.prototype.registerIQSet=function(a,b,c){this.registerHandler("iq",a,b,"set",c)};JSJaCConnection.prototype.resume=function(){try{this._setStatus("resuming");var c=eCarList.App.SmartChat.BigCookie.read("jsjac");var f=JSJaCJSON.parse(c);for(var b in f){if(f.hasOwnProperty(b)){this[b]=f[b]}}if(this._keys){this._keys2=new JSJaCKeys();var a=this._keys2._getSuspendVars();for(var b=0;b<a.length;b++){this._keys2[a[b]]=this._keys[a[b]]}this._keys=this._keys2}if(this._connected){this._resume();this._after_timeout(function(){this._handleEvent("onresume")},500);this._interval=setInterval(JSJaC.bind(this._checkQueue,this),JSJAC_CHECKQUEUEINTERVAL);this._inQto=setInterval(JSJaC.bind(this._checkInQ,this),JSJAC_CHECKINQUEUEINTERVAL)}try{}catch(d){}return(this._connected===true)}catch(d){if(d.message){this.oDbg.log("Resume failed: "+d.message,1)}else{this.oDbg.log("Resume failed: "+d,1)}return false}};JSJaCConnection.prototype.send=function(d,b,a){if(!d||!d.pType){this.oDbg.log("no packet: "+d,1);return false}if(!this.connected()){return false}if(b){if(!d.getID()){d.setID("JSJaCID_"+this._ID++)}this._registerPID(d.getID(),b,a)}try{this._handleEvent(d.pType()+"_out",d);this._handleEvent("packet_out",d);this._pQueue=this._pQueue.concat(d.xml())}catch(c){this.oDbg.log(c.toString(),1);return false}return true};JSJaCConnection.prototype.sendIQ=function(f,d,a){if(!f||f.pType()!="iq"){return false}d=d||{};var c=d.error_handler||function(h){this.oDbg.log(f.xml(),1)};var e=d.result_handler||function(h){this.oDbg.log(h.xml(),2)};var b=d.default_handler||function(h){this.oDbg.log(h.xml(),2)};var g=function(i,h){switch(i.getType()){case"error":c(i);break;case"result":e(i,h);break;default:b(i,h)}};return this.send(f,g,a)};JSJaCConnection.prototype.setPollInterval=function(a){if(a&&!isNaN(a)){this._timerval=a}return this._timerval};JSJaCConnection.prototype.status=function(){return this._status};JSJaCConnection.prototype.suspend=function(){clearTimeout(this._timeout);clearInterval(this._interval);clearInterval(this._inQto);this._suspend();var l=("_connected,_keys,_ID,_inQ,_pQueue,_regIDs,_errcnt,_inactivity,domain,username,resource,jid,fulljid,_sid,_httpbase,_timerval,_is_polling").split(",");l=l.concat(this._getSuspendVars());var m=new Object();for(var f=0;f<l.length;f++){if(!this[l[f]]){continue}if(this[l[f]]._getSuspendVars){var g=this[l[f]]._getSuspendVars();var a=new Object();for(var d=0;d<g.length;d++){a[g[d]]=this[l[f]][g[d]]}}else{var a=this[l[f]]}m[l[f]]=a}var k=JSJaCJSON.toString(m);eCarList.App.SmartChat.BigCookie.write("jsjac",k,this._inactivity*1000);try{var b=eCarList.App.SmartChat.BigCookie.read("jsjac");if(k!=b){this.oDbg.log("suspend failed writing cookie")}this._connected=false;this._setStatus("suspending")}catch(h){this.oDbg.log("Failed reading cookie 'JSJaC_State': "+h.message)}};JSJaCConnection.prototype._abort=function(){clearTimeout(this._timeout);clearInterval(this._inQto);clearInterval(this._interval);this._connected=false;this._setStatus("aborted");this.oDbg.log("Disconnected.",1);this._handleEvent("ondisconnect");this._handleEvent("onerror",JSJaCError("500","cancel","service-unavailable"))};JSJaCConnection.prototype._checkInQ=function(){for(var a=0;a<this._inQ.length&&a<10;a++){var b=this._inQ[0];this._inQ=this._inQ.slice(1,this._inQ.length);var c=JSJaCPacket.wrapNode(b);if(!c){return}this._handleEvent("packet_in",c);if(c.pType&&!this._handlePID(c)){this._handleEvent(c.pType()+"_in",c);this._handleEvent(c.pType(),c)}}};JSJaCConnection.prototype._checkQueue=function(){if(this._pQueue.length!=0){this._process()}return true};JSJaCConnection.prototype._doAuth=function(){if(this.has_sasl&&this.authtype=="nonsasl"){this.oDbg.log("Warning: SASL present but not used",1)}if(!this._doSASLAuth()&&!this._doLegacyAuth()){this.oDbg.log("Auth failed for authtype "+this.authtype,1);this.disconnect();return false}return true};JSJaCConnection.prototype._doInBandReg=function(){if(this.authtype=="saslanon"||this.authtype=="anonymous"){return}var a=new JSJaCIQ();a.setType("set");a.setID("reg1");a.appendNode("query",{xmlns:"jabber:iq:register"},[["username",this.username],["password",this.pass]]);this.send(a,this._doInBandRegDone)};JSJaCConnection.prototype._doInBandRegDone=function(a){if(a&&a.getType()=="error"){this.oDbg.log("registration failed for "+this.username,0);this._handleEvent("onerror",a.getChild("error"));return}this.oDbg.log(this.username+" registered succesfully",0);this._doAuth()};JSJaCConnection.prototype._doLegacyAuth=function(){if(this.authtype!="nonsasl"&&this.authtype!="anonymous"){return false}var a=new JSJaCIQ();a.setIQ(this.server,"get","auth1");a.appendNode("query",{xmlns:"jabber:iq:auth"},[["username",this.username]]);this.send(a,this._doLegacyAuth2);return true};JSJaCConnection.prototype._doLegacyAuth2=function(b){if(!b||b.getType()!="result"){if(b&&b.getType()=="error"){this._handleEvent("onerror",b.getChild("error"))}this.disconnect();return}var a=(b.getChild("digest")!=null);var b=new JSJaCIQ();b.setIQ(this.server,"set","auth2");query=b.appendNode("query",{xmlns:"jabber:iq:auth"},[["username",this.username],["resource",this.resource]]);if(a){query.appendChild(b.buildNode("digest",{xmlns:"jabber:iq:auth"},hex_sha1(this.streamid+this.pass)))}else{if(this.allow_plain){query.appendChild(b.buildNode("password",{xmlns:"jabber:iq:auth"},this.pass))}else{this.oDbg.log("no valid login mechanism found",1);this.disconnect();return false}}this.send(b,this._doLegacyAuthDone)};JSJaCConnection.prototype._doLegacyAuthDone=function(a){if(a.getType()!="result"){if(a.getType()=="error"){this._handleEvent("onerror",a.getChild("error"))}this.disconnect()}else{this._handleEvent("onconnect")}};JSJaCConnection.prototype._doSASLAuth=function(){if(this.authtype=="nonsasl"||this.authtype=="anonymous"){return false}if(this.authtype=="saslanon"){if(this.mechs.ANONYMOUS){this.oDbg.log("SASL using mechanism 'ANONYMOUS'",2);return this._sendRaw("<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='ANONYMOUS'/>",this._doSASLAuthDone)}this.oDbg.log("SASL ANONYMOUS requested but not supported",1)}else{if(this.mechs["DIGEST-MD5"]){this.oDbg.log("SASL using mechanism 'DIGEST-MD5'",2);return this._sendRaw("<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/>",this._doSASLAuthDigestMd5S1)}else{if(this.allow_plain&&this.mechs.PLAIN){this.oDbg.log("SASL using mechanism 'PLAIN'",2);var a=this.username+"@"+this.domain+String.fromCharCode(0)+this.username+String.fromCharCode(0)+this.pass;this.oDbg.log("authenticating with '"+a+"'",2);a=btoa(a);return this._sendRaw("<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>"+a+"</auth>",this._doSASLAuthDone)}}this.oDbg.log("No SASL mechanism applied",1);this.authtype="nonsasl"}return false};JSJaCConnection.prototype._doSASLAuthDigestMd5S1=function(e){if(e.nodeName!="challenge"){this.oDbg.log("challenge missing",1);this._handleEvent("onerror",JSJaCError("401","auth","not-authorized"));this.disconnect()}else{var d=atob(e.firstChild.nodeValue);this.oDbg.log("got challenge: "+d,2);this._nonce=d.substring(d.indexOf("nonce=")+7);this._nonce=this._nonce.substring(0,this._nonce.indexOf('"'));this.oDbg.log("nonce: "+this._nonce,2);if(this._nonce==""||this._nonce.indexOf('"')!=-1){this.oDbg.log("nonce not valid, aborting",1);this.disconnect();return}this._digest_uri="xmpp/";this._digest_uri+=this.domain;this._cnonce=cnonce(14);this._nc="00000001";var c=str_md5(this.username+":"+this.domain+":"+this.pass)+":"+this._nonce+":"+this._cnonce;var b="AUTHENTICATE:"+this._digest_uri;var a=hex_md5(hex_md5(c)+":"+this._nonce+":"+this._nc+":"+this._cnonce+":auth:"+hex_md5(b));var f='username="'+this.username+'",realm="'+this.domain+'",nonce="'+this._nonce+'",cnonce="'+this._cnonce+'",nc="'+this._nc+'",qop=auth,digest-uri="'+this._digest_uri+'",response="'+a+'",charset=utf-8';this.oDbg.log("response: "+f,2);this._sendRaw("<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>"+binb2b64(str2binb(f))+"</response>",this._doSASLAuthDigestMd5S2)}};JSJaCConnection.prototype._doSASLAuthDigestMd5S2=function(e){if(e.nodeName=="failure"){if(e.xml){this.oDbg.log("auth error: "+e.xml,1)}else{this.oDbg.log("auth error",1)}this._handleEvent("onerror",JSJaCError("401","auth","not-authorized"));this.disconnect();return}var c=atob(e.firstChild.nodeValue);this.oDbg.log("response: "+c,2);var f=c.substring(c.indexOf("rspauth=")+8);this.oDbg.log("rspauth: "+f,2);var d=str_md5(this.username+":"+this.domain+":"+this.pass)+":"+this._nonce+":"+this._cnonce;var b=":"+this._digest_uri;var a=hex_md5(hex_md5(d)+":"+this._nonce+":"+this._nc+":"+this._cnonce+":auth:"+hex_md5(b));this.oDbg.log("rsptest: "+a,2);if(a!=f){this.oDbg.log("SASL Digest-MD5: server repsonse with wrong rspauth",1);this.disconnect();return}if(e.nodeName=="success"){this._reInitStream(this.domain,this._doStreamBind)}else{this._sendRaw("<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>",this._doSASLAuthDone)}};JSJaCConnection.prototype._doSASLAuthDone=function(a){if(a.nodeName!="success"){this.oDbg.log("auth failed",1);this._handleEvent("onerror",JSJaCError("401","auth","not-authorized"));this.disconnect()}else{this._reInitStream(this.domain,this._doStreamBind)}};JSJaCConnection.prototype._doStreamBind=function(){var a=new JSJaCIQ();a.setIQ(this.domain,"set","bind_1");a.appendNode("bind",{xmlns:"urn:ietf:params:xml:ns:xmpp-bind"},[["resource",this.resource]]);this.oDbg.log(a.xml());this.send(a,this._doXMPPSess)};JSJaCConnection.prototype._doXMPPSess=function(a){if(a.getType()!="result"||a.getType()=="error"){this.disconnect();if(a.getType()=="error"){this._handleEvent("onerror",a.getChild("error"))}return}this.fulljid=a.getChildVal("jid");this.jid=this.fulljid.substring(0,this.fulljid.lastIndexOf("/"));a=new JSJaCIQ();a.setIQ(this.domain,"set","sess_1");a.appendNode("session",{xmlns:"urn:ietf:params:xml:ns:xmpp-session"},[]);this.oDbg.log(a.xml());this.send(a,this._doXMPPSessDone)};JSJaCConnection.prototype._doXMPPSessDone=function(a){if(a.getType()!="result"||a.getType()=="error"){this.disconnect();if(a.getType()=="error"){this._handleEvent("onerror",a.getChild("error"))}return}else{this._handleEvent("onconnect")}};JSJaCConnection.prototype._handleEvent=function(d,a){d=d.toLowerCase();this.oDbg.log("incoming event '"+d+"'",3);if(!this._events[d]){return}this.oDbg.log("handling event '"+d+"'",2);for(var b=0;b<this._events[d].length;b++){var c=this._events[d][b];if(c.handler){try{if(a){if(a.pType){if((!a.getNode().hasChildNodes()&&c.childName!="*")||(a.getNode().hasChildNodes()&&!a.getChild(c.childName,c.childNS))){continue}if(c.type!="*"&&a.getType()!=c.type){continue}this.oDbg.log(c.childName+"/"+c.childNS+"/"+c.type+" => match for handler "+c.handler,3)}if(c.handler.call(this,a)){break}}else{if(c.handler.call(this)){break}}}catch(f){if(f.name&&f.message){this.oDbg.log(c.handler+"\n>>>"+f.name+": "+f.message,1)}else{this.oDbg.log(c.handler+"\n>>>"+f,1)}}}}};JSJaCConnection.prototype._handlePID=function(d){if(!d.getID()){return false}for(var b in this._regIDs){if(this._regIDs.hasOwnProperty(b)&&this._regIDs[b]&&b==d.getID()){var a=d.getID();this.oDbg.log("handling "+a,3);try{if(this._regIDs[b].cb.call(this,d,this._regIDs[b].arg)===false){return false}else{this._unregisterPID(a);return true}}catch(c){this.oDbg.log(c.name+": "+c.message);this._unregisterPID(a);return true}}}return false};JSJaCConnection.prototype._handleResponse=function(d){var c=this._parseResponse(d);if(!c){return}for(var b=0;b<c.childNodes.length;b++){if(this._sendRawCallbacks.length){var a=this._sendRawCallbacks[0];this._sendRawCallbacks=this._sendRawCallbacks.slice(1,this._sendRawCallbacks.length);a.fn.call(this,c.childNodes.item(b),a.arg);continue}this._inQ=this._inQ.concat(c.childNodes.item(b))}};JSJaCConnection.prototype._parseStreamFeatures=function(f){if(!f){this.oDbg.log("nothing to parse ... aborting",1);return false}var e;if(f.getElementsByTagNameNS){e=f.getElementsByTagNameNS("http://etherx.jabber.org/streams","error").item(0)}else{var g=f.getElementsByTagName("error");for(var b=0;b<g.length;b++){if(g.item(b).namespaceURI=="http://etherx.jabber.org/streams"){e=g.item(b);break}}}if(e){this._setStatus("internal_server_error");clearTimeout(this._timeout);clearInterval(this._interval);clearInterval(this._inQto);this._handleEvent("onerror",JSJaCError("503","cancel","session-terminate"));this._connected=false;this.oDbg.log("Disconnected.",1);this._handleEvent("ondisconnect");return false}this.mechs=new Object();var d=f.getElementsByTagName("mechanisms");this.has_sasl=false;for(var b=0;b<d.length;b++){if(d.item(b).getAttribute("xmlns")=="urn:ietf:params:xml:ns:xmpp-sasl"){this.has_sasl=true;var c=d.item(b).getElementsByTagName("mechanism");for(var a=0;a<c.length;a++){this.mechs[c.item(a).firstChild.nodeValue]=true}break}}if(this.has_sasl){this.oDbg.log("SASL detected",2)}else{this.authtype="nonsasl";this.oDbg.log("No support for SASL detected",2)}return true};JSJaCConnection.prototype._process=function(a){if(!this.connected()){this.oDbg.log("Connection lost ...",1);if(this._interval){clearInterval(this._interval)}return}this.setPollInterval(a);if(this._timeout){clearTimeout(this._timeout)}var d=this._getFreeSlot();if(d<0){return}if(typeof(this._req[d])!="undefined"&&typeof(this._req[d].r)!="undefined"&&this._req[d].r.readyState!=4){this.oDbg.log("Slot "+d+" is not ready");return}if(!this.isPolling()&&this._pQueue.length==0&&this._req[(d+1)%2]&&this._req[(d+1)%2].r.readyState!=4){this.oDbg.log("all slots busy, standby ...",2);return}if(!this.isPolling()){this.oDbg.log("Found working slot at "+d,2)}this._req[d]=this._setupRequest(true);this._req[d]._timeout=setTimeout(JSJaC.bind(this._abort,this),320000);this._req[d].r.onreadystatechange=JSJaC.bind(function(){if(!this.connected()){return}if(this._req[d].r.readyState==1&&this._status=="resuming"){this._setStatus("resumed");this._after_timeout(function(){},250)}else{if(this._req[d].r.readyState==4){if(this._req[d]._timeout){clearTimeout(this._req[d]._timeout)}this._setStatus("processing");this.oDbg.log("async recv: "+this._req[d].r.responseText,4);this._handleResponse(this._req[d]);if(this._pQueue.length){this._timeout=setTimeout(JSJaC.bind(this._process,this),100)}else{this.oDbg.log("scheduling next poll in "+this.getPollInterval()+" msec",4);this._timeout=setTimeout(JSJaC.bind(this._process,this),this.getPollInterval())}}}},this);try{this._req[d].r.onerror=JSJaC.bind(function(){if(this._req[d]._timeout){clearTimeout(this._req[d]._timeout)}if(!this.connected()){return}this._errcnt++;this.oDbg.log("XmlHttpRequest error ("+this._errcnt+")",1);if(this._errcnt>JSJAC_ERR_COUNT){this._abort();return false}this._setStatus("onerror_fallback");setTimeout(JSJaC.bind(this._resume,this),this.getPollInterval());return false},this)}catch(b){}var c=this._getRequestString();if(typeof(this._rid)!="undefined"){this._req[d].rid=this._rid}this.oDbg.log("sending: "+c,4);this._req[d].r.send(c)};JSJaCConnection.prototype._registerPID=function(c,b,a){if(!c||!b){return false}this._regIDs[c]=new Object();this._regIDs[c].cb=b;if(a){this._regIDs[c].arg=a}this.oDbg.log("registered "+c,3);return true};JSJaCConnection.prototype._sendEmpty=function JSJaCSendEmpty(){var b=this._getFreeSlot();this._req[b]=this._setupRequest(true);this._req[b].r.onreadystatechange=JSJaC.bind(function(){if(this._req[b].r.readyState==4){this.oDbg.log("async recv: "+this._req[b].r.responseText,4);this._getStreamID(b)}},this);if(typeof(this._req[b].r.onerror)!="undefined"){this._req[b].r.onerror=JSJaC.bind(function(c){this.oDbg.log("XmlHttpRequest error",1);return false},this)}var a=this._getRequestString();this.oDbg.log("sending: "+a,4);this._req[b].r.send(a)};JSJaCConnection.prototype._sendRaw=function(c,b,a){if(b){this._sendRawCallbacks.push({fn:b,arg:a})}this._pQueue.push(c);this._process();return true};JSJaCConnection.prototype._setStatus=function(a){if(!a||a==""){return}if(a!=this._status){this._status=a;this._handleEvent("onstatuschanged",a);this._handleEvent("status_changed",a)}};JSJaCConnection.prototype._unregisterPID=function(a){if(!this._regIDs[a]){return false}this._regIDs[a]=null;this.oDbg.log("unregistered "+a,3);return true};JSJaCConnection.prototype._after_timeout=function(a,b){var c=this;setTimeout(function(){a.call(c)},b)};function JSJaCHttpBindingConnection(a){this.base=JSJaCConnection;this.base(a);this._hold=JSJACHBC_MAX_HOLD;this._inactivity=0;this._last_requests=new Object();this._last_rid=0;this._min_polling=0;this._pause=0;this._wait=JSJACHBC_MAX_WAIT}JSJaCHttpBindingConnection.prototype=new JSJaCConnection();JSJaCHttpBindingConnection.prototype.inherit=function(a){this.domain=a.domain||"localhost";this.username=a.username;this.resource=a.resource;this._sid=a.sid;this._rid=a.rid;this._min_polling=a.polling;this._inactivity=a.inactivity;this._setHold(a.requests-1);this.setPollInterval(this._timerval);if(a.wait){this._wait=a.wait}this._connected=true;this._handleEvent("onconnect");this._interval=setInterval(JSJaC.bind(this._checkQueue,this),JSJAC_CHECKQUEUEINTERVAL);this._inQto=setInterval(JSJaC.bind(this._checkInQ,this),JSJAC_CHECKINQUEUEINTERVAL);this._timeout=setTimeout(JSJaC.bind(this._process,this),this.getPollInterval())};JSJaCHttpBindingConnection.prototype.setPollInterval=function(a){if(a&&!isNaN(a)){if(!this.isPolling()){this._timerval=100}else{if(this._min_polling&&a<this._min_polling*1000){this._timerval=this._min_polling*1000}else{if(this._inactivity&&a>this._inactivity*1000){this._timerval=this._inactivity*1000}else{this._timerval=a}}}}return this._timerval};JSJaCHttpBindingConnection.prototype.isPolling=function(){return(this._hold==0)};JSJaCHttpBindingConnection.prototype._getFreeSlot=function(){for(var a=0;a<this._hold+1;a++){if(typeof(this._req[a])=="undefined"||typeof(this._req[a].r)=="undefined"||this._req[a].r.readyState==4){return a}}return -1};JSJaCHttpBindingConnection.prototype._getHold=function(){return this._hold};JSJaCHttpBindingConnection.prototype._getRequestString=function(b,e){b=b||"";var f="";if(this._rid<=this._last_rid&&typeof(this._last_requests[this._rid])!="undefined"){f=this._last_requests[this._rid].xml}else{var a="";while(this._pQueue.length){var d=this._pQueue[0];a+=d;this._pQueue=this._pQueue.slice(1,this._pQueue.length)}f="<body rid='"+this._rid+"' sid='"+this._sid+"' xmlns='http://jabber.org/protocol/httpbind' ";if(JSJAC_HAVEKEYS){f+="key='"+this._keys.getKey()+"' ";if(this._keys.lastKey()){this._keys=new JSJaCKeys(hex_sha1,this.oDbg);f+="newkey='"+this._keys.getKey()+"' "}}if(e){f+="type='terminate'"}else{if(this._reinit){if(JSJACHBC_USE_BOSH_VER){f+="xmpp:restart='true' xmlns:xmpp='urn:xmpp:xbosh'"}this._reinit=false}}if(a!=""||b!=""){f+=">"+b+a+"</body>"}else{f+="/>"}this._last_requests[this._rid]=new Object();this._last_requests[this._rid].xml=f;this._last_rid=this._rid;for(var c in this._last_requests){if(this._last_requests.hasOwnProperty(c)&&c<this._rid-this._hold){delete (this._last_requests[c])}}}return f};JSJaCHttpBindingConnection.prototype._getInitialRequestString=function(){var a="<body content='text/xml; charset=utf-8' hold='"+this._hold+"' xmlns='http://jabber.org/protocol/httpbind' to='"+this.authhost+"' wait='"+this._wait+"' rid='"+this._rid+"'";if(this.host||this.port){a+=" route='xmpp:"+this.host+":"+this.port+"'"}if(this.secure){a+=" secure='"+this.secure+"'"}if(JSJAC_HAVEKEYS){this._keys=new JSJaCKeys(hex_sha1,this.oDbg);key=this._keys.getKey();a+=" newkey='"+key+"'"}if(this._xmllang){a+=" xml:lang='"+this._xmllang+"'"}if(JSJACHBC_USE_BOSH_VER){a+=" ver='"+JSJACHBC_BOSH_VERSION+"'";a+=" xmlns:xmpp='urn:xmpp:xbosh'";if(this.authtype=="sasl"||this.authtype=="saslanon"){a+=" xmpp:version='1.0'"}}a+="/>";return a};JSJaCHttpBindingConnection.prototype._getStreamID=function(b){this.oDbg.log(this._req[b].r.responseText,4);if(!this._req[b].r.responseXML||!this._req[b].r.responseXML.documentElement){this._handleEvent("onerror",JSJaCError("503","cancel","service-unavailable"));return}var a=this._req[b].r.responseXML.documentElement;if(a.getAttribute("authid")){this.streamid=a.getAttribute("authid");this.oDbg.log("got streamid: "+this.streamid,2)}else{this._timeout=setTimeout(JSJaC.bind(this._sendEmpty,this),this.getPollInterval());return}this._timeout=setTimeout(JSJaC.bind(this._process,this),this.getPollInterval());if(!this._parseStreamFeatures(a)){return}if(this.register){this._doInBandReg()}else{this._doAuth()}};JSJaCHttpBindingConnection.prototype._getSuspendVars=function(){return("host,port,secure,_rid,_last_rid,_wait,_min_polling,_inactivity,_hold,_pause").split(",")};JSJaCHttpBindingConnection.prototype._handleInitialResponse=function(c){try{this.oDbg.log(this._req[c].r.getAllResponseHeaders(),4);this.oDbg.log(this._req[c].r.responseText,4)}catch(b){this.oDbg.log("No response",4)}if(this._req[c].r.status!=200||!this._req[c].r.responseXML){this.oDbg.log("initial response broken (status: "+this._req[c].r.status+")",1);this._handleEvent("onerror",JSJaCError("503","cancel","service-unavailable"));return}var a=this._req[c].r.responseXML.documentElement;if(!a||a.tagName!="body"||a.namespaceURI!="http://jabber.org/protocol/httpbind"){this.oDbg.log("no body element or incorrect body in initial response",1);this._handleEvent("onerror",JSJaCError("500","wait","internal-service-error"));return}if(a.getAttribute("type")=="terminate"){this.oDbg.log("invalid response:\n"+this._req[c].r.responseText,1);clearTimeout(this._timeout);this._connected=false;this.oDbg.log("Disconnected.",1);this._handleEvent("ondisconnect");this._handleEvent("onerror",JSJaCError("503","cancel","service-unavailable"));return}this._sid=a.getAttribute("sid");this.oDbg.log("got sid: "+this._sid,2);if(a.getAttribute("polling")){this._min_polling=a.getAttribute("polling")}if(a.getAttribute("inactivity")){this._inactivity=a.getAttribute("inactivity")}if(a.getAttribute("requests")){this._setHold(a.getAttribute("requests")-1)}this.oDbg.log("set hold to "+this._getHold(),2);if(a.getAttribute("ver")){this._bosh_version=a.getAttribute("ver")}if(a.getAttribute("maxpause")){this._pause=Math.min(a.getAttribute("maxpause")||0,JSJACHBC_MAXPAUSE)}this.setPollInterval(this._timerval);this._connected=true;this._inQto=setInterval(JSJaC.bind(this._checkInQ,this),JSJAC_CHECKINQUEUEINTERVAL);this._interval=setInterval(JSJaC.bind(this._checkQueue,this),JSJAC_CHECKQUEUEINTERVAL);this._getStreamID(c)};JSJaCHttpBindingConnection.prototype._parseResponse=function(c){if(!this.connected()||!c){return null}var b=c.r;try{if(b.status==404||b.status==403){this._abort();return null}if(b.status!=200||!b.responseXML){this._errcnt++;var f="invalid response ("+b.status+"):\n"+b.getAllResponseHeaders()+"\n"+b.responseText;if(!b.responseXML){f+="\nResponse failed to parse!"}this.oDbg.log(f,1);if(this._errcnt>JSJAC_ERR_COUNT){this._abort();return null}this.oDbg.log("repeating ("+this._errcnt+")",1);this._setStatus("proto_error_fallback");setTimeout(JSJaC.bind(this._resume,this),this.getPollInterval());return null}}catch(d){this.oDbg.log("XMLHttpRequest error: status not available",1);this._errcnt++;if(this._errcnt>JSJAC_ERR_COUNT){this._abort()}else{this.oDbg.log("repeating ("+this._errcnt+")",1);this._setStatus("proto_error_fallback");setTimeout(JSJaC.bind(this._resume,this),this.getPollInterval())}return null}if(!b.responseText){this.oDbg.log("empty response",1);this._errcnt++;if(this._errcnt>JSJAC_ERR_COUNT){this._abort()}else{this.oDbg.log("retrying ("+this._errcnt+")",1);this._setStatus("proto_error_fallback");setTimeout(JSJaC.bind(this._resume,this),this.getPollInterval())}return null}var a=b.responseXML.documentElement;if(!a||a.tagName!="body"||a.namespaceURI!="http://jabber.org/protocol/httpbind"){this.oDbg.log("invalid response:\n"+b.responseText,1);clearTimeout(this._timeout);clearInterval(this._interval);clearInterval(this._inQto);this._connected=false;this.oDbg.log("Disconnected.",1);this._handleEvent("ondisconnect");this._setStatus("internal_server_error");this._handleEvent("onerror",JSJaCError("500","wait","internal-server-error"));return null}if(typeof(c.rid)!="undefined"&&this._last_requests[c.rid]){if(this._last_requests[c.rid].handled){this.oDbg.log("already handled "+c.rid,2);return null}else{this._last_requests[c.rid].handled=true}}if(a.getAttribute("type")=="terminate"){this.oDbg.log("session terminated:\n"+b.responseText,1);clearTimeout(this._timeout);clearInterval(this._interval);clearInterval(this._inQto);if(a.getAttribute("condition")=="remote-stream-error"){if(a.getElementsByTagName("conflict").length>0){this._setStatus("session-terminate-conflict")}}this._handleEvent("onerror",JSJaCError("503","cancel",a.getAttribute("condition")));this._connected=false;this.oDbg.log("Disconnected.",1);this._handleEvent("ondisconnect");return null}this._errcnt=0;return b.responseXML.documentElement};JSJaCHttpBindingConnection.prototype._reInitStream=function(c,b,a){this._reinit=true;b.call(this,a)};JSJaCHttpBindingConnection.prototype._resume=function(){this._process()};JSJaCHttpBindingConnection.prototype._setHold=function(a){if(!a||isNaN(a)||a<0){a=0}else{if(a>JSJACHBC_MAX_HOLD){a=JSJACHBC_MAX_HOLD}}this._hold=a;return this._hold};JSJaCHttpBindingConnection.prototype._setupRequest=function(a){var c=new Object();var b=XmlHttp.create();try{b.open("POST",this._httpbase,a);b.setRequestHeader("Content-Type","text/xml; charset=utf-8")}catch(d){this.oDbg.log(d,1)}c.r=b;this._rid++;c.rid=this._rid;return c};JSJaCHttpBindingConnection.prototype._suspend=function(){if(this._pause==0){return}var c=this._getFreeSlot();this._req[c]=this._setupRequest(false);var b="<body pause='"+this._pause+"' xmlns='http://jabber.org/protocol/httpbind' sid='"+this._sid+"' rid='"+this._rid+"'";if(JSJAC_HAVEKEYS){b+=" key='"+this._keys.getKey()+"'";if(this._keys.lastKey()){this._keys=new JSJaCKeys(hex_sha1,this.oDbg);b+=" newkey='"+this._keys.getKey()+"'"}}b+=">";while(this._pQueue.length){var a=this._pQueue[0];b+=a;this._pQueue=this._pQueue.slice(1,this._pQueue.length)}b+="</body>";this.oDbg.log("Disconnecting: "+b,4);this._req[c].r.send(b)};function JSJaCHttpPollingConnection(a){this.base=JSJaCConnection;this.base(a);JSJACPACKET_USE_XMLNS=false}JSJaCHttpPollingConnection.prototype=new JSJaCConnection();JSJaCHttpPollingConnection.prototype.isPolling=function(){return true};JSJaCHttpPollingConnection.prototype._getFreeSlot=function(){if(typeof(this._req[0])=="undefined"||typeof(this._req[0].r)=="undefined"||this._req[0].r.readyState==4){return 0}else{return -1}};JSJaCHttpPollingConnection.prototype._getInitialRequestString=function(){var b="0";if(JSJAC_HAVEKEYS){this._keys=new JSJaCKeys(b64_sha1,this.oDbg);key=this._keys.getKey();b+=";"+key}var a=this.domain;if(this.authhost){a=this.authhost}b+=",<stream:stream to='"+a+"' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'";if(this.authtype=="sasl"||this.authtype=="saslanon"){b+=" version='1.0'"}b+=">";return b};JSJaCHttpPollingConnection.prototype._getRequestString=function(a,b){var c=this._sid;if(JSJAC_HAVEKEYS){c+=";"+this._keys.getKey();if(this._keys.lastKey()){this._keys=new JSJaCKeys(b64_sha1,this.oDbg);c+=";"+this._keys.getKey()}}c+=",";if(a){c+=a}while(this._pQueue.length){c+=this._pQueue[0];this._pQueue=this._pQueue.slice(1,this._pQueue.length)}if(b){c+="</stream:stream>"}return c};JSJaCHttpPollingConnection.prototype._getStreamID=function(){if(this._req[0].r.responseText==""){this.oDbg.log("waiting for stream id",2);this._timeout=setTimeout(JSJaC.bind(this._sendEmpty,this),1000);return}this.oDbg.log(this._req[0].r.responseText,4);if(this._req[0].r.responseText.match(/id=[\'\"]([^\'\"]+)[\'\"]/)){this.streamid=RegExp.$1}this.oDbg.log("got streamid: "+this.streamid,2);var c;try{var a=this._req[0].r.responseText;if(!a.match(/<\/stream:stream>\s*$/)){a+="</stream:stream>"}c=XmlDocument.create("doc");c.loadXML(a);if(!this._parseStreamFeatures(c)){return}}catch(b){this.oDbg.log("loadXML: "+b.toString(),1)}this._connected=true;if(this.register){this._doInBandReg()}else{this._doAuth()}this._process(this._timerval)};JSJaCHttpPollingConnection.prototype._getSuspendVars=function(){return new Array()};JSJaCHttpPollingConnection.prototype._handleInitialResponse=function(){this.oDbg.log(this._req[0].r.getAllResponseHeaders(),4);var b=this._req[0].r.getResponseHeader("Set-Cookie");b=b.split(";");for(var a=0;a<b.length;a++){aArg=b[a].split("=");if(aArg[0]=="ID"){this._sid=aArg[1]}}this.oDbg.log("got sid: "+this._sid,2);this._connected=true;this._interval=setInterval(JSJaC.bind(this._checkQueue,this),JSJAC_CHECKQUEUEINTERVAL);this._inQto=setInterval(JSJaC.bind(this._checkInQ,this),JSJAC_CHECKINQUEUEINTERVAL);this._getStreamID()};JSJaCHttpPollingConnection.prototype._parseResponse=function(a){var h=a.r;if(!this.connected()){return null}if(h.status!=200){this.oDbg.log("invalid response ("+h.status+"):"+h.responseText+"\n"+h.getAllResponseHeaders(),1);this._setStatus("internal_server_error");clearTimeout(this._timeout);clearInterval(this._interval);clearInterval(this._inQto);this._connected=false;this.oDbg.log("Disconnected.",1);this._handleEvent("ondisconnect");this._handleEvent("onerror",JSJaCError("503","cancel","service-unavailable"));return null}this.oDbg.log(h.getAllResponseHeaders(),4);var b,j=h.getResponseHeader("Set-Cookie");if(j==null){b="-1:0"}else{j=j.split(";");var b;for(var d=0;d<j.length;d++){var g=j[d].split("=");if(g[0]=="ID"){b=g[1]}}}if(typeof(b)!="undefined"&&b.indexOf(":0")!=-1){switch(b.substring(0,b.indexOf(":0"))){case"0":this.oDbg.log("invalid response:"+h.responseText,1);break;case"-1":this.oDbg.log("Internal Server Error",1);break;case"-2":this.oDbg.log("Bad Request",1);break;case"-3":this.oDbg.log("Key Sequence Error",1);break}this._setStatus("internal_server_error");clearTimeout(this._timeout);clearInterval(this._interval);clearInterval(this._inQto);this._handleEvent("onerror",JSJaCError("500","wait","internal-server-error"));this._connected=false;this.oDbg.log("Disconnected.",1);this._handleEvent("ondisconnect");return null}if(!h.responseText||h.responseText==""){return null}try{var c=h.responseText.replace(/\<\?xml.+\?\>/,"");if(c.match(/<stream:stream/)){c+="</stream:stream>"}var k=JSJaCHttpPollingConnection._parseTree("<body>"+c+"</body>");if(!k||k.tagName=="parsererror"){this.oDbg.log("parsererror",1);k=JSJaCHttpPollingConnection._parseTree("<stream:stream xmlns:stream='http://etherx.jabber.org/streams'>"+h.responseText);if(k&&k.tagName!="parsererror"){this.oDbg.log("stream closed",1);if(k.getElementsByTagName("conflict").length>0){this._setStatus("session-terminate-conflict")}clearTimeout(this._timeout);clearInterval(this._interval);clearInterval(this._inQto);this._handleEvent("onerror",JSJaCError("503","cancel","session-terminate"));this._connected=false;this.oDbg.log("Disconnected.",1);this._handleEvent("ondisconnect")}else{this.oDbg.log("parsererror:"+k,1)}return k}return k}catch(f){this.oDbg.log("parse error:"+f.message,1)}return null};JSJaCHttpPollingConnection.prototype._reInitStream=function(c,b,a){this._sendRaw("<stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' to='"+c+"' version='1.0'>",b,a)};JSJaCHttpPollingConnection.prototype._resume=function(){this._process(this._timerval)};JSJaCHttpPollingConnection.prototype._setupRequest=function(a){var c=XmlHttp.create();try{c.open("POST",this._httpbase,a);if(c.overrideMimeType){c.overrideMimeType("text/plain; charset=utf-8")}c.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(d){this.oDbg.log(d,1)}var b=new Object();b.r=c;return b};JSJaCHttpPollingConnection.prototype._suspend=function(){};JSJaCHttpPollingConnection._parseTree=function(a){try{var b=XmlDocument.create("body","foo");if(typeof(b.loadXML)!="undefined"){b.loadXML(a);return b.documentElement}else{if(window.DOMParser){return(new DOMParser()).parseFromString(a,"text/xml").documentElement}}}catch(c){}return null};var JSJaC={Version:"$Rev: 456 $",require:function(a){document.write('<script type="text/javascript" src="'+a+'"><\/script>')},load:function(){var c=["xmlextras","jsextras","crypt","JSJaCConfig","JSJaCConstants","JSJaCCookie","JSJaCJSON","JSJaCJID","JSJaCBuilder","JSJaCPacket","JSJaCError","JSJaCKeys","JSJaCConnection","JSJaCHttpPollingConnection","JSJaCHttpBindingConnection","JSJaCConsoleLogger"];var a=document.getElementsByTagName("script");var d="./";for(var b=0;b<a.length;b++){if(a.item(b).src&&a.item(b).src.match(/JSJaC\.js$/)){d=a.item(b).src.replace(/JSJaC.js$/,"");break}}for(var b=0;b<c.length;b++){this.require(d+c[b]+".js")}},bind:function(b,c,a){return function(){if(a){b.apply(c,a)}else{b.apply(c)}}}};if(typeof JSJaCConnection=="undefined"){JSJaC.load()}(function(){if(typeof eCarList!=="object"){eCarList={}}eCarList.use_jQuery=function(d,c){var b="jQuery_"+d.fn.jquery.replace(/\./g,"_");eCarList[b]=d;if(c||!eCarList.jQuery){eCarList.jQuery=eCarList.$=d}};eCarList.namespace=function(f){eCarList.assert(f&&typeof f==="string","invalid namespace: "+f);var g=f.split(".");var e=window;for(var c=0;c<g.length;c++){var j=g[c];eCarList.assert(typeof j==="string","non-string namespace element: "+j);j=j.replace(/\s+/g,"");eCarList.assert(j.match(/^\w+$/),"invalid namespace element: "+j);if(typeof e[j]!=="object"){e[j]={}}e=e[j]}if(arguments.length>1){var d=arguments[arguments.length-1];if(typeof d==="function"){var h=arguments[1];if(typeof h==="string"){var b="jQuery_"+h.replace(/\./g,"_");eCarList.assert(eCarList[b],"invalid jQuery version: "+h);d(e,eCarList[b])}else{d(e,eCarList.jQuery)}}}return e};var a=function(){};eCarList.debug=a;eCarList.info=a;eCarList.warn=a;eCarList.error=a;eCarList.attach_logger=function(b){var d=["debug","info","warn","error"];for(var c=0;c<d.length;c++){var e=d[c];eCarList.assert(b[e],"invalid logger, missing level: "+e);eCarList[e]=b[e]}};eCarList.assert=function(b,c){if(!b){eCarList.error(c);throw c}}}());
/*
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: 2010-09-27 16:25:08 -0500 (Mon, 27 Sep 2010)
 */
(function(aM,C){var a=function(aY,aZ){return new a.fn.init(aY,aZ)},n=aM.jQuery,R=aM.$,ab=aM.document,X,P=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,aW=/^.[^:#\[\.,]*$/,ax=/\S/,M=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,e=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,b=navigator.userAgent,u,K=false,ad=[],aG,at=Object.prototype.toString,ap=Object.prototype.hasOwnProperty,g=Array.prototype.push,F=Array.prototype.slice,s=Array.prototype.indexOf;a.fn=a.prototype={init:function(aY,a1){var a0,a2,aZ,a3;if(!aY){return this}if(aY.nodeType){this.context=this[0]=aY;this.length=1;return this}if(aY==="body"&&!a1){this.context=ab;this[0]=ab.body;this.selector="body";this.length=1;return this}if(typeof aY==="string"){a0=P.exec(aY);if(a0&&(a0[1]||!a1)){if(a0[1]){a3=(a1?a1.ownerDocument||a1:ab);aZ=e.exec(aY);if(aZ){if(a.isPlainObject(a1)){aY=[ab.createElement(aZ[1])];a.fn.attr.call(aY,a1,true)}else{aY=[a3.createElement(aZ[1])]}}else{aZ=J([a0[1]],[a3]);aY=(aZ.cacheable?aZ.fragment.cloneNode(true):aZ.fragment).childNodes}return a.merge(this,aY)}else{a2=ab.getElementById(a0[2]);if(a2){if(a2.id!==a0[2]){return X.find(aY)}this.length=1;this[0]=a2}this.context=ab;this.selector=aY;return this}}else{if(!a1&&/^\w+$/.test(aY)){this.selector=aY;this.context=ab;aY=ab.getElementsByTagName(aY);return a.merge(this,aY)}else{if(!a1||a1.jquery){return(a1||X).find(aY)}else{return a(a1).find(aY)}}}}else{if(a.isFunction(aY)){return X.ready(aY)}}if(aY.selector!==C){this.selector=aY.selector;this.context=aY.context}return a.makeArray(aY,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(aY){return aY==null?this.toArray():(aY<0?this.slice(aY)[0]:this[aY])},pushStack:function(aZ,a1,aY){var a0=a();if(a.isArray(aZ)){g.apply(a0,aZ)}else{a.merge(a0,aZ)}a0.prevObject=this;a0.context=this.context;if(a1==="find"){a0.selector=this.selector+(this.selector?" ":"")+aY}else{if(a1){a0.selector=this.selector+"."+a1+"("+aY+")"}}return a0},each:function(aZ,aY){return a.each(this,aZ,aY)},ready:function(aY){a.bindReady();if(a.isReady){aY.call(ab,a)}else{if(ad){ad.push(aY)}}return this},eq:function(aY){return aY===-1?this.slice(aY):this.slice(aY,+aY+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(aY){return this.pushStack(a.map(this,function(a0,aZ){return aY.call(a0,aZ,a0)}))},end:function(){return this.prevObject||a(null)},push:g,sort:[].sort,splice:[].splice};a.fn.init.prototype=a.fn;a.extend=a.fn.extend=function(){var a3=arguments[0]||{},a2=1,a1=arguments.length,a5=false,a6,a0,aY,aZ;if(typeof a3==="boolean"){a5=a3;a3=arguments[1]||{};a2=2}if(typeof a3!=="object"&&!a.isFunction(a3)){a3={}}if(a1===a2){a3=this;--a2}for(;a2<a1;a2++){if((a6=arguments[a2])!=null){for(a0 in a6){aY=a3[a0];aZ=a6[a0];if(a3===aZ){continue}if(a5&&aZ&&(a.isPlainObject(aZ)||a.isArray(aZ))){var a4=aY&&(a.isPlainObject(aY)||a.isArray(aY))?aY:a.isArray(aZ)?[]:{};a3[a0]=a.extend(a5,a4,aZ)}else{if(aZ!==C){a3[a0]=aZ}}}}}return a3};a.extend({noConflict:function(aY){aM.$=R;if(aY){aM.jQuery=n}return a},isReady:false,ready:function(){if(!a.isReady){if(!ab.body){return setTimeout(a.ready,13)}a.isReady=true;if(ad){var aZ,aY=0;while((aZ=ad[aY++])){aZ.call(ab,a)}ad=null}if(a.fn.triggerHandler){a(ab).triggerHandler("ready")}}},bindReady:function(){if(K){return}K=true;if(ab.readyState==="complete"){return a.ready()}if(ab.addEventListener){ab.addEventListener("DOMContentLoaded",aG,false);aM.addEventListener("load",a.ready,false)}else{if(ab.attachEvent){ab.attachEvent("onreadystatechange",aG);aM.attachEvent("onload",a.ready);var aY=false;try{aY=aM.frameElement==null}catch(aZ){}if(ab.documentElement.doScroll&&aY){x()}}}},isFunction:function(aY){return at.call(aY)==="[object Function]"},isArray:function(aY){return at.call(aY)==="[object Array]"},isPlainObject:function(aZ){if(!aZ||at.call(aZ)!=="[object Object]"||aZ.nodeType||aZ.setInterval){return false}if(aZ.constructor&&!ap.call(aZ,"constructor")&&!ap.call(aZ.constructor.prototype,"isPrototypeOf")){return false}var aY;for(aY in aZ){}return aY===C||ap.call(aZ,aY)},isEmptyObject:function(aZ){for(var aY in aZ){return false}return true},error:function(aY){throw aY},parseJSON:function(aY){if(typeof aY!=="string"||!aY){return null}aY=a.trim(aY);if(/^[\],:{}\s]*$/.test(aY.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){return aM.JSON&&aM.JSON.parse?aM.JSON.parse(aY):(new Function("return "+aY))()}else{a.error("Invalid JSON: "+aY)}},noop:function(){},globalEval:function(a0){if(a0&&ax.test(a0)){var aZ=ab.getElementsByTagName("head")[0]||ab.documentElement,aY=ab.createElement("script");aY.type="text/javascript";if(a.support.scriptEval){aY.appendChild(ab.createTextNode(a0))}else{aY.text=a0}aZ.insertBefore(aY,aZ.firstChild);aZ.removeChild(aY)}},nodeName:function(aZ,aY){return aZ.nodeName&&aZ.nodeName.toUpperCase()===aY.toUpperCase()},each:function(a1,a5,a0){var aZ,a2=0,a3=a1.length,aY=a3===C||a.isFunction(a1);if(a0){if(aY){for(aZ in a1){if(a5.apply(a1[aZ],a0)===false){break}}}else{for(;a2<a3;){if(a5.apply(a1[a2++],a0)===false){break}}}}else{if(aY){for(aZ in a1){if(a5.call(a1[aZ],aZ,a1[aZ])===false){break}}}else{for(var a4=a1[0];a2<a3&&a5.call(a4,a2,a4)!==false;a4=a1[++a2]){}}}return a1},trim:function(aY){return(aY||"").replace(M,"")},makeArray:function(a0,aZ){var aY=aZ||[];if(a0!=null){if(a0.length==null||typeof a0==="string"||a.isFunction(a0)||(typeof a0!=="function"&&a0.setInterval)){g.call(aY,a0)}else{a.merge(aY,a0)}}return aY},inArray:function(a0,a1){if(a1.indexOf){return a1.indexOf(a0)}for(var aY=0,aZ=a1.length;aY<aZ;aY++){if(a1[aY]===a0){return aY}}return -1},merge:function(a2,a0){var a1=a2.length,aZ=0;if(typeof a0.length==="number"){for(var aY=a0.length;aZ<aY;aZ++){a2[a1++]=a0[aZ]}}else{while(a0[aZ]!==C){a2[a1++]=a0[aZ++]}}a2.length=a1;return a2},grep:function(aZ,a3,aY){var a0=[];for(var a1=0,a2=aZ.length;a1<a2;a1++){if(!aY!==!a3(aZ[a1],a1)){a0.push(aZ[a1])}}return a0},map:function(aZ,a4,aY){var a0=[],a3;for(var a1=0,a2=aZ.length;a1<a2;a1++){a3=a4(aZ[a1],a1,aY);if(a3!=null){a0[a0.length]=a3}}return a0.concat.apply([],a0)},guid:1,proxy:function(a0,aZ,aY){if(arguments.length===2){if(typeof aZ==="string"){aY=a0;a0=aY[aZ];aZ=C}else{if(aZ&&!a.isFunction(aZ)){aY=aZ;aZ=C}}}if(!aZ&&a0){aZ=function(){return a0.apply(aY||this,arguments)}}if(a0){aZ.guid=a0.guid=a0.guid||aZ.guid||a.guid++}return aZ},uaMatch:function(aZ){aZ=aZ.toLowerCase();var aY=/(webkit)[ \/]([\w.]+)/.exec(aZ)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(aZ)||/(msie) ([\w.]+)/.exec(aZ)||!/compatible/.test(aZ)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(aZ)||[];return{browser:aY[1]||"",version:aY[2]||"0"}},browser:{}});u=a.uaMatch(b);if(u.browser){a.browser[u.browser]=true;a.browser.version=u.version}if(a.browser.webkit){a.browser.safari=true}if(s){a.inArray=function(aY,aZ){return s.call(aZ,aY)}}X=a(ab);if(ab.addEventListener){aG=function(){ab.removeEventListener("DOMContentLoaded",aG,false);a.ready()}}else{if(ab.attachEvent){aG=function(){if(ab.readyState==="complete"){ab.detachEvent("onreadystatechange",aG);a.ready()}}}}function x(){if(a.isReady){return}try{ab.documentElement.doScroll("left")}catch(aY){setTimeout(x,1);return}a.ready()}function aV(aY,aZ){if(aZ.src){a.ajax({url:aZ.src,async:false,dataType:"script"})}else{a.globalEval(aZ.text||aZ.textContent||aZ.innerHTML||"")}if(aZ.parentNode){aZ.parentNode.removeChild(aZ)}}function an(aY,a6,a4,a0,a3,a5){var aZ=aY.length;if(typeof a6==="object"){for(var a1 in a6){an(aY,a1,a6[a1],a0,a3,a4)}return aY}if(a4!==C){a0=!a5&&a0&&a.isFunction(a4);for(var a2=0;a2<aZ;a2++){a3(aY[a2],a6,a0?a4.call(aY[a2],a2,a3(aY[a2],a6)):a4,a5)}return aY}return aZ?a3(aY[0],a6):C}function aP(){return(new Date).getTime()}(function(){a.support={};var a4=ab.documentElement,a3=ab.createElement("script"),aY=ab.createElement("div"),aZ="script"+aP();aY.style.display="none";aY.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var a6=aY.getElementsByTagName("*"),a5=aY.getElementsByTagName("a")[0];if(!a6||!a6.length||!a5){return}a.support={leadingWhitespace:aY.firstChild.nodeType===3,tbody:!aY.getElementsByTagName("tbody").length,htmlSerialize:!!aY.getElementsByTagName("link").length,style:/red/.test(a5.getAttribute("style")),hrefNormalized:a5.getAttribute("href")==="/a",opacity:/^0.55$/.test(a5.style.opacity),cssFloat:!!a5.style.cssFloat,checkOn:aY.getElementsByTagName("input")[0].value==="on",optSelected:ab.createElement("select").appendChild(ab.createElement("option")).selected,parentNode:aY.removeChild(aY.appendChild(ab.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};a3.type="text/javascript";try{a3.appendChild(ab.createTextNode("window."+aZ+"=1;"))}catch(a1){}a4.insertBefore(a3,a4.firstChild);if(aM[aZ]){a.support.scriptEval=true;delete aM[aZ]}try{delete a3.test}catch(a1){a.support.deleteExpando=false}a4.removeChild(a3);if(aY.attachEvent&&aY.fireEvent){aY.attachEvent("onclick",function a7(){a.support.noCloneEvent=false;aY.detachEvent("onclick",a7)});aY.cloneNode(true).fireEvent("onclick")}aY=ab.createElement("div");aY.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var a0=ab.createDocumentFragment();a0.appendChild(aY.firstChild);a.support.checkClone=a0.cloneNode(true).cloneNode(true).lastChild.checked;a(function(){var a8=ab.createElement("div");a8.style.width=a8.style.paddingLeft="1px";ab.body.appendChild(a8);a.boxModel=a.support.boxModel=a8.offsetWidth===2;ab.body.removeChild(a8).style.display="none";a8=null});var a2=function(a8){var ba=ab.createElement("div");a8="on"+a8;var a9=(a8 in ba);if(!a9){ba.setAttribute(a8,"return;");a9=typeof ba[a8]==="function"}ba=null;return a9};a.support.submitBubbles=a2("submit");a.support.changeBubbles=a2("change");a4=a3=aY=a6=a5=null})();a.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var aI="jQuery"+aP(),aH=0,aT={};a.extend({cache:{},expando:aI,noData:{embed:true,object:true,applet:true},data:function(a0,aZ,a2){if(a0.nodeName&&a.noData[a0.nodeName.toLowerCase()]){return}a0=a0==aM?aT:a0;var a3=a0[aI],aY=a.cache,a1;if(!a3&&typeof aZ==="string"&&a2===C){return null}if(!a3){a3=++aH}if(typeof aZ==="object"){a0[aI]=a3;a1=aY[a3]=a.extend(true,{},aZ)}else{if(!aY[a3]){a0[aI]=a3;aY[a3]={}}}a1=aY[a3];if(a2!==C){a1[aZ]=a2}return typeof aZ==="string"?a1[aZ]:a1},removeData:function(a0,aZ){if(a0.nodeName&&a.noData[a0.nodeName.toLowerCase()]){return}a0=a0==aM?aT:a0;var a2=a0[aI],aY=a.cache,a1=aY[a2];if(aZ){if(a1){delete a1[aZ];if(a.isEmptyObject(a1)){a.removeData(a0)}}}else{if(a.support.deleteExpando){delete a0[a.expando]}else{if(a0.removeAttribute){a0.removeAttribute(a.expando)}}delete aY[a2]}}});a.fn.extend({data:function(aY,a0){if(typeof aY==="undefined"&&this.length){return a.data(this[0])}else{if(typeof aY==="object"){return this.each(function(){a.data(this,aY)})}}var a1=aY.split(".");a1[1]=a1[1]?"."+a1[1]:"";if(a0===C){var aZ=this.triggerHandler("getData"+a1[1]+"!",[a1[0]]);if(aZ===C&&this.length){aZ=a.data(this[0],aY)}return aZ===C&&a1[1]?this.data(a1[0]):aZ}else{return this.trigger("setData"+a1[1]+"!",[a1[0],a0]).each(function(){a.data(this,aY,a0)})}},removeData:function(aY){return this.each(function(){a.removeData(this,aY)})}});a.extend({queue:function(aZ,aY,a1){if(!aZ){return}aY=(aY||"fx")+"queue";var a0=a.data(aZ,aY);if(!a1){return a0||[]}if(!a0||a.isArray(a1)){a0=a.data(aZ,aY,a.makeArray(a1))}else{a0.push(a1)}return a0},dequeue:function(a1,a0){a0=a0||"fx";var aY=a.queue(a1,a0),aZ=aY.shift();if(aZ==="inprogress"){aZ=aY.shift()}if(aZ){if(a0==="fx"){aY.unshift("inprogress")}aZ.call(a1,function(){a.dequeue(a1,a0)})}}});a.fn.extend({queue:function(aY,aZ){if(typeof aY!=="string"){aZ=aY;aY="fx"}if(aZ===C){return a.queue(this[0],aY)}return this.each(function(a1,a2){var a0=a.queue(this,aY,aZ);if(aY==="fx"&&a0[0]!=="inprogress"){a.dequeue(this,aY)}})},dequeue:function(aY){return this.each(function(){a.dequeue(this,aY)})},delay:function(aZ,aY){aZ=a.fx?a.fx.speeds[aZ]||aZ:aZ;aY=aY||"fx";return this.queue(aY,function(){var a0=this;setTimeout(function(){a.dequeue(a0,aY)},aZ)})},clearQueue:function(aY){return this.queue(aY||"fx",[])}});var ao=/[\n\t]/g,S=/\s+/,av=/\r/g,aQ=/href|src|style/,d=/(button|input)/i,z=/(button|input|object|select|textarea)/i,j=/^(a|area)$/i,I=/radio|checkbox/;a.fn.extend({attr:function(aY,aZ){return an(this,aY,aZ,true,a.attr)},removeAttr:function(aY,aZ){return this.each(function(){a.attr(this,aY,"");if(this.nodeType===1){this.removeAttribute(aY)}})},addClass:function(a5){if(a.isFunction(a5)){return this.each(function(a8){var a7=a(this);a7.addClass(a5.call(this,a8,a7.attr("class")))})}if(a5&&typeof a5==="string"){var aY=(a5||"").split(S);for(var a1=0,a0=this.length;a1<a0;a1++){var aZ=this[a1];if(aZ.nodeType===1){if(!aZ.className){aZ.className=a5}else{var a2=" "+aZ.className+" ",a4=aZ.className;for(var a3=0,a6=aY.length;a3<a6;a3++){if(a2.indexOf(" "+aY[a3]+" ")<0){a4+=" "+aY[a3]}}aZ.className=a.trim(a4)}}}}return this},removeClass:function(a3){if(a.isFunction(a3)){return this.each(function(a7){var a6=a(this);a6.removeClass(a3.call(this,a7,a6.attr("class")))})}if((a3&&typeof a3==="string")||a3===C){var a4=(a3||"").split(S);for(var a0=0,aZ=this.length;a0<aZ;a0++){var a2=this[a0];if(a2.nodeType===1&&a2.className){if(a3){var a1=(" "+a2.className+" ").replace(ao," ");for(var a5=0,aY=a4.length;a5<aY;a5++){a1=a1.replace(" "+a4[a5]+" "," ")}a2.className=a.trim(a1)}else{a2.className=""}}}}return this},toggleClass:function(a1,aZ){var a0=typeof a1,aY=typeof aZ==="boolean";if(a.isFunction(a1)){return this.each(function(a3){var a2=a(this);a2.toggleClass(a1.call(this,a3,a2.attr("class"),aZ),aZ)})}return this.each(function(){if(a0==="string"){var a4,a3=0,a2=a(this),a5=aZ,a6=a1.split(S);while((a4=a6[a3++])){a5=aY?a5:!a2.hasClass(a4);a2[a5?"addClass":"removeClass"](a4)}}else{if(a0==="undefined"||a0==="boolean"){if(this.className){a.data(this,"__className__",this.className)}this.className=this.className||a1===false?"":a.data(this,"__className__")||""}}})},hasClass:function(aY){var a1=" "+aY+" ";for(var a0=0,aZ=this.length;a0<aZ;a0++){if((" "+this[a0].className+" ").replace(ao," ").indexOf(a1)>-1){return true}}return false},val:function(a5){if(a5===C){var aZ=this[0];if(aZ){if(a.nodeName(aZ,"option")){return(aZ.attributes.value||{}).specified?aZ.value:aZ.text}if(a.nodeName(aZ,"select")){var a3=aZ.selectedIndex,a6=[],a7=aZ.options,a2=aZ.type==="select-one";if(a3<0){return null}for(var a0=a2?a3:0,a4=a2?a3+1:a7.length;a0<a4;a0++){var a1=a7[a0];if(a1.selected){a5=a(a1).val();if(a2){return a5}a6.push(a5)}}return a6}if(I.test(aZ.type)&&!a.support.checkOn){return aZ.getAttribute("value")===null?"on":aZ.value}return(aZ.value||"").replace(av,"")}return C}var aY=a.isFunction(a5);return this.each(function(ba){var a9=a(this),bb=a5;if(this.nodeType!==1){return}if(aY){bb=a5.call(this,ba,a9.val())}if(typeof bb==="number"){bb+=""}if(a.isArray(bb)&&I.test(this.type)){this.checked=a.inArray(a9.val(),bb)>=0}else{if(a.nodeName(this,"select")){var a8=a.makeArray(bb);a("option",this).each(function(){this.selected=a.inArray(a(this).val(),a8)>=0});if(!a8.length){this.selectedIndex=-1}}else{this.value=bb}}})}});a.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(aZ,aY,a4,a7){if(!aZ||aZ.nodeType===3||aZ.nodeType===8){return C}if(a7&&aY in a.attrFn){return a(aZ)[aY](a4)}var a0=aZ.nodeType!==1||!a.isXMLDoc(aZ),a3=a4!==C;aY=a0&&a.props[aY]||aY;if(aZ.nodeType===1){var a2=aQ.test(aY);if(aY==="selected"&&!a.support.optSelected){var a5=aZ.parentNode;if(a5){a5.selectedIndex;if(a5.parentNode){a5.parentNode.selectedIndex}}}if(aY in aZ&&a0&&!a2){if(a3){if(aY==="type"&&d.test(aZ.nodeName)&&aZ.parentNode){a.error("type property can't be changed")}aZ[aY]=a4}if(a.nodeName(aZ,"form")&&aZ.getAttributeNode(aY)){return aZ.getAttributeNode(aY).nodeValue}if(aY==="tabIndex"){var a6=aZ.getAttributeNode("tabIndex");return a6&&a6.specified?a6.value:z.test(aZ.nodeName)||j.test(aZ.nodeName)&&aZ.href?0:C}return aZ[aY]}if(!a.support.style&&a0&&aY==="style"){if(a3){aZ.style.cssText=""+a4}return aZ.style.cssText}if(a3){aZ.setAttribute(aY,""+a4)}var a1=!a.support.hrefNormalized&&a0&&a2?aZ.getAttribute(aY,2):aZ.getAttribute(aY);return a1===null?C:a1}return a.style(aZ,aY,a4)}});var aC=/\.(.*)$/,A=function(aY){return aY.replace(/[^\w\s\.\|`]/g,function(aZ){return"\\"+aZ})};a.event={add:function(a1,a5,ba,a3){if(a1.nodeType===3||a1.nodeType===8){return}if(a1.setInterval&&(a1!==aM&&!a1.frameElement)){a1=aM}var aZ,a9;if(ba.handler){aZ=ba;ba=aZ.handler}if(!ba.guid){ba.guid=a.guid++}var a6=a.data(a1);if(!a6){return}var bb=a6.events=a6.events||{},a4=a6.handle,a4;if(!a4){a6.handle=a4=function(){return typeof a!=="undefined"&&!a.event.triggered?a.event.handle.apply(a4.elem,arguments):C}}a4.elem=a1;a5=a5.split(" ");var a8,a2=0,aY;while((a8=a5[a2++])){a9=aZ?a.extend({},aZ):{handler:ba,data:a3};if(a8.indexOf(".")>-1){aY=a8.split(".");a8=aY.shift();a9.namespace=aY.slice(0).sort().join(".")}else{aY=[];a9.namespace=""}a9.type=a8;a9.guid=ba.guid;var a0=bb[a8],a7=a.event.special[a8]||{};if(!a0){a0=bb[a8]=[];if(!a7.setup||a7.setup.call(a1,a3,aY,a4)===false){if(a1.addEventListener){a1.addEventListener(a8,a4,false)}else{if(a1.attachEvent){a1.attachEvent("on"+a8,a4)}}}}if(a7.add){a7.add.call(a1,a9);if(!a9.handler.guid){a9.handler.guid=ba.guid}}a0.push(a9);a.event.global[a8]=true}a1=null},global:{},remove:function(bd,a8,aZ,a4){if(bd.nodeType===3||bd.nodeType===8){return}var bg,a3,a5,bb=0,a1,a6,a9,a2,a7,aY,bf,bc=a.data(bd),a0=bc&&bc.events;if(!bc||!a0){return}if(a8&&a8.type){aZ=a8.handler;a8=a8.type}if(!a8||typeof a8==="string"&&a8.charAt(0)==="."){a8=a8||"";for(a3 in a0){a.event.remove(bd,a3+a8)}return}a8=a8.split(" ");while((a3=a8[bb++])){bf=a3;aY=null;a1=a3.indexOf(".")<0;a6=[];if(!a1){a6=a3.split(".");a3=a6.shift();a9=new RegExp("(^|\\.)"+a.map(a6.slice(0).sort(),A).join("\\.(?:.*\\.)?")+"(\\.|$)")}a7=a0[a3];if(!a7){continue}if(!aZ){for(var ba=0;ba<a7.length;ba++){aY=a7[ba];if(a1||a9.test(aY.namespace)){a.event.remove(bd,bf,aY.handler,ba);a7.splice(ba--,1)}}continue}a2=a.event.special[a3]||{};for(var ba=a4||0;ba<a7.length;ba++){aY=a7[ba];if(aZ.guid===aY.guid){if(a1||a9.test(aY.namespace)){if(a4==null){a7.splice(ba--,1)}if(a2.remove){a2.remove.call(bd,aY)}}if(a4!=null){break}}}if(a7.length===0||a4!=null&&a7.length===1){if(!a2.teardown||a2.teardown.call(bd,a6)===false){ag(bd,a3,bc.handle)}bg=null;delete a0[a3]}}if(a.isEmptyObject(a0)){var be=bc.handle;if(be){be.elem=null}delete bc.events;delete bc.handle;if(a.isEmptyObject(bc)){a.removeData(bd)}}},trigger:function(aY,a2,a0){var a7=aY.type||aY,a1=arguments[3];if(!a1){aY=typeof aY==="object"?aY[aI]?aY:a.extend(a.Event(a7),aY):a.Event(a7);if(a7.indexOf("!")>=0){aY.type=a7=a7.slice(0,-1);aY.exclusive=true}if(!a0){aY.stopPropagation();if(a.event.global[a7]){a.each(a.cache,function(){if(this.events&&this.events[a7]){a.event.trigger(aY,a2,this.handle.elem)}})}}if(!a0||a0.nodeType===3||a0.nodeType===8){return C}aY.result=C;aY.target=a0;a2=a.makeArray(a2);a2.unshift(aY)}aY.currentTarget=a0;var a3=a.data(a0,"handle");if(a3){a3.apply(a0,a2)}var a8=a0.parentNode||a0.ownerDocument;try{if(!(a0&&a0.nodeName&&a.noData[a0.nodeName.toLowerCase()])){if(a0["on"+a7]&&a0["on"+a7].apply(a0,a2)===false){aY.result=false}}}catch(a5){}if(!aY.isPropagationStopped()&&a8){a.event.trigger(aY,a2,a8,true)}else{if(!aY.isDefaultPrevented()){var a4=aY.target,aZ,a9=a.nodeName(a4,"a")&&a7==="click",a6=a.event.special[a7]||{};if((!a6._default||a6._default.call(a0,aY)===false)&&!a9&&!(a4&&a4.nodeName&&a.noData[a4.nodeName.toLowerCase()])){try{if(a4[a7]){aZ=a4["on"+a7];if(aZ){a4["on"+a7]=null}a.event.triggered=true;a4[a7]()}}catch(a5){}if(aZ){a4["on"+a7]=aZ}a.event.triggered=false}}}},handle:function(aY){var a6,a0,aZ,a1,a7;aY=arguments[0]=a.event.fix(aY||aM.event);aY.currentTarget=this;a6=aY.type.indexOf(".")<0&&!aY.exclusive;if(!a6){aZ=aY.type.split(".");aY.type=aZ.shift();a1=new RegExp("(^|\\.)"+aZ.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}var a7=a.data(this,"events"),a0=a7[aY.type];if(a7&&a0){a0=a0.slice(0);for(var a3=0,a2=a0.length;a3<a2;a3++){var a5=a0[a3];if(a6||a1.test(a5.namespace)){aY.handler=a5.handler;aY.data=a5.data;aY.handleObj=a5;var a4=a5.handler.apply(this,arguments);if(a4!==C){aY.result=a4;if(a4===false){aY.preventDefault();aY.stopPropagation()}}if(aY.isImmediatePropagationStopped()){break}}}}return aY.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a1){if(a1[aI]){return a1}var aZ=a1;a1=a.Event(aZ);for(var a0=this.props.length,a3;a0;){a3=this.props[--a0];a1[a3]=aZ[a3]}if(!a1.target){a1.target=a1.srcElement||ab}if(a1.target.nodeType===3){a1.target=a1.target.parentNode}if(!a1.relatedTarget&&a1.fromElement){a1.relatedTarget=a1.fromElement===a1.target?a1.toElement:a1.fromElement}if(a1.pageX==null&&a1.clientX!=null){var a2=ab.documentElement,aY=ab.body;a1.pageX=a1.clientX+(a2&&a2.scrollLeft||aY&&aY.scrollLeft||0)-(a2&&a2.clientLeft||aY&&aY.clientLeft||0);a1.pageY=a1.clientY+(a2&&a2.scrollTop||aY&&aY.scrollTop||0)-(a2&&a2.clientTop||aY&&aY.clientTop||0)}if(!a1.which&&((a1.charCode||a1.charCode===0)?a1.charCode:a1.keyCode)){a1.which=a1.charCode||a1.keyCode}if(!a1.metaKey&&a1.ctrlKey){a1.metaKey=a1.ctrlKey}if(!a1.which&&a1.button!==C){a1.which=(a1.button&1?1:(a1.button&2?3:(a1.button&4?2:0)))}return a1},guid:100000000,proxy:a.proxy,special:{ready:{setup:a.bindReady,teardown:a.noop},live:{add:function(aY){a.event.add(this,aY.origType,a.extend({},aY,{handler:V}))},remove:function(aZ){var aY=true,a0=aZ.origType.replace(aC,"");a.each(a.data(this,"events").live||[],function(){if(a0===this.origType.replace(aC,"")){aY=false;return false}});if(aY){a.event.remove(this,aZ.origType,V)}}},beforeunload:{setup:function(a0,aZ,aY){if(this.setInterval){this.onbeforeunload=aY}return false},teardown:function(aZ,aY){if(this.onbeforeunload===aY){this.onbeforeunload=null}}}}};var ag=ab.removeEventListener?function(aZ,aY,a0){aZ.removeEventListener(aY,a0,false)}:function(aZ,aY,a0){aZ.detachEvent("on"+aY,a0)};a.Event=function(aY){if(!this.preventDefault){return new a.Event(aY)}if(aY&&aY.type){this.originalEvent=aY;this.type=aY.type}else{this.type=aY}this.timeStamp=aP();this[aI]=true};function aR(){return false}function f(){return true}a.Event.prototype={preventDefault:function(){this.isDefaultPrevented=f;var aY=this.originalEvent;if(!aY){return}if(aY.preventDefault){aY.preventDefault()}aY.returnValue=false},stopPropagation:function(){this.isPropagationStopped=f;var aY=this.originalEvent;if(!aY){return}if(aY.stopPropagation){aY.stopPropagation()}aY.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=f;this.stopPropagation()},isDefaultPrevented:aR,isPropagationStopped:aR,isImmediatePropagationStopped:aR};var Q=function(aZ){var aY=aZ.relatedTarget;try{while(aY&&aY!==this){aY=aY.parentNode}if(aY!==this){aZ.type=aZ.data;a.event.handle.apply(this,arguments)}}catch(a0){}},ay=function(aY){aY.type=aY.data;a.event.handle.apply(this,arguments)};a.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(aZ,aY){a.event.special[aZ]={setup:function(a0){a.event.add(this,aY,a0&&a0.selector?ay:Q,aZ)},teardown:function(a0){a.event.remove(this,aY,a0&&a0.selector?ay:Q)}}});if(!a.support.submitBubbles){a.event.special.submit={setup:function(aZ,aY){if(this.nodeName.toLowerCase()!=="form"){a.event.add(this,"click.specialSubmit",function(a2){var a1=a2.target,a0=a1.type;if((a0==="submit"||a0==="image")&&a(a1).closest("form").length){return aA("submit",this,arguments)}});a.event.add(this,"keypress.specialSubmit",function(a2){var a1=a2.target,a0=a1.type;if((a0==="text"||a0==="password")&&a(a1).closest("form").length&&a2.keyCode===13){return aA("submit",this,arguments)}})}else{return false}},teardown:function(aY){a.event.remove(this,".specialSubmit")}}}if(!a.support.changeBubbles){var aq=/textarea|input|select/i,aS,i=function(aZ){var aY=aZ.type,a0=aZ.value;if(aY==="radio"||aY==="checkbox"){a0=aZ.checked}else{if(aY==="select-multiple"){a0=aZ.selectedIndex>-1?a.map(aZ.options,function(a1){return a1.selected}).join("-"):""}else{if(aZ.nodeName.toLowerCase()==="select"){a0=aZ.selectedIndex}}}return a0},O=function O(a0){var aY=a0.target,aZ,a1;if(!aq.test(aY.nodeName)||aY.readOnly){return}aZ=a.data(aY,"_change_data");a1=i(aY);if(a0.type!=="focusout"||aY.type!=="radio"){a.data(aY,"_change_data",a1)}if(aZ===C||a1===aZ){return}if(aZ!=null||a1){a0.type="change";return a.event.trigger(a0,arguments[1],aY)}};a.event.special.change={filters:{focusout:O,click:function(a0){var aZ=a0.target,aY=aZ.type;if(aY==="radio"||aY==="checkbox"||aZ.nodeName.toLowerCase()==="select"){return O.call(this,a0)}},keydown:function(a0){var aZ=a0.target,aY=aZ.type;if((a0.keyCode===13&&aZ.nodeName.toLowerCase()!=="textarea")||(a0.keyCode===32&&(aY==="checkbox"||aY==="radio"))||aY==="select-multiple"){return O.call(this,a0)}},beforeactivate:function(aZ){var aY=aZ.target;a.data(aY,"_change_data",i(aY))}},setup:function(a0,aZ){if(this.type==="file"){return false}for(var aY in aS){a.event.add(this,aY+".specialChange",aS[aY])}return aq.test(this.nodeName)},teardown:function(aY){a.event.remove(this,".specialChange");return aq.test(this.nodeName)}};aS=a.event.special.change.filters}function aA(aZ,a0,aY){aY[0].type=aZ;return a.event.handle.apply(a0,aY)}if(ab.addEventListener){a.each({focus:"focusin",blur:"focusout"},function(a0,aY){a.event.special[aY]={setup:function(){this.addEventListener(a0,aZ,true)},teardown:function(){this.removeEventListener(a0,aZ,true)}};function aZ(a1){a1=a.event.fix(a1);a1.type=aY;return a.event.handle.call(this,a1)}})}a.each(["bind","one"],function(aZ,aY){a.fn[aY]=function(a5,a6,a4){if(typeof a5==="object"){for(var a2 in a5){this[aY](a2,a6,a5[a2],a4)}return this}if(a.isFunction(a6)){a4=a6;a6=C}var a3=aY==="one"?a.proxy(a4,function(a7){a(this).unbind(a7,a3);return a4.apply(this,arguments)}):a4;if(a5==="unload"&&aY!=="one"){this.one(a5,a6,a4)}else{for(var a1=0,a0=this.length;a1<a0;a1++){a.event.add(this[a1],a5,a3,a6)}}return this}});a.fn.extend({unbind:function(a2,a1){if(typeof a2==="object"&&!a2.preventDefault){for(var a0 in a2){this.unbind(a0,a2[a0])}}else{for(var aZ=0,aY=this.length;aZ<aY;aZ++){a.event.remove(this[aZ],a2,a1)}}return this},delegate:function(aY,aZ,a1,a0){return this.live(aZ,a1,a0,aY)},undelegate:function(aY,aZ,a0){if(arguments.length===0){return this.unbind("live")}else{return this.die(aZ,null,a0,aY)}},trigger:function(aY,aZ){return this.each(function(){a.event.trigger(aY,aZ,this)})},triggerHandler:function(aY,a0){if(this[0]){var aZ=a.Event(aY);aZ.preventDefault();aZ.stopPropagation();a.event.trigger(aZ,a0,this[0]);return aZ.result}},toggle:function(a0){var aY=arguments,aZ=1;while(aZ<aY.length){a.proxy(a0,aY[aZ++])}return this.click(a.proxy(a0,function(a1){var a2=(a.data(this,"lastToggle"+a0.guid)||0)%aZ;a.data(this,"lastToggle"+a0.guid,a2+1);a1.preventDefault();return aY[a2].apply(this,arguments)||false}))},hover:function(aY,aZ){return this.mouseenter(aY).mouseleave(aZ||aY)}});var aw={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};a.each(["live","die"],function(aZ,aY){a.fn[aY]=function(a7,a4,a9,a2){var a8,a5=0,a6,a1,ba,a3=a2||this.selector,a0=a2?this:a(this.context);if(a.isFunction(a4)){a9=a4;a4=C}a7=(a7||"").split(" ");while((a8=a7[a5++])!=null){a6=aC.exec(a8);a1="";if(a6){a1=a6[0];a8=a8.replace(aC,"")}if(a8==="hover"){a7.push("mouseenter"+a1,"mouseleave"+a1);continue}ba=a8;if(a8==="focus"||a8==="blur"){a7.push(aw[a8]+a1);a8=a8+a1}else{a8=(aw[a8]||a8)+a1}if(aY==="live"){a0.each(function(){a.event.add(this,m(a8,a3),{data:a4,selector:a3,handler:a9,origType:a8,origHandler:a9,preType:ba})})}else{a0.unbind(m(a8,a3),a9)}}return this}});function V(aY){var a8,aZ=[],bb=[],a7=arguments,ba,a6,a9,a1,a3,a5,a2,a4,bc=a.data(this,"events");if(aY.liveFired===this||!bc||!bc.live||aY.button&&aY.type==="click"){return}aY.liveFired=this;var a0=bc.live.slice(0);for(a3=0;a3<a0.length;a3++){a9=a0[a3];if(a9.origType.replace(aC,"")===aY.type){bb.push(a9.selector)}else{a0.splice(a3--,1)}}a6=a(aY.target).closest(bb,aY.currentTarget);for(a5=0,a2=a6.length;a5<a2;a5++){for(a3=0;a3<a0.length;a3++){a9=a0[a3];if(a6[a5].selector===a9.selector){a1=a6[a5].elem;ba=null;if(a9.preType==="mouseenter"||a9.preType==="mouseleave"){ba=a(aY.relatedTarget).closest(a9.selector)[0]}if(!ba||ba!==a1){aZ.push({elem:a1,handleObj:a9})}}}}for(a5=0,a2=aZ.length;a5<a2;a5++){a6=aZ[a5];aY.currentTarget=a6.elem;aY.data=a6.handleObj.data;aY.handleObj=a6.handleObj;if(a6.handleObj.origHandler.apply(a6.elem,a7)===false){a8=false;break}}return a8}function m(aZ,aY){return"live."+(aZ&&aZ!=="*"?aZ+".":"")+aY.replace(/\./g,"`").replace(/ /g,"&")}a.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error").split(" "),function(aZ,aY){a.fn[aY]=function(a0){return a0?this.bind(aY,a0):this.trigger(aY)};if(a.attrFn){a.attrFn[aY]=true}});if(aM.attachEvent&&!aM.addEventListener){aM.attachEvent("onunload",function(){for(var aZ in a.cache){if(a.cache[aZ].handle){try{a.event.remove(a.cache[aZ].handle.elem)}catch(aY){}}}});
/*
 * Sizzle CSS Selector Engine - v1.0
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
}(function(){var bc=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,a6=0,a1=Object.prototype.toString,bb=false,a5=true;[0,0].sort(function(){a5=false;return 0});var aZ=function(bj,be,bm,bn){bm=bm||[];be=be||ab;var bp=be;if(be.nodeType!==1&&be.nodeType!==9){return[]}if(!bj||typeof bj!=="string"){return bm}var bk=[],bg,br,bu,bf,bi=true,bh=aZ.isXML(be),bo=bj,bq,bt,bs,bl;do{bc.exec("");bg=bc.exec(bo);if(bg){bo=bg[3];bk.push(bg[1]);if(bg[2]){bf=bg[3];break}}}while(bg);if(bk.length>1&&a7.exec(bj)){if(bk.length===2&&a2.relative[bk[0]]){br=a4(bk[0]+bk[1],be)}else{br=a2.relative[bk[0]]?[be]:aZ(bk.shift(),be);while(bk.length){bj=bk.shift();if(a2.relative[bj]){bj+=bk.shift()}br=a4(bj,br)}}}else{if(!bn&&bk.length>1&&be.nodeType===9&&!bh&&a2.match.ID.test(bk[0])&&!a2.match.ID.test(bk[bk.length-1])){bq=aZ.find(bk.shift(),be,bh);be=bq.expr?aZ.filter(bq.expr,bq.set)[0]:bq.set[0]}if(be){bq=bn?{expr:bk.pop(),set:aY(bn)}:aZ.find(bk.pop(),bk.length===1&&(bk[0]==="~"||bk[0]==="+")&&be.parentNode?be.parentNode:be,bh);br=bq.expr?aZ.filter(bq.expr,bq.set):bq.set;if(bk.length>0){bu=aY(br)}else{bi=false}while(bk.length){bt=bk.pop();bs=bt;if(!a2.relative[bt]){bt=""}else{bs=bk.pop()}if(bs==null){bs=be}a2.relative[bt](bu,bs,bh)}}else{bu=bk=[]}}if(!bu){bu=br}if(!bu){aZ.error(bt||bj)}if(a1.call(bu)==="[object Array]"){if(!bi){bm.push.apply(bm,bu)}else{if(be&&be.nodeType===1){for(bl=0;bu[bl]!=null;bl++){if(bu[bl]&&(bu[bl]===true||bu[bl].nodeType===1&&aZ.contains(be,bu[bl]))){bm.push(br[bl])}}}else{for(bl=0;bu[bl]!=null;bl++){if(bu[bl]&&bu[bl].nodeType===1){bm.push(br[bl])}}}}}else{aY(bu,bm)}if(bf){aZ(bf,bp,bm,bn);aZ.uniqueSort(bm)}return bm};aZ.uniqueSort=function(bf){if(a0){bb=a5;bf.sort(a0);if(bb){for(var be=1;be<bf.length;be++){if(bf[be]===bf[be-1]){bf.splice(be--,1)}}}}return bf};aZ.matches=function(be,bf){return aZ(be,null,null,bf)};aZ.find=function(bl,be,bm){var bk;if(!bl){return[]}for(var bh=0,bg=a2.order.length;bh<bg;bh++){var bj=a2.order[bh],bi;if((bi=a2.leftMatch[bj].exec(bl))){var bf=bi[1];bi.splice(1,1);if(bf.substr(bf.length-1)!=="\\"){bi[1]=(bi[1]||"").replace(/\\/g,"");bk=a2.find[bj](bi,be,bm);if(bk!=null){bl=bl.replace(a2.match[bj],"");break}}}}if(!bk){bk=be.getElementsByTagName("*")}return{set:bk,expr:bl}};aZ.filter=function(bp,bo,bs,bi){var bg=bp,bu=[],bm=bo,bk,be,bl=bo&&bo[0]&&aZ.isXML(bo[0]);while(bp&&bo.length){for(var bn in a2.filter){if((bk=a2.leftMatch[bn].exec(bp))!=null&&bk[2]){var bf=a2.filter[bn],bt,br,bh=bk[1];be=false;bk.splice(1,1);if(bh.substr(bh.length-1)==="\\"){continue}if(bm===bu){bu=[]}if(a2.preFilter[bn]){bk=a2.preFilter[bn](bk,bm,bs,bu,bi,bl);if(!bk){be=bt=true}else{if(bk===true){continue}}}if(bk){for(var bj=0;(br=bm[bj])!=null;bj++){if(br){bt=bf(br,bk,bj,bm);var bq=bi^!!bt;if(bs&&bt!=null){if(bq){be=true}else{bm[bj]=false}}else{if(bq){bu.push(br);be=true}}}}}if(bt!==C){if(!bs){bm=bu}bp=bp.replace(a2.match[bn],"");if(!be){return[]}break}}}if(bp===bg){if(be==null){aZ.error(bp)}else{break}}bg=bp}return bm};aZ.error=function(be){throw"Syntax error, unrecognized expression: "+be};var a2=aZ.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(be){return be.getAttribute("href")}},relative:{"+":function(bk,bf){var bh=typeof bf==="string",bj=bh&&!/\W/.test(bf),bl=bh&&!bj;if(bj){bf=bf.toLowerCase()}for(var bg=0,be=bk.length,bi;bg<be;bg++){if((bi=bk[bg])){while((bi=bi.previousSibling)&&bi.nodeType!==1){}bk[bg]=bl||bi&&bi.nodeName.toLowerCase()===bf?bi||false:bi===bf}}if(bl){aZ.filter(bf,bk,true)}},">":function(bk,bf){var bi=typeof bf==="string",bj,bg=0,be=bk.length;if(bi&&!/\W/.test(bf)){bf=bf.toLowerCase();for(;bg<be;bg++){bj=bk[bg];if(bj){var bh=bj.parentNode;bk[bg]=bh.nodeName.toLowerCase()===bf?bh:false}}}else{for(;bg<be;bg++){bj=bk[bg];if(bj){bk[bg]=bi?bj.parentNode:bj.parentNode===bf}}if(bi){aZ.filter(bf,bk,true)}}},"":function(bh,bf,bj){var bg=a6++,be=bd,bi;if(typeof bf==="string"&&!/\W/.test(bf)){bf=bf.toLowerCase();bi=bf;be=ba}be("parentNode",bf,bg,bh,bi,bj)},"~":function(bh,bf,bj){var bg=a6++,be=bd,bi;if(typeof bf==="string"&&!/\W/.test(bf)){bf=bf.toLowerCase();bi=bf;be=ba}be("previousSibling",bf,bg,bh,bi,bj)}},find:{ID:function(bf,bg,bh){if(typeof bg.getElementById!=="undefined"&&!bh){var be=bg.getElementById(bf[1]);return be?[be]:[]}},NAME:function(bg,bj){if(typeof bj.getElementsByName!=="undefined"){var bf=[],bi=bj.getElementsByName(bg[1]);for(var bh=0,be=bi.length;bh<be;bh++){if(bi[bh].getAttribute("name")===bg[1]){bf.push(bi[bh])}}return bf.length===0?null:bf}},TAG:function(be,bf){return bf.getElementsByTagName(be[1])}},preFilter:{CLASS:function(bh,bf,bg,be,bk,bl){bh=" "+bh[1].replace(/\\/g,"")+" ";if(bl){return bh}for(var bi=0,bj;(bj=bf[bi])!=null;bi++){if(bj){if(bk^(bj.className&&(" "+bj.className+" ").replace(/[\t\n]/g," ").indexOf(bh)>=0)){if(!bg){be.push(bj)}}else{if(bg){bf[bi]=false}}}}return false},ID:function(be){return be[1].replace(/\\/g,"")},TAG:function(bf,be){return bf[1].toLowerCase()},CHILD:function(be){if(be[1]==="nth"){var bf=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(be[2]==="even"&&"2n"||be[2]==="odd"&&"2n+1"||!/\D/.test(be[2])&&"0n+"+be[2]||be[2]);be[2]=(bf[1]+(bf[2]||1))-0;be[3]=bf[3]-0}be[0]=a6++;return be},ATTR:function(bi,bf,bg,be,bj,bk){var bh=bi[1].replace(/\\/g,"");if(!bk&&a2.attrMap[bh]){bi[1]=a2.attrMap[bh]}if(bi[2]==="~="){bi[4]=" "+bi[4]+" "}return bi},PSEUDO:function(bi,bf,bg,be,bj){if(bi[1]==="not"){if((bc.exec(bi[3])||"").length>1||/^\w/.test(bi[3])){bi[3]=aZ(bi[3],null,null,bf)}else{var bh=aZ.filter(bi[3],bf,bg,true^bj);if(!bg){be.push.apply(be,bh)}return false}}else{if(a2.match.POS.test(bi[0])||a2.match.CHILD.test(bi[0])){return true}}return bi},POS:function(be){be.unshift(true);return be}},filters:{enabled:function(be){return be.disabled===false&&be.type!=="hidden"},disabled:function(be){return be.disabled===true},checked:function(be){return be.checked===true},selected:function(be){be.parentNode.selectedIndex;return be.selected===true},parent:function(be){return !!be.firstChild},empty:function(be){return !be.firstChild},has:function(bg,bf,be){return !!aZ(be[3],bg).length},header:function(be){return(/h\d/i).test(be.nodeName)},text:function(be){return"text"===be.type},radio:function(be){return"radio"===be.type},checkbox:function(be){return"checkbox"===be.type},file:function(be){return"file"===be.type},password:function(be){return"password"===be.type},submit:function(be){return"submit"===be.type},image:function(be){return"image"===be.type},reset:function(be){return"reset"===be.type},button:function(be){return"button"===be.type||be.nodeName.toLowerCase()==="button"},input:function(be){return(/input|select|textarea|button/i).test(be.nodeName)}},setFilters:{first:function(bf,be){return be===0},last:function(bg,bf,be,bh){return bf===bh.length-1},even:function(bf,be){return be%2===0},odd:function(bf,be){return be%2===1},lt:function(bg,bf,be){return bf<be[3]-0},gt:function(bg,bf,be){return bf>be[3]-0},nth:function(bg,bf,be){return be[3]-0===bf},eq:function(bg,bf,be){return be[3]-0===bf}},filter:{PSEUDO:function(bg,bl,bk,bm){var be=bl[1],bf=a2.filters[be];if(bf){return bf(bg,bk,bl,bm)}else{if(be==="contains"){return(bg.textContent||bg.innerText||aZ.getText([bg])||"").indexOf(bl[3])>=0}else{if(be==="not"){var bh=bl[3];for(var bj=0,bi=bh.length;bj<bi;bj++){if(bh[bj]===bg){return false}}return true}else{aZ.error("Syntax error, unrecognized expression: "+be)}}}},CHILD:function(be,bh){var bk=bh[1],bf=be;switch(bk){case"only":case"first":while((bf=bf.previousSibling)){if(bf.nodeType===1){return false}}if(bk==="first"){return true}bf=be;case"last":while((bf=bf.nextSibling)){if(bf.nodeType===1){return false}}return true;case"nth":var bg=bh[2],bn=bh[3];if(bg===1&&bn===0){return true}var bj=bh[0],bm=be.parentNode;if(bm&&(bm.sizcache!==bj||!be.nodeIndex)){var bi=0;for(bf=bm.firstChild;bf;bf=bf.nextSibling){if(bf.nodeType===1){bf.nodeIndex=++bi}}bm.sizcache=bj}var bl=be.nodeIndex-bn;if(bg===0){return bl===0}else{return(bl%bg===0&&bl/bg>=0)}}},ID:function(bf,be){return bf.nodeType===1&&bf.getAttribute("id")===be},TAG:function(bf,be){return(be==="*"&&bf.nodeType===1)||bf.nodeName.toLowerCase()===be},CLASS:function(bf,be){return(" "+(bf.className||bf.getAttribute("class"))+" ").indexOf(be)>-1},ATTR:function(bj,bh){var bg=bh[1],be=a2.attrHandle[bg]?a2.attrHandle[bg](bj):bj[bg]!=null?bj[bg]:bj.getAttribute(bg),bk=be+"",bi=bh[2],bf=bh[4];return be==null?bi==="!=":bi==="="?bk===bf:bi==="*="?bk.indexOf(bf)>=0:bi==="~="?(" "+bk+" ").indexOf(bf)>=0:!bf?bk&&be!==false:bi==="!="?bk!==bf:bi==="^="?bk.indexOf(bf)===0:bi==="$="?bk.substr(bk.length-bf.length)===bf:bi==="|="?bk===bf||bk.substr(0,bf.length+1)===bf+"-":false},POS:function(bi,bf,bg,bj){var be=bf[2],bh=a2.setFilters[be];if(bh){return bh(bi,bg,bf,bj)}}}};var a7=a2.match.POS,a3=function(bf,be){return"\\"+(be-0+1)};for(var a9 in a2.match){a2.match[a9]=new RegExp(a2.match[a9].source+(/(?![^\[]*\])(?![^\(]*\))/.source));a2.leftMatch[a9]=new RegExp(/(^(?:.|\r|\n)*?)/.source+a2.match[a9].source.replace(/\\(\d+)/g,a3))}var aY=function(bf,be){bf=Array.prototype.slice.call(bf,0);if(be){be.push.apply(be,bf);return be}return bf};try{Array.prototype.slice.call(ab.documentElement.childNodes,0)[0].nodeType}catch(a8){aY=function(bi,bh){var bf=bh||[],bg=0;if(a1.call(bi)==="[object Array]"){Array.prototype.push.apply(bf,bi)}else{if(typeof bi.length==="number"){for(var be=bi.length;bg<be;bg++){bf.push(bi[bg])}}else{for(;bi[bg];bg++){bf.push(bi[bg])}}}return bf}}var a0;if(ab.documentElement.compareDocumentPosition){a0=function(bf,be){if(!bf.compareDocumentPosition||!be.compareDocumentPosition){if(bf==be){bb=true}return bf.compareDocumentPosition?-1:1}var bg=bf.compareDocumentPosition(be)&4?-1:bf===be?0:1;if(bg===0){bb=true}return bg}}else{if("sourceIndex" in ab.documentElement){a0=function(bf,be){if(!bf.sourceIndex||!be.sourceIndex){if(bf==be){bb=true}return bf.sourceIndex?-1:1}var bg=bf.sourceIndex-be.sourceIndex;if(bg===0){bb=true}return bg}}else{if(ab.createRange){a0=function(bh,bf){if(!bh.ownerDocument||!bf.ownerDocument){if(bh==bf){bb=true}return bh.ownerDocument?-1:1}var bg=bh.ownerDocument.createRange(),be=bf.ownerDocument.createRange();bg.setStart(bh,0);bg.setEnd(bh,0);be.setStart(bf,0);be.setEnd(bf,0);var bi=bg.compareBoundaryPoints(Range.START_TO_END,be);if(bi===0){bb=true}return bi}}}}aZ.getText=function(be){var bf="",bh;for(var bg=0;be[bg];bg++){bh=be[bg];if(bh.nodeType===3||bh.nodeType===4){bf+=bh.nodeValue}else{if(bh.nodeType!==8){bf+=aZ.getText(bh.childNodes)}}}return bf};(function(){var bf=ab.createElement("div"),bg="script"+(new Date()).getTime();bf.innerHTML="<a name='"+bg+"'/>";var be=ab.documentElement;be.insertBefore(bf,be.firstChild);if(ab.getElementById(bg)){a2.find.ID=function(bi,bj,bk){if(typeof bj.getElementById!=="undefined"&&!bk){var bh=bj.getElementById(bi[1]);return bh?bh.id===bi[1]||typeof bh.getAttributeNode!=="undefined"&&bh.getAttributeNode("id").nodeValue===bi[1]?[bh]:C:[]}};a2.filter.ID=function(bj,bh){var bi=typeof bj.getAttributeNode!=="undefined"&&bj.getAttributeNode("id");return bj.nodeType===1&&bi&&bi.nodeValue===bh}}be.removeChild(bf);be=bf=null})();(function(){var be=ab.createElement("div");be.appendChild(ab.createComment(""));if(be.getElementsByTagName("*").length>0){a2.find.TAG=function(bf,bj){var bi=bj.getElementsByTagName(bf[1]);if(bf[1]==="*"){var bh=[];for(var bg=0;bi[bg];bg++){if(bi[bg].nodeType===1){bh.push(bi[bg])}}bi=bh}return bi}}be.innerHTML="<a href='#'></a>";if(be.firstChild&&typeof be.firstChild.getAttribute!=="undefined"&&be.firstChild.getAttribute("href")!=="#"){a2.attrHandle.href=function(bf){return bf.getAttribute("href",2)}}be=null})();if(ab.querySelectorAll){(function(){var be=aZ,bg=ab.createElement("div");bg.innerHTML="<p class='TEST'></p>";if(bg.querySelectorAll&&bg.querySelectorAll(".TEST").length===0){return}aZ=function(bk,bj,bh,bi){bj=bj||ab;if(!bi&&bj.nodeType===9&&!aZ.isXML(bj)){try{return aY(bj.querySelectorAll(bk),bh)}catch(bl){}}return be(bk,bj,bh,bi)};for(var bf in be){aZ[bf]=be[bf]}bg=null})()}(function(){var be=ab.createElement("div");be.innerHTML="<div class='test e'></div><div class='test'></div>";if(!be.getElementsByClassName||be.getElementsByClassName("e").length===0){return}be.lastChild.className="e";if(be.getElementsByClassName("e").length===1){return}a2.order.splice(1,0,"CLASS");a2.find.CLASS=function(bf,bg,bh){if(typeof bg.getElementsByClassName!=="undefined"&&!bh){return bg.getElementsByClassName(bf[1])}};be=null})();function ba(bf,bk,bj,bn,bl,bm){for(var bh=0,bg=bn.length;bh<bg;bh++){var be=bn[bh];if(be){be=be[bf];var bi=false;while(be){if(be.sizcache===bj){bi=bn[be.sizset];break}if(be.nodeType===1&&!bm){be.sizcache=bj;be.sizset=bh}if(be.nodeName.toLowerCase()===bk){bi=be;break}be=be[bf]}bn[bh]=bi}}}function bd(bf,bk,bj,bn,bl,bm){for(var bh=0,bg=bn.length;bh<bg;bh++){var be=bn[bh];if(be){be=be[bf];var bi=false;while(be){if(be.sizcache===bj){bi=bn[be.sizset];break}if(be.nodeType===1){if(!bm){be.sizcache=bj;be.sizset=bh}if(typeof bk!=="string"){if(be===bk){bi=true;break}}else{if(aZ.filter(bk,[be]).length>0){bi=be;break}}}be=be[bf]}bn[bh]=bi}}}aZ.contains=ab.compareDocumentPosition?function(bf,be){return !!(bf.compareDocumentPosition(be)&16)}:function(bf,be){return bf!==be&&(bf.contains?bf.contains(be):true)};aZ.isXML=function(be){var bf=(be?be.ownerDocument||be:0).documentElement;return bf?bf.nodeName!=="HTML":false};var a4=function(be,bl){var bh=[],bi="",bj,bg=bl.nodeType?[bl]:bl;while((bj=a2.match.PSEUDO.exec(be))){bi+=bj[0];be=be.replace(a2.match.PSEUDO,"")}be=a2.relative[be]?be+"*":be;for(var bk=0,bf=bg.length;bk<bf;bk++){aZ(be,bg[bk],bh)}return aZ.filter(bi,bh)};a.find=aZ;a.expr=aZ.selectors;a.expr[":"]=a.expr.filters;a.unique=aZ.uniqueSort;a.text=aZ.getText;a.isXMLDoc=aZ.isXML;a.contains=aZ.contains;return;aM.Sizzle=aZ})();var N=/Until$/,Y=/^(?:parents|prevUntil|prevAll)/,aL=/,/,F=Array.prototype.slice;var ai=function(a1,a0,aY){if(a.isFunction(a0)){return a.grep(a1,function(a3,a2){return !!a0.call(a3,a2,a3)===aY})}else{if(a0.nodeType){return a.grep(a1,function(a3,a2){return(a3===a0)===aY})}else{if(typeof a0==="string"){var aZ=a.grep(a1,function(a2){return a2.nodeType===1});if(aW.test(a0)){return a.filter(a0,aZ,!aY)}else{a0=a.filter(a0,aZ)}}}}return a.grep(a1,function(a3,a2){return(a.inArray(a3,a0)>=0)===aY})};a.fn.extend({find:function(aY){var a0=this.pushStack("","find",aY),a3=0;for(var a1=0,aZ=this.length;a1<aZ;a1++){a3=a0.length;a.find(aY,this[a1],a0);if(a1>0){for(var a4=a3;a4<a0.length;a4++){for(var a2=0;a2<a3;a2++){if(a0[a2]===a0[a4]){a0.splice(a4--,1);break}}}}}return a0},has:function(aZ){var aY=a(aZ);return this.filter(function(){for(var a1=0,a0=aY.length;a1<a0;a1++){if(a.contains(this,aY[a1])){return true}}})},not:function(aY){return this.pushStack(ai(this,aY,false),"not",aY)},filter:function(aY){return this.pushStack(ai(this,aY,true),"filter",aY)},is:function(aY){return !!aY&&a.filter(aY,this).length>0},closest:function(a7,aY){if(a.isArray(a7)){var a4=[],a6=this[0],a3,a2={},a0;if(a6&&a7.length){for(var a1=0,aZ=a7.length;a1<aZ;a1++){a0=a7[a1];if(!a2[a0]){a2[a0]=a.expr.match.POS.test(a0)?a(a0,aY||this.context):a0}}while(a6&&a6.ownerDocument&&a6!==aY){for(a0 in a2){a3=a2[a0];if(a3.jquery?a3.index(a6)>-1:a(a6).is(a3)){a4.push({selector:a0,elem:a6});delete a2[a0]}}a6=a6.parentNode}}return a4}var a5=a.expr.match.POS.test(a7)?a(a7,aY||this.context):null;return this.map(function(a8,a9){while(a9&&a9.ownerDocument&&a9!==aY){if(a5?a5.index(a9)>-1:a(a9).is(a7)){return a9}a9=a9.parentNode}return null})},index:function(aY){if(!aY||typeof aY==="string"){return a.inArray(this[0],aY?a(aY):this.parent().children())}return a.inArray(aY.jquery?aY[0]:aY,this)},add:function(aY,aZ){var a1=typeof aY==="string"?a(aY,aZ||this.context):a.makeArray(aY),a0=a.merge(this.get(),a1);return this.pushStack(y(a1[0])||y(a0[0])?a0:a.unique(a0))},andSelf:function(){return this.add(this.prevObject)}});function y(aY){return !aY||!aY.parentNode||aY.parentNode.nodeType===11}a.each({parent:function(aZ){var aY=aZ.parentNode;return aY&&aY.nodeType!==11?aY:null},parents:function(aY){return a.dir(aY,"parentNode")},parentsUntil:function(aZ,aY,a0){return a.dir(aZ,"parentNode",a0)},next:function(aY){return a.nth(aY,2,"nextSibling")},prev:function(aY){return a.nth(aY,2,"previousSibling")},nextAll:function(aY){return a.dir(aY,"nextSibling")},prevAll:function(aY){return a.dir(aY,"previousSibling")},nextUntil:function(aZ,aY,a0){return a.dir(aZ,"nextSibling",a0)},prevUntil:function(aZ,aY,a0){return a.dir(aZ,"previousSibling",a0)},siblings:function(aY){return a.sibling(aY.parentNode.firstChild,aY)},children:function(aY){return a.sibling(aY.firstChild)},contents:function(aY){return a.nodeName(aY,"iframe")?aY.contentDocument||aY.contentWindow.document:a.makeArray(aY.childNodes)}},function(aY,aZ){a.fn[aY]=function(a2,a0){var a1=a.map(this,aZ,a2);if(!N.test(aY)){a0=a2}if(a0&&typeof a0==="string"){a1=a.filter(a0,a1)}a1=this.length>1?a.unique(a1):a1;if((this.length>1||aL.test(a0))&&Y.test(aY)){a1=a1.reverse()}return this.pushStack(a1,aY,F.call(arguments).join(","))}});a.extend({filter:function(a0,aY,aZ){if(aZ){a0=":not("+a0+")"}return a.find.matches(a0,aY)},dir:function(a0,aZ,a2){var aY=[],a1=a0[aZ];while(a1&&a1.nodeType!==9&&(a2===C||a1.nodeType!==1||!a(a1).is(a2))){if(a1.nodeType===1){aY.push(a1)}a1=a1[aZ]}return aY},nth:function(a2,aY,a0,a1){aY=aY||1;var aZ=0;for(;a2;a2=a2[a0]){if(a2.nodeType===1&&++aZ===aY){break}}return a2},sibling:function(a0,aZ){var aY=[];for(;a0;a0=a0.nextSibling){if(a0.nodeType===1&&a0!==aZ){aY.push(a0)}}return aY}});var T=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,H=/(<([\w:]+)[^>]*?)\/>/g,al=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,c=/<([\w:]+)/,t=/<tbody/i,L=/<|&#?\w+;/,E=/<script|<object|<embed|<option|<style/i,l=/checked\s*(?:[^=]|=\s*.checked.)/i,p=function(aZ,a0,aY){return al.test(aY)?aZ:a0+"></"+aY+">"},ac={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};ac.optgroup=ac.option;ac.tbody=ac.tfoot=ac.colgroup=ac.caption=ac.thead;ac.th=ac.td;if(!a.support.htmlSerialize){ac._default=[1,"div<div>","</div>"]}a.fn.extend({text:function(aY){if(a.isFunction(aY)){return this.each(function(a0){var aZ=a(this);aZ.text(aY.call(this,a0,aZ.text()))})}if(typeof aY!=="object"&&aY!==C){return this.empty().append((this[0]&&this[0].ownerDocument||ab).createTextNode(aY))}return a.text(this)},wrapAll:function(aY){if(a.isFunction(aY)){return this.each(function(a0){a(this).wrapAll(aY.call(this,a0))})}if(this[0]){var aZ=a(aY,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){aZ.insertBefore(this[0])}aZ.map(function(){var a0=this;while(a0.firstChild&&a0.firstChild.nodeType===1){a0=a0.firstChild}return a0}).append(this)}return this},wrapInner:function(aY){if(a.isFunction(aY)){return this.each(function(aZ){a(this).wrapInner(aY.call(this,aZ))})}return this.each(function(){var aZ=a(this),a0=aZ.contents();if(a0.length){a0.wrapAll(aY)}else{aZ.append(aY)}})},wrap:function(aY){return this.each(function(){a(this).wrapAll(aY)})},unwrap:function(){return this.parent().each(function(){if(!a.nodeName(this,"body")){a(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(aY){if(this.nodeType===1){this.appendChild(aY)}})},prepend:function(){return this.domManip(arguments,true,function(aY){if(this.nodeType===1){this.insertBefore(aY,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(aZ){this.parentNode.insertBefore(aZ,this)})}else{if(arguments.length){var aY=a(arguments[0]);aY.push.apply(aY,this.toArray());return this.pushStack(aY,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(aZ){this.parentNode.insertBefore(aZ,this.nextSibling)})}else{if(arguments.length){var aY=this.pushStack(this,"after",arguments);aY.push.apply(aY,a(arguments[0]).toArray());return aY}}},remove:function(aY,a1){for(var aZ=0,a0;(a0=this[aZ])!=null;aZ++){if(!aY||a.filter(aY,[a0]).length){if(!a1&&a0.nodeType===1){a.cleanData(a0.getElementsByTagName("*"));a.cleanData([a0])}if(a0.parentNode){a0.parentNode.removeChild(a0)}}}return this},empty:function(){for(var aY=0,aZ;(aZ=this[aY])!=null;aY++){if(aZ.nodeType===1){a.cleanData(aZ.getElementsByTagName("*"))}while(aZ.firstChild){aZ.removeChild(aZ.firstChild)}}return this},clone:function(aZ){var aY=this.map(function(){if(!a.support.noCloneEvent&&!a.isXMLDoc(this)){var a1=this.outerHTML,a0=this.ownerDocument;if(!a1){var a2=a0.createElement("div");a2.appendChild(this.cloneNode(true));a1=a2.innerHTML}return a.clean([a1.replace(T,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(Z,"")],a0)[0]}else{return this.cloneNode(true)}});if(aZ===true){q(this,aY);q(this.find("*"),aY.find("*"))}return aY},html:function(a0){if(a0===C){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(T,""):null}else{if(typeof a0==="string"&&!E.test(a0)&&(a.support.leadingWhitespace||!Z.test(a0))&&!ac[(c.exec(a0)||["",""])[1].toLowerCase()]){a0=a0.replace(H,p);try{for(var aZ=0,aY=this.length;aZ<aY;aZ++){if(this[aZ].nodeType===1){a.cleanData(this[aZ].getElementsByTagName("*"));this[aZ].innerHTML=a0}}}catch(a1){this.empty().append(a0)}}else{if(a.isFunction(a0)){this.each(function(a4){var a3=a(this),a2=a3.html();a3.empty().append(function(){return a0.call(this,a4,a2)})})}else{this.empty().append(a0)}}}return this},replaceWith:function(aY){if(this[0]&&this[0].parentNode){if(a.isFunction(aY)){return this.each(function(a1){var a0=a(this),aZ=a0.html();a0.replaceWith(aY.call(this,a1,aZ))})}if(typeof aY!=="string"){aY=a(aY).detach()}return this.each(function(){var a0=this.nextSibling,aZ=this.parentNode;a(this).remove();if(a0){a(a0).before(aY)}else{a(aZ).append(aY)}})}else{return this.pushStack(a(a.isFunction(aY)?aY():aY),"replaceWith",aY)}},detach:function(aY){return this.remove(aY,true)},domManip:function(a4,a9,a8){var a1,a2,a7=a4[0],aZ=[],a3,a6;if(!a.support.checkClone&&arguments.length===3&&typeof a7==="string"&&l.test(a7)){return this.each(function(){a(this).domManip(a4,a9,a8,true)})}if(a.isFunction(a7)){return this.each(function(bb){var ba=a(this);a4[0]=a7.call(this,bb,a9?ba.html():C);ba.domManip(a4,a9,a8)})}if(this[0]){a6=a7&&a7.parentNode;if(a.support.parentNode&&a6&&a6.nodeType===11&&a6.childNodes.length===this.length){a1={fragment:a6}}else{a1=J(a4,this,aZ)}a3=a1.fragment;if(a3.childNodes.length===1){a2=a3=a3.firstChild}else{a2=a3.firstChild}if(a2){a9=a9&&a.nodeName(a2,"tr");for(var a0=0,aY=this.length;a0<aY;a0++){a8.call(a9?a5(this[a0],a2):this[a0],a0>0||a1.cacheable||this.length>1?a3.cloneNode(true):a3)}}if(aZ.length){a.each(aZ,aV)}}return this;function a5(ba,bb){return a.nodeName(ba,"table")?(ba.getElementsByTagName("tbody")[0]||ba.appendChild(ba.ownerDocument.createElement("tbody"))):ba}}});function q(a0,aY){var aZ=0;aY.each(function(){if(this.nodeName!==(a0[aZ]&&a0[aZ].nodeName)){return}var a5=a.data(a0[aZ++]),a4=a.data(this,a5),a1=a5&&a5.events;if(a1){delete a4.handle;a4.events={};for(var a3 in a1){for(var a2 in a1[a3]){a.event.add(this,a3,a1[a3][a2],a1[a3][a2].data)}}}})}function J(a3,a1,aZ){var a2,aY,a0,a4=(a1&&a1[0]?a1[0].ownerDocument||a1[0]:ab);if(a3.length===1&&typeof a3[0]==="string"&&a3[0].length<512&&a4===ab&&!E.test(a3[0])&&(a.support.checkClone||!l.test(a3[0]))){aY=true;a0=a.fragments[a3[0]];if(a0){if(a0!==1){a2=a0}}}if(!a2){a2=a4.createDocumentFragment();a.clean(a3,a4,a2,aZ)}if(aY){a.fragments[a3[0]]=a0?a2:1}return{fragment:a2,cacheable:aY}}a.fragments={};a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(aY,aZ){a.fn[aY]=function(a0){var a3=[],a6=a(a0),a5=this.length===1&&this[0].parentNode;if(a5&&a5.nodeType===11&&a5.childNodes.length===1&&a6.length===1){a6[aZ](this[0]);return this}else{for(var a4=0,a1=a6.length;a4<a1;a4++){var a2=(a4>0?this.clone(true):this).get();a.fn[aZ].apply(a(a6[a4]),a2);a3=a3.concat(a2)}return this.pushStack(a3,aY,a6.selector)}}});a.extend({clean:function(a0,a2,a9,a4){a2=a2||ab;if(typeof a2.createElement==="undefined"){a2=a2.ownerDocument||a2[0]&&a2[0].ownerDocument||ab}var ba=[];for(var a8=0,a3;(a3=a0[a8])!=null;a8++){if(typeof a3==="number"){a3+=""}if(!a3){continue}if(typeof a3==="string"&&!L.test(a3)){a3=a2.createTextNode(a3)}else{if(typeof a3==="string"){a3=a3.replace(H,p);var bb=(c.exec(a3)||["",""])[1].toLowerCase(),a1=ac[bb]||ac._default,a7=a1[0],aZ=a2.createElement("div");aZ.innerHTML=a1[1]+a3+a1[2];while(a7--){aZ=aZ.lastChild}if(!a.support.tbody){var aY=t.test(a3),a6=bb==="table"&&!aY?aZ.firstChild&&aZ.firstChild.childNodes:a1[1]==="<table>"&&!aY?aZ.childNodes:[];for(var a5=a6.length-1;a5>=0;--a5){if(a.nodeName(a6[a5],"tbody")&&!a6[a5].childNodes.length){a6[a5].parentNode.removeChild(a6[a5])}}}if(!a.support.leadingWhitespace&&Z.test(a3)){aZ.insertBefore(a2.createTextNode(Z.exec(a3)[0]),aZ.firstChild)}a3=aZ.childNodes}}if(a3.nodeType){ba.push(a3)}else{ba=a.merge(ba,a3)}}if(a9){for(var a8=0;ba[a8];a8++){if(a4&&a.nodeName(ba[a8],"script")&&(!ba[a8].type||ba[a8].type.toLowerCase()==="text/javascript")){a4.push(ba[a8].parentNode?ba[a8].parentNode.removeChild(ba[a8]):ba[a8])}else{if(ba[a8].nodeType===1){ba.splice.apply(ba,[a8+1,0].concat(a.makeArray(ba[a8].getElementsByTagName("script"))))}a9.appendChild(ba[a8])}}}return ba},cleanData:function(aZ){var a2,a0,aY=a.cache,a5=a.event.special,a4=a.support.deleteExpando;for(var a3=0,a1;(a1=aZ[a3])!=null;a3++){a0=a1[a.expando];if(a0){a2=aY[a0];if(a2.events){for(var a6 in a2.events){if(a5[a6]){a.event.remove(a1,a6)}else{ag(a1,a6,a2.handle)}}}if(a4){delete a1[a.expando]}else{if(a1.removeAttribute){a1.removeAttribute(a.expando)}}delete aY[a0]}}}});var ar=/z-?index|font-?weight|opacity|zoom|line-?height/i,U=/alpha\([^)]*\)/,aa=/opacity=([^)]*)/,ah=/float/i,az=/-([a-z])/ig,v=/([A-Z])/g,aO=/^-?\d+(?:px)?$/i,aU=/^-?\d/,aK={position:"absolute",visibility:"hidden",display:"block"},W=["Left","Right"],aE=["Top","Bottom"],ak=ab.defaultView&&ab.defaultView.getComputedStyle,aN=a.support.cssFloat?"cssFloat":"styleFloat",k=function(aY,aZ){return aZ.toUpperCase()};a.fn.css=function(aY,aZ){return an(this,aY,aZ,true,function(a1,a0,a2){if(a2===C){return a.curCSS(a1,a0)}if(typeof a2==="number"&&!ar.test(a0)){a2+="px"}a.style(a1,a0,a2)})};a.extend({style:function(a2,aZ,a3){if(!a2||a2.nodeType===3||a2.nodeType===8){return C}if((aZ==="width"||aZ==="height")&&parseFloat(a3)<0){a3=C}var a1=a2.style||a2,a4=a3!==C;if(!a.support.opacity&&aZ==="opacity"){if(a4){a1.zoom=1;var aY=parseInt(a3,10)+""==="NaN"?"":"alpha(opacity="+a3*100+")";var a0=a1.filter||a.curCSS(a2,"filter")||"";a1.filter=U.test(a0)?a0.replace(U,aY):aY}return a1.filter&&a1.filter.indexOf("opacity=")>=0?(parseFloat(aa.exec(a1.filter)[1])/100)+"":""}if(ah.test(aZ)){aZ=aN}aZ=aZ.replace(az,k);if(a4){a1[aZ]=a3}return a1[aZ]},css:function(a1,aZ,a3,aY){if(aZ==="width"||aZ==="height"){var a5,a0=aK,a4=aZ==="width"?W:aE;function a2(){a5=aZ==="width"?a1.offsetWidth:a1.offsetHeight;if(aY==="border"){return}a.each(a4,function(){if(!aY){a5-=parseFloat(a.curCSS(a1,"padding"+this,true))||0}if(aY==="margin"){a5+=parseFloat(a.curCSS(a1,"margin"+this,true))||0}else{a5-=parseFloat(a.curCSS(a1,"border"+this+"Width",true))||0}})}if(a1.offsetWidth!==0){a2()}else{a.swap(a1,a0,a2)}return Math.max(0,Math.round(a5))}return a.curCSS(a1,aZ,a3)},curCSS:function(a4,aZ,a0){var a7,aY=a4.style,a1;if(!a.support.opacity&&aZ==="opacity"&&a4.currentStyle){a7=aa.test(a4.currentStyle.filter||"")?(parseFloat(RegExp.$1)/100)+"":"";return a7===""?"1":a7}if(ah.test(aZ)){aZ=aN}if(!a0&&aY&&aY[aZ]){a7=aY[aZ]}else{if(ak){if(ah.test(aZ)){aZ="float"}aZ=aZ.replace(v,"-$1").toLowerCase();var a6=a4.ownerDocument.defaultView;if(!a6){return null}var a8=a6.getComputedStyle(a4,null);if(a8){a7=a8.getPropertyValue(aZ)}if(aZ==="opacity"&&a7===""){a7="1"}}else{if(a4.currentStyle){var a3=aZ.replace(az,k);a7=a4.currentStyle[aZ]||a4.currentStyle[a3];if(!aO.test(a7)&&aU.test(a7)){var a2=aY.left,a5=a4.runtimeStyle.left;a4.runtimeStyle.left=a4.currentStyle.left;aY.left=a3==="fontSize"?"1em":(a7||0);a7=aY.pixelLeft+"px";aY.left=a2;a4.runtimeStyle.left=a5}}}}return a7},swap:function(a1,a0,a2){var aY={};for(var aZ in a0){aY[aZ]=a1.style[aZ];a1.style[aZ]=a0[aZ]}a2.call(a1);for(var aZ in a0){a1.style[aZ]=aY[aZ]}}});if(a.expr&&a.expr.filters){a.expr.filters.hidden=function(a1){var aZ=a1.offsetWidth,aY=a1.offsetHeight,a0=a1.nodeName.toLowerCase()==="tr";return aZ===0&&aY===0&&!a0?true:aZ>0&&aY>0&&!a0?false:a.curCSS(a1,"display")==="none"};a.expr.filters.visible=function(aY){return !a.expr.filters.hidden(aY)}}var af=aP(),aJ=/<script(.|\s)*?\/script>/gi,o=/select|textarea/i,aB=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,r=/=\?(&|$)/,D=/\?/,aX=/(\?|&)_=.*?(&|$)/,B=/^(\w+:)?\/\/([^\/?#]+)/,h=/%20/g,w=a.fn.load;a.fn.extend({load:function(a0,a3,a4){if(typeof a0!=="string"){return w.call(this,a0)}else{if(!this.length){return this}}var a2=a0.indexOf(" ");if(a2>=0){var aY=a0.slice(a2,a0.length);a0=a0.slice(0,a2)}var a1="GET";if(a3){if(a.isFunction(a3)){a4=a3;a3=null}else{if(typeof a3==="object"){a3=a.param(a3,a.ajaxSettings.traditional);a1="POST"}}}var aZ=this;a.ajax({url:a0,type:a1,dataType:"html",data:a3,complete:function(a6,a5){if(a5==="success"||a5==="notmodified"){aZ.html(aY?a("<div />").append(a6.responseText.replace(aJ,"")).find(aY):a6.responseText)}if(a4){aZ.each(a4,[a6.responseText,a5,a6])}}});return this},serialize:function(){return a.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?a.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||o.test(this.nodeName)||aB.test(this.type))}).map(function(aY,aZ){var a0=a(this).val();return a0==null?null:a.isArray(a0)?a.map(a0,function(a2,a1){return{name:aZ.name,value:a2}}):{name:aZ.name,value:a0}}).get()}});a.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(aY,aZ){a.fn[aZ]=function(a0){return this.bind(aZ,a0)}});a.extend({get:function(aY,a0,a1,aZ){if(a.isFunction(a0)){aZ=aZ||a1;a1=a0;a0=null}return a.ajax({type:"GET",url:aY,data:a0,success:a1,dataType:aZ})},getScript:function(aY,aZ){return a.get(aY,null,aZ,"script")},getJSON:function(aY,aZ,a0){return a.get(aY,aZ,a0,"json")},post:function(aY,a0,a1,aZ){if(a.isFunction(a0)){aZ=aZ||a1;a1=a0;a0={}}return a.ajax({type:"POST",url:aY,data:a0,success:a1,dataType:aZ})},ajaxSetup:function(aY){a.extend(a.ajaxSettings,aY)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:aM.XMLHttpRequest&&(aM.location.protocol!=="file:"||!aM.ActiveXObject)?function(){return new aM.XMLHttpRequest()}:function(){try{return new aM.ActiveXObject("Microsoft.XMLHTTP")}catch(aY){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(bd){var a8=a.extend(true,{},a.ajaxSettings,bd);var bi,bc,bh,bj=bd&&bd.context||a8,a0=a8.type.toUpperCase();if(a8.data&&a8.processData&&typeof a8.data!=="string"){a8.data=a.param(a8.data,a8.traditional)}if(a8.dataType==="jsonp"){if(a0==="GET"){if(!r.test(a8.url)){a8.url+=(D.test(a8.url)?"&":"?")+(a8.jsonp||"callback")+"=?"}}else{if(!a8.data||!r.test(a8.data)){a8.data=(a8.data?a8.data+"&":"")+(a8.jsonp||"callback")+"=?"}}a8.dataType="json"}if(a8.dataType==="json"&&(a8.data&&r.test(a8.data)||r.test(a8.url))){bi=a8.jsonpCallback||("jsonp"+af++);if(a8.data){a8.data=(a8.data+"").replace(r,"="+bi+"$1")}a8.url=a8.url.replace(r,"="+bi+"$1");a8.dataType="script";aM[bi]=aM[bi]||function(bk){bh=bk;a3();a6();aM[bi]=C;try{delete aM[bi]}catch(bl){}if(a1){a1.removeChild(bf)}}}if(a8.dataType==="script"&&a8.cache===null){a8.cache=false}if(a8.cache===false&&a0==="GET"){var aY=aP();var bg=a8.url.replace(aX,"$1_="+aY+"$2");a8.url=bg+((bg===a8.url)?(D.test(a8.url)?"&":"?")+"_="+aY:"")}if(a8.data&&a0==="GET"){a8.url+=(D.test(a8.url)?"&":"?")+a8.data}if(a8.global&&!a.active++){a.event.trigger("ajaxStart")}var bb=B.exec(a8.url),a2=bb&&(bb[1]&&bb[1]!==location.protocol||bb[2]!==location.host);if(a8.dataType==="script"&&a0==="GET"&&a2){var a1=ab.getElementsByTagName("head")[0]||ab.documentElement;var bf=ab.createElement("script");bf.src=a8.url;if(a8.scriptCharset){bf.charset=a8.scriptCharset}if(!bi){var ba=false;bf.onload=bf.onreadystatechange=function(){if(!ba&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){ba=true;a3();a6();bf.onload=bf.onreadystatechange=null;if(a1&&bf.parentNode){a1.removeChild(bf)}}}}a1.insertBefore(bf,a1.firstChild);return C}var a5=false;var a4=a8.xhr();if(!a4){return}if(a8.username){a4.open(a0,a8.url,a8.async,a8.username,a8.password)}else{a4.open(a0,a8.url,a8.async)}try{if(a8.data||bd&&bd.contentType){a4.setRequestHeader("Content-Type",a8.contentType)}if(a8.ifModified){if(a.lastModified[a8.url]){a4.setRequestHeader("If-Modified-Since",a.lastModified[a8.url])}if(a.etag[a8.url]){a4.setRequestHeader("If-None-Match",a.etag[a8.url])}}if(!a2){a4.setRequestHeader("X-Requested-With","XMLHttpRequest")}a4.setRequestHeader("Accept",a8.dataType&&a8.accepts[a8.dataType]?a8.accepts[a8.dataType]+", */*":a8.accepts._default)}catch(be){}if(a8.beforeSend&&a8.beforeSend.call(bj,a4,a8)===false){if(a8.global&&!--a.active){a.event.trigger("ajaxStop")}a4.abort();return false}if(a8.global){a9("ajaxSend",[a4,a8])}var a7=a4.onreadystatechange=function(bk){if(!a4||a4.readyState===0||bk==="abort"){if(!a5){a6()}a5=true;if(a4){a4.onreadystatechange=a.noop}}else{if(!a5&&a4&&(a4.readyState===4||bk==="timeout")){a5=true;a4.onreadystatechange=a.noop;bc=bk==="timeout"?"timeout":!a.httpSuccess(a4)?"error":a8.ifModified&&a.httpNotModified(a4,a8.url)?"notmodified":"success";var bm;if(bc==="success"){try{bh=a.httpData(a4,a8.dataType,a8)}catch(bl){bc="parsererror";bm=bl}}if(bc==="success"||bc==="notmodified"){if(!bi){a3()}}else{a.handleError(a8,a4,bc,bm)}a6();if(bk==="timeout"){a4.abort()}if(a8.async){a4=null}}}};try{var aZ=a4.abort;a4.abort=function(){if(a4){aZ.call(a4)}a7("abort")}}catch(be){}if(a8.async&&a8.timeout>0){setTimeout(function(){if(a4&&!a5){a7("timeout")}},a8.timeout)}try{a4.send(a0==="POST"||a0==="PUT"||a0==="DELETE"?a8.data:null)}catch(be){a.handleError(a8,a4,null,be);a6()}if(!a8.async){a7()}function a3(){if(a8.success){a8.success.call(bj,bh,bc,a4)}if(a8.global){a9("ajaxSuccess",[a4,a8])}}function a6(){if(a8.complete){a8.complete.call(bj,a4,bc)}if(a8.global){a9("ajaxComplete",[a4,a8])}if(a8.global&&!--a.active){a.event.trigger("ajaxStop")}}function a9(bl,bk){(a8.context?a(a8.context):a.event).trigger(bl,bk)}return a4},handleError:function(aZ,a1,aY,a0){if(aZ.error){aZ.error.call(aZ.context||aZ,a1,aY,a0)}if(aZ.global){(aZ.context?a(aZ.context):a.event).trigger("ajaxError",[a1,aZ,a0])}},active:0,httpSuccess:function(aZ){try{return !aZ.status&&location.protocol==="file:"||(aZ.status>=200&&aZ.status<300)||aZ.status===304||aZ.status===1223||aZ.status===0}catch(aY){}return false},httpNotModified:function(a1,aY){var a0=a1.getResponseHeader("Last-Modified"),aZ=a1.getResponseHeader("Etag");if(a0){a.lastModified[aY]=a0}if(aZ){a.etag[aY]=aZ}return a1.status===304||a1.status===0},httpData:function(a3,a1,a0){var aZ=a3.getResponseHeader("content-type")||"",aY=a1==="xml"||!a1&&aZ.indexOf("xml")>=0,a2=aY?a3.responseXML:a3.responseText;if(aY&&a2.documentElement.nodeName==="parsererror"){a.error("parsererror")}if(a0&&a0.dataFilter){a2=a0.dataFilter(a2,a1)}if(typeof a2==="string"){if(a1==="json"||!a1&&aZ.indexOf("json")>=0){a2=a.parseJSON(a2)}else{if(a1==="script"||!a1&&aZ.indexOf("javascript")>=0){a.globalEval(a2)}}}return a2},param:function(aY,a1){var aZ=[];if(a1===C){a1=a.ajaxSettings.traditional}if(a.isArray(aY)||aY.jquery){a.each(aY,function(){a3(this.name,this.value)})}else{for(var a2 in aY){a0(a2,aY[a2])}}return aZ.join("&").replace(h,"+");function a0(a4,a5){if(a.isArray(a5)){a.each(a5,function(a7,a6){if(a1||/\[\]$/.test(a4)){a3(a4,a6)}else{a0(a4+"["+(typeof a6==="object"||a.isArray(a6)?a7:"")+"]",a6)}})}else{if(!a1&&a5!=null&&typeof a5==="object"){a.each(a5,function(a7,a6){a0(a4+"["+a7+"]",a6)})}else{a3(a4,a5)}}}function a3(a4,a5){a5=a.isFunction(a5)?a5():a5;aZ[aZ.length]=encodeURIComponent(a4)+"="+encodeURIComponent(a5)}}});var G={},ae=/toggle|show|hide/,au=/^([+-]=)?([\d+-.]+)(.*)$/,aF,aj=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];a.fn.extend({show:function(aZ,a7){if(aZ||aZ===0){return this.animate(aD("show",3),aZ,a7)}else{for(var a4=0,a1=this.length;a4<a1;a4++){var aY=a.data(this[a4],"olddisplay");this[a4].style.display=aY||"";if(a.css(this[a4],"display")==="none"){var a6=this[a4].nodeName,a5;if(G[a6]){a5=G[a6]}else{var a0=a("<"+a6+" />").appendTo("body");a5=a0.css("display");if(a5==="none"){a5="block"}a0.remove();G[a6]=a5}a.data(this[a4],"olddisplay",a5)}}for(var a3=0,a2=this.length;a3<a2;a3++){this[a3].style.display=a.data(this[a3],"olddisplay")||""}return this}},hide:function(a3,a4){if(a3||a3===0){return this.animate(aD("hide",3),a3,a4)}else{for(var a2=0,aZ=this.length;a2<aZ;a2++){var aY=a.data(this[a2],"olddisplay");if(!aY&&aY!=="none"){a.data(this[a2],"olddisplay",a.css(this[a2],"display"))}}for(var a1=0,a0=this.length;a1<a0;a1++){this[a1].style.display="none"}return this}},_toggle:a.fn.toggle,toggle:function(a0,aZ){var aY=typeof a0==="boolean";if(a.isFunction(a0)&&a.isFunction(aZ)){this._toggle.apply(this,arguments)}else{if(a0==null||aY){this.each(function(){var a1=aY?a0:a(this).is(":hidden");a(this)[a1?"show":"hide"]()})}else{this.animate(aD("toggle",3),a0,aZ)}}return this},fadeTo:function(aY,a0,aZ){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:a0},aY,aZ)},animate:function(a2,aZ,a1,a0){var aY=a.speed(aZ,a1,a0);if(a.isEmptyObject(a2)){return this.each(aY.complete)}return this[aY.queue===false?"each":"queue"](function(){var a5=a.extend({},aY),a7,a6=this.nodeType===1&&a(this).is(":hidden"),a3=this;for(a7 in a2){var a4=a7.replace(az,k);if(a7!==a4){a2[a4]=a2[a7];delete a2[a7];a7=a4}if(a2[a7]==="hide"&&a6||a2[a7]==="show"&&!a6){return a5.complete.call(this)}if((a7==="height"||a7==="width")&&this.style){a5.display=a.css(this,"display");a5.overflow=this.style.overflow}if(a.isArray(a2[a7])){(a5.specialEasing=a5.specialEasing||{})[a7]=a2[a7][1];a2[a7]=a2[a7][0]}}if(a5.overflow!=null){this.style.overflow="hidden"}a5.curAnim=a.extend({},a2);a.each(a2,function(a9,bd){var bc=new a.fx(a3,a5,a9);if(ae.test(bd)){bc[bd==="toggle"?a6?"show":"hide":bd](a2)}else{var bb=au.exec(bd),be=bc.cur(true)||0;if(bb){var a8=parseFloat(bb[2]),ba=bb[3]||"px";if(ba!=="px"){a3.style[a9]=(a8||1)+ba;be=((a8||1)/bc.cur(true))*be;a3.style[a9]=be+ba}if(bb[1]){a8=((bb[1]==="-="?-1:1)*a8)+be}bc.custom(be,a8,ba)}else{bc.custom(be,bd,"")}}});return true})},stop:function(aZ,aY){var a0=a.timers;if(aZ){this.queue([])}this.each(function(){for(var a1=a0.length-1;a1>=0;a1--){if(a0[a1].elem===this){if(aY){a0[a1](true)}a0.splice(a1,1)}}});if(!aY){this.dequeue()}return this}});a.each({slideDown:aD("show",1),slideUp:aD("hide",1),slideToggle:aD("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(aY,aZ){a.fn[aY]=function(a0,a1){return this.animate(aZ,a0,a1)}});a.extend({speed:function(a0,a1,aZ){var aY=a0&&typeof a0==="object"?a0:{complete:aZ||!aZ&&a1||a.isFunction(a0)&&a0,duration:a0,easing:aZ&&a1||a1&&!a.isFunction(a1)&&a1};aY.duration=a.fx.off?0:typeof aY.duration==="number"?aY.duration:a.fx.speeds[aY.duration]||a.fx.speeds._default;aY.old=aY.complete;aY.complete=function(){if(aY.queue!==false){a(this).dequeue()}if(a.isFunction(aY.old)){aY.old.call(this)}};return aY},easing:{linear:function(a0,a1,aY,aZ){return aY+aZ*a0},swing:function(a0,a1,aY,aZ){return((-Math.cos(a0*Math.PI)/2)+0.5)*aZ+aY}},timers:[],fx:function(aZ,aY,a0){this.options=aY;this.elem=aZ;this.prop=a0;if(!aY.orig){aY.orig={}}}});a.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(a.fx.step[this.prop]||a.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(aZ){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var aY=parseFloat(a.css(this.elem,this.prop,aZ));return aY&&aY>-10000?aY:parseFloat(a.curCSS(this.elem,this.prop))||0},custom:function(a2,a1,a0){this.startTime=aP();this.start=a2;this.end=a1;this.unit=a0||this.unit||"px";this.now=this.start;this.pos=this.state=0;var aY=this;function aZ(a3){return aY.step(a3)}aZ.elem=this.elem;if(aZ()&&a.timers.push(aZ)&&!aF){aF=setInterval(a.fx.tick,13)}},show:function(){this.options.orig[this.prop]=a.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());a(this.elem).show()},hide:function(){this.options.orig[this.prop]=a.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a1){var a6=aP(),a2=true;if(a1||a6>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var a3 in this.options.curAnim){if(this.options.curAnim[a3]!==true){a2=false}}if(a2){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;var a0=a.data(this.elem,"olddisplay");this.elem.style.display=a0?a0:this.options.display;if(a.css(this.elem,"display")==="none"){this.elem.style.display="block"}}if(this.options.hide){a(this.elem).hide()}if(this.options.hide||this.options.show){for(var aY in this.options.curAnim){a.style(this.elem,aY,this.options.orig[aY])}}this.options.complete.call(this.elem)}return false}else{var aZ=a6-this.startTime;this.state=aZ/this.options.duration;var a4=this.options.specialEasing&&this.options.specialEasing[this.prop];var a5=this.options.easing||(a.easing.swing?"swing":"linear");this.pos=a.easing[a4||a5](this.state,aZ,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};a.extend(a.fx,{tick:function(){var aZ=a.timers;for(var aY=0;aY<aZ.length;aY++){if(!aZ[aY]()){aZ.splice(aY--,1)}}if(!aZ.length){a.fx.stop()}},stop:function(){clearInterval(aF);aF=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(aY){a.style(aY.elem,"opacity",aY.now)},_default:function(aY){if(aY.elem.style&&aY.elem.style[aY.prop]!=null){aY.elem.style[aY.prop]=(aY.prop==="width"||aY.prop==="height"?Math.max(0,aY.now):aY.now)+aY.unit}else{aY.elem[aY.prop]=aY.now}}}});if(a.expr&&a.expr.filters){a.expr.filters.animated=function(aY){return a.grep(a.timers,function(aZ){return aY===aZ.elem}).length}}function aD(aZ,aY){var a0={};a.each(aj.concat.apply([],aj.slice(0,aY)),function(){a0[this]=aZ});return a0}if("getBoundingClientRect" in ab.documentElement){a.fn.offset=function(a7){var a0=this[0];if(a7){return this.each(function(a8){a.offset.setOffset(this,a7,a8)})}if(!a0||!a0.ownerDocument){return null}if(a0===a0.ownerDocument.body){return a.offset.bodyOffset(a0)}var a2=a0.getBoundingClientRect(),a6=a0.ownerDocument,a3=a6.body,aY=a6.documentElement,a1=aY.clientTop||a3.clientTop||0,a4=aY.clientLeft||a3.clientLeft||0,a5=a2.top+(self.pageYOffset||a.support.boxModel&&aY.scrollTop||a3.scrollTop)-a1,aZ=a2.left+(self.pageXOffset||a.support.boxModel&&aY.scrollLeft||a3.scrollLeft)-a4;return{top:a5,left:aZ}}}else{a.fn.offset=function(a9){var a3=this[0];if(a9){return this.each(function(ba){a.offset.setOffset(this,a9,ba)})}if(!a3||!a3.ownerDocument){return null}if(a3===a3.ownerDocument.body){return a.offset.bodyOffset(a3)}a.offset.initialize();var a0=a3.offsetParent,aZ=a3,a8=a3.ownerDocument,a6,a1=a8.documentElement,a4=a8.body,a5=a8.defaultView,aY=a5?a5.getComputedStyle(a3,null):a3.currentStyle,a7=a3.offsetTop,a2=a3.offsetLeft;while((a3=a3.parentNode)&&a3!==a4&&a3!==a1){if(a.offset.supportsFixedPosition&&aY.position==="fixed"){break}a6=a5?a5.getComputedStyle(a3,null):a3.currentStyle;a7-=a3.scrollTop;a2-=a3.scrollLeft;if(a3===a0){a7+=a3.offsetTop;a2+=a3.offsetLeft;if(a.offset.doesNotAddBorder&&!(a.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(a3.nodeName))){a7+=parseFloat(a6.borderTopWidth)||0;a2+=parseFloat(a6.borderLeftWidth)||0}aZ=a0,a0=a3.offsetParent}if(a.offset.subtractsBorderForOverflowNotVisible&&a6.overflow!=="visible"){a7+=parseFloat(a6.borderTopWidth)||0;a2+=parseFloat(a6.borderLeftWidth)||0}aY=a6}if(aY.position==="relative"||aY.position==="static"){a7+=a4.offsetTop;a2+=a4.offsetLeft}if(a.offset.supportsFixedPosition&&aY.position==="fixed"){a7+=Math.max(a1.scrollTop,a4.scrollTop);a2+=Math.max(a1.scrollLeft,a4.scrollLeft)}return{top:a7,left:a2}}}a.offset={initialize:function(){var aY=ab.body,aZ=ab.createElement("div"),a2,a4,a3,a5,a0=parseFloat(a.curCSS(aY,"marginTop",true))||0,a1="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.extend(aZ.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});aZ.innerHTML=a1;aY.insertBefore(aZ,aY.firstChild);a2=aZ.firstChild;a4=a2.firstChild;a5=a2.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(a4.offsetTop!==5);this.doesAddBorderForTableAndCells=(a5.offsetTop===5);a4.style.position="fixed",a4.style.top="20px";this.supportsFixedPosition=(a4.offsetTop===20||a4.offsetTop===15);a4.style.position=a4.style.top="";a2.style.overflow="hidden",a2.style.position="relative";this.subtractsBorderForOverflowNotVisible=(a4.offsetTop===-5);this.doesNotIncludeMarginInBodyOffset=(aY.offsetTop!==a0);aY.removeChild(aZ);aY=aZ=a2=a4=a3=a5=null;a.offset.initialize=a.noop},bodyOffset:function(aY){var a0=aY.offsetTop,aZ=aY.offsetLeft;a.offset.initialize();if(a.offset.doesNotIncludeMarginInBodyOffset){a0+=parseFloat(a.curCSS(aY,"marginTop",true))||0;aZ+=parseFloat(a.curCSS(aY,"marginLeft",true))||0}return{top:a0,left:aZ}},setOffset:function(a3,aZ,a0){if(/static/.test(a.curCSS(a3,"position"))){a3.style.position="relative"}var a2=a(a3),a5=a2.offset(),aY=parseInt(a.curCSS(a3,"top",true),10)||0,a4=parseInt(a.curCSS(a3,"left",true),10)||0;if(a.isFunction(aZ)){aZ=aZ.call(a3,a0,a5)}var a1={top:(aZ.top-a5.top)+aY,left:(aZ.left-a5.left)+a4};if("using" in aZ){aZ.using.call(a3,a1)}else{a2.css(a1)}}};a.fn.extend({position:function(){if(!this[0]){return null}var a0=this[0],aZ=this.offsetParent(),a1=this.offset(),aY=/^body|html$/i.test(aZ[0].nodeName)?{top:0,left:0}:aZ.offset();a1.top-=parseFloat(a.curCSS(a0,"marginTop",true))||0;a1.left-=parseFloat(a.curCSS(a0,"marginLeft",true))||0;aY.top+=parseFloat(a.curCSS(aZ[0],"borderTopWidth",true))||0;aY.left+=parseFloat(a.curCSS(aZ[0],"borderLeftWidth",true))||0;return{top:a1.top-aY.top,left:a1.left-aY.left}},offsetParent:function(){return this.map(function(){var aY=this.offsetParent||ab.body;while(aY&&(!/^body|html$/i.test(aY.nodeName)&&a.css(aY,"position")==="static")){aY=aY.offsetParent}return aY})}});a.each(["Left","Top"],function(aZ,aY){var a0="scroll"+aY;a.fn[a0]=function(a3){var a1=this[0],a2;if(!a1){return null}if(a3!==C){return this.each(function(){a2=am(this);if(a2){a2.scrollTo(!aZ?a3:a(a2).scrollLeft(),aZ?a3:a(a2).scrollTop())}else{this[a0]=a3}})}else{a2=am(a1);return a2?("pageXOffset" in a2)?a2[aZ?"pageYOffset":"pageXOffset"]:a.support.boxModel&&a2.document.documentElement[a0]||a2.document.body[a0]:a1[a0]}}});function am(aY){return("scrollTo" in aY&&aY.document)?aY:aY.nodeType===9?aY.defaultView||aY.parentWindow:false}a.each(["Height","Width"],function(aZ,aY){var a0=aY.toLowerCase();a.fn["inner"+aY]=function(){return this[0]?a.css(this[0],a0,false,"padding"):null};a.fn["outer"+aY]=function(a1){return this[0]?a.css(this[0],a0,false,a1?"margin":"border"):null};a.fn[a0]=function(a1){var a2=this[0];if(!a2){return a1==null?null:this}if(a.isFunction(a1)){return this.each(function(a4){var a3=a(this);a3[a0](a1.call(this,a4,a3[a0]()))})}return("scrollTo" in a2&&a2.document)?a2.document.compatMode==="CSS1Compat"&&a2.document.documentElement["client"+aY]||a2.document.body["client"+aY]:(a2.nodeType===9)?Math.max(a2.documentElement["client"+aY],a2.body["scroll"+aY],a2.documentElement["scroll"+aY],a2.body["offset"+aY],a2.documentElement["offset"+aY]):a1===C?a.css(a2,a0):this.css(a0,typeof a1==="string"?a1:a1+"px")}});aM.jQuery=aM.$=a})(window);eCarList.use_jQuery(jQuery.noConflict(true),true);eCarList.namespace("eCarList",function(b,a){b.Module={extend:function(){var c=[true,{},this];for(var d=0;d<arguments.length;d++){c.push(arguments[d])}return a.extend.apply(null,c)}}});var SmartChat=eCarList.namespace("eCarList.App.SmartChat");SmartChat.jQuery=eCarList.jQuery;SmartChat.DEBUG_ENABLED=false||(document.cookie.search(/lol_debug/i)>=0);SmartChat.ASSET_BASE="";SmartChat.CSS_BASE=SmartChat.ASSET_BASE+"/css/smartchat";SmartChat.IMAGE_BASE=SmartChat.ASSET_BASE+"/images/smartchat";SmartChat.JS_BASE=SmartChat.ASSET_BASE+"/js/smartchat";SmartChat.BIND_PATH="/jabber";SmartChat.ADMIN_DOMAIN="ecarlist.com";SmartChat.VISITOR_DOMAIN="visitor.ecarlist.com";SmartChat.SYSTEM_JID=new JSJaCJID("system@system.ecarlist.com");SmartChat.Show={NONE:"",AWAY:"away",CHAT:"chat",DO_NOT_DISTURB:"dnd",EXTENDED_AWAY:"xa"};SmartChat.MessageType={DECLINE:"decline",INVITE:"invite",MESSAGE:"message",STATUS:"status"};SmartChat.RoomType={TEAM:"team",PRIVATE:"private"};eCarList.namespace("eCarList.App.SmartChat",function(a,b){b.fn.ecl=function(){var c=this;return{horizontal_center:function(d){d=d||0;return c.each(function(g,h){var f=b(h).outerWidth();var e=(b(window).width()-f)/2+d;b(h).css({right:e})})},vertical_center:function(d){d=d||0;return c.each(function(e,g){var f=b(g).outerHeight();var h=(b(window).height()-f)/2+d;b(g).css({top:h})})},center:function(d,e){return c.each(function(f,g){b(g).ecl().horizontal_center(d);b(g).ecl().vertical_center(e)})},attr_set:function(){var f={};var g=c.get(0);if(g){for(var e=0;e<arguments.length;e++){var d=arguments[e].toString();var h=g.getAttribute(d);if(h){f[d]=h}}}return f},disabled:function(d){if(typeof d==="undefined"){return c.attr("disabled")}else{c.each(function(){if(d){b(this).addClass("disabled");if(this.tagName.match(/button|input|select|textarea/i)){b(this).attr("disabled","disabled")}}else{b(this).removeAttr("disabled").removeClass("disabled")}})}},select_class:function(e,d){c.each(function(){for(var f in e){if(e[f]){b(this).removeClass(e[f])}}if(d){b(this).addClass(d)}})}}}});eCarList.namespace("eCarList.App.SmartChat",function(a,b){b.ecl={};b.ecl.string={escape_class:function(c){return(c)?c.replace(/\W/g,"_"):c},strip_html:function(c){return c.replace(/<\/?[A-Z][^>]*>/ig,"")},first_name:function(c){if(c){var d=c.split(/\s+/);return d[0]}return c}}});eCarList.namespace("eCarList.App.SmartChat",function(a,b){a.Form={sanitize:function(d,c){if(d&&typeof d==="string"){d=b.trim(d);return(c)?c(d):d}else{if(d&&typeof d==="object"){d.each(function(){var e=b.trim(b(this).val());e=(c)?c(e):e;b(this).val(e)})}}},sanitize_name:function(c){return a.Form.sanitize(c,function(d){return d.replace(/[^\w\. \-]+/g," ").replace(/^[^A-Z]+/i,"")})},validate:function(e,d){if(e&&typeof e==="string"){return b.trim(e).match(d)}else{if(e&&typeof e==="object"){var c=true;e.each(function(){var f=b.trim(b(this).val());if(!f.match(d)){b(this).addClass("invalid");c=false}else{b(this).removeClass("invalid")}});return c}}return false},validate_email:function(c){return a.Form.validate(c,/^[A-Z0-9\._%+\-]+@[A-Z0-9\.\-]+\.[A-Z]{2,4}$/i)},validate_name:function(c){return a.Form.validate(c,/^[A-Z][\w\. \-]*/i)},validate_phone:function(c){return a.Form.validate(c,/^(1\s*[\-\/\.]?)?(\((\d{3})\)|(\d{3}))\s*[\-\/\.]?\s*(\d{3})\s*[\-\/\.]?\s*(\d{4})\s*(([xX]|[eE][xX][tT])\.?\s*(\d+))*$/)},validate_text:function(c){return a.Form.validate(c,/^[A-Z]/i)}}});eCarList.namespace("eCarList",function(e,c){var b=false;var d={next_id:1};e.Class=function(){this.klass=e.Class};e.Class._mixins=[];e.Class.mix=function(){this._mixins=this._mixins||[];for(var g=0;g<arguments.length;g++){var f=arguments[g];e.assert(f&&typeof f==="object","invalid mixin: "+f);this._mixins.push(f);a(this,f)}return this};e.Class.extend=function(j){var k=this.prototype;var h=function(){if(!b){this._id=d.next_id++;if(this.init){this.init.apply(this,arguments)}}};c.extend(true,h,this,j);b=true;var i=new this();b=false;if(j.prototype&&typeof j.prototype==="object"){var g=j.prototype;c.extend(true,i,g);for(var f in g){if(c.isFunction(k[f])&&c.isFunction(g[f])){i[f]=(function(l){return function(){var n=this._super;this._super=k[l];try{return g[l].apply(this,arguments)}catch(m){if(JSON&&JSON.stringify){e.error("ClassError: "+JSON.stringify(m))}else{e.error("ClassError: "+m)}}finally{this._super=n}}}(f))}}}i.klass=h;h.prototype=i;h.constructor=h;h.base=k;h._mixins=this._mixins.concat();return h};e.Class.prototype={mix_of:function(f){return(c.inArray(f,this.klass._mixins)>=0)}};var a=function(g,h){for(var f in h){if(typeof g[f]==="undefined"){if(typeof h[f]==="object"){g[f]=a(c.isArray(h[f])?[]:{},h[f])}else{g[f]=h[f]}}else{if(g[f]&&(typeof g[f]).match(/(object|function)/)&&h[f]&&(typeof h[f]).match(/object|function/)&&h[f]!==Function.prototype[f]){a(g[f],h[f])}}}return g}});(function($){$.toJSON=function(o){if(typeof(JSON)=="object"&&JSON.stringify){return JSON.stringify(o)}var type=typeof(o);if(o===null){return"null"}if(type=="undefined"){return undefined}if(type=="number"||type=="boolean"){return o+""}if(type=="string"){return $.quoteString(o)}if(type=="object"){if(typeof o.toJSON=="function"){return $.toJSON(o.toJSON())}if(o.constructor===Date){var month=o.getUTCMonth()+1;if(month<10){month="0"+month}var day=o.getUTCDate();if(day<10){day="0"+day}var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10){hours="0"+hours}var minutes=o.getUTCMinutes();if(minutes<10){minutes="0"+minutes}var seconds=o.getUTCSeconds();if(seconds<10){seconds="0"+seconds}var milli=o.getUTCMilliseconds();if(milli<100){milli="0"+milli}if(milli<10){milli="0"+milli}return'"'+year+"-"+month+"-"+day+"T"+hours+":"+minutes+":"+seconds+"."+milli+'Z"'}if(o.constructor===Array){var ret=[];for(var i=0;i<o.length;i++){ret.push($.toJSON(o[i])||"null")}return"["+ret.join(",")+"]"}var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number"){name='"'+k+'"'}else{if(type=="string"){name=$.quoteString(k)}else{continue}}if(typeof o[k]=="function"){continue}var val=$.toJSON(o[k]);pairs.push(name+":"+val)}return"{"+pairs.join(", ")+"}"}};$.evalJSON=function(src){if(typeof(JSON)=="object"&&JSON.parse){return JSON.parse(src)}return eval("("+src+")")};$.secureEvalJSON=function(src){if(typeof(JSON)=="object"&&JSON.parse){return JSON.parse(src)}var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,"@");filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]");filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,"");if(/^[\],:{}\s]*$/.test(filtered)){return eval("("+src+")")}else{throw new SyntaxError("Error parsing JSON, source is not valid.")}};$.quoteString=function(string){if(string.match(_escapeable)){return'"'+string.replace(_escapeable,function(a){var c=_meta[a];if(typeof c==="string"){return c}c=a.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+string+'"'};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"}})(eCarList.jQuery);eCarList.namespace("eCarList.Util",function(b,a){b.Cookie=eCarList.Module.extend({read:function(c){eCarList.assert(typeof c==="string","invalid name: "+c);var f=document.cookie.split(/\s*;\s/);for(var d=0;d<f.length;d++){var h=f[d].split(/\s*=\s*/);if(h.length===2&&h[0]===c){var e=h[1];var g=unescape(h[1]);return g}}return null},read_object:function(d){eCarList.assert(typeof d==="string","invalid name: "+d);var f=this.read(d);if(f){var c={};var g=f.split("&");for(var e=0;(e+1)<g.length;e+=2){c[g[e]]=g[e+1]}return c}return null},assemble:function(e,g,c,h){eCarList.assert(e&&typeof e==="string","invalid name: "+e);eCarList.assert(typeof g==="string","invalid value: "+g);var f=e+"="+escape(g);if(c){if(typeof c==="number"){var d=new Date();d.setTime(d.getTime()+c);c=d}f+="; expires="+c.toGMTString()}f+="; path="+(h||"/");return f},write:function(d,e,c,f){document.cookie=this.assemble(d,e,c,f)},write_object:function(e,d,c,i){eCarList.assert(e&&typeof e==="string","invalid name: "+e);eCarList.assert(typeof d==="object","invalid object: "+d);var h=[];for(var f in d){if(d.hasOwnProperty(f)){h.push(f,d[f])}}var g=h.join("&");this.write(e,g,c,i)},erase:function(d,e){eCarList.assert(d&&typeof d==="string","invalid name: "+d);var c=new Date();c.setTime(c.getTime()-60000);this.write(d,"",c,e)}})});eCarList.namespace("eCarList.App.SmartChat",function(b,c){var a=eCarList.Util.Cookie;b.BigCookie=eCarList.Util.Cookie.extend({is_required:function(){return(c.browser.msie&&c.browser.version.match(/^[567]/))?true:false},read:function(d){var g=a.read(d);if(g){return g}else{if(this.is_required()){try{var f=c.evalJSON(window.name||"{}")[d];if(!f.expires||f.expires>(new Date()).getTime()){return unescape(f.value)}}catch(h){}}}return null},write:function(f,h,d,j){var g=this.assemble(f,h,d,j);if(this.is_required()){try{this._win=this._win||{};if(d&&typeof d==="object"){d=d.getTime()}else{if(d&&typeof d==="number"){d=(new Date()).getTime()+d}}this._win[f]={expires:d||null,value:escape(h)};window.name=c.toJSON(this._win)}catch(i){}}else{document.cookie=g}eCarList.debug("writing cookie("+f+"): "+h)},read_validated:function(d){var e=this.read(d);if(!c.browser.msie&&!e){e=this.read(d+"_last")}return e},write_validated:function(e,f,g){var d=new Date();d.setTime(d.getTime()+g);this.write(e,f,d)},erase_validated:function(d){this.erase(d);if(!c.browser.msie){this.erase(d+"_last")}},validate:function(e,f,g){if(!c.browser.msie){var d=new Date();d.setTime(d.getTime()+2*g);this.write(e+"_last",f,d);this.erase(e)}}})});eCarList.namespace("eCarList.Util",function(f,b){var g=this;f.Bindable=eCarList.Module.extend({Event:{},prototype:{get_bind_target:function(){if(this.mix_of(f.Embeddable)){return this._element||g}return g},bind:function(){return d.call(this,"bind",arguments)},bind_once:function(){return d.call(this,"one",arguments)},bind_to:function(k,j,i,h){var l={bindable:k,type:j,handler:(k.bind)?k.bind(j,i,h||this):c.call(this,b(k),"bind",j,i,h||this)};this._bound_to=this._bound_to||[];this._bound_to.push(l)},bind_once_to:function(k,j,i,h){var l={bindable:k,type:j,handler:(k.bind_once)?k.bind_once(j,i,h||this):c.call(this,b(k),"one",j,i,h||this)};this._bound_to=this._bound_to||[];this._bound_to.push(l)},unbind:function(){var h,j,i;if(typeof arguments[1]==="string"){h=arguments[0];j=arguments[1];i=arguments[2]}else{j=arguments[0];i=arguments[1]}var k=(h)?b(h,this.get_bind_target()):b(this.get_bind_target());k.unbind(a.call(this,j),i)},unbind_from:function(l,k,j){if(this._bound_to){for(var h=0;h<this._bound_to.length;){var m=this._bound_to[h];if(m.bindable===l&&(!k||m.type===k)&&(!j||m.handler===j)){e.call(this,m);this._bound_to.splice(h,1)}else{h++}}}},unbind_all:function(){this.unbind("");b(this.get_bind_target()).unbind(a.call(this,""));if(this._bound_to){for(var h=0;h<this._bound_to.length;h++){var j=this._bound_to[h];e.call(this,j)}this._bound_to.length=0}},trigger:function(h,i){b(this.get_bind_target()).trigger(a.call(this,h),i)}}});var d=function(n,i){var h,l,k,j;if(typeof i[1]==="string"){h=i[0];l=i[1];k=i[2];j=i[3]}else{l=i[0];k=i[1];j=i[2]}var m=(h)?b(h,this.get_bind_target()):b(this.get_bind_target());return c.call(this,m,n,l,k,j)};var c=function(l,n,m,k,j){var h=this;var i=function(o,p){try{k.call(j||h,o,p)}catch(q){eCarList.error("[Bindable] Exception in handler("+m+"): "+q)}};l[n](a.call(this,m),this,i);return i};var e=function(h){if(h.bindable.unbind){h.bindable.unbind(h.type,h.handler)}else{b(h.bindable).unbind(h.type,h.handler)}};var a=function(h){return(h+".klass_"+this._id)}});eCarList.namespace("eCarList.Util",function(d,c){d.Configurable=eCarList.Module.extend({Attribute:{},Event:{CONFIG_CHANGE:"CONFIG_CHANGE"},prototype:{init:function(e){this.init_config(e)},init_config:function(g){if(this._config){return}this._config={};g=g||{};for(var e in this.klass.Attribute){if(this.klass.Attribute.hasOwnProperty(e)){var f=this.klass.Attribute[e];if(typeof g[e]!=="undefined"){this._config[e]=g[e]}else{if(f.init_fn){this._config[e]=f.init_fn.call(this,g)}else{if(typeof f.init!=="undefined"){this._config[e]=f.init}else{if(f.required){eCarList.assert(false,"required attribute ["+e+"] is undefined")}}}}var i="get_"+e;var h="set_"+e;if(!this[i]){this[i]=b(e)}if(!f.read_only&&!this[h]){this[h]=a(e)}}}},_get:function(e){eCarList.assert(this._config,"This eCarList.Util.Configurable has not been initialized");return this._config[e]},_set:function(e,g){eCarList.assert(this._config,"This eCarList.Util.Configurable has not been initialized");var f=this._config[e];if(f!==g){this._config[e]=g;if(this.mix_of(d.Bindable)){var h={attr:e,prev_value:f,new_value:g};this.trigger(d.Configurable.Event.CONFIG_CHANGE,h)}}}}});var b=function(e){return function(){return this._get(e)}};var a=function(e){return function(f){this._set(e,f)}}});eCarList.namespace("eCarList.Util",function(b,a){b.Embeddable=eCarList.Module.extend({HTML:"<div></div>",prototype:{$:function(c){eCarList.assert(this._element,"instance must be embedded before querying");return(c)?a(c,this._element):a(this._element)},in_dom:function(){return(this._element)?true:false},append_to:function(c){eCarList.assert(c&&c.nodeType===1,"invalid container: "+c);eCarList.assert(!this._element,"instance already embedded");this._element=a(this.klass.HTML).appendTo(c).get(0);return this._element},prepend_to:function(c){eCarList.assert(c&&c.nodeType===1,"invalid container: "+c);eCarList.assert(!this._element,"instance already embedded");this._element=a(this.klass.HTML).prependTo(c).get(0);return this._element},insert_after:function(c){eCarList.assert(container&&container.nodeType===1,"invalid element: "+c);eCarList.assert(!this._element,"instance already embedded");this._element=a(this.klass.HTML).insertAfter(c).get(0);return this._element},insert_before:function(c){eCarList.assert(container&&container.nodeType===1,"invalid element: "+c);eCarList.assert(!this._element,"instance already embedded");this._element=a(this.klass.HTML).insertBefore(c).get(0);return this._element},wrap:function(c){eCarList.assert(container&&container.nodeType===1,"invalid element: "+c);eCarList.assert(!this._element,"instance already embedded");this._element=a(this.klass.HTML).wrap(c).get(0);return this._element},wrap_inner:function(c){eCarList.assert(container&&container.nodeType===1,"invalid element: "+c);eCarList.assert(!this._element,"instance already embedded");this._element=a(this.klass.HTML).wrapInner(c).get(0);return this._element},remove:function(){if(this._element){this.$().remove();delete this._element;return true}return false}}})});eCarList.namespace("eCarList.App.SmartChat",function(a,b){a.UI=eCarList.Class.extend({Attribute:{enabled:{init:true},style_class:{init:""},visible:{init:true},hide_animation:{},show_animation:{}},escape_class:function(c){return(c)?c.replace(/\W/g,"_"):c},prototype:{init:function(c){this.init_config(c);this._ui_children=[]},dispose:function(){this._dispose_child.apply(this,this._ui_children);this.unbind_all();this.remove()},set_visible:function(d,c){if(d){this.show(c)}else{this.hide(c)}},toggle_visibility:function(c){this.set_visible(!this._get("visible"),c)},show:function(c){if(this.in_dom()&&(!this._rendered||!this._get("visible"))){this._set("visible",true);var d=this._get("show_animation");if(c&&d&&b.fn[d.method]){b.fn[d.method].call(this.$(),d.speed||"slow")}else{this.$().show()}this.layout()}},hide:function(c){if(this.in_dom()&&(!this._rendered||this._get("visible"))){this._set("visible",false);var d=this._get("hide_animation");if(c&&d&&b.fn[d.method]){b.fn[d.method].call(this.$(),d.speed||"slow")}else{this.$().hide()}}},set_enabled:function(c){if(!this._rendered||c!==this._get("enabled")){this._set("enabled",c)}},focus:function(){},render:function(c){this.append_to(c);this._render();this.layout();this.bind_to(window,"resize",function(){this.layout()});this._rendered=true},_render:function(){if(this._get("style_class")){this.$().addClass(this._get("style_class"))}this.set_visible(this._get("visible"))},_render_child:function(c,d){this._ui_children.push(d);d.render(c);this.layout();return d},_dispose_child:function(){var f=0;for(var e=0;e<arguments.length;e++){var d=arguments[e];for(var c=0;c<this._ui_children.length;c++){if(this._ui_children[c]===d){this._ui_children.splice(c,1);this.unbind_from(d);d.dispose();f++;break}}}if(f){this.layout()}},layout:function(){if(this._get("visible")){this._layout();for(var c=0;c<this._ui_children.length;c++){this._ui_children[c]._layout()}}},_layout:function(){}}}).mix(eCarList.Util.Bindable,eCarList.Util.Configurable,eCarList.Util.Embeddable)});eCarList.namespace("eCarList.App.SmartChat",function(a,d){a.Dialog=a.UI.extend({Attribute:{closeable:{init:false},message:{init:""},options:{init:[]}},Event:{CLOSE:"DIALOG_CLOSE",SELECT:"DIALOG_SELECT"},HTML:'			<div class="dialog">				<div class="message"></div>				<div class="body"></div>				<div class="options"></div>			</div>		',BODY_HTML:"",prototype:{_render:function(){this._super();this._body=this.$(".body").get(0);this.set_closeable(this._get("closeable"));this.bind(".close_btn","click",b);this.set_message(this._get("message"));if(this._body){if(this.klass.BODY_HTML){d(this._body).append(this.klass.BODY_HTML)}else{d(this._body).hide()}}var f=this._get("options");if(f.length>0){for(var g=0;g<f.length;g++){e.call(this,f[g],g===(f.length-1))}this.bind(".options > button","click",c)}else{this.$(".options").hide()}},close:function(){this.hide();this.trigger(this.klass.Event.CLOSE,this)},focus:function(){if(!d.browser.msie){this.$(".options > button.default").each(function(){this.focus()})}},set_closeable:function(f){this._set("closeable",f);if(f){this.$(".close_btn").show()}else{this.$(".close_btn").hide()}},set_option_enabled:function(){var h,g;if(arguments.length>1){h=arguments[0];g=arguments[1]}else{g=arguments[0]}var f=".options > button";if(h){f+=":contains('"+h+"')"}this.$(f).ecl().disabled(!g)},set_message:function(f){this._set("message",f||"");if(f){this.$(".message").text(f).show()}else{this.$(".message").hide()}}}});var e=function(g,h){var f=(h)?["default"]:[];var i="<button class="+f.join(" ")+">"+g+"</button>";this.$(".options").append(i)};var b=function(f){f.stopPropagation();this.close()};var c=function(g){var f=d(g.target).text();this.trigger(this.klass.Event.SELECT,f)}});eCarList.namespace("eCarList.App.SmartChat",function(a,b){a.FrameController=eCarList.Module.extend({load:function(d,c){this._frame=d;this._console=c},ready:function(){b(document).ready(function(){parent.eCarList.App.SmartChat.FrameController._on_frame_load()});b(window).bind("beforeunload",function(){parent.eCarList.App.SmartChat.FrameController._on_frame_unload()})},_on_frame_load:function(){this._console.load(this._frame,this._memento)},_on_frame_unload:function(){eCarList.debug("unloading console...");this._memento=this._console.unload()}})});eCarList.namespace("eCarList.Util",function(b,a){b.Browser=eCarList.Module.extend({Event:{IDLE:"BROWSER_IDLE",PAGE_UNLOAD:"BROWSER_PAGE_UNLOAD",SITE_UNLOAD:"BROWSER_SITE_UNLOAD"},init_idle_timer:function(g,e){if(this._idle){return}this.idle=0;this._idle={interval:e||30000};var h=this;var c=function(){h.idle=(new Date()).getTime()-h._idle.date;a(g.document).trigger(h.Event.IDLE,h.idle)};var f=function(){if(h._idle.interval_id){clearInterval(h._idle.interval_id);delete h._idle.interval_id}if(h._idle.interval){h._idle.date=(new Date()).getTime();h._idle.interval_id=setInterval(c,h._idle.interval)}};var d=function(i){if(h.idle>0){h.idle=0;a(g.document).trigger(h.Event.IDLE,h.idle)}f()};a(g.document).bind("mousemove keydown DOMMouseScroll mousewheel mousedown",d)},init_unload_events:function(c){if(this._unload){return}this._unload={};var d=this;c.onbeforeunload=function(){var h=false;var g=(new Date()).getTime();if(d._unload.location&&d._unload.timeStamp&&((g-d._unload.timeStamp)<1000)){var f=d._unload.location.match(/^([a-z]+:)\/\/([^\/]+)/i);if(f&&(f[1].toLowerCase()!==c.location.protocol.toLowerCase()||f[2].toLowerCase()!==c.location.hostname.toLowerCase())){h=true}}var e={};if(h){a(c).trigger(d.Event.SITE_UNLOAD,e)}else{a(c).trigger(d.Event.PAGE_UNLOAD,e)}return e.message};a(document).ready(function(e){a("a").live("click",function(f){d._unload.location=this.getAttribute("href");d._unload.timeStamp=f.timeStamp});a("form").submit(function(f){d._unload.location=this.getAttribute("action");d._unload.timeStamp=f.timeStamp})})},blink_title:function(g,e){this._blink=this._blink||{messages:[]};var f=this;var d=function(){f._blink.index=(++f._blink.index)%(f._blink.messages.length+1);if(f._blink.index===f._blink.messages.length){document.title=f._blink.title}else{document.title=f._blink.messages[f._blink.index].text}};if(!this._blink.interval){this._blink.title=document.title;this._blink.index=0;this._blink.interval=setInterval(d,1000)}var c=a.grep(this._blink.messages,function(h){return(h.id===g)})[0];if(c){c.text=e}else{this._blink.messages.push({id:g,text:e})}},parse_url:function(e){eCarList.assert(typeof e==="string","invalid url: "+e);var d=e.match(/^([a-z]+:)\/\/([\-\.\w+]+)(:\d+)?(\/[^\s\?\#]*)?(\?[^\s#]*)?(#[^\s]*)?/);if(d){var c={href:d[0],protocol:d[1],hostname:d[2],port:d[3]||"",pathname:d[4]||"",search:d[5]||"",hash:d[6]||""};c.host=c.hostname;if(c.port){c.host+=":"+c.port}return c}else{throw"invalid url: "+e}},get_request_parameters:function(d){eCarList.assert(typeof d==="string","invalid search: "+d);var g={};d=a.trim(d.replace(/^[\?#]/,""));if(d){var e=d.split("&");for(var c=0;c<e.length;c++){var f=unescape(e[c]).split("=",2);g[f[0]]=f[1]}}return g},unblink_title:function(d){if(this._blink){for(var c=0;c<this._blink.messages.length;c++){if(this._blink.messages[c].id===d){this._blink.messages.splice(c,1);break}}if(this._blink.messages.length===0&&this._blink.interval){clearInterval(this._blink.interval);document.title=this._blink.title||document.title;delete this._blink.interval}}}})});eCarList.namespace("eCarList.App.SmartChat",function(b,d){var f=eCarList.Util.Browser,a=b.Dialog;b.ModalDialog=b.Dialog.extend({Attribute:{blink_title:{init:false},style_class:{init:"modal_dialog"},title:{init:"Dialog"}},HTML:'			<div class="modal_dialog dialog">				<div class="titlebar">					<div class="title"></div>					<div class="button_area">						<button class="close_btn" title="Close Dialog"></button>					</div>				</div>				<div class="message"></div>				<div class="body"></div>				<div class="options"></div>			</div>		',prototype:{dispose:function(){f.unblink_title(this._id);this._super()},_render:function(){this._super();this.$(".titlebar > .title").html(this._get("title"));this.bind(".titlebar","mouseover",e);this.bind(".titlebar","mouseout",c);if(this._get("blink_title")){f.blink_title(this._id,this._get("title"))}},_layout:function(){this.$().ecl().center()}}});var e=function(g){if(g.target.tagName.match(/button/i)){d(g.target).addClass("hover")}else{this.$(".titlebar").addClass("hover")}};var c=function(g){if(g.target.tagName.match(/button/i)){d(g.target).removeClass("hover")}else{this.$(".titlebar").removeClass("hover")}}});eCarList.namespace("eCarList.App.SmartChat",function(a,b){a.WindowDialog=a.Dialog.extend({Attribute:{style_class:{init:"window_dialog"}}})});eCarList.namespace("eCarList.App.SmartChat",function(e,f){var h=e.Dialog,g=e.WindowDialog;e.Window=e.UI.extend({Attribute:{closeable:{init:true},minimizable:{init:true},minimized:{init:false},popable:{init:true},title:{init:"Window"},titlebar_icon:{init:false},toolbar:{},visible:{init:false}},Event:{CLOSE:"WINDOW_CLOSE",DEBUG:"WINDOW_DEBUG",MINIMIZE:"WINDOW_MINIMIZE",MAXIMIZE:"WINDOW_MAXIMIZE",POPOUT:"WINDOW_POPOUT"},HTML:'			<div class="window">				<div class="titlebar">					<div class="icon"></div>					<div class="title"></div>					<div class="button_area">						<button class="minmax_btn" title="Minimize Window"></button>						<button class="popout_btn" title="Pop Out Window"></button>						<button class="close_btn" title="Close Window"></button>					</div>				</div>				<div class="header"></div>				<div class="body"></div>				<div class="footer"></div>			</div>		',prototype:{close:function(){this.hide();this.trigger(this.klass.Event.CLOSE,this)},focus:function(){if(this._dialog){this._dialog.focus()}},blink_titlebar:function(m){if(!this._titlebar_blink_interval){this._titlebar_blink_count=m||-1;var l=this;this._titlebar_blink_interval=setInterval(function(){var n=this.$(".titlebar");if(n.hasClass("blink")){n.removeClass("blink");if(l._titlebar_blink_count===0){l.unblink_titlebar()}}else{n.addClass("blink");if(l._titlebar_blink_count>0){l._titlebar_blink_count--}}},1000)}},unblink_titlebar:function(){if(this._titlebar_blink_interval){clearInterval(this._titlebar_blink_interval);delete this._titlebar_blink_interval}this.$(".titlebar").removeClass("blink")},set_closeable:function(l){this._set("closeable",l);if(l){this.$(".close_btn").show()}else{this.$(".close_btn").hide()}},set_minimizable:function(l){this._set("minimizable",l);if(l){this.$(".minmax_btn").show()}else{this.$(".minmax_btn").hide()}},set_popable:function(l){this._set("popable",l);if(l){this.$(".popout_btn").show()}else{this.$(".popout_btn").hide()}},minimize:function(){this._set("minimized",true);this.$().addClass("minimized");this.$(".minmax_btn").attr("title","Maximize Window");this.layout();this.trigger(this.klass.Event.MINIMIZE,this)},maximize:function(){this._set("minimized",false);this.$().removeClass("minimized");this.$(".minmax_btn").attr("title","Minimize Window");this.layout();this.trigger(this.klass.Event.MAXIMIZE,this)},set_minimized:function(l){if(l){this.minimize()}else{this.maximize()}},popout:function(){this.hide();this.trigger(this.klass.Event.POPOUT,this)},open_dialog:function(l){this.close_dialog();this._dialog=this._render_child(this._header,l);this._dialog.focus();this.bind_to(this._dialog,h.Event.CLOSE,c);return this._dialog},close_dialog:function(){if(this._dialog){this._dialog.close()}},display_message:function(m){var l=this.open_dialog(new g({message:m,options:[]}))},confirm:function(o,n,l){var m=this.open_dialog(new g({message:n,options:l||["Cancel","OK"]}));this.bind_to(m,h.Event.SELECT,function(q,p){if(p===m.get_options()[m.get_options().length-1]){o.call(this)}m.close()})},_render:function(){this._super();this._titlebar=this.$(".titlebar").get(0);this._header=this.$(".header").get(0);this._body=this.$(".body").get(0);this._footer=this.$(".footer").get(0);if(!this._get("titlebar_icon")){this.$(".titlebar > .icon").hide()}this.$(".titlebar > .title").html(this._get("title"));this.bind(".titlebar","mouseover",a);this.bind(".titlebar","mouseout",i);this.bind(".titlebar","click",k);this.set_closeable(this._get("closeable"));this.bind(".close_btn","click",b);this.set_minimizable(this._get("minimizable"));this.bind(".minmax_btn","click",j);this.set_popable(this._get("popable"));this.bind(".popout_btn","click",d);if(this._get("toolbar")){this._render_child(this._header,this._get("toolbar"))}this.set_minimized(this._get("minimized"))},_layout:function(){var p;if(!this._get("minimized")){var o=this.$().innerHeight();var l=(this._titlebar)?f(this._titlebar).outerHeight():0;var n=f(this._header).children().length?f(this._header).height():0;var m=f(this._footer).children().length?f(this._footer).height():0;p=o-l-n-m}else{p=0}f(this._body).height(p)}}});var a=function(l){if(l.target.tagName.match(/button/i)){f(l.target).addClass("hover")}else{this.$(".titlebar").addClass("hover")}};var i=function(l){if(l.target.tagName.match(/button/i)){f(l.target).removeClass("hover")}else{this.$(".titlebar").removeClass("hover")}};var k=function(l){if(l.altKey){this.trigger(this.klass.Event.DEBUG)}else{if(this._get("minimized")){this.maximize()}}};var b=function(l){l.stopPropagation();this.close()};var j=function(l){l.stopPropagation();if(this._get("minimized")){this.maximize()}else{this.minimize()}};var d=function(l){l.stopPropagation();this.popout()};var c=function(l){this._dispose_child(this._dialog);this._dialog=null}});eCarList.namespace("eCarList.Util",function(e,d){e.DataDumper=eCarList.Module.extend({dump:function(){var h={indent:"",arrays:[],functions:[],objects:[]};var g=[];for(var j=0;j<arguments.length;j++){g.push(a(arguments[j],h))}return g.join("\n")}});var a=function(i,g){var h;if(typeof i==="object"){try{if(i===null){return"null"}else{if(i===window){return"Window"}else{if(i===d){return"jQuery"}else{if(f(i)){return"DOMNode"}else{if(i instanceof RegExp){return"/"+i.source+"/"}else{if(d.isArray(i)){if((h=d.inArray(i,g.arrays))<0){g.arrays.push(i);return"Array#"+(g.arrays.length-1)+" "+b(i,g)}else{return"Array#"+h}}else{if((h=d.inArray(i,g.objects))<0){g.objects.push(i);return"Object#"+(g.objects.length-1)+" "+c(i,g)}else{return"Object#"+h}}}}}}}}catch(j){eCarList.debug("can't dump: "+j)}}else{if(typeof i==="function"){if(i instanceof RegExp){return"/"+i.source+"/"}else{if((h=d.inArray(i,g.functions))<0){g.functions.push(i);return"Function#"+(g.functions.length-1)+" "+c(i,g)}else{return"Function#"+h}}}else{if(typeof i==="string"){return'"'+i+'"'}else{if((typeof i).match(/boolean|number/)){return i}}}}};var f=function(g){return typeof Node==="object"?g instanceof Node:typeof g==="object"&&typeof g.nodeType==="number"&&typeof g.nodeName==="string"};var b=function(k,h){var g=new Array(k.length);h.indent+="  ";for(var j=0;j<k.length;j++){g[j]=h.indent+a(k[j],h)}h.indent=h.indent.substr(0,h.indent.length-2);return(g.length===0)?"[ ]":"[\n"+g.join(",\n")+"\n"+h.indent+"]"};var c=function(j,h){var i=[];h.indent+="  ";for(var g in j){var k=a(j[g],h);if(k){i.push(h.indent+g+": "+k)}}h.indent=h.indent.substr(0,h.indent.length-2);return(i.length===0)?"{ }":"{\n"+i.join(",\n")+"\n"+h.indent+"}"}});(function(a){a.DOMCached={version:"0.1c-jquery",storage:{},storage_service:false,init:function(){if("localStorage" in window){this.storage_service=localStorage}else{if("globalStorage" in window){this.storage_service=globalStorage[document.domain]}else{if("addBehavior" in document.createElement("div")){document.write('<link id="elm_domcached" style="behavior:url(#default#userData)"/>');a("#elm_domcached")[0].load("domcached");try{var c=a("#elm_domcached")[0].getAttribute("domcached")}catch(b){var c="{}"}this.storage_service={dom_storage:{}};if(c&&c.length){this.storage_service.dom_storage=c}}else{return}}}if("dom_storage" in this.storage_service&&this.storage_service.dom_storage){try{this.storage=a.evalJSON(this.storage_service.dom_storage)}catch(b){this.storage_service.dom_storage="{}"}}else{this.storage_service.dom_storage="{}"}},save:function(){if(this.storage_service){try{this.storage_service.dom_storage=a.toJSON(this.storage)}catch(b){}if(a("#elm_domcached").length){try{a("#elm_domcached")[0].setAttribute("domcached",this.storage_service.dom_storage);a("#elm_domcached")[0].save("domcached")}catch(b){}}}},set:function(b,d,e,c){c=c||"default";e=e||false;if(e&&e<(new Date()).getTime()){e=(new Date()).getTime()+Math.ceil(e)}if(!b||(typeof b!="string"&&typeof b!="number")){throw new TypeError("Key name must be string or numeric")}if(typeof c!="string"&&typeof c!="number"){throw new TypeError("Namespace name must be string or numeric")}if(!this.storage[c]){this.storage[c]={}}this.storage[c][b]={value:d,time:e};this.save();return d||true},get:function(b,c){c=c||"default";if(typeof c!="string"&&typeof c!="number"){throw new TypeError("Namespace name must be string or numeric")}if(this.storage[c]&&this.storage[c][b]){if(this.storage[c][b].time&&this.storage[c][b].time<(new Date()).getTime()){this.deleteKey(b,c);return null}return this.storage[c][b].value}return null},"delete":function(b,c){return this.deleteKey(b,c)},deleteKey:function(c,d){d=d||"default";if(typeof d!="string"&&typeof d!="number"){throw new TypeError("Namespace name must be string or numeric")}if(this.storage[d]&&this.storage[d][c]){delete this.storage[d][c];for(var b in this.storage[d]){if(this.storage[d].hasOwnProperty(b)){this.save();return true}}delete this.storage[d];this.save();return true}},add:function(b,d,e,c){c=c||"default";e=e||false;if(e&&e<(new Date()).getTime()){e=(new Date()).getTime()+Math.ceil(e)}if(!b||(typeof b!="string"&&typeof b!="number")){throw new TypeError("Key name must be string or numeric")}if(typeof c!="string"&&typeof c!="number"){throw new TypeError("Namespace name must be string or numeric")}if(!this.storage[c]){this.storage[c]={}}if(this.storage[c].hasOwnProperty(b)){return false}this.storage[c][b]={value:d,time:e};this.save();return d||true},replace:function(b,d,e,c){c=c||"default";e=e||false;if(e&&e<(new Date()).getTime()){e=(new Date()).getTime()+e}if(!b||(typeof b!="string"&&typeof b!="number")){throw new TypeError("Key name must be string or numeric")}if(typeof c!="string"&&typeof c!="number"){throw new TypeError("Namespace name must be string or numeric")}if(!this.storage[c]){this.storage[c]={}}if(!this.storage[c].hasOwnProperty(b)){return false}this.storage[c][b]={value:d,time:e};this.save();return d||true},incr:function(b,e,c,d){c=c||"default";e=e||1;d=d||0;time=time||false;if(time&&time<(new Date()).getTime()){time=(new Date()).getTime()+time}if(!b||(typeof b!="string"&&typeof b!="number")){throw new TypeError("Key name must be string or numeric")}if(typeof c!="string"&&typeof c!="number"){throw new TypeError("Namespace name must be string or numeric")}if(typeof e!="number"){throw new TypeError("Delta value must be number")}if(!this.storage[c]){this.storage[c]={}}if(!this.storage[c].hasOwnProperty(b)||typeof this.storage[c][b]!="number"){this.storage[c][b].value=d;this.save();return d}this.storage[c][b].value+=e;this.save();return value||true},decr:function(b,e,c,d){c=c||"default";e=e||1;d=d||0;time=time||false;if(time&&time<(new Date()).getTime()){time=(new Date()).getTime()+time}if(!b||(typeof b!="string"&&typeof b!="number")){throw new TypeError("Key name must be string or numeric")}if(typeof c!="string"&&typeof c!="number"){throw new TypeError("Namespace name must be string or numeric")}if(typeof e!="number"){throw new TypeError("Delta value must be number")}if(!this.storage[c]){this.storage[c]={}}if(!this.storage[c].hasOwnProperty(b)||typeof this.storage[c][b]!="number"){this.storage[c][b].value=d;this.save();return d}this.storage[c][b].value-=e;this.save();return value||true},flush_all:function(){this.storage={};this.save();return true}};a.DOMCached.init()})(eCarList.jQuery);eCarList.namespace("eCarList.Util",function(c,b){
/*
		Math.uuid.js (v1.4)
		http://www.broofa.com
		mailto:robert@broofa.com
	
		Copyright (c) 2009 Robert Kieffer
		Dual licensed under the MIT and GPL licenses.
	*/
var a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");c.UUID=eCarList.Module.extend({create:function(d,h){var l=a,g=[];h=h||l.length;if(d){for(var f=0;f<d;f++){g[f]=l[0|Math.random()*h]}}else{var k;g[8]=g[13]=g[18]=g[23]="-";g[14]="4";for(var e=0;e<36;e++){if(!g[e]){k=0|Math.random()*16;g[e]=l[(e===19)?(k&3)|8:k]}}}return g.join("")}})});eCarList.namespace("eCarList.Util",function(k,e){k.Restorable=eCarList.Module.extend({save_as:function(n,m){eCarList.assert(n,"invalid matcher: "+n);this._savers=this._savers||[];this._savers.unshift({matcher:f(n),fn:m});return this},restore_as:function(n,m){eCarList.assert(n,"invalid matcher: "+n);this._restorers=this._restorers||[];this._restorers.unshift({matcher:f(n),fn:m});return this},cache:function(m){eCarList.assert(m,"invalid matcher: "+m);this.save_as(m,function(s,n,o){if(!e.browser.msie&&o){var p=k.UUID.create();var r=d.call(this.klass,o);var q=e.DOMCached.set(p,r,false,"eCarList.Util.Restorable");if(q){s[n]=p;return true}}return false});this.restore_as(m,function(o,n,p){if(!e.browser.msie){var q=e.DOMCached.get(p,"eCarList.Util.Restorable");if(q){o[n]=g.call(this.klass,o[n],q);e.DOMCached.deleteKey(p,"eCarList.Util.Restorable");return true}}return false});return this},dont_save:function(m){this.save_as(m,function(p,n,o){});return this},save_as_date:function(m){this.save_as(m,function(p,n,o){p[n]=(o)?o.getTime():null});this.restore_as(m,function(o,n,p){if(p){o[n]=new Date();o[n].setTime(p)}});return this},save_as_memento:function(m){this.save_as(m,function(p,n,o){p[n]=(o)?o.save_to_memento():null});this.restore_as(m,function(o,n,p){if(p){o[n].restore_from_memento(p)}});return this},prototype:{save_to_memento:function(){return d.call(this.klass,this)},restore_from_memento:function(m){g.call(this.klass,this,m)}}});var f=function(m){if(e.isFunction(m)){return m}else{if(m instanceof RegExp){return function(n){return n.match(m)}}else{if(typeof m==="string"){return function(n){return n===m}}else{throw"invalid matcher: "+m}}}};var h=function(n,m){return e.grep(n,function(o){return o.matcher(m)})};var c=function(o,m){for(var n=0;n<o.length;n++){if(o[n].matcher(m)){return n}}return o.length};var b=function(o,p){var n=[];for(var m in p){if(p.hasOwnProperty(m)){n.push(m)}}n.sort(function(r,q){return c(o,q)-c(o,r)});return n};var d=function(m){if(typeof m==="object"){if(m===null){return null}else{if(e.isArray(m)){return j.call(this,m)}else{return i.call(this,m)}}}else{if(typeof m==="function"){return undefined}else{return m}}};var g=function(m,n){if(typeof n==="object"){if(n===null){return null}else{if(e.isArray(n)){return a.call(this,m,n)}else{return l.call(this,m,n)}}}else{return n}};var j=function(m){var o=new Array(m.length);for(var n=0;n<m.length;n++){o[n]=d.call(this,m[n])}return o};var a=function(m,o){m=m||[];eCarList.assert(e.isArray(m),"memento & origin type mismatch");m.length=o.length;for(var n=0;n<m.length;n++){m[n]=g.call(this,m[n],o[n])}return m};var i=function(t){var m={};var q=b(this._savers,t);for(var r=0;r<q.length;r++){var s=q[r];var u=false;var n=h(this._savers||[],s);for(var p=0;!u&&p<n.length;p++){u=(n[p].fn.call(t,m,s,t[s])!==false)}if(!u){var o=d.call(this,t[s]);if(typeof o!=="undefined"){m[s]=o}}}return m};var l=function(o,t){o=o||{};eCarList.assert(typeof o==="object"&&!e.isArray(o),"memento & origin type mismatch");var n=b(this._restorers,t);for(var q=0;q<n.length;q++){var m=n[q];var r=false;eCarList.debug("restoring: "+m);var s=h(this._restorers||[],m);for(var p=0;!r&&p<s.length;p++){r=(s[p].fn.call(o,o,m,t[m])!==false)}if(!r){o[m]=g.call(this,o[m],t[m])}}return o}});eCarList.namespace("eCarList.App.SmartChat",function(d,e){var j=eCarList.Util.Browser,k=eCarList.App.SmartChat.BigCookie,b=eCarList.Util.Cookie,g=d.Dialog,f=d.ModalDialog,i=d.Window;d.ConsoleBase=d.UI.extend({POPUP_URL:"",Attribute:{autoload:{init:true},page_config:{}},save_as_session:function(l){this.save_as(l,function(o,m,n){if(this._get("autoload")&&n){o[m]=n.save_to_memento()}});this.restore_as(l,function(n,m,p){var o=n[m];if(this.is_popup()){this._exit("Only one active chat session is allowed per user.")}else{if(this._get("autoload")&&o.username===p.username){o.restore_from_memento(p);if(o.available){o.resume()}}}});return this},prototype:{init:function(m){var l=this;this._super(m);this._dialogs=[];if(this._get("autoload")){e(document).ready(function(o){if(l._session){var n=k.read(l._id);var q={};if(n){try{q=JSJaCJSON.parse(n)}catch(p){}}if(l.load(window,q)){window.onbeforeunload=function(r){r=r||window.event;l.unload(r);if(r.returnValue&&typeof r.returnValue==="string"){return r.returnValue}}}}})}this.bind_to(window,"keyup",function(n){if(n.altKey&&n.ctrlKey&&n.keyCode===220){this.report_bug()}})},dispose:function(){this.close_all_dialogs();this._super()},load:function(l,m){m=m||{};if(h.call(this)&&c.call(this)){if(!this.is_popup()||this.lock()){this._root=e('<div class="smartchat"></div>').appendTo(l.document.body).get(0);this.render(this._root);this.restore_from_memento(m);return true}else{this._exit("Only one active chat session is allowed per user.")}}return false},unload:function(l){if(!this._unloaded){if(!this.is_popup()){this._suspend()}else{if(this._session.available){l.returnValue="Closing this pop up will terminate your chat session."}k.erase(this._id);this.unlock()}}},lock:function(){if(!b.read("lol_lock")){b.write("lol_lock","lock");return true}return false},unlock:function(){b.erase("lol_lock")},_suspend:function(){var m=this.save_to_memento();var l=JSJaCJSON.toString(m);k.write(this._id,l,60000)},_resume:function(){k.erase(this._id)},_exit:function(l){if(l){alert(l)}if(this.is_popup()){window.close()}else{this.dispose()}},report_bug:function(){var o={description:prompt("Report SmartChat Bug\n\nProblem Description:")};if(o.description){o.dump=eCarList.Util.DataDumper.dump(this);var m=this.save_to_memento();o.cookie=eCarList.Util.DataDumper.dump(m);o.cookie_json=JSJaCJSON.toString(m);o.cookie_length=escape(o.cookie_json).length;var n=e('<form method="post" action="mailto:dhodges@ecarlist.com?subject=SmartChat Bug Report" enctype="text/plain"></form>').appendTo(document.body).get(0);for(var l in o){if(o.hasOwnProperty(l)){e('<input type="hidden" name="'+l+'"/>').appendTo(n).val(o[l])}}n.submit()}},is_popout:function(){var l=this._get("page_config")||{};return(l.popout)?true:false},is_popup:function(){var l=this._get("page_config")||{};return(l.popup)?true:false},popout:function(){this._popup_name=this._popup_name||(this._id+(new Date()).getTime());var m=this._get_popup_attributes();var o=[];for(var n in m){if(m.hasOwnProperty(n)){o.push(n+"="+m[n])}}var l=this.klass.POPUP_URL+"?url="+window.location.hostname;this._popup_window=window.open(l,this._popup_name,o.join(","));if(this._popup_window){this.dispose();return true}return false},_get_popup_attributes:function(){return{menubar:"no",location:"no",resizable:"no"}},open_dialog:function(l){if(this._dialogs.length>0){this._dialogs[this._dialogs.length-1].hide()}this._dialogs.push(l);this._render_child(this._root,l);this.bind_to(l,g.Event.CLOSE,a);l.show();l.focus();return l},close_dialog:function(l){if(this._dialogs.length===0){return}else{if(l&&e.inArray(l,this._dialogs)<0){return}}l=l||this._dialogs[this._dialogs.length-1];if(l){l.close()}},close_all_dialogs:function(){while(this._dialogs.length>0){this.close_dialog(this._dialogs[0])}},display_message:function(n,m){var l=this.open_dialog(new f({title:n,message:m,options:["OK"]}));this.bind_to(l,g.Event.SELECT,function(p,o){if(o==="OK"){l.close()}})},confirm:function(p,o,n,l){var m=this.open_dialog(new f({title:o,message:n,options:l||["Cancel","OK"]}));this.bind_to(m,g.Event.SELECT,function(r,q){if(q===m.get_options()[m.get_options().length-1]){p.call(this)}m.close()})}}}).mix(eCarList.Util.Restorable);var c=function(){if(k.read(this._id)){return true}k.write(this._id,"test");if(k.read(this._id)){k.erase(this._id);return true}eCarList.debug("cookies are not enabled!");return false};var h=function(){var l=e.map(e.browser.version.split(/\./),function(m){return parseInt(m,10)});if(e.browser.msie&&l[0]<7){return false}if(e.browser.safari&&l[0]<522){return false}if(e.browser.mozilla&&(l[0]<1||(l[0]===1&&l[1]<8))){return false}return true};var a=function(n,m){var l=e.inArray(m,this._dialogs);if(l>=0){this._dialogs.splice(l,1)}this._dispose_child(m);if(this._dialogs.length>0){this._dialogs[this._dialogs.length-1].show()}}});eCarList.namespace("eCarList.App.SmartChat.Visitor",function(c,e){c.OfferWindow=eCarList.App.SmartChat.Window.extend({Attribute:{closeable:{init:false},session:{required:true},title:{init:"Need Help?"},titlebar_icon:{init:true},hide_animation:{init:{method:"slideUp",speed:"slow"}},show_animation:{init:{method:"slideDown",speed:"slow"}}},HTML:'			<div class="offer_window window">				<div class="titlebar">					<div class="icon"></div>					<div class="title">Need Help?</div>				</div>				<div class="header"></div>				<div class="body">					<button class="minmax_btn"></button>					<div class="admin_img"/>					<div class="message">Click below to chat with an available representative.</div>					<button class="chat_btn">Chat Now</button>				</div>				<div class="footer"></div>			</div>		',prototype:{maximize:function(){this._super();if(this._offer_blink_timeout){clearTimeout(this._offer_blink_timeout);delete this._offer_blink_timeout}this.unblink_titlebar();if(this._rendered){this._get("session").prepare_chat()}},_render:function(){this._super();if(this._get("minimized")){var f=this;this._offer_blink_timeout=setTimeout(function(){f.blink_titlebar(2);delete f._offer_blink_timeout},8000)}this.bind(".chat_btn","click",a);this.bind(".minmax_btn","mouseover",d);this.bind(".minmax_btn","mouseout",b)},_layout:function(){}}});var a=function(f){this._get("session").prepare_chat()};var d=function(f){this.$(".minmax_btn").addClass("hover")};var b=function(f){this.$(".minmax_btn").removeClass("hover")}});eCarList.namespace("eCarList.App.SmartChat",function(a,b){JSJaCJID.isValidNode=function(d){if(d&&d.length){for(var c=0;c<JSJACJID_FORBIDDEN.length;c++){if(d.indexOf(JSJACJID_FORBIDDEN[c])>=0){return false}}return true}return false};JSJaCJID.prototype.equals=function(c){return(this.getDomain()===c.getDomain()&&this.getNode()===c.getNode()&&this.getResource()===c.getResource())};JSJaCJID.prototype.isEntity=function(c){if(c){if(typeof c==="string"){c=new JSJaCJID(c)}return(this.bare()===c.bare())}return false};JSJaCJID.prototype.bare=function(){return this.clone().removeResource().toString()};JSJaCJID.prototype.getRootDomain=function(){return this.getDomain().replace(/^conference\./i,"")};JSJaCJID.prototype.isRoom=function(){return(this.getDomain().match(/^conference\./i)!==null)};JSJaCJID.prototype.isSystem=function(){return(this.getDomain().match(/^system\./i)!==null)};JSJaCJID.prototype.isVisitor=function(){return(this.getDomain().match(/^visitor\./i)!==null)};JSJaCJID.prototype.isAdmin=function(){return(!this.isSystem()&&!this.isVisitor()&&!this.isRoom())};JSJaCJID.prototype.getNick=function(){return(this.isRoom())?this.getResource():this.getNode()};JSJaCMessage.prototype.setBodyHTML=function(c){this.appendNode("html",{xmlns:"http://jabber.org/protocol/xhtml-im"}).appendChild(this.buildNode("body",{xmlns:"http://www.w3.org/1999/xhtml"},c))};JSJaCMessage.prototype.getBodyHTML=function(){return b("html > body",this.getNode()).text()};eCarList.Util.Restorable.save_as_jid=function(c){this.save_as(c,function(f,d,e){f[d]=(e)?e.toString():null});this.restore_as(c,function(e,d,f){if(f){e[d]=new JSJaCJID(f)}});return this}});eCarList.namespace("eCarList.Util.Codec",function(a,c){a.Base32=eCarList.Module.extend({encode:function(o){var q=[];var n=o.length;for(var l=0;l<n;l+=5){var u=o[l];var t=o[l+1]||0;var s=o[l+2]||0;var r=o[l+3]||0;var p=o[l+4]||0;var m=(u>>3);var k=((u&7)<<2)|(t>>6);var j=(l+1<n)?(t>>1)&31:32;var h=(l+1<n)?((t&1)<<4)|(s>>4):32;var g=(l+2<n)?((s&15)<<1)|(r>>7):32;var f=(l+3<n)?(r>>2)&31:32;var e=(l+3<n)?((r&3)<<3)|(p>>5):32;var d=(l+4<n)?p&31:32;q.push(b.charAt(m),b.charAt(k),b.charAt(j),b.charAt(h),b.charAt(g),b.charAt(f),b.charAt(e),b.charAt(d))}return q.join("")},decode:function(t){t=t.toUpperCase();var m="";for(var w=0;w<(t.length%8);w++){m+="="}if(m.length>0){t+=m}var k=[];for(var v=0;v<t.length;v+=8){var u=b.indexOf(t.charAt(v));var s=b.indexOf(t.charAt(v+1));var r=b.indexOf(t.charAt(v+2));var q=b.indexOf(t.charAt(v+3));var p=b.indexOf(t.charAt(v+4));var o=b.indexOf(t.charAt(v+5));var n=b.indexOf(t.charAt(v+6));var l=b.indexOf(t.charAt(v+7));var h=(u<<3)|(s>>2);k.push(h);if(r===32||q===32){break}var g=((s&3)<<6)|(r<<1)|(q>>4);k.push(g);if(p===32){break}var f=((q&15)<<4)|(p>>1);k.push(f);if(o===32||n===32){break}var e=((p&1)<<7)|(o<<2)|(n>>3);k.push(e);if(l===32){break}var d=((n&7)<<5)|l;k.push(d)}return k}});var b="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="});eCarList.namespace("eCarList.Util.Codec",function(a,c){a.Base64=eCarList.Module.extend({encode:function(j){var k=[];for(var g=0;g<j.length;g+=3){var n=j[g];var m=j[g+1]||0;var l=j[g+2]||0;var h=(n>>2);var f=((n&3)<<4)|(m>>4);var e=(g+1<j.length)?((m&15)<<2)|(l>>6):64;var d=(g+2<j.length)?l&63:64;k.push(b.charAt(h),b.charAt(f),b.charAt(e),b.charAt(d))}return k.join("")},decode:function(m){var p="";for(var h=0;h<(m.length%4);h++){p+="="}if(p.length>0){m+=p}var l=[];for(var f=0;f<m.length;f+=4){var k=b.indexOf(m.charAt(f));var g=b.indexOf(m.charAt(f+1));var e=b.indexOf(m.charAt(f+2));var d=b.indexOf(m.charAt(f+3));var q=(k<<2)|(g>>4);l.push(q);if(e===64){break}var o=((g&15)<<4)|(e>>2);l.push(o);if(d===64){break}var n=((e&3)<<6)|d;l.push(n)}return l}});var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="});eCarList.namespace("eCarList.Util.Codec",function(a,b){a.base32_to_base64=function(c){return a.Base64.encode(a.Base32.decode(c))};a.base64_to_base32=function(c){return a.Base32.encode(a.Base64.decode(c))}});eCarList.namespace("eCarList.App.SmartChat",function(a,d){var b=eCarList.Util.Codec,c=a.RoomType,e=a.Show;a.Room=eCarList.Class.extend({Event:{NAME_CHANGE:"NAME_CHANGE"},create_team_node:function(f){var g=b.base64_to_base32(f).replace(new RegExp("=+","g"),"").toLowerCase();return(c.TEAM+"|"+g)},create_private_node:function(g,f){if(!g||typeof g!=="string"){throw"invalid admin_node: "+g}else{if(!f||typeof f!=="string"){throw"invalid visitor_node: "+f}}return(c.PRIVATE+"|"+g+"|"+f)},get_jid_info:function(f){if(!f.isRoom()){throw"cannot get room info for user JIDs"}var g=f.getNode();var i=g.split(/\|/,3);if(i.length<2){throw"invalid room node: "+g}var h={type:i[0]};if(h.type===c.TEAM){h.team_eid=b.base32_to_base64(i[1]).replace(new RegExp("=+","g"),"");if(!h.team_eid){throw"invalid team_eid found in node: "+g}}else{if(h.type===c.PRIVATE){h.admin_node=i[1];h.visitor_node=i[2];if(!h.admin_node){throw"invalid admin_node found i node: "+g}else{if(!h.visitor_node){throw"invalid visitor_node found in node: "+g}}}else{throw"invalid type found in node: "+g}}return h},prototype:{init:function(g){eCarList.assert(g instanceof JSJaCJID,"invalid jid: "+g);this.jid=g;this.members=[];this.priority=0;var h=this.klass.get_jid_info(this.jid);for(var f in h){if(h.hasOwnProperty(f)){this[f]=h[f]}}},update_name:function(f){this.name=f;this.trigger(this.klass.Event.NAME_CHANGE,f)},get_member:function(){var h,f;if(arguments[0]==="string"){f=arguments[0]}else{h=arguments[0]}if(!h&&!f){throw"invalid nick/jid given"}for(var g=0;g<this.members.length;g++){var j=this.members[g];if((h&&j.jid.isEntity(h))||(f&&j.nick===f)){return j}}return null},get_admins:function(){return d.grep(this.members,function(f){return f.jid.isAdmin()})},get_available_admins:function(){return d.grep(this.members,function(f){return(f.jid.isAdmin()&&f.room_presence.show!==e.EXTENDED_AWAY&&f.room_presence.show!==e.DO_NOT_DISTURB)})},get_visitors:function(){return d.grep(this.members,function(f){return f.jid.isVisitor()})},add_member:function(h,f,g){var i={nick:f,jid:h,room_jid:this.jid,room_presence:g};this.members.push(i);return i},remove_member:function(g){for(var f=0;f<this.members.length;f++){var h=this.members[f];if(h.jid.equals(g)){this.members.splice(f,1);return h}}return null}}}).mix(eCarList.Util.Bindable)});eCarList.namespace("eCarList.Util",function(d,c){d.Stateful=eCarList.Module.extend({Event:{STATE_CHANGE:"STATE_CHANGE"},define_state:function(f){if(!this._states){this._states={}}var h=[{}];for(var g=1;g<arguments.length;g++){h.push(arguments[g])}var e=c.extend.apply(null,h);this._states[f]=e;for(var j in e){if(c.isFunction(e[j])){if(typeof this.prototype[j]==="undefined"){this.prototype[j]=a(this,j)}}}},extend_state:function(f){eCarList.assert(this._states&&this._states[f],"state "+f+" has not been defined");var e=[f,this._states[f]];for(var g=1;g<arguments.length;g++){e.push(arguments[g])}this.define_state.apply(this,e)},prototype:{init:function(e){this.init_state(e)},init_state:function(e){eCarList.assert(e&&this.klass._states&&this.klass._states[e],"invalid state: "+e);this.state=e;b.call(this,this.state)},get_states:function(){var e=[];if(this.klass._states){for(var f in this.klass._states){if(this.klass._states.hasOwnProperty(f)){e.push(f)}}}return e},in_state:function(){for(var e=0;e<arguments.length;e++){if(this.state===arguments[e]){return true}}return false},change_state:function(e){eCarList.assert(e&&this.klass._states&&this.klass._states[e],"invalid state: "+e);if(this.state!==e){this.state=e;b.call(this,this.state);eCarList.debug("change_state: "+e);if(this.mix_of(d.Bindable)){this.trigger(d.Stateful.Event.STATE_CHANGE,this.state)}return true}return false}}});var a=function(e,f){return function(){eCarList.assert(this.state,"state is undefined");var h=e._states[this.state];eCarList.assert(h,"state prototype missing");var g=h[f];eCarList.assert(g,"Invalid operation ("+f+") called for state ("+this.state+")");return g.apply(this,arguments)}};var b=function(g){if(this._state_timeout_id){clearTimeout(this._state_timeout_id);delete this._state_timeout_id}var f=this.klass._states[g];if(typeof f.timeout==="number"&&f.timeout>=0&&c.isFunction(f._on_state_timeout)){eCarList.debug("configuring timeout["+f.timeout+"] for state["+g+"]");var e=this;this._state_timeout_id=setTimeout(function(){e._on_state_timeout()},f.timeout)}}});eCarList.namespace("eCarList.App.SmartChat",function(H,x){var i=H.MessageType,p=H.Room,N=H.RoomType,u=H.Show;H.Session=eCarList.Class.extend({JSJAC_LOG_LEVEL:2,Event:{ARCHIVE_DATA_CHANGE:"archive_data_change",AUTH_FAULT:"auth_fault",CHAT_STATE_CHANGE:"chat_state_change",CONNECT:"connect",CONNECTION_FAULT:"connection_fault",CONTACT_ADD:"contact_add",CONTACT_CHANGE:"contact_change",DISCONNECT:"disconnect",INVITE_DECLINE:"invite_decline",INVITE_RECEIPT:"invite_receipt",JID_CONFLICT:"jid_conflict",MEMBER_ADD:"member_add",MEMBER_CHANGE:"member_change",MEMBER_JOIN:"member_join",MEMBER_LEAVE:"member_leave",MEMBER_REMOVE:"member_remove",MESSAGE_ADD:"message_add",NICK_CHANGE:"nick_change",RECONNECT:"reconnect",ROOM_ADD:"room_add",ROOM_INVITE:"room_invite",ROOM_REMOVE:"room_remove",ROOM_ROSTER_CHANGE:"room_roster_change",ROSTER_CHANGE:"roster_change",SESSION_REPLACE:"session_replace",USER_CHANGE:"user_change"},State:{FAULT:"FAULT"},ChatState:{ACTIVE:"active",COMPOSING:"composing",PAUSED:"paused",GONE:"gone"},prototype:{init:function(P){this.available=false;this.archive={};this.http_base=window.location.protocol+"//"+window.location.hostname+H.BIND_PATH;this.jid=null;this.nick="anon";this.presence={show:u.NONE,status:""};this.room_nicks={};this.rooms={};this.roster={};for(var O in P){if(P.hasOwnProperty(O)){this[O]=P[O]}}},reset:function(){this._connection.dispose();f.call(this)},in_faultable_state:function(){return this.in_state(this.klass.State.FAULT)},connect:function(O){this.connect_as("lol_"+(new Date()).getTime().toString(36),O)},connect_as:function(P,O){if(!P){throw"invalid resource: "+P}if(O||O===""){this.presence.show=O}this.jid.setResource(P);if(this._connection){this._connection.dispose();delete this._connection}f.call(this);this._connection.connect({domain:this.jid.getDomain(),username:this.jid.getNode(),resource:this.jid.getResource(),pass:this.secret,register:false})},with_connection:function(P,O){if(this._connection&&this._connection.connected()){P.call(O||this)}else{this.bind_once(this.klass.Event.CONNECT,function(Q){P.call(this)},O||this)}},with_presence:function(P,O){if(this.presence.login_date){P.call(O||this)}else{this.bind_once(this.klass.Event.USER_CHANGE,function(Q){P.call(this)},O||this)}},suspend:function(){if(this._connection&&this._connection.connected()){eCarList.debug("suspending jsjac connection...");this._connection.suspend();return true}return false},resume:function(){if(this.available){try{f.call(this);if(this._connection.resume()){return true}this.available=false}catch(O){}}return false},disconnect:function(){delete this.faults;delete this.retry_delay;if(this._connection&&this._connection.connected()){for(var P in this.rooms){if(this.rooms.hasOwnProperty(P)){var O=this.rooms[P].jid;this.leave_room(O)}}this._connection.disconnect()}},query_roster:function(){var O=new JSJaCIQ();O.setFrom(this.jid);O.setIQ(null,"get",j("roster"));O.setQuery(NS_ROSTER);return m.call(this,O,function(P){eCarList.debug("roster_result: "+P.xml());this.roster={};var Q=this;x("item",P.getQuery()).each(function(R,S){y.call(Q,new JSJaCJID(x(S).attr("jid")),x("group",S).text())});this.trigger(this.klass.Event.ROSTER_CHANGE)})},get_groups:function(){var O=[];var R={};for(var P in this.roster){if(this.roster.hasOwnProperty(P)){var Q=this.roster[P].group;if(!R[Q]){O.push(Q);R[Q]=true}}}return O},get_group_contacts:function(Q){var P=[];for(var O in this.roster){if(this.roster.hasOwnProperty(O)&&this.roster[O].group===Q){P.push(this.roster[O])}}return P},get_contact_nick:function(P){if(P.isRoom()){return P.getResource()}else{var O=this.get_roommate_nick(P);return(O)?O:P.getNode()}},get_chat_jid:function(O){if(O.isRoom()){return I.call(this,O)}else{return this.jid}},update_nick:function(O){if(!this.available){this.nick=O;this.trigger(this.klass.Event.NICK_CHANGE,O);return true}return false},ping_presence:function(){var O=new JSJaCPresence();O.setType("ping");O.setFrom(this.jid);return this._connection.send(O)},update_presence:function(P,O){var R=this._create_presence_packet();if(P||P===""){R.setShow(P)}else{R.setShow(this.presence.show)}if(O||O===""){R.setStatus(O)}else{R.setStatus(this.presence.status)}eCarList.debug("sent_presence: "+R.xml());if(this._connection.send(R)&&!this.in_state(this.klass.State.FAULT)){for(var Q in this.rooms){if(this.rooms.hasOwnProperty(Q)){this.update_room_presence(this.rooms[Q].jid,P,O)}}return true}return false},get_room_nick:function(){var P=I.apply(this,arguments);var O=this.room_nicks[P.bare()];return O||null},get_rooms:function(){var P=[];for(var O in this.rooms){if(this.rooms.hasOwnProperty(O)){P.push(this.rooms[O])}}return P},get_max_priority_room:function(){var P=null;for(var O in this.rooms){if(this.rooms.hasOwnProperty(O)){var Q=this.rooms[O];if(P===null||Q.priority>P.priority){P=Q}}}return P},get_room:function(){var O=I.apply(this,arguments);var P=this.rooms[O.bare()];return P||null},get_team_room:function(O){var P=p.create_team_node(O);return this.get_room(H.ADMIN_DOMAIN,P)},get_private_room:function(P){var O=p.create_private_node(this.jid.getNode(),P);return this.get_room(H.ADMIN_DOMAIN,O)},get_room_member:function(O,Q){var P=this.get_room(O);return(P)?P.get_member(Q):null},get_roommate_rooms:function(O){return x.grep(this.get_rooms(),function(P){return P.get_member(O)})},get_roommate_nick:function(P){var O=this.get_roommate_rooms(P)[0];return(O)?O.get_member(P).nick:null},join_room:function(){var O=I.apply(this,arguments);if(!this.in_state(this.klass.State.FAULT)&&this.rooms[O.bare()]){return new JSJaCJID(O.bare())}var P=this._create_presence_packet();P.setFrom(this.jid);P.setTo(O.toString());P.appendNode("x",{xmlns:NS_MUC});eCarList.debug("join_room: "+P.xml());if(this._connection.send(P)){return new JSJaCJID(O.bare())}return null},join_team_room:function(O){var P=p.create_team_node(O);return this.join_room(H.ADMIN_DOMAIN,P)},join_private_room:function(P){var O=p.create_private_node(this.jid.getNode(),P);return this.join_room(H.ADMIN_DOMAIN,O)},leave_room:function(){var O=I.apply(this,arguments);var P=this._create_presence_packet();P.setFrom(this.jid);P.setTo(O.toString());P.setType("unavailable");eCarList.debug("leave_room: "+P.xml());if(this._connection.send(P)){return new JSJaCJID(O.bare())}return null},ping_room_presence:function(){var O=I.apply(this,arguments);var P=new JSJaCPresence();P.setType("ping");P.setFrom(this.jid);P.setTo(O.bare());eCarList.debug("ping_room_presence: "+P.xml());return this._connection.send(P)},query_room_roster:function(){var O=I.apply(this,arguments);var P=new JSJaCIQ();P.setFrom(this.jid);P.setIQ(O.bare(),"get",j("disco"));P.setQuery(NS_DISCO_ITEMS);return m.call(this,P,function(Q){eCarList.debug("room_roster_result: "+Q.xml());if(x('item[user_jid="'+this.jid+'"]',Q.getQuery()).length===0){b.call(this,O);return}var S=this.get_room(O);if(S){S.members.length=0}var R=this;x("item",Q.getQuery()).each(function(U,V){var T=new JSJaCJID(V.getAttribute("jid"));var W=new JSJaCJID(V.getAttribute("user_jid"));w.call(R,T,W,{},false)});this.trigger(this.klass.Event.ROOM_ROSTER_CHANGE,S)},function(S,R,Q){if(S===404&&R==="cancel"){b.call(this,O)}else{eCarList.error("error "+S+"/"+R+":\n"+Q.xml)}})},update_room_presence:function(Q,P,O){var R=this._create_presence_packet();R.setTo(Q);if(P||P===""){R.setShow(P)}else{R.setShow(this.presence.show)}if(O||O===""){R.setStatus(O)}else{R.setStatus(this.presence.status)}eCarList.debug("sent_room_presence: "+R.xml());return this._connection.send(R)},send_invite:function(R,P,S){var Q=new JSJaCMessage();Q.setFrom(this.jid);Q.setTo(R.bare());var O=Q.getNode().appendChild(Q.buildNode("x",{xmlns:NS_MUC_USER})).appendChild(Q.buildNode("invite",{to:P.bare()}));if(S){O.appendChild(Q.buildNode("reason",{},S))}eCarList.debug("sent_invite: "+Q.xml());return this._connection.send(Q)},decline_invite:function(Q,O,S){var P=new JSJaCMessage();P.setFrom(this.jid);P.setTo(Q.bare());var R=P.getNode().appendChild(P.buildNode("x",{xmlns:NS_MUC_USER})).appendChild(P.buildNode("decline",{to:O.bare()}));if(S){R.appendChild(P.buildNode("reason",{},S))}eCarList.debug("sent_decline: "+P.xml());return this._connection.send(P)},decline_invite_direct:function(R,P,T){var Q=new JSJaCMessage();Q.setFrom(this.jid);Q.setTo(P);var S=Q.getNode().appendChild(Q.buildNode("x",{xmlns:"http://ecarlist.com/protocol/muc#user"})).appendChild(Q.buildNode("decline",{room:R.bare()}));var O=this.jid+" declined your invite to the room "+R.bare();if(T){O+=" ("+T+")";S.appendChild(Q.buildNode("reason",{},T))}Q.setBody(O);eCarList.debug("sent_decline_direct: "+Q.xml());return this._connection.send(Q)},update_chat_state:function(Q,P){if(s.call(this,Q,this.get_chat_jid(Q),P)){var O=new JSJaCMessage();if(Q.isRoom()){O.setTo(Q.bare());O.setType("groupchat")}else{O.setTo(Q)}O.getNode().appendChild(O.buildNode(P,{xmlns:"http://jabber.org/protocol/chatstates"}));return this._connection.send(O)}return false},send_message:function(S,O,P){var Q=new JSJaCMessage();if(S.isRoom()){Q.setTo(S.bare());Q.setType("groupchat")}else{Q.setTo(S)}Q.setFrom(this.jid);Q.setBody(P||O.htmlEnc());if(P){Q.setBodyHTML(P)}if(s.call(this,S,this.get_chat_jid(S),this.klass.ChatState.ACTIVE)){Q.getNode().appendChild(Q.buildNode(this.klass.ChatState.ACTIVE,{xmlns:"http://jabber.org/protocol/chatstates"}))}eCarList.debug("sent_message: "+Q.xml());if(this._connection.send(Q)){if(!S.isRoom()){var R={with_jid:S,date:new Date(),to:S.getNick(),body:O.htmlEnc(),body_html:P,type:i.MESSAGE};v.call(this,R)}return true}return false},create_system_message:function(O,P){var Q=new JSJaCMessage();Q.setFrom(this.jid);Q.setTo(new JSJaCJID("echo@system.ecarlist.com"));Q.setBody(P||O.htmlEnc());if(P){Q.setBodyHTML(P)}eCarList.debug("sent_message: "+Q.xml());return this._connection.send(Q)},archive_data:function(P,O){if(A.call(this,P,O)){O=this.archive[P.bare()].data;h.call(this,P,function(X,T){var U=new JSJaCIQ();U.setIQ(null,"set",j("archive_data"));var R=U.getNode().appendChild(U.buildNode("save",{xmlns:"http://www.xmpp.org/extensions/xep-0136.html#ns"}));var W=R.appendChild(U.buildNode("chat",{start:T.jabberDate()}));W.setAttribute("with",X.toString());var S=W.appendChild(U.buildNode("x",{xmlns:NS_XDATA,type:"submit"}));for(var Y in O){if(O.hasOwnProperty(Y)){var Z=S.appendChild(U.buildNode("field"));Z.setAttribute("var",Y);var Q=JSJaCJSON.toString(O[Y]);Z.appendChild(U.buildNode("value",{},Q))}}eCarList.debug("sent_iq: "+U.xml());var V=m.call(this,U,function(aa){eCarList.debug("archive_data_result: "+aa.xml())})})}},query_archive:function(O){h.call(this,O,function(R,Q){var P=new JSJaCIQ();P.setType("get");var S=P.getNode().appendChild(P.buildNode("retrieve",{xmlns:"http://www.xmpp.org/extensions/xep-0136.html#ns",start:Q.jabberDate()}));S.setAttribute("with",R.toString());n.call(this,P,function(Z,W,Y){eCarList.debug("_archive_msg: "+Z.xml);if(Z.tagName==="x"){var X={};x("field",Z).each(function(){var ab=this.getAttribute("var");var aa=x("value",this).text();X[ab]=JSJaCJSON.parse(aa)});A.call(this,O,X)}else{var U=new Date();U.setTime(Q.getTime()+parseInt(Z.getAttribute("secs"),10)*1000);var V={with_jid:R,date:U,body:x("body",Z).text()};if(R.isRoom()){var T=Z.getAttribute("name");if(T){V[Z.tagName]=T;V.type=i.MESSAGE}else{V.type=i.STATUS}}else{V[Z.tagName]=R.getNick();V.type=i.MESSAGE}v.call(this,V)}return true});return false},{max:1})},clear_archive:function(P){if(P){delete this.archive[P.bare()]}else{for(var O in this.archive){if(this.archive.hasOwnProperty(O)){delete this.archive[O]}}}},get_messages:function(P){var O=this.archive[P.bare()];return(O&&O.messages)?O.messages:[]},get_chat_duration:function(P){var O=this.get_messages(P);if(O.length>=2){return O[O.length-1].date.getTime()-O[0].date.getTime()}return 0},get_chat_log:function(Q){var P=this.get_messages(Q);var O=this;return x.map(P,function(R){return{nickname:R.from||O.nick,date:R.date.getTime(),message:x.ecl.string.strip_html(R.body_html||R.body)}})},get_transcript:function(Q){var P=this.get_messages(Q);var O=this;P=x.map(P,function(R){return(R.from||O.nick)+": "+(R.body_html||R.body)});return P.join("\n")},get_archive_data:function(P){var O=this.archive[P.bare()];return(O&&O.data)?O.data:{}},_create_presence_packet:function(){var O=new JSJaCPresence();var P={xmlns:"http://ecarlist.com/protocol/presence"};if(this.presence&&this.presence.login_date){P.login=this.presence.login_date.jabberDate()}O.appendNode("smartchat",P);return O},_parse_presence_packet:function(R){var P={};P.show=R.getShow();P.status=R.getStatus();var O=x("smartchat",R.getNode()).attr("login");P.login_date=(O)?Date.jab2date(O):new Date();var S=x("smartchat > session",R.getNode()).each(function(){P.dealer_eid=this.getAttribute("dealer_eid");P.dealer_id=this.getAttribute("dealer_id");P.domain=this.getAttribute("domain")});var Q=x("smartchat > profile",R.getNode()).each(function(){P.email=x(this).attr("email");P.phone=x(this).attr("phone")});P.history=[];x("smartchat > history > location",R.getNode()).each(function(){P.history=P.history||[];var T=x(this).ecl().attr_set("title","url","dealer_id","vehicle_id");P.history.push(T)});P.referrer=x("smartchat > referrer",R.getNode()).attr("url")||"";return P},_get_room_name:function(O){return(O)?O.jid.getNode():null},toString:function(){return this.jid.toString()}}}).mix(eCarList.Util.Bindable,eCarList.Util.Restorable,eCarList.Util.Stateful).dont_save(/^_/).save_as_date(/^(.+_)?date$/).save_as_jid(/^(.+_)?jid$/).restore_as("state",function(P,O,Q){this.init_state(Q);if(this.state===this.klass.State.FAULT){this.reconnect()}}).dont_save("http_base").dont_save("room_nicks").dont_save("roster").save_as("presence",function(Q,O,P){Q._presence=1}).restore_as("_presence",function(P,O,Q){this.bind_once(this.klass.Event.CONNECT,function(R){this.ping_presence()})}).cache("presence").save_as("rooms",function(S,O,R){if(this.available||this.in_state(this.klass.State.FAULT)){S._rooms=[];for(var Q in R){if(R.hasOwnProperty(Q)){var P=I.call(this,R[Q].jid);S._rooms.push(P.toString())}}}}).restore_as("_rooms",function(P,O,R){for(var Q=0;Q<R.length;Q++){var S=new JSJaCJID(R[Q]);this.room_nicks[S.bare()]=S.getNick();w.call(this,S,this.jid,this.presence,false)}this.bind_once(this.klass.Event.CONNECT,function(V){for(var T=0;T<R.length;T++){var U=new JSJaCJID(R[T]);this.ping_room_presence(U)}})}).save_as("archive",function(R,O,P){if(this.available||this.in_state(this.klass.State.FAULT)){R._archive=[];for(var Q in P){if(P.hasOwnProperty(Q)){R._archive.push(Q)}}}}).restore_as("_archive",function(Q,O,P){for(var R=0;R<P.length;R++){this.archive[P[R]]={data:{},messages:[]}}this.bind_once(this.klass.Event.CONNECT,function(T){for(var S=0;S<P.length;S++){this.query_archive(new JSJaCJID(P[S]))}})}).cache("archive");H.Session.define_state(H.Session.State.FAULT,{reconnect:function(){if(!this.retry_delay){this.retry_delay=1000*D(Math.min(this.faults||1,10))}var O=this;this._retry_interval=setInterval(function(){O.retry_delay-=1000;if(O.retry_delay<=0){eCarList.debug("reconnecting...");clearInterval(O._retry_interval);delete O.retry_delay;H.Session.prototype.connect_as.call(O,O.jid.getResource())}else{O.trigger(O.klass.Event.CONNECTION_FAULT,O.retry_delay)}},1000);this.trigger(this.klass.Event.CONNECTION_FAULT,this.retry_delay)}});var K={next_request_id:1};var D=function(O){if(O<=0){return 0}else{if(O===1){return 1}else{return D(O-2)+D(O-1)}}};var m=function(R,Q,O){var P=this;O=O||function(U,T,S){P._error("error "+U+"/"+T+":\n"+S.xml)};return this._connection.sendIQ(R,{error_handler:function(S){var W=S.getNode();var V=parseInt(x("error",W).attr("code"),10);var U=x("error",W).attr("type");var T=x("error > *",W).get(0);O.call(P,V,U,T)},default_handler:function(S){Q.call(P,S)},result_handler:function(S){Q.call(P,S)}})};var l=function(R,O,Q){Q=Q||{};var T=R.clone();T.setID(j("rsm"));var P=T.getNode().childNodes[0];var S=P.appendChild(T.buildNode("set",{xmlns:"http://jabber.org/protocol/rsm"}));S.appendChild(T.buildNode("max",{},Q.max||"20"));if(Q.after){S.appendChild(T.buildNode("after",{},Q.after))}else{if(Q.before){S.appendChild(T.buildNode("before",{},Q.before))}else{if(Q.reverse){S.appendChild(T.buildNode("before"))}}}eCarList.debug("_each_page_iq: "+T.xml());return m.call(this,T,function(U){eCarList.debug("_each_page_result: "+U.xml());var W=parseInt(x("set > first",U.getNode()).attr("index"),10);var Z=x("set > last",U.getNode()).text();var Y=parseInt(x("set > count",U.getNode()).text(),10);var X=U.getNode().childNodes[0].childNodes.length-1;if(Z&&O.call(this,U,W,Y)){var V=false;if(Q.reverse){Q.before=Z;V=(W===0)}else{Q.after=Z;V=((W+X)===Y)}if(!V){l.call(this,R,O,Q)}}})};var E=function(Q,O,P){P=P||{};P.reverse=true;l.call(this,Q,O,P)};var n=function(Q,O,P){P=P||{};l.call(this,Q,function(R,T,X){var Y=R.getNode().childNodes[0];var S=false;var W=Y.childNodes.length-1;for(var V=0;!S&&V<W;V++){var U=(P.reverse)?W-V-1:V;if(!O.call(this,Y.childNodes[U],T+U,X)){S=true}}return !S},P)};var k=function(Q,O,P){P=P||{};P.reverse=true;n.call(this,Q,O,P)};var h=function(R,P){var Q=new JSJaCIQ();Q.setType("get");var O=Q.getNode().appendChild(Q.buildNode("list",{xmlns:"http://www.xmpp.org/extensions/xep-0136.html#ns"}));O.setAttribute("with",R.bare());k.call(this,Q,function(U,T,W){eCarList.debug("_archive_chat: "+U.xml);var V=new JSJaCJID(U.getAttribute("with"));var S=Date.jab2date(U.getAttribute("start"));P.call(this,V,S);return false},{max:1})};var y=function(P,Q){var O={jid:P,group:Q,available:false,presence:{show:u.NONE,status:""}};this.roster[P.bare()]=O;this.trigger(this.klass.Event.CONTACT_ADD,O);return O};var I=function(){var O;if(typeof arguments[0]==="string"){var Q,P;if(arguments.length>1){Q=arguments[0];P=arguments[1]}else{Q=this.jid.getDomain();P=arguments[0]}O=P+"@conference."+Q}else{O=arguments[0].bare()}this.room_nicks[O]=this.room_nicks[O]||this.nick;return new JSJaCJID(O+"/"+this.room_nicks[O])};var r=function(P){var Q=new p(P);if(Q.type===N.PRIVATE){var O=this.get_max_priority_room();Q.priority=(O)?O.priority+1:1}Q.name=this._get_room_name(Q);this.rooms[P.bare()]=Q;this.trigger(this.klass.Event.ROOM_ADD,Q);return Q};var b=function(O){var P=this.rooms[O.bare()];if(P){delete this.rooms[O.bare()];delete this.archive[O.bare()];this.trigger(this.klass.Event.ROOM_REMOVE,P)}};var w=function(Q,T,P,O){var R=this.rooms[Q.bare()];if(!R){R=r.call(this,new JSJaCJID(Q.bare()))}var S=R.add_member(T,Q.getResource(),P);if(S!==null){this.trigger(this.klass.Event.MEMBER_ADD,S);if(O){this.trigger(this.klass.Event.MEMBER_JOIN,S)}}return S};var F=function(O,S,Q){var P=this.rooms[O.bare()];if(P){var R=P.remove_member(S);if(R!==null){s.call(this,O,O,this.klass.ChatState.GONE);this.trigger(this.klass.Event.MEMBER_REMOVE,R);if(Q){this.trigger(this.klass.Event.MEMBER_LEAVE,R)}if(R.jid.equals(this.jid)){b.call(this,O)}}else{eCarList.debug("removed member not found")}}else{eCarList.debug("room not found")}};var A=function(T,S){var R=T.bare();this.archive[R]=this.archive[R]||{data:{},messages:[]};var P=this.archive[R].data;var O=false;for(var Q in S){if(S.hasOwnProperty(Q)&&P[Q]!==S[Q]){P[Q]=S[Q];O=true}}if(O){this.trigger(this.klass.Event.ARCHIVE_DATA_CHANGE,T)}return O};var s=function(S,P,Q){var R=S.bare();this.archive[R]=this.archive[R]||{data:{},messages:[]};var O=this.archive[R];O.chat_state=O.chat_state||{};if(O.chat_state[P.toString()]!==Q){O.chat_state[P.toString()]=Q;this.trigger(this.klass.Event.CHAT_STATE_CHANGE,{with_jid:S,contact_jid:P,chat_state:Q});return true}return false};var v=function(P,O){var Q=P.with_jid.bare();if(P.body.match(/this room is not anonymous|declined your invite to the room/i)){return}if(!this.archive[Q]||typeof this.archive[Q]!=="object"){this.archive[Q]={data:{},messages:[]}}this.archive[Q].messages.push(P);this.trigger(this.klass.Event.MESSAGE_ADD,P)};var C=function(O){v.call(this,O);this.trigger(this.klass.Event.INVITE_RECEIPT,O)};var J=function(O){v.call(this,O);this.trigger(this.klass.Event.INVITE_DECLINE,O)};var f=function(){this._connection=new JSJaCHttpBindingConnection({httpbase:this.http_base,oDbg:{log:e}});var O=this;this._connection.registerHandler("onConnect",function(){g.call(O)});this._connection.registerHandler("onDisconnect",function(){z.call(O)});this._connection.registerHandler("onResume",function(){d.call(O)});this._connection.registerHandler("onStatusChanged",function(P){G.call(O,P)});this._connection.registerHandler("onError",function(P){L.call(O,P)});this._connection.registerHandler("message",function(P){c.call(O,P)});this._connection.registerHandler("presence",function(P){a.call(O,P)})};var e=function(O,P){if(P<=H.Session.JSJAC_LOG_LEVEL){switch(P){case 0:eCarList.warn(O);break;case 1:eCarList.error(O);break;case 2:break;case 4:eCarList.debug(O);break;default:eCarList.debug(O)}}};var j=function(O){var P=((O)?O+"_":"")+K.next_request_id;K.next_request_id=(K.next_request_id+1)%1024;return P};var B=function(P){var Q=new JSJaCIQ();Q.setFrom(this.jid.toString());Q.setIQ(P.bare(),"set",j("room"));var O=Q.buildNode("x",{xmlns:NS_XDATA,type:"submit"});Q.setQuery(NS_MUC_OWNER).appendChild(O);return m.call(this,Q,function(R){eCarList.debug("configure_room_result: "+R.xml());var S=this;setTimeout(function(){w.call(S,P,S.jid,S.presence,true)},500)})};var o=function(Q){var O=this.room_nicks[Q.bare()];var P=O.match(/(.*?)#(\d+)$/);if(P){O=P[1]+"#"+(parseInt(P[2],10)+1)}else{O=O+"#2"}this.room_nicks[Q.bare()]=O;this.nick=O;this.join_room(Q)};var g=function(){eCarList.debug("_on_connect");this.available=true;this.presence.login_date=new Date();this.update_presence();if(this.in_state(this.klass.State.FAULT)){M.call(this)}else{this.trigger(this.klass.Event.CONNECT)}};var M=function(){for(var O in this.rooms){if(this.rooms.hasOwnProperty(O)){var P=this.rooms[O];this.join_room(P.jid)}}this.change_state(this.fault_state);delete this.fault_state;delete this.faults;this.trigger(this.klass.Event.RECONNECT)};var z=function(){eCarList.debug("_on_disconnect");eCarList.debug("status: "+this._connection.status());this.available=false;if(this._connection.status()!=="aborted"&&!this.in_state(this.klass.State.FAULT)){for(var O in this.rooms){if(this.rooms.hasOwnProperty(O)){b.call(this,this.rooms[O].jid)}}this.archive={};this.room_nicks={};this.rooms={};this.roster={};this.presence.show=u.NONE;this.presence.status="";this.trigger(this.klass.Event.DISCONNECT)}};var d=function(){eCarList.debug("_on_resume");this.trigger(this.klass.Event.CONNECT)};var G=function(O){eCarList.debug("_on_status: "+O)};var c=function(Q){eCarList.debug("_on_message: "+Q.xml());var O={with_jid:Q.getFromJID(),date:new Date(),body:Q.getBody().htmlEnc(),body_html:Q.getBody()};if(x("invite",Q.getNode()).length>0){O.type=i.INVITE;O.from=Q.getFromJID().getNick();O.room_jid=Q.getFromJID();O.from_jid=new JSJaCJID(x("invite",Q.getNode()).attr("from"));O.reason=x("reason",Q.getNode()).text();C.call(this,O)}else{if(x("decline",Q.getNode()).length>0){var P=Q.getFromJID().isRoom();O.type=i.DECLINE;O.from=Q.getFromJID().getNick();O.room_jid=(P)?Q.getFromJID():new JSJaCJID(x("decline",Q.getNode()).attr("room"));O.from_jid=(P)?new JSJaCJID(x("decline",Q.getNode()).attr("from")):Q.getFromJID();O.reason=x("reason",Q.getNode()).text();J.call(this,O)}else{if(x('status[code="100"]',Q.getNode()).length>0){O.type=i.STATUS;v.call(this,O)}else{if(x('error[code="404"]',Q.getNode()).length>0){b.call(this,Q.getFromJID())}else{if(x(this.klass.ChatState.COMPOSING,Q.getNode()).length){s.call(this,O.with_jid,Q.getFromJID(),this.klass.ChatState.COMPOSING)}else{if(x(this.klass.ChatState.PAUSED,Q.getNode()).length){s.call(this,O.with_jid,Q.getFromJID(),this.klass.ChatState.PAUSED)}else{s.call(this,O.with_jid,Q.getFromJID(),this.klass.ChatState.ACTIVE);if(O.body){O.type=i.MESSAGE;O.from=this.get_contact_nick(Q.getFromJID());O.from_jid=Q.getFromJID();v.call(this,O)}}}}}}}};var a=function(Q){eCarList.debug("_on_presence: "+Q.xml());var P=Q.getFromJID();var O=this._parse_presence_packet(Q);if(P.isRoom()){q.call(this,Q,P,O)}else{t.call(this,Q,P,O)}};var t=function(R,Q,P){if(Q.isEntity(this.jid)){if(Q.getResource()!==this.jid.getResource()){var S=this.presence.login_date||new Date();if(P.login_date&&P.login_date.getTime()<S.getTime()){this.disconnect();this.trigger(this.klass.Event.JID_CONFLICT,Q.getResource())}return}this.presence=P;this.trigger(this.klass.Event.USER_CHANGE)}else{var O=this.roster[Q.bare()];if(R.getType()==="unavailable"){O.available=false}else{O.available=true}O.jid=Q;O.presence=P;this.trigger(this.klass.Event.CONTACT_CHANGE,O)}};var q=function(T,S,Q){if(x('status[code="201"]',T.getNode()).length>0){B.call(this,S)}else{if(x("conflict",T.getNode()).length>0){o.call(this,S)}else{if(T.getType()==="error"){if(x('error[code="404"]',T.getNode()).length>0){b.call(this,S)}}else{var R=x("item",T.getNode()).get(0);var P=x(R).attr("jid");var V=(P)?new JSJaCJID(P):null;if(T.getType()==="unavailable"){if(!x('status:contains("Replaced")',T.getNode()).length){eCarList.debug("removing member["+V+"] from room["+S+"]");F.call(this,S,V,true)}else{eCarList.debug("ignoring replaced connection message")}}else{var U=this.get_room_member(S,V);if(U){U.room_presence=Q;this.trigger(this.klass.Event.MEMBER_CHANGE,U)}else{var O=(T.getType()!=="ping");U=w.call(this,S,V,Q,O)}}}}}};var L=function(Q){var O={code:parseInt(x(Q).attr("code"),10),type:x(Q).attr("type"),cond:x(Q).children().get(0).nodeName,status:(this._connection)?this._connection.status():null};eCarList.error("xmpp error - code: "+O.code+" type: "+O.type+" cond: "+O.cond+"\n"+Q.xml);var P=Math.floor(O.code/100);switch(Math.floor(O.code/100)){case 5:if(O.status==="session-terminate-conflict"){this.trigger(this.klass.Event.SESSION_REPLACE,O)}else{if(this.in_faultable_state()){if(!this.in_state(this.klass.State.FAULT)){this.fault_state=this.state}this.faults=(this.faults||0)+1;this.change_state(this.klass.State.FAULT);this.reconnect()}}break;case 4:this.trigger(this.klass.Event.AUTH_FAULT,O);break}}});
/*
   SoundManager 2: Javascript Sound for the Web
   --------------------------------------------
   http://schillmania.com/projects/soundmanager2/

   Copyright (c) 2008, Scott Schiller. All rights reserved.
   Code licensed under the BSD License:
   http://schillmania.com/projects/soundmanager2/license.txt

   V2.95a.20090717
*/
var soundManager=null;function SoundManager(b,a){this.flashVersion=8;this.debugMode=true;this.useConsole=true;this.consoleOnly=false;this.waitForWindowLoad=false;this.nullURL="null.mp3";this.allowPolling=true;this.useFastPolling=false;this.useMovieStar=false;this.bgColor="#ffffff";this.useHighPerformance=false;this.flashLoadTimeout=1000;this.wmode=null;this.allowFullScreen=true;this.defaultOptions={autoLoad:false,stream:true,autoPlay:false,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onstop:null,onfinish:null,onbeforefinish:null,onbeforefinishtime:5000,onbeforefinishcomplete:null,onjustbeforefinish:null,onjustbeforefinishtime:200,multiShot:true,multiShotEvents:false,position:null,pan:0,volume:100};this.flash9Options={isMovieStar:null,usePeakData:false,useWaveformData:false,useEQData:false,onbufferchange:null,ondataerror:null};this.movieStarOptions={onmetadata:null,useVideo:false,bufferTime:null};var f=null;var e=this;this.version=null;this.versionNumber="V2.95a.20090717";this.movieURL=null;this.url=null;this.altURL=null;this.swfLoaded=false;this.enabled=false;this.o=null;this.id=(a||"sm2movie");this.oMC=null;this.sounds={};this.soundIDs=[];this.muted=false;this.isFullScreen=false;this.isIE=(navigator.userAgent.match(/MSIE/i));this.isSafari=(navigator.userAgent.match(/safari/i));this.debugID="soundmanager-debug";this.debugURLParam=/([#?&])debug=1/i;this.specialWmodeCase=false;this._onready=[];this._debugOpen=true;this._didAppend=false;this._appendSuccess=false;this._didInit=false;this._disabled=false;this._windowLoaded=false;this._hasConsole=(typeof console!="undefined"&&typeof console.log!="undefined");this._debugLevels=["log","info","warn","error"];this._defaultFlashVersion=8;this._oRemoved=null;this._oRemovedHTML=null;var g=function(h){return document.getElementById(h)};this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.netStreamTypes=["aac","flv","mov","mp4","m4v","f4v","m4a","mp4v","3gp","3g2"];this.netStreamPattern=new RegExp("\\.("+this.netStreamTypes.join("|")+")(\\?.*)?$","i");this.filePattern=null;this.features={buffering:false,peakData:false,waveformData:false,eqData:false,movieStar:false};this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local + internet access)"},description:null,noRemote:null,noLocal:null};this._setVersionInfo=function(){if(e.flashVersion!=8&&e.flashVersion!=9){alert('soundManager.flashVersion must be 8 or 9. "'+e.flashVersion+'" is invalid. Reverting to '+e._defaultFlashVersion+".");e.flashVersion=e._defaultFlashVersion}e.version=e.versionNumber+(e.flashVersion==9?" (AS3/Flash 9)":" (AS2/Flash 8)");if(e.flashVersion>8){e.defaultOptions=e._mergeObjects(e.defaultOptions,e.flash9Options);e.features.buffering=true}if(e.flashVersion>8&&e.useMovieStar){e.defaultOptions=e._mergeObjects(e.defaultOptions,e.movieStarOptions);e.filePatterns.flash9=new RegExp("\\.(mp3|"+e.netStreamTypes.join("|")+")(\\?.*)?$","i");e.features.movieStar=true}else{e.useMovieStar=false;e.features.movieStar=false}e.filePattern=e.filePatterns[(e.flashVersion!=8?"flash9":"flash8")];e.movieURL=(e.flashVersion==8?"soundmanager2.swf":"soundmanager2_flash9.swf");e.features.peakData=e.features.waveformData=e.features.eqData=(e.flashVersion>8)};this._overHTTP=(document.location?document.location.protocol.match(/http/i):null);this._waitingforEI=false;this._initPending=false;this._tryInitOnFocus=(this.isSafari&&typeof document.hasFocus=="undefined");this._isFocused=(typeof document.hasFocus!="undefined"?document.hasFocus():null);this._okToDisable=!this._tryInitOnFocus;this.useAltURL=!this._overHTTP;var d="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html";this.strings={notReady:"Not loaded yet - wait for soundManager.onload() before calling sound-related methods",appXHTML:"soundManager._createMovie(): appendChild/innerHTML set failed. May be app/xhtml+xml DOM-related.",localFail:'soundManager: Loading this page from local/network file system (not over HTTP?) Flash security likely restricting JS-Flash access. Consider adding current URL to "trusted locations" in the Flash player security settings manager at '+d+", or simply serve this content over HTTP.",waitFocus:"soundManager: Special case: Waiting for focus-related event..",waitImpatient:"soundManager: Getting impatient, still waiting for Flash.. ;)",waitForever:"soundManager: Waiting indefinitely for Flash...",needFunction:"soundManager.onready(): Function object expected"};this.supported=function(){return(e._didInit&&!e._disabled)};this.getMovie=function(h){return e.isIE?window[h]:(e.isSafari?g(h)||document[h]:g(h))};this.loadFromXML=function(h){try{e.o._loadFromXML(h)}catch(i){e._failSafely();return true}};this.createSound=function(i){var l="soundManager.createSound(): ";if(!e._didInit){throw e._complain(l+e.strings.notReady,arguments.callee.caller)}if(arguments.length==2){i={id:arguments[0],url:arguments[1]}}var j=e._mergeObjects(i);var h=j;if(h.id.toString().charAt(0).match(/^[0-9]$/)){var k=l+'Warning: Sound ID "'+h.id+'" should be a string, starting with a non-numeric character';e._wD(k,2)}e._wD(l+h.id+" ("+h.url+")",1);if(e._idCheck(h.id,true)){e._wD(l+h.id+" exists",1);return e.sounds[h.id]}if(e.flashVersion>8&&e.useMovieStar){if(h.isMovieStar===null){h.isMovieStar=(h.url.match(e.netStreamPattern)?true:false)}if(h.isMovieStar){e._wD(l+"using MovieStar handling")}if(h.isMovieStar&&(h.usePeakData||h.useWaveformData||h.useEQData)){e._wD("Warning: peak/waveform/eqData features unsupported for non-MP3 formats");h.usePeakData=false;h.useWaveformData=false;h.useEQData=false}}e.sounds[h.id]=new f(h);e.soundIDs[e.soundIDs.length]=h.id;if(e.flashVersion==8){e.o._createSound(h.id,h.onjustbeforefinishtime)}else{e.o._createSound(h.id,h.url,h.onjustbeforefinishtime,h.usePeakData,h.useWaveformData,h.useEQData,h.isMovieStar,(h.isMovieStar?h.useVideo:false),(h.isMovieStar?h.bufferTime:false))}if(h.autoLoad||h.autoPlay){if(e.sounds[h.id]){e.sounds[h.id].load(h)}}if(h.autoPlay){e.sounds[h.id].play()}return e.sounds[h.id]};this.createVideo=function(h){if(arguments.length==2){h={id:arguments[0],url:arguments[1]}}if(e.flashVersion>=9){h.isMovieStar=true;h.useVideo=true}else{e._wD("soundManager.createVideo(): flash 9 required for video. Exiting.",2);return false}if(!e.useMovieStar){e._wD("soundManager.createVideo(): MovieStar mode not enabled. Exiting.",2)}return e.createSound(h)};this.destroySound=function(j,h){if(!e._idCheck(j)){return false}for(var k=0;k<e.soundIDs.length;k++){if(e.soundIDs[k]==j){e.soundIDs.splice(k,1);continue}}e.sounds[j].unload();if(!h){e.sounds[j].destruct()}delete e.sounds[j]};this.destroyVideo=this.destroySound;this.load=function(h,i){if(!e._idCheck(h)){return false}e.sounds[h].load(i)};this.unload=function(h){if(!e._idCheck(h)){return false}e.sounds[h].unload()};this.play=function(h,i){if(!e._didInit){throw e._complain("soundManager.play(): "+e.strings.notReady,arguments.callee.caller)}if(!e._idCheck(h)){if(typeof i!="Object"){i={url:i}}if(i&&i.url){e._wD('soundController.play(): attempting to create "'+h+'"',1);i.id=h;e.createSound(i)}else{return false}}e.sounds[h].play(i)};this.start=this.play;this.setPosition=function(h,i){if(!e._idCheck(h)){return false}e.sounds[h].setPosition(i)};this.stop=function(h){if(!e._idCheck(h)){return false}e._wD("soundManager.stop("+h+")",1);e.sounds[h].stop()};this.stopAll=function(){e._wD("soundManager.stopAll()",1);for(var h in e.sounds){if(e.sounds[h] instanceof f){e.sounds[h].stop()}}};this.pause=function(h){if(!e._idCheck(h)){return false}e.sounds[h].pause()};this.pauseAll=function(){for(var h=e.soundIDs.length;h--;){e.sounds[e.soundIDs[h]].pause()}};this.resume=function(h){if(!e._idCheck(h)){return false}e.sounds[h].resume()};this.resumeAll=function(){for(var h=e.soundIDs.length;h--;){e.sounds[e.soundIDs[h]].resume()}};this.togglePause=function(h){if(!e._idCheck(h)){return false}e.sounds[h].togglePause()};this.setPan=function(h,i){if(!e._idCheck(h)){return false}e.sounds[h].setPan(i)};this.setVolume=function(i,h){if(!e._idCheck(i)){return false}e.sounds[i].setVolume(h)};this.mute=function(h){if(typeof h!="string"){h=null}if(!h){e._wD("soundManager.mute(): Muting all sounds");for(var j=e.soundIDs.length;j--;){e.sounds[e.soundIDs[j]].mute()}e.muted=true}else{if(!e._idCheck(h)){return false}e._wD('soundManager.mute(): Muting "'+h+'"');e.sounds[h].mute()}};this.muteAll=function(){e.mute()};this.unmute=function(h){if(typeof h!="string"){h=null}if(!h){e._wD("soundManager.unmute(): Unmuting all sounds");for(var j=e.soundIDs.length;j--;){e.sounds[e.soundIDs[j]].unmute()}e.muted=false}else{if(!e._idCheck(h)){return false}e._wD('soundManager.unmute(): Unmuting "'+h+'"');e.sounds[h].unmute()}};this.unmuteAll=function(){e.unmute()};this.toggleMute=function(h){if(!e._idCheck(h)){return false}e.sounds[h].toggleMute()};this.getMemoryUse=function(){if(e.flashVersion==8){return 0}if(e.o){return parseInt(e.o._getMemoryUse(),10)}};this.disable=function(j){if(typeof j=="undefined"){j=false}if(e._disabled){return false}e._disabled=true;e._wD("soundManager.disable(): Shutting down",1);for(var h=e.soundIDs.length;h--;){e._disableObject(e.sounds[e.soundIDs[h]])}e.initComplete(j)};this.canPlayURL=function(h){return(h?(h.match(e.filePattern)?true:false):null)};this.getSoundById=function(i,j){if(!i){throw new Error("SoundManager.getSoundById(): sID is null/undefined")}var h=e.sounds[i];if(!h&&!j){e._wD('"'+i+'" is an invalid sound ID.',2)}return h};this.onready=function(i,h){if(i&&i instanceof Function){if(e._didInit){e._wD("soundManager.onready(): Queueing handler")}if(!h){h=window}e._addOnReady(i,h);e._processOnReady();return true}else{throw e.strings.needFunction}};this.oninitmovie=function(){};this.onload=function(){soundManager._wD("soundManager.onload()",1)};this.onerror=function(){};this._idCheck=this.getSoundById;this._complain=function(i,k){var j="Error: ";if(!k){return new Error(j+i)}var m=new Error("");var n=null;if(m.stack){try{var o="@";var p=m.stack.split(o);n=p[4]}catch(l){n=m.stack}}if(typeof console!="undefined"&&typeof console.trace!="undefined"){console.trace()}var h=j+i+". \nCaller: "+k.toString()+(m.stack?" \nTop of stacktrace: "+n:(m.message?" \nMessage: "+m.message:""));return new Error(h)};var c=function(){return false};c._protected=true;this._disableObject=function(i){for(var h in i){if(typeof i[h]=="function"&&typeof i[h]._protected=="undefined"){i[h]=c}}h=null};this._failSafely=function(h){if(typeof h=="undefined"){h=false}if(!e._disabled||h){e._wD("soundManager: Failed to initialise.",2);e.disable(h)}};this._normalizeMovieURL=function(h){var i=null;if(h){if(h.match(/\.swf(\?.*)?$/i)){i=h.substr(h.toLowerCase().lastIndexOf(".swf?")+4);if(i){return h}}else{if(h.lastIndexOf("/")!=h.length-1){h=h+"/"}}}return(h&&h.lastIndexOf("/")!=-1?h.substr(0,h.lastIndexOf("/")+1):"./")+e.movieURL};this._getDocument=function(){return(document.body?document.body:(document.documentElement?document.documentElement:document.getElementsByTagName("div")[0]))};this._getDocument._protected=true;this._setPolling=function(h,i){if(!e.o||!e.allowPolling){return false}e.o._setPolling(h,i)};this._createMovie=function(w,m){var r=null;var v=(m?m:e.url);var q=(e.altURL?e.altURL:v);if(e.debugURLParam.test(window.location.href.toString())){e.debugMode=true}if(e._didAppend&&e._appendSuccess){return false}e._didAppend=true;e._setVersionInfo();e.url=e._normalizeMovieURL(e._overHTTP?v:q);m=e.url;if(e.useHighPerformance&&e.useMovieStar&&e.defaultOptions.useVideo===true){r="soundManager note: disabling highPerformance, not applicable with movieStar mode + useVideo";e.useHighPerformance=false}e.wmode=(!e.wmode&&e.useHighPerformance&&!e.useMovieStar?"transparent":e.wmode);if(e.wmode!==null&&e.flashLoadTimeout!==0&&!e.useHighPerformance&&!e.isIE&&navigator.platform.match(/win32/i)){e.specialWmodeCase=true;e._wD("soundManager note: Removing wmode, preventing off-screen SWF loading issue");e.wmode=null}if(e.flashVersion==8){e.allowFullScreen=false}var A={name:w,id:w,src:m,width:"100%",height:"100%",quality:"high",allowScriptAccess:"always",bgcolor:e.bgColor,pluginspage:"http://www.macromedia.com/go/getflashplayer",type:"application/x-shockwave-flash",wmode:e.wmode,allowfullscreen:(e.allowFullScreen?"true":"false")};if(!e.wmode){delete A.wmode}var n=null;var z=null;if(e.isIE){n=document.createElement("div");var t='<object id="'+w+'" data="'+m+'" type="application/x-shockwave-flash" width="100%" height="100%"><param name="movie" value="'+m+'" /><param name="AllowScriptAccess" value="always" /><param name="quality" value="high" />'+(e.wmode?'<param name="wmode" value="'+e.wmode+'" /> ':"")+'<param name="bgcolor" value="'+e.bgColor+'" /><param name="allowFullScreen" value="'+(e.allowFullScreen?"true":"false")+'" /><!-- --></object>'}else{n=document.createElement("embed");for(z in A){if(A.hasOwnProperty(z)){n.setAttribute(z,A[z])}}}var i=document.createElement("div");i.id=e.debugID+"-toggle";var j={position:"fixed",bottom:"0px",right:"0px",width:"1.2em",height:"1.2em",lineHeight:"1.2em",margin:"2px",textAlign:"center",border:"1px solid #999",cursor:"pointer",background:"#fff",color:"#333",zIndex:10001};i.appendChild(document.createTextNode("-"));i.onclick=e._toggleDebug;i.title="Toggle SM2 debug console";if(navigator.userAgent.match(/msie 6/i)){i.style.position="absolute";i.style.cursor="hand"}for(z in j){if(j.hasOwnProperty(z)){i.style[z]=j[z]}}var u=e._getDocument();if(u){e.oMC=g("sm2-container")?g("sm2-container"):document.createElement("div");if(!e.oMC.id){e.oMC.id="sm2-container";e.oMC.className="movieContainer";var o=null;var p=null;if(e.useHighPerformance){o={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}}else{o={position:"absolute",width:"8px",height:"8px",top:"-9999px",left:"-9999px"}}var k=null;for(k in o){if(o.hasOwnProperty(k)){e.oMC.style[k]=o[k]}}try{if(!e.isIE){e.oMC.appendChild(n)}u.appendChild(e.oMC);if(e.isIE){p=e.oMC.appendChild(document.createElement("div"));p.className="sm2-object-box";p.innerHTML=t}e._appendSuccess=true}catch(y){throw new Error(e.strings.appXHTML)}}else{e.oMC.appendChild(n);if(e.isIE){p=e.oMC.appendChild(document.createElement("div"));p.className="sm2-object-box";p.innerHTML=t}e._appendSuccess=true}if(!g(e.debugID)&&((!e._hasConsole||!e.useConsole)||(e.useConsole&&e._hasConsole&&!e.consoleOnly))){var l=document.createElement("div");l.id=e.debugID;l.style.display=(e.debugMode?"block":"none");if(e.debugMode&&!g(i.id)){try{u.appendChild(i)}catch(h){throw new Error(e.strings.appXHTML)}u.appendChild(l)}}u=null}if(r){e._wD(r)}e._wD("-- SoundManager 2 "+e.version+(e.useMovieStar?", MovieStar mode":"")+(e.useHighPerformance?", high performance mode, ":", ")+((e.useFastPolling?"fast":"normal")+" polling mode")+(e.wmode?", wmode: "+e.wmode:"")+" --",1);e._wD("soundManager._createMovie(): Trying to load "+m+(!e._overHTTP&&e.altURL?" (alternate URL)":""),1)};this._writeDebug=function(i,p,k){if(!e.debugMode){return false}if(typeof k!="undefined"&&k){i=i+" | "+new Date().getTime()}if(e._hasConsole&&e.useConsole){var h=e._debugLevels[p];if(typeof console[h]!="undefined"){console[h](i)}else{console.log(i)}if(e.useConsoleOnly){return true}}var n="soundmanager-debug";try{var m=g(n);if(!m){return false}var l=document.createElement("div");if(++e._wdCount%2===0){l.className="sm2-alt"}if(typeof p=="undefined"){p=0}else{p=parseInt(p,10)}l.appendChild(document.createTextNode(i));if(p){if(p>=2){l.style.fontWeight="bold"}if(p==3){l.style.color="#ff3333"}}m.insertBefore(l,m.firstChild)}catch(j){}m=null};this._writeDebug._protected=true;this._wdCount=0;this._wdCount._protected=true;this._wD=this._writeDebug;this._wDAlert=function(h){alert(h)};if(window.location.href.indexOf("debug=alert")+1&&e.debugMode){e._wD=e._wDAlert}this._toggleDebug=function(){var i=g(e.debugID);var h=g(e.debugID+"-toggle");if(!i){return false}if(e._debugOpen){h.innerHTML="+";i.style.display="none"}else{h.innerHTML="-";i.style.display="block"}e._debugOpen=!e._debugOpen};this._toggleDebug._protected=true;this._debug=function(){e._wD("--- soundManager._debug(): Current sound objects ---",1);for(var k=0,h=e.soundIDs.length;k<h;k++){e.sounds[e.soundIDs[k]]._debug()}};this._debugTS=function(k,h,i){if(typeof sm2Debugger!="undefined"){try{sm2Debugger.handleEvent(k,h,i)}catch(j){}}};this._debugTS._protected=true;this._mergeObjects=function(j,h){var m={};for(var k in j){if(j.hasOwnProperty(k)){m[k]=j[k]}}var l=(typeof h=="undefined"?e.defaultOptions:h);for(var n in l){if(l.hasOwnProperty(n)&&typeof m[n]=="undefined"){m[n]=l[n]}}return m};this.createMovie=function(h){if(h){e.url=h}e._initMovie()};this.go=this.createMovie;this._initMovie=function(){if(e.o){return false}e.o=e.getMovie(e.id);if(!e.o){if(!e.oRemoved){e._createMovie(e.id,e.url)}else{if(!e.isIE){e.oMC.appendChild(e.oRemoved)}else{e.oMC.innerHTML=e.oRemovedHTML}e.oRemoved=null;e._didAppend=true}e.o=e.getMovie(e.id)}if(e.o){e._wD("soundManager._initMovie(): Got "+e.o.nodeName+" element ("+(e._didAppend?"created via JS":"static HTML")+")",1);if(e.flashLoadTimeout>0){e._wD("soundManager._initMovie(): Waiting for ExternalInterface call from Flash..")}}if(typeof e.oninitmovie=="function"){setTimeout(e.oninitmovie,1)}};this.waitForExternalInterface=function(){if(e._waitingForEI){return false}e._waitingForEI=true;if(e._tryInitOnFocus&&!e._isFocused){e._wD(e.strings.waitFocus);return false}if(e.flashLoadTimeout>0){if(!e._didInit){e._wD(e.strings.waitImpatient)}setTimeout(function(){if(!e._didInit){e._wD("soundManager: No Flash response within reasonable time after document load.\nPossible causes: Loading "+e.movieURL+" failed, Flash version under "+e.flashVersion+", no support, flash blocked or JS-Flash security error.",2);if(!e._overHTTP){e._wD(e.strings.localFail,2)}e._debugTS("flashtojs",false,": Timed out"+(e._overHTTP)?" (Check flash security or flash blockers)":" (No plugin/missing SWF?)")}if(!e._didInit&&e._okToDisable){e._failSafely(true)}},e.flashLoadTimeout)}else{if(!e._didInit){e._wD(e.strings.waitForever)}}};this.handleFocus=function(){if(e._isFocused||!e._tryInitOnFocus){return true}e._okToDisable=true;e._isFocused=true;e._wD("soundManager.handleFocus()");if(e._tryInitOnFocus){window.removeEventListener("mousemove",e.handleFocus,false)}e._waitingForEI=false;setTimeout(e.waitForExternalInterface,500);if(window.removeEventListener){window.removeEventListener("focus",e.handleFocus,false)}else{if(window.detachEvent){window.detachEvent("onfocus",e.handleFocus)}}};this.initComplete=function(h){if(e._didInit){return false}e._didInit=true;e._wD("-- SoundManager 2 "+(e._disabled?"failed to load":"loaded")+" ("+(e._disabled?"security/load error":"OK")+") --",1);if(e._disabled||h){e._wD("soundManager.initComplete(): calling soundManager.onerror()",1);e._processOnReady();e._debugTS("onload",false);e.onerror.apply(window);return false}else{e._debugTS("onload",true)}if(e.waitForWindowLoad&&!e._windowLoaded){e._wD("soundManager: Waiting for window.onload()");if(window.addEventListener){window.addEventListener("load",e._initUserOnload,false)}else{if(window.attachEvent){window.attachEvent("onload",e._initUserOnload)}}return false}else{if(e.waitForWindowLoad&&e._windowLoaded){e._wD("soundManager: Document already loaded")}e._initUserOnload()}};this._addOnReady=function(i,h){e._onready.push({method:i,scope:(h||null),fired:false})};this._processOnReady=function(){if(!e._didInit){return false}var k={success:(!e._disabled)};var h=[];for(var m=0,l=e._onready.length;m<l;m++){if(e._onready[m].fired!==true){h.push(e._onready[m])}}if(h.length){e._wD("soundManager: Firing "+h.length+" onready() item"+(h.length>1?"s":""));for(m=0,l=h.length;m<l;m++){if(h[m].scope){h[m].method.apply(h[m].scope,[k])}else{h[m].method(k)}h[m].fired=true}}};this._initUserOnload=function(){window.setTimeout(function(){e._processOnReady();e._wD("soundManager.initComplete(): calling soundManager.onload()",1);e.onload.apply(window);e._wD("soundManager.onload() complete",1)})};this.init=function(){e._wD("-- soundManager.init() --");e._initMovie();if(e._didInit){e._wD("soundManager.init(): Already called?");return false}if(window.removeEventListener){window.removeEventListener("load",e.beginDelayedInit,false)}else{if(window.detachEvent){window.detachEvent("onload",e.beginDelayedInit)}}try{e._wD("Attempting to call Flash from JS..");e.o._externalInterfaceTest(false);if(!e.allowPolling){e._wD("Polling (whileloading()/whileplaying() support) is disabled.",1)}e._setPolling(true,e.useFastPolling?true:false);if(!e.debugMode){e.o._disableDebug()}e.enabled=true;e._debugTS("jstoflash",true)}catch(h){e._wD("js/flash exception: "+h.toString());e._debugTS("jstoflash",false);e._failSafely(true);e.initComplete();return false}e.initComplete()};this.beginDelayedInit=function(){e._wD("soundManager.beginDelayedInit()");e._windowLoaded=true;setTimeout(e.waitForExternalInterface,500);setTimeout(e.beginInit,20)};this.beginInit=function(){if(e._initPending){return false}e.createMovie();e._initMovie();e._initPending=true;return true};this.domContentLoaded=function(){e._wD("soundManager.domContentLoaded()");if(document.removeEventListener){document.removeEventListener("DOMContentLoaded",e.domContentLoaded,false)}e.go()};this._externalInterfaceOK=function(){if(e.swfLoaded){return false}e._wD("soundManager._externalInterfaceOK()");e._debugTS("swf",true);e._debugTS("flashtojs",true);e.swfLoaded=true;e._tryInitOnFocus=false;if(e.isIE){setTimeout(e.init,100)}else{e.init()}};this._setSandboxType=function(h){var i=e.sandbox;i.type=h;i.description=i.types[(typeof i.types[h]!="undefined"?h:"unknown")];e._wD("Flash security sandbox type: "+i.type);if(i.type=="localWithFile"){i.noRemote=true;i.noLocal=false;e._wD("Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html",2)}else{if(i.type=="localWithNetwork"){i.noRemote=false;i.noLocal=true}else{if(i.type=="localTrusted"){i.noRemote=false;i.noLocal=false}}}};this.reboot=function(){e._wD("soundManager.reboot()");if(e.soundIDs.length){e._wD("Destroying "+e.soundIDs.length+" SMSound objects...")}for(var h=e.soundIDs.length;h--;){e.sounds[e.soundIDs[h]].destruct()}try{if(e.isIE){e.oRemovedHTML=e.o.innerHTML}e.oRemoved=e.o.parentNode.removeChild(e.o);e._wD("Flash movie removed.")}catch(j){e._wD("Warning: Failed to remove flash movie.",2)}e.enabled=false;e._didInit=false;e._waitingForEI=false;e._initPending=false;e._didAppend=false;e._appendSuccess=false;e._disabled=false;e._waitingforEI=true;e.swfLoaded=false;e.soundIDs={};e.sounds=[];e.o=null;for(h=e._onready.length;h--;){e._onready[h].fired=false}e._wD("soundManager: Rebooting...");window.setTimeout(soundManager.beginDelayedInit,20)};this.destruct=function(){e._wD("soundManager.destruct()");e.disable(true)};f=function(h){var i=this;this.sID=h.id;this.url=h.url;this.options=e._mergeObjects(h);this.instanceOptions=this.options;this._iO=this.instanceOptions;this.pan=this.options.pan;this.volume=this.options.volume;this._lastURL=null;this._debug=function(){if(e.debugMode){var l=null;var n=[];var k=null;var m=null;var j=64;for(l in i.options){if(i.options[l]!==null){if(i.options[l] instanceof Function){k=i.options[l].toString();k=k.replace(/\s\s+/g," ");m=k.indexOf("{");n[n.length]=" "+l+": {"+k.substr(m+1,(Math.min(Math.max(k.indexOf("\n")-1,j),j))).replace(/\n/g,"")+"... }"}else{n[n.length]=" "+l+": "+i.options[l]}}}e._wD("SMSound() merged options: {\n"+n.join(", \n")+"\n}")}};this._debug();this.id3={};this.resetProperties=function(j){i.bytesLoaded=null;i.bytesTotal=null;i.position=null;i.duration=null;i.durationEstimate=null;i.loaded=false;i.playState=0;i.paused=false;i.readyState=0;i.muted=false;i.didBeforeFinish=false;i.didJustBeforeFinish=false;i.isBuffering=false;i.instanceOptions={};i.instanceCount=0;i.peakData={left:0,right:0};i.waveformData={left:[],right:[]};i.eqData=[]};i.resetProperties();this.load=function(j){if(typeof j!="undefined"){i._iO=e._mergeObjects(j);i.instanceOptions=i._iO}else{j=i.options;i._iO=j;i.instanceOptions=i._iO;if(i._lastURL&&i._lastURL!=i.url){e._wD("SMSound.load(): Using manually-assigned URL");i._iO.url=i.url;i.url=null}}if(typeof i._iO.url=="undefined"){i._iO.url=i.url}e._wD("soundManager.load(): "+i._iO.url,1);if(i._iO.url==i.url&&i.readyState!==0&&i.readyState!=2){e._wD("soundManager.load(): current URL already assigned.",1);return false}i.url=i._iO.url;i._lastURL=i._iO.url;i.loaded=false;i.readyState=1;i.playState=0;try{if(e.flashVersion==8){e.o._load(i.sID,i._iO.url,i._iO.stream,i._iO.autoPlay,(i._iO.whileloading?1:0))}else{e.o._load(i.sID,i._iO.url,i._iO.stream?true:false,i._iO.autoPlay?true:false);if(i._iO.isMovieStar&&i._iO.autoLoad&&!i._iO.autoPlay){i.pause()}}}catch(k){e._wD("SMSound.load(): Exception: JS-Flash communication failed, or JS error.",2);e._debugTS("onload",false);e.onerror();e.disable()}};this.unload=function(){if(i.readyState!==0){e._wD('SMSound.unload(): "'+i.sID+'"');if(i.readyState!=2){i.setPosition(0,true)}e.o._unload(i.sID,e.nullURL);i.resetProperties()}};this.destruct=function(){e._wD('SMSound.destruct(): "'+i.sID+'"');e.o._destroySound(i.sID);e.destroySound(i.sID,true)};this.play=function(k){if(!k){k={}}i._iO=e._mergeObjects(k,i._iO);i._iO=e._mergeObjects(i._iO,i.options);i.instanceOptions=i._iO;if(i.playState==1){var j=i._iO.multiShot;if(!j){e._wD('SMSound.play(): "'+i.sID+'" already playing (one-shot)',1);return false}else{e._wD('SMSound.play(): "'+i.sID+'" already playing (multi-shot)',1)}}if(!i.loaded){if(i.readyState===0){e._wD('SMSound.play(): Attempting to load "'+i.sID+'"',1);i._iO.stream=true;i._iO.autoPlay=true;i.load(i._iO)}else{if(i.readyState==2){e._wD('SMSound.play(): Could not load "'+i.sID+'" - exiting',2);return false}else{e._wD('SMSound.play(): "'+i.sID+'" is loading - attempting to play..',1)}}}else{e._wD('SMSound.play(): "'+i.sID+'"')}if(i.paused){i.resume()}else{i.playState=1;if(!i.instanceCount||e.flashVersion>8){i.instanceCount++}i.position=(typeof i._iO.position!="undefined"&&!isNaN(i._iO.position)?i._iO.position:0);if(i._iO.onplay){i._iO.onplay.apply(i)}i.setVolume(i._iO.volume,true);i.setPan(i._iO.pan,true);e.o._start(i.sID,i._iO.loop||1,(e.flashVersion==9?i.position:i.position/1000))}};this.start=this.play;this.stop=function(j){if(i.playState==1){i.playState=0;i.paused=false;if(i._iO.onstop){i._iO.onstop.apply(i)}e.o._stop(i.sID,j);i.instanceCount=0;i._iO={}}};this.setPosition=function(k,j){if(typeof k=="undefined"){k=0}var l=Math.min(i.duration,Math.max(k,0));i._iO.position=l;if(!j){}e.o._setPosition(i.sID,(e.flashVersion==9?i._iO.position:i._iO.position/1000),(i.paused||!i.playState))};this.pause=function(){if(i.paused||i.playState===0){return false}e._wD("SMSound.pause()");i.paused=true;e.o._pause(i.sID);if(i._iO.onpause){i._iO.onpause.apply(i)}};this.resume=function(){if(!i.paused||i.playState===0){return false}e._wD("SMSound.resume()");i.paused=false;e.o._pause(i.sID);if(i._iO.onresume){i._iO.onresume.apply(i)}};this.togglePause=function(){e._wD("SMSound.togglePause()");if(i.playState===0){i.play({position:(e.flashVersion==9?i.position:i.position/1000)});return false}if(i.paused){i.resume()}else{i.pause()}};this.setPan=function(k,j){if(typeof k=="undefined"){k=0}if(typeof j=="undefined"){j=false}e.o._setPan(i.sID,k);i._iO.pan=k;if(!j){i.pan=k}};this.setVolume=function(j,k){if(typeof j=="undefined"){j=100}if(typeof k=="undefined"){k=false}e.o._setVolume(i.sID,(e.muted&&!i.muted)||i.muted?0:j);i._iO.volume=j;if(!k){i.volume=j}};this.mute=function(){i.muted=true;e.o._setVolume(i.sID,0)};this.unmute=function(){i.muted=false;var j=typeof i._iO.volume!="undefined";e.o._setVolume(i.sID,j?i._iO.volume:i.options.volume)};this.toggleMute=function(){if(i.muted){i.unmute()}else{i.mute()}};this._whileloading=function(j,k,l){if(!i._iO.isMovieStar){i.bytesLoaded=j;i.bytesTotal=k;i.duration=Math.floor(l);i.durationEstimate=parseInt((i.bytesTotal/i.bytesLoaded)*i.duration,10);if(i.durationEstimate===undefined){i.durationEstimate=i.duration}if(i.readyState!=3&&i._iO.whileloading){i._iO.whileloading.apply(i)}}else{i.bytesLoaded=j;i.bytesTotal=k;i.duration=Math.floor(l);i.durationEstimate=i.duration;if(i.readyState!=3&&i._iO.whileloading){i._iO.whileloading.apply(i)}}};this._onid3=function(n,k){e._wD('SMSound._onid3(): "'+this.sID+'" ID3 data received.');var o=[];for(var m=0,l=n.length;m<l;m++){o[n[m]]=k[m]}i.id3=e._mergeObjects(i.id3,o);if(i._iO.onid3){i._iO.onid3.apply(i)}};this._whileplaying=function(k,l,n,j,m){if(isNaN(k)||k===null){return false}if(i.playState===0&&k>0){k=0}i.position=k;if(i._iO.usePeakData&&typeof l!="undefined"&&l){i.peakData={left:l.leftPeak,right:l.rightPeak}}if(i._iO.useWaveformData&&typeof n!="undefined"&&n){i.waveformData={left:n.split(","),right:j.split(",")}}if(i._iO.useEQData&&typeof m!="undefined"&&m){i.eqData=m}if(i.playState==1){if(i.isBuffering){i._onbufferchange(0)}if(i._iO.whileplaying){i._iO.whileplaying.apply(i)}if(i.loaded&&i._iO.onbeforefinish&&i._iO.onbeforefinishtime&&!i.didBeforeFinish&&i.duration-i.position<=i._iO.onbeforefinishtime){e._wD("duration-position &lt;= onbeforefinishtime: "+i.duration+" - "+i.position+" &lt= "+i._iO.onbeforefinishtime+" ("+(i.duration-i.position)+")");i._onbeforefinish()}}};this._onload=function(j){j=(j==1?true:false);e._wD('SMSound._onload(): "'+i.sID+'"'+(j?" loaded.":" failed to load? - "+i.url),(j?1:2));if(!j){if(e.sandbox.noRemote===true){e._wD("SMSound._onload(): Reminder: Flash security is denying network/internet access",1)}if(e.sandbox.noLocal===true){e._wD("SMSound._onload(): Reminder: Flash security is denying local access",1)}}i.loaded=j;i.readyState=j?3:2;if(i._iO.onload){i._iO.onload.apply(i)}};this._onbeforefinish=function(){if(!i.didBeforeFinish){i.didBeforeFinish=true;if(i._iO.onbeforefinish){e._wD('SMSound._onbeforefinish(): "'+i.sID+'"');i._iO.onbeforefinish.apply(i)}}};this._onjustbeforefinish=function(j){if(!i.didJustBeforeFinish){i.didJustBeforeFinish=true;if(i._iO.onjustbeforefinish){e._wD('SMSound._onjustbeforefinish(): "'+i.sID+'"');i._iO.onjustbeforefinish.apply(i)}}};this._onfinish=function(){if(i._iO.onbeforefinishcomplete){i._iO.onbeforefinishcomplete.apply(i)}i.didBeforeFinish=false;i.didJustBeforeFinish=false;if(i.instanceCount){i.instanceCount--;if(!i.instanceCount){i.playState=0;i.paused=false;i.instanceCount=0;i.instanceOptions={}}if(!i.instanceCount||i._iO.multiShotEvents){if(i._iO.onfinish){e._wD('SMSound._onfinish(): "'+i.sID+'"');i._iO.onfinish.apply(i)}}}else{if(i.useVideo){}}};this._onmetadata=function(j){e._wD("SMSound.onmetadata()");if(!j.width&&!j.height){e._wD("No width/height given, assuming defaults");j.width=320;j.height=240}i.metadata=j;i.width=j.width;i.height=j.height;if(i._iO.onmetadata){e._wD('SMSound._onmetadata(): "'+i.sID+'"');i._iO.onmetadata.apply(i)}e._wD("SMSound.onmetadata() complete")};this._onbufferchange=function(j){if(i.playState===0){return false}if(j==i.isBuffering){e._wD("_onbufferchange: ignoring false default / loaded sound");return false}i.isBuffering=(j==1?true:false);if(i._iO.onbufferchange){e._wD("SMSound._onbufferchange(): "+j);i._iO.onbufferchange.apply(i)}};this._ondataerror=function(j){if(i.playState>0){e._wD("SMSound._ondataerror(): "+j);if(i._iO.ondataerror){i._iO.ondataerror.apply(i)}}else{}}};this._onfullscreenchange=function(h){e._wD("onfullscreenchange(): "+h);e.isFullScreen=(h==1?true:false);if(!e.isFullScreen){try{window.focus();e._wD("window.focus()")}catch(i){}}};if(window.addEventListener){window.addEventListener("focus",e.handleFocus,false);window.addEventListener("load",e.beginDelayedInit,false);window.addEventListener("unload",e.destruct,false);if(e._tryInitOnFocus){window.addEventListener("mousemove",e.handleFocus,false)}}else{if(window.attachEvent){window.attachEvent("onfocus",e.handleFocus);window.attachEvent("onload",e.beginDelayedInit);window.attachEvent("unload",e.destruct)}else{e._debugTS("onload",false);soundManager.onerror();soundManager.disable()}}if(document.addEventListener){document.addEventListener("DOMContentLoaded",e.domContentLoaded,false)}}if(typeof SM2_DEFER=="undefined"||!SM2_DEFER){soundManager=new SoundManager()}eCarList.namespace("eCarList.App.SmartChat",function(a,e){a.Sound=eCarList.Module.extend({enabled:true});var c={chat_request:"chat_request.mp3",message_receipt:"message_receipt.mp3"};var f=function(){if(window.soundManager){soundManager.url=a.IMAGE_BASE;soundManager.flashVersion=9;soundManager.debugMode=false;soundManager.onload=function(){for(var i in c){if(c.hasOwnProperty(i)){var h=soundManager.createSound({id:i,url:a.IMAGE_BASE+"/"+c[i],volume:20});a.Sound[i]=d(h)}}}}else{for(var g in c){if(c.hasOwnProperty(g)){a.Sound[g]=b}}}};var b=function(){};var d=function(g){return function(){if(a.Sound.enabled){g.play()}}};f()});eCarList.namespace("eCarList.App.SmartChat",function(h,i){var b=eCarList.Util.Browser,m=h.ChatPanel,g=h.MessageType,q=h.Session,w=h.Sound,l=h.UI;h.ChatPanel=h.UI.extend({Attribute:{base_href:{},session:{required:true},with_jid:{required:true}},HTML:'			<div class="chat_panel">				<div class="history">					<div class="notification"></div>				</div>				<textarea class="message_input"></textarea>			</div>		',prototype:{init:function(x){this._super(x);this._init_date=new Date()},dispose:function(){a.call(this);this._super()},set_enabled:function(x){if(x&&this._get("session").available){this._super(true);this.$(".message_input").ecl().disabled(false)}else{this._super(false);this.$(".message_input").ecl().disabled(true)}},focus:function(){var x=this.$(".history").get(0);x.scrollTop=x.scrollHeight;if(this._get("enabled")){this.$(".message_input").get(0).focus()}},add_message:function(B){var D=(B.with_jid.isRoom())?B.from===this._get("session").room_nicks[B.with_jid.bare()]:B.to;var A;if(D){A="to"}else{if(B.with_jid.isSystem()){A="system"}else{A="from"}}var y='<div class="message"><span class="'+A+'">'+(D?"me":B.from)+":</span> "+(B.body_html||B.body)+"</div>";var z=0;var C=B.date.getTime();this.$(".history > .message").each(function(){var E=parseInt(i(this).data("time")||"0",10);if(C>E){z++;return true}return false});if(z===0){this.$(".history").prepend(y)}else{r.call(this,z-1).after(y)}r.call(this,z).data("time",C);var x=this;i("a",r.call(this,z).get(0)).each(function(){var E=i(this).attr("href");var F=true;var G=E.match(/^rel-href:(\/?(.*))/);if(G){if(x._get("base_href")){E=x._get("base_href").replace(/\/$/,"")+"/"+G[2]}else{E=G[1];F=false}i(this).attr("href",E)}if(F){i(this).attr("target","_blank")}});u.call(this);if(!D&&this._init_date.getTime()<(B.date.getTime()+1000)){w.message_receipt();e.call(this,B.from)}},add_status_message:function(x){this.$(".history > div.notification").before('<div class="status message">'+x+"</div>");this.$(".history > div.status:last-child").data("time",(new Date()).getTime());u.call(this)},set_notification:function(y){this.clear_notification();this.$(".history > div.notification").text(y);u.call(this);var x=this;this._notification_timeout=setTimeout(function(){x.clear_notification()},30000)},clear_notification:function(){if(this._notification_timeout){clearTimeout(this._notification_timeout);delete this._notification_timeout}this.$(".history > div.notification").text("")},get_input_text:function(){return this.$(".message_input").val()},set_input_text:function(x){this.$(".message_input").val(x)},_render:function(){this._super();var B=this._get("session");var A=this._get("with_jid");if(A){var z=B.get_messages(A);for(var x=0;x<z.length;x++){var y=z[x];if(y.type===g.MESSAGE){this.add_message(y)}}}this.set_enabled(this._get("enabled"));this.bind(".message_input","keyup",f);this.bind(".message_input","focus",k);this.bind_to(B,q.Event.CONNECT,s);this.bind_to(B,q.Event.RECONNECT,t);this.bind_to(B,q.Event.DISCONNECT,d);this.bind_to(B,q.Event.CONNECTION_FAULT,c);this.bind_to(B,q.Event.MEMBER_JOIN,o);this.bind_to(B,q.Event.MEMBER_LEAVE,n);this.bind_to(B,q.Event.MESSAGE_ADD,p);this.bind_to(B,q.Event.CHAT_STATE_CHANGE,v)},_layout:function(){this._super();var z=this.$().width();var x=this.$().height();var y=x-61;this.$(".history").height((y<0)?0:y);this.$(".message_input").width(z-12)}}});var j=function(x){x=x.htmlEnc();x=x.replace(/\b\*([^\*]+)\*\b/,'<span style="font-weight: bold">$1</span>');x=x.replace(/\b_([^_]+)_\b/,'<span style="font-style: italic">$1</span>');x=x.replace(/\b([A-Z0-9\._%+\-]+@[A-Z0-9.\-]+\.[A-Z]{2,4})\b/i,'<a href="mailto:$1">$1</a>');x=x.replace(/\b(https?:\/\/[\-\w]+(\.\w[\-\w]*)+(:\d+)?[\w\.\!\?\;=\/#\&\+\-\%]*)/ig,'<a href="$1">$1</a>');return x};var r=function(x){return this.$(".history > div.message:eq("+x+")")};var u=function(){var x=this.$(".history").get(0);x.scrollTop=x.scrollHeight};var e=function(x){b.blink_title("chat_panel_"+this._id,x+" says...")};var a=function(){b.unblink_title("chat_panel_"+this._id)};var k=function(x){a.call(this)};var f=function(A){var C=this._get("session");var B=this._get("with_jid");a.call(this);if((A.keyCode===13||A.keyCode===14)&&!A.shiftKey){var x=i.trim(this.$(".message_input").val());var z=j.call(this,x);if(x.length===0||C.send_message(B,x,z)){message_sent=true;this.$(".message_input").val("")}}if(this.$(".message_input").val().length){C.update_chat_state(B,q.ChatState.COMPOSING);if(this._compose_timeout){clearTimeout(this._compose_timeout)}var y=this;this._compose_timeout=setTimeout(function(){C.update_chat_state(B,q.ChatState.PAUSED);delete y._compose_timeout},5000)}else{C.update_chat_state(B,q.ChatState.ACTIVE);if(this._compose_timeout){clearTimeout(this._compose_timeout);delete this._compose_timeout}}};var s=function(x){this.set_enabled(true)};var t=function(x){this.set_enabled(true)};var d=function(x){this.set_enabled(false)};var c=function(x){this.set_enabled(false)};var o=function(x,y){if(y.room_jid.isEntity(this._get("with_jid"))){if(y.nick!==this._get("session").nick){this.add_status_message(y.nick+" has joined the chat session.")}}};var n=function(x,y){if(y.room_jid.isEntity(this._get("with_jid"))){if(y.nick!==this._get("session").nick){this.add_status_message(y.nick+" has left the chat session.")}}};var p=function(y,x){if((x.with_jid.isSystem()||x.with_jid.isEntity(this._get("with_jid")))&&x.type===g.MESSAGE){this.add_message(x)}};var v=function(x,B){var A=this._get("session");var z=this._get("with_jid");if(B.with_jid.isEntity(z)&&!B.contact_jid.equals(A.get_chat_jid(z))){var y;if(B.chat_state===q.ChatState.COMPOSING){y=A.get_contact_nick(B.contact_jid)+" is typing..."}else{if(B.chat_state===q.ChatState.PAUSED){y=A.get_contact_nick(B.contact_jid)+" has entered text."}}if(y){this.set_notification(y)}else{this.clear_notification()}}}});eCarList.namespace("eCarList.App.SmartChat.Visitor",function(d,f){var c=SmartChat.Form;d.VisitorNameDialog=eCarList.App.SmartChat.WindowDialog.extend({Attribute:{message:{init:'Please enter your name and click "Start Chat" to begin.'},options:{init:["Start Chat"]},session:{required:true},style_class:{init:"visitor_name_dialog window_dialog"}},BODY_HTML:'			<div class="form">				<label>Name:</label><input class="text name_input" type="text" maxlength="32"/><br/>			</div>		',prototype:{focus:function(){this._super();this.$(".name_input").get(0).focus()},get_name:function(){return c.sanitize_name(this.$(".name_input").val())},request_chat:function(){var g;var h=this._get("session");if(h.teams.length===1){g=h.teams[0].eid}else{if(h.teams.length>1){g=this.$('input:radio[name="team"]:checked').val()}}if(g){h.request_chat(this.get_name()||"Visitor",g);this.close()}},_render:function(){this._super();var l=this._get("session");if(l.teams.length>1){for(var k=0;k<l.teams.length;k++){var h=l.teams[k];var g=(k===0)?"Support:":"";var j="<label>"+g+'</label><input type="radio" name="team" value="'+h.eid+'"/> '+h.name+"<br/>";this.$(".form").append(j)}this.$('input[name="team"]').val([l.teams[0].eid])}this.bind(".name_input","blur",b);this.bind(".name_input","keyup",a);this.bind(this.klass.Event.SELECT,e)}}});var e=function(h,g){this.request_chat()};var b=function(g){c.sanitize_name(this.$(".name_input"))};var a=function(g){if(g.keyCode===13||g.keyCode===14){this.request_chat()}}});eCarList.namespace("eCarList.App.SmartChat",function(a,c){var b=a.Form;a.AdminSite=eCarList.Module.extend({get_vehicle_edit_url:function(e){return d("/cgi-bin/admin2.cgi?mode=updt&id="+e)},get_vehicle_leads_url:function(e){return d("/cgi-bin/admin2.cgi?mode=v_m&id="+e)},get_carfax_url:function(){var e=c("div#contentSectionRight a:contains('View CarFax History Report')").attr("href");return e||null},get_vehicle_detail:function(){var f=c("#subNavigationBoxVehicle").next("div.subNavigationBoxText").get(0);if(f){var e={};c("li",f).each(function(){var h=c(this).text();var g=h.match(/^([A-Z]+):\s*(.*)/i);if(g){e[g[1].toLowerCase()]=g[2]}else{e.name=h}});return e}return null},log_chat_session:function(h,i){var m={d_id:h.dealer_id,mode:"vehicle_question",override_dealer_id:h.dealer_id,lead_type:h.lead_type||"28",chat_session:JSJaCJSON.toString({status:i?"completed":"cancelled",user_eid:h.admin_user_eid,dealer_eid:h.dealer_eid,domain:h.domain,phone:h.phone,email:h.email,duration_seconds:Math.floor(h.duration/1000),log:h.chat_log,urls:(h.history)?c.map(h.history,function(n){return n.url}):[]})};if(i){m.subject="Chat Lead";m.name=h.name;var l=h.email;if(b.validate_email(l)){m.email=l}var k=h.phone.replace(/\D+/g,"");if(b.validate_phone(k)){m.phone=k}if(h.vehicle_id){m.id=h.vehicle_id}m.body="-- Chat Lead --\n";m.body+="    Name: "+h.name+"\n";m.body+="   Email: "+h.email+"\n";m.body+="   Phone: "+h.phone+"\n";if(h.admin_nick){m.body+="   Admin: "+h.admin_nick+"\n"}if(h.duration){var g=Math.floor(h.duration/60000);var j=Math.floor((h.duration%60000)/1000);m.body+="Duration: "+g+" min "+j+" secs\n"}var e=c.map(h.chat_log,function(n){return n.nickname+": "+n.message}).join("\n");m.body+="\n-- Conversation --\n"+e;var f=c.map(h.history,function(n){return n.title+" ("+n.url+")"}).join("\n");m.body+="\n\n-- Pages Visited --\n"+f}c.post(d("/cgi-bin/ajax"),m)}});var d=function(e){if(window.location.protocol==="app:"){e="https://www.ecarlist.com"+e}return e}});eCarList.namespace("eCarList.App.SmartChat",function(a,b){a.DealerSite=eCarList.Module.extend({get_contact_url:function(){return"/web/contact"},get_credit_app_url:function(c){return"https://www.ecarlist.com/cgi-bin/customer.pl?mode=credit_application&dealer="+c},get_vehicle_detail_url:function(c,d){return"/web/"+c+"/vehicle/"+d},get_window_sticker_url:function(){},get_new_window_sticker_url:function(){},parse_vehicle_detail_path:function(c){var e=c.pathname.substring(1).split("/");if(e.length>=3&&e[0]==="web"){var d={};if(e[1]==="vehicle"){if(e[2].match(/\d+/)){d.vehicle_id=e[2]}}else{if(e[2]==="vehicle"){if(e[1].match(/\d+/)){d.dealer_id=e[1]}if(e[3].match(/\d+/)){d.vehicle_id=e[3]}}}return d}return null}})});eCarList.namespace("eCarList.Service",function(b,a){b.GoogleAnalytics=eCarList.Module.extend({log_chat_lead:function(c){this.log_lead("chat",c)},log_lead:function(c,d){this.log(["lead_form",c],d)},log:function(c,e){var d="/"+c.join("/")+"/refer_url";if(typeof e==="string"){if(e.charAt(0)!=="/"){e="/"+e}d+=e}else{d+=window.location.pathname}if(typeof _gaq==="object"&&_gaq.push){_gaq.push(["_trackPageview",d])}else{if(typeof pageTracker==="object"&&pageTracker._trackPageview){pageTracker._trackPageview(d)}}}})});eCarList.namespace("eCarList.App.SmartChat.Visitor",function(j,e){var a=eCarList.App.SmartChat.AdminSite,b=eCarList.App.SmartChat.DealerSite,h=eCarList.Service.GoogleAnalytics,c=eCarList.App.SmartChat.Session;j.VisitorSession=eCarList.App.SmartChat.Session.extend({CHAT_REQUEST_TIMEOUT:180000,Event:{CHAT_ACCEPT:"visitor_session_chat_accept",CHAT_COMPLETE:"visitor_session_chat_complete",CHAT_OFFER:"visitor_session_chat_offer",CHAT_PREPARE:"visitor_session_chat_prepare",CHAT_REQUEST:"visitor_session_chat_request"},State:{IDLE:"IDLE",OFFERED:"OFFERED",PREPARING:"PREPARING",CONNECTING:"CONNECTING",REQUESTING:"REQUESTING",REQUESTED:"REQUESTED",ACCEPTING:"ACCEPTING",ACTIVE:"ACTIVE",UNAVAILABLE:"UNAVAILABLE"},prototype:{init:function(k){this._super(k);this.init_state(this.klass.State.IDLE);this.nick=this.nick||"Visitor";this.presence.history=[];i.call(this)},connect:function(){d(function(k){if(k){var l=(k||"").split(":");this.jid=new JSJaCJID({domain:eCarList.App.SmartChat.VISITOR_DOMAIN,node:l[0]});this.secret=l[1];this.klass.base.connect.call(this)}},this)},update_location:function(){var k={title:document.title||window.location.toString(),url:window.location.toString().toLowerCase()};var o=window.location.pathname.substring(1).split("/");var n=b.parse_vehicle_detail_path(window.location);if(n){e.extend(k,n)}this.presence.history.unshift(k);for(var l=this.presence.history.length-1;l>=1;l--){var m=this.presence.history[l];if(m.url===k.url){this.presence.history.splice(l,1)}}if(!this.presence.referrer&&document.referrer){this.presence.referrer=document.referrer}if(this.available){this.update_presence()}},elicit_lead:function(m){m=m||"none";var k=this.get_dialogue()[m];if(k){var o=[];if(k.response){o.push(k.response)}var l=k.prompts;if(l){if(!this.presence.email&&!this.presence.phone&&l.email_and_phone){o.push(l.email_and_phone)}else{if(!this.presence.email&&l.email){o.push(l.email)}else{if(!this.presence.phone&&l.phone){o.push(l.phone)}else{if(l.none){o.push(l.none)}}}}}if(o.length>0){var n=o.join(" ").replace("$nick",e.ecl.string.first_name(this.nick));this.create_system_message(n)}}},send_message:function(q,l,m){if(this._super(q,l,m)){var k=[];if(!this.presence.email){var p=l.match(/\b[A-Z0-9\._%+\-]+@[A-Z0-9\.\-]+\.[A-Z]{2,4}\b/i);if(p){this.presence.email=p[0];k.push("email")}}if(!this.presence.phone){var o=l.match(/\b(1\s*[\-\/\.]?)?(\((\d{3})\)|(\d{3}))\s*[\-\/\.]?\s*(\d{3})\s*[\-\/\.]?\s*(\d{4})\s*(([xX]|[eE][xX][tT])\.?\s*(\d+))*\b/);if(o){this.presence.phone=o[0];k.push("phone")}}var n;if(k.length>0){this.update_presence();n=k.join("_and_")+"_entry"}this.elicit_lead(n);return true}return false},create_session_log:function(){var m=this.get_chat_duration(eCarList.App.SmartChat.SYSTEM_JID);var k=this.get_chat_log(eCarList.App.SmartChat.SYSTEM_JID);if(this.private_jid){m+=this.get_chat_duration(this.private_jid);k=k.concat(this.get_chat_log(this.private_jid))}var l={dealer_eid:this.dealer_eid,dealer_id:this.dealer_id,domain:this.domain,name:this.nick,email:this.presence.email||"",phone:this.presence.phone||"",duration:m,history:this.presence.history,chat_log:k};return l},validate_lead:function(){return(this.presence.email||this.presence.phone)},resume:function(){if(!this._super()){this.change_state(this.klass.State.IDLE);return false}return true},_create_presence_packet:function(){var m=this._super();var n=e("smartchat",m.getNode()).get(0);n.appendChild(m.buildNode("session",{dealer_eid:this.dealer_eid,dealer_id:this.dealer_id,domain:this.domain}));if(this.presence.email||this.presence.phone){n.appendChild(m.buildNode("profile",{email:this.presence.email||"",phone:this.presence.phone||""}))}var k=n.appendChild(m.buildNode("history"));if(this.presence.history){for(var l=0;l<this.presence.history.length;l++){k.appendChild(m.buildNode("location",this.presence.history[l]))}}n.appendChild(m.buildNode("referrer",{url:this.presence.referrer||""}));return m}}}).dont_save("dealer_id").dont_save("dealer_eid");var i=function(){this.bind(c.Event.CONNECT,this._on_connect);this.bind(c.Event.INVITE_RECEIPT,this._on_invite_receipt);this.bind(c.Event.MEMBER_ADD,this._on_member_add);this.bind(c.Event.MEMBER_REMOVE,this._on_member_remove)};var d=function(l,k){e.get("/web/2005/smartchat_auth",function(m){if(l){l.call(k||null,m)}})};var f={get_dialogue:function(){return{}},end_chat:function(){delete this.team_jid;delete this.private_jid;this.disconnect();this.change_state(this.klass.State.OFFERED)},_on_connect:function(k){},_on_invite_receipt:function(l,k){this.decline_invite_direct(k.room_jid,k.from_jid)},_on_member_add:function(k,l){},_on_member_remove:function(k,l){}};var g={prepare_chat:function(k){this.teams=k||this.teams||[];this.change_state(this.klass.State.PREPARING)},request_chat:function(k,l){this.nick=k;this.team_eid=l;h.log_chat_lead();if(!this._connection||!this._connection.connected()){this.change_state(this.klass.State.CONNECTING);this.connect()}else{this.change_state(this.klass.State.REQUESTING);this.contact_rep()}},end_chat:function(){this.change_state(this.klass.State.OFFERED)}};j.VisitorSession.define_state(j.VisitorSession.State.IDLE,f,g,{offer_chat:function(n,l){if(this._offer_timeout){clearTimeout(this._offer_timeout);this._offer_timeout=null}var k=this;var m=function(){k._offer_timeout=null;if(k.state===k.klass.State.IDLE){k.teams=n;k.trigger(k.klass.Event.CHAT_OFFER,n);k.change_state(k.klass.State.OFFERED)}};if(l){this._offer_timeout=setTimeout(m,l)}else{m()}}});j.VisitorSession.define_state(j.VisitorSession.State.OFFERED,f,g,{offer_chat:function(k){this.teams=k}});j.VisitorSession.define_state(j.VisitorSession.State.PREPARING,f,g);j.VisitorSession.define_state(j.VisitorSession.State.CONNECTING,f,{_on_connect:function(k){this.change_state(this.klass.State.REQUESTING);this.contact_rep()}});j.VisitorSession.define_state(j.VisitorSession.State.REQUESTING,f,{timeout:20000,contact_rep:function(){this.team_jid=this.join_team_room(this.team_eid)},_on_member_add:function(k,m){if(m.jid.isEntity(this.jid)&&m.room_jid.isEntity(this.team_jid)){var l=this.get_room(m.room_jid);if(l.get_available_admins().length>0){this.change_state(this.klass.State.REQUESTED);this.trigger(this.klass.Event.CHAT_REQUEST,this.team_eid);this.elicit_lead("name_entry")}else{this.change_state(this.klass.State.UNAVAILABLE);this.leave_room(this.team_jid);this.elicit_lead("admins_unavailable")}}},_on_state_timeout:function(){this.change_state(this.klass.State.PREPARING);this.request_chat(this.nick,this.team_eid)},_on_reconnect:function(){this.contact_rep()}});j.VisitorSession.define_state(j.VisitorSession.State.REQUESTED,f,{timeout:j.VisitorSession.CHAT_REQUEST_TIMEOUT,end_chat:function(){a.log_chat_session(this.create_session_log(),this.validate_lead());f.end_chat.call(this)},get_dialogue:function(){var k="Someone will contact you as soon as possible. Feel free to continue browsing through our inventory.";return{name_entry:{response:"Thanks $nick!",prompts:{email:"While we contact a representative, please provide us with your email address so that we can send you a transcript of this chat session.",phone:"While we contact a representative, please provide us with your phone number so we can have someone call you if necessary.",none:k}},email_entry:{response:"Thanks!",prompts:{phone:"We are still contacting a representative. To better serve you, can we have your phone number in case we get disconnected?",none:k}},phone_entry:{response:"Thanks!",prompts:{email:"While we wait, what is your email address?",none:k}},email_and_phone_entry:{response:"Thanks!",prompts:{none:k}},visitor_exit:{prompts:{email:"Before you close this chat, please provide us with your email address so that we may be of futher assistance."}}}},_on_invite_receipt:function(l,k){this.change_state(this.klass.State.ACCEPTING);this.accept_private_room(k.room_jid)},_on_state_timeout:function(){this.change_state(this.klass.State.UNAVAILABLE);this.leave_room(this.team_jid);this.elicit_lead("admins_busy")},_on_reconnect:function(){}});j.VisitorSession.define_state(j.VisitorSession.State.ACCEPTING,f,{accept_private_room:function(k){this.private_jid=this.join_room(k)},_on_member_add:function(k,l){if(l.jid.isEntity(this.jid)&&l.room_jid.isEntity(this.private_jid)){this.change_state(this.klass.State.ACTIVE);this.leave_room(this.team_jid);this.trigger(this.klass.Event.CHAT_ACCEPT)}},_on_reconnect:function(){this.accept_private_room(this.private_jid)}});j.VisitorSession.define_state(j.VisitorSession.State.ACTIVE,f,{get_admins:function(){var k=this.get_room(this.private_jid);return(k)?k.get_admins():[]},_on_reconnect:function(){}});j.VisitorSession.define_state(j.VisitorSession.State.UNAVAILABLE,f,{get_dialogue:function(){var k={email:"Please leave us your email address and we'll have a representative contact you as soon as possible.",phone:"Please leave us your phone number and we'll have a representative contact you as soon as possible.",email_and_phone:"Please leave us your email address and/or phone number and we'll have a representative contact you as soon as possible.",none:"We'll have a representative contact you as soon as possible."};var l="Thanks $nick, someone will contact you as soon as possible.";return{admins_busy:{response:"Sorry $nick, all representatives are currently busy.",prompts:k},admins_unavailable:{response:"Sorry $nick, there are currently no available representatives.",prompts:k},email_entry:{response:l},phone_entry:{response:l},email_and_phone_entry:{response:l},visitor_exit:{prompts:{email:"Before you close this chat, please provide us with your email address so that we may be of futher assistance."}}}},end_chat:function(){a.log_chat_session(this.create_session_log(),this.validate_lead());f.end_chat.call(this)},_on_reconnect:function(){}});j.VisitorSession.extend_state(j.VisitorSession.State.FAULT,{_on_connect:function(){}})});eCarList.namespace("eCarList.App.SmartChat.Visitor",function(i,d){var b=eCarList.App.SmartChat.ChatPanel,a=eCarList.App.SmartChat.Visitor.VisitorNameDialog,c=eCarList.App.SmartChat.Visitor.VisitorSession;i.VisitorChatWindow=eCarList.App.SmartChat.Window.extend({Attribute:{base_href:{},minimizable:{init:false},session:{required:true},style_class:{init:"visitor_chat_window"},title:{init:"SmartChat&trade;"},titlebar_icon:{init:true},visible:{init:true},with_jid:{init:null}},prototype:{close:function(){var j=this._get("session");this._close_attempts=(this._close_attempts||0)+1;var k=function(){this.klass.base.close.call(this);j.end_chat()};if(this._get("minimized")){this.maximize()}if(j.in_state(c.State.ACTIVE)&&j.get_admins().length){this.confirm(function(){k.call(this)},"Are you sure you want to end chat?")}else{if(j.in_state(c.State.REQUESTED,c.State.UNAVAILABLE)&&!j.validate_lead()&&this._close_attempts<2){j.elicit_lead("visitor_exit")}else{k.call(this)}}},show:function(j){this._super(j);if(this._chat_panel){this._chat_panel.focus()}},open_name_dialog:function(){this.open_dialog(new a({session:this._get("session")}))},_render:function(){this._super();var j=this._get("session");this._chat_panel=this._render_child(this._body,new b({base_href:this._get("base_href"),session:j,with_jid:this._get("with_jid")||eCarList.App.SmartChat.SYSTEM_JID}));if(j.in_state(c.State.PREPARING)){this.open_name_dialog()}this.bind_to(j,c.Event.CONNECTION_FAULT,h);this.bind_to(j,c.Event.RECONNECT,g);this.bind_to(j,c.Event.MEMBER_ADD,e);this.bind_to(j,c.Event.MEMBER_REMOVE,e);this.bind_to(j,c.Event.STATE_CHANGE,f)}}});var h=function(j,k){var l=Math.ceil(k/1000);this.display_message("Communication Error. Retrying in "+l+" secs.")};var g=function(j){this.close_dialog()};var e=function(j){var k=this._get("session");if(k.in_state(c.State.ACTIVE)){this._chat_panel.set_enabled(k.get_admins().length>0)}};var f=function(l,m){delete this._close_attempts;if(m===c.State.CONNECTING){this._chat_panel.add_status_message("connecting...")}else{if(m===c.State.ACTIVE){var o=this._get("session");this._chat_panel.set_with_jid(o.private_jid);var n=o.get_room(o.private_jid);var j=n.get_admins()[0];var k=o.get_messages(o.private_jid);if(j&&k.length<=1){this._chat_panel.add_status_message(j.nick+" has joined.")}}}}});eCarList.namespace("eCarList.Util",function(c,b){c.ColorParser=eCarList.Module.extend({parse:function(j){if(j.charAt(0)==="#"){j=j.substr(1,6)}j=j.replace(/ /g,"");j=j.toLowerCase();var f={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};for(var k in f){if(j===k){j=f[k]}}var h=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(i){return{red:parseInt(i[1],10),green:parseInt(i[2],10),blue:parseInt(i[3],10)}}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(i){return{red:parseInt(i[1],16),green:parseInt(i[2],16),blue:parseInt(i[3],16)}}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(i){return{red:parseInt(i[1]+i[1],16),green:parseInt(i[2]+i[2],16),blue:parseInt(i[3]+i[3],16)}}}];var e=null;for(var g=0;g<h.length;g++){var m=h[g].re;var d=h[g].process;var l=m.exec(j);if(l){e=d(l);break}}if(e){e.red=(e.red<0||isNaN(e.red))?0:((e.red>255)?255:e.red);e.green=(e.green<0||isNaN(e.green))?0:((e.green>255)?255:e.green);e.blue=(e.blue<0||isNaN(e.blue))?0:((e.blue>255)?255:e.blue);e.rgb="rgb("+e.red+", "+e.green+", "+e.blue+")";e.hex="#"+a(e.red)+a(e.green)+a(e.blue)}return e}});var a=function(e){var d=e.toString(16);if(d.length===1){d="0"+d}return d}});eCarList.namespace("eCarList.Util",function(e,d){e.Theme=eCarList.Class.extend({Rule:{},url_property:function(f){return function(g){var h={};h[f]='url("'+g+'")';return h}},prototype:{apply:function(g){eCarList.assert(g&&typeof g==="object","invalid style object: "+g);var h=[];b.call(this,function(k,j,l){var m=a.call(this,g,k,j);if(m){for(var i in l){if(l.hasOwnProperty(i)){h.push(c.call(this,i,l[i],m))}}}});var f="<style>\n"+h.join("\n")+"\n</style>";d("head").append(f)}}});var b=function(h){for(var j in this.klass.Rule){if(this.klass.Rule.hasOwnProperty(j)){var f=this.klass.Rule[j];for(var i in f){if(f.hasOwnProperty(i)){var g=f[i];h.call(this,j,i,g)}}}}};var a=function(f,h,g){if(f[h]&&f[h][g]){return f[h][g]}else{if(f[g]){return f[g]}}return null};var c=function(g,m,l){var k=[];if(d.isFunction(m)){var j=m(l);for(var f in j){if(j.hasOwnProperty(f)){k.push(f+": "+j[f]+";")}}}else{if(d.isArray(m)){for(var h=0;h<m.length;h++){k.push(m[h]+": "+l+";")}}else{if(typeof m==="string"){k.push(m+": "+l+";")}}}return g+" {\n"+k.join("\n")+"\n}"}});eCarList.namespace("eCarList.App.SmartChat.Visitor",function(d,f){var b=eCarList.Util.ColorParser,c=eCarList.Util.Theme;var a=function(g){var h={};if(typeof g==="object"){if(g.background){h["background-color"]=g.background;h["border-color"]=g.background}if(g.text){h.color=g.text}}else{if(typeof g==="string"){h["background-color"]=g;h["border-color"]=g;h.color=e(g)?"#FFF":"#000"}}return h};d.VisitorTheme=eCarList.Util.Theme.extend({Rule:{offer:{background:{".smartchat .offer_window":"background-color",".smartchat .offer_window button.minmax_btn":function(g){var h=e(g)?-10:0;return{"background-position":"-46px "+h+"px"}},".smartchat .offer_window button.minmax_btn.hover":function(g){var h=e(g)?-10:0;return{"background-position":"-34px "+h+"px"}}},text:{".smartchat .offer_window":"color"},image:{".smartchat .offer_window .admin_img":c.url_property("background-image")},button:{".smartchat .offer_window .chat_btn":a}},tab:{background:{".smartchat .offer_window.minimized .titlebar":"background-color"},text:{".smartchat .offer_window.minimized .titlebar .title":"color"},image:{".smartchat .offer_window.minimized .titlebar .icon":c.url_property("background-image")}},chat:{border:{".smartchat .visitor_chat_window":"border-color",".smartchat .visitor_chat_window .titlebar":"border-bottom-color"},background:{".smartchat .visitor_chat_window .titlebar":"background-color",".smartchat .visitor_chat_window .titlebar .icon":function(g){var h=e(g)?-15:0;return{"background-position":"0px "+h+"px"}},".smartchat .visitor_chat_window .titlebar button.close_btn":function(g){var h=e(g)?-10:0;return{"background-position":"-46px "+h+"px"}},".smartchat .visitor_chat_window .titlebar button.close_btn.hover":function(g){var h=e(g)?-10:0;return{"background-position":"-34px "+h+"px"}},".smartchat .visitor_chat_window .titlebar button.minmax_btn":function(g){var h=e(g)?-10:0;return{"background-position":"-19px "+h+"px"}},".smartchat .visitor_chat_window .titlebar button.minmax_btn.hover":function(g){var h=e(g)?-10:0;return{"background-position":"-2px "+h+"px"}}},text:{".smartchat .visitor_chat_window .titlebar .title":"color"},button:{".smartchat .visitor_chat_window button":a}}}});var e=function(i){var h=b.parse(i);if(h){var g=h.red+h.green+h.blue;if(g<380){return true}}return false}});eCarList.namespace("eCarList.Util.Logger",function(a,b){a.FirebugConsole={debug:function(){},info:function(){},warn:function(){},error:function(){}};b(document).ready(function(){if(window&&window.console&&window.console.firebug){a.FirebugConsole.debug=window.console.debug;a.FirebugConsole.info=window.console.info;a.FirebugConsole.warn=window.console.warn;a.FirebugConsole.error=window.console.error;eCarList.attach_logger(a.FirebugConsole)}})});eCarList.namespace("eCarList.Util.Logger",function(a,b){a.WebKitConsole={debug:function(c){if(a.WebKitConsole._available){console.debug(c)}},info:function(c){if(a.WebKitConsole._available){console.info(c)}},warn:function(c){if(a.WebKitConsole._available){console.warn(c)}},error:function(c){if(a.WebKitConsole._available){console.errr(c)}}};b(document).ready(function(){if(window&&window.console&&b.browser.webkit){a.WebKitConsole._available=true;eCarList.attach_logger(a.WebKitConsole)}})});eCarList.App.SmartChat.load=function(b,a,d){var c=new eCarList.App.SmartChat.Visitor.VisitorConsole({dealer_eid:b,dealer_id:a,page_config:d});return c};eCarList.App.SmartChat.load_popout=function(b){b=(b&&typeof b==="object")?b:{};b.popout=true;if(typeof b.offer_delay!=="number"){b.offer_delay=5000}var a=new eCarList.App.SmartChat.Visitor.VisitorConsole({dealer_eid:"none",dealer_id:"none",page_config:b});return a};eCarList.namespace("eCarList.App.SmartChat.Visitor",function(u,i){var e=eCarList.App.SmartChat.Visitor.OfferWindow,q=eCarList.App.SmartChat.Session,f=eCarList.App.SmartChat.Show,g=eCarList.App.SmartChat,a=eCarList.App.SmartChat.Visitor.VisitorChatWindow,d=eCarList.App.SmartChat.Visitor.VisitorSession,b=eCarList.App.SmartChat.Visitor.VisitorTheme,j=eCarList.App.SmartChat.Window;u.VisitorConsole=eCarList.App.SmartChat.ConsoleBase.extend({POPUP_URL:"http://www.ecarlist.com/web/2005/smartchat_popup",Attribute:{dealer_eid:{required:true},dealer_id:{required:true}},prototype:{init:function(v){this._super(v);this._id="lol_vc_20100207";this._init_date=new Date();this._session=new d({dealer_eid:this._get("dealer_eid"),dealer_id:this._get("dealer_id"),domain:(this._get("page_config")||{}).domain||window.location.hostname})},_get_popup_attributes:function(){return i.extend(this._super(),{width:"400",height:"400"})},dispose:function(){this._super();this._session.dispose()},load:function(w,y){var z=this._get("page_config")||{};if(z&&z.style){var x=new b();x.apply(z.style)}if(this._super(w,y)){if(this.is_popout()&&!this._session.in_state(d.State.OFFERED)){this._session.change_state(d.State.IDLE)}if(this._session.in_state(d.State.IDLE,d.State.OFFERED)){if(this.is_popup()){this._session.prepare_chat(z.teams)}else{this._session.disconnect();this._session.offer_chat(z.teams,z.offer_delay)}}this._session.with_presence(function(){this.update_location()});var v=this;i(w).bind("blur",function(A){l.call(v,A,false)});i(w).bind("focus",function(A){l.call(v,A,true)});n.call(this);return true}return false},_suspend:function(v){if(this._session.state===d.State.IDLE){m.call(this)}else{if(this._session.state===d.State.UNAVAILABLE){if(this._session.validate_lead()){m.call(this)}}}this._super(v);this._session.suspend()},_resume:function(){this._super();this._session.resume()},_exit:function(v){if(!this._session.in_state(d.State.IDLE,d.State.OFFERED)){this._session.disconnect();this._session.change_state(d.State.IDLE)}this._super(v)},_render:function(){this._super();this.bind_to(this._session,q.Event.MESSAGE_ADD,p);this.bind_to(this._session,d.Event.STATE_CHANGE,t)}}}).dont_save(/^_/).save_as_session("_session").save_as("_offer_window",function(w,v,x){if(x){w._offer_window=(x.get_minimized())?"min":"max"}}).restore_as("_offer_window",function(w,v,x){r.call(this,x==="min",false)}).save_as("_chat_window",function(x,v,w){if(w){x._chat_window=(w.get_minimized())?"min":"max"}}).restore_as("_chat_window",function(x,v,w){o.call(this,w==="min")});var n=function(){var v=this;i("button.smartchat").text("Need Help?").show().click(function(w){c.call(v,w)});i(".smartchat_button").click(function(w){c.call(v,w);return false})};var r=function(w,v){if(this._chat_window){this._chat_window.close()}if(!this._offer_window){this._offer_window=this._render_child(this._root,new e({session:this._session,minimized:w,visible:false}));this.bind_to(this._offer_window,j.Event.CLOSE,k)}this._offer_window.show(v);return this._offer_window};var o=function(v){if(this._offer_window){this._offer_window.close()}var w=this._get("page_config")||{};if(w.popout){this.popout();return null}else{if(!this._chat_window){this._chat_window=this._render_child(this._root,new a({session:this._session,with_jid:this._session.private_jid,closeable:!this.is_popup(),minimizable:!this.is_popup(),minimized:v||false,popable:false,base_href:(this.is_popup())?"http://"+this._get("dealer_id")+".ecarlist.com":null}));this.bind_to(this._chat_window,j.Event.CLOSE,h);this.bind_to(this._chat_window,j.Event.DEBUG,s)}}if(!v){this._chat_window.maximize()}if(this.is_popup()){window.focus()}return this._chat_window};var m=function(){if(this._offer_window){this._offer_window.close()}if(this._chat_window){this._chat_window.close()}};var s=function(v){this.report_bug()};var l=function(x,w){var v=(w)?f.NONE:f.AWAY;if(this._session.available&&this._session.presence.show!==v){this._session.update_presence(v)}};var c=function(v){if(this._popup_window){this._popup_window.focus()}else{if(this._session.in_state(d.State.IDLE,d.State.OFFERED)){this._session.prepare_chat()}else{o.call(this)}}};var t=function(v,w){switch(w){case d.State.OFFERED:r.call(this,false,true);break;case d.State.PREPARING:case d.State.CONNECTING:case d.State.REQUESTING:case d.State.ACTIVE:o.call(this);break}};var k=function(w,v){this._dispose_child(this._offer_window);this._offer_window=null};var h=function(w,v){this._dispose_child(this._chat_window);this._chat_window=null;r.call(this).minimize()};var p=function(w,v){if(this._session.state===d.State.ACTIVE&&this._init_date.getTime()<v.date.getTime()){o.call(this)}}});
