/**
 * RUZEE.ShadedBorder 0.6.1
 * (c) 2006 Steffen Rusitschka
 *
 * RUZEE.ShadedBorder is freely distributable under the terms of an MIT-style license.
 * For details, see http://www.ruzee.com/
 */

var RUZEE = window.RUZEE || {};

RUZEE.ShadedBorder = {

create: function(opts) {
  var isie = /msie/i.test(navigator.userAgent) && !window.opera;
  var isie6 = isie && !window.XMLHttpRequest;
  function sty(el, h) {
    for(k in h) {
      if (/ie_/.test(k)) {
        if (isie) el.style[k.substr(3)]=h[k];
      } else el.style[k]=h[k];
    }
  }
  function crdiv(h) {
    var el=document.createElement("div");
    el.className = "sb-gen";
    sty(el, h);
    return el;
  }
  function op(v) {
    v = v<0 ? 0 : v;
    if (v>0.99999) return "";
    return isie ? " filter:alpha(opacity=" + (v*100) + ");" : " opacity:" + v + ';';
  }

  var sr = opts.shadow || 0;
  var r = opts.corner || 0;
  var bor = 0;
  var bow = opts.border || 0;
  var boo = opts.borderOpacity || 1;
  var shadow = sr != 0;
  var lw = r > sr ? r : sr;
  var rw = lw;
  var th = lw;
  var bh = lw;
  if (bow > 0) {
    bor = r;
    r = r - bow;
  }
  var cx = r != 0 && shadow ? Math.round(lw/3) : 0;
  var cy = cx;
  var cs = Math.round(cx/2);
  var iclass = r > 0 ? "sb-inner" : "sb-shadow";
  var sclass = "sb-shadow";
  var bclass = "sb-border";
  var edges = opts.edges || "trlb";
  if (!/t/i.test(edges)) th=0;
  if (!/b/i.test(edges)) bh=0;
  if (!/l/i.test(edges)) lw=0;
  if (!/r/i.test(edges)) rw=0;
  
  var applyPosition = opts.position;

  var p = { position:"absolute", left:"0", top:"0", width:lw + "px", height:th + "px", 
            ie_fontSize:"1px", overflow:"hidden", margin:"0", padding:"0" }; var tl = crdiv(p);
  delete p.left; p.right="0"; p.width=rw + "px"; var tr = crdiv(p);
  delete p.top; p.bottom="0"; p.height=bh + "px"; var br = crdiv(p);
  delete p.right; p.left="0"; p.width=lw + "px"; var bl = crdiv(p);

  var tw = crdiv({ position:"absolute", width:"100%", height:th + "px", ie_fontSize:"1px",
                   top:"0", left:"0", overflow:"hidden", margin:"0", padding:"0" });
  var t = crdiv({ position:"relative", height:th + "px", ie_fontSize:"1px",
                  margin:"0 "+ rw + "px 0 " + lw + "px", overflow:"hidden", padding:"0" });
  tw.appendChild(t);

  var bw = crdiv({ position:"absolute", left:"0", bottom:"0", width:"100%", height:bh + "px", 
                   ie_fontSize:"1px", overflow:"hidden", margin:"0", padding:"0" });
                   
  var b = crdiv({ position:"relative", height:bh + "px", ie_fontSize:"1px",
                  margin:"0 "+ rw + "px 0 " + lw + "px", overflow:"hidden", padding:"0" });
                  
  bw.appendChild(b);

  var mw = crdiv({ position:"absolute", top:(-bh)+"px", left:"0", width:"100%", height:"100%",
                   overflow:"hidden", ie_fontSize:"1px", padding:"0", margin:"0" });

  function corner(el,t,l) {
    var w = l ? lw : rw;
    var h = t ? th : bh;
    var s = t ? cs : -cs;
    var dsb = []; var dsi = []; var dss = [];
    
    var xp=0; var xd=1; if (l) { xp=w-1; xd=-1; }
    for (var x=0; x<w; ++x) {
      var yp=h-1; var yd=-1; if (t) { yp=0; yd=1; }
      var finished=false;
      for (var y=h-1; y>=0 && !finished; --y) {
        var div = '<div style="position:absolute; top:' + yp + 'px; left:' + xp + 'px; ' +
                  'width:1px; height:1px; overflow:hidden; margin:0; padding:0;';

        var xc = x - cx; var yc = y - cy - s;
        var d = Math.sqrt(xc*xc+yc*yc);
        var doShadow = false;

        if (r > 0) {
          // draw border
          if (xc < 0 && yc < bor && yc >= r || yc < 0 && xc < bor && xc >= r) {
            dsb.push(div + op(boo) + '" class="' + bclass + '"></div>');
          } else
          if (d<bor && d>=r-1 && xc>=0 && yc>=0) {
            var dd = div;
            if (d>=bor-1) {
              dd += op((bor-d)*boo);
              doShadow = true;
            } else dd += op(boo);
            dsb.push(dd + '" class="' + bclass + '"></div>');
          }
          
          // draw inner
          var dd = div + ' z-index:2;' + (t ? 'background-position:0 -' + (r-yc-1) + 'px;' : 'background-image:none;');
          var finish = function() {
            if (!t) dd = dd.replace(/top\:\d+px/, "top:0px");
            dd = dd.replace(/height\:1px/, "height:" + (y+1) + "px");
            dsi.push(dd + '" class="' + iclass + '"></div>');
            finished = true;
          };
          if (xc < 0 && yc < r || yc < 0 && xc < r) {
            finish();
          } else
          if (d<r && xc>=0 && yc>=0) {
            if (d>=r-1) {
              dd += op(r-d);
              doShadow = true;
              dsi.push(dd + '" class="' + iclass + '"></div>');
            } else {
              finish();
            }
          } else doShadow = true;
        } else doShadow = true;
        
        // draw shadow
        if (sr > 0 && doShadow) {
          d = Math.sqrt(x*x+y*y);
          if (d<sr) {
            dss.push(div + ' z-index:0; ' + op(1-(d/sr)) + '" class="' + sclass + '"></div>');
          }
        }
        yp += yd;
      }
      xp += xd;
    }
    el.innerHTML = dss.concat(dsb.concat(dsi)).join('');
  }
  
  function mid(mw) {
    var ds = [];

    ds.push('<div style="position:relative; top:' + (th+bh) + 'px; height:2048px; ' +
            ' margin:0 ' + (rw-r-cx) + 'px 0 ' + (lw-r-cx) + 'px; ' +
            ' padding:0; overflow:hidden;' +
            ' background-position:0 ' + (th > 0 ? -(r+cy+cs) : '0') + 'px;"' +
            ' class="' + iclass + '"></div>');

    var dd = '<div style="position:absolute; width:1px;' +
        ' top:' + (th+bh) + 'px; height:2048px; padding:0; margin:0;';
    if (sr>0) {
      for (var x=0; x<lw-r-cx; ++x) {
        ds.push(dd + ' left:' + x + 'px;' + op((x+1.0)/lw) + 
            '" class="' + sclass + '"></div>');
      }

      for (var x=0; x<rw-r-cx; ++x) {
        ds.push(dd + ' right:' + x + 'px;' + op((x+1.0)/rw) + 
            '" class="' + sclass + '"></div>');
      }
    }

    if (bow > 0) {
      var su = ' width:' + bow + 'px;' + op(boo) + '" class="' + bclass + '"></div>';
      ds.push(dd + ' left:' + (lw-bor-cx) + 'px;' + su);
      ds.push(dd + ' right:' + (rw-bor-cx) + 'px;' + su);
    }

    mw.innerHTML = ds.join('');
  }

  function tb(el, t) {
    var ds = [];
    var h = t ? th : bh;
    var dd = '<div style="height:1px; overflow:hidden; position:absolute; margin:0; padding:0;' +
        ' width:100%; left:0px; ';
    var s = t ? cs : -cs;
    for (var y=0; y<h-s-cy-r; ++y) {
      if (sr>0) ds.push(dd + (t ? 'top:' : 'bottom:') + y + 'px;' + op((y+1)*1.0/h) + 
          '" class="' + sclass + '"></div>');
    }
    if (y >= bow) {
      ds.push(dd + (t ? 'top:' : 'bottom:') + (y - bow) + 'px;' + op(boo) +
          ' height:' + bow + 'px;" class="' + bclass + '"></div>');
    }

    ds.push(dd + (t ? 'background-position-y:0; top:' : 
                      'background-image:none; bottom:') + y + 'px;' +
        ' height:' + (r+cy+s) + 'px;" class="' + iclass + '"></div>');

    el.innerHTML = ds.join('');
  }

  corner(tl, true, true); corner(tr, true, false);
  corner(bl, false, true); corner(br, false, false);
  mid(mw); tb(t, true); tb(b, false);

  return {
    render: function(el) {
      if (typeof el == 'string') el = document.getElementById(el);
      if (el.length != undefined) {
        for (var i=0; i<el.length; ++i) this.render(el[i]);
        return;
      }
      el.className += " sb";
      
      if( typeof(applyPosition) != 'undefined' && applyPosition != null && applyPosition == false )
      	sty(el, { background:"transparent" });
      else
      	sty(el, { position:"relative", background:"transparent" });

      // remove generated children
      var node = el.firstChild;
      while (node) {
        var nextNode = node.nextSibling;
        if (node.nodeType == 1 && node.className == 'sb-gen')
          el.removeChild(node);
        node = nextNode;
      }

      var iel = el.firstChild;

      var twc = tw.cloneNode(true);
      var mwc = mw.cloneNode(true);
      var bwc = bw.cloneNode(true);
      
      el.insertBefore(tl.cloneNode(true), iel); el.insertBefore(tr.cloneNode(true), iel);
      el.insertBefore(bl.cloneNode(true), iel); el.insertBefore(br.cloneNode(true), iel);
      el.insertBefore(twc, iel); el.insertBefore(mwc, iel);
      el.insertBefore(bwc, iel);

      if (isie6) {
        el.onmouseover=function() { this.className+=" hover"; }
        el.onmouseout=function() { this.className=this.className.replace(/ hover/,""); }
      }
      if (isie) {
        function resize() {
          twc.style.width = bwc.style.width = mwc.style.width = el.offsetWidth + "px";
          mwc.firstChild.style.height = el.offsetHeight + "px";
        }
        el.onresize=resize;
        resize();
      }
    }
  };
}
}

// add our styles to the document
document.write('\
  <style type="text/css">\
  .sb, .sbi, .sb *, .sbi * { position:relative; z-index:1; }\
  * html .sb, * html .sbi { height:1%; }\
  .sbi { display:inline-block; }\
  .sb-inner { background:#ddd; }\
  .sb-shadow { background:#000; }\
  .sb-border { background:#bbb; }\
  </style>\
');

tangler.cache.CacheManager=function(){var _24=new Ext.util.MixedCollection();return {isMessageCacheEmpty:function(){return _24.getCount()==0;},addMessageToCache:function(_25){_24.add(_25.globalId,_25);},removeMessageFromCache:function(_26){return _24.removeKey(_26.globalId);},removeFromCache:function(_27){return _24.removeKey(_27);},getMessageCache:function(){return _24.getRange();},getMessage:function(id){return _24.get(id);},clearMessageCache:function(){_24.clear();},insertMessageCache:function(_29,_2a){_24.insert(_29,_2a.globalId,_2a);}};}();
tangler.widget.WindowWrapper=function(_e5){this._defaultWidth=550;this._defaultHeight=350;this._defaultRefreshOnClose=true;var _e6=tangler.util.Options.getOptionalArgument("width",_e5,this._defaultWidth);var _e7=tangler.util.Options.getOptionalArgument("height",_e5,this._defaultHeight);var _e8=tangler.util.Options.getOptionalArgument("closable",_e5,false);this._url=tangler.util.Options.getOptionalArgument("url",_e5,"");this._title=tangler.util.Options.getOptionalArgument("title",_e5);this._iframe=null;this._loading=tangler.util.Element.createLoadingElement("iframeLoading");this._loading.style.zIndex=1000;this._template=new Ext.Template("<div id=\"iframeDialog\" style=\"visibility:hidden;position:absolute;top:0;\">","\t<div id=\"dlgIFrame\" class=\"x-window-body\">","\t\t<iframe id=\"centerFrame\" name=\"centerFrame\" frameborder=\"no\" style=\"border:0px none;\" scrolling=\"no\" src=\"{url}\" width=\"100%\" height=\"100%\"><div class=\"loader\"><p>","       Loading...","       </p></div></iframe>","\t</div>","</div>");this._template.append(document.body,{url:this._url});if(Ext.isIE){window.frames["centerFrame"].location.href=this._url;}this._window=new tangler.widget.DialogWrapper("iframeDialog",{autoDestroy:false,resizable:false,draggable:false,width:_e6,height:_e7,autoCreate:true,closable:_e8});};tangler.widget.WindowWrapper.prototype={showWindow:function(_e9){var _ea=tangler.util.Options.getOptionalArgument("refreshOnClose",_e9,this._defaultRefreshOnClose);var _eb=tangler.util.Options.getOptionalArgument("destroyFunction",_e9,null);if(_ea){_eb=tangler.info.Page.refreshPage;}if(_eb!=null){this._window.addListener("hide",_eb);}this._window.setTitle(this._title);this._window.showDialog();},onIFrameLoaded:function(_ec){return function(){var w=tangler.util.Element.getEl(_ec);w.select("div").elements[0].style.display="none";w.select("div").elements[0].style.zIndex=0;w.select("iframe").elements[0].style.visibility="visible";w.select("iframe").elements[0].style.zIndex=1000;};},closeWindow:function(){tangler.util.Element.removeChildNodes("dlgIFrame");this._window.hide();},closeAndDestroy:function(){tangler.util.Element.removeChildNodes("dlgIFrame");this._window.closeAndDestroy(true);this._window=null;},destroy:function(){this._window.destroy(true);},resize:function(_ee,_ef){this._window.setContentSize(_ee,_ef);},destroyFunctionHandler:function(_f0,_f1){return function(_f2,win){if(win==_f0){_f1();}};}};tangler.widget.DialogWrapper=function(_f4,_f5){Ext.useShims=true;this._dialogId=_f4;this._dialog=null;var _f6=tangler.util.Options.getOptionalArgument("width",_f5,500);var _f7=tangler.util.Options.getOptionalArgument("height",_f5,300);var _f8=tangler.util.Options.getOptionalArgument("minWidth",_f5,300);var _f9=tangler.util.Options.getOptionalArgument("minHeight",_f5,300);var _fa=tangler.util.Options.getOptionalArgument("underlay",_f5,"none");var _fb=tangler.util.Options.getOptionalArgument("resizable",_f5,true);var _fc=tangler.util.Options.getOptionalArgument("draggable",_f5,true);var _fd=tangler.util.Options.getOptionalArgument("modal",_f5,true);var _fe=tangler.util.Options.getOptionalArgument("closable",_f5,false);var _ff=tangler.util.Options.getOptionalArgument("BasicDialog",_f5,true);var _100=tangler.util.Options.getOptionalArgument("autoCreate",_f5,false);var _101=tangler.util.Options.getOptionalArgument("autoHeight",_f5,false);var _102=tangler.util.Options.getOptionalArgument("shadow",_f5,true);var _103=tangler.util.Options.getOptionalArgument("acceptLabel",_f5,null);var _104=tangler.util.Options.getOptionalArgument("declineLabel",_f5,null);var _105=tangler.util.Options.getOptionalArgument("acceptFunction",_f5,null);var _106=tangler.util.Options.getOptionalArgument("declineFunction",_f5,null);var _107=tangler.util.Options.getOptionalArgument("defaultFocus",_f5,null);if(_103){if(_105==null){alert("Please set acceptFunction");return;}}if(_104){if(_106==null){alert("Please set declineFunction");return;}}var _108=tangler.util.Helper.getBrowserSize();if(_f6>_108.width){_f6=_108.width-50;}if(_f7>_108.height){_f7=_108.height-50;}var _109=null;var _10a=[];if(_103){_10a[0]={text:_103,handler:_105,id:"acceptButton"};}if(_104){_10a[1]={text:_104,handler:_106,id:"declineButton"};}if(_107&&_107==_103){_109="acceptButton";}else{if(_107&&_107==_104){_109="declineButton";}}if(!_107){this._dialog=new Ext.Window({applyTo:_f4,width:_f6,height:_f7,minWidth:_f8,minHeight:_f9,constraintoviewport:true,underlay:_fa,resizable:false,draggable:false,modal:_fd,shim:true,collapsible:false,closable:_fe,fixedCenter:true,autoHeight:_101,shadow:_102,buttons:_10a});}else{this._dialog=new Ext.Window({applyTo:_f4,width:_f6,height:_f7,minWidth:_f8,minHeight:_f9,constraintoviewport:true,underlay:_fa,resizable:false,draggable:false,modal:_fd,shim:true,collapsible:false,closable:_fe,fixedCenter:true,autoHeight:_101,shadow:_102,buttons:_10a,defaultButton:_109});}if(_103){this._dialog.addButton({text:_103,handler:_105});}if(_104){this._dialog.addButton({text:_104,handler:_106});}this._dialog.anchorTo(document.body,"c-c?");this._dialog.on("show",function(id){var div=tangler.util.Element.getEl(id.el);div.setStyle("overflow","auto");var text=div.select(".ext-mb-textarea",true);if(!text.item(0)){text=div.select(".ext-mb-text",true);}if(text.item(0)){text.item(0).dom.select();}},this._dialogId);};tangler.widget.DialogWrapper.prototype={getDialog:function(){return this._dialog;},setContentSize:function(_10e,_10f){if(this._dialog==null){return;}this._dialog.resizeTo(_10e,_10f);this._dialog.setContentSize(_10e,_10f);this._dialog.center();},showDialog:function(_110){if(this._dialog==null){return;}var elem=tangler.util.Options.getOptionalArgument("element",_110);var _112=tangler.util.Options.getOptionalArgument("anchor",_110,"");if(elem){this._dialog.alignTo(elem,_112);}var _113=tangler.util.Helper.getBrowserSize();if(this._dialog.maximumWidth>_113.width){this._dialog.maximumWidth=(_113.width-50);}this._dialog.show();},isVisible:function(){return (this._dialog!=null&&this._dialog.isVisible());},closeAndDestroy:function(_114){if(this._dialog==null){return;}this._dialog.hide();this._dialog.destroy(_114);},destroy:function(_115){this._dialog.destroy(_115);},hide:function(){if(this._dialog==null){return;}this._dialog.hide();},addListener:function(_116,fn,_118){if(this._dialog==null){return;}this._dialog.on(_116,fn,this,_118);},setTitle:function(_119){if(this._dialog==null){return;}this._dialog.setTitle(_119);}};
tangler.view.MessageMode={Nothing:0,Chat:1,Post:2};tangler.view.GroupState=function(){var _128=function(){this.isGroupSubscribed=false;this.isGroupWatched=false;this.currentTopic=null;this.isTopicWatched=false;this.groupInitialised=false;this.messageMode=tangler.view.MessageMode.Post;this.addEvents({"groupSubscribtionChanged":true,"preGroupWatchedChanged":true,"groupWatchedChanged":true,"preTopicWatchedChanged":true,"topicWatchedChanged":true,"topicViewed":true,"messageModeChanged":true});_128.superclass.constructor.call(this);};Ext.extend(_128,Ext.util.Observable,{setGroupInitialised:function(_129){this.groupInitialised=_129;},isGroupInitialised:function(){return this.groupInitialised;},isMessagePostMode:function(){return this.messageMode==tangler.view.MessageMode.Post;},setMessageMode:function(mode){this.messageMode=mode;this.fireEvent("messageModeChanged");},getMessageMode:function(){return this.messageMode;},setTopicWatched:function(_12b,_12c){var _12d=this.isTopicWatched!=_12b;this.isTopicWatched=_12b;this.fireEvent("preTopicWatchedChanged");if(_12d){this.fireEvent("topicWatchedChanged",_12c);}},getTopicWatched:function(){return this.isTopicWatched;},setCurrentTopic:function(_12e){this.currentTopic=_12e;this.fireEvent("topicViewed");},getCurrentTopic:function(){return this.currentTopic;},setGroupWatched:function(_12f){var _130=this.isGroupWatched!=_12f;this.isGroupWatched=_12f;this.fireEvent("preGroupWatchedChanged");if(_130){this.fireEvent("groupWatchedChanged");}},getGroupWatched:function(){return this.isGroupWatched;},setGroupSubscribed:function(_131){if(_131==this.isGroupSubscribed){return;}this.isGroupSubscribed=_131;this.fireEvent("groupSubscribtionChanged");},getGroupSubscribed:function(){return this.isGroupSubscribed;}});return new _128();}();tangler.view.Group=function(){return {toggleChatPostMode:function(){tangler.view.GroupEmbed.toggleChatPostMode();},submitMessage:function(){tangler.view.GroupEmbed.submitMessage();},onMessageEvent:function(_132){tangler.view.GroupEmbed.onMessageEvent(_132);},onTopicEvent:function(_133){tangler.view.GroupEmbed.onTopicEvent(_133);}};}();tangler.view.TopicLifecycleConvertor=function(){var _134=null;return {setTopicLifecycle:function(_135){_134=_135;},getTopicLifecycle:function(){return _134;},getDetail:function(){return _134.detail.topicDetail;},getWatched:function(){return _134.detail.watched;},getPermissions:function(){return _134.permissions;},getAuditHistory:function(){return _134.auditHistory;}};}();tangler.view.GroupEmbed=function(){var _136=tangler.view.GroupState;var _137=tangler.view.TopicLifecycleConvertor;var _138={Init:0,Showing:1,Creating:2};var _139={Normal:0,ContactChat:1};var _13a=0;var _13b=0;var _13c=false;var _13d=_138.Init;var _13e=null;var _13f=null;var _140=null;var _141=null;var _142=null;var _143=0;var _144=_139.Normal;var _145=0;var _146=null;var _147=0;var _148=0;var _149=null;var _14a=null;var _14b=null;var _14c=null;var _14d=null;var _14e=null;var _14f=false;var _150=false;var _151=0;var _152=0;var _153=0;var _154=null;var _155=0;var _156=new Ext.Template("<p class=\"{contactClass}\" id=\"{id}\">","<a class=\"imgLink\" title=","CLICK_TO_VIEW_PROFILE"," href=\"{href}\">","<img src=\"{img}\" height=\"48\" width=\"48\">","</a>","<a href=\"{href}\">{name}</a>","</p>");var _157=new Ext.Template("<div id=\"topicHeaderDefault\">","<a id=\"topicWatchTag\" href=\"#\" onclick=\"tangler.view.GroupEmbed.onWatchTopic(tangler.info.Session.getTopicId());return false;\"><img style=\"{watchStyle}\" src=\"{watchImageSource}\"/></a>","<h2 id=\"topicTitle\">{topicTitle}</h2>","<div class=\"topicOptions\">","<span>","<a id=\"topicEditTag\" href=\"#\" title=\"Edit topic name\" onclick=\"tangler.view.GroupEmbed.onEditTopic(tangler.info.Session.getTopicId());return false;\" style=\"visibility:hidden\"><img src=\"{editImageSource}\" alt=\"Edit topic name\"/></a>","<a id=\"topicDeleteTag\" href=\"#\" title=\"Delete topic\" onclick=\"tangler.view.GroupEmbed.onDeleteTopic(tangler.info.Session.getTopicId());return true;\" style=\"visibility:hidden\"><img src=\"{deleteImageSource}\" alt=\"Delete topic\"/></a>","</span>","<a id=\"topicLink\" href=\"{topicHref}\" title=\"{topicHref}\">Link to this topic</a>","</div>","</div>");var _158=new Ext.Template("<div id=\"topicHeaderCreate\">","<input id=\"newTopicName\" type=\"text\" name=\"newTopicName\" maxlength=\"128\"","onkeypress=\"tangler.util.Helper.returnOnEnter(event, tangler.view.GroupEmbed.onCreateTopicClicked);return true;\"","onkeyup=\"return tangler.view.GroupEmbed.checkField()\"","onfocus=\"tangler.view.GroupEmbed.onCreateTopicInputFocused();return false;\" value=\"{topicCreateValue}\"/>","<div>","<input id=\"createTopicButton\" type=\"button\" value=\"","CREATE","\" class=\"defaultAction\"","onclick=\"tangler.view.GroupEmbed.onCreateTopicClicked();\" disabled/>","<a id=\"cancelCreateTopic\" href=\"#\" class=\"seconadryAction\"","onclick=\"tangler.view.GroupEmbed.onCancelCreateTopic();return false;\">","CANCEL","</a>","</div>","<br/>","<br/>","<p id=\"topicError\" class=\"error\"/>","</div>");var _159=new Ext.Template("<a href=\"{resourceUrl}\">{resourceName}</a>","<p class=\"link\">{resourceUrl}</p><br />");var _15a=new Ext.Template("<a href=\"#\" onclick=\"tangler.view.GroupEmbed.loadAndOpenTopicCallback({topicid});return false;\">{topicname}</a>","<span>Last message by <a href=\"{userurl}\">{username}</a>, {timespan}</span>");var _15b=null;var _15c=null;var _15d=null;var _15e=null;var _15f=null;var _160=null;var _161=null;var _162=null;var _163=null;var _164=false;var _165=false;var _166=false;var _167=null;var _168=null;var _169=false;var _16a={chatSize:70,dwrTimeout:30000,messageInput:"messageInput",topicList:"topicList",topicMessageList:"topicMessageList",topicMessageView:"topicMessageView",topicResources:"topicResources",topicMessageWaiting:"topicMessageWaiting",topicView:"topicViewContainer",topicHeaderCreate:"topicHeaderCreate",topicHeaderDefault:"topicHeaderDefault",topicWaiting:"topicWaiting",topicEditButton:"topicEditTag",topicDeleteButton:"topicDeleteTag",newTopicInput:"newTopicName",createTopicError:"topicError",createTopicButton:"createTopicAction",nonParticipatedList:"nonParticipatedList",participatedList:"participatedList",participatedActivity:"participatedActivity",groupOnlineSubscriberList:"groupOnlineSubscriberList",groupOfflineSubscriberList:"groupOfflineSubscriberList",groupOptions:"groupActions",groupSubscriberCount:"groupSubscriberCount",editMessageInput:"editMessageInput",notAuthenticated:"msgAuthBox",resourceTab:"resTab",messageTab:"msgTab",topicLink:"topicLink",groupContainer:"groupContainer",groupTopicListContainer:"topicListContainer",groupHomeContainer:"groupHomeContainer",groupDiscussContainer:"groupDiscussContainer",groupParticipantsContainer:"groupSubscribersContainer",topicContainer:"topicViewContainer",topicMessageContainer:"topicMessagesContainer",topicLinksContainer:"topicResourcesContainer",topicEmptyContainer:"topicEmptyContainer",groupHeaderPanel:"groupHeaderContainer",groupHomePanel:"groupHome",groupDiscussStartPanel:"groupDiscussStart",groupParticipantsPanel:"groupSubscribers",groupTopicListHeaderPanel:"topicListHeader",groupTopicListBodyPanel:"topicListBody",groupTopicListFooterPanel:"topicListFooter",topicMessageListPanel:"topicMessageList",topicMessageEditorPanel:"topicMessageControl",topicLinksPanel:"topicResources",topicEmptyPanel:"topicEmpty",topicHeaderPanel:"topicHeader"};function incrementTopicCount(){_152=_152+1;var _16b=tangler.util.Element.getEl(_16a.topicList).select("ul").elements[0];var _16c=tangler.util.Element.getEl(_16b).select("li").elements.length;setCurrentTopicCount(_16c);}function decrementTopicCount(){_152=_152-1;var _16d=tangler.util.Element.getEl(_16a.topicList).select("ul").elements[0];var _16e=tangler.util.Element.getEl(_16d).select("li").elements.length;setCurrentTopicCount(_16e);}function createTopicObject(_16f){var a=tangler.util.Element.getEl("tList-"+_16f);if(a==null){return null;}var _171=a.select("span.topicData").elements[0];var t={id:_16f,name:a.dom.name,topicData:_171.innerHTML};return t;}function showTopic(t,_174){if(_13d==_138.Creating){removeTopic("new");}_13d=_138.Showing;var _175=tangler.util.Options.getOptionalArgument("getMessages",_174,true);setTopicCurrentlyViewed(t);_136.setTopicWatched(tangler.util.Options.getOptionalArgument("isWatched",_174,false),{send:false});_137.setTopicLifecycle(t);var _176=_137.getDetail();var _177=_137.getPermissions();_174.group=_176.group;_167.showInput();if(_175){tangler.info.Session.setMessageLastViewedDate(0);showMessageWaiting();getMessages();}}function sendTopicLastMessageViewed(_178){if(tangler.info.Session.getSecurity().isAuthenticated()){if(_178==0){return;}var _179=tangler.info.Session.getMessageLastViewedDate();var dt=tangler.util.formatter.getDateObject(_179);DWRTopicHandler.setTopicLastMessageViewed(_178,tangler.util.formatter.getDateObject(_179));}}function removeTopic(_17b){var _17c=tangler.util.Element.getEl("tList-"+_17b);if(_17c!=null){tangler.util.Element.getEl(_17c.dom.parentNode).remove();}var ul=tangler.util.Element.getEl(_16a.topicList).select("ul").elements[0];if(tangler.util.Element.getEl(ul).select("li").elements.length==0){showTopicCreateHint();return false;}return true;}function hideTopicHeader(){tangler.util.Element.hideElements([_16a.topicHeaderCreate,_16a.topicHeaderDefault],true);}function showTopicView(){showMessagePanel();}function showTopicCreateHint(){if(tangler.info.Session.getSecurity().isAuthenticated()){tangler.util.Element.removeChildNodes(_16a.topicList);var href=tangler.util.Element.createNode("a",{attributes:[["href","#"]],children:[document.createTextNode("create a new topic")]});Ext.EventManager.addListener(href,"click",tangler.view.GroupEmbed.showCreateTopic);var p=tangler.util.Element.createNode("p",{children:[document.createTextNode("This group currently has no topics. Why not "),href,document.createTextNode(".")]});tangler.util.Element.getEl(_16a.topicList).dom.appendChild(p);}else{tangler.util.Element.removeChildNodes(_16a.topicList);var p=tangler.util.Element.createNode("p",{children:[document.createTextNode("This group currently has no topics.")]});tangler.util.Element.getEl(_16a.topicList).dom.appendChild(p);}}function showMessageWaiting(){showTopicView();tangler.util.Element.removeChildNodes(_16a.topicMessageListPanel);tangler.util.Element.getEl(_16a.topicMessageListPanel).dom.appendChild(tangler.util.Element.createSmallLoadingElement());}function showTopicBlank(){showTopicView();_167.hideInput();}function showTopicHeaderCreate(_180){tangler.util.Element.removeChildNodes(_16a.topicMessageList);showMessagePanel();hideMessagePanel();tangler.util.Element.hideElement(_16a.topicMessageWaiting,true);_158.overwrite(_16a.topicHeaderPanel,{topicCreateValue:_180});tangler.util.Element.getEl(_16a.newTopicInput).dom.select();tangler.util.Element.getEl(_16a.newTopicInput).dom.focus();}function showTopicMessageView(){showTopicView();_167.showInput();}function updateNewTopic(t){tangler.domain.TopicElementFlyweight.setContext(t.detail.topicDetail,t.permissions,t.auditHistory);tangler.domain.TopicElementFlyweight.setContextWatched(t.detail.watched);tangler.domain.TopicElementFlyweight.addTopic({showWatchedStar:!_136.getGroupWatched(),fromCreate:true,topicClickCallback:tangler.view.GroupEmbed.openTopicCallback});showTopic(t,{showGroup:false,getMessages:false,isWatched:true});_145=0;showTopicMessageView();incrementTopicCount();_167.focusInput();topic=null;}function createTopicRequest(_182){var _183=tangler.util.Element.getEl("createTopicButton").dom.value;if(_183.indexOf(PROCESSING)!=-1){return;}var _184=tangler.util.Options.getOptionalArgument("groupId",_182,tangler.info.Session.getGroupId());var _185=tangler.util.Element.getEl(_16a.newTopicInput).dom.value;if(_185.indexOf(ENTER_TOPIC_NAME)!=-1||_185.trim().length==0){tangler.util.Element.getEl(_16a.newTopicInput).dom.focus();tangler.util.Element.removeChildNodes(_16a.createTopicError);tangler.util.Element.getEl(_16a.createTopicError).dom.appendChild(document.createTextNode(ENTER_TOPIC_NAME+"."));return;}var _186=tangler.util.Options.getOptionalArgument("callback",_182,updateNewTopic);var url=tangler.util.Options.getOptionalArgument("url",_182,"");tangler.util.Element.getEl("createTopicButton").dom.value=PROCESSING;tangler.util.Element.getEl("cancelCreateTopic").hide();DWRTopicHandler.createTopic(_185.trim(),_184,url,{callback:_186,errorHandler:createTopicFailed});}function createTopicFailed(_188){tangler.util.Element.getEl("createTopicButton").dom.value=CREATE;tangler.util.Element.getEl("cancelCreateTopic").show();tangler.util.Element.getEl("createTopicButton").set({disabled:false});tangler.util.Element.removeChildNodes(_16a.createTopicError);tangler.util.Element.getEl(_16a.createTopicError).dom.appendChild(document.createTextNode("An error has occured, please try again"));tangler.util.Element.getEl(_16a.newTopicInput).dom.select();}function openTopicAndMessagesSuccessful(_189){_145=0;showTopic(_189.topic,{isWatched:_189.topic.detail.watched,showGroup:false,clearMessages:true,getMessages:false});tangler.info.Session.setMessageLastViewedDate(0);showMessages(_189.messages,{lastRead:_189.lastRead});}function getMessages(){var _18a=tangler.info.Session.getTopicId();if(_18a=="0"){return;}_145=0;DWRTopicHandler.getMessages(_18a,{callback:showMessages,errorHandler:messageErrorCallback,timeout:_16a.dwrTimeout});}function retryGetMessages(){showMessageWaiting();getMessages();return false;}function messageErrorCallback(_18b){tangler.util.Element.getEl(_16a.topicMessageList).dom.innerHTML="";var _18c=tangler.util.Element.createNode("a",{attributes:[["href","#"]],children:[document.createTextNode("Try again")]});Ext.EventManager.addListener(_18c,"click",retryGetMessages);var li=tangler.util.Element.createNode("li",{attributes:[["class","error"]],children:[document.createTextNode("An error occured while retrieving messages."),tangler.util.Element.createNode("br"),_18c]});li.className="error";tangler.util.Element.getEl(_16a.topicMessageList).dom.appendChild(li);showTopicMessageView();}function setTopicMessageCount(_18e,_18f){var _190=tangler.util.Element.getEl("topicUnreadCount-"+_18e);if(tangler.util.Element.getEl("tList-"+_18e)!=null){var _191=tangler.util.Element.getEl("tList-"+_18e).dom.className.indexOf("selected")!=-1?"selected":"";if(_18f>0){_191=_191+" newmessage";}tangler.util.Element.getEl("tList-"+_18e).dom.className=_191;}if(_190){tangler.util.Element.removeChildNodes("topicUnreadCount-"+_18e);if(_18f>0){_190.dom.appendChild(document.createTextNode(" ("+_18f+")"));}}}function unsuccessfulDeleteTopic(_192){alert("Failed to remove topic");}function successfulDeleteTopic(){removeTopic(_140);tangler.info.Session.setTopicId(0);_13d=_138.Init;decrementTopicCount();}function deleteTopicAccepted(){_13f.hide();DWRTopicHandler.removeTopic(_140,{callback:successfulDeleteTopic,errorHandler:unsuccessfulDeleteTopic});}function deleteTopicDeclined(){_13f.hide();}function editTopicAccept(){if(tangler.util.Element.getEl("editTopicInput").dom.value.trim().length==0){return;}DWRTopicHandler.modifyTopic(editTopicId,tangler.util.Element.getEl("editTopicInput").dom.value.trim(),{callback:editTopicSuccessful,errorHandler:editTopicFailed});}function editTopicDecline(){_13e.hide();}function editTopicFailed(_193){_13e.hide();alert("The topic failed to update");}function editTopicSuccessful(_194){_13e.hide();setTopicCurrentlyViewed(_194,{clearMessages:false});}function showTopicFromBucket(_195){var dom=document.createDocumentFragment();addOrUpdateTopic(_195,{dom:dom});var ul=tangler.util.Element.getEl(_16a.topicList).select("ul").elements[0];var _198=tangler.util.Element.getEl(ul).select("li").elements;if(_198==null||_198.length==0){ul.appendChild(dom);}else{ul.insertBefore(dom,_198[0]);}tangler.util.Helper.setSelectedLink(_16a.topicList,"tList-"+_195.topicDetail.globalId);tangler.view.GroupEmbed.getTopic(_195.topicDetail.globalId);}function createFrontPageTopicItem(_199,_19a){var _19b=_19a.topicDetail.name+(_19a.newMessages>0?" ("+_19a.newMessages+")":"");var li=tangler.util.Element.createNode("li");var _19d=tangler.util.formatter.formatElapsedDate(_19a.lastMessagePosted,true);var _19e=_19a.topicDetail.name+(_19a.newMessages>0?" ("+_19a.newMessages+")":"");_15a.append(li,{topicname:_19b,topicid:_19a.topicDetail.globalId,userurl:tangler.info.Page.wrapContextUrl("/people/id/"+_19a.lastMessageAuthor.globalId),username:_19a.lastMessageAuthor.screenName,timespan:_19d});tangler.util.Element.getEl(_199).dom.appendChild(li);}function setCreateMessageEventArguments(_19f,_1a0){_19f.onModifyMouseOver=tangler.view.GroupEmbed.highlight(_1a0.detail.globalId);_19f.onModifyMouseOut=tangler.view.GroupEmbed.removeHighlight(_1a0.detail.globalId);_19f.onDeleteMouseOver=tangler.view.GroupEmbed.highlight(_1a0.detail.globalId);_19f.onDeleteMouseOut=tangler.view.GroupEmbed.removeHighlight(_1a0.detail.globalId);_19f.onDeleteClick=tangler.view.GroupEmbed.onDeleteMessage(_1a0.detail.globalId);_19f.onEditMouseOver=tangler.view.GroupEmbed.highlight(_1a0.detail.globalId);_19f.onEditMouseOut=tangler.view.GroupEmbed.removeHighlight(_1a0.detail.globalId);_19f.onEditClick=tangler.view.GroupEmbed.onEditMessage(_1a0.detail.globalId);_19f.onTimespanMouseOver=tangler.view.GroupEmbed.highlight(_1a0.detail.globalId);_19f.onTimespanMouseOut=tangler.view.GroupEmbed.removeHighlight(_1a0.detail.globalId);return _19f;}function buildMessageItem(_1a1,_1a2){var _1a3=tangler.info.Session.getMessageLastViewedDate();var utc=_1a1.detail.created.toUTCString();var _1a5=new Date();var _1a6=tangler.util.Options.getOptionalArgument("lastRead",_1a2,0);var dom=tangler.util.Options.getOptionalArgument("fragment",_1a2,tangler.util.Element.getEl(_16a.topicMessageList));if(_1a1.detail.globalTopicId==tangler.info.Session.getTopicId()){var msg=new tangler.domain.MessageElement(_1a1.detail,_1a1.permissions,_1a1.auditHistory);if(_145!=_1a1.detail.author.globalId){msg.createMessageAuthor(dom,{hasLink:false});}_1a2=setCreateMessageEventArguments(_1a2,_1a1);var _1a9=msg.createMessage(dom,_1a2);_145=_1a1.detail.author.globalId;delete msg;}}function buildMessageItems(_1aa,_1ab){var _1ac=0;var _1ad=0;for(var i=0;i<_1aa.length;++i){buildMessageItem(_1aa[i],_1ab);var _1af=tangler.util.formatter.formatDateTime(_1aa[i].detail.lastModified);if((_1ac==0&&i==0)||(_1af<_1ac)){_1ad=_1aa[i].detail.globalId;}if(_1af>tangler.info.Session.getMessageLastViewedDate()){tangler.info.Session.setMessageLastViewedDate(_1af);}}return _1ad;}function showMessages(_1b0,_1b1){var _1b2=tangler.util.Options.getOptionalArgument("lastRead",_1b1,0);var _1b3=tangler.util.Options.getOptionalArgument("scrollToBottom",_1b1,(_1b2!=0?true:false));var _1b4=_1b0.length>0;if(_146==null){_146=new tangler.util.Pane(_16a.topicMessageList);}var _1b5=document.createDocumentFragment();var _1b6=buildMessageItems(_1b0,{lastRead:_1b2,fragment:_1b5});tangler.util.Element.getEl(_16a.topicMessageList).dom.innerHTML="";tangler.util.Element.getEl(_16a.topicMessageList).dom.appendChild(_1b5);var _1b7=false;if(!tangler.util.Element.showingElement(_16a.topicResources)){_1b7=showTopicMessageView();}if(_1b4){var _1b8=tangler.info.Session.getMessageLastViewedDate();var _1b9=tangler.util.formatter.formatDateTime(_1b2);if(_1b9==0||(_1b9!=_1b8)){sendTopicLastMessageViewed(tangler.info.Session.getTopicId());}if(_1b3){_146.activeScroll();}}if(_1b7){_167.focusInput();}}function sendMessageFailed(_1ba){if(_14a!=null&&_14a.isVisible()){_14a.hide();}alert("We were unable to send your message, please try again");_167.setInputContent(_149);_167.focusInput();}function createMessageCallback(_1bb){if(_14a!=null&&_14a.isVisible()){_14a.hide();}buildMessageItem(_1bb,{lastRead:new Date(),ignoreLastRead:true});tangler.info.Session.setMessageLastViewedDate(tangler.util.formatter.formatDateTime(_1bb.detail.lastModified));_136.setTopicWatched(true,{send:false});if(_146==null){_146=new tangler.util.Pane(_16a.topicMessageList);}_146.activeScroll();}function deleteMessageDeclined(){_141.hide();_167.focusInput();}function deleteMessageAccepted(){_141.hide();if(_147!=null&&_147!=0){DWRTopicHandler.removeMessage(_147,{callback:deleteMessageCallback,errorHandler:deleteMessageFailed});}}function deleteMessageFailed(_1bc){alert("Failed to remove message");_167.focusInput();}function deleteMessageCallback(_1bd){var _1be=new tangler.domain.MessageElement(_1bd.detail,_1bd.permissions,_1bd.auditHistory);_1be.removeElement();delete _1be;_167.focusInput();}function editMessageAccepted(){var _1bf=_168.getInputContent(_16a.messageInput);if(_1bf.length==0){return;}_142.hide();if(_148!=null&&_148!=0){if(_1bf.length>1000){if(_14a==null){_14a=new tangler.widget.DialogWrapper("sending-dlg",{width:150,height:105});}_14a.showDialog();}DWRTopicHandler.modifyMessage(_148,_1bf,{callback:editMessageCallback,errorHandler:editMessageFailed});}}function editMessageDeclined(){_142.hide();}function editMessageFailed(_1c0){if(_14a!=null&&_14a.isVisible()){_14a.hide();}alert("Failed to edit message");}function editMessageCallback(_1c1){if(_14a!=null&&_14a.isVisible()){_14a.hide();}_148=0;var _1c2=new tangler.domain.MessageElement(_1c1.detail,_1c1.permissions,_1c1.auditHistory);var _1c3={};_1c3=setCreateMessageEventArguments(_1c3,_1c1);_1c2.updateElement(_1c3);delete _1c2;}function getEmbedImage(_1c4){var _1c5=_1c4.replace(/<object\b[^>]*>(.*?)<\/object>/,function(_1c6){var re=new RegExp("<embed\\b[^>]*>");var m=re.exec(_1c6);if(m==null){return null;}var _1c9=tangler.util.Helper.parseAttributes(m[0]);var _1ca="";var _1cb="";var _1cc="high";var _1cd=_1c9["width"]==null?"450":_1c9["width"];var _1ce=_1c9["height"]==null?"350":_1c9["height"];_1ca+="<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"";_1ca+=" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\"";_1ca+=" width=\""+_1cd+"\" height=\""+_1ce+"\">";_1ca+="<param name=\"movie\" value=\""+_1c9["src"]+"\" />";_1ca+="<param name=\"menu\" value=\"false\" />";_1ca+="<param name=\"quality\" value=\""+_1cc+"\" />";_1ca+="<param name=\"wmode\" value=\""+_1cb+"\" />";_1ca+="<embed src=\""+_1c9["src"]+"\" wmode=\""+_1cb+"\" quality=\""+_1cc+"\" menu=\"false\""+"\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" ";if(_1c9["flashvars"]!=null){_1ca+="flashvars=\""+_1c9["flashvars"]+"\" ";}_1ca+="width=\""+_1cd+"\" height=\""+_1ce+"\"></embed></object>";var html="<img src=\""+(tinyMCE.getParam("theme_href")+"/images/spacer.gif")+"\" mce_src=\""+(tinyMCE.getParam("theme_href")+"/images/spacer.gif")+"\" "+"width="+_1cd+"height="+_1ce+" "+"border=\"0\" alt=\""+escape(_1ca)+"\" title=\""+escape(_1ca)+"\" class=\"tanglerMediaItem\" />";return html;});return _1c5;}function updateGroupOnlineCount(_1d0){var _1d1=tangler.util.Element.getEl("groupParticipantCount");tangler.util.Element.removeChildNodes("groupParticipantCount");tangler.util.Element.removeChildNodes("tSubscribers");var _1d2;var _1d3=0;var text;var _1d5;if(_1d0==null){_1d2=0;}else{if(_1d0.participationCount==null){_1d2=_1d0;}else{_1d2=_1d0.monitoringCount;_1d3=_1d0.onlineSubscriberCount;}}_1d5=_1d3+" Online";text=_1d2+" Online";_1d1.dom.appendChild(document.createTextNode(_1d5));_155=_1d2;if(_1d2>0){_15d.setTitle("Participants ("+text+")");}else{_15d.setTitle("Participants");}}function registerGroupCallback(_1d6){updateGroupOnlineCount(_1d6);}function deregisterGroup(){DWRGroupHandler.deregisterGroup();sendTopicLastMessageViewed(tangler.info.Session.getTopicId());}function addOrUpdateTopic(_1d7,_1d8){var dom=tangler.util.Options.getOptionalArgument("dom",_1d8,null);tangler.domain.TopicElementFlyweight.setContext(_1d7.topicDetailCountSummary.topicDetail,null,null,_1d7.topicDetailCountSummary.countSummary);tangler.domain.TopicElementFlyweight.setContextWatched(_1d7.watched);tangler.domain.TopicElementFlyweight.addOrUpdateTopic({showWatchedStar:!_136.getGroupWatched(),fromCreate:false,topicClickCallback:tangler.view.GroupEmbed.openTopicCallback,dom:dom});if(_1d7.topicDetailCountSummary.topicDetail.type=="CONTACT_CHAT"&&_13b==0){_13b=_1d7.topicDetailCountSummary.topicDetail.globalId;}if(_14d==null||tangler.util.compare.isDateGreater(tangler.domain.TopicElementFlyweight.getTopicLastAction(),_14d)){_14d=tangler.domain.TopicElementFlyweight.getTopicLastAction();}if(_14e==null||tangler.util.compare.isDateLesser(tangler.domain.TopicElementFlyweight.getTopicLastAction(),_14e)){_14e=tangler.domain.TopicElementFlyweight.getTopicLastAction();}}function addTopicFromBucketError(_1da){_14f=false;var _1db=tangler.util.Element.getEl(_16a.topicList).select("ul").elements[0];var _1dc=tangler.util.Element.getEl(_1db).select("li").elements.length;if(_1dc>0){setCurrentTopicCount(_1dc);}else{tangler.util.Element.getEl("topicListFooter").dom.innerHTML="<a href='#' onclick='tangler.view.GroupEmbed.loadTopicList();return false;'>"+RETRY+"</a>";}}function addTopicFromBucket(_1dd){if(!_13c){_13c=true;if(_1dd.length==0){showTopicCreateHint();tangler.util.Element.showElement(_16a.createTopicButton);return;}}var dom=document.createDocumentFragment();var _1df=false;var _1e0=0;Ext.each(_1dd,function(_1e1,_1e2,list){if(_13b!=_1e1.topicDetailCountSummary.topicDetail.globalId||!_1df){addOrUpdateTopic(_1e1,{dom:dom});if(_13b==_1e1.topicDetailCountSummary.topicDetail.globalId){_1df=true;}}});var _1e4=tangler.util.Element.getEl(_16a.topicList).select("ul").elements[0];_1e4.appendChild(dom);setCurrentTopicCount(tangler.util.Element.getEl(_1e4).select("li").elements.length);if(_13b!=0){setTopicMessageCount(_13b,0);tangler.util.Helper.setSelectedLink(_16a.topicList,"tList-"+_13b);tangler.view.GroupEmbed.getTopic(_13b);_13b=0;}tangler.util.Element.showElement(_16a.createTopicButton);_14f=false;}function setCurrentTopicCount(_1e5){_153=_1e5;var _1e6=SHOWING_TOPICS.replace("{0}",_153).replace("{1}",_152);tangler.util.Element.getEl("topicListFooter").dom.innerHTML=_1e6;tangler.util.Element.showElement("topicListFooter");}function clearGroupMessagesCallback(){var _1e7=tangler.util.Element.getEl(_16a.topicList);if(_1e7==null){return;}var ul=_1e7.select("ul").elements[0];var _1e9=tangler.util.Element.getEl(ul).select("li").elements;Ext.each(_1e9,function(_1ea,_1eb,list){var a=tangler.util.Element.getEl(_1ea).select("a").elements[0];var sp=new Array();sp=a.id.split("tList-");setTopicMessageCount(sp[1],0);});}function updateGroupSubscriberCount(){var _1ef=_143.toString()+SUBSCRIBER;var _1f0=tangler.util.Element.getEl(_16a.groupSubscriberCount);if(_1f0!=null){_1f0.dom.innerHTML=_1ef;}}function getIncommingResourceCallback(_1f1){tangler.util.Element.removeChildNodes(_16a.topicResources);Ext.each(_1f1,function(_1f2,_1f3,list){_159.append(_16a.topicResources,{resourceUrl:_1f2.url,resourceName:_1f2.name});});setResourceCount(_1f1.length);}function setResourceCount(_1f5){if(_1f5>0){_162.setTitle("Links ("+_1f5+")");}else{_162.setTitle("Links");}}function showTopicHeaderName(_1f6){var _1f7=tangler.util.Element.getEl("tList-"+_1f6);if(_1f7==null){return;}if(!tangler.util.Element.getEl("topicTitle")){return;}var _1f8=(_1f7.dom.name==null|_1f7.dom.name.length==0)?"General Conversation":_1f7.dom.name;tangler.util.Element.removeChildNodes("topicTitle");tangler.util.Element.getEl("topicTitle").dom.appendChild(document.createTextNode(_1f8));}function getAuthenticationTokenSuccessful(_1f9){if(_1f9!=null){var _1fa=tangler.util.Element.getEl("disabledMessage");tangler.util.Element.removeChildNodes("disabledMessage");_1fa.dom.appendChild(document.createTextNode("Your are now verified.  Please wait while we log you in."));_14b=_1f9;setTimeout("tangler.view.GroupEmbed.reloadAuthenticatedPage();",2000);}else{tangler.info.Page.onLoginClicked();}}function checkAuthentication(){DWRRegistrationHandler.getAuthenticationTokenFromRegistrationId(tangler.info.Session.getRegistrationId(),{callback:getAuthenticationTokenSuccessful});}function showMessagePanel(){_163.getRegion("center").getTabs().stripWrap.setDisplayed(true);_163.getRegion("north").resizeTo(20);_163.getRegion("center").hidePanel(_160);_163.getRegion("center").showPanel(_15e);setResourceCount(0);_167.showInput();}function hideMessagePanel(){_163.getRegion("center").getTabs().stripWrap.setDisplayed(false);_163.getRegion("north").resizeTo(40);_163.getRegion("center").showPanel(_160);}function onTopicResourcesClicked(){if(_164){DWRTopicHandler.getIncommingResources(tangler.info.Session.getTopicId(),{callback:getIncommingResourceCallback});}}function onTopicMessagesClicked(){}function showTopicHeader(_1fb){var _1fc=tangler.util.Options.getOptionalArgument("clearMessages",_1fb,true);var _1fd=_154.detail.topicDetail.name;var _1fe=_1fd==null?"General Conversation":_1fd;var _1ff="http://"+window.location.host+tangler.info.Page.wrapContextUrl("/embed/topic/"+tangler.info.Session.getTopicId());var _200=tangler.util.Helper.getCnameValue("/images/webview/pencil_12.gif");var _201=tangler.util.Helper.getCnameValue("/images/webview/pencil_12.gif");var _202="";if(Ext.isIE){var htc=tangler.info.Page.wrapContextUrl("/css/iepngfix.htc");_202="behavior: url('"+htc+"');";}_157.overwrite(_16a.topicHeaderPanel,{topicTitle:_1fe,topicHref:_1ff,watchImageSource:tangler.util.Helper.getWatchImage(_136.getTopicWatched()),editImageSource:tangler.info.Page.wrapCnameContextUrl("/images/webview/pencil_12.gif",_200),deleteImageSource:tangler.info.Page.wrapCnameContextUrl("/images/webview/cross_12.gif",_201),watchStyle:_202});tangler.util.Element.hideElements([_16a.topicEditButton,_16a.topicDeleteButton],true);var _204=_154.permissions;if(_204.modifiable){tangler.util.Element.showElement(_16a.topicEditButton,"block");}if(_204.deletable&&!tangler.info.Page.isEmbed()){tangler.util.Element.showElement(_16a.topicDeleteButton,"block");}if(_1fc){tangler.util.Element.removeChildNodes(_16a.topicMessageList);}}function setTopicCurrentlyViewed(_205,_206){_154=_205;tangler.info.Session.setTopicId(_205.detail.topicDetail.globalId);showTopicHeader(_206);_136.setCurrentTopic(_205);}function buildDiscussLayout(){if(_166){return;}_163=new Ext.BorderLayout(_16a.topicContainer,{north:{initialSize:20},center:{tabPosition:"top"}});_15e=new Ext.BorderLayout(_16a.topicMessageContainer,{center:{minSize:100},south:{split:tangler.info.Session.getSecurity().isAuthenticated(),initialSize:100,minSize:70,maxSize:500}});_15f=new Ext.BorderLayout(_16a.topicLinksContainer,{center:{}});_160=new Ext.BorderLayout(_16a.topicEmptyContainer,{center:{}});_163.beginUpdate();_15e.beginUpdate();_15f.beginUpdate();_160.beginUpdate();_15f.add("center",new Ext.ContentPanel(_16a.topicLinksPanel,{fitToFrame:true,autoScroll:true}));_163.add("north",new Ext.ContentPanel(_16a.topicHeaderPanel,{fitToFrame:true,autoScroll:false,closable:false}));var _207=new Ext.NestedLayoutPanel(_15e,{title:"Messages",closable:false});_163.add("center",_207);_162=new Ext.NestedLayoutPanel(_15f,{title:"Links",closable:false});_163.add("center",_162);_160.add("center",new Ext.ContentPanel(_16a.topicEmptyPanel,{fitToFrame:true,autoScroll:true}));_163.add("center",new Ext.NestedLayoutPanel(_160,{title:"Empty",closable:false}));_163.getRegion("center").hidePanel(_160);_163.getRegion("center").showPanel(_15e);_15e.add("center",new Ext.ContentPanel(_16a.topicMessageListPanel,{fitToFrame:true,autoScroll:true}));_15e.add("south",new Ext.ContentPanel(_16a.topicMessageEditorPanel,{fitToFrame:true,autoScroll:false,closable:false}));_15e.endUpdate();_15f.endUpdate();_160.endUpdate();_163.endUpdate();_207.on("activate",onTopicMessagesClicked);_162.on("activate",onTopicResourcesClicked);_15e.getRegion("south").on("resized",function(_208,_209){var _20a=_15e.getRegion("south").getPanel(_16a.topicMessageEditorPanel).getEl().getHeight();if(_136.isMessagePostMode()){_13a=_20a;}if(tangler.info.Session.getSecurity().isAuthenticated()){DWRGroupHandler.setMessageHeight(_20a);}if(tangler.util.Element.getEl("messageInputWidgIframe")){tangler.util.Element.getEl("messageInputWidgIframe").setHeight(_209-tangler.util.Element.getEl("messageInputWidgToolbar").getHeight());}});_165=true;_166=true;_13a=_15e.getRegion("south").getPanel(_16a.topicMessageEditorPanel).getEl().getHeight();if(tangler.info.Session.getSecurity().isAuthenticated()){DWRGroupHandler.getMessageHeight({callback:function(_20b){_15e.getRegion("south").resizeTo(_20b);}});}}function drawWatchStar(tag,_20d){var _20e=tangler.util.Element.getEl(tag);if(!_20e){return;}_20e.select("img").elements[0].src=tangler.util.Helper.getWatchImage(_20d);}function checkTopicWatchedDisplay(){if(tangler.info.Session.getTopicId()!=0&&_144!=_139.ContactChat&&tangler.info.Session.getSecurity().isAuthenticated()&&((!_136.getGroupSubscribed()||(_136.getGroupSubscribed()&&!_136.getGroupWatched())))){tangler.util.Element.showElement("topicWatchTag");Ext.QuickTips.tips({target:Ext.get(Ext.get("topicWatchTag").select("img").elements[0]),text:(_136.getTopicWatched()?UNWATCH_TOPIC:WATCH_TOPIC),autoHide:true});drawWatchStar("topicWatchTag",_136.getTopicWatched());}else{tangler.util.Element.hideElement("topicWatchTag");}}function onTopicWatchedChanged(_20f){if(tangler.util.Element.showingElement("topicWatchTag")){var send=tangler.util.Options.getOptionalArgument("send",_20f,true);if(send){DWRGroupHandler.toggleWatchTopic(tangler.info.Session.getTopicId(),_136.getTopicWatched());}}}function onMessageModeChanged(){if(tangler.info.Session.getSecurity().isAuthenticated()){tangler.util.Element.getEl("messageChatPostButton").dom.innerHTML=_136.isMessagePostMode()?POST_MODE:CHAT_MODE;tangler.util.Element.getEl("messageChatPostButton").dom.title=_136.isMessagePostMode()?CLICK_TO_SEND_OR_NEWLINE:ENTER_TO_SEND;if(_15e){if(_136.isMessagePostMode()){_15e.getRegion("south").resizeTo(_13a);}else{_15e.getRegion("south").resizeTo(_16a.chatSize);}_167.toggleChatMode(!_136.isMessagePostMode());DWRGroupHandler.setMessageMode(_136.isMessagePostMode()?"post":"chat");}}}return {init:function(_211,_212){tangler.info.Page.setView(tangler.info.ViewType.GroupEmbed);DWRGroupHandler.registerGroup(_211,{callback:registerGroupCallback});Ext.QuickTips.init();_136.on("preTopicWatchedChanged",checkTopicWatchedDisplay);_136.on("topicWatchedChanged",onTopicWatchedChanged);_136.on("messageModeChanged",onMessageModeChanged);tangler.util.Helper.ellipsis(30,"groupHeaderContainer");tangler.util.Helper.ellipsis(50,"linkedUrls");_136.setGroupSubscribed(tangler.util.Options.getOptionalArgument("isSubscribed",_212,false));var _213=tangler.util.Options.getOptionalArgument("groupCreatorId",_212,0);_143=tangler.util.Options.getOptionalArgument("subscriberCount",_212,0);_152=tangler.util.Options.getOptionalArgument("topicCount",_212,0);_144=tangler.util.Options.getOptionalArgument("groupType",_212,"normal")=="normal"?_139.Normal:_139.ContactChat;_136.setGroupWatched(tangler.util.Options.getOptionalArgument("isWatched",_212,false));_156.compile();_157.compile();_158.compile();_159.compile();_15a.compile();_167=new tangler.view.Message(_16a.messageInput,{isChat:!_136.isMessagePostMode()});_167.setSubmitFunction(tangler.view.GroupEmbed.sendMessage);_168=new tangler.view.Message(_16a.editMessageInput);_168.setSubmitFunction(editMessageAccepted);_136.setMessageMode(tangler.util.Options.getOptionalArgument("messageMode",_212,"post")=="post"?tangler.view.MessageMode.Post:tangler.view.MessageMode.Chat);_136.setGroupInitialised(true);var _214=tangler.util.Options.getOptionalArgument("topicId",_212);tangler.view.GroupEmbed.getTopic(_214);},initGroupLayout:function(_215){buildDiscussLayout();_164=true;},shutdown:function(){deregisterGroup();},loadAndOpenTopicCallback:function(_216){_13b=_216;if(_13c){if(tangler.util.Element.getEl("tList-"+_13b)){tangler.view.GroupEmbed.getTopic(_13b);}else{DWRTopicHandler.getTopicFromBucket(_13b,{callback:showTopicFromBucket});}_13b=0;}return false;},setGroupSubscriberCount:function(_217){_143=_217;},getTopicLoaded:function(){return _13c;},highlight:function(_218){return function(){tangler.util.Element.getEl("mList-"+_218).dom.className+=" highlight";};},removeHighlight:function(_219){return function(){tangler.util.Element.getEl("mList-"+_219).dom.className=tangler.util.Element.getEl("mList-"+_219).dom.className.replace(new RegExp(" highlight\\b"),"");};},isPostMode:function(){return (_136.isMessagePostMode());},toggleChatPostMode:function(){if(_136.isMessagePostMode()){_136.setMessageMode(tangler.view.MessageMode.Chat);}else{_136.setMessageMode(tangler.view.MessageMode.Post);}_167.focusInput();},setTopicToOpen:function(_21a){_13b=_21a;},getTopic:function(tId,_21c){var _21d=tangler.util.Options.getOptionalArgument("forceUpdate",_21c,false);var _21e=tangler.util.Options.getOptionalArgument("showGroupDetail",_21c,false);showMessageWaiting();showTopicHeaderName(tId);showMessagePanel();DWRTopicHandler.openTopicAndMessages(tId,{callback:openTopicAndMessagesSuccessful,errorHandler:messageErrorCallback,timeout:_16a.dwrTimeout});},openTopicCallback:function(_21f){return function(){tangler.view.GroupEmbed.getTopic(_21f);return false;};return false;},onTopicEvent:function(_220){_137.setTopicLifecycle(_220);tangler.domain.TopicElementFlyweight.setContext(_137.getDetail(),_137.getPermissions(),_137.getAuditHistory());tangler.domain.TopicElementFlyweight.setContextWatched(_137.getWatched());if(tangler.domain.TopicElementFlyweight.isElementModified()){if(tangler.info.Session.getTopicId()==_137.getDetail().globalId){setTopicCurrentlyViewed(_220,{clearMessages:false});}}else{if(tangler.domain.TopicElementFlyweight.isElementDeleted()){if(tangler.info.Session.getTopicId()==_137.getDetail().globalId){if(_13e!=null&&_13e.isVisible()){_13e.hide();}if(_13f!=null&&_13f.isVisible()){_13f.hide();}alert("The topic you are viewing "+_137.getDetail().name+" has just been removed by "+_137.getAuditHistory().modifyingUser.screenName);}removeTopic(_137.getDetail().globalId);decrementTopicCount();}else{}}},onCreateTopicClicked:function(_221){var _222=tangler.util.Element.getEl(_16a.newTopicInput).getValue();if(_222.toUpperCase()!=ENTER_TOPIC_NAME){createTopicRequest(null);}},onCancelCreateTopic:function(){removeTopic("new");var tId=tangler.info.Session.getTopicId();if(tId!=0){_13d=_138.Showing;tangler.view.GroupEmbed.getTopic(tId,{forceUpdate:true});}else{_13d=_138.Init;}},onCreateTopicInputFocused:function(){tangler.util.Element.getEl(_16a.newTopicInput).dom.select();},onDeleteTopic:function(_224){if(_13f==null){_13f=new tangler.widget.DialogWrapper("deleteTopic-dlg",{minHeight:100,height:120,width:330,draggable:false,resizable:false,acceptLabel:YES,acceptFunction:deleteTopicAccepted,declineLabel:NO,declineFunction:deleteTopicDeclined});}if(_13f!=null&&_13f.isVisible()){return;}_140=_224;tangler.util.Element.getEl("deleteTopic").dom.innerHTML="'"+tangler.util.Helper.escapeHtml(unescape(tangler.util.Element.getEl("tList-"+_224).dom.name))+"'?";_13f.showDialog();},onWatchTopic:function(_225){if(tangler.info.Session.getSecurity().isAuthenticated()&&!_136.getGroupWatched()){_136.setTopicWatched(!_136.getTopicWatched());}},onWatchGroup:function(){if(tangler.info.Session.getSecurity().isAuthenticated()){_136.setGroupWatched(!_136.getGroupWatched());_136.setTopicWatched(false,{send:false});}},onEditTopic:function(_226){if(_13e==null){_13e=new tangler.widget.DialogWrapper("editTopic-dlg",{minHeight:100,height:100,width:330,acceptLabel:UPDATE,acceptFunction:editTopicAccept,declineLabel:CANCEL,declineFunction:editTopicDecline});}if(_13e!=null&&_13e.isVisible()){return;}editTopicId=_226;var _227=tangler.util.Element.getEl("editTopicInput");_227.dom.value=unescape(_136.getCurrentTopic().detail.topicDetail.name);_227.dom.select();_13e.showDialog();},onEditTopicKeyPress:function(_228){tangler.util.Helper.returnOnEnter(_228,editTopicAccept);},onMessageInput:function(_229){if(_229.type=="keypress"){if(tinyMCE.selectedInstance.formTargetElementId!=_16a.messageInput){return true;}if(_229&&_229.keyCode){var _22a=_229.keyCode==13&&_229.shiftKey;if(_136.getMesageMode()==tangler.view.MessageMode.Chat){_22a=_229.keyCode==13&&!_229.shiftKey;}if(_22a){tangler.util.Helper.stopEvent(_229);tangler.view.GroupEmbed.sendMessage();return false;}}}return true;},onMessageEvent:function(_22b){if(_22b.detail.globalTopicId==tangler.info.Session.getTopicId()){var _22c=tangler.util.Element.getEl("mList-"+_22b.detail.globalId);if(_22c==null){buildMessageItem(_22b,{lastRead:new Date(),ignoreLastRead:true});}else{var msg=new tangler.domain.MessageElement(_22b.detail,_22b.permissions,_22b.auditHistory);msg.updateElement();delete msg;}var _22e=tangler.util.formatter.formatDateTime(_22b.detail.lastModified);if(_22e>tangler.info.Session.getMessageLastViewedDate()){tangler.info.Session.setMessageLastViewedDate(_22e);sendTopicLastMessageViewed(tangler.info.Session.getTopicId());}}if(_22b.auditHistory==null){if(_146==null){_146=new tangler.util.Pane(_16a.topicMessageList);}_146.activeScroll();}_167.focusInput();},onDeleteMessage:function(_22f){return function(){if(_141==null){_141=new tangler.widget.DialogWrapper("deleteMessage-dlg",{minHeight:100,width:330,height:130,draggable:false,resizable:false,acceptLabel:YES,acceptFunction:deleteMessageAccepted,declineLabel:NO,declineFunction:deleteMessageDeclined});}if(_141.isVisible()){return;}var _230=tangler.util.Element.getEl("mList-"+_22f);var _231=tangler.util.Element.getElementsByClassName(_230,"div",["msgBody"])[0];if(!_141){delete _141;}_147=_22f;_141.showDialog();};},onEditMessage:function(_232){return function(){if(_142==null){_142=new tangler.widget.DialogWrapper("editMessage-dlg",{height:250,resizable:false,draggable:false,acceptLabel:UPDATE,acceptFunction:tangler.view.GroupEmbed.submitEditMessage,declineLabel:CANCEL,declineFunction:editMessageDeclined});_142.addListener("beforeHide",function(_233){_168.resetInput();_168.hideInput();_167.focusInput();});}if(_142.isVisible()){return;}var _234=tangler.util.Element.getEl("mList-"+_232);var _235=tangler.util.Element.getElementsByClassName(_234,"div",["msgBody"])[0];_142.showDialog();_168.showInput();_168.setInputContent(_235.innerHTML);tangler.util.Element.getEl("editMessageInputWidgIframe").setHeight(_142.getDialog().body.getBox().height-tangler.util.Element.getEl("messageInputWidgToolbar").getHeight());_148=_232;};},loadTopicList:function(){if(!_13c){tangler.util.Element.hideElement(_16a.createTopicButton);DWRGroupHandler.getGroupTopicBucket(tangler.info.Session.getGroupId(),_13b,null,{callback:addTopicFromBucket,timeout:20000,errorHandler:addTopicFromBucketError});}},submitMessage:function(){_167.submit();},submitEditMessage:function(){if(_168){_168.submit();}},sendMessage:function(){_149=_167.getInputContent();var _236=_149.replace(/&nbsp;/g,"");_236=_236.replace(/<p>/g,"");_236=_236.replace(/<\/p>/g,"");if(_236.length==0){return;}var _237=tangler.info.Session.getTopicId();_167.resetInput();if(_149.length>1000){if(_14a==null){_14a=new tangler.widget.DialogWrapper("sending-dlg",{width:150,height:105});}_14a.showDialog();}DWRTopicHandler.createMessage(_237,_149,{callback:createMessageCallback,errorHandler:sendMessageFailed});},showCreateTopic:function(){if(_13d==_138.Creating){return;}_13d=_138.Creating;tangler.domain.TopicElementFlyweight.setContext();tangler.domain.TopicElementFlyweight.createTemporaryNewTopic();showTopicHeaderCreate(ENTER_TOPIC_NAME);topic=null;},onMarkAllTopicsAsRead:function(){DWRGroupHandler.clearGroupMessages(tangler.info.Session.getGroupId(),{callback:clearGroupMessagesCallback});},onInviteToGroup:function(){var _238=new tangler.util.Helper.createIframeWindow({url:tangler.info.Page.wrapContextUrl("/group/inviteToGroup.action?gId="+tangler.info.Session.getGroupId()),width:370,height:435});_238.showWindow({refreshOnClose:false});},checkRegistrationVerification:function(){if(tangler.info.Session.getRegistrationId()!=null&&tangler.info.Session.getRegistrationId().length>0){var _239=tangler.util.Element.getEl("disabledMessage");tangler.util.Element.removeChildNodes("disabledMessage");var href=tangler.util.Element.createNode("a",{attributes:[["href",tangler.info.Page.wrapContextUrl("/login")]],children:[document.createTextNode(SIGNIN)]});_239.dom.appendChild(document.createTextNode(MSG_ONE));_239.dom.appendChild(tangler.util.Element.createNode("br"));_239.dom.appendChild(document.createTextNode(MSG_TWO));_239.dom.appendChild(href);}},reloadAuthenticatedPage:function(){var url="/group/"+tangler.info.Session.getGroupId();if(tangler.info.Session.getTopicId()!=0){url+="/topic/"+tangler.info.Session.getTopicId();}url+="/auth="+_14b;window.location=tangler.info.Page.wrapContextUrl(url);},onTopicListScrolled:function(){if(_14c==null){return;}if(_14f){return;}if(_14c.dom.scrollTop>_151){_14f=true;var _23c=_14c.dom.scrollHeight;var _23d=Math.abs(_14c.dom.clientHeight*0.2);var pos=_14c.dom.scrollTop+_14c.dom.clientHeight;if((pos+_23d)>=_23c){tangler.util.Element.getEl("topicListFooter").dom.innerHTML=RETRIEVING_TOPICS;tangler.util.Element.showElement("topicListFooter");DWRGroupHandler.getGroupTopicBucket(tangler.info.Session.getGroupId(),null,_14e,{callback:addTopicFromBucket,timeout:20000,errorHandler:addTopicFromBucketError});}else{_14f=false;}}_151=_14c.dom.scrollTop;},getMaxTopicActivityDate:function(){return _14d;},updateTopicBucket:function(_23f){var dom=document.createDocumentFragment();Ext.each(_23f,function(_241,_242,list){addOrUpdateTopic(_241,{dom:dom});});var ul=tangler.util.Element.getEl(_16a.topicList).select("ul").elements[0];var _245=tangler.util.Element.getEl(ul).select("li").elements;if(_245==null||_245.length==0){ul.appendChild(dom);}else{ul.insertBefore(dom,_245[0]);}},checkField:function(){return tangler.util.Helper.checkEmptyField("newTopicName","createTopicButton");}};}();tangler.view.Message=function(_246,_247){this._inputId=_246;this._editor=null;this._submitFunction=null;this._isChat=tangler.util.Options.getOptionalArgument("isChat",_247,false);this._setContent=null;};tangler.view.Message.prototype={setSubmitFunction:function(_248){this._submitFunction=_248;},toggleChatMode:function(_249){this._isChat=_249;if(this._editor){this._editor.toggleChatMode(_249);}},showInput:function(){if(!this._editor){widgConfig.imagePath=tangler.info.Page.wrapContextUrl("/js/RTEditor/images/");widgConfig.pluginsPath=tangler.info.Page.wrapContextUrl("/js/RTEditor/plugins/");widgConfig.widgStylesheet=tangler.info.Page.wrapContextUrl("/js/RTEditor/css/widgContent.css");widgButtons={bold:{className:"widgButtonBold",title:BOLD,action:onclickBold,image:widgConfig.imagePath+"button_bold.gif"},italic:{className:"widgButtonItalic",title:ITALIC,action:onclickItalic,image:widgConfig.imagePath+"button_italic.gif"},underline:{className:"widgButtonUnderline",title:UNDERLINE,action:onclickUnderline,image:widgConfig.imagePath+"button_underline.gif"},strikethrough:{className:"widgButtonStrikethrough",title:STRIKETHROUGH,action:onclickStrikethrough,image:widgConfig.imagePath+"button_strikethrough.gif"},unordered:{className:"widgButtonUnordered",title:UNORDERED_LIST,action:onclickUnorderedList,image:widgConfig.imagePath+"button_unordered.gif"},ordered:{className:"widgButtonOrdered",title:ORDERED_LIST,action:onclickOrderedList,image:widgConfig.imagePath+"button_ordered.gif"}};widgConfig.toolbarButtons=[widgButtons.bold,widgButtons.italic,widgButtons.underline,widgButtons.strikethrough,"colour",widgButtons.unordered,widgButtons.ordered,"anchor","emoticons","image","video"];this._editor=new widgEditor(this._inputId);if(this._submitFunction){this._editor.setSubmit(this._submitFunction);}if(this._setContent){this._editor.selectAll();this._editor.insertHTML(this._setContent);this._setContent=null;}}this._editor.show();this.toggleChatMode(this._isChat);},submit:function(){if(this._editor){this._editor.submit();}},hideInput:function(_24a){if(this._editor){this._editor.hide();}},resetInput:function(){if(this._editor){this._editor.reset();this._editor.focus();}},focusInput:function(){if(this._editor){this._editor.focus();}},setInputContent:function(_24b){if(this._editor){this._editor.reset();var self=this;setTimeout(function(){self._editor.insertHTML(_24b);},1);}else{this._setContent=_24b;}},getInputContent:function(){if(this._editor){return this._editor.input.value;}else{return null;}}};
tangler.domain.Element=function(_660,_661,_662){this._summary=_660;this._permission=_661;this._audit=_662;};tangler.domain.Element.prototype={isElementDeleted:function(){return (this._audit!=null&&this._audit.operation=="DELETE");},isElementModified:function(){return (this._audit!=null&&this._audit.operation=="MODIFY");}};
tangler.domain.MessageElement=function(_4d6,_4d7,_4d8){tangler.domain.MessageElement.superclass.constructor.call(this,_4d6,_4d7,_4d8);this.createOptionElement=function(_4d9,_4da,_4db,_4dc){var _4dd=tangler.util.Element.createNode("img",{attributes:[["src",_4da],["alt",_4db],["title",_4dc]]});var _4de=tangler.util.Element.createNode("a",{attributes:[["href","javascript:void(0);"]],children:[_4dd]});_4de.className=_4d9;return _4de;};this.attachOptionEvents=function(_4df,_4e0,_4e1,_4e2,_4e3){var _4e4=tangler.util.Options.getOptionalArgument(_4e0,_4e3,null);var _4e5=tangler.util.Options.getOptionalArgument(_4e1,_4e3,null);var _4e6=tangler.util.Options.getOptionalArgument(_4e2,_4e3,null);if(_4e4!=null){Ext.EventManager.addListener(_4df,"click",_4e4,null,{preventDefault:true});}if(_4e5!=null){Ext.EventManager.addListener(_4df,"mouseover",_4e5);}if(_4e6!=null){Ext.EventManager.addListener(_4df,"mouseout",_4e6);}};this.createMessageEditOption=function(_4e7){if(this._permission==null){return null;}var _4e8=null;if(this._permission.modifiable){var _4e9=tangler.util.Helper.getCnameValue("/images/buttons/pencil_12.gif");var _4ea=tangler.info.Page.wrapCnameContextUrl("/images/buttons/pencil_12.gif",_4e9);_4e8=this.createOptionElement("msgEdit",_4ea,"Edit message","Edit message");this.attachOptionEvents(_4e8,"onEditClick","onEditMouseOver","onEditMouseOut",_4e7);}return _4e8;};this.createMessageQuoteOption=function(_4eb){if(this._permission==null){return null;}var _4ec=null;if(this._permission.quotable){var _4ed=tangler.util.Helper.getCnameValue("/images/buttons/quote_12.gif");var _4ee=tangler.info.Page.wrapCnameContextUrl("/images/buttons/quote_12.gif",_4ed);_4ec=this.createOptionElement("msgQuote",_4ee,"Quote message","Quote message");this.attachOptionEvents(_4ec,"onQuoteClick","onQuoteMouseOver","onQuoteMouseOut",_4eb);}return _4ec;};this.createMessageRepostOption=function(_4ef){var _4f0=null;var _4f1=tangler.util.Helper.getCnameValue("/images/buttons/repost_12.gif");var _4f2=tangler.info.Page.wrapCnameContextUrl("/images/buttons/repost_12.gif",_4f1);var _4f0=this.createOptionElement("msgRepost",_4f2,"Re-post this message","Re-post this message");this.attachOptionEvents(_4f0,"onRepostClick","onRepostMouseOver","onRepostMouseOut",_4ef);return _4f0;};this.createMessageDeleteOption=function(_4f3){if(this._permission==null){return null;}var _4f4=null;if(this._permission.deletable){var _4f5=tangler.util.Helper.getCnameValue("/images/buttons/cross_12.gif");var _4f6=tangler.info.Page.wrapCnameContextUrl("/images/buttons/cross_12.gif",_4f5);_4f4=this.createOptionElement("msgDelete",_4f6,"Delete message","Delete message");this.attachOptionEvents(_4f4,"onDeleteClick","onDeleteMouseOver","onDeleteMouseOut",_4f3);}return _4f4;};this.createMessageOptionsElement=function(_4f7){var _4f8=tangler.util.Element.createNode("span",{children:[this.createMessageQuoteOption(_4f7),this.createMessageEditOption(_4f7),document.createTextNode(" "),this.createMessageDeleteOption(_4f7)]});_4f8.className="msgOptions";return _4f8;};this.createModifiedElement=function(_4f9){var _4fa=null;if(tangler.domain.Element.prototype.isElementModified.call(this)){var _4fb=tangler.util.formatter.formatElapsedDate(this._audit.modified,true);var _4fc=tangler.util.Helper.getCnameValue("/images/buttons/edited_12.gif");var _4fd=tangler.info.Page.wrapCnameContextUrl("/images/buttons/edited_12.gif",_4fc);_4fa=this.createOptionElement("msgModified",_4fd,"Edited","Edited "+_4fb+" by "+this._audit.modifyingUser.screenName);this.attachOptionEvents(_4fa,null,"onModifyMouseOver","onModifyMouseOut",_4f9);}return _4fa;};this.createMessageAttribElement=function(_4fe){if(typeof (this._summary.showAttribs)!="undefined"&&!this._summary.showAttribs){var _4ff=tangler.util.Element.createNode("div",{});_4ff.className="spacer";var _500=tangler.util.Element.createNode("span",{children:[_4ff]});_500.className="msgOptions";var _501=tangler.util.Element.createNode("div",{children:[_500]});_501.className="msgAttribs";return _501;}var _502=tangler.util.formatter.formatDateTimeReadable(this._summary.created);var _503="Message sent "+tangler.util.formatter.formatDateTime(this._summary.created,"d F Y, g:i A");var _504=tangler.util.Element.createNode("span",{attributes:[["class","msgTime"],["title",_503]],children:[document.createTextNode(_502)]});this.attachOptionEvents(_504,null,"onTimespanMouseOver","onTimespanMouseOut",_4fe);_504.className="msgTime";var _501=tangler.util.Element.createNode("div",{children:[this.createModifiedElement(_4fe),this.createMessageOptionsElement(_4fe),_504]});_501.className="msgAttribs";return _501;};this.createDeletedMessageElement=function(_505){var _506=tangler.util.Element.createNode("a",{attributes:[["href",tangler.info.Page.wrapContextUrl("/people/id/"+this._audit.modifyingUser.globalId)]],children:[document.createTextNode(this._audit.modifyingUser.screenName)]});var _507="MESSAGE_REMOVED_BY ";var _508=tangler.util.formatter.formatElapsedDate(this._audit.modified,true);var _509=tangler.util.Element.createNode("div",{children:[document.createTextNode(_507),_506,document.createTextNode(_507),document.createTextNode(" "+_508)]});_509.className="msgDeleted";var _50a=tangler.util.Element.createNode("div",{attributes:[["id","message-"+this._summary.globalId]],children:[_509]});_50a.className="msg";return _50a;};this.createMessageElement=function(_50b){var _50c=tangler.util.Element.createNode("div");_50c.className="msgBody";var re=/id="[^"\r\n]*"/g;var body=this._summary.body.replace(re,"");_50c.innerHTML=body;var _50f=_50c.getElementsByTagName("a");Ext.each(_50f,function(_510){if(!Ext.isIE7){if(_510.href){if(_510.href.indexOf("http://www.tangler.com")!=-1||_510.href.indexOf("http://tangler.com")!=-1){if(tangler.info.Page.isEmbed()){_510.target="_blank";}else{_510.target="_self";}}else{_510.target="_blank";}}}else{_510.target="_blank";}});var _511=tangler.util.Element.createNode("div",{attributes:[["id","message-"+this._summary.globalId]],children:[this.createMessageAttribElement(_50b),_50c]});_511.className="msg";return _511;};this.getMessageElement=function(_512){var _513=null;if(tangler.domain.Element.prototype.isElementDeleted.call(this)){}else{var _514=tangler.util.Options.getOptionalArgument("lastRead",_512,0);var _515=tangler.util.Options.getOptionalArgument("ignoreLastRead",_512,false);var _516=tangler.util.Options.getOptionalArgument("modified",_512,false);_513=this.createMessageElement(_512);var _517=(_514&&_514!=0)?tangler.util.formatter.formatDateTime(_514):0;var _518=tangler.util.formatter.formatDateTime(this._summary.created);if(_516){_513.className="msg modifiedMsg";}else{if(!_515){if(_517==0||_518>_517){_513.className="msg unreadMsg";}}}}return _513;};this.getQuoteMessageElement=function(_519,_51a){var _51b="";var _51c=null;if(!tangler.util.StringUtil.isEmpty(_519)){_519=tangler.util.StringUtil.getQuoteMessageOrMessageBody(_519,true);var _51d=_519.substring(0,_519.indexOf(":")+1);var _51e=_519.substring(_519.indexOf(":")+1,_519.length);var qMsg=tangler.util.Element.createNode("span",{});qMsg.innerHTML=_51e;_51c=tangler.util.Element.createNode("div",{attributes:[["id","quoteMessage-"+_51a],["class","quoteMessage"]],children:[tangler.util.Element.createNode("p",{attributes:[["class","p"]],children:[tangler.util.Element.createNode("strong",{children:[document.createTextNode(_51d)]}),tangler.util.Element.createNode("br"),qMsg]})]});_51c.className="quoteMessage";return _51c;}return null;};this.requiresMessageAuthor=function(_520){var _521=_520.nextSibling;var sp=_520.id.split("message-");var id=sp[1];var _524=tangler.cache.CacheManager.getMessage(id);if(_521){var _525=null;if(_521.className.indexOf("author")!=-1){_525=_521.nextSibling;if(_525==null){return false;}}else{_525=_521;}var _526=_525.id.split("message-")[1];var _527=tangler.cache.CacheManager.getMessage(_526);if(this._summary.anonymousDetail!=null&&_527.anonymousDetail!=null){return this._summary.anonymousDetail.anonymousScreenName!=_527.anonymousDetail.anonymousScreenName;}return this._summary.author.globalId!=_527.author.globalId;}else{if(this._summary.anonymousDetail!=null&&_524.anonymousDetail!=null){return this._summary.anonymousDetail.anonymousScreenName!=_524.anonymousDetail.anonymousScreenName;}return this._summary.author.globalId!=_524.author.globalId;}};this.onAuthorMouseOver=function(){var _528=this.author.screenName=="anonymousUser"?-1:this.author.globalId;tangler.manager.AuthorState.setFocusAuthor(_528,this.authorTag,this.anonymousDetail);tangler.manager.AuthorState.setFocusAuthorScreenName(this.author.screenName=="anonymousUser"?this.anonymousDetail.anonymousScreenName:this.author.screenName);};this.onAuthorMouseOut=function(){tangler.manager.AuthorState.setFocusAuthor(0,null);};};Ext.extend(tangler.domain.MessageElement,tangler.domain.Element);tangler.domain.MessageElement.prototype={createMessageAuthor:function(dom,_52a){var _52b=tangler.util.Helper.getCnameValue("/images/defaulticons/contact_18.png");var _52c=tangler.info.Page.wrapCnameContextUrl("/images/defaulticons/contact_18.png",_52b);if(this._summary.anonymousDetail==null&&this._summary.author.avatar!=null){_52c=tangler.util.Avatar.getAvatarUrl(this._summary.author.avatar);}var _52d=tangler.util.Options.getOptionalArgument("hasLink",_52a,true);var _52e="";if(!_52d){_52e="_blank";}if(tangler.info.Page.isEmbed()){_52e="_blank";}var img=tangler.util.Element.createNode("img",{attributes:[["class","avatar"],["src",_52c],["width","18"],["height","18"]]});img.className="avatar";var _530="/user/"+this._summary.author.screenName;var a=null;var _532="";var _533=0;var _534=this._summary.author.globalId;if(this._summary.author.screenName=="anonymousUser"&&this._summary.anonymousDetail!=null){_532=this._summary.anonymousDetail.anonymousScreenName;a=tangler.util.Element.createNode("a",{attributes:[["href","#"],["target",_52e]],children:[img,tangler.util.Element.createNode("span",{attributes:[["style","color:#999"]],children:[document.createTextNode("Guest : ")]}),document.createTextNode(this._summary.anonymousDetail.anonymousScreenName)]});_533=1;}else{_532=this._summary.author.screenName;a=tangler.util.Element.createNode("a",{attributes:[["href",tangler.info.Page.wrapContextUrl(_530)],["target",_52e]],children:[img,document.createTextNode(this._summary.author.screenName)]});_533=0;}this._summary.authorTag=a;var _535=tangler.util.Element.getEl("messages").select("div.author").elements;var _536=_535.length+1;var _537="author-"+_536+"@"+_532+"|"+_534;var div=tangler.util.Element.createNode("div",{attributes:[["id",_537]],children:[a]});div.className="author";if(tangler.info.Session.getUserId()==this._summary.author.globalId){div.className+=" meAuthor";}tangler.util.Element.getEl(a).on({"mouseover":{fn:this.onAuthorMouseOver,scope:this._summary},"mouseout":{fn:this.onAuthorMouseOut,scope:this._summary}});var _539=tangler.util.Options.getOptionalArgument("insertAfter",_52a);if(_539){tangler.util.Element.insertAfter(dom,div,_539);}else{dom.appendChild(div);}return div;},createMessage:function(dom,_53b){var _53c=null;if(this._summary.parentMessageId!=null&&this._summary.parentMessageId!=0){_53c=this.getQuoteMessageElement(this._summary.body,this._summary.globalId);this._summary.body=tangler.util.StringUtil.getQuoteMessageOrMessageBody(this._summary.body,false);}var _53d=this.getMessageElement(_53b);if(_53d==null){return;}var _53e=this._summary.anonymousDetail==null?this._summary.author.screenName:this._summary.anonymousDetail.anonymousScreenName;var _53f=true;if(_53f){var _540=tangler.cache.CacheManager.getMessageCache();var _541=null;var _542=null;var _543;var id;if(_540==null||_540.length==0){var auth=this.createMessageAuthor(dom,{insertAfter:_542});dom.appendChild(auth);if(_53c!=null){dom.appendChild(_53c);}dom.appendChild(_53d);}else{for(var i=_540.length-1;i>=0;--i){_541=_540[i];if(this._summary.created>=_541.created){var _547=tangler.util.Element.getEl("message-"+_541.globalId);if(_547){_542=_547.dom;}else{continue;}if(this.requiresMessageAuthor(_542)){var auth=this.createMessageAuthor(dom,{insertAfter:_542});dom.appendChild(auth);if(_53c!=null){dom.appendChild(_53c);}dom.appendChild(_53d);}else{if((i+1)>=_540.length){var _548="*";if(this._summary.anonymousDetail!=null){_548=this._summary.anonymousDetail.anonymousScreenName;}else{_548=this._summary.author.screenName;}if(_53c!=null){dom.appendChild(_53c);}dom.appendChild(_53d);}else{var _549=false;var snm="";if(_541.anonymousDetail!=null&&this._summary.anonymousDetail!=null){_549=_541.anonymousDetail.anonymousScreenName==this._summary.anonymousDetail.anonymousScreenName;snm=_541.anonymousDetail.anonymousScreenName;}else{_549=_541.author.globalId==this._summary.author.globalId;snm=_541.author.screenName;}if(_549){if(_53c!=null){tangler.util.Element.insertAfter(dom,_53c,_542);tangler.util.Element.insertAfter(dom,_53d,_53c);}else{tangler.util.Element.insertAfter(dom,_53d,_542);}}else{var auth=this.createMessageAuthor(dom,{insertAfter:_542});dom.appendChild(auth);if(_53c!=null){dom.appendChild(_53c);}dom.appendChild(_53d);}}}break;}}}}else{dom.appendChild(_53d);}tangler.cache.CacheManager.addMessageToCache(this._summary);},createOlderMessage:function(dom,_54c,_54d){var _54e=false;var _54f=this._summary.anonymousDetail==null?this._summary.author.screenName:this._summary.anonymousDetail.anonymousScreenName;var _550=true;var _551=null;if(this._summary.parentMessageId!=null&&this._summary.parentMessageId!=0){_551=this.getQuoteMessageElement(this._summary.body,this._summary.globalId);this._summary.body=tangler.util.StringUtil.getQuoteMessageOrMessageBody(this._summary.body,false);}var _552=this.getMessageElement(_54c);if(_552==null){return;}if(_550){var _553=tangler.cache.CacheManager.getMessageCache();var _554=null;var _555=null;var _556;var id;var i=0;if(_54d>0){i=_54d-1;}for(i;i<_553.length;i++){_554=_553[i];if(this._summary.created>=_554.created){var _559=tangler.util.Element.getEl("message-"+_554.globalId);if(_559){_555=_559.dom;}else{continue;}var _55a=false;var snm="";if(_554.anonymousDetail!=null&&this._summary.anonymousDetail!=null){_55a=_554.anonymousDetail.anonymousScreenName==this._summary.anonymousDetail.anonymousScreenName;snm=_554.anonymousDetail.anonymousScreenName;}else{_55a=_554.author.globalId==this._summary.author.globalId;snm=_554.author.screenName;}if(_55a){if(_551!=null){tangler.util.Element.insertAfter(dom,_551,_555);tangler.util.Element.insertAfter(dom,_552,_551);}else{tangler.util.Element.insertAfter(dom,_552,_555);}}else{var _55c=_555.previousSibling;var _55d=this.createMessageAuthor(dom,{insertBefore:_555});tangler.util.Element.insertAfter(dom,_55d,_555);if(_551!=null){tangler.util.Element.insertAfter(dom,_551,_55d);tangler.util.Element.insertAfter(dom,_552,_551);}else{tangler.util.Element.insertAfter(dom,_552,_55d);}}break;}else{_554=_553[i];_54e=true;var _559=tangler.util.Element.getEl("quoteMessage-"+_554.globalId);if(_559==null){_559=tangler.util.Element.getEl("message-"+_554.globalId);}if(_559){_555=_559.dom;}else{continue;}var _55e=false;var snm="";if(_554.anonymousDetail!=null&&this._summary.anonymousDetail!=null){_55e=_554.anonymousDetail.anonymousScreenName==this._summary.anonymousDetail.anonymousScreenName;snm=_554.anonymousDetail.anonymousScreenName;}else{_55e=_554.author.globalId==this._summary.author.globalId;snm=_554.author.screenName;}if(_55e){if(_551!=null){tangler.util.Element.insertBefore(dom,_551,_555);tangler.util.Element.insertAfter(dom,_552,_551);}else{tangler.util.Element.insertBefore(dom,_552,_555);}}else{var _55f=_555.previousSibling;var _560=this.createMessageAuthor(dom,{insertBefore:_55f});tangler.util.Element.insertBefore(dom,_560,_55f);if(_551!=null){tangler.util.Element.insertAfter(dom,_551,_560);tangler.util.Element.insertAfter(dom,_552,_551);}else{tangler.util.Element.insertAfter(dom,_552,_560);}}break;}}}else{dom.appendChild(_552);}tangler.cache.CacheManager.insertMessageCache(_54d,this._summary);},removeElement:function(_561){var _562=tangler.util.Element.getEl("message-"+this._summary.globalId);if(_562==null){return;}var _563=this.getMessageElement(_561);if(_563!=null){var msg=document.getElementById("message-"+this._summary.globalId);msg.parentNode.replaceChild(_563,msg);}else{var msg=document.getElementById("message-"+this._summary.globalId);msg.parentNode.removeChild(msg);tangler.cache.CacheManager.removeFromCache(this._summary.globalId);}},checkAndRemoveMessageAuthor:function(_565){var _566=document.getElementById("messages").childNodes;var _567=0;var _568=false;var _569;for(var i=0;i<_566.length;i++){var node=_566[i];if(_567>0&&node.id.indexOf("author")==0){var _56c=_566[i-1];_56c.parentNode.removeChild(_56c);_567=0;_569=node.id.split("@")[1];_568=true;continue;}if(node.id.indexOf("author")==0){_567++;}else{if(node.id.indexOf("message")==0){_567=0;}}}var _56d=document.getElementById("messages").lastChild;if(_56d.className.indexOf("author")!=-1){_56d.parentNode.removeChild(_56d);_568=true;}return _568;},updateElement:function(_56e){var _56f=tangler.util.Element.getEl("message-"+this._summary.globalId);if(_56f==null){return;}if(_56e==null){_56e={};}_56e.modified=true;if(this._summary.parentMessageId!=null&&this._summary.parentMessageId!=0){this._summary.body=tangler.util.StringUtil.getQuoteMessageOrMessageBody(this._summary.body,false);}var _570=this.getMessageElement(_56e);if(_570!=null){var msg=document.getElementById("message-"+this._summary.globalId);msg.parentNode.replaceChild(_570,msg);}else{var msg=document.getElementById("message-"+this._summary.globalId);msg.parentNode.removeChild(msg);var _572=null;_572=document.getElementById("quoteMessage-"+this._summary.globalId);if(_572!=null){_572.parentNode.removeChild(_572);}tangler.cache.CacheManager.removeFromCache(this._summary.globalId);}},updateElementOnCallback:function(_573,_574,_575){if(_574==null){_574={};}if(this._summary.parentMessageId!=null&&this._summary.parentMessageId!=0){this._summary.body=tangler.util.StringUtil.getQuoteMessageOrMessageBody(this._summary.body,false);}var _576=this.getMessageElement(_574);if(_576!=null){var msg=document.getElementById("message-"+_573);var _578=null;_578=document.getElementById("quoteMessage-"+_573);if(_578!=null){_578.setAttribute("id","quoteMessage-"+_575.detail.globalId);}if(msg==null){return;}msg.parentNode.replaceChild(_576,msg);var _579=tangler.cache.CacheManager.removeFromCache(_573);_575.detail.created=_579.created;tangler.cache.CacheManager.addMessageToCache(_575.detail);}}};
// Simple Set Clipboard System
// Author: Joseph Huckaby

var ZeroClipboard = {
	
	version: "1.0.4",
	clients: {}, // registered upload clients on page, indexed by id
	moviePath: 'ZeroClipboard.swf', // URL to movie
	nextId: 1, // ID of next movie
	
	$: function(thingy) {
		// simple DOM lookup utility function
		if (typeof(thingy) == 'string') thingy = document.getElementById(thingy);
		if (!thingy.addClass) {
			// extend element with a few useful methods
			thingy.hide = function() { this.style.display = 'none'; };
			thingy.show = function() { this.style.display = ''; };
			thingy.addClass = function(name) { this.removeClass(name); this.className += ' ' + name; };
			thingy.removeClass = function(name) {
				this.className = this.className.replace( new RegExp("\\s*" + name + "\\s*"), " ").replace(/^\s+/, '').replace(/\s+$/, '');
			};
			thingy.hasClass = function(name) {
				return !!this.className.match( new RegExp("\\s*" + name + "\\s*") );
			}
		}
		return thingy;
	},
	
	setMoviePath: function(path) {
		// set path to ZeroClipboard.swf
		this.moviePath = path;
	},
	
	dispatch: function(id, eventName, args) {
		// receive event from flash movie, send to client		
		var client = this.clients[id];
		if (client) {
			client.receiveEvent(eventName, args);
		}
	},
	
	register: function(id, client) {
		// register new client to receive events
		this.clients[id] = client;
	},
	
	getDOMObjectPosition: function(obj) {
		// get absolute coordinates for dom element
		var info = {
			left: 0, 
			top: 0, 
			width: obj.width ? obj.width : obj.offsetWidth, 
			height: obj.height ? obj.height : obj.offsetHeight
		};

		while (obj) {
			info.left += obj.offsetLeft;
			info.top += obj.offsetTop;
			obj = obj.offsetParent;
		}

		return info;
	},
	
	Client: function(elem) {
		// constructor for new simple upload client
		this.handlers = {};
		
		// unique ID
		this.id = ZeroClipboard.nextId++;
		this.movieId = 'ZeroClipboardMovie_' + this.id;
		
		// register client with singleton to receive flash events
		ZeroClipboard.register(this.id, this);
		
		// create movie
		if (elem) this.glue(elem);
	}
};

ZeroClipboard.Client.prototype = {
	
	id: 0, // unique ID for us
	ready: false, // whether movie is ready to receive events or not
	movie: null, // reference to movie object
	clipText: '', // text to copy to clipboard
	handCursorEnabled: true, // whether to show hand cursor, or default pointer cursor
	cssEffects: true, // enable CSS mouse effects on dom container
	handlers: null, // user event handlers
	
	glue: function(elem) {
		// glue to DOM element
		// elem can be ID or actual DOM element object
		this.domElement = ZeroClipboard.$(elem);
		
		// float just above object, or zIndex 99 if dom element isn't set
		var zIndex = 99;
		if (this.domElement.style.zIndex) {
			zIndex = parseInt(this.domElement.style.zIndex) + 1;
		}
		
		// find X/Y position of domElement
		var box = ZeroClipboard.getDOMObjectPosition(this.domElement);
		
		// create floating DIV above element
		this.div = document.createElement('div');
		var style = this.div.style;
		style.position = 'absolute';
		style.left = '' + box.left + 'px';
		style.top = '' + box.top + 'px';
		style.width = '' + box.width + 'px';
		style.height = '' + box.height + 'px';
		style.zIndex = zIndex;
		
		// style.backgroundColor = '#f00'; // debug
		
		var body = document.getElementsByTagName('body')[0];
		body.appendChild(this.div);
		
		this.div.innerHTML = this.getHTML( box.width, box.height );
	},
	
	getHTML: function(width, height) {
		// return HTML for movie
		var html = '';
		var flashvars = 'id=' + this.id + 
			'&width=' + width + 
			'&height=' + height;
			
		if (navigator.userAgent.match(/MSIE/)) {
			// IE gets an OBJECT tag
			var protocol = location.href.match(/^https/i) ? 'https://' : 'http://';
			html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+protocol+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="'+width+'" height="'+height+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+ZeroClipboard.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+flashvars+'"/><param name="wmode" value="transparent"/></object>';
		}
		else {
			// all other browsers get an EMBED tag
			html += '<embed id="'+this.movieId+'" src="'+ZeroClipboard.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+flashvars+'" wmode="transparent" />';
		}
		return html;
	},
	
	hide: function() {
		// temporarily hide floater offscreen
		if (this.div) {
			this.div.style.left = '-2000px';
		}
	},
	
	show: function() {
		// show ourselves after a call to hide()
		this.reposition();
	},
	
	destroy: function() {
		// destroy control and floater
		if (this.domElement && this.div) {
			this.hide();
			this.div.innerHTML = '';
			
			var body = document.getElementsByTagName('body')[0];
			try { body.removeChild( this.div ); } catch(e) {;}
			
			this.domElement = null;
			this.div = null;
		}
	},
	
	reposition: function(elem) {
		// reposition our floating div, optionally to new container
		// warning: container CANNOT change size, only position
		if (elem) {
			this.domElement = ZeroClipboard.$(elem);
			if (!this.domElement) this.hide();
		}
		
		if (this.domElement && this.div) {
			var box = ZeroClipboard.getDOMObjectPosition(this.domElement);
			var style = this.div.style;
			style.left = '' + box.left + 'px';
			style.top = '' + box.top + 'px';
		}
	},
	
	setText: function(newText) {
		// set text to be copied to clipboard
		this.clipText = newText;
		if (this.ready) this.movie.setText(newText);
	},
	
	addEventListener: function(eventName, func) {
		// add user event listener for event
		// event types: load, queueStart, fileStart, fileComplete, queueComplete, progress, error, cancel
		eventName = eventName.toString().toLowerCase().replace(/^on/, '');
		if (!this.handlers[eventName]) this.handlers[eventName] = [];
		this.handlers[eventName].push(func);
	},
	
	setHandCursor: function(enabled) {
		// enable hand cursor (true), or default arrow cursor (false)
		this.handCursorEnabled = enabled;
		if (this.ready) this.movie.setHandCursor(enabled);
	},
	
	setCSSEffects: function(enabled) {
		// enable or disable CSS effects on DOM container
		this.cssEffects = !!enabled;
	},
	
	receiveEvent: function(eventName, args) {
		// receive event from flash
		eventName = eventName.toString().toLowerCase().replace(/^on/, '');
				
		// special behavior for certain events
		switch (eventName) {
			case 'load':
				// movie claims it is ready, but in IE this isn't always the case...
				// bug fix: Cannot extend EMBED DOM elements in Firefox, must use traditional function
				this.movie = document.getElementById(this.movieId);
				if (!this.movie) {
					var self = this;
					setTimeout( function() { self.receiveEvent('load', null); }, 1 );
					return;
				}
				
				// firefox on pc needs a "kick" in order to set these in certain cases
				if (!this.ready && navigator.userAgent.match(/Firefox/) && navigator.userAgent.match(/Windows/)) {
					var self = this;
					setTimeout( function() { self.receiveEvent('load', null); }, 100 );
					this.ready = true;
					return;
				}
				
				this.ready = true;
				this.movie.setText( this.clipText );
				this.movie.setHandCursor( this.handCursorEnabled );
				break;
			
			case 'mouseover':
				if (this.domElement && this.cssEffects) {
					this.domElement.addClass('hover');
					if (this.recoverActive) this.domElement.addClass('active');
				}
				break;
			
			case 'mouseout':
				if (this.domElement && this.cssEffects) {
					this.recoverActive = false;
					if (this.domElement.hasClass('active')) {
						this.domElement.removeClass('active');
						this.recoverActive = true;
					}
					this.domElement.removeClass('hover');
				}
				break;
			
			case 'mousedown':
				if (this.domElement && this.cssEffects) {
					this.domElement.addClass('active');
				}
				break;
			
			case 'mouseup':
				if (this.domElement && this.cssEffects) {
					this.domElement.removeClass('active');
					this.recoverActive = false;
				}
				break;
		} // switch eventName
		
		if (this.handlers[eventName]) {
			for (var idx = 0, len = this.handlers[eventName].length; idx < len; idx++) {
				var func = this.handlers[eventName][idx];
			
				if (typeof(func) == 'function') {
					// actual function reference
					func(this, args);
				}
				else if ((typeof(func) == 'object') && (func.length == 2)) {
					// PHP style object + method, i.e. [myObject, 'myMethod']
					func[0][ func[1] ](this, args);
				}
				else if (typeof(func) == 'string') {
					// name of function
					window[func](this, args);
				}
			} // foreach event handler defined
		} // user defined handler for event
	}
	
};

tangler.util.EditInPlace=function(){var _6ca=tangler.util.Options;var _6cb=null;var _6cc=null;var _6cd=null;return {init:function(_6ce){_6cb=Ext.get(_6ce);_6cb.on("mouseover",function(){_6cb.addClass("topicNameEditorHover");},null);_6cb.on("mouseout",function(){_6cb.removeClass("topicNameEditorHover");},null);},makeEditable:function(){if(_6cb){if(!_6cc){Ext.get("editTopicOption").dom.style.display="none";_6cc=document.createElement("input");_6cc.maxLength=64;_6cc.style.top=_6cb.dom.style.top;_6cc.style.left=_6cb.dom.style.left;_6cc.style.width=(Ext.get(Ext.get("topicName").dom.parentNode).getWidth()-Ext.get("userFollowOption").getWidth()-20)+"px";_6cc.className="topicNameEditor";Ext.get(_6cc).on("keypress",function(evt,el,o){var _6d2=evt.keyCode;if(_6d2==27||_6d2==13&&_6cd==_6cc.value){tangler.util.EditInPlace.cancelEditable();}if(_6d2==13&&_6cc.value.trim()==""){tangler.util.EditInPlace.cancelEditable();}if(_6d2==13&&_6cc.value.trim()!=""){tangler.util.EditInPlace.submitChanges();}},this);_6cb.dom.parentNode.appendChild(_6cc);}else{_6cc.style.display="block";Ext.get("editTopicOption").dom.style.display="none";}_6cc.value=_6cb.dom.title;_6cd=_6cb.dom.title;_6cb.dom.style.display="none";_6cc.focus();}},cancelEditable:function(){if(_6cc){_6cc.style.display="none";}_6cb.dom.style.display="block";Ext.get("editTopicOption").dom.style.display="inline";},submitChanges:function(){var _6d3=_6cc.value.trim();_6d3=tangler.util.Helper.unescapeHtml(_6d3);Ext.get(_6cc).addClass("topicNameEditWait");_6cc.value="Saving... Please wait.";DWRTopicHandler.modifyTopic(tangler.info.Session.getTopicId(),_6d3,{callback:tangler.util.EditInPlace._setNewTopicName,errorHandler:function(){alert("Sorry! but, we were not able to modify your topic's. Please try again.");}});},_setNewTopicName:function(_6d4){tangler.widget.TopicWidgets._topicName=tangler.util.Helper.unescapeHtml(_6d4.detail.topicDetail.name);_6cd=_6d4.detail.topicDetail.name;_6cb.dom.innerHTML=tangler.util.Helper.replaceEscapeHtml(_6cd.substring(0,40)+"...");_6cb.dom.title=_6cd;_6cb.dom.style.display="none";_6cb.removeClass("topicNameEditorHover");Ext.get(_6cc).removeClass("topicNameEditWait");tangler.util.EditInPlace.cancelEditable();Ext.get("editTopicOption").dom.style.display="inline";}};}();
