var hbl_hostname="hab.la/rpc";var hbl_static_hostname="static.hab.la/js";var hbl={util:{},pipelines:{},themes:{},hwindow_util:{},plugins:{},hwindow:{config:function(){this.vars={};this.palette={};this.style_id={};this.style={};this.style_classes={};this.style_classes_map={}}},jsoncallback_norv:function(){}};hbl.util.eventmanager=function(){this.registered_events={};this.register=function(C,B,A){if(this.registered_events[C]==undefined){this.registered_events[C]=new Array()}if(A==undefined){A=999}this.registered_events[C].push({handler:B,priority:A});this.registered_events[C]=this.registered_events[C].sort(function(E,D){return(E.priority-D.priority)})};this.handle=function(E,A){if(this.registered_events[E]==undefined){return }if(A==undefined){A={}}A.window=this.win;A.event_name=E;hbl.util.debug("handling:"+E);var B="";for(var D in A){B+=D+"="+A[D]+"|"}hbl.util.debug("args"+B);for(var C in this.registered_events[E]){if(this.registered_events[E][C]&&typeof (this.registered_events[E][C]["handler"])=="function"){this.registered_events[E][C]["handler"](A)}}};this.unregister_all=function(A){this.registered_events[A]=[]};this.setWindow=function(A){this.win=A}};var hblrpcTrick=1;var hblDEBUG=0;var hblnoconsole=1;var hblHideUnsupported=1;var hblJavaScriptVersion="0.5j";var hblBegincall="begin_2";hbl.eventmgr=new hbl.util.eventmanager();habla_window=undefined;hbl.hconfig=function(){this.vars={poll:false,input_width_offset_normal:16,input_width_offset_ie:8,theme_url:"../theme.js"};this.palette={};this.style={};this.plugins=new hbl.util.pluginlist();this.style_id={};this.style_classes={};this.style_classes_map={};this.merge=function(B,A){this.copy_hash(this.vars,B.vars,A);this.copy_hash(this.style,B.style,A);this.copy_hash(this.palette,B.palette,A);this.copy_hash(this.style_id,B.style_id,A);this.copy_hash(this.style_classes,B.style_classes,A);this.copy_hash(this.style_classes_map,B.style_classes_map,A);if(B.plugins&&B.plugins.todo){for(i in B.plugins.todo){this.plugins.add(B.plugins.todo.handler,B.plugins.todo.priority)}}};this.copy_hash=function(C,A,B){if(!A){return }for(i in A){if(B||C[i]==undefined){C[i]=A[i]}}};this.up=function(A){this.merge(A,true)}};hbl.hconfig.prototype.setMargin=function(A){this.setMargins(A,A,A,A)};hbl.hconfig.prototype.setMargins=function(D,C,B,A){this.vars.bottom_margin=A;this.vars.right_margin=B;this.vars.left_margin=D;this.vars.top_margin=C;this.vars.bottom_margin_px=A+"px";this.vars.right_margin_px=B+"px";this.vars.left_margin_px=D+"px";this.vars.top_margin_px=C+"px"};hbl.hconfig.prototype.setPosition=function(A){this.vars.corner_position=A;if(A=="BR"||A=="BottomRight"){this.vars.xcorner="right";this.vars.ycorner="bottom";this.style_classes.habla_window_div_position_floating='position: $vars["position"]; bottom: $vars["bottom_margin_px"]; right: $vars["right_margin_px"];';this.style_classes.habla_window_div_position_floating_ie='position: $vars["position_ie6"]; bottom: $vars["bottom_margin_px"]; right: $vars["right_margin_px"];'}else{if(A=="BL"||A=="BottomLeft"){this.vars.xcorner="left";this.vars.ycorner="bottom";this.style_classes.habla_window_div_position_floating='position: $vars["position"]; bottom: $vars["bottom_margin_px"]; left: $vars["left_margin_px"];';this.style_classes.habla_window_div_position_floating_ie='position: $vars["position_ie6"]; bottom: $vars["bottom_margin_px"]; left: $vars["left_margin_px"];'}else{if(A=="TR"||A=="TopRight"){this.vars.xcorner="right";this.vars.ycorner="top";this.style_classes.habla_window_div_position_floating='position: $vars["position"]; top: $vars["top_margin_px"]; right: $vars["right_margin_px"];';this.style_classes.habla_window_div_position_floating_ie='position: $vars["position_ie6"]; top: $vars["top_margin_px"]; right: $vars["right_margin_px"];'}else{if(A=="TL"||A=="TopLeft"){this.vars.xcorner="left";this.vars.ycorner="top";this.style_classes.habla_window_div_position_floating='position: $vars["position"]; top: $vars["top_margin_px"]; left: $vars["left_margin_px"];';this.style_classes.habla_window_div_position_floating_ie='position: $vars["position_ie6"]; top: $vars["top_margin_px"]; left: $vars["left_margin_px"];'}}}}if(hbl.util.BrowserDetect.backwards_position){this.style_classes.habla_window_div_position=this.style_classes.habla_window_div_position_floating_ie}else{this.style_classes.habla_window_div_position=this.style_classes.habla_window_div_position_floating}};hbl.hconfig.prototype.setInline=function(A){if(A){this.vars.is_inline=1;this.style_classes.habla_window_div_position=this.style_classes.habla_window_div_position_inline}else{this.vars.is_inline=0;if(hbl.util.BrowserDetect.backwards_position){this.style_classes.habla_window_div_position=this.style_classes.habla_window_div_position_floating_ie}else{this.style_classes.habla_window_div_position=this.style_classes.habla_window_div_position_floating}}};hbl.hconfig.prototype.setHeight=function(A){this.vars.convo_height=A;this.vars.convo_height_px=A+"px"};hbl.hconfig.prototype.setWidth=function(A){this.vars.width=A;this.vars.width_px=A+"px";if(hbl.util.BrowserDetect.backwards_dimension||hbl.util.BrowserDetect.browser=="Explorer"){hbl.util.debug("212/24");this.vars.input_width_px=(this.vars.width-this.vars.input_width_offset_ie)+"px";this.vars.input_height_px="24px"}else{hbl.util.debug("202/18");this.vars.input_width_px=(this.vars.width-this.vars.input_width_offset_normal)+"px";this.vars.input_height_px="24px"}};hbl.hconfig.prototype.render_all_styles=function(A){var B;for(B in this.style_classes_map){this.render_element_classes(A,B)}for(B in this.style_id){this.render_element_id(A,B)}};hbl.hconfig.prototype.render_element_classes=function(B,C){var A;if(this.style_classes_map[C]){for(A in this.style_classes_map[C]){this.render_class(B[C],this.style_classes_map[C][A])}}};hbl.hconfig.prototype.render_element_id=function(A,B){this.render_style(A[B],this.style_id[B])};hbl.hconfig.prototype.render_element=function(A,B){this.render_element_classes(A,B);this.render_element_id(A,B)};hbl.hconfig.prototype.render_class=function(B,A){this.render_style(B,this.style_classes[A])};hbl.hconfig.prototype.render_part=function(part){var buffer="";if(part==undefined){return""}part=part+"";for(var i=0;i<part.length;i++){if(part.substr(i,1)=="$"){var done=0;var to_check="";var j;for(j=i+1;((j<part.length)&&!done);j++){if(part.substr(j,1)!=" "&&part.substr(j,1)!="$"&&part.substr(j,1)!="]"){to_check+=part.substr(j,1)}else{if(part.substr(j,1)=="]"){done=1;to_check+=part.substr(j,1);i=j}else{done=1;i=j-1}}}if(j==part.length){i=part.length}try{buffer+=this.render_part(eval("this."+to_check))}catch(e){debug("Error rendering:"+to_check+" "+e.name+" "+e.message)}}else{buffer+=part.substr(i,1)}}return buffer};hbl.hconfig.prototype.render_js_class_style=function(E,C,B){var D=hbl.util.getElementsByClass(E,C);for(var A=0;A<D.length;A++){this.render_style(D[A],this.style_classes[B]);hbl.util.debug("rendered style"+this.style_classes[B])}};hbl.hconfig.prototype.render_js_style=function(B,A){hbl.util.debug("render"+B);return hbl.util.css.set_css(B,this.render_part(this.style[A]))};hbl.hconfig.prototype.render_style=function(B,A){hbl.util.debug("render style"+B);return hbl.util.css.set_css(B,this.render_part(A))};hbl.hconfig.prototype.style_to_css=function(A,G,D){var B="";B=A+"{\n";var F=G.split(";");for(var E in F){if(F[E].length>1){var C=F[E].match(/\$[^\]]+\]/);if(C){if(D){F[E]=this.render_part(F[E])}F[E]=F[E]+";\t /* "+C+" */"}else{F[E]+=";"}B+="\t"+hbl.util.clean_whitespace(F[E])+"\n"}}B+="}\n";return B};hbl.hconfig.prototype.render_ie_hacks=function(){if((hbl.util.BrowserDetect.backwards_position&&!this.vars.is_inline)||this.vars.yahoo_ui){this.monitor=new this.floatMonitor(habla_window);this.monitor.start(1)}};hbl.hconfig.prototype.floatMonitor=function(A){this.hwindow=A;this.start=function(B){if(this.monitor_loop){clearTimeout(this.monitor_loop)}this.monitor_loop=setTimeout(function(){hbl.config.monitor.check_status(B)},500)};this.stop=function(){if(this.monitor_loop){}clearTimeout(this.monitor_loop)};this.check_status=function(B){if(!this.moving){this.moveTo(false,B)}if(this.monitor_loop){clearTimeout(this.monitor_loop)}this.monitor_loop=setTimeout(function(){hbl.config.monitor.check_status()},300)};this.moveTo=function(E,D){if(!this.moving||D){this.moving=true;this.stop();E=true;this.to=this.hwindow.config.get_ie_position(this.hwindow)}if(!E&&!D){return }var G=this.to;var F={x:this.hwindow.theme.getX(),y:this.hwindow.theme.getY()};var C=G.x-F.x;var B=G.y-F.y;hbl.util.debug("diffx: "+C);hbl.util.debug("diffy: "+B);hbl.util.debug("old: "+F.x+" "+F.y);hbl.util.debug("new: "+G.x+" "+G.y);if((Math.abs(C)>5||Math.abs(B)>5)&&!D){this.hwindow.theme.setXY(G.x-C*0.5,G.y-B*0.5);hbl.util.debug("moving slowly");setTimeout(function(){hbl.config.monitor.moveTo(1)},40)}else{hbl.util.debug("moving quick");hbl.util.debug(C);hbl.util.debug(B);this.hwindow.theme.setXY(G.x,G.y);this.moving=false;this.start()}}};hbl.hconfig.prototype.get_ie_position=function(A){var C=0;var B=0;if(this.vars.xcorner=="right"){C=-this.vars.right_margin-A.theme.habla_window_div.offsetWidth+(document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.clientWidth)+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft)}else{C=this.vars.left_margin+(document.documentElement.scrollRight?document.documentElement.scrollRight:document.body.scrollRight)}if(this.vars.ycorner=="bottom"){B=-this.vars.bottom_margin-A.theme.habla_window_div.offsetHeight+(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight)+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)}else{B=this.vars.top_margin+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)}if(!B){B=this.vars.top_margin}if(!C){C=this.vars.top_margin}hbl.util.debug("right:"+this.vars.right_margin);hbl.util.debug("offset:"+A.offsetWidth);hbl.util.debug("width1:"+document.documentElement.clientWidth);hbl.util.debug("scroll1:"+document.documentElement.scrollLeft);hbl.util.debug("scroll:"+document.body.scrollLeft);hbl.util.debug("width:"+document.body.clientWidth);hbl.util.debug("newx:"+C);hbl.util.debug("newy:"+B);return({x:C,y:B})};hbl.hconfig.prototype.remap_palette=function(){var B={mainbg:"main_bg",mainfg:"main_fg",titlebg:"title_bg",titlefg:"title_fg",buttonbg:"button_bg",buttonfg:"button_fg",buttonhi:"button_bg_highlight",titlebg_highlight:"title_bg_highlight",titlefg_highlight:"title_fg_highlight"};for(var A in B){if(this.palette[A]){this.palette[B[A]]=this.palette[A]}}if(this.palette.buttonfg){this.palette.button_fg_highlight=this.palette.buttonfg}};hbl.hconfig.prototype.init_from_config=function(){this.setWidth(this.vars.width);this.setHeight(this.vars.height);if(!this.vars.is_inline){this.setPosition(this.vars.corner_position)}else{this.setInline(this.vars.is_inline)}if(hbl.util.BrowserDetect.browser=="Opera"){this.vars.poll=true}};hbl.hconfig.prototype.load_defaults=function(){this.plugins=new hbl.util.pluginlist();this.palette=new Array();this.palette.main_bg="#ffffff";this.palette.main_fg="#000000";this.palette.title_bg="#333333";this.palette.title_fg="#ffffff";this.palette.title_fg_hover="#ffffff";this.palette.button_bg="#333333";this.palette.button_fg="#ffffff";this.palette.button_fg_highlight="#ffffff";this.palette.button_bg_highlight="#666666";this.palette.button_fg_hover="#ffffff";this.palette.button_bg_hover="#666666";this.palette.control="#cccccc";this.palette.control_hightlight="#909090";this.palette.link="#e75917";this.palette.link_highlight="#ff0000";this.palette.local="#ff0000";this.palette.remote="#0000ff";this.palette.title_bg_highlight="red";this.palette.title_fg_highlight="#00ffff";this.vars=new Array();this.vars.bottom_margin=10;this.vars.right_margin=10;this.vars.left_margin=10;this.vars.top_margin=10;this.vars.bottom_margin_px="10px";this.vars.right_margin_px="10px";this.vars.left_margin_px="10px";this.vars.top_margin_px="10px";this.vars.myname="you";this.vars.corner_position="BR";this.vars.position="fixed";this.vars.position_ie6="absolute";this.vars.width=250;this.vars.width_px="250px";this.vars.input_width_offset_normal=16;this.vars.input_width_offset_ie=8;this.vars.say_text="Type here and hit <enter> to chat";this.vars.input_box_size="40";this.vars.check_for_status="Hab.la Chat (startup)";this.vars.resize_length=25;this.vars.resize_input_height=60;this.vars.disable_expand_text_input=false;this.vars.disable_set_cookies=false;this.vars.local_user_display_name="&gt;";this.vars.disableGoogleAnalytics=0;this.vars.expandOnMessageReceived=0;this.vars.language="en";this.vars.enableLanguageTranslation=false;this.vars.expandOnFirstMessageReceived=1;this.vars.plugin_path="http://static.hab.la/js/plugins/";this.vars.divid="habla_window_div";this.vars.poll=false;if(hbl.util.BrowserDetect.browser=="Opera"){this.vars.poll=true}this.vars.xcorner="right";this.vars.ycorner="bottom";hbl.util.debug("bd is "+hbl.util.BrowserDetect.backwards_dimension);this.setWidth(this.vars.width);this.vars.convo_height_px="155px";this.vars.convo_height=155;this.vars.height=155;this.vars.panel_offset=20;this.vars.in_chat_text="now chatting";this.vars.before_chat_text="click here to chat";this.vars.not_available_text="not available";this.vars.busy_text="busy";this.vars.away_text="Away";this.vars.offline_message="<em>No one is available for chat right now.&nbsp; Please try again later.</em>";this.vars.welcome_msg="";this.vars.busy_message="<em>No one is available for chat right now.&nbsp; Please try again later.</em>";this.vars.enable_buttons=1;this.vars.hide_min_max_buttons=0;this.vars.local_name_override=undefined;this.vars.url_handler_target_window="_top";this.vars.url_handler="http://static.hab.la/js/html/url_handler.html";this.vars.url_local_pattern=document.domain;this.vars.parse_links=1;this.vars.is_inline=0;this.vars.start_expanded=0;this.vars.start_hidden=0;this.vars.hide_not_available=0;this.vars.append_to_body=1;this.vars.show_away=0;this.vars.hide_when_away=0;this.vars.show_away_as_header=0;this.vars.habla_special_div_show_type="block";this.vars.flash_icons=1;this.vars.default_flash_off_icon="http://static.hab.la/js/images/white.ico";this.vars.default_flash_on_icon="http://static.hab.la/js/images/orange.ico";this.style_classes_map={};this.style_id={};this.style_classes={};this.style=new Array();this.style.habla_link_a='font-family: verdana, sans-serif; text-transform: uppercase; font-size: 9px; letter-spacing: 2px; font-weight: bold; color: $palette["link"]'};hbl.util.pluginlist=function(){this.todo=new Array();this.defined={};this.add=function(B,A){if(A==undefined){A=999}if(B==undefined){return }if(this.defined[B.name]){return }this.defined[B.name]=1;this.todo.push({handler:B,priority:A});this.todo=this.todo.sort(function(D,C){return(D.priority-C.priority)})};this.load=function(A){var B=A;for(var C=0;C<this.todo.length;C++){hbl.util.debug("plugin list running");if(this.todo[C]&&this.todo[C]["handler"]&&typeof (this.todo[C]["handler"]["load"])=="function"&&this.defined[this.todo[C]["handler"].name]==1){hbl.util.debug("pluginlist loaded"+this.todo[C]["handler"].load.toString());this.todo[C]["handler"].load(A);this.defined[this.todo[C]["handler"].name]=2}}return B}};hbl.util.debug=function(A){if(hblDEBUG==undefined||!hblDEBUG){return }if(document.getElementById("hbl_debug")){d=document.getElementById("hbl_debug");d.innerHTML=A+"<br />"+d.innerHTML}else{if(window.console){window.console.log(A)}else{if(!hblnoconsole&&console!=undefined&&console.log){console.log(A)}else{alert(A)}}}};hbl.util.get_body=function(){var C=document.getElementsByTagName("html");var B=null;if(C.length<1){B=document.createElement("html");document.appendChild(B)}else{B=C[0]}C=document.getElementsByTagName("body");var A=null;if(C.length>0){A=document.getElementsByTagName("body").item(0)}else{A=document.createElement("body");B.appendChild(A)}return A};hbl.util.simple_load_js_async=function(A){html_doc=hbl.util.get_body();var B=document.createElement("script");B.setAttribute("language","javascript");B.setAttribute("type","text/javascript");B.setAttribute("src",A);hbl.util.debug("docall: hitting "+A);html_doc.appendChild(B)};hbl.util.last_js_id=0;hbl.util.pipeline=function(A){this.todo=new Array();this.host_obj=A;this.add=function(C,B){if(B==undefined){B=999}this.todo.push({handler:C,priority:B});this.todo=this.todo.sort(function(E,D){return(E.priority-D.priority)})};this.run=function(B){var C=B;for(var D=0;D<this.todo.length;D++){if(this.todo[D]&&typeof (this.todo[D]["handler"])=="function"){hbl.util.debug("pipeline"+this.todo[D]["handler"].toString());C=this.todo[D]["handler"](B,this.host_obj);if(C==undefined){return undefined}B=C}}return C};this.setTarget=function(B){this.host_obj=B}};hbl.util.pluginloader=function(C,A,B){HABLA_PLUGIN_ARGS={conf:C,client:A,hwindow:B};C.plugins.load({conf:C,client:A,hwindow:B})};hbl.util.timestamp=function(){var A=new Date();return A.toUTCString()};hbl.util.reportException=function(A){};hbl.util.set_cookie=function(E,F,D,B){var G=new Date();if(D==undefined){D=24*60*60*1000}G.setTime(G.getTime()+D);var C=G.toGMTString();var F=escape(F);var A=E+"="+F+"; expires="+C+"; path=/";if(B!=undefined){A+=B}document.cookie=A};hbl.util.get_cookie=function(B){var D=B+"=";var A=document.cookie.split(";");for(var C=0;C<A.length;C++){var E=A[C];while(E.charAt(0)==" "){E=E.substring(1,E.length)}if(E.indexOf(D)==0){return E.substring(D.length,E.length)}}return null};hbl.util.load_js_async=function(A){hbl.util.last_js_id+=1;var C="jscript"+hbl.util.last_js_id;if(A.indexOf("?")>-1){A+="&"+C}else{A+="?"+C}html_doc=hbl.util.get_body();var B=document.createElement("script");B.setAttribute("language","javascript");B.setAttribute("id",C);B.setAttribute("type","text/javascript");B.setAttribute("src",A);hbl.util.debug("docall: hitting "+A);html_doc.appendChild(B)};hbl.util.remove_element=function(A){var B=document.getElementById(A);if(B!=undefined&&B.parentNode!=undefined){B.parentNode.removeChild(B)}};hbl.util.as_dom=function(B){var A;if(typeof (B)=="object"){return B}A=document.createElement("span");A.innerHTML=B;return A};hbl.util.find_or_create_el=function(A,C,D){var B=document.getElementById(A);if(!B||B.length<0){if(C==undefined){C="div"}B=document.createElement(C);B.setAttribute("id",A);if(D!=undefined){D.appendChild(B)}}return B};hbl.util.find_or_create_div=function(B,A){return hbl.util.find_or_create_el(B,"div",A)};hbl.util.hide_div=function(A){if(typeof (A)!="object"){A=document.getElementById(A)}if(A!=undefined){A.style.display="none";return true}return false};hbl.util.show_div=function(B,A){if(A==undefined){A="block"}if(typeof (B)!="object"){B=document.getElementById(B)}if(B!=undefined){B.style.display=A;return true}return false};hbl.util.clean_whitespace=function(A){A=A.replace(/^\s*/,"");A=A.replace(/\s*$/,"");A=A.replace("'","");return A};hbl.util.throttle_length=800;hbl.util.throttle_ts=null;hbl.util.doThrottle=function(){var B=(new Date()).getTime();var A=false;if(hbl.util.throttle_ts&&(B-hbl.util.throttle_ts)<hbl.util.throttle_length){A=true}hbl.util.throttle_ts=B;return A};hbl.util.BrowserDetect={_initialized:false,init:function(){if(this._initialized){return }this.browser=this.searchString(this.dataBrowser,1)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS";this.backwards_position=false;this.backwards_dimension=false;if(document.compatMode=="BackCompat"){this.backwards_dimension=true}hbl.util.debug(document.compatMode+" "+this.backwards_dimension);if(this.browser=="Explorer"){this.backwards_position=true;if((this.version>=7||(document.body&&typeof document.body.style.maxHeight!="undefined"))&&document.compatMode!="BackCompat"){hbl.util.debug("IE7 compat mode");this.backwards_position=false}}this._initialized=true},searchString:function(E,A){for(var B=0;B<E.length;B++){var C=E[B].string;var D=E[B].prop;this.versionSearchString=E[B].versionSearch||E[B].identity;if(C){if(C.indexOf(E[B].subString)!=-1){if(A!=undefined){this.supported=E[B].supported}return E[B].identity}}else{if(D){if(E[B].identity){this.supported=E[B].supported}return E[B].identity}}}},searchVersion:function(B){var A=B.indexOf(this.versionSearchString);if(A==-1){return }return parseFloat(B.substring(A+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari",supported:"1"},{prop:window.opera,identity:"Opera",supported:"1"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox",supported:"1"},{string:navigator.vendor,subString:"Camino",identity:"Camino",supported:"1"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape",supported:"1"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE",supported:"1"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv",supported:"1"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla",supported:"1"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};hbl.util.decode_base64=function(input,eval_it){var output="";if(window.atob){output=window.atob(input)}else{var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2)}if(enc4!=64){output=output+String.fromCharCode(chr3)}}while(i<input.length)}if(eval_it){var output1;eval("output1 = "+output);return output1}return output};hbl.util.css={set_css:function(objj,css){hbl.util.debug("setting:  "+objj+" "+css);if(!objj){hbl.util.debug("No object to render");return false}var parts=css.split(";");for(var i=0;i<parts.length;i++){namval=parts[i].split(":");if(namval.length>2){var t=namval.shift();var v=namval.join(":");namval=[t,v]}try{if(namval.length==2){name=hbl.util.css.map_css_to_js(namval[0]);if(name.indexOf("|")>0){names=name.split("|");for(var j=0;j<names.length;j++){eval("objj.style."+names[j]+"= '"+hbl.util.clean_whitespace(namval[1])+"'")}}else{hbl.util.debug("objj.style."+name+"= '"+hbl.util.clean_whitespace(namval[1])+"'");eval("objj.style."+name+"= '"+hbl.util.clean_whitespace(namval[1])+"'")}}}catch(e){hbl.util.debug("objj.style."+hbl.util.css.map_css_to_js(namval[0])+"= '"+hbl.util.clean_whitespace(namval[1])+"'");hbl.util.debug("error css Rendering:"+e.message)}}},css_to_js:{"float":"cssFloat|styleFloat"},map_css_to_js:function(A){A=hbl.util.clean_whitespace(A);if(hbl.util.css.css_to_js[A]&&hbl.util.css.css_to_js[A].length>0){return hbl.util.css.css_to_js[A]}var C=A.split("-");A="";for(var B=0;B<C.length;B++){tn=C[B].toLowerCase();if(B>0){tn=tn.substr(0,1).toUpperCase()+tn.slice(1)}A+=tn}return A}};hbl.util.getElementsByClass=function(F,G){if(!F){F=document.getElementsByTagName("body")[0]}var A=[];var E=new RegExp("\\b"+G+"\\b");var D=F.getElementsByTagName("*");for(var C=0,B=D.length;C<B;C++){if(E.test(D[C].className)){A.push(D[C])}hbl.util.debug("Got "+D[C].className)}return A};hbl.client={incoming_pipeline:new hbl.util.pipeline(),pollingmanager:{LAG_CONSTANT:25*1000,GET_MESSAGES_TIMEOUT:55*1000,ACTIVE_CHAT:70*1000,RECENTLY_ACTIVE_CHAT:120*1000,FIRST_POLL_TIME:0.8*1000,RECENTLY_ACTIVE_CHAT_TIMEOUT:25*1000,IGNORE_LAG_TIME:10*1000,MAX_POLL_TIME:120*60*1000,check_failed_polling_rate:20*1000,THROTTLE_THRESHOLD_MESSAGE:5*60*1000,LAST_ACTION_THROTTLE_THRESHOLD:1*1000,LAST_ACTION_THROTTLE_MIN:2*1000,last_poll_start_time:0,last_poll_end_time:0,first_poll_time:0,last_action_time:0,last_sent_message_time:0,next_poll_time:0,current_poll_rate:0,check_for_failed_timer:false,last_poll_timer:false,event_driven:false,expected_finish:0,rate_array:false,build_rates:function(){if(hbl.client.pollingmanager.rate_array!=false){return }hbl.client.pollingmanager.rate_array=[{last_action:0,time_on_page:4*60*1000,timeout:45*1000,opavailable:false},{last_action:0,time_on_page:2*60*60*1000,timeout:25*60*1000,opavailable:false},{polling:false,last_action:70*1000,time_on_page:0,timeout:0,opavailable:true},{polling:true,last_action:5*1000,time_on_page:0,timeout:600,opavailable:true},{polling:true,last_action:15*1000,time_on_page:0,timeout:800,opavailable:true},{polling:true,last_action:30*1000,time_on_page:0,timeout:1500,opavailable:true},{polling:true,last_action:60*1000,time_on_page:0,timeout:3*1000,opavailable:true},{polling:true,last_action:90*1000,time_on_page:0,timeout:10*1000,opavailable:true},{last_action:0,time_on_page:2*60*1000,timeout:20*1000,opavailable:true},{last_action:0,time_on_page:5*60*1000,timeout:25*1000,opavailable:true},{last_action:0,time_on_page:15*60*1000,timeout:30*1000,opavailable:true},{last_action:0,time_on_page:45*60*1000,timeout:45*1000,opavailable:true},{last_action:0,time_on_page:2*60*60*1000,timeout:2*60*1000,opavailable:true},{last_action:0,time_on_page:8*60*60*1000,timeout:15*60*1000,opavailable:true},{last_action:0,time_on_page:24*60*60*1000,timeout:30*60*1000,opavailable:true}]},get_rate:function(C,H,B,G){var A=new Date();var F=-1;if(hbl.client.pollingmanager.first_poll_time==0&&hbl.client.pollingmanager.rate_array==false){hbl.client.pollingmanager.build_rates();return hbl.client.pollingmanager.FIRST_POLL_TIME}if(B){return hbl.client.pollingmanager.MAX_POLL_TIME}var I=A.getTime()-hbl.client.pollingmanager.first_poll_time;var E=A.getTime()-hbl.client.pollingmanager.last_action_time;if(E<hbl.client.pollingmanager.LAST_ACTION_THROTTLE_THRESHOLD&&A.getTime()-hbl.client.pollingmanager.last_sent_message_time>hbl.client.pollingmanager.THROTTLE_THRESHOLD_MESSAGE){E=hbl.client.pollingmanager.LAST_ACTION_THROTTLE_MIN}hbl.util.debug(" time on page: "+I);hbl.util.debug(" last_action: "+E);var D=hbl.client.pollingmanager.rate_array;for(i in D){hbl.util.debug("RUNNING HERE");hbl.util.debug(D[i]);if((D[i]["polling"]==G||D[i]["polling"]==undefined)&&D[i]["opavailable"]==C&&(D[i]["passive_mode"]==undefined||D[i]["passive_mode"]==B)&&(D[i]["time_on_page"]>I||D[i]["last_action"]>E)){return D[i]["timeout"]}}return hbl.client.pollingmanager.MAX_POLL_TIME},start_next_poll:function(C,D,G,E,F){if(hbl.client.pollingmanager.check_for_failed_timer==false){hbl.client.pollingmanager.check_for_failed_timer=setTimeout("hbl.client.pollingmanager.check_failed_polling()",hbl.client.pollingmanager.check_failed_polling_rate)}var B=hbl.client.pollingmanager.get_rate(C,D,E,G);hbl.util.debug("Opavailable : "+C+" busy:"+D+" -- "+G);hbl.util.debug("CURRENT RATE IS: "+B);hbl.util.debug("PASSIVE: "+E);hbl.client.pollingmanager.current_poll_rate=B;var A=new Date();if(hbl.client.pollingmanager.next_poll_time>A.getTime()&&hbl.client.pollingmanager.next_poll_time<A.getTime()+B){}else{if(hbl.client.pollingmanager.last_poll_timer!=false){window.clearTimeout(hbl.client.pollingmanager.last_poll_timer)}hbl.client.pollingmanager.next_poll_time=A.getTime()+B;if(B==0){hbl.client.pollingmanager.expected_finish=hbl.client.pollingmanager.GET_MESSAGES_TIMEOUT+A.getTime()}else{hbl.client.pollingmanager.expected_finish=hbl.client.pollingmanager.next_poll_time+hbl.client.pollingmanager.LAG_CONSTANT}hbl.client.pollingmanager.last_poll_timer=window.setTimeout("hbl.client.pollingmanager.pollfunc("+(F==true?"true":"")+")",B)}},pollfunc:function(A){var B=new Date();hbl.client.pollingmanager.last_poll_start_time=B.getTime();if(hbl.client.pollingmanager.first_poll_time==0){hbl.client.pollingmanager.first_poll_time=B.getTime()}hbl.client.get_messages(A)},finished_last_poll:function(){var A=new Date();hbl.client.pollingmanager.last_poll_end_time=A.getTime()},saction:function(){var A=new Date();hbl.client.pollingmanager.last_sent_message_time=A.getTime()},raction:function(){var A=new Date();hbl.client.pollingmanager.last_action_time=A.getTime()},set_expected_finish:function(B){var A=new Date();hbl.client.pollingmanager.expected_finish=B+A.getTime()},check_failed_polling:function(){var A=new Date();if(hbl.client.pollingmanager.last_poll_start_time>hbl.client.pollingmanager.last_poll_end_time&&A.getTime()>hbl.client.pollingmanager.expected_finish&&hbl.client.pollingmanager.current_poll_rate>hbl.client.pollingmanager.IGNORE_LAG_TIME){window.clearTimeout(hbl.client.pollingmanager.last_poll_timer);hbl.client.jsoncallback({},null);if(hbl.client.last_getmessages.getTime()-A<0){hbl.client.get_messages()}}hbl.client.pollingmanager.check_for_failed_timer=setTimeout("hbl.client.pollingmanager.check_failed_polling()",hbl.client.pollingmanager.check_failed_polling_rate)}},callbacks:{begin:function(A){hbl.client.jsoncallback(A,hbl.client.begin_call_back)},sendmessage:function(A){hbl.client.msg_callback(A)},getmessages:function(A){hbl.client.pollingmanager.finished_last_poll();hbl.client.jsoncallback(A,hbl.client.callbacks.pollmessages1)},pollmessages:function(A){hbl.client.pollingmanager.finished_last_poll();hbl.client.jsoncallback(A,hbl.client.callbacks.pollmessages1)},pollmessages1:function(A){try{if(A.opavailable!=hbl.client.opavailable||hbl.client.opmessage!=A.opmessage||hbl.client.opstatus!=A.opstatus||hbl.client.opbusy!=A.opbusy){hbl.client.opavailable=A.opavailable;hbl.client.opmessage=A.opmessage;hbl.client.opstatus=A.opstatus;hbl.client.opbusy=A.opbusy;hbl.client.eventmgr.handle("operator_status_change",{available:A.opavailable,status:A.opstatus,message:A.opmessage,busy:A.opbusy})}hbl.client.append1(A.buffer);hbl.client.pollingmanager.start_next_poll(A.opavailable,A.opbusy,hbl.client.config.vars.poll,(hbl.client.config.vars.start_passive&&A.passive_mode))}catch(B){throw B}},setnickname:function(A){}},siteid:"",wc_sid:"",sid:"",proxy:null,offline_timeout:55*1000,offline_timeout_default:55*1000,offline_timeout_slow:150*1000,online_timeout:20*1000,chatting_timeout:700,current_timeout:20*1000,first_timeout:800,no_chat_timeout:40*1000,last_msg_time:new Date(),check_get_message_timeout:20*1000,fast_polling:false,no_chat_timeout_slow:5*60*1000,online_poll_slow:120*1000,myname:"you",opstatus:null,opavailable:null,opmessage:null,chatting:false,buffer:new Array(),the_count:0,newlinecount:0,lastindex:0,last_getmessages:new Date(),jsondata:null,jsonthrottle_locked:false,datareadycallback:null,getmsgcallback:null,jsoncallback:function(B,C){if(B.error){}if(C!=null){hbl.util.debug(" => returned drcb to null");C(B)}hbl.client.jsonthrottle_locked=false;if(hbl.client.proxy.callq.length>0){var A=hbl.client.proxy.callq.shift();hbl.client.proxy.docall(A[0],A[1],A[2],true)}},begin_call_back:function(A){if(A!=null&&!A.error){hbl.client.sid=A.sid;hbl.client.wcsid=A.sid;hbl.client.hblid=A.hblid;hbl.client.eventmgr.handle("chat_started",{chatting:(A.chatting=="on"),box_open:(A.box_open=="on"),nick:A.nick,box_visible:(A.box_visible=="on"),opstatus:A.opstatus,opavailable:A.opavailable,opmessage:A.opmessage,opbusy:A.opbusy,config:A.config,dconfig:A.dconfig,habla_message:A.habla_message});if(A.context){hbl.client.setContents(A.context)}if(hbl.client.config&&!hbl.client.config.vars.disable_set_cookies){hbl.util.set_cookie("wcsid",hbl.client.sid)}hbl.util.set_cookie("hblid",hbl.client.hblid,24*60*60*1000*356);hbl.client.pollingmanager.start_next_poll(A.opavailable,A.opbusy,hbl.client.config.vars.poll,(hbl.client.config.vars.start_passive&&(A.chatting!="on")),true);if(A.opavailable){for(i=0;i<hbl.client.messageq.length;++i){hbl.client.proxy.sendmessage(hbl.client.sid,hbl.client.messageq[i],hbl.client.msg_callback)}}}else{if(A&&A.error){hbl.client.eventmgr.handle("habla_error",{etype:A.error})}}},start:function(E,A,B,G,C){hbl.client.siteid=B;hbl.client.wcsid=E;if(hbl.client.hblid==undefined){hbl.client.hblid=A}hbl.client.eventmgr=G;hbl.client.config=C;hbl.client.event_driven=false;hbl.client.incoming_pipeline.setTarget(this);try{if(hblrpcTrick){hbl.client.proxy=new hbl.client.jsonproxy("aync."+hbl_hostname,true);var D=parseInt(Math.random()*1000).toString()+".event.";hbl.client.proxy2=new hbl.client.jsonproxy(D+hbl_hostname)}else{hbl.client.proxy=new hbl.client.jsonproxy(hbl_hostname);hbl.client.proxy2=hbl.client.proxy}if(hbl.config&&hbl.config.vars&&!hbl.config.vars.local_mode){hbl.client.proxy.begin(hbl.client.wcsid,hbl.client.hblid,hbl.client.siteid,document.URL,document.referrer,C.vars.start_passive,C.vars.force_nickname,hbl.client.begin_call_back)}}catch(F){hbl.client.chatting=false;hbl.util.reportException(F);throw F}},get_messages:function(C){var A;hbl.util.debug("Got to get_messages");try{if(C!=undefined||hbl.client.config.vars.poll||hbl.client.pollingmanager.current_poll_rate!=0){hbl.client.proxy.pollmessages(hbl.client.sid,hbl.client.lastindex,hbl.client.callbacks.pollmessages)}else{hbl.client.proxy2.getmessages(hbl.client.sid,hbl.client.lastindex,hbl.client.callbacks.getmessages)}}catch(B){hbl.util.reportException(B);hbl.client.chatting=false;throw B;throw"getmessage failed"}return false},jsoncallback_norv:function(A){},jsonproxy:function(B,A){this.uri=B;this.callq=new Array();this.rnd=A},check_getmsg:function(){},setContents:function(A){if(!A||A.length==0){return }hbl.client.lastindex=0;for(i=0;i<A.length;++i){hbl.client.buffer[hbl.client.buffer.length]=new Array(A[i][0],A[i][1]);if(A[i][2]>hbl.client.lastindex){hbl.client.lastindex=A[i][2]}}hbl.client.newlinecount=1;hbl.client.pollingmanager.raction();hbl.client.eventmgr.handle("receive_message",{type:"start",msg:A})},append:function(A){if(!A||!(A.length>0)){return }for(i=0;i<A.length;++i){hbl.client.buffer[hbl.client.buffer.length]=new Array(A[i][0],A[i][1])}hbl.client.newlinecount+=A.length;hbl.client.pollingmanager.raction();hbl.client.pollingmanager.saction();hbl.client.pollingmanager.start_next_poll(hbl.client.opavailable,hbl.client.opbusy,hbl.client.config.vars.poll,false);hbl.client.eventmgr.handle("send_message",{type:"local_update",msg:A})},append1:function(A){if(!A||!(A.length>0)){return }var C=[];var B=0;for(i=0;i<A.length;++i){if(A[i][2]>hbl.client.lastindex){var D=hbl.client.incoming_pipeline.run(A[i]);if(D!=undefined){hbl.client.buffer[hbl.client.buffer.length]=D;hbl.client.lastindex=D[2];C.push(A[i])}if(A[i]){B+=1}}else{hbl.util.debug("GOT A DUPLICATE MESSAGE ID BACK:")}}hbl.client.newlinecount+=A.length;if(B>0){hbl.client.pollingmanager.raction()}hbl.client.eventmgr.handle("receive_message",{type:"remote_update",msg:C})},messageq:[],msg_callback:function(A){hbl.util.debug("Send message got:"+A);if(A.error=="no_site_id"){hbl.util.debug("Got an error");hbl.client.proxy.begin(hbl.client.wcsid,hbl.client.hblid,hbl.client.siteid,document.URL,document.referrer,hbl.client.config.vars.start_passive,hbl.client.config.vars.force_nickname,hbl.client.begin_call_back,false)}else{if(A.error=="operator_is_busy"){hbl.client.eventmgr.handle("habla_error",{etype:"operator_is_busy"})}else{hbl.client.messageq.shift()}}},sendmessage:function(D){hbl.util.debug("chatclient.send "+D);var B;try{hbl.client.messageq.push(D);var A=new Array(new Array(hbl.client.myname,D));hbl.client.append(A);hbl.client.proxy.sendmessage(hbl.client.sid,A[0][1],hbl.client.msg_callback)}catch(C){hbl.util.debug("EXCEPTION:"+C);throw C}},setnickname:function(A){hbl.util.debug("chatclient.setnickname "+A);var B;try{hbl.client.proxy.setnickname(hbl.client.sid,A)}catch(C){hbl.util.debug("EXCEPTION:"+C);throw C}},sendexpand:function(){if(!hbl.client.proxy){return }hbl.client.proxy.expandchat(hbl.client.sid)},sendcompress:function(){if(!hbl.client.proxy){return }hbl.client.proxy.compresschat(hbl.client.sid)},sendend:function(){if(!hbl.client.proxy){return }hbl.client.proxy.endchat(hbl.client.sid)},sendhide:function(){if(!hbl.client.proxy){return }hbl.client.proxy.hidechat(hbl.client.sid)},sendshow:function(){if(!hbl.client.proxy){return }hbl.client.proxy.showchat(hbl.client.sid)}};hbl.client.jsonproxy.prototype.docall=function(E,C,A,F){if(hbl&&hbl.config&&hbl.config.vars.local_mode){return }if(F){if(hbl.client.jsonthrottle_locked){if(this.callq.length<2){this.callq[this.callq.length]=new Array(E,C,A)}return }}var D="";var B="";if(this.rnd){D=parseInt(Math.random()*10).toString()+"."}D+=this.uri+"/"+E+"?";for(i=0;i<C.length;++i){if(i>0){D+="&"}B="";if(C[i]){B=encodeURI(C[i]+"").replace(/\#/g,"%23").replace(/\&/g,"%26");if(i==0){B="HBLSID="+B}D+=B}}if(F){hbl.client.jsonthrottle_locked=true}hbl.util.load_js_async("http://"+D);return null};hbl.client.jsonproxy.prototype.begin=function(A,I,H,F,C,J,E,D,G){if(G==undefined){G=true}hbl.util.debug("Throttle is: "+G);var B=hblJavaScriptVersion+"-"+Math.random().toString();if(E){return this.docall(hblBegincall,new Array(A,I,H,F,B,C,J,E),D,G)}else{return this.docall(hblBegincall,new Array(A,I,H,F,B,C,J),D,G)}};hbl.client.jsonproxy.prototype.sendmessage=function(B,D,A){var C=hblJavaScriptVersion+"-"+Math.random().toString();return this.docall("sendmessage",new Array(B,D,C),A,false)};hbl.client.jsonproxy.prototype.setnickname=function(C,B,A){return this.docall("setnickname",new Array(C,B),A,false)};hbl.client.jsonproxy.prototype.getmessages=function(C,B,A){hbl.client.the_count++;hbl.client.last_getmessages=new Date();return this.docall("getmessages",new Array(C,B.toString(),hblJavaScriptVersion+"-"+(hbl.client.the_count+Math.random()).toString()),A,true)};hbl.client.jsonproxy.prototype.pollmessages=function(C,B,A){hbl.client.the_count++;return this.docall("pollmessages",new Array(C,B.toString(),hblJavaScriptVersion+"-"+(hbl.client.the_count+Math.random()).toString()),A,true)};hbl.client.jsonproxy.prototype.expandchat=function(B,A){return this.docall("expandchat",new Array(B,hblJavaScriptVersion+"-"+Math.random().toString()),A)};hbl.client.jsonproxy.prototype.compresschat=function(B,A){return this.docall("compresschat",new Array(B,hblJavaScriptVersion+"-"+Math.random().toString()),A)};hbl.client.jsonproxy.prototype.endchat=function(B,A){return this.docall("endchat",new Array(B,hblJavaScriptVersion+"-"+Math.random().toString()),A)};hbl.client.jsonproxy.prototype.showchat=function(B,A){return this.docall("showchat",new Array(B,hblJavaScriptVersion+"-"+Math.random().toString()),A)};hbl.client.jsonproxy.prototype.hidechat=function(B,A){return this.docall("hidechat",new Array(B,hblJavaScriptVersion+"-"+Math.random().toString()),A)};hbl._hwindow=function(A,B,C){this.config=B;this.client=A;this.handlers=false;this.theme=undefined;this.eventmgr=C;this.loaded=false;this.expanded_textbox=false;this.has_typed=false;this.setTheme=function(D){if(this.theme){this.theme.remove()}this.theme=D;this.theme.build(this.config,this.client);if(!this.loaded){this.loaded=true;if(hbl.util.BrowserDetect.backwards_position){hbl.config.render_ie_hacks()}}this.check_theme_for_link_div();hbl.util.pluginloader(this.config,this.client,this)};this.check_theme_for_link_div=function(){if(!this.theme){return }if(!this.theme.habla_link_div||(this.theme.habla_link_div.style&&this.theme.habla_link_div.style.display=="none")||this.theme.habla_link_div.innerHTML.indexOf("http://hab.la")<0||!this.theme.habla_link_div.parentNode){this.theme.habla_link_div=document.createElement("div");if(this.config.vars.force_name_habla_link_div){this.theme.habla_link_div.setAttribute("id","habla_link_div")}this.theme.habla_link_div.innerHTML=this.config.vars.special_link;if(this.theme.config.vars.append_middle){this.theme.habla_middle_div.appendChild(this.theme.habla_link_div)}else{this.theme.habla_expanded_div.appendChild(this.theme.habla_link_div)}}if(!document.getElementById("hblink1")){this.theme.habla_link_div.innerHTML='Free chat by <a href="http://hab.la" id="hblink1" target="_blank">Hab.la</a> | <a id="hblink2" href="http://hab.la/survey/show/1" target="_blank">Feedback</a>'}this.config.render_js_style(document.getElementById("hblink1"),"habla_link_a");this.config.render_js_style(document.getElementById("hblink2"),"habla_link_a");this.config.render_element_id(this.theme,"habla_link_div")};this.register_handlers=function(){if(this.handlers){return }this.handlers=true;this.eventmgr.register("window_focus",this.events.onWindowFocus,0);this.eventmgr.register("window_click",this.events.onWindowFocus,0);this.eventmgr.register("window_submit",this.events.onWindowSubmit,0);this.eventmgr.register("window_form_submit",this.events.onWindowFormSubmit,0);this.eventmgr.register("window_topbar_clicked",this.events.topBarClicked,0);this.eventmgr.register("habla_closebutton_a_onclick",this.events.closeClicked,0);this.eventmgr.register("habla_sizebutton_a_onclick",this.events.topBarClicked,0);this.eventmgr.register("window_oplink_clicked",this.events.topBarClicked,0);this.eventmgr.register("operator_status_change",this.events.onOpstatusStatusChanged,0);this.eventmgr.register("receive_message",this.events.onChatUpdated,0);this.eventmgr.register("send_message",this.events.onChatUpdated,0);this.eventmgr.register("chat_started",this.events.onChatStarted,0);this.eventmgr.register("theme_loaded",this.events.onThemeLoaded,0)};this.get_operator_state=function(){if(this.config.vars.local_mode){return(this.config.vars.local_operator_state||"available")}if(this.opavailable){if(this.opbusy){return"busy"}else{if(this.opstatus=="chat"||!this.opstatus||this.opstatus==""){return"available"}else{return"away"}}}else{return"notavailable"}};this.determine_window_status=function(D){if(D.chatting){return true}if(D.box_open||D.window.config.vars.start_expanded){return true}if(D.window.config.vars.start_hidden&&!D.window.theme.visible){return false}if(D.window.config.vars.hide_not_available&&!D.opavailable){return false}if(D.window.config.vars.hide_when_away&&(D.opstatus!="chat"&&D.opstatus!=undefined&&D.opstatus!="")){return false}return true};this.setInputBox=function(F,E,D){this.theme.setInputBox(F,E,D)};this.setWindowText=function(){var D=this.get_operator_state();if(D=="notavailable"){this.setHeader(this.config.vars.not_available_text);this.setBody(this.config.vars.offline_message);return }if(D=="away"){if(this.config.vars.show_away_as_header&&this.opmessage){this.setHeader(this.opmessage,true)}else{this.setHeader(this.config.vars.away_text)}if(this.client.buffer.length==0){this.setBody(this.config.vars.away_message||this.config.vars.offline_message)}return }if(D=="busy"){this.setHeader(this.config.vars.busy_text);this.setBody(this.config.vars.busy_message);return }if(this.client.buffer.length==0){this.setBody(this.config.vars.welcome_msg);if(this.expanded){this.setHeader(this.config.vars.in_chat_text)}else{this.setHeader(this.config.vars.before_chat_text)}}else{this.setHeader(this.config.vars.in_chat_text)}};this.appendFromBuffer=function(D){if(!this.theme){hbl.hwindow_last_buffer=D;this.eventmgr.register("theme_loaded",function(E){E.window.appendFromBuffer(hbl.hwindow_last_buffer);hbl.hwindow_last_buffer=""},100)}else{for(i in D){this.theme.appendNiceMessage(D[i][0],D[i][1],true)}}};this.setHeader=function(D,E){if(E){D=".."+D.substr(0,10)+".."}this.theme.setHeader(D)};this.events={onOpstatusStatusChanged:function(D){D.window.opstatus=D.status;D.window.opmessage=D.message;D.window.opbusy=D.busy;if(!D.window.opavailable&&D.available){D.window.reloadBuffer()}D.window.opavailable=D.available;D.window.setWindowText();var E=D.window.determine_window_status(D);if(E||D.window.theme.visible){D.window.show()}else{D.window.hide(1)}},onChatUpdated:function(D){D.window.appendFromBuffer(D.msg)},onChatStarted:function(D){D.window.opavailable=D.opavailable;D.window.opbusy=D.busy;if(D.config){hbl.util.debug("merging config");D.window.config.merge(hbl.util.decode_base64(D.config,true))}if(D.dconfig){hbl.util.debug("merging config");D.window.config.merge(hbl.util.decode_base64(D.dconfig,true))}if(D.nick!=null&&!D.nick.match(/webuser\d\d/)){hbl.util.debug("nickname is: "+D.nick);D.window.setnickname(D.nick,1)}hbl.chat_started_arg=D;if(D.window.theme){D.window.events.onThemeLoaded(D)}else{if(D.window.config.vars.theme_obj){D.window.setTheme(B.vars.theme_obj);D.window.events.onThemeLoaded(D)}else{hbl.chat_started_arg=D;var E="";if(D.window.config.vars.theme_path){E="http://"+hbl_static_hostname+"/"+D.window.config.vars.theme_path}if(D.window.config.vars.theme_url){E=D.window.config.vars.theme_url}hbl.util.simple_load_js_async(E)}}},onThemeLoaded:function(F){if(!F.window.theme){F.window.setTheme(F.obj)}var D=hbl.chat_started_arg;var E=D.window.determine_window_status(D);if(E){D.window.show(1)}else{D.window.hide(1)}if(D.box_open||D.window.config.vars.start_expanded){D.window.expand()}if(D.habla_message){D.window.config.vars.offline_message=D.habla_message["msg"];if(D.habla_message["header"]){D.window.config.vars.not_available_text=D.habla_message["header"];D.window.setHeader(habla_window.config.vars.not_available_text)}D.window.show(1);if(D.habla_message["expand"]){D.window.expand()}D.window.theme.habla_conversation_div.scrollTop=0}},onWindowFocus:function(D){hbl.util.debug("focused");D.window.normal();D.window.setWindowText()},topBarClicked:function(D){hbl.util.debug("topBarClicked "+D.window.expanded);if(hbl.util.doThrottle()){return false}hbl.util.debug("made it past throttle");D.window.normal();if(D.window.expanded){D.window.compress()}else{D.window.expand()}return false},closeClicked:function(D){hbl.util.debug("closeclicked called");hbl.util.debug(D.window.expanded);if(hbl.util.doThrottle()){return false}hbl.util.debug("CLOSED CLICKED");if(D.window.expanded){D.window.compress()}else{D.window.close()}return false},onWindowFormSubmit:function(D){D.window.send()},onWindowSubmit:function(D){var E=D.event;var F;if(window.event){E=window.event;hbl.util.debug(E);F=E.keyCode}else{if(E.which){F=E.which}}if(F==13){D.window.send()}if(!D.window.config.vars.disable_expand_text_input&&!D.window.expanded_textbox&&D.window.theme.getMessageInputFieldValue().length>D.window.config.vars.resize_length){D.window.expanded_textbox=true;D.window.setInputHeight(D.window.config.vars.resize_input_height)}if(!D.window.config.vars.disable_expand_text_input&&D.window.expanded_textbox&&D.window.theme.getMessageInputFieldValue().length<D.window.config.vars.resize_length){D.window.expanded_textbox=false;D.window.setInputHeight(D.window.config.vars.input_height)}}};this.send_pipeline=new hbl.util.pipeline(this);this.send_pipeline.add(hbl.pipelines.nickname,999);return this};hbl._hwindow.prototype.setnickname=function(A,B){if(B==undefined){this.client.setnickname(nickname)}};hbl._hwindow.prototype.show=function(A){this.theme.show();this.visible=true;if(!A){this.client.sendshow()}hbl.eventmgr.handle("habla_window_changed",{type:"show"})};hbl._hwindow.prototype.close=function(A){this.theme.close();if(!A){this.client.sendend()}hbl.eventmgr.handle("habla_window_changed",{type:"close"})};hbl._hwindow.prototype.hide=function(A){this.theme.hide();this.visible=false;if(!A){this.client.sendhide()}hbl.eventmgr.handle("habla_window_changed",{type:"hide"})};hbl._hwindow.prototype.setWidth=function(A){this.theme.setWidth(A);hbl.eventmgr.handle("habla_window_changed",{type:"resize"})};hbl._hwindow.prototype.setInputHeight=function(A){this.theme.setInputHeight(A);hbl.eventmgr.handle("habla_window_changed",{type:"resize"})};hbl._hwindow.prototype.setHeight=function(A){this.theme.setHeight(A);hbl.eventmgr.handle("habla_window_changed",{type:"resize"})};hbl._hwindow.prototype.compress=function(){this.expanded=false;this.theme.compress();if(hbl.util.BrowserDetect.backwards_position&&this.visible&&this.config.monitor){this.config.monitor.moveTo()}hbl.eventmgr.handle("habla_window_changed",{type:"compress"});this.client.sendcompress()};hbl._hwindow.prototype.expand=function(){this.expanded=true;if(hbl.util.BrowserDetect.backwards_position){if(this.config.vars.ycorner=="bottom"){this.theme.setXY(this.theme.habla_window_div.style.left.match(/\d\d*/),this.theme.habla_window_div.style.top.match(/\d\d*/)-this.config.vars.convo_height-this.config.vars.panel_offset)}}this.theme.expand();this.client.sendexpand();hbl.eventmgr.handle("habla_window_changed",{type:"expand"})};hbl._hwindow.prototype.setPosition=function(A){this.config.setPosition(A);this.config.render_element_id(this.theme,"habla_window_div")};hbl._hwindow.prototype.getHeader=function(){return this.theme.getHeader()};hbl._hwindow.prototype.reloadBuffer=function(){this.theme.setBody("");this.appendFromBuffer(this.client.buffer)};hbl._hwindow.prototype.setBody=function(A){this.theme.setBody(A||"")};hbl._hwindow.prototype.highlight=function(){this.theme.highlight()};hbl._hwindow.prototype.normal=function(){this.theme.normal()};hbl._hwindow.prototype.send=function(){hbl.util.debug("wc_send");var C;var B=this.theme.getMessageInputField();var A=this.theme.getMessageInputFieldValue();if(A&&A.length>0){try{var E=A;this.theme.setMessageInputFieldValue("");E=this.send_pipeline.run(E);if(E){this.client.sendmessage(E)}this.normal()}catch(D){throw D}}B.focus();setTimeout(function(){habla_window.theme.getMessageInputField().focus()},10);return false};hbl.hwindow_util.wrap=function(G,A,C){var F=true;G=G.replace(/&lt;/i,"[");G=G.replace(/\/*&gt;/i,"]");var E=G.split(/\s/);var H="";var D="";var B=0;for(B=0;B<E.length;++B){if(F){F=false}else{H+=" "}D=E[B];if(!C||(C&&!D.match(/^\[*(https?|ftp|telnet|ldap|irc|nntp|news|irc)/))){while(D.length>A){H+=D.substr(0,A-1)+" ";D=D.substring(A-1)}}H+=D}return H};hbl.hwindow_util.wrap_and_create_links=function(A,B){A=hbl.hwindow_util.wrap(A,21,1);var C=/\b(\[*)(?:((?:https?|ftp|telnet|ldap|irc|nntp|news|irc):\/\/[^\s'"<>()]*|[-\w]+@(?:[-\w]+\.)+[\w]{2,6})\b|([\w\-])+(\.([\w\-])+)*@((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*)|about:[A-Z0-9._?=%-]{4,19}|[A-Z0-9\_-]*[\.]{0,1}[A-Z0-9\_-]*[\.]{0,1}[A-Z0-9\_-]+\.[A-Z]{2,4})\]*\b/gi;A=A.replace(C,function(I,D){var F=I;var H=F;var G="";var E="";if(D!=""){G="&lt;";E="&gt;"}F=hbl.hwindow_util.get_habla_url(F,B);return G+'<a href="'+F+'" target="'+B.config.vars.url_handler_target_window+'" >'+hbl.hwindow_util.wrap(H,21)+"</a>"+E+" "});hbl.util.debug(A);return A};hbl.hwindow_util.get_habla_url=function(B,A){if(!B.match(/\//)&&B.match(/^[^\:]+\@/)){B="mailto:"+B;return B}if(!B.match(/^(https?|ftp|telnet|ldap|irc|nntp|news|irc|mailto)/)){B="http://"+B}if(A.config.vars.url_handler&&!B.match(A.config.vars.url_local_pattern)){return A.config.vars.url_handler+"?siteid="+hbl.siteid+"&wcsid="+A.client.sid+"&url="+B}return B};hbl.pipelines.nickname=function(C,B){if(C.substr(0,6)=="/nick "){var A=C.substr(6);B.client.setnickname(A);return undefined}return C};hbl.pipelines.wrap_text=function(B,A){return(A.config.vars.parse_links?hbl.hwindow_util.wrap_and_create_links(B,A):hbl.hwindow_util.wrap(B,21))};hbl.pipelines.emoticons=function(B,A){B=B.replace(/\;\-\)/,"<code><big>;-)</big></code>");B=B.replace(/\:\-\)/,"<code><big>:-)</big></code>");return B};hbl.pipelines.push_url=function(D,C){msg_t=D;D=D[1];if(D.substr(0,6)=="!push "){var B="";D=D.replace(/&lt;/i,"[");D=D.replace(/\/*&gt;/i,"]");if(D.match(/<a/)){var A=D.match(/src\s*=\s*"*([^\"]+)\"*/i);if(A.length>1){B=A[1]}}else{if(D.match(/\[(http[^\]]+)\s*\]/i)){A=D.match(/\[(http[^\]]+)\]/i);B=A[1]}else{B=D.substr(6,D.length-6)}}hbl.util.debug("URL IS : "+B);if(B!=""){document.location=hbl.hwindow_util.get_habla_url(B,habla_window);return undefined}}return msg_t};hbl.client.incoming_pipeline.add(hbl.pipelines.push_url,999);hbl.plugins.incoming_notification_vars={};hbl.plugins.incoming_notification=function(){this.name="incoming_notification";this.load=function(A){hbl.plugins.incoming_notification_vars.freq=4000;hbl.plugins.incoming_notification_vars.flashicon=false;hbl.plugins.incoming_notification_vars.flashing=false;A.hwindow.eventmgr.register("receive_message",this.onReceiveMessage);A.hwindow.eventmgr.register("window_focus",this.onWindowFocus);A.hwindow.eventmgr.register("window_click",this.onWindowFocus);if(A.hwindow.config.vars.flash_icons){hbl.plugins.incoming_notification_vars.default_flash_icon=A.hwindow.config.vars.default_flash_on_icon;hbl.plugins.incoming_notification_vars.flashicon=true;hbl.plugins.incoming_notification_vars.default_icon=hbl.plugins.incoming_notification_vars.remove_current_icon(1);if(!hbl.plugins.incoming_notification_vars.default_icon){hbl.plugins.incoming_notification_vars.default_icon=A.hwindow.config.vars.default_flash_off_icon}hbl.util.debug("got here --------------------------------------")}};this.onReceiveMessage=function(A){if(A.type=="remote_update"){A.window.highlight();hbl.plugins.incoming_notification_vars.flashme=true;hbl.plugins.incoming_notification_vars.last_msg="";if(hbl.client.buffer&&hbl.client.buffer[hbl.client.buffer.length-1]){hbl.plugins.incoming_notification_vars.last_msg=hbl.client.buffer[hbl.client.buffer.length-1][1].substr(0,10);A.window.setHeader(".."+hbl.plugins.incoming_notification_vars.last_msg+"..")}if(hbl.plugins.incoming_notification_vars.last_msg!=""&&!hbl.plugins.incoming_notification_vars.flashing){hbl.plugins.incoming_notification_vars.flash()}}};this.onWindowFocus=function(A){if(hbl.oldtitle){document.title=hbl.oldtitle}hbl.plugins.incoming_notification_vars.flashme=false;A.window.normal()};hbl.plugins.incoming_notification_vars.flash=function(){hbl.plugins.incoming_notification_vars.flashing=true;if(document.title.indexOf("Hab.la Message Received")<0&&hbl.plugins.incoming_notification_vars.flashme){hbl.oldtitle=document.title;if(!hbl.oldtitle){hbl.oldtitle=""}document.title="(Hab.la Message Received: "+hbl.plugins.incoming_notification_vars.last_msg+") "+hbl.oldtitle;if(hbl.plugins.incoming_notification_vars.flashicon){hbl.plugins.incoming_notification_vars.set_icon(hbl.plugins.incoming_notification_vars.default_flash_icon)}}else{document.title=hbl.oldtitle;if(hbl.plugins.incoming_notification_vars.flashicon){hbl.plugins.incoming_notification_vars.set_icon(hbl.plugins.incoming_notification_vars.default_icon)}}if(hbl.plugins.incoming_notification_vars.flashme){setTimeout(hbl.plugins.incoming_notification_vars.flash,hbl.plugins.incoming_notification_vars.freq)}else{hbl.plugins.incoming_notification_vars.flashing=false}};hbl.plugins.incoming_notification_vars.remove_current_icon=function(E){if(!document.getElementsByTagName("head")||document.getElementsByTagName("head").length==0){return }var B=document.getElementsByTagName("head")[0].getElementsByTagName("link");for(var C=0;C<B.length;C++){var D=B[C];if(D.type=="image/x-icon"&&D.rel=="shortcut icon"){var A=D.href;if(!E){document.getElementsByTagName("head")[0].removeChild(D)}return A}}return undefined};hbl.plugins.incoming_notification_vars.set_icon=function(B){var A=document.createElement("link");A.type="image/x-icon";A.rel="shortcut icon";A.href=B;hbl.plugins.incoming_notification_vars.remove_current_icon();if(!document.getElementsByTagName("head")||document.getElementsByTagName("head").length==0){return }document.getElementsByTagName("head")[0].appendChild(A)}};hbl.plugins.messages_received=0;hbl.plugins.expand_on_receive_message=function(){this.name="expand_on_receive_message";this.load=function(A){hbl.util.debug("loading expand on receive message");if(A.conf.vars.expandOnMessageReceived||A.conf.vars.expandOnFirstMessageReceived){A.hwindow.eventmgr.register("receive_message",this.onReceiveMessage,-1)}};this.onReceiveMessage=function(A){hbl.plugins.messages_received+=1;if(A.type!="start"&&(!A.window.config.vars.expandOnFirstMessageReceived||hbl.plugins.messages_received==1)){hbl.client.eventmgr.handle("window_expanded");A.window.expand();A.window.show()}}};hbl.plugins.away_div_handler=function(){this.name="away_div_handler";this.load=function(A){hbl.util.hide_div("habla_unavailable_div");hbl.util.hide_div("habla_available_div");if(!hbl.util.show_div("habla_loading_div",A.hwindow.config.vars.habla_special_div_show_type)){hbl.util.show_div("habla_unavailable_div",A.hwindow.config.vars.habla_special_div_show_type)}hbl.util.debug("loading hide/show a div based on operator status");if(document.getElementById("habla_available_div")!=undefined||document.getElementById("habla_unavailable_div")!=undefined){A.hwindow.eventmgr.register("operator_status_change",this.onOperatorStatusChange)}};this.onOperatorStatusChange=function(A){var D=A.available;var B=A.status;var C=A.message;if(D&&(!B||B=="chat"||!A.window.config.vars.hide_when_away)){hbl.util.show_div("habla_available_div",A.window.config.vars.habla_special_div_show_type);hbl.util.hide_div("habla_unavailable_div");hbl.util.hide_div("habla_loading_div")}else{hbl.util.hide_div("habla_available_div");hbl.util.show_div("habla_unavailable_div",A.window.config.vars.habla_special_div_show_type);hbl.util.hide_div("habla_loading_div")}}};hbl.plugins.googleanalytics=function(){this.name="googleanalytics";this.load=function(A){if(window.urchinTracker!=undefined&&!A.conf.vars.disableGoogleAnalytics){hbl.util.simple_load_js_async(A.conf.vars.plugin_path+"google_analytics.js")}}};hbl.plugins.google_translate=function(){this.name="googletranslate";this.load=function(A){hbl.util.debug("Loading google translate"+window.google+A.conf.vars.enableLanguageTranslation);if(window.google!=undefined&&window.google["load"]!=undefined&&A.conf.vars.enableLanguageTranslation&&A.conf.vars.language){A.conf.vars.poll=true;hbl.util.debug("Loading google translate !!!! ");hbl.util.simple_load_js_async(A.conf.vars.plugin_path+"google_translate.js")}}};hbl.themes.default_theme=function(){this.appended=true;this.last_msg=-1;this.visible=false;this.highlighted=false;this.state="compressed";this.build=function(B,A){this.client=A;this.config=B;this.set_config();this.div=undefined;this.divid=B.vars.divid;this.build_dom();this.set_dom_event_handlers();this.set_styles();this.set_default_text();this.register_handlers()};this.set_config=function(){var A=new hbl.hconfig();A.style_classes={habla_window_div_position:"",habla_window_div_position_inline:"",habla_window_div_position_floating:'position: $vars["position"]; bottom: $vars["bottom_margin_px"]; right: $vars["right_margin_px"];',habla_window_div_position_floating_ie:'position: $vars["position_ie6"]; bottom: $vars["bottom_margin_px"]; right: $vars["right_margin_px"];',habla_window_div_base:"margin: 0; padding: 0; border: 0; outline: 0; font-weight: inherit; font-style: inherit; font-family: verdana, arial, helvetica, sans-serif; text-align: left; vertical-align: baseline; line-height: 1;",habla_panel_border:'background: $palette["main_bg"]; width: $vars["width_px"]; border: 1px solid black; font-size: 14px; font-family: "Lucida Grande", verdana, helvetica, arial, sans-serif',habla_button_a_highlighted:'background-color: $palette["button_bg_highlight"]; color: $palette["button_fg_highlight"];',habla_button_a_hover:'background-color: $palette["button_bg_hover"]; color: $palette["button_fg_hover"];',habla_button_a_normal:'background-color: $palette["button_bg"]; color: $palette["button_fg"];',habla_button:"float: right; padding: 0px 6px 2px 6px; margin-left: 3px; font-weight: bold; text-decoration: none",habla_conversation_message_off:"margin: 0; padding:3px 3px 3px 23px;",habla_conversation_message_on:"margin: 0; padding:5px 5px 5px 5px;",habla_conversation_p_item:'color: $palette["main_fg"]; margin: 0; padding: 0; text-indent: -20px; background: transparent;',habla_conversation_person1:'color: $palette["local"] ; padding-right: 5px;',habla_conversation_person2:'color: $palette["remote"] ; padding-right: 5px;',habla_conversation_text_span:'color: $palette["main_fg"]',habla_topbar_div_highlighted:'background: $palette["title_bg_highlight"]; color: $palette["title_fg_highlight"]',habla_topbar_div_normal:'background: $palette["title_bg"]; color: $palette["title_fg"]',habla_topbar_clickable:"cursor: pointer; cursor: hand;",habla_oplink_a_hover:'color: $palette["title_fg_hover"]; text-decoration: underline;',habla_oplink_a_normal:'color: $palette["title_fg"]; text-decoration: none;',habla_wcsend_input_normal:'border: 2px solid $palette["control"];',habla_wcsend_input_pre:"color: #707070",habla_wcsend_input_post:'color: $palette["main_fg"];',habla_wcsend_input_pre_highlighted:'border: 2px solid $palette["control"]',habla_wcsend_input_highlighted:'border: 2px solid $palette["control_highlight"];'};A.style_classes.habla_window_div_position=A.style_classes.habla_window_div_position_floating;A.style_classes_map={habla_window_div:["habla_window_div_position","habla_window_div_base"],habla_closebutton_a:["habla_button","habla_button_a_normal"],habla_sizebutton_a:["habla_button","habla_button_a_normal"],habla_panel_div:["habla_panel_border"],habla_oplink_a:["habla_oplink_a_normal"],habla_wcsend_input:["habla_wcsend_input_pre","habla_wcsend_input_normal"],habla_topbar_div:["habla_topbar_div_normal"]};A.style_id={habla_window_div:"z-index:3000;",habla_panel_div:"",habla_both_div:"",habla_topbar_div:"padding: 3px;",habla_expanded_div:"",habla_compressed_div:"",habla_closed_div:"",habla_oplink_a:"font-weight: normal;",habla_closebutton_a:"",habla_sizebutton_a:"",habla_middle_div:"",habla_conversation_div:'height: $vars["convo_height_px"]; overflow: auto; border-bottom: 1px dotted $palette["control"]; background: transparent; line-height: 1.5em; padding:3px 3px 3px 23px',habla_chatform_form:"margin: 0; padding: 0",habla_input_div:"padding: 3px; margin: 0; font-family: verdana, arial, helvetica; font-size: 12px; font-weight: normal;",habla_wcsend_input:'padding: 1px 3px 1px 3px; margin: 0; font-family: verdana, arial, helvetica; font-size: 12px; width: $vars["input_width_px"]; height: $vars["input_height_px"];  background: none; vertical-align:text-top; overflow-x: none; overflow-y: none; overflow:auto',habla_say_text_span:'color: $palette["main_fg"];',habla_link_div:"padding: 3px 0 5px 0; font-family: verdana, sans-serif; text-align: center; text-transform: uppercase; font-size: 9px; letter-spacing: 2px; font-weight: bold; color: #aaa;"};A.vars={habla_sizebutton_text_expanded:"_",habla_sizebutton_text_compressed:"^",habla_closebutton_text:"x"};if(hbl.util.BrowserDetect.backwards_position){A.style_classes.habla_window_div_position=A.style_classes.habla_window_div_position_floating_ie}this.config.merge(A);var B=new hbl.hconfig();B.load_defaults();this.config.merge(B);this.config.remap_palette();this.config.init_from_config();hbl.util.debug("--------------------------------");hbl.util.debug(this.config.vars)};this.build_dom=function(){if(document.getElementById(this.divid)){this.appended=false}this.habla_window_div=hbl.util.find_or_create_div(this.divid,(this.config.vars.not_append==undefined?hbl.util.get_body():undefined));hbl.util.hide_div(this.habla_window_div);this.habla_panel_div=hbl.util.find_or_create_div("habla_panel_div",this.habla_window_div);this.habla_both_div=hbl.util.find_or_create_div("habla_both_div",this.habla_panel_div);this.habla_topbar_div=hbl.util.find_or_create_div("habla_topbar_div",this.habla_both_div);this.habla_expanded_div=hbl.util.find_or_create_div("habla_expanded_div",this.habla_panel_div);this.habla_compressed_div=hbl.util.find_or_create_div("habla_compressed_div",this.habla_panel_div);this.habla_closed_div=hbl.util.find_or_create_div("habla_closed_div",this.habla_window_div);this.hide();this.habla_oplink_a=hbl.util.find_or_create_el("habla_oplink_a","a");if(this.config.vars.enable_buttons){if(!this.config.vars.hide_min_max_buttons){this.habla_closebutton_a=hbl.util.find_or_create_el("habla_closebutton_a","a");this.habla_topbar_div.appendChild(this.habla_closebutton_a);this.habla_sizebutton_a=hbl.util.find_or_create_el("habla_sizebutton_a","a");this.habla_topbar_div.appendChild(this.habla_sizebutton_a)}}this.habla_topbar_div.appendChild(this.habla_oplink_a);this.habla_middle_div=hbl.util.find_or_create_div("habla_middle_div",this.habla_expanded_div);this.habla_conversation_div=hbl.util.find_or_create_div("habla_conversation_div",this.habla_middle_div);this.habla_chatform_form=hbl.util.find_or_create_el("habla_chatform_form","form");this.habla_chatform_form.setAttribute("action","#");this.habla_chatform_form.setAttribute("method","GET");this.habla_chatform_form.setAttribute("autocomplete","off");this.habla_input_div=hbl.util.find_or_create_el("habla_input_div","div");this.habla_wcsend_input=hbl.util.find_or_create_el("habla_wcsend_input","textarea");this.habla_wcsend_input.setAttribute("size",this.config.vars.input_box_size);this.habla_say_text_span=hbl.util.find_or_create_el("habla_say_text_span","span");this.habla_input_div.appendChild(this.habla_say_text_span);this.habla_input_div.appendChild(this.habla_wcsend_input);this.habla_chatform_form.appendChild(this.habla_input_div);this.habla_middle_div.appendChild(this.habla_chatform_form)};this.set_dom_event_handlers=function(){this.habla_conversation_div.onclick=function(){return habla_window.eventmgr.handle("habla_conversation_div_onclick")};this.habla_chatform_form.onfocus=function(){habla_window.eventmgr.handle("habla_chatform_form_onfocus")};this.habla_chatform_form.onsubmit=function(A){habla_window.eventmgr.handle("window_form_submit",{event:A});return false};this.habla_wcsend_input.onkeypress=function(A){if(!A){A=window.event}if(window.event){A=window.event;hbl.util.debug(A);keynum=A.keyCode}else{if(A.which){keynum=A.which}}if(!habla_window.has_typed){if(keynum!=13){habla_window.setInputBox(String.fromCharCode(keynum),"highlight",true)}else{habla_window.setInputBox("","highlight",true)}habla_window.has_typed=true;return false}habla_window.eventmgr.handle("window_submit",{event:A});if(keynum==13){return false}return true};this.habla_wcsend_input.onblur=function(){habla_window.eventmgr.handle("habla_wcsend_input_onblur")};this.habla_wcsend_input.onfocus=function(){habla_window.eventmgr.handle("habla_wcsend_input_onfocus")};this.habla_wcsend_input.onclick=function(){habla_window.eventmgr.handle("habla_wcsend_input_onclick")};this.habla_wcsend_input.onmouseover=function(){habla_window.eventmgr.handle("habla_wcsend_input_onmouseover")};this.habla_oplink_a.onmouseover=function(){habla_window.eventmgr.handle("habla_oplink_a_onmouseover")};this.habla_oplink_a.onmouseout=function(){habla_window.eventmgr.handle("habla_oplink_a_onmouseout")};if(this.config.vars.enable_buttons){this.habla_topbar_div.onclick=function(){habla_window.eventmgr.handle("window_topbar_clicked");return false};this.habla_oplink_a.onclick=function(){habla_window.eventmgr.handle("window_oplink_clicked");return false};if(!this.config.vars.hide_min_max_buttons){this.habla_closebutton_a.onmouseover=function(){habla_window.eventmgr.handle("habla_closebutton_a_onmouseover")};this.habla_closebutton_a.onmouseout=function(){habla_window.eventmgr.handle("habla_closebutton_a_onmouseout")};this.habla_closebutton_a.onclick=function(){habla_window.eventmgr.handle("habla_closebutton_a_onclick");return false};this.habla_sizebutton_a.onmouseover=function(){habla_window.eventmgr.handle("habla_sizebutton_a_onmouseover")};this.habla_sizebutton_a.onmouseout=function(){habla_window.eventmgr.handle("habla_sizebutton_a_onmouseout")};this.habla_sizebutton_a.onclick=function(){habla_window.eventmgr.handle("habla_sizebutton_a_onclick");return false}}this.config.style_classes_map.habla_topbar_div=["habla_topbar_div_normal","habla_topbar_clickable"]}else{this.habla_oplink_a.onclick=function(){return false}}};this.set_styles=function(){if(!this.config.vars.disableJSStyles){this.config.render_all_styles(this)}if(document.getElementById("hblink1")){this.config.render_js_style(document.getElementById("hblink1"),"habla_link_a");this.config.render_js_style(document.getElementById("hblink2"),"habla_link_a")}};this.setInputBox=function(C,B,A){this.habla_wcsend_input.value=C;this.setInputBoxStyle(B,A)};this.setInputBoxStyle=function(B,A){hbl.util.debug(B);hbl.util.debug(A);if(A){this.config.render_class(this.habla_wcsend_input,"habla_wcsend_input_post")}else{this.config.render_class(this.habla_wcsend_input,"habla_wcsend_input_pre")}if(B=="normal"){this.config.render_class(this.habla_wcsend_input,"habla_wcsend_input_normal")}else{if(B=="highlight"){this.config.render_class(this.habla_wcsend_input,"habla_wcsend_input_highlighted")}}};this.set_default_text=function(){this.setInputBox(this.config.vars.textbox_message||this.config.vars.say_text);if(this.habla_closebutton_a){this.habla_closebutton_a.innerHTML=this.config.vars.habla_closebutton_text}if(this.habla_sizebutton_a){this.habla_sizebutton_a.innerHTML=this.config.vars.habla_sizebutton_text_compressed}this.setHeader(this.config.vars.check_for_status);this.setBody(this.config.vars.welcome_msg)};this.register_handlers=function(){hbl.eventmgr.register("habla_conversation_div_onclick",function(A){habla_window.eventmgr.handle("window_click")},0);hbl.eventmgr.register("habla_chatform_form_onfocus",function(A){habla_window.eventmgr.handle("window_focus")},0);hbl.eventmgr.register("habla_sizebutton_a_onmouseover",function(A){A.window.config.render_class(A.window.theme.habla_sizebutton_a,"habla_button_a_hover")},0);hbl.eventmgr.register("habla_sizebutton_a_onmouseout",function(A){A.window.config.render_class(A.window.theme.habla_sizebutton_a,"habla_button_a_normal")},0);hbl.eventmgr.register("habla_sizebutton_a_onclick",function(A){hbl.eventmgr.handle("window_sizebutt_clicked");A.window.config.render_class(A.window.theme.habla_sizebutton_a,"habla_button_a_normal")},0);hbl.eventmgr.register("habla_closebutton_a_onmouseover",function(A){A.window.config.render_class(A.window.theme.habla_closebutton_a,"habla_button_a_hover")},0);hbl.eventmgr.register("habla_closebutton_a_onmouseout",function(A){A.window.config.render_class(A.window.theme.habla_closebutton_a,"habla_button_a_normal")},0);hbl.eventmgr.register("habla_closebutton_a_onclick",function(A){A.window.config.render_class(A.window.theme.habla_closebutton_a,"habla_button_a_normal")},0);hbl.eventmgr.register("habla_wcsend_input_onfocus",function(A){A.window.theme.setInputBoxStyle("highlight",A.window.has_typed);A.window.eventmgr.handle("window_focus")},0);hbl.eventmgr.register("habla_wcsend_input_onblur",function(A){A.window.theme.setInputBoxStyle("normal",A.window.has_typed)},0);hbl.eventmgr.register("habla_wcsend_input_onclick",function(A){if(!A.window.has_typed){A.window.setInputBox("","highlight",true)}A.window.eventmgr.handle("window_focus")},0);hbl.eventmgr.register("habla_wcsend_input_onmouseover",function(A){A.window.eventmgr.handle("window_focus")},0);hbl.eventmgr.register("habla_oplink_a_onmouseover",function(A){A.window.config.render_class(A.window.theme.habla_oplink_a,"habla_oplink_a_hover")},0);hbl.eventmgr.register("habla_oplink_a_onmouseout",function(A){A.window.config.render_class(A.window.theme.habla_oplink_a,"habla_oplink_a_normal")},0)};this.remove=function(){if(this.appended){hbl.util.remove_element(this.divid)}};this.setBody=function(A){this.habla_conversation_div.innerHTML="";this.config.render_class(this.habla_conversation_div,"habla_conversation_message_off");if(A!=""){var A=hbl.util.as_dom(A);this.config.render_class(this.habla_conversation_div,"habla_conversation_message_on");this.habla_conversation_div.appendChild(A)}this.habla_conversation_div.scrollTop=this.habla_conversation_div.scrollHeight};this.getBody=function(){return this.habla_conversation_div.innerHTML};this.appendNiceMessage=function(D,A,G){if(A==undefined||D==undefined){return }var A=this.display_pipeline.run(A);if(A){var B="";if(D==this.config.vars.myname){B="habla_conversation_person1"}else{B="habla_conversation_person2"}var F=document.createElement("p");F.setAttribute("class","habla_conversation_p_item");this.config.render_class(F,"habla_conversation_p_item");var E=document.createElement("span");E.setAttribute("class",B);if(D==this.config.vars.myname){E.innerHTML=this.config.vars.local_user_display_name;this.config.render_class(E,"habla_conversation_person1")}else{E.innerHTML=(this.config.vars.local_name_override?this.config.vars.local_name_override:D)+" : ";this.config.render_class(E,"habla_conversation_person2")}var C=document.createElement("span");C.setAttribute("class","habla_conversation_text_span");C.innerHTML=A;F.appendChild(E);F.appendChild(C);this.appendMessage(F,G)}};this.appendMessage=function(A,B){if(this.last_msg==-1&&B){this.setBody("")}var A=hbl.util.as_dom(A);this.last_msg+=1;A.setAttribute("id","habla_msg_"+this.last_msg);this.habla_conversation_div.appendChild(A);this.habla_conversation_div.scrollTop=this.habla_conversation_div.scrollHeight};this.setHeader=function(A){this.habla_oplink_a.innerHTML=A};this.getHeader=function(){return this.habla_oplink_a.innerHTML};this.hide=function(){this.visible=false;if(this.habla_conversation_div){this.habla_conversation_div.style.overflow="hidden"}hbl.util.hide_div(this.habla_window_div);hbl.util.hide_div(this.habla_both_div);hbl.util.hide_div(this.habla_closed_div);hbl.util.hide_div(this.habla_expanded_div);hbl.util.hide_div(this.habla_compressed_div)};this.expand=function(){this.state="expanded";if(this.habla_sizebutton_a){this.habla_sizebutton_a.innerHTML=this.config.vars.habla_sizebutton_text_expanded}this.show()};this.compress=function(){this.state="compressed";if(this.habla_sizebutton_a){this.habla_sizebutton_a.innerHTML=this.config.vars.habla_sizebutton_text_compressed}this.show()};this.show=function(){this.visible=true;hbl.util.show_div(this.habla_window_div);if(this.state=="closed"){hbl.util.hide_div(this.habla_expanded_div);hbl.util.hide_div(this.habla_panel_div);hbl.util.hide_div(this.habla_compressed_div);this.habla_conversation_div.style.overflow="hidden";hbl.util.show_div(this.habla_closed_div)}else{if(this.state=="expanded"){hbl.util.hide_div(this.habla_compressed_div);hbl.util.hide_div(this.habla_closed_div);hbl.util.show_div(this.habla_panel_div);hbl.util.show_div(this.habla_expanded_div);hbl.util.show_div(this.habla_both_div);this.habla_conversation_div.style.overflow="auto";this.habla_conversation_div.scrollTop=this.habla_conversation_div.scrollHeight;this.habla_wcsend_input.focus();if(this.habla_sizebutton_a){this.habla_sizebutton_a.innerHTML=this.config.vars.habla_sizebutton_text_expanded}}else{if(this.state=="compressed"){hbl.util.hide_div(this.habla_expanded_div);hbl.util.hide_div(this.habla_closed_div);hbl.util.show_div(this.habla_panel_div);hbl.util.show_div(this.habla_both_div);hbl.util.show_div(this.habla_compressed_div);this.habla_conversation_div.style.overflow="hidden";if(this.habla_sizebutton_div){this.habla_sizebutton_div.innerHTML=this.config.vars.habla_sizebutton_text_compressed}}}}};this.close=function(){this.state="closed";this.show()};this.setWidth=function(A){this.div.style.width=A+"px";if(hbl.util.BrowserDetect.backwards_dimension||hbl.util.BrowserDetect.browser=="Explorer"){hbl.util.debug("212/24");this.habla_wcsend_input.style.width=(A-this.config.vars.input_width_offset_ie)+"px"}else{hbl.util.debug("202/18");this.habla_wcsend_input.style.width=(A-this.config.vars.input_width_offset_normal)+"px"}};this.setInputHeight=function(A){if(hbl.util.BrowserDetect.backwards_dimension){hbl.util.debug("212/24");this.habla_wcsend_input.style.height=(A>24?A:24)+"px"}else{hbl.util.debug("202/18");this.habla_wcsend_input.style.height=(A>18?A:18)+"px"}};this.getX=function(){return this.habla_window_div.style.left.match(/\d\d*/)};this.getY=function(){return this.habla_window_div.style.top.match(/\d\d*/)};this.setXY=function(A,B){this.habla_window_div.style.top=B;this.habla_window_div.style.left=A};this.setHeight=function(A){this.habla_conversation_div.style.height=A+"px"};this.highlight=function(){if(this.highlighted){return }this.config.render_class(this.habla_closebutton_a,"habla_button_a_highlighted");this.config.render_class(this.habla_sizebutton_a,"habla_button_a_highlighted");this.config.render_class(this.habla_topbar_div,"habla_topbar_div_highlighted");this.config.render_class(this.habla_wcsend_input,"habla_wcsend_input_highlighted");this.highlighted=true};this.normal=function(){if(!this.highlighted){return }this.config.render_class(this.habla_closebutton_a,"habla_button_a_normal");this.config.render_class(this.habla_sizebutton_a,"habla_button_a_normal");this.config.render_class(this.habla_topbar_div,"habla_button_a_normal");this.config.render_class(this.habla_topbar_div,"habla_topbar_div_normal");this.config.render_class(this.habla_wcsend_input,"habla_wcsend_input_normal");this.highlighted=false};this.getMessageInputField=function(){return this.habla_wcsend_input};this.getMessageInputFieldValue=function(){return this.habla_wcsend_input.value};this.setMessageInputFieldValue=function(A){this.habla_wcsend_input.value=A};this.display_pipeline=new hbl.util.pipeline(this);this.display_pipeline.add(hbl.pipelines.wrap_text,999);this.display_pipeline.add(hbl.pipelines.emoticons,1000)};hbl.eventmgr.register("habla_preload_done",function(A){if(!hbl.config.vars.theme_path&&!hbl.config.vars.theme_obj){hbl.config.vars.theme_obj=new hbl.themes.default_theme()}},0);if(hbl.config){if(!arg.window.config.vars.theme_path&&!hbl.config.vars.custom_theme){hbl.eventmgr.handle("theme_loaded",{obj:new hbl.themes.default_theme()})}}function wc_config(){return new hbl.hconfig()}hblHasinit=undefined;function wc_init(B,A){if(hblHasinit){return }hblHasinit=1;hbl.util.BrowserDetect.init();if(!(hbl.util.BrowserDetect.supported)&&hblHideUnsupported){hbl.util.debug("The Browser you are using is not supported by Hab.la - "+hbl.util.BrowserDetect.browser+hbl.util.BrowserDetect.supported);return }hbl.siteid=B;hbl.wcsid=hbl.util.get_cookie("wcsid")||"";hbl.hblid=hbl.util.get_cookie("hblid")||"";hbl.config=A;if(hbl.config==undefined){hbl.config=new hbl.hconfig()}if(!hbl.config.merge){hbl.config=new hbl.hconfig();hbl.config.merge(A,true)}if(!hbl.config.plugins){hbl.config.plugins=new hbl.util.pluginlist()}hbl.config.plugins.add(new hbl.plugins.incoming_notification());hbl.config.plugins.add(new hbl.plugins.googleanalytics());hbl.config.plugins.add(new hbl.plugins.away_div_handler());hbl.config.plugins.add(new hbl.plugins.expand_on_receive_message());hbl.config.plugins.add(new hbl.plugins.google_translate());hbl.started=0;hbl.eventmgr.handle("habla_preload_done");hbl.prev_onload=window.onload;window.onload=function(){habla_start_func(hbl.prev_onload)};window.setTimeout(habla_start_func,2500)}function habla_start_func(A){if(hbl.started){return }hbl.started=1;if(A&&typeof (A)=="function"){try{A()}catch(B){}}hbl.util.debug("onload");hbl.util.debug(hbl.siteid);hbl.util.debug(hbl.wcsid);habla_window=new hbl._hwindow(hbl.client,hbl.config,hbl.eventmgr);hbl.eventmgr.setWindow(habla_window);habla_window.register_handlers();if(hbl.config.vars.local_mode){hbl.client.start(hbl.wcsid,hbl.hblid,hbl.siteid,hbl.eventmgr,hbl.config);habla_window.setTheme(hbl.config.vars.theme_obj);habla_window.config.vars.welcome_msg="Hab.la is in testing mode. set <em>config.vars['local_mode'] = false;</em> to go back to normal.";habla_window.config.vars.in_chat_text="Hab.la Local Mode";habla_window.config.vars.before_chat_text="Hab.la Local Mode";habla_window.config.vars.not_available_text="Hab.la Local Mode";habla_window.setHeader(habla_window.config.vars.not_available_text);habla_window.show(1);return }if(!hbl.siteid.match(/^\d\d*-\d\d*-\d\d*-\d\d*$/)&&hbl.config.vars.theme_obj){habla_error({etype:"invalid_site_id"});return }hbl.eventmgr.register("habla_error",habla_error,10);hbl.client.start(hbl.wcsid,hbl.hblid,hbl.siteid,hbl.eventmgr,hbl.config);hbl.eventmgr.handle("habla_started")}function habla_error(A){if(A.etype=="invalid_site_id"){hbl.client.eventmgr=new hbl.util.eventmanager();habla_window.setTheme(hbl.config.vars.theme_obj);habla_window.config.vars.offline_message="<em>"+hbl.siteid+"</em> is not a valid <a href='http://www.hab.la'>Hab.la</a> site ID.<p> Your Hab.la Site ID is in the format '###-##-###-##' and can be found on your <a href='http://hab.la/account' target='_blank'>My Hab.la Page</a>.</p>";habla_window.config.vars.not_available_text="Hab.la: Site ID Error";habla_window.setHeader(habla_window.config.vars.not_available_text);habla_window.show(1);habla_window.theme.habla_conversation_div.scrollTop=0}else{if(A.etype=="operator_is_busy"){habla_window.setWindowText()}}};