var copyright="Copyright(C) Netmite Corporation 2000-2006. All Rights Reserved";
var ua=navigator.userAgent.toLowerCase();
var isSafari=(ua.indexOf('safari')!=-1);
var isOpera=(ua.indexOf('opera')!=-1);
var isKonqueror=(ua.indexOf('konqueror')!=-1&&!isSafari);
var isIE=false;
var isFF=false;
var isIE5=false;
if(document.all&&(ua.indexOf('msie')!=-1)&&(ua.indexOf('opera')==-1)&&(ua.indexOf('webtv')==-1))
{
isIE=true;
if(ua.indexOf("msie 5.0")!=-1)
{
isIE5=true;
}
}else
{
if(document.layers||(ua.indexOf('mozilla')!=-1))
isFF=true;
}
var _debugname="YY";
var DEBUG=0;
function ObjGetProps2(obj,obj_name)
{
var result=obj_name+"="+obj+"\n";
for(var i in obj)
{
result+=" ."+i+" = ";
result+=obj[i]+"\n";
}
return result;
}
function ObjGetProps3(obj,obj_name)
{
var result=obj_name;
if(obj)
{
result+="(tag,id)=";
if(obj.tagName)
result+=obj["tagName"];
if(obj.id)
result+=","+obj.id+"\n";
}else
{
result+=" is null\n";
}
return result
}
function ObjGetProps(obj,obj_name)
{
var result=obj_name;
result+="======";
result+=(typeof obj);
{
if(obj)
{
result+="(tag,id)=";
var ObEnumerable=true;
try{for(var Prop in obj){break;}}catch(CurError){ObEnumerable=false;};
if(ObEnumerable)
{
for(var Prop in obj)
{
var PropEnumerable;
PropEnumerable=true;
{
PropEnumerable=false;
result+=Prop+"=";
try{
if(typeof obj[Prop]=="function")
{
result+="Funtion(...)";
}else
{
result+=obj[Prop];
}
}catch(CurError){
result+="{!Error!}";
};
result+="\n";
};
};
result+="\n";
}else
{
result+="Object is not Enumerable\n";
};
}else
{
result+=" is null\n";
}
}
return result;
}
function Time()
{
return(new Date()).getTime();
}
function rand(range)
{
var ran_unrounded=Math.random()*range;
var ran_number=Math.round(ran_unrounded);
return ran_number;
}
function RandomRange(min,max)
{
if(typeof min=="undefined")
min=0;
if(typeof max=="undefined")
max=100;
return Math.floor(Math.random()*(max-min+1))+min;
}
function StringStartsWith(st,pref)
{
return((pref.length>0)&&(st.substring(0,pref.length)==pref));
}
function StringTrim(str)
{
if(str==null)
{
return null;
}
var i=0;
for(i=0;
i<str.length;
i++)
{
var c=str.charAt(i);
if(!(c==" "||c=="\t"||c=="\r"||c=="\n"))
break;
}
str=str.substring(i,str.length);
for(i=str.length-1;
i>=0;
i--)
{
var c=str.charAt(i);
if(!(c==" "||c=="\t"||c=="\r"||c=="\n"))
break;
}
str=str.substring(0,i+1);
return str;
}
function NMDebugOn()
{
try{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalXPConnect UniversalBrowserAccess"
);
var gpreferencesService=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
gpreferencesService.setBoolPref("browser.dom.window.dump.enabled",true);
}catch(err){
}
}
function NMDebugOff()
{
try{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalXPConnect UniversalBrowserAccess"
);
var gpreferencesService=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
gpreferencesService.setBoolPref("browser.dom.window.dump.enabled",false);
}catch(err){
}
}
function NMDebug(message)
{
var time=new Date();
var time_string=time.getHours()+":"+time.getMinutes()+":"+time.getSeconds();
var logmsg="["+_debugname+" "+time_string+"]: "+message+"\n";
try{
dump(logmsg);
}catch(err)
{
}
}
function NMDebugObj(obj,obj_name)
{
var result=ObjGetProps(obj,obj_name);
NMDebug(result);
}
function IEDebugOn()
{
window.DEBUG=1;
window.DEBUGWIN=window.open("","debugger_","scrollbars=yes,resizable=yes,toolbar=no");
}
function IEDebugOff()
{
window.DEBUG=0;
window.DEBUGWIN=null;
}
function IEDebug(s)
{
if(window.DEBUGWIN)
{
try{
if(window.DEBUGWIN.document)
{
var re;
re=/</g;
s=s.replace(re,"&lt;");
re=/>/g;
s=s.replace(re,"&gt;");
var time=new Date();
var time_string=time.getHours()+":"+time.getMinutes()+":"+time.getSeconds();
s="["+_debugname+" "+time_string+"]: "+s+"\n";
s="<PRE>"+s+"</PRE>";
window.DEBUGWIN.document.writeln(s);
window.DEBUGWIN.scrollTo(0,window.DEBUGWIN.document.body.scrollHeight);
}
}catch(e){
}
}else
if(window.DEBUG)
{
}
}
function IEDebugObj(obj,obj_name)
{
var result=ObjGetProps(obj,obj_name);
}
function debugon(modname)
{
if(isFF&&!isKonqueror)
{
NMDebugOn();
}
else
{
IEDebugOn();
}
if(typeof modname!="undefined")
{
}
}
function debugoff()
{
if(isFF&&!isKonqueror)
{
NMDebugOff();
}
else
{
IEDebugOff();
}
}
function debugname(modname)
{
_debugname=modname;
}
function debug(message)
{
if(isOpera)
{
opera.postError(message);
}else
if(isFF&&!isKonqueror)
{
NMDebug(message);
}
else
{
IEDebug(message);
}
}
function debugObj(obj,obj_name)
{
if(isFF&&!isKonqueror)
{
NMDebugObj(obj,obj_name);
}
else
{
IEDebugObj(obj,obj_name);
}
}
function debugDom(domobj)
{
var html="";
if(domobj.outerHTML)
html+=domobj.outerHTML;
else
{
html+=domobj.innerHTML;
}
}
function int3()
{
{
x="xx";
5/x;
}
}
function NMCommInitOnLoad()
{
if(typeof window.init=="function")window.init();
else
if(typeof window.init=="array"||typeof window.init=="object")
{
for(var i=0;i<window.init.length;i++){
if(typeof window.init[i]=="function")window.init[i]();
}
}
if(typeof window.onInit=="function")window.onInit();
}
function XML_Simple_selectNodes(d,v,c)
{
var elNames=v.match(/(\/\/(.*)\/)*(.*)$/);
if(!elNames)
return[];
var elName=elNames[2];
var childName=elNames[3];
var elems=d.getElementsByTagName(elName);
var ret=new Array();
for(var i=0;elems[i];i++)
{
for(var j=0;j<elems[i].childNodes.length;j++)
{
var xmlNode=elems[i].childNodes[j];
if(xmlNode.nodeType==1
&&xmlNode.nodeName==childName)
{
ret[ret.length]=xmlNode;
}
}
}
return ret;
}
function XML_selectNodes(cXPathString,xNode)
{
if(isIE)
{
return xNode.selectNodes(cXPathString);
}
var xDoc=xNode.ownerDocument;
if(!xDoc.createNSResolver)
{
return XML_Simple_selectNodes(xDoc,cXPathString);
}
var oNSResolver=xDoc.createNSResolver(xDoc.documentElement)
var aItems=xDoc.evaluate(cXPathString,xNode,oNSResolver,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null)
var aResult=[];
for(var i=0;i<aItems.snapshotLength;i++)
{
aResult[i]=aItems.snapshotItem(i);
}
return aResult;
}
function XML_selectSingleNode(cXPathString,xNode)
{
if(isIE)
{
return xNode.selectSingleNode(cXPathString);
}
var xItems=XML_selectNodes(cXPathString,xNode);
if(xItems.length>0)
{
return xItems[0];
}
else
{
return null;
}
}
if(isFF)
{
if(document.implementation.hasFeature("XPath","3.0"))
{
XMLDocument.prototype.selectNodes=function(cXPathString,xNode)
{
if(!xNode){xNode=this;}
var oNSResolver=this.createNSResolver(this.documentElement)
var aItems=this.evaluate(cXPathString,xNode,oNSResolver,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null)
var aResult=[];
for(var i=0;i<aItems.snapshotLength;i++)
{
aResult[i]=aItems.snapshotItem(i);
}
return aResult;
}
XMLDocument.prototype.selectSingleNode=function(cXPathString,xNode)
{
if(!xNode){xNode=this;}
var xItems=this.selectNodes(cXPathString,xNode);
if(xItems.length>0)
{
return xItems[0];
}
else
{
return null;
}
}
Element.prototype.selectNodes=function(cXPathString)
{
if(this.ownerDocument.selectNodes)
{
return this.ownerDocument.selectNodes(cXPathString,this);
}
else
{
throw"For XML Elements Only";
}
}
Element.prototype.selectSingleNode=function(cXPathString)
{
if(this.ownerDocument.selectSingleNode)
{
return this.ownerDocument.selectSingleNode(cXPathString,this);
}
else
{
throw"For XML Elements Only";
}
}
}
}
function md5(s){
function Z(n,c){return(n<<c)|(n>>>(32-c))}
function Y(q,a,b,x,s,t){return X(Z(X(X(a,q),X(x,t)),s),b)}
function A(a,b,c,d,x,s,t){return Y((b&c)|((~b)&d),a,b,x,s,t)}
function B(a,b,c,d,x,s,t){return Y((b&d)|(c&(~d)),a,b,x,s,t)}
function C(a,b,c,d,x,s,t){return Y(b^c^d,a,b,x,s,t)}
function D(a,b,c,d,x,s,t){return Y(c^(b|(~d)),a,b,x,s,t)}
function X(x,y){var l=(x&0xFFFF)+(y&0xFFFF),m=(x>>16)+(y>>16)+(l>>16);return(m<<16)|(l&0xFFFF)}
var w=s.length*8,i,hx="0123456789abcdef",L=(((w+64)>>>9)<<4)+15,x=Array(L+15);
for(i=0;i<x.length;++i)x[i]=0;
for(i=0;i<w;i+=8)x[i>>5]|=(s.charCodeAt(i/8)&255)<<(i%32);
x[w>>5]|=0x80<<((w)%32);
x[L-1]=w;
var a=1732584193,b=-271733879,c=-1732584194,d=271733878;
for(i=0;i<L;i+=16){
var oa=a,ob=b,oc=c,od=d;
a=A(a,b,c,d,x[i],7,-680876936);d=A(d,a,b,c,x[i+1],12,-389564586);c=A(c,d,a,b,x[i+2],17,606105819);b=A(b,c,d,a,x[i+3],22,-1044525330);
a=A(a,b,c,d,x[i+4],7,-176418897);d=A(d,a,b,c,x[i+5],12,1200080426);c=A(c,d,a,b,x[i+6],17,-1473231341);b=A(b,c,d,a,x[i+7],22,-45705983);
a=A(a,b,c,d,x[i+8],7,1770035416);d=A(d,a,b,c,x[i+9],12,-1958414417);c=A(c,d,a,b,x[i+10],17,-42063);b=A(b,c,d,a,x[i+11],22,-1990404162);
a=A(a,b,c,d,x[i+12],7,1804603682);d=A(d,a,b,c,x[i+13],12,-40341101);c=A(c,d,a,b,x[i+14],17,-1502002290);b=A(b,c,d,a,x[i+15],22,1236535329);
a=B(a,b,c,d,x[i+1],5,-165796510);d=B(d,a,b,c,x[i+6],9,-1069501632);c=B(c,d,a,b,x[i+11],14,643717713);b=B(b,c,d,a,x[i],20,-373897302);
a=B(a,b,c,d,x[i+5],5,-701558691);d=B(d,a,b,c,x[i+10],9,38016083);c=B(c,d,a,b,x[i+15],14,-660478335);b=B(b,c,d,a,x[i+4],20,-405537848);
a=B(a,b,c,d,x[i+9],5,568446438);d=B(d,a,b,c,x[i+14],9,-1019803690);c=B(c,d,a,b,x[i+3],14,-187363961);b=B(b,c,d,a,x[i+8],20,1163531501);
a=B(a,b,c,d,x[i+13],5,-1444681467);d=B(d,a,b,c,x[i+2],9,-51403784);c=B(c,d,a,b,x[i+7],14,1735328473);b=B(b,c,d,a,x[i+12],20,-1926607734);
a=C(a,b,c,d,x[i+5],4,-378558);d=C(d,a,b,c,x[i+8],11,-2022574463);c=C(c,d,a,b,x[i+11],16,1839030562);b=C(b,c,d,a,x[i+14],23,-35309556);
a=C(a,b,c,d,x[i+1],4,-1530992060);d=C(d,a,b,c,x[i+4],11,1272893353);c=C(c,d,a,b,x[i+7],16,-155497632);b=C(b,c,d,a,x[i+10],23,-1094730640);
a=C(a,b,c,d,x[i+13],4,681279174);d=C(d,a,b,c,x[i],11,-358537222);c=C(c,d,a,b,x[i+3],16,-722521979);b=C(b,c,d,a,x[i+6],23,76029189);
a=C(a,b,c,d,x[i+9],4,-640364487);d=C(d,a,b,c,x[i+12],11,-421815835);c=C(c,d,a,b,x[i+15],16,530742520);b=C(b,c,d,a,x[i+2],23,-995338651);
a=D(a,b,c,d,x[i],6,-198630844);d=D(d,a,b,c,x[i+7],10,1126891415);c=D(c,d,a,b,x[i+14],15,-1416354905);b=D(b,c,d,a,x[i+5],21,-57434055);
a=D(a,b,c,d,x[i+12],6,1700485571);d=D(d,a,b,c,x[i+3],10,-1894986606);c=D(c,d,a,b,x[i+10],15,-1051523);b=D(b,c,d,a,x[i+1],21,-2054922799);
a=D(a,b,c,d,x[i+8],6,1873313359);d=D(d,a,b,c,x[i+15],10,-30611744);c=D(c,d,a,b,x[i+6],15,-1560198380);b=D(b,c,d,a,x[i+13],21,1309151649);
a=D(a,b,c,d,x[i+4],6,-145523070);d=D(d,a,b,c,x[i+11],10,-1120210379);c=D(c,d,a,b,x[i+2],15,718787259);b=D(b,c,d,a,x[i+9],21,-343485551);
a=X(a,oa);
b=X(b,ob);
c=X(c,oc);
d=X(d,od);
}
b=[a,b,c,d];
s="";
for(i=0;i<16;i++)s+=hx.charAt((b[i>>2]>>((i%4)*8+4))&0xF)+hx.charAt((b[i>>2]>>((i%4)*8))&0xF);
return s
}
function XmlNodeToArray(xmlNode)
{
var ret=new Array();
if(xmlNode==null)
{
return ret;
}
for(var i=0;i<xmlNode.childNodes.length;i++)
{
if(xmlNode.childNodes[i].nodeType==1)
{
var nodeName=xmlNode.childNodes[i].nodeName;
if(xmlNode.childNodes[i].childNodes)
{
if(xmlNode.childNodes[i].childNodes.length>0)
{
ret[nodeName]=xmlNode.childNodes[i].childNodes[0].nodeValue;
}else
{
ret[nodeName]="";
}
}
}
}
return ret;
}
function XmlNodeGetAttrs(xmlNode)
{
var ret=new Array();
for(var i=0;i<xmlNode.attributes.length;i++)
{
if(xmlNode.attributes[i].nodeType==2)
{
var nodeName=xmlNode.attributes[i].nodeName;
var nodeValue=xmlNode.attributes[i].nodeValue;
ret[nodeName]=nodeValue;
}
}
return ret;
}
function WinAppendHtml(
win,
doc,
par,
type,
content
)
{
if(win==null)
{
return null;
}
var obj=WinAppendHtml2(win,doc,par,type,content);
if(doc==null)
{
doc=win.document;
}
win.scrollTo(0,doc.body.scrollHeight);
return obj;
}
function WinAppendHtml2(
win,
doc,
par,
type,
content
)
{
if(win==null)
{
return null;
}
if(doc==null||(typeof doc=="undefined"))
{
doc=win.document;
}
if(typeof par=="string")
{
par=doc.getElementById(par);
}else
if(par==null)
{
par=doc.body;
}
var obj=doc.createElement(type);
if(content&&content.length>0)
obj.innerHTML=content;
if(par&&obj)
{
obj=par.appendChild(obj);
}else
{
}
return obj;
}
function WinFlashTitle(win,maxTime)
{
WinFlashTitle_maxTime=maxTime;
WinFlashTitleStart(win);
}
var WinFlashTitle_maxTime=0;
var WinFlashTitle_pastTime=0;
var WinFlashTitle_currentTitle="";
var WinFlashTitle_window=null;
var WinFlashTitle_timerId=0;
function WinFlashTitleInterval()
{
var title1='!!! Changed !!!';
if(document.title==title1)
WinFlashTitle_window.document.title=WinFlashTitle_currentTitle;
else
WinFlashTitle_window.document.title=title1;
WinFlashTitle_pastTime+=100;
if(
(WinFlashTitle_maxTime>0&&
WinFlashTitle_pastTime>WinFlashTitle_maxTime)
)
{
WinFlashTitleStop();
}else
{
WinFlashTitle_timerId=setTimeout('WinFlashTitleInterval()',100);
}
}
function WinFlashTitleStart(win)
{
WinFlashTitle_window=win;
WinFlashTitle_pastTime=0;
WinFlashTitle_currentTitle=WinFlashTitle_window.document.title;
WinFlashTitle_timerId=setTimeout('WinFlashTitleInterval()',100);
}
function WinFlashTitleStop()
{
WinFlashTitle_window.document.title=WinFlashTitle_currentTitle;
WinFlashTitle_pastTime=0;
WinFlashTitle_maxTime=0;
clearTimeout(WinFlashTitle_timerId);
}
function newXMLHttpRequest(xmlhttpprovider)
{
if(typeof xmlhttpprovider=="string"&&xmlhttpprovider)
{
if(xmlhttpprovider=="XMLHTTP")
{
var obj=new XMLHTTP();
return obj;
}
}
if(isIE)
{
return new ActiveXObject("Microsoft.XMLHTTP");
}else
{
return new XMLHttpRequest;
}
}
function UrlEncode(url)
{
return escape(url).replace(/\+/g,'%2C').replace(/\"/g,'%22').replace(/\'/g, '%27');
  }
  //2B 2F == + FORWARD SLASH, do not use real slash otherwise, jobfuscator wont work
  function UrlEncode2(sStr)
  {
    return encodeURIComponent(sStr).replace(/\+/g,"%2B").replace(/\//g,"%2F");
  }
  //\\ //
  /*
  */
  //will append to url or replace $ name = $ value_others ...
  function UrlAppendVariable(url, name, value)
  {
    var index;
    var index2;
  //debug("UrlAppendVariable(" +url+"," +name+","+value+")" );
    //alert("url="+url);
    index=url.indexOf("?");
    if ( index <0 )
    { //no variable
      newurl= url + "?" + name + "=" + value;
    } else
    {
      //url already has ?
      index=url.indexOf( name + "=" );
      if ( index < 0 )
      {
        //no such name value
        newurl= url + "&" + name + "=" + value;
      }
      else
      {
        //url does contains something such as name=
        //var re=new RegExp ( "" + name + "=.*(&|$)" );
        //newurl=url.replace(re, "&" + name + "=" + value);
        
        //problem not always work
        //var re=new RegExp ("(\&|\?)" + "(" + name + ")"+ "=(.*)(&)" );  //not working at all
        //var re=new RegExp ("(\&|\$)" + "(" + name + ")"+ "=(.*)(&)" );
        //debug("re="+re);
        //alert("url=" +url + ",re="+re);
        //newurl=url.replace(re, "$2=" + value + "$4");
        //
        index=url.indexOf("?" + name + "=" );
        if (index <0 )
        {
          index=url.indexOf("&" + name + "=" );
        }
        if (index >=0 )
        {
          url1=url.substring(0, index+ name.length+2);
          //alert("url1="+url1);
          url2=url.substring(index+ name.length+2);
          //alert("url2="+url2);
          index2=url2.indexOf("&");
          if (index2 >=0)
          {
            url2=url2.substring(index2);
          } else //no & after it. end of string
          {
            url2="";
          }
          newurl=url1+value+url2;
        }
      }
    }
  //debug("newurl=" +newurl);
    return newurl;
  }
  var validTldList = ".com.edu.net.org.gov.mil.jp.de.au.in.uk.fr.ca.dk.it.cn.kr.int.arpa.nato.biz.name.museum.pro.aero.coop.info.ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cu.cv.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.ga.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.sv.sy.sz.tc.td.tf.tg.th.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zw.";
  function UrlGetHostname(url) 
  {
  //debug("UrlGetHostname(" + url+")");
    var host=url;
    var start=host.indexOf("://");
    if (start>0)
    {
      host=url.substring( start+3 );
      var end=0;
      while (end < host.length)
      {
        var ch=host.charAt(end);
        if (ch==':' || ch=='/')
          break;
        end++;
      } 
      host=host.substring(0, end);  
    }
  //debug("host="+host);
return host;
}
function UrlGetPath(url,level)
{
var question=url.indexOf('?');
if(question>0)
{
url=url.substring(0,question);
}
var lastslash=url.lastIndexOf("/");
newurl=url.substring(0,lastslash+1);
if(typeof(level)=="number")
{
while(level>0)
{
var lastslash=newurl.substring(0,newurl.length-1).lastIndexOf("/");
newurl=newurl.substring(0,lastslash+1);
level--;
}
}
return newurl;
}
function UrlGetArgItem(
location_search,
theArgName,
defaultValue
)
{
sArgs=location_search.slice(1).split('&');
r=defaultValue;
for(var i=0;i<sArgs.length;i++)
{
if(sArgs[i].slice(0,sArgs[i].indexOf('='))==theArgName)
{
r=sArgs[i].slice(sArgs[i].indexOf('=')+1);
break;
}
}
if(r.length>0)
{
r=unescape(r).split(',');
r=r[0];
return r;
}else
return defaultValue;
}
function UrlGetFull(location_href,rel_url)
{
var newurl=rel_url;
var colon_index=rel_url.indexOf("://");
var slash_index=rel_url.indexOf("/");
if(colon_index>=0)
{
newurl=rel_url;
}
else
if(slash_index==0)
{
var index=location_href.indexOf("//");
var index2=location_href.indexOf("/",index+2);
newurl=location_href.substring(0,index2)+rel_url;
}else
{
var lastquestion=location_href.lastIndexOf("?");
if(lastquestion>0)
{
location_href=location_href.substring(0,lastquestion);
}
var lastslash=location_href.lastIndexOf("/");
newurl=location_href.substring(0,lastslash+1)+rel_url;
}
return newurl;
}
function FormGetValues(fobj,valFunc)
{
var str="";
var valueArr=null;
var val="";
var cmd="";
for(var i=0;i<fobj.elements.length;i++)
{
switch(fobj.elements[i].type)
{
case"textarea":
case"text":
if(valFunc)
{
cmd=valFunc+"("+'fobj.elements[i].value'+")";
val=eval(cmd)
}
str+=fobj.elements[i].name+
"="+(fobj.elements[i].value)+"&";
break;
case"select-one":
str+=fobj.elements[i].name+
"="+fobj.elements[i].options[fobj.elements[i].selectedIndex].value+"&";
break;
}
}
str=str.substr(0,(str.length-1));
return str;
}
function FormFieldCheckEmpty(field)
{
if(field.value.length>0)
{
return true;
}
else
{
alert("Fields have been filled out, please fill in first");
return false;
}
}
function FormFieldCheckFilled(field,defaultval)
{
if(field.value.length>0)
{
if(field.value==defaultval)
{
alert("Fields have been filled out, please fill in first");
return false;
}
return true;
}
else
{
alert("Fields have been filled out, please fill in first");
return false;
}
}
function WinSetBackgroundColor(win,newcolor,elemid)
{
var oldcolor="";
if(win)
{
var doc=win.document;
if(doc)
{
if(typeof(elemid)!="undefined")
{
elem=doc.getElementById(elemid);
}else
{
elem=doc.body;
}
if(elem)
{
oldcolor=elem.style.backgroundColor;
elem.style.backgroundColor=newcolor;
}
}
}
return oldcolor;
}
function NMXmlRequest2(url,method,sendcontent,xmlprocfunc,xmlhttpprovider)
{
try{
if(isFF)
{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalXPConnect UniversalBrowserAccess"
);
}
}catch(err){
}
NMXmlRequest(url,method,sendcontent,xmlprocfunc,xmlhttpprovider);
}
function NMXmlRequest(url,method,sendcontent,xmlprocfunc,xmlhttpprovider)
{
var xmlhttp;
var url;
var async=true;
if(url.indexOf("://")<0)
{
url=UrlGetFull(window.location.href,url);
}
xmlhttp=newXMLHttpRequest(xmlhttpprovider);
try{
xmlhttp.open(method,url,async);
}catch(err)
{
if(xmlhttpprovider==null)
{
xmlhttp=newXMLHttpRequest('XMLHTTP');
xmlhttp.open(method,url,async);
}
}
xmlhttp.setRequestHeader("User-Agent","Mozilla/4.0 (compatible; Windows XP 5.1)");
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
xmlhttp.setRequestHeader("Accept","*/*");
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{
var xmlObj=xmlhttp.responseXML.documentElement;
if(
xmlprocfunc!=null)
{
xmlprocfunc(xmlObj);
return;
}
return;
}
xmlprocfunc(null);
return;
}
else
{
}
};
try{
xmlhttp.send(sendcontent);
}catch(err)
{
if(xmlhttpprovider!='XMLHTTP')
{
NMXmlRequest(url,method,sendcontent,xmlprocfunc,'XMLHTTP');
}
}
}
function NMXmlReceiver(xmlObj)
{
return 0;
}
function WinAppendScript(
win,
src
)
{
doc=win.document;
var elem=doc.createElement("SCRIPT");
elem.type="text/javascript";
elem.src=src;
var head=doc.getElementsByTagName('head')[0];
if(head)
elem=head.appendChild(elem);
else
elem=doc.body.appendChild(elem);
return elem;
}
function WinInvokeScript(
win,
scripts
)
{
var doc=win.document;
var elem=doc.createElement("SCRIPT");
elem.type="text/javascript";
elem.innerHTML=scripts;
elem=doc.body.appendChild(elem);
return elem;
}
function MenuItemCheck(menuitem,checked)
{
if(!menuitem)
return;
(isIE)?MenuItemCheckIE(menuitem,checked):MenuItemCheckFF(menuitem,checked);
}
function MenuItemCheckIE(menuitem,checked)
{
}
function MenuItemCheckFF(menuitem,checked)
{
if(menuitem.setAttribute)
{
if(checked)
{
menuitem.setAttribute("checked","true");
}
else
{
menuitem.setAttribute("checked","false");
}
}
}
function MenuCheckOneItem(doc,popupid,itemid)
{
var menupopup=doc.getElementById(popupid);
var menuitems=menupopup.getElementsByTagName("menuitem");
for(var i=0;i<menuitems.length;i++)
{
var menuitem=menuitems[i];
if(menuitem.id==itemid)
{
menuitem.setAttribute("checked","true");
}
else
{
menuitem.setAttribute("checked","false");
}
}
}
function SelectChooseValue(doc,id,value)
{
var elem=doc.getElementById(id);
if(elem)
{
for(var i=0;i<elem.options.length;i++)
{
if(elem.options[i].value==value)
{
elem.selectedIndex=i;
break;
}
}
}
}
function InjectScriptFiles(win,srcdir,files)
{
var i=0;
for(i=0;i<files.length;i++)
{
var jsfilename=srcdir+files[i];
WinAppendScript(win,jsfilename);
}
}
function WinGetIFrameDoc(doc,iframeid)
{
var oIframe=document.getElementById(iframeid);
var oDoc=(oIframe.contentWindow||oIframe.contentDocument);
if(oDoc.document)
oDoc=oDoc.document;
return oDic;
}
function WinSetIFrameUrl(win,doc,iframename,url)
{
if(doc==null)
doc=win.document;
var iframe=win.frames[iframename];
if(iframe)
{
if(isIE)
{
if(iframe.navigate)
{
iframe.navigate(url);
}else
{
iframe.doc.location.href=url;
}
}
else
{
var iframeobj=doc.getElementById(iframename);
if(iframeobj)
{
iframeobj.src=url;
}
}
}
}
function XULMenuListChooseValue(doc,id,value)
{
var menulist=doc.getElementById(id);
var items=menulist.firstChild.childNodes;
if(items)
{
for(var i=0;i<items.length;i++)
{
if(items[i].value==value)
{
menulist.selectedIndex=i;
break;
}
}
}
}
function EventGetSrc(win,e)
{
return(isIE)?win.event.srcElement:e.target;
}
function EventCatch(obj,event,func)
{
if(obj.attachEvent)
{
obj.attachEvent("on"+event,func);
}
else
{
obj.addEventListener(event,func,false);
}
}
function EventRelease(obj,event,func)
{
if(obj.detachEvent)
{
obj.detachEvent("on"+event,func);
}
else
{
obj.removeEventListener(event,func,false);
}
}
function ObjToggleDisplay(doc,id,visiblevalue)
{
var obj=doc.getElementById(id);
if(!obj)
return;
obj.style.display=(obj.style.display=='none')?visiblevalue:'none';
}
function ShowObjById(doc,id)
{
var obj=doc.getElementById(id);
if(obj)
obj.style.visibility='visible';
}
function HideObjById(doc,id)
{
var obj=doc.getElementById(id);
if(obj)
obj.style.visibility='hidden';
}
function ShowObj(obj)
{
if(obj)
obj.style.visibility='visible';
}
function HideObj(obj)
{
if(obj)
obj.style.visibility='hidden';
}
function ObjVisible(obj)
{
if(!obj)
return false;
return obj.style.visibility!='hidden';
}
function RemoveObjById(doc,id)
{
var parent=null;
var obj=doc.getElementById(id);
parent=obj.parentNode;
if(parent)
parent.removeChild(obj);
}
function ObjSeeable(doc,objElem)
{
var obj;
obj=(objElem.style)?objElem.style:objElem;
var left=obj.style.pixelLeft;
var width=obj.style.pixelWidth;
var top=obj.style.pixelTop;
var height=obj.style.pixelHeight;
var docleft=doc.body.scrollLeft;
var docwidth=doc.body.scrollWidth;
var doctop=doc.body.clientTop;
var docheight=doc.body.clientHeight;
if(left+width<docleft||left>docleft+docwidth)
{
return false;
}
if(top+height<doctop||top>doctop+docheight)
{
return false;
}
return true;
}
function ObjGetAllIds(doc,tagname,prefix)
{
var ids=new Array();
var objs=doc.getElementsByTagName(tagname);
var prelen=prefix.length;
for(var i=0;i<objs.length;i++)
{
if(objs[i].id)
if(
objs[i].id.indexOf(prefix)==0
)
{
var id=objs[i].id.substring(prelen);
ids[id]=1;
}
}
return ids;
}
function ObjGetX(obj)
{
var x=obj.style.pixelLeft?obj.style.pixelLeft:parseInt(obj.style.left);
return x;
}
function ObjGetY(obj)
{
var y=obj.style.pixelTop?obj.style.pixelTop:parseInt(obj.style.top);
return y;
}
function ObjGetW(obj)
{
var w=obj.clientWidth?obj.clientWidth:(obj.style.pixelWidth?obj.style.pixelWidth:parseInt(obj.style.width));
return w;
}
function ObjGetH(obj)
{
var h=obj.clientHeight?obj.clientHeight:(obj.style.pixelHeight?obj.style.pixelHeight:parseInt(obj.style.height));
return h;
}
function ObjById(doc,id)
{
var obj=id;
if((typeof(id)=="string"))
{
if(id=="document")
{
obj=doc;
}else
{
obj=(doc.getElementById)?doc.getElementById(id):doc.all[id];
}
}
return obj;
}
function ObjMoveTo(obj,x,y)
{
if(!obj)return;
if(obj.style.pixelLeft)
{
obj.style.pixelLeft=x;
obj.style.pixelTop=y;
}else
{
obj.style.left=x;
obj.style.top=y;
}
}
function ObjResizeTo(obj,w,h)
{
if(!obj)return;
if(obj.style.pixelWidth)
{
if(w>=0)
obj.style.pixelWidth=w;
if(h>=0)
obj.style.pixelHeight=h;
}else
{
if(w>=0)
obj.style.width=w;
if(h>=0)
obj.style.top=h;
}
}
function ObjMoveBy(obj,dx,dy,obj2)
{
if(!obj)return;
if(typeof obj2=='undefined')
obj2=obj;
if(obj.style.pixelLeft)
{
obj.style.pixelLeft=obj2.style.pixelLeft+dx;
obj.style.pixelTop=obj2.style.pixelTop+dy;
}else
{
obj.style.left=parseInt(obj2.style.left)+dx;
obj.style.top=parseInt(obj2.style.top)+dy;
}
}
function ObjPopup(win,obj)
{
var x=obj.style.pixelLeft?obj.style.pixelLeft:parseInt(obj.style.left);
var y=obj.style.pixelTop?obj.style.pixelTop:parseInt(obj.style.top);
y=y-1;
if(y>0)
{
ObjMoveBy(obj,0,-2);
}
return y;
}
function ObjSetLabel(doc,id,label)
{
elt=doc.getElementById(id);
if(!elt)
return;
if(typeof elt.value!="undefined")
{
elt.value=label;
}else
if(elt.setAttribute)
{
elt.setAttribute("label",label);
}else
if(elt.innerHTML)
{
elt.innerHTML=label;
}
}
function ObjGetLabel(doc,id)
{
var label="";
elt=doc.getElementById(id);
if(elt.value)
{
label=elt.value;
}else
if(elt.getAttribute)
{
label=elt.getAttribute("label");
}
return label;
}
function ObjSetInnerHtmlById(doc,id,innerHtml)
{
var obj=doc.getElementById(id);
if(obj)
obj.innerHTML=innerHtml;
}
function WinGetX(win)
{
return(isIE)?win.screenLeft:win.screenX;
}
function WinGetY(win)
{
return(isIE)?win.screenTop:win.screenY;
}
function WinGetW(win)
{
if(isFF)
return win.outerWidth;
if(win.document&&
win.document.body)
return win.document.body.clientWidth;
else
return 200;
}
function WinGetH(win)
{
if(isFF)
return win.outerHeight;
if(win.document&&
win.document.body)
return win.document.body.clientHeight;
else
return 500;
}
function ObjSetStyles(doc,id_s,name,value)
{
if(typeof id_s=="string")
{
ObjSetStyleById(doc,id_s,name,value);
}else
if(typeof id_s=="array"||typeof id_s=="object")
{
for(var i=0;i<id_s.length;i++)
{
ObjSetStyleById(doc,id_s[i],name,value);
}
}
}
function ObjSetStyleById(doc,id,name,value)
{
var obj=doc.getElementById(id);
if(obj)
{
obj.style[name]=value;
}
return;
}
function BorderSet(obj,style)
{
var currBorderStyle=null;
if(obj!=null&&obj.style!=null)
{
obj.style.borderWidth="thin";
obj.style.borderColor="blue";
currBorderStyle=obj.style.borderStyle;
obj.style.borderStyle=style;
}
return currBorderStyle;
}
var g_drag=null;
function Drag(win1,doc1)
{
this.win=window;
if(typeof(win1)!="undefined")
{
this.win=win1;
}
this.doc=document;
if(typeof(doc1)!="undefined")
{
this.doc=doc1;
}
this.objElem=null;
this.obj=null;
this.canmove=true;
this.canresize=true;
this.working=0;
this.modified=false;
this.onmousedown=Drag_onMouseDown;
this.onmousemove=Drag_onMouseMove;
this.onmouseup=Drag_onMouseUp;
this.add=Drag_add;
this.remove=Drag_remove;
g_drag=this;
}
function DragOnMouseDownHandler(e)
{
return g_drag.onmousedown(e);
}
function DragOnMouseMoveHandler(e)
{
return g_drag.onmousemove(e);
}
function DragOnMouseUpHandler(e)
{
return g_drag.onmouseup(e);
}
function Drag_onMouseDown(e)
{
if(!this.canmove&&!this.canresize)
return;
this.working=1;
if(isFF)
{
this.objElem=e.target;
}else
{
e=this.win.event;
this.objElem=e.srcElement;
}
this.obj=this.objElem.style;
this.obj.eventStartX=e.clientX;
this.obj.eventStartY=e.clientY;
if(isFF)
{
this.obj.pixelStartX=parseInt(this.obj.left);
this.obj.pixelStartY=parseInt(this.obj.top);
}
else
{
this.obj.pixelStartX=this.obj.pixelLeft;
this.obj.pixelStartY=this.obj.pixelTop;
}
this.obj.oldBorderStyle=BorderSet(this.objElem,"dotted");
if(e.shiftKey)
{
this.working=2;
this.obj.startWidth=this.objElem.offsetWidth;
this.obj.startHeight=this.objElem.offsetHeight;
}
EventCatch(this.doc,"mousemove",DragOnMouseMoveHandler);
EventCatch(this.doc,"mouseup",DragOnMouseUpHandler);
}
function Drag_onMouseMove(e)
{
e=(isIE)?this.win.event:e;
if(isIE&&e.button!=1)
{
return this.onmouseup(e);
}
if(this.obj&&this.working!=0)
{
{
X=e.clientX-this.obj.eventStartX;
Y=e.clientY-this.obj.eventStartY;
if(this.working==2)
{
var obj1=this.obj;
obj1.width=this.obj.startWidth+X;
obj1.height=this.obj.startHeight+Y;
}else
{
if(isFF)
{
this.obj.left=X+this.obj.pixelStartX;
this.obj.top=Y+this.obj.pixelStartY;
}
else
{
this.obj.pixelLeft=X+this.obj.pixelStartX;
this.obj.pixelTop=Y+this.obj.pixelStartY;
}
}
return false;
}
}
}
function Drag_onMouseUp(e)
{
e=(isIE)?this.win.event:e;
X=e.clientX-this.obj.eventStartX;
Y=e.clientY-this.obj.eventStartY;
if(this.working==1)
{
}
else if(this.working==2)
{
var childnum=this.objElem.childNodes.length;
for(i=0;i<childnum;i++)
{
var obj2=this.objElem.childNodes[i];
if(obj2.tagName=="IMG")
{
obj2.width+=X;
obj2.height+=Y;
}else
{
obj2=obj2.style;
if(obj2)
{
obj2.pixelWidth+=X;
obj2.pixelHeight+=Y;
}
}
}
}
EventRelease(this.doc,"mousemove",DragOnMouseMoveHandler);
EventRelease(this.doc,"mouseup",DragOnMouseUpHandler);
this.working=0;
BorderSet(this.objElem,this.obj.oldBorderStyle);
this.canmove=false;
this.obj=null;
this.objElem=null;
this.modified=true;
this.lastModified=(new Date()).getTime();
}
function Drag_add(id)
{
EventCatch(id,"mousedown",DragOnMouseDownHandler);
}
function Drag_remove(id)
{
EventRelease(id,"mousedown",DragOnMouseDownHandler);
}
function IntervalUpdate(interval,mininterval,maxinterval,hops,hasupdate)
{
if(!hasupdate)
{
if(interval>maxinterval)
{
interval=maxinterval;
}else
{
interval=interval+(maxinterval-mininterval)/hops;
}
}else
{
interval=mininterval;
}
return interval;
}
Function.prototype.bind=function(object)
{
var method=this;
return function()
{
method.apply(object);
}
}
function Timer(mininterval,maxinterval,hops,callbackFunc,timeout)
{
this.mininterval=mininterval;
this.maxinterval=maxinterval;
this.callbackFunc=callbackFunc;
this.timeoutFunc=null;
this.timeout=0;
this.numofcalls=0;
this.hops=hops;
this.interval=mininterval;
this.timerId=0;
this.started=false;
this.lastUpdateTime=0;
this.startTime=0;
if(typeof(timeout)!="undefined")
{
this.timeout=timeout;
}
this.start=function(startnow)
{
this.started=true;
this.numofcalls=0;
if(typeof(startnow)=="boolean"&&startnow==true)
{
this.stopTimer();
this.startTimer(100);
}else
{
this.stopTimer();
this.startTimer(this.interval);
}
this.startTime=Time();
};
this.stop=function()
{
this.stopTimer();
this.started=false;
};
this.notify=function(newitems)
{
var interval=this.maxinterval;
if(newitems>=0)
{
interval=IntervalUpdate(this.interval,
this.mininterval,this.maxinterval,this.hops,(newitems>0));
}
this.interval=interval;
if(this.started)
{
this.stopTimer();
this.startTimer(this.interval);
}
};
var Timer=this;
this.startTimer=function(interval)
{
if(interval>0)
{
this.timerId=setTimeout(
this.timerFunc,
interval
);
}
};
this.stopTimer=function()
{
clearTimeout(this.timerId);
this.timerId=0;
};
this.timerFunc=function()
{
if(this!=Timer)
{
return Timer.timerFunc();
}
if(this.callbackFunc)
{
var res;
if(typeof(this.callbackFunc)=="string")
{
eval(this.callbackFunc);
}else
{
res=this.callbackFunc();
}
this.numofcalls++;
}
var currTime=Time();
this.lastUpdateTime=currTime;
if(this.started)
{
this.stopTimer();
if(this.timeout>0&&
Time()>this.startTime+timeout)
{
if(this.timeoutFunc)
{
this.timeoutFunc();
}
}
else
{
this.startTimer(this.interval);
}
}
};
}
function Anitem(id,func,delay,speed)
{
this.id=id;
this.delay=delay;
this.func=func;
this.speed=speed;
this.stopped=0;
this.step=0;
this.last=0;
}
function Animate_line(animator,anitem,tm)
{
var obj=animator.doc.getElementById(anitem.id);
var y=ObjGetY(obj);
var h=ObjGetH(obj);
if(y+h<0)
{
return 0;
}
ObjMoveBy(obj,0,-20);
return 1;
}
function Animator(win,doc,interval)
{
this.win=win;
this.doc=doc;
this.timerId=null;
this.started=false;
this.interval=interval;
this.items=new Array();
this.numitems=0;
this.starttm=0;
this.elapsed=0;
this.pasuetm=0;
this.add=function(id,func,delay)
{
var item=new Anitem(id,func,delay,1);
this.items[id]=item;
this.numitems++;
return item;
};
this.remove=function(id)
{
var i=0;
delete this.items[id];
this.numitems--;
};
this.start=function(startnow)
{
this.started=true;
if(typeof(startnow)=="boolean"&&startnow==true)
{
this.stopTimer();
this.startTimer(100);
}else
{
this.stopTimer();
this.startTimer(this.interval);
}
this.starttm=Time();
this.elapsed=0;
};
this.stop=function()
{
this.stopTimer();
this.started=false;
};
this.pause=function()
{
this.stopTimer();
this.pausetm=Time();
};
this.resume=function()
{
this.starttm+=(Time()-this.pausetm);
};
this.startTimer=function(interval)
{
if(interval>0)
{
this.timerId=setTimeout(
this.timerFunc,
interval
);
}
};
this.stopTimer=function()
{
if(this.timerId!=null)
{
clearTimeout(this.timerId);
this.timerId=0;
}
};
var Animator=this;
this.timerFunc=function()
{
if(this!=Animator)
{
return Animator.timerFunc();
}
var numrunning=0;
for(var id in this.items)
{
var item=this.items[id];
if(!item.stopped)
{
var obj=this.doc.getElementById(item.id);
if(obj)
{
tmnow=Time();
this.elapsed=tmnow-this.starttm;
if(this.elapsed<item.delay)
{
numrunning++;
continue;
}
else
{
var func=item.func;
var ret=func(this,item,this.elapsed-item.delay);
item.last=this.elapsed-item.delay;
if(ret)
{
numrunning++;
}
else
{
item.stopped=1;
}
}
}
}
}
if(numrunning>0)
{
this.startTimer(this.interval);
}else
{
}
};
}
function PanelMinimize(doc,panelid)
{
var elem=doc.getElementById(panelid);
if(!elem)
return;
if(!elem.style.original_width)
elem.style.original_width=elem.style.width;
if(!elem.style.original_height)
elem.style.original_height=elem.style.height;
HideObjById(doc,panelid+"_body");
HideObjById(doc,panelid+"_close");
if(isIE)
{
elem.style.pixelWidth=25;
elem.style.pixelHeight=25;
}
else
{
elem.style.width=25;
elem.style.height=25;
}
elem.style.border="none";
}
function PanelHide(doc,panelid)
{
HideObjById(doc,panelid);
HideObjById(doc,panelid+"_body");
HideObjById(doc,panelid+"_close");
HideObjById(doc,panelid+"_icon");
}
function PanelShow(doc,panelid)
{
ShowObjById(doc,panelid);
ShowObjById(doc,panelid+"_body");
ShowObjById(doc,panelid+"_close");
ShowObjById(doc,panelid+"_icon");
}
function PanelRestore(doc,panelid)
{
var elem=doc.getElementById(panelid);
if(!elem)
return;
if(!elem.style.original_width)
elem.style.original_width=100;
if(!elem.style.original_height)
elem.style.original_height=100;
elem.style.width=elem.style.original_width;
elem.style.height=elem.style.original_height;
ShowObjById(doc,panelid+"_body");
ShowObjById(doc,panelid+"_close");
}
function PanelToggle(doc,panelid)
{
var elem=doc.getElementById(panelid);
if(!elem)
return;
if(!elem.isminimized)
{
PanelMinimize(doc,panelid);
elem.isminimized=1;
}else
{
PanelRestore(doc,panelid);
elem.isminimized=0;
}
}
function PanelCreate(
win,
parentElem,
id,
left,top,
width,height,
contentHtml,
closeCBfunction,
iconCBfunction
)
{
var doc=win.document;
var newDiv=null;
var iframe=null;
newDiv=doc.getElementById(id);
if(newDiv!=null)
{
return newDiv;
}
var innerHTML="";
innerHTML+="<img"
+" id="+id+"_icon"
+" width=20 height=20"
+" src="+gnmcommfileurl+"/img/markerJie.gif"
+" ondblclick='PanelToggle(document,\""+id+"\");'"
+" >"
+"</img>"
;
innerHTML+="<img"
+" id="+id+"_close"
+" STYLE='"
+" position: absolute; "
+" left: "+(width-20)+";"
+" top: "+0+";"
+"'"
+" width=20 height=20"
+" src="+gnmcommfileurl+"/img/close.gif"
+" ondblclick='RemoveObjById(document,\""+id+"\");'"
+" >"
+"</img>"
;
innerHTML+="<div "+" id="+id+"_body"+">";
innerHTML+=contentHtml;
innerHTML+="</div>";
newDiv=WinAppendHtml2(
win,
doc,
parentElem,
"DIV",
innerHTML
);
newDiv.id=id;
newDiv.style.position="absolute";
newDiv.style.top=top;
newDiv.style.left=left;
if(width>0)
newDiv.style.width=width;
if(height>0)
newDiv.style.height=height;
newDiv.style.backgroundColor="lightblue";
newDiv.style.opacity=55/100;
newDiv.style.filter="alpha(opacity=55)";
var closeobj=doc.getElementById(id+"_close");
if(closeobj&&typeof closeCBfunction!="undefined")
{
closeobj.ondblclick=closeCBfunction;
}
var iconobj=doc.getElementById(id+"_icon");
if(iconobj&&typeof iconCBfunction!="undefined")
{
iconobj.ondblclick=iconCBfunction;
}
return newDiv;
}
function IFrameHtml(id,width,height,srcurl)
{
var html="";
html+=
"<IFRAME "
+" WIDTH="+width
+" HEIGHT="+height
;
html+=" ID="+id
+" NAME="+id
+" SRC="+"'"+srcurl+"'"
+"></IFRAME>"
;
return html;
}
function IFramePanelCreate(
win,
parentElem,
id,
width,
height,
src)
{
var doc=win.document;
var iframe=null;
var newDiv=null;
var iframe=null;
newDiv=doc.getElementById("newDiv");
if(newDiv==null)
{
var innerHTML="";
innerHTML+="<img"
+" id="+id+"_img"
+" width=20 height=25"
+" src="+gnmcommfileurl+"/img/markerJie.gif"
+" ondblclick='PanelToggle();'"
+" >"
+"</img>"
;
innerHTML+="Stats";
innerHTML+=
"<IFRAME "
+" STYLE='"
+" width: "+width+"pt;"
+" height: "+height+"pt;"
+"'"
;
innerHTML+=
" ID="+id+"_frame"
+" SRC="+"'"+src+"'"
+"></IFRAME>"
;
newDiv=WinAppendHtml2(
win,
doc,
parentElem,
"DIV",
innerHTML
);
newDiv.id=id;
newDiv.style.position="absolute";
newDiv.style.top=20;
newDiv.style.left=200;
newDiv.style.width=width;
newDiv.style.height=height;
newDiv.style.backgroundColor="lightblue";
newDiv.style.opacity=75/100;
newDiv.style.filter="alpha(opacity=75)";
iframe=win.frames?win.frames[id+"_frame"]:doc.frames[id+"_frame"];
}
return newDiv;
}
var NMCOMM_UPDATE_USRS=1;
var NMCOMM_UPDATE_DISCUS=2;
var NMCOMM_UPDATE_CHATREQS=4;
var NMCOMM_UPDATE_USRINFO=0x00000008;
var NMCOMM_UPDATE_PAGEINFO=0x00000010;
var NMCOMM_UPDATE_CMTS=0x00000100;
var NMCOMM_UPDATE_LINKS=0x00000200;
var NMCOMM_UPDATE_FAVS=0x00000400;
var NMCOMM_UPDATE_FRIENDS=0x00000800;
var NMCOMM_UPDATE_BLOGS=0x00001000;
var NMCOMM_UPDATE_NOTES=0x00002000;
var NMCOMM_UPDATE_ADS=0x00004000;
var NMCOMM_UPDATE_ALL=0xFFFFFFFF;
var NMCOMM_UPDATE_MAINUPDATE=0x000040FF;
var NMCOMM_AUTOUPDATE_DISABLED=0;
var NMCOMM_AUTOUPDATE_ONCE=1;
var NMCOMM_AUTOUPDATE_ENABLED=2;
var NMCOMM_VIEW_PAGE=0;
var NMCOMM_VIEW_SITE=1;
var NMCOMM_VIEW_ONLINE=2;
var NMCOMM_VIEW_ALL=3;
var NMCOMM_DISPLAY_NONE=0;
var NMCOMM_DISPLAY_SIDEBAR=1;
var NMCOMM_DISPLAY_POPUP=2;
var NMCOMM_DISPLAY_INLINE=3;
var NMCOMM_DISPLAY_COMMBAR=4;
var NMCOMM_SIDEBAR_ID="viewNetmiteSideComm";
var NMCOMM_SIDEPAGE_ID="nmcommpanel";
var NMCOMM_BROWSER_ID="nmcommpanel-browser";
var NMCOMM_MSG_ID="nmcomm_msg";
var NMCOMM_UPDATE_FLAG_NO_GUI=0;
var NMCOMM_UPDATE_FLAG_HAS_GUI=1;
var NMCOMM_USR_FLAG_BUSY=1;
var NMCOMM_USR_FLAG_ANONYMOUS=2;
var NMCOMM_USR_FLAG_INVISIBLE=4;
var NMCOMM_DISCU_SCOPE_PAGE=0;
var NMCOMM_DISCU_SCOPE_SITE=1;
var NMCOMM_DISCU_SCOPE_ALL=2;
var gstate=1;
var gnmcommlasturl="";
var gnmcommlastcommurl="";
var guid="";
var gnmcommurl="http://www.netmite.com/nmcomm/latest/srv/comm.php?";
var gnmcommfileurl="http://www.netmite.com/nmcomm/latest";
var gignoreurl="http://www.netmite.com/nmcomm/";
var gupdateurl="http://www.netmite.com/nmcomm/latest/latest.php";
var gversion="";
var gdisplaytype=1;
var gdisplaytypechanged=true;
var gprivacy=0;
var gdisplaypopupwin=null;
var ginpopupwin=0;
var gshownote=1;
var gshowusr=0;
var gshowdiscu=0;
var gshowad=1;
var gshowcmtsex=1;
var gusrview=0;
var gnmcomminited=false;
var gnmcommswapped=0;
var gnmcommswappedurl="";
var gme=null;
var grsr=null;
var gMainTimer=null;
var last=0;
var gupdatefuncs=0;
var gautoupdatecomm=NMCOMM_AUTOUPDATE_ONCE;
var gautoupdatemininterval=10000;
var gautoupdatemaxinterval=600000;
var gautoupdatehops=20;
var gcheckupdateprobability=100;
var gavatarspath="";
var gpopupwinopacity=0xF0;
var ginlinewinopacity=0xF0;
var gtopframewinopacity=0xF0;
function ChatRequestSend(uid1,uid2)
{
var url;
url=gnmcommurl;
func="chat_send("+uid1+","+uid2+","+"Request"+","+"2"+")"+"@chatsend;"
;
url=url+"&xml="+"1";
url=UrlAppendVariable(url,'func',func);
NMXmlRequest(url,'GET',"",NMXmlReceiver);
return false;
}
function ChatRequestWait(uid1,uid2,waitTimer,chatwaitwin)
{
var url;
url=gnmcommurl;
var func="chat_recv("+uid2+","+uid1+","+"4"+")"+"@chatreply";
url=url+"&xml="+"1";
url=UrlAppendVariable(url,'func',func);
var ChatRequestWait_Proc=function(xmlObj)
{
items=XML_selectNodes("//chatreply/item",xmlObj);
if(items==null||items.length<=0)
return false;;
for(var i=0;i<items.length;i++)
{
var chatreply=XmlNodeToArray(items[i]);
if(chatreply['msg']=='Connected')
{
waitTimer.stop();
alert("Chat Request Connected by "+uid2);
ChatOpenWindow(uid1,uid2);
if(chatwaitwin)
{
chatwaitwin.close();
}
}else
if(chatreply['msg']=='Disconnected')
{
waitTimer.stop();
alert("Chat Request Disconnected by "+uid2);
if(chatwaitwin)
{
chatwaitwin.close();
}
}
}
};
NMXmlRequest(url,'GET',"",ChatRequestWait_Proc);
return false;
}
function ChatRequest(uid1,uid2)
{
ChatRequestSend(uid1,uid2);
var chatwaittimer=null;
var chatwaitwin=null;
var chatwinstyle="width=200,height=150,scrollbars=yes,dependent=yes,resizable=yes";
var chatwintitle="chatwait_"+uid1+"_with_"+uid2;
var url="";
chatwaitwin=window.open(url,chatwintitle,chatwinstyle);
chatwaitwin.document.writeln("Please wait while we are connecting to the remote user "+uid2+"...");
chatwaitwin.document.writeln("<br>");
chatwaittimer=new Timer(5000,20000,4,null,60000);
chatwaittimer.callbackFunc=function()
{
ChatRequestWait(uid1,uid2,chatwaittimer,chatwaitwin);
if(chatwaitwin.document)
{
chatwaitwin.document.write("."+chatwaittimer.numofcalls+".");
}else
{
chatwaittimer.stop();
chatwaitwin=null;
}
};
chatwaittimer.timeoutFunc=function()
{
alert("Chat Request Timeout to "+uid2);
chatwaitwin.close();
};
chatwaittimer.start(true);
}
function ChatRequestAccept(uid1,uid2)
{
var url;
url=gnmcommurl;
func="chat_send("+uid1+","+uid2+","+"Connected"+","+"4"+")"+"@chatsend;";
url=url+"&xml="+"1";
url=UrlAppendVariable(url,'func',func);
NMXmlRequest(url,'GET',"",NMXmlReceiver);
}
function ChatRequestDeny(uid1,uid2)
{
var url;
url=gnmcommurl;
func="chat_send("+uid1+","+uid2+","+"Disconnected"+","+"4"+")"+"@chatsend;";
url=url+"&xml="+"1";
url=UrlAppendVariable(url,'func',func);
NMXmlRequest(url,'GET',"",NMXmlReceiver);
}
function ChatOpenNewWindow(uid1,uid2)
{
var chatwinstyle="width=400,height=300,scrollbars=yes,dependent=yes";
var chatwintitle="chat_"+uid1+"_with_"+uid2;
var url;
url=location.href;
var func="chat("+uid1+","+uid2+")";
url=UrlAppendVariable(url,'func',func);
window.open(url,chatwintitle,chatwinstyle);
}
function ChatOpenWindow(uid1,uid2)
{
var url;
url=location.href;
var func="chat("+uid1+","+uid2+")";
url=UrlAppendVariable(url,'func',func);
location.href=url;
}
function NMCommChatRequest_Handler(xmlObj,win,doc)
{
var chatid,uid1,uid2,msg,ctype,ts;
var changed=false;
if(win==null)
win=window;
if(doc==null)
doc=win.document;
items=XML_selectNodes("//chatreq/item",xmlObj);
if(items==null||items.length==0)
{
return 0;
}
for(var i=0;i<items.length;i++)
{
changed=true;
var chatreq=XmlNodeToArray(items[i]);
NMCommChatHandleRequest(chatreq,win,doc);
}
}
function NMCommChatHandleRequest(chatreq,win,doc)
{
if(chatreq['ctype']==2)
{
var accepted=confirm("Chat Request from usr "+
chatreq['uid1']+" at"+chatreq['ts']+"\n"+" Press OK to chat. Click Cancel to deny."
);
if(accepted)
{
ChatRequestAccept(chatreq['uid2'],chatreq['uid1']);
ChatOpenWindow(chatreq['uid2'],chatreq['uid1']);
}
else
{
ChatRequestDeny(chatreq['uid2'],chatreq['uid1']);
}
}
}
var gselectedNote=null;
function NMCommAddNote(win,doc,url)
{
var left=rand(500);
var top=rand(200);
if(win.getSelection)
{
var select=win.getSelection();
if(select!="")
{
var range=select.getRangeAt(0);
var anchor=win.selection.anchorNode;
}
}
else
{
var select=doc.selection;
if(select)
{
var range=select.createRange();
left=range.offsetLeft;
top=range.offsetTop;
doc.execCommand('Unselect');
}
}
var url0=UrlEncode(url);
var content=prompt("Please enter your comments here","My Text");
if(!content||content.length==0)
{
return;
}
var note=new Array();
note['content']=content;
note['x']=left;
note['y']=top;
var pub=1;
var reqContent="content="+UrlEncode(content)
+"&x="+left
+"&y="+top
+"&pub="+pub
;
var url=gnmcommurl+"&func=note_add($uid,$rid,$_REQUEST)@noteadd"+"&xml=1"
+"&url="+UrlEncode(url);
NMXmlRequest(url,'POST',reqContent,
function(xmlObj)
{
var errmsg=NMRequestErrGUI_Handler(xmlObj);
if(errmsg!="")
return;
var obj=XML_selectSingleNode("//noteadd",xmlObj);
note['noteid']=obj.childNodes[0].nodeValue;
note['noteid']=obj.childNodes[0].nodeValue;
note['rid']=grsr['rid'];
note['uid']=gme['uid'];
note['login']=gme['login'];
note['ts']='';
note['title']='';
NoteAddItem(win,doc,note);
}
);
}
function NMCommUpdateNote(win,doc,url)
{
if(gselectedNote==null)
{
alert("Please select a note first");
return;
}
var note=null;
try{
note=gselectedNote.mydata;
}catch(err){
alert("Please Select a note before updating first");
return;
}
var content=prompt("Please enter your updated comments here",note['content']);
if(!content||content.length==0)
{
return;
}
var img=doc.getElementById('note_img_'+note['noteid']);
var div=doc.getElementById('note_div_'+note['noteid']);
if(img.style.pixelLeft)
{
note['x']=img.style.pixelLeft;
note['y']=img.style.pixelTop;
}else
{
note['x']=parseInt(img.style.left);
note['y']=parseInt(img.style.top);
}
note['content']=content;
var reqContent="content="+UrlEncode(note['content'])
+"&x="+note['x']
+"&y="+note['y']
;
var commurl=gnmcommurl+"&func=note_update($uid,"+note['noteid']+",$_REQUEST)@noteupdate"+"&xml=1"
+"&url="+UrlEncode(url);
NMXmlRequest(commurl,'POST',reqContent,
function(xmlObj)
{
var errmsg=NMRequestErrGUI_Handler(xmlObj);
if(errmsg!="")
return;
NoteHideItem(doc,note['noteid']);
NoteRemoveItem(doc,note['noteid']);
NoteAddItem(win,doc,note);
}
);
}
function NMCommDelNote(win,doc,url)
{
if(gselectedNote==null)
{
alert("Please select a note first");
return;
}
var note=null;
try{
note=gselectedNote.mydata;
}catch(err){
alert("Please Select a note before updating first");
return;
}
if(note['uid']!=gme['uid'])
{
alert("You cannot delete notes from others");
return;
}
var res=confirm("Are you sure to delete this note");
if(!res)
return;
var url=gnmcommurl+"&func=note_del(1,"+note['noteid']+")"+"&xml=1";
NMXmlRequest(url,'GET',null,function(xmlObj)
{
var errmsg=NMRequestErrGUI_Handler(xmlObj);
if(errmsg!="")
return;
NoteHideItem(doc,note['noteid']);
NoteRemoveItem(doc,note['noteid']);
}
);
}
function NMCommGetNotes(win,doc,url,ui)
{
var commurl=gnmcommurl+"&func=note_list($uid,$rid,0,10)@notes"+"&xml=1"
+"&url="+url;
NMXmlRequest(commurl,'GET',null,
function(xmlObj)
{
NMCommGetNotes_Handler(xmlObj,win,doc,ui);
}
);
gselectedNote=null;
}
function NMCommGetNotes_Handler(xmlObj,win,doc,ui)
{
var errmsg=NMRequestErr_Handler(xmlObj,ui);
if(errmsg!="")
{
NMCommSetMsg(errmsg);
return-1;
}
items=XML_selectNodes('//notes/item',xmlObj);
if(items==null||items.length==0)
return 0;
for(var i=0;i<items.length;i++)
{
var note=XmlNodeToArray(items[i]);
NoteAddItem(win,doc,note);
}
return items.length;
}
function NoteToggleAll(doc,show)
{
gselectedNote=null;
if(show)
{
NoteShowAll(doc);
}else
{
NoteHideAll(doc);
}
}
function NoteShowAll(doc)
{
gselectedNote=null;
var ids=ObjGetAllIds(doc,"div","note_div_");
if(!ids)
{
return;
}
for(var id in ids)
{
NoteShowItem(doc,id);
}
}
function NoteHideAll(doc)
{
gselectedNote=null;
var ids=ObjGetAllIds(doc,"div","note_div_");
if(!ids)
{
return;
}
for(var id in ids)
{
NoteHideItem(doc,id);
}
}
function NoteRemoveAll(doc)
{
var ids=ObjGetAllIds(doc);
for(var id in ids)
{
NoteRemoveItem(doc,id);
}
}
function NoteShowItem(doc,id)
{
var img=doc.getElementById('note_img_'+id);
if(!img)
return;
img.style.visibility='visible';
}
function NoteHideItem(doc,id)
{
var div=doc.getElementById('note_div_'+id);
var img=doc.getElementById('note_img_'+id);
if(!img||!div)
return;
div.style.visibility='hidden';
img.style.visibility='hidden';
}
function NoteShowText(doc,id)
{
var div=doc.getElementById('note_div_'+id);
var img=doc.getElementById('note_img_'+id);
if(div&&img)
{
ObjMoveBy(div,0,0,img);
div.style.visibility='visible';
}
}
function NoteHideText(doc,id)
{
var div=doc.getElementById('note_div_'+id);
if(div)
{
div.style.visibility='hidden';
}
}
function NoteRemoveItem(doc,id)
{
RemoveObjById(doc,'note_div_'+id);
RemoveObjById(doc,'note_img_'+id);
}
function NoteGetDivHtml(note)
{
var html="";
html+="<B>"+note['login']+"</B>"+"&nbsp;"
+note['ts']+"<BR>"
+note['content']
;
return html;
}
function NoteAddItem(win,doc,note)
{
var id=note['noteid'];
var left=note['x'];
var top=note['y'];
if(left<0)left=20;
if(top<0)top=20;
var html=NoteGetDivHtml(note);
var obj=doc.getElementById("note_div_"+id);
if(obj!=null)
{
NoteShowItem(doc,id);
return null;
}
var newDiv=WinAppendHtml2(
win,
doc,
doc.body,
"DIV",
html
);
newDiv.id="note_div_"+id;
newDiv.style.position="absolute";
newDiv.style.top=top;
newDiv.style.left=left;
newDiv.style.padding=20;
newDiv.style.backgroundColor="lightgreen";
if(!isIE5)
{
newDiv.style.filter="alpha(opacity=50)";
}
newDiv.style.visibility="hidden";
var newImg=WinAppendHtml2(
win,
doc,
doc.body,
"IMG",
""
);
newImg.id="note_img_"+id;
newImg.src=gnmcommfileurl+'/img/markerJie.gif';
newImg.style.position="absolute";
newImg.style.top=top;
newImg.style.left=left;
newImg.style.width=30;
newImg.style.height=30;
newImg.style.filter="alpha(opacity=50)";
EventCatch(newImg,"mouseover",function(e){NoteShowText(doc,id);});
EventCatch(newImg,"mouseout",function(e){NoteHideText(doc,id);});
EventCatch(newImg,"mousedown",function(e){gselectedNote=EventGetSrc(win,e);});
newImg.mydata=note;
if(gme!=null&&note['uid']==gme['uid'])
{
newImg.style.backgroundColor="lightgreen";
if(g_drag)
{
g_drag.add(newImg);
}
}
return newImg;
}
function avatar_geturl(file)
{
if(StringStartsWith(file,"http:"))
{
return file;
}
else
{
return gnmcommfileurl+"srv/"+file;
}
}
var gselectedUsr=null;
function NMCommGetUsrs(win,doc,url,last,handler_func,ui,view)
{
var commurl=gnmcommurl+"&func=usr_list(0,$rid,0,10,"+last+",$view)@usrs"
+"&xml=1"
+"&view="+view
+"&url="+url;
NMXmlRequest(commurl,'GET',null,
function(xmlObj)
{
var errmsg=NMRequestErr_Handler(xmlObj,ui);
if(errmsg!="")
{
NMCommSetMsg(errmsg);
return-1;
}
handler_func(xmlObj,win,doc);
}
);
gselectedUsr=null;
}
function NMCommGetUsrsCommWin_Handler(xmlObj,win,doc)
{
items=XML_selectNodes('//usrs/item',xmlObj);
if(items==null||items.length==0)
return 0;
var newitems=0;
for(var i=0;i<items.length;i++)
{
var usr=XmlNodeToArray(items[i]);
newitems+=UsrAddItem(win,doc,usr,0,0);
}
return newitems;
}
var gusrx0=100;
var gusry0=100;
var gusrdx=25;
var gusrdy=0;
function NMCommGetUsrsMainWin_Handler(xmlObj,win,doc)
{
items=XML_selectNodes('//usrs/item',xmlObj);
if(items==null||items.length==0)
return 0;
var left=gusrx0;
var top=gusry0;
var newitems=0;
var ani=new Animator(win,doc,200);
var i=0;
for(i=0;i<items.length;i++)
{
var usr=XmlNodeToArray(items[i]);
var res=UsrAddItem2(win,doc,usr,left,(last==0)?top:200);
if(res==0)
continue;
newitems+=res;
left+=gusrdx;
top+=gusrdy;
if(last==0)
continue;
var delay=i*500;
ani.add("usr_img_"+usr['uid']
,
function(animator,anitem,tm)
{
var obj=animator.doc.getElementById(anitem.id);
var y=ObjGetY(obj);
if(y>top)
{
animator.remove(anitem.id);
return 0;
}
var step=(animator.interval)/10;
step=20;
ObjMoveBy(obj,0,step);
return 1;
}
,delay
);
}
ani.start();
return newitems;
}
function UsrToggleAll(doc,show)
{
gselectedUsr=null;
if(show)
{
UsrShowAll(doc);
}else
{
UsrHideAll(doc);
}
}
function UsrShowAll(doc)
{
gselectedUsr=null;
var ids=ObjGetAllIds(doc,"div","usr_div_");
if(!ids)
{
return;
}
for(var id in ids)
{
UsrShowItem(doc,id);
}
}
function UsrHideAll(doc)
{
gselectedUsr=null;
var ids=ObjGetAllIds(doc,"div","usr_div_");
if(!ids)
{
return;
}
for(var id in ids)
{
UsrHideItem(doc,id);
}
}
function UsrRemoveAll(doc)
{
var ids=ObjGetAllIds(doc);
for(var id in ids)
{
UsrRemoveItem(doc,id);
}
}
function UsrRemoveItem(doc,id)
{
RemoveObjById('usr_div_'+id);
RemoveObjById('usr_img_'+id);
}
function UsrShowItem(doc,id)
{
var img=doc.getElementById('usr_img_'+id);
if(!img)
return;
img.style.visibility='visible';
}
function UsrHideItem(doc,id)
{
var div=doc.getElementById('usr_div_'+id);
var img=doc.getElementById('usr_img_'+id);
if(!img||!div)
return;
div.style.visibility='hidden';
img.style.visibility='hidden';
}
function UsrShowText(doc,id)
{
var div=doc.getElementById('usr_div_'+id);
var img=doc.getElementById('usr_img_'+id);
var x=img.style.pixelLeft?img.style.pixelLeft:parseInt(img.style.left);
var y=img.style.pixelTop?img.style.pixelTop:parseInt(img.style.top);
x=x+30;
y=(y>100)?y-100:y+100;
ObjMoveTo(div,x,y);
div.style.visibility='visible';
}
function UsrHideText(doc,id)
{
var div=doc.getElementById('usr_div_'+id);
div.style.visibility='hidden';
}
function UsrGetDivHtml(usr)
{
var html="";
html+="<A HREF='comm.php?func=usr_detail("+usr['uid']+")'>"
+usr['login']+"("+usr['uid']+")"
+"</A>"
+usr['hit']+"&nbsp;"
;
return html;
}
function UsrGetDivHtml2(usr)
{
var html="";
html+="<B>"+usr['login']+"</B>"
+"("+usr['uid']+")"
+usr['hit']+"<BR/>"
;
return html;
}
function UsrDragAll(win,doc,meuid)
{
var obj=doc.getElementById('usr_img_'+meuid);
if(!obj)
return;
var startx=obj.style.pixelStartX;
var starty=obj.style.pixelStartY;
var endx=obj.style.pixelLeft?obj.style.pixelLeft:parseInt(obj.style.left);
var endy=obj.style.pixelTop?obj.style.pixelTop:parseInt(obj.style.top);
var dx=endx-startx;
var dy=endy-starty;
var ids=ObjGetAllIds(doc,"img","usr_img_");
if(!ids)
{
return;
}
for(var id in ids)
{
if(id!=meuid)
{
obj=doc.getElementById('usr_img_'+id);
ObjMoveBy(obj,dx,dy);
}
}
gusrx0+=dx;
gusry0+=dy;
NMPrefSet('nmcommpref.usr.x0',gusrx0);
NMPrefSet('nmcommpref.usr.y0',gusry0);
}
function UsrAddItem(win,doc,usr,left,top)
{
var usrsdiv=doc.getElementById('curr_users');
if(!usrsdiv)
{
return 0;
}
var id=usr['uid'];
var obj=doc.getElementById("usr_div_"+id);
if(obj!=null)
{
return 0;
}
var html=UsrGetDivHtml2(usr);
var newDiv=WinAppendHtml2(
win,
doc,
usrsdiv,
"SPAN",
html
);
newDiv.id="usr_div_"+id;
return 1;
}
function UsrAddItem2(win,doc,usr,left,top)
{
var id=usr['uid'];
var obj=doc.getElementById("usr_div_"+id);
if(obj!=null)
{
return 0;
}
var html=UsrGetDivHtml2(usr);
var newDiv=WinAppendHtml2(
win,
doc,
doc.body,
"DIV",
html
);
newDiv.id="usr_div_"+id;
newDiv.style.position="absolute";
newDiv.style.top=top;
newDiv.style.left=left;
newDiv.style.padding=20;
newDiv.style.backgroundColor="lightgreen";
newDiv.style.filter="alpha(opacity=50)";
newDiv.style.visibility="hidden";
var newImg=WinAppendHtml2(
win,
doc,
doc.body,
"IMG",
""
);
newImg.id="usr_img_"+id;
newImg.src=avatar_geturl(usr['avatar']);
newImg.style.position="absolute";
newImg.style.top=top;
newImg.style.left=left;
newImg.style.width=25;
newImg.style.height=25;
newImg.style.filter="alpha(opacity=50)";
EventCatch(newImg,"mouseover",function(e){UsrShowText(doc,id);});
EventCatch(newImg,"mouseout",function(e){UsrHideText(doc,id);});
EventCatch(newImg,"mousedown",function(e){gselectedUsr=EventGetSrc(win,e);});
newImg.mydata=usr;
if(gme!=null&&usr['uid']==gme['uid'])
{
newImg.style.backgroundColor="lightgreen";
if(g_drag)
{
g_drag.add(newImg);
}
EventCatch(newImg,"mouseup",function(e){UsrDragAll(win,doc,id);});
}
return 1;
}
function NMCommGetDiscus(win,doc,url,last,handler_func,ui)
{
var commurl=gnmcommurl
+"&func=discu_list(0,$rid,0,10,"+last+")@discus"
+"&xml=1"
+"&url="+url;
NMXmlRequest(commurl,'GET',null,
function(xmlObj)
{
var errmsg=NMRequestErr_Handler(xmlObj,ui);
if(errmsg!="")
{
NMCommSetMsg(errmsg);
return-1;
}
handler_func(xmlObj,win,doc);
}
);
}
function NMCommGetDiscusCommWin_Handler(xmlObj,win,doc)
{
if(win==null)
win=window;
if(doc==null)
doc=win.document;
if(xmlObj==null)
return 0;
items=XML_selectNodes('//discus/item',xmlObj);
if(items==null||items.length==0)
{
return 0;
}
var i=0;
var newitems=0;
for(i=0;i<items.length;i++)
{
var discu=XmlNodeToArray(items[i]);
newitems+=DiscuAddItem(win,doc,discu);
}
return newitems;
}
function NMCommGetDiscusMainWin_Handler(xmlObj,win,doc)
{
if(win==null)
win=window;
if(doc==null)
doc=win.document;
items=XML_selectNodes('//discus/item',xmlObj);
if(items==null||items.length==0)
return 0;
var i=0;
var newitems=0;
var ani=new Animator(win,doc,200);
for(i=0;i<items.length;i++)
{
var discu=XmlNodeToArray(items[i]);
var x=rand(500);
var y=rand(500);
var usrobj=doc.getElementById("usr_img_"+discu['uid']);
if(usrobj)
{
x=ObjGetX(usrobj);
y=ObjGetY(usrobj);
}
var res=DiscuAddItem2(win,doc,discu,x,y);
newitems+=res;
if(res==0)
continue;
var delay=i*1000;
ani.add("discu_div_"+discu['disid']
,
function(animator,anitem,tm)
{
var obj=animator.doc.getElementById(anitem.id);
if(!ObjVisible(obj))
{
PanelShow(doc,anitem.id);
}
var y=ObjGetY(obj);
var h=ObjGetH(obj);
if(y+h<0)
{
animator.remove(anitem.id);
RemoveObjById(doc,anitem.id);
return 0;
}
var step=-(animator.interval)/10;
step=-20;
ObjMoveBy(obj,0,step);
return 1;
}
,delay
);
}
ani.start();
return newitems;
}
var colors=new Array("black","red","blue","green","orange",
"purple","brown","brown","lightblue","lightgreen",
"magenta","cyan","#d2b48c");
var discuDetailTimerId=0;
function DiscuAddItem(win,doc,discu,left,top)
{
var disid=discu['disid'];
var uid=discu['uid'];
var rid=discu['rid'];
var text=discu['text'];
var ts=discu['ts'];
var scope=(typeof(discu['scope'])=='undefined')?0:discu['scope'];
var id="discu_div_"+disid;
var usrmsg="";
if((uid['flag']&NMCOMM_USR_FLAG_ANONYMOUS)!=0)
{
usrmsg="Anonymous";
}else
if((uid['flag']&NMCOMM_USR_FLAG_INVISIBLE)!=0)
{
usrmsg="Invisible";
}else
{
var usrcolor=(uid==0)?'lightgray':colors[uid%colors.length];
usrmsg=
"<A HREF=\"javascript:parent.location.href='comm.php?func=usr_detail("+uid+")'\""
+" STYLE='color:"+usrcolor+"'"
+">"
+"<IMG SRC='"+discu['avatar']+"' WIDTH=16 HEIGHT=16 BORDER=0 onmouseover='UsrPopupOnMouseOver(event);' onmouseout='UsrPopupOnMouseOut(event);' />"
+"<SPAN class='discuMsgLogin'>"+discu['login']+"</SPAN>"
+"</A>"
;
}
var msg="";
if(uid=='0')
{
}else
{
msg+=usrmsg;
}
msg=msg
+"<SPAN class='discuMsgTime'>&nbsp;"+ts
+"&nbsp;</SPAN>"
;
if(uid=='0')
{
msg+=
" <SPAN class='discuMsgSysText'"
;
}
else
{
msg+=
" <SPAN class='discuMsgText'"
;
}
msg=msg
+"   title='"+ts+"'"
+">"+text
+"</SPAN>"
;
if(discu['rid']!=grsr['rid'])
{
var scopemsg="";
if(scope==NMCOMM_DISCU_SCOPE_SITE)
{
scopemsg="";"[to Site]";
}else
if(scope==NMCOMM_DISCU_SCOPE_ALL)
{
scopemsg="";
}
msg+=" "+"<SPAN class='discuMsgOtherPages' title='other pages "+
+discu['rid']
+"-"
+((typeof(discu['url'])!='undefined')?discu['url']:'')
+"'>"
+scopemsg
+"</SPAN>"
;
}
var obj=doc.getElementById(id);
if(obj!=null)
{
return 0;
}
var par=doc.getElementById('discus_div');
var newdiv=WinAppendHtml(
window,
document,
par,
"DIV",
msg
);
par.scrollTop=par.scrollHeight;
newdiv.id=id;
if(
discu['uid']!=0
&&discu['uid']!=gme['uid']
)
{
var divobj=document.getElementById("usr_detail_popup");
if(divobj)
{
var imgobj=document.getElementById("usr_detail_popup_img");
if(imgobj)
{
imgobj.src=discu['avatar'];
divobj.style.display="block";
clearTimeout(discuDetailTimerId);
discuDetailTimerId=setTimeout(
function()
{
var obj=document.getElementById("usr_detail_popup");
if(obj)
obj.style.display="none";
}
,1000
);
}
}
}
return 1;
}
function DiscuAddItem2(win,doc,discu,left,top)
{
var disid=discu['disid'];
var uid=discu['uid'];
var rid=discu['rid'];
var text=discu['text'];
var ts=discu['ts'];
var id="discu_div_"+disid;
var html=" "
+"<B>"
+"<A HREF=\"javascript:parent.location.href='comm.php?func=usr_detail("+uid+")'\">"
+discu['login']
+"</A>"
+"</B>"
+" "+ts+"-"+text;
if(doc.getElementById(id))
{
return 0;
}
var newdiv=PanelCreate(
win,
doc.body,
id,
left,top,
0,0,
html
);
PanelHide(doc,id);
EventCatch(newdiv,"click",function()
{
RemoveObjById(doc,id);
}
);
return 1;
}
function DiscusFormSubmit(form,updateurl,updatexmlhandler)
{
var strContent=FormGetValues(form,null);
if(form.discu_text.value.length==0)
{
alert("You have to type something");
return false;
}
NMXmlRequest(updateurl,'POST',strContent,updatexmlhandler);
form.discu_text.value="";
return false;
}
function avatar_geturl(file)
{
if(StringStartsWith(file,"http:"))
{
return file;
}
else
{
return gnmcommfileurl+"srv/"+file;
}
}
var gselectedUsr=null;
function NMCommGetUsrs(win,doc,url,last,handler_func,ui,view)
{
var commurl=gnmcommurl+"&func=usr_list(0,$rid,0,10,"+last+",$view)@usrs"
+"&xml=1"
+"&view="+view
+"&url="+url;
NMXmlRequest(commurl,'GET',null,
function(xmlObj)
{
var errmsg=NMRequestErr_Handler(xmlObj,ui);
if(errmsg!="")
{
NMCommSetMsg(errmsg);
return-1;
}
handler_func(xmlObj,win,doc);
}
);
gselectedUsr=null;
}
function NMCommGetUsrsCommWin_Handler(xmlObj,win,doc)
{
items=XML_selectNodes('//usrs/item',xmlObj);
if(items==null||items.length==0)
return 0;
var newitems=0;
for(var i=0;i<items.length;i++)
{
var usr=XmlNodeToArray(items[i]);
newitems+=UsrAddItem(win,doc,usr,0,0);
}
return newitems;
}
var gusrx0=100;
var gusry0=100;
var gusrdx=25;
var gusrdy=0;
function NMCommGetUsrsMainWin_Handler(xmlObj,win,doc)
{
items=XML_selectNodes('//usrs/item',xmlObj);
if(items==null||items.length==0)
return 0;
var left=gusrx0;
var top=gusry0;
var newitems=0;
var ani=new Animator(win,doc,200);
var i=0;
for(i=0;i<items.length;i++)
{
var usr=XmlNodeToArray(items[i]);
var res=UsrAddItem2(win,doc,usr,left,(last==0)?top:200);
if(res==0)
continue;
newitems+=res;
left+=gusrdx;
top+=gusrdy;
if(last==0)
continue;
var delay=i*500;
ani.add("usr_img_"+usr['uid']
,
function(animator,anitem,tm)
{
var obj=animator.doc.getElementById(anitem.id);
var y=ObjGetY(obj);
if(y>top)
{
animator.remove(anitem.id);
return 0;
}
var step=(animator.interval)/10;
step=20;
ObjMoveBy(obj,0,step);
return 1;
}
,delay
);
}
ani.start();
return newitems;
}
function UsrToggleAll(doc,show)
{
gselectedUsr=null;
if(show)
{
UsrShowAll(doc);
}else
{
UsrHideAll(doc);
}
}
function UsrShowAll(doc)
{
gselectedUsr=null;
var ids=ObjGetAllIds(doc,"div","usr_div_");
if(!ids)
{
return;
}
for(var id in ids)
{
UsrShowItem(doc,id);
}
}
function UsrHideAll(doc)
{
gselectedUsr=null;
var ids=ObjGetAllIds(doc,"div","usr_div_");
if(!ids)
{
return;
}
for(var id in ids)
{
UsrHideItem(doc,id);
}
}
function UsrRemoveAll(doc)
{
var ids=ObjGetAllIds(doc);
for(var id in ids)
{
UsrRemoveItem(doc,id);
}
}
function UsrRemoveItem(doc,id)
{
RemoveObjById('usr_div_'+id);
RemoveObjById('usr_img_'+id);
}
function UsrShowItem(doc,id)
{
var img=doc.getElementById('usr_img_'+id);
if(!img)
return;
img.style.visibility='visible';
}
function UsrHideItem(doc,id)
{
var div=doc.getElementById('usr_div_'+id);
var img=doc.getElementById('usr_img_'+id);
if(!img||!div)
return;
div.style.visibility='hidden';
img.style.visibility='hidden';
}
function UsrShowText(doc,id)
{
var div=doc.getElementById('usr_div_'+id);
var img=doc.getElementById('usr_img_'+id);
var x=img.style.pixelLeft?img.style.pixelLeft:parseInt(img.style.left);
var y=img.style.pixelTop?img.style.pixelTop:parseInt(img.style.top);
x=x+30;
y=(y>100)?y-100:y+100;
ObjMoveTo(div,x,y);
div.style.visibility='visible';
}
function UsrHideText(doc,id)
{
var div=doc.getElementById('usr_div_'+id);
div.style.visibility='hidden';
}
function UsrGetDivHtml(usr)
{
var html="";
html+="<A HREF='comm.php?func=usr_detail("+usr['uid']+")'>"
+usr['login']+"("+usr['uid']+")"
+"</A>"
+usr['hit']+"&nbsp;"
;
return html;
}
function UsrGetDivHtml2(usr)
{
var html="";
html+="<B>"+usr['login']+"</B>"
+"("+usr['uid']+")"
+usr['hit']+"<BR/>"
;
return html;
}
function UsrDragAll(win,doc,meuid)
{
var obj=doc.getElementById('usr_img_'+meuid);
if(!obj)
return;
var startx=obj.style.pixelStartX;
var starty=obj.style.pixelStartY;
var endx=obj.style.pixelLeft?obj.style.pixelLeft:parseInt(obj.style.left);
var endy=obj.style.pixelTop?obj.style.pixelTop:parseInt(obj.style.top);
var dx=endx-startx;
var dy=endy-starty;
var ids=ObjGetAllIds(doc,"img","usr_img_");
if(!ids)
{
return;
}
for(var id in ids)
{
if(id!=meuid)
{
obj=doc.getElementById('usr_img_'+id);
ObjMoveBy(obj,dx,dy);
}
}
gusrx0+=dx;
gusry0+=dy;
NMPrefSet('nmcommpref.usr.x0',gusrx0);
NMPrefSet('nmcommpref.usr.y0',gusry0);
}
function UsrAddItem(win,doc,usr,left,top)
{
var usrsdiv=doc.getElementById('curr_users');
if(!usrsdiv)
{
return 0;
}
var id=usr['uid'];
var obj=doc.getElementById("usr_div_"+id);
if(obj!=null)
{
return 0;
}
var html=UsrGetDivHtml2(usr);
var newDiv=WinAppendHtml2(
win,
doc,
usrsdiv,
"SPAN",
html
);
newDiv.id="usr_div_"+id;
return 1;
}
function UsrAddItem2(win,doc,usr,left,top)
{
var id=usr['uid'];
var obj=doc.getElementById("usr_div_"+id);
if(obj!=null)
{
return 0;
}
var html=UsrGetDivHtml2(usr);
var newDiv=WinAppendHtml2(
win,
doc,
doc.body,
"DIV",
html
);
newDiv.id="usr_div_"+id;
newDiv.style.position="absolute";
newDiv.style.top=top;
newDiv.style.left=left;
newDiv.style.padding=20;
newDiv.style.backgroundColor="lightgreen";
newDiv.style.filter="alpha(opacity=50)";
newDiv.style.visibility="hidden";
var newImg=WinAppendHtml2(
win,
doc,
doc.body,
"IMG",
""
);
newImg.id="usr_img_"+id;
newImg.src=avatar_geturl(usr['avatar']);
newImg.style.position="absolute";
newImg.style.top=top;
newImg.style.left=left;
newImg.style.width=25;
newImg.style.height=25;
newImg.style.filter="alpha(opacity=50)";
EventCatch(newImg,"mouseover",function(e){UsrShowText(doc,id);});
EventCatch(newImg,"mouseout",function(e){UsrHideText(doc,id);});
EventCatch(newImg,"mousedown",function(e){gselectedUsr=EventGetSrc(win,e);});
newImg.mydata=usr;
if(gme!=null&&usr['uid']==gme['uid'])
{
newImg.style.backgroundColor="lightgreen";
if(g_drag)
{
g_drag.add(newImg);
}
EventCatch(newImg,"mouseup",function(e){UsrDragAll(win,doc,id);});
}
return 1;
}
var gnmcommcmtsexlimit=10;
function NMWebTimeToDate(idate)
{
if(!idate)
return null;
var re;
re=/(T)|(Z)|(:)/g;
var dates=idate.replace(re,"-").split("-");
var jsdate=new Date(
dates[0],
dates[1]-1,
dates[2],
dates[3],
dates[4],
dates[5],
dates[6]
);
return jsdate;
}
function NMGetTimeAgoString(olddate,newdate)
{
var d=newdate;
if(typeof(d)=='undefined')
d=new Date();
var timeAgoStr="";
var timeAgo=((d.getTime()+(d.getTimezoneOffset()*60000))
-olddate.getTime())/3600000;
if(timeAgo>336)
{
timeAgoStr=""+parseInt(timeAgo/168)+" Weeks ago";
}else if(timeAgo>168)
{
timeAgoStr="1 Weeks ago";
}else if(timeAgo>48)
{
timeAgoStr=""+parseInt(timeAgo/24)+" Days ago";
}else if(timeAgo>24)
{
timeAgoStr="1 Day ago";
}else if(timeAgo>2)
{
timeAgoStr=""+parseInt(timeAgo)+" Hours ago";
}else if(timeAgo>1)
{
timeAgoStr="1 Hour ago";
}else if(timeAgo>0)
{
timeAgoStr=""+parseInt(timeAgo*60)+" Mins ago";
}else
{
timeAgoStr="Right Now";
}
return timeAgoStr;
}
var gopencmtextarget="cmts_exes_iframe";
function NMCommOpenCmtExUrl(url,target)
{
if(target=="")
{
document.location.href=url;
}else
if(target=="cmts_exes_iframe")
{
ShowObjById(document,"cmts_exes_iframe_div");
WinSetIFrameUrl(window,document,"cmts_exes_iframe",url);
}
}
function NMCommCmtAddItemEx(win,doc,cmtex,elemid)
{
var title=cmtex['title'];
var cmt_link=cmtex['link'];
var description=cmtex['description'];
var dc_date=cmtex['dc:date'];
var dateobj=NMWebTimeToDate(dc_date);
var date_str=dateobj?NMGetTimeAgoString(dateobj,new Date()):'Unknown time';
var cmtexid="cmtex_div_"+rand(10000);
var msg=""
+"<SPAN CLASS='cmtex_item_title'>"
+"<A CLASS='cmtex_item_url'"
+" HREF=\""
+"javascript:NMCommOpenCmtExUrl('"
+cmt_link
+"',gopencmtextarget);"
+"\""
+">"
+title
+"</A>"
+"</SPAN>"
+" by "
+"<SPAN CLASS='cmtex_item_publisher'>"
+cmtex['dc:publisher']
+"</SPAN>"
+"&nbsp;"
+"<SPAN CLASS='cmtex_item_date'>"
+date_str
+"</SPAN>"
+"<BR/>"
+"<DIV CLASS='cmtex_item_description'>"
+description
+"</DIV>"
+"<BR/>"
;
var newdiv=WinAppendHtml2(
win,
doc,
elemid,
"LI",
msg
);
if(newdiv)
{
newdiv.id=cmtexid;
return 1;
}else
{
return 0;
}
}
function NMCommGetCmtsEx_Handler(xmlObj,win,doc,elemid)
{
if(xmlObj==null)
return 0;
items=XML_selectNodes('//channel/item',xmlObj);
if(items==null||items.length==0)
{
return 0;
}
doc=(doc?doc:win.document);
var newitems=0;
for(var i=0;i<items.length;i++)
{
var cmtex=XmlNodeToArray(items[i]);
newitems+=NMCommCmtAddItemEx(win,doc,cmtex,elemid);
}
ObjSetInnerHtmlById((doc?doc:win.document),elemid+'_num',""+items.length);
HideObjById((doc?doc:win.document),elemid+'_progress');
}
function NMCommGetCmtsEx(rurl,limit,win,doc,xmlhttpprovider,elemid)
{
var searchurl="http://blogsearch.google.com/blogsearch_feeds?num="+limit
+"&output=rss"
+"&q=link:"
+rurl
;
NMXmlRequest(searchurl,'GET',null,function(xmlObj)
{
NMCommGetCmtsEx_Handler(xmlObj,win,doc,elemid);
}
,xmlhttpprovider
);
}
function NMCommLoadCommCmtsEx(cmtsexlimits,xmlhttpprovider,elemid)
{
var url="";
url=UrlGetArgItem(location.search,
"url",
"www.netmite.com"
);
host=UrlGetHostname(url);
try{
if(isFF)
{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalXPConnect UniversalBrowserAccess"
);
}
}catch(err){
}
NMCommGetCmtsEx(host,cmtsexlimits,window,null
,xmlhttpprovider,elemid
);
}
function NMCommLogin(loginprompturl)
{
window.nmcomm_login_user=NMPrefGet("nmcommpref.login.user","guest");
window.nmcomm_login_pass="";
window.nmcomm_login_action="cancel";
window.nmcomm_login_md5pass=NMPrefGet("nmcommpref.login.md5pass",md5(""));
var loginwin=openDialog(loginprompturl,'Login',
'chrome,modal,width=300,height=240,centerscreen,dialog');
if(nmcomm_login_action=="cancel")
{
return;
}
if(nmcomm_login_user=="")
{
alert("Please specify user name");
return;
}
nmcomm_login_md5pass=md5(nmcomm_login_pass);
NMCommLoginUserPass(nmcomm_login_user,nmcomm_login_md5pass);
}
function NMCommLogout()
{
var url=gnmcommurl+"&func=logout"+"&xml=1";
NMXmlRequest(url,'GET',null,NMRequestErrGUI_Handler);
}
function NMCommLogin_Handler(xmlObj,ui)
{
var errmsg=NMRequestErr_Handler(xmlObj,ui);
if(errmsg!="")
{
NMCommSetMsg(errmsg);
return 0;
}
var meobj=XML_selectSingleNode("//me",xmlObj);
if(meobj)
{
var me=XmlNodeToArray(meobj);
usr=me['login'];
}
NMPrefSet("nmcommpref.login.user",usr);
NMPrefSet("nmcommpref.login.md5pass",md5pass);
NMCommSetMsg("Logined as "+usr);
return 1;
}
function NMCommLoginUserPass(usr,md5pass)
{
var url=gnmcommurl+"&func=login("+usr+","+md5pass+")"+"&xml=1";
NMXmlRequest(url,'GET',null,
function(xmlObj)
{
var res=NMCommLogin_Handler(xmlObj);
if(res)
{
NMConnectCommURL(NMCommGetCurrentBrowsingURL());
}
}
);
}
function NMCommCmdGuestLogin(newguest)
{
var login="guest";
if(!newguest)
{
login=NMPrefGet("nmcommpref.login.user","guest");
if(!StringStartsWith(login,"guest"))
{
login='guest';
}
}
NMCommLoginUserPass(login,'');
}
function NMCommUsrInfo_Handler(xmlObj)
{
var onlineNode=XML_selectSingleNode("//online",xmlObj);
var allNode=XML_selectSingleNode("//all",xmlObj);
if(onlineNode!=null&&allNode!=null)
{
var onlineArr=XmlNodeToArray(onlineNode);
var allArr=XmlNodeToArray(allNode);
NMCommSetMsg(gme['login']+"("+gme['uid']+"): "
+allArr['total']+" All,"+onlineArr['total']+" in"
+"{"+grsr['rid']+"}"
);
}
if(gprivacy!=gme['flag'])
{
gprivacy=gme['flag'];
NMCommSetPrivacy(gme['flag']);
}
}
function NMCommGetUsrInfo(ui)
{
var url=gnmcommurl+"&func=usr_info(1,0)@usrinfo&xml=1";
NMXmlRequest(url,'GET',null,
function(xmlObj)
{
var errmsg=NMRequestErr_Handler(xmlObj,ui);
if(errmsg!="")
{
NMCommSetMsg(errmsg);
return-1;
}
NMCommUsrInfo_Handler(xmlObj);
}
);
}
function MainUpdate_Handler(xmlObj,win,doc)
{
var ret=0;
if(win==null)
win=window;
if(doc==null)
doc=win.document;
if(xmlObj==null)
return;
last=xmlObj.getElementsByTagName('last')[0].firstChild.data;
var newitems=0;
newitems+=NMCommGetDiscusMainWin_Handler(xmlObj,win,doc);
newitems+=NMCommChatRequest_Handler(xmlObj);
if(typeof(gMainTimer)!="undefined")
{
gMainTimer.notify(newitems);
}
if(newitems>0)
{
}
}
function MainUpdate(rid)
{
var url=location.href;
url=UrlAppendVariable(url,'xml',1);
url=UrlAppendVariable(url,'last',last);
url=UrlAppendVariable(url,'func',"mainupdate");
url=UrlAppendVariable(url,'rid',rid);
NMXmlRequest(url,'GET',null,function(xmlObj)
{
MainUpdate_Handler(xmlObj,window,document);
}
);
}
function NMRequestErr_Handler(xmlObj,ui)
{
var ret=0;
if(typeof ui=='undefined')
ui=0;
if(xmlObj==null)
{
return("Communication Errors");
}
var errobj=null;
errobj=XML_selectSingleNode("//error",xmlObj);
if(errobj)
{
var error=XmlNodeToArray(errobj);
var errmsg=error['msg'];
if(ui)
{
alert(errmsg);
}
return(errmsg);
}
var meNode=XML_selectSingleNode("//header/me",xmlObj);
gme=XmlNodeToArray(meNode);
var rsrNode=XML_selectSingleNode("//header/rsr",xmlObj);
grsr=XmlNodeToArray(rsrNode);
return"";
}
function NMRequestErrGUI_Handler(xmlObj)
{
var ret=0;
var errmsg=NMRequestErr_Handler(xmlObj);
if(errmsg!="")
{
alert(errmsg);
}
return errmsg;
}
function NMCommUpdateCommWin_Handler(xmlObj,win,doc)
{
if(win==null)
win=window;
if(doc==null)
doc=win.document;
if(xmlObj==null)
return 0;
var newitems=0;
var last=xmlObj.getElementsByTagName('last')[0].firstChild.data;
newitems+=NMCommGetDiscusCommWin_Handler(xmlObj,win,doc);
newitems+=NMCommGetUsrsCommWin_Handler(xmlObj,win,doc);
newitems+=NMCommChatRequest_Handler(xmlObj);
win.last=last;
if(typeof(gMainTimer)!="undefined")
{
if(gMainTimer)
{
gMainTimer.notify(newitems);
}
}
return newitems;
}
function NMCommUpdateMainWin_Handler(xmlObj,win,doc)
{
var newitems=0;
if(gshowdiscu)
{
newitems+=NMCommGetDiscusMainWin_Handler(xmlObj,win,doc);
}
if(gshowusr)
{
newitems+=NMCommGetUsrsMainWin_Handler(xmlObj,win,doc);
}
if(gshownote)
{
newitems+=NMCommGetNotes_Handler(xmlObj,win,doc,NMCOMM_UPDATE_FLAG_NO_GUI);
}
if(gshowad)
{
newitems+=NMCommAd_Handler(xmlObj,win,doc);
}
return newitems;
}
function NMCommUpdateChrome_Handler(xmlObj,win,doc)
{
var ret=0;
var newitems=0;
try{
if(isFF||
(isIE&&gnmcommomainie.ReadyState==4)
)
{
var mainwin=NMCommGetMainWin();
var maindoc=NMCommGetMainDoc();
if(g_drag==null)
{
g_drag=new Drag(mainwin,maindoc);
}else
{
g_drag.win=mainwin;
g_drag.doc=maindoc;
}
newitems+=NMCommUpdateMainWin_Handler(xmlObj,mainwin,maindoc);
}else
{
}
}catch(err){
}
NMCommUsrInfo_Handler(xmlObj);
last=xmlObj.getElementsByTagName('last')[0].firstChild.data;
var otherwin=NMCommGetDisplayWindow(gdisplaytype);
if(otherwin)
{
try{
win.setTimeout(function()
{
try{
otherwin=NMCommGetDisplayWindow(gdisplaytype);
NMCommUpdateCommWin_Handler(xmlObj,otherwin,otherwin.document);
}catch(err){
}
}
,1000);
}catch(err){
}
}
if(typeof(gMainTimer)!="undefined"&&gMainTimer)
{
gMainTimer.notify(newitems);
}
if(newitems>0)
{
}
return newitems;
}
function NMCommUpdate(win,doc,parms,handler)
{
var commurl=gnmcommurl+"&func=update("+gupdatefuncs+")"+"&xml=1"
+"&last="+last
+parms
;
NMXmlRequest(commurl,'GET',null,
function(xmlObj)
{
var errmsg=NMRequestErr_Handler(xmlObj);
if(errmsg!="")
{
NMCommSetMsg(errmsg);
if(typeof(gMainTimer)!="undefined"&&gMainTimer!=null)
{
gMainTimer.notify(0);
}
return-1;
}
var newitems=0;
newitems=handler(xmlObj,win,doc);
}
);
}
function NMCommUpdateStart(win,doc,mininterval,maxinterval,hops,parms,handler)
{
if(gMainTimer==null)
{
gMainTimer=new Timer(mininterval,maxinterval,hops,null);
}
gMainTimer.callbackFunc=function()
{
NMCommUpdate(win,doc,parms,handler);
};
gMainTimer.start(true);
}
function NMCommUpdateStop()
{
if(gMainTimer!=null)
{
gMainTimer.stop();
}
}
var nmcommnewversion="";
function NMCommInvokeProgressCB(err,per,msg,callback)
{
if(typeof callback=="function"&&callback!=null)
{
callback(err,per,msg);
}
}
var XPI_PROG_DOWNLOAD_START=0;
var XPI_PROG_DOWNLOAD_DONE=1;
var XPI_PROG_INSTALL_START=2;
var XPI_PROG_INSTALL_DONE=3;
var XPI_PROG_DIALOG_CLOSE=4;
var NMInstallProgress=
{
"onStateChange":function(index,state,value)
{
if(state==XPI_PROG_DIALOG_CLOSE)
{
NMPrefSet("nmcommpref.version",nmcommnewversion);
alert("Update Completed. Please restart ALL the Browser instance to use the newer version");
}
}
,
"onProgress":function(index,value,maxValue)
{
}
};
function NMXpiInstall(xpiUrl,callback)
{
if(isFF)
{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalBrowserRead UniversalXPConnect UniversalBrowserAccess"
);
var manager=Components.classes["@mozilla.org/xpinstall/install-manager;1"].createInstance(Components.interfaces.nsIXPInstallManager);
if(manager!=null)
{
var items=[xpiUrl];
manager.initManagerFromChrome(items,items.length,NMInstallProgress);
}else
{
NMCommInvokeProgressCB(-1,100,"Can't get initmanager",callback);
return-1;
}
}
return 0;
}
var glastcheckupdated=false;
function NMCommCheckUpdate(updateUrl,forceinstall,callback)
{
if(glastcheckupdated)
{
return;
}
glastcheckupdated=true;
NMCommInvokeProgressCB(0,0,"Start checking update",callback);
try{
if(isFF)
{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalBrowserRead"
);
}
var lastcheckTime=NMPrefGet("nmcommpref.lastcheckupdate",0);
var currTimeSeconds=Math.floor(Time()/1000);
if(lastcheckTime>0)
{
if(lastcheckTime>currTimeSeconds-10)
{
NMCommInvokeProgressCB(-1,100,"Wont update within 10 seconds, abort",callback);
return;
}
}
NMPrefSet("nmcommpref.lastcheckupdate",currTimeSeconds);
gversion=NMPrefGet("nmcommpref.version",gversion);
var xmlhttp=newXMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
;
if(xmlhttp.status==200)
{
var response=xmlhttp.responseText;
if(response!=null)
{
NMCommCheckUpdate_Handler(response,forceinstall,callback);
}
else
{
NMCommInvokeProgressCB(-1,100,"No response.",callback);
}
}
else
{
NMCommInvokeProgressCB(-1,100,"Error code, not 200, xmlhttp.status ="+xmlhttp.status,callback);
}
}
}
;
xmlhttp.open("GET",updateUrl,true);
xmlhttp.setRequestHeader("Accept","*/*");
NMCommInvokeProgressCB(0,1,"Checking for updates at "+updateUrl,callback);
xmlhttp.send(null);
}catch(err){
NMCommInvokeProgressCB(-1,100,"Exception in getting updates, err ="+err,callback);
}
}
function NMCommCheckUpdate_Handler(response,forceinstall,callback)
{
try{
var version=null;
var lines=response.split("\n");
var parameters=new Array();
for(var index=0;index<lines.length;index++)
{
var line=lines[index];
if(line==null)
continue;
if(StringStartsWith(line,"#"))
continue;
var keyvalue=line.split(": ");
if(keyvalue==null)
continue;
if(keyvalue.length==2)
{
var keyname=StringTrim(keyvalue[0].toLowerCase());
parameters[keyname]=StringTrim(keyvalue[1]);
if(keyname=="version")
{
version=parameters[keyname];
}
}
else
{
}
}
NMCommInvokeProgressCB(-1,3,"Current version="+gversion+" new version="+version,callback);
if(forceinstall||
(version!=null&&(version!=gversion))
)
{
var dontautoupdateme=NMPrefGet("dontautoupdateme",false);
if(!dontautoupdateme)
{
NMCommInstall(version,parameters,callback);
return;
}else
{
NMCommInvokeProgressCB(-1,100,"Don't autoupdate",callback);
}
}else
{
NMCommInvokeProgressCB(-1,100,"Stoped. current version="+gversion+" new version is "+version,callback);
}
}catch(err){
NMCommInvokeProgressCB(-1,100,"Exception, err="+err,callback);
}
}
function NMCommInstall(version,parameters,callback)
{
if(gversion=="")
{
}else
{
}
var sidebarurl=gnmcommurl;
var xpiurl=gnmcommfileurl+"dn/nmcommtoolbar.xpi";
var toolbarurl=gnmcommfileurl+"htm/nmcommietoolbar.php";
var installurl=gnmcommfileurl+"dn/";
installurl=(typeof(parameters['installurl'])!='undefined')?parameters['installurl']
:installurl;
sidebarurl=(typeof(parameters['sidebarurl'])!='undefined')?parameters['sidebarurl']
:gnmcommurl;
xpiurl=(typeof(parameters['xpiurl'])!='undefined')?parameters['xpiurl']
:xpiurl;
toolbarurl=(typeof(parameters['ignoreurl'])!='undefined')?parameters['ignoreurl']
:toolbarurl;
gignoreurl=(typeof(parameters['ignoreurl'])!='undefined')?parameters['ignoreurl']
:gignoreurl;
gupdateurl=(typeof(parameters['updateurl'])!='undefined')?parameters['updateurl']
:gupdateurl;
NMCommInvokeProgressCB(0,10,"Updating from "+gupdateurl,callback);
var ret=0;
ret=NMPrefSet("nmcommpref.nmcommurl",gnmcommurl);
ret=NMPrefGet("nmcommpref.updateurl",gupdateurl);
ret=NMPrefSet("nmcommpref.sidebarurl",sidebarurl);
ret=NMPrefSet("nmcommpref.toolbarurl",toolbarurl);
if(ret!=0)
{
throw("Error on setting toolbarurl, toolbarurl="+toolbarurl);
}
if(isIE)
{
ret=NMCommInstallIE(installurl,callback);
NMPrefSet("nmcommpref.version",version);
NMCommInvokeProgressCB(0,100,"Done",callback);
}else
{
nmcommnewversion=version;
ret=NMXpiInstall(xpiurl);
}
return ret;
}
function NMCommInstallIE(url,callback)
{
var ret=0;
var elem=null;
elem=(gnmcommotoolbar!=null)?(gnmcommotoolbar):document.getElementById("nmcommsecure");
if(!elem)
{
throw"Cannot get system update component";
}
var dir="C:"+"\\" + "Program Files" + "\\"+"Netmite"+"\\" + "YoungYoungNet" +"\\";
var file="";
file="nmcommtoolbar.dll";
ret=elem.Install(url+file,dir+file);
NMCommInvokeProgressCB(ret,20,"Loading .",callback);
file="nmcommsidebar.dll";
ret=elem.Install(url+file,dir+file);
NMCommInvokeProgressCB(ret,30,"Loading ..",callback);
file="nmcommuninstall.reg0";
ret=elem.Install(url+file,dir+file);
NMCommInvokeProgressCB(ret,40,"Loading ...",callback);
file="nmcomminstall.reg";
ret=elem.Install(url+file,dir+file);
NMCommInvokeProgressCB(ret,50,"Loading ....",callback);
file="uninstall.bat";
ret=elem.Install(url+file,dir+file);
NMCommInvokeProgressCB(ret,60,"Loading .....",callback);
var code=elem.GetRegValue("HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1406");
if(code!=0)
{
ret=NMCommAddTrustZone(location.href);
ret=NMCommAddTrustZone("http://www.netmite.com");
}
NMCommInvokeProgressCB(ret,80,"Loading zone",callback);
return 0;
}
function NMCommInsallProgressCB(ret,perc,msg)
{
var obj=document.getElementById('msg');
if(perc==100)
{
if(ret==0)
{
if(isFF)
{
alert("Update Completed. Please restart ALL the Brwoser instance to use the newer version");
}
if(obj)
{
obj.innerHTML+="! Done. Please click Below to Start Using."+"<BR/>";
}
ShowObjById(document,"continuediv");
}
else
{
if(obj)
{
obj.innerHTML+=msg+"<BR/>";
}
alert("Error, Please report to the system administrator, Thanks a lot.");
}
}
else
{
if(obj)
{
obj.innerHTML+="."+msg+"<BR/>";
}
}
}
function NMCommInstallNow()
{
var obj=document.getElementById('msg');
if(obj)
{
obj.innerHTML+=".Start component"+"<BR/>";
}
NMPrefSet("nmcommpref.nmcommurl",null);
NMCommMainSetup();
NMCommCheckUpdate(gupdateurl,true,
NMCommInsallProgressCB
);
}
function NMCommEventOnTabSelect()
{
var url=NMCommGetCurrentBrowsingURL();
NMCommOnDocumentComplete(url);
}
function NMCommFFDocumentComplete(aEvent)
{
var doc=aEvent.originalTarget;
if(top.frames.length>0&&
doc.location.href==
window._content.document.location.href
)
{
NMCommOnDocumentComplete(doc.location.href);
}
}
function NMCommRegisterEventHandlerFF(register)
{
var appcontent=document.getElementById("appcontent");
if(!appcontent)
return;
if(register)
{
appcontent.addEventListener("load",NMCommFFDocumentComplete,true);
try
{
var tabBox=document.getElementById("content").mTabBox;
tabBox.addEventListener("select",NMCommEventOnTabSelect,false);
}catch(err)
{
}
}else
{
appcontent.removeEventListener("load",NMCommFFDocumentComplete,true);
document.getElementById("content").mTabBox
.removeEventListener("select",NMCommEventOnTabSelect,false);
}
}
function NMCommRegisterEventHandler(register)
{
(isIE)?NMCommRegisterEventHandlerIE(register):NMCommRegisterEventHandlerFF(register);
}
function NMCommOnDocumentComplete(currurl)
{
NMConnectCommURL(currurl);
}
function NMPrefSet(prefname,prefvalue)
{
return(isIE)?NMPrefSetIE(prefname,prefvalue):NMPrefSetFF(prefname,prefvalue);
}
function NMPrefGet(prefname,defaultprefvalue)
{
return(isIE)?NMPrefGetIE(prefname,defaultprefvalue):NMPrefGetFF(prefname,defaultprefvalue);
}
function NMPrefSetFF(prefname,prefvalue)
{
try{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalXPConnect UniversalBrowserAccess"
);
var gpref=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
if(gpref==null)
return-2;
if(prefvalue==null)
{
gpref.clearUserPref(prefname);
}else
if(typeof prefvalue=="number")
{
gpref.setIntPref(prefname,prefvalue);
}
else
if(typeof prefvalue=="string")
{
gpref.setCharPref(prefname,prefvalue);
}
else
if(typeof prefvalue=="boolean")
{
gpref.setBoolPref(prefname,prefvalue);
}
}catch(err){
return-1;
}
return 0;
}
function NMPrefGetFF(prefname,defaultprefvalue)
{
var prefvalue=defaultprefvalue;
try{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalXPConnect UniversalBrowserAccess"
);
var gpref=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
if(gpref==null)
return defaultprefvalue;
if(!gpref.prefHasUserValue(prefname))
{
return defaultprefvalue;
}
if(typeof defaultprefvalue=="number")
{
prefvalue=gpref.getIntPref(prefname);
}
else
if(typeof prefvalue=="string")
{
prefvalue=gpref.getCharPref(prefname);
}
else
if(typeof prefvalue=="boolean")
{
prefvalue=gpref.getBoolPref(prefname);
}
}catch(err){
}
return prefvalue;
}
function NMPrefSetIE(prefname,prefvalue)
{
var elem=null;
elem=(gnmcommotoolbar!=null)?(gnmcommotoolbar):document.getElementById("nmcommsecure");
if(!elem)
{
return-1;
}
var reg_pos_url="SOFTWARE\\Netmite\\YoungYoungNet\\";
  
      try {
        elem.SetRegValue(reg_pos_url + prefname, prefvalue);          
      //debug("SetRegValue Done");
      } catch (err) {
      //debug("elem.SetRegValue,err=" + err);
        return -1;
      }
      return 0;
  }
  function NMPrefGetIE(prefname, defaultprefvalue)
  {
      var elem=null;
      elem=(gnmcommotoolbar !=null) ? (gnmcommotoolbar) : document.getElementById("nmcommsecure");
    //debug("NMPrefGetIE,gnmcommotoolbar="+gnmcommotoolbar);
      var value=defaultprefvalue;
      if (!elem )
      {
      //debug("NMPrefGetIE,elem==null");
        return value;
      }
      //else 
      var reg_pos_url="SOFTWARE\\Netmite\\YoungYoungNet\\";
try{
value=elem.GetRegValue(reg_pos_url+prefname);
if(typeof(value)=="undefined")
{
value=defaultprefvalue;
}
}catch(err){
}
return value;
}
function NMCommGetToolBarWinFF()
{
var win=window;
return win;
}
function NMCommGetMainWinFF()
{
return top.frames[0];
}
function NMCommGetMainDocFF()
{
return top.frames[0].document;
}
function NMCommGetMainURLFF()
{
return top.frames[0].location.href;
}
function NMCommGetCurrentBrowsingURLFF()
{
var url="";
var mainBrowser=getBrowser();
var index=mainBrowser.mTabContainer.selectedIndex;
url=mainBrowser.getBrowserForTab(mainBrowser.mTabContainer.childNodes[index]).contentDocument.location.href;
return url;
}
function NMCommGetTabCountFF(target)
{
var index=target.getBrowser().mTabContainer.selectedIndex;
var count=target.getBrowser().mTabContainer.childNodes.length;
return count;
}
var gnmcommomainie=null;
var gnmcommomaindoc=null;
var gnmcommotoolbar=null;
var gnmcommsidebarvisibleie=false;
var gnmcommsidebarie=null;
function IEToolbarDocumentComplete(oIE,oToolbar)
{
if(oIE!=null)
gnmcommomainie=oIE;
gnmcommotoolbar=oToolbar;
if(gnmcommomainie)
{
}
}
function IEBeforeNavigate2(oIE,oToolbar,url)
{
if(oIE!=null)
gnmcommomainie=oIE;
gnmcommotoolbar=oToolbar;
}
function IEDocumentComplete(oIE,oToolbar)
{
if(oIE!=null)
gnmcommomainie=oIE;
gnmcommotoolbar=oToolbar;
{
var IEdocument=oIE.Document;
var IEwindow=null;
try{
IEwindow=IEdocument.parentWindow;
}catch(err){
}
if(IEwindow&&
IEwindow.top&&
IEwindow==IEwindow.top
)
{
gnmcommomaindoc=gnmcommomainie.Document;
var numFrames=IEdocument.frames.length;
gnmcommsidebarvisibleie=gnmcommomainie.GetProperty("NMSideBar_visible");
gnmcommsidebarie=gnmcommomainie.GetProperty("NMSideBar_oIE");
NMCommOnDocumentComplete(gnmcommomainie.LocationURL);
}
}
{
}
}
function NMCommIECheckDisplay()
{
if(gnmcommsidebarvisibleie!=(gdisplaytype==NMCOMM_DISPLAY_SIDEBAR))
{
setTimeout("NMCommShowSideBarIE(! gnmcommsidebarvisibleie);",500);
}
}
function NMCommShowSideBarIE(show)
{
if(gnmcommomainie)
{
gnmcommomainie.ShowBrowserBar('{FB2EF7D6-E58F-47DD-BF57-73471759FC91}',show,0);
gnmcommsidebarvisibleie=show;
}
}
function NMCommGetMainWinIE()
{
if(gnmcommomainie)
{
var IEdocument=gnmcommomainie.Document;
var IEwindow=null;
IEwindow=IEdocument.parentWindow;
return IEwindow;
}
return null;
}
function NMCommGetMainDocIE()
{
if(gnmcommomainie)
{
var IEdocument=gnmcommomainie.Document;
return IEdocument;
}
return null;
}
function NMCommGetMainURLIE()
{
var url=gnmcommomainie?gnmcommomainie.LocationURL:"";
return url;
}
function NMCommGetSideBarWinIE()
{
if(!gnmcommsidebarie)
{
gnmcommsidebarie=gnmcommomainie.GetProperty("NMSideBar_oIE");
}
if(gnmcommsidebarie)
{
var IEdocument=gnmcommsidebarie.Document;
if(IEdocument)
{
var IEwindow=null;
IEwindow=IEdocument.parentWindow;
return IEwindow;
}
}
return null;
}
function NMCommLoadBrowserURLInSideBarIE(commurl)
{
if(!gnmcommsidebarie)
{
gnmcommsidebarie=gnmcommomainie.GetProperty("NMSideBar_oIE");
}
if(gnmcommsidebarie)
{
gnmcommsidebarie.navigate(commurl);
}
}
function NMCommGetCurrentBrowsingURLIE()
{
var url=gnmcommomainie?gnmcommomainie.LocationURL:"";
return url;
}
function NMCommRegisterEventHandlerIE(register)
{
}
function NMCommMainGotoURLIE(url)
{
var res=false;
if(gnmcommomainie)
{
gnmcommomainie.navigate(url);
res=true;
}
return res;
}
function NMCommCmdDoNotesIE(index)
{
switch(index)
{
case 0:
break;
case 1:
NMCommCmdAddNote();
break;
case 2:
NMCommCmdUpdateNote();
break;
case 3:
NMCommCmdDelNote();
break;
case 4:
break;
case 5:
NMCommCmdGetNotes();
break;
case 6:
NMCommCmdShowNotes(1);
break;
case 7:
NMCommCmdShowNotes(0);
break;
case 8:
break;
case 9:
gshownote=!gshownote;
NMCommCmdSetNotes(gshownote);
if(!gshownote)
{
alert("Auto Showing notes are off now, you may turn it on anytime");
}
break;
}
}
function NMCommAddTrustZone(url)
{
var elem=null;
elem=(gnmcommotoolbar!=null)?(gnmcommotoolbar):document.getElementById("nmcommsecure");
if(!elem)
throw"Cannot get system update component";
{
var hostname=UrlGetHostname(url);
var domain=hostname;
var host="";
var dot=hostname.indexOf('.');
if(dot>1)
{
domain=hostname.substring(dot+1);
host=hostname.substring(0,dot);
}
var regstr="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\";
      regstr += domain;
      if (host.length>0)
      {
        regstr += "\\"+host;
}
regstr+="\\*";
var val=elem.GetRegValue(regstr);
if(val!=2)
{
elem.SetRegValue(regstr,2);
}
return 0;
}
}
function NMCommGetToolBarWin()
{
var win=(isIE)?window:NMCommGetToolBarWinFF();
return win;
}
function NMCommGetCurrentBrowsingURL()
{
var url=(isIE)?NMCommGetCurrentBrowsingURLIE():NMCommGetCurrentBrowsingURLFF();
return url;
}
function NMCommGetCurrentBrowsingSite()
{
var url=NMCommGetCurrentBrowsingURL();
return UrlGetHostname(url);
}
function NMCommLoadBrowserURL(commurl)
{
if(gstate==0)
return;
switch(gdisplaytype)
{
case NMCOMM_DISPLAY_NONE:
break;
case NMCOMM_DISPLAY_SIDEBAR:
NMCommLoadBrowserURLInSideBar(commurl);
break;
case NMCOMM_DISPLAY_POPUP:
NMCommLoadBrowserURLInPopup(commurl);
break;
case NMCOMM_DISPLAY_INLINE:
NMCommLoadBrowserURLInIFrame(commurl);
break;
}
gdisplaytypechanged=false;
}
function NMCommSetView(type)
{
var url=gnmcommurl+"&func=usr_setview(1,"+type+")&xml=1";
NMXmlRequest(url,'GET',null,NMRequestErrGUI_Handler);
}
function NMCommGetDisplayWindow(displaytype)
{
var win=null;
switch(displaytype)
{
case NMCOMM_DISPLAY_NONE:
break;
case NMCOMM_DISPLAY_SIDEBAR:
win=NMCommGetSideBarWin();
break;
case NMCOMM_DISPLAY_POPUP:
if(gdisplaypopupwin)
{
if(!gdisplaypopupwin.closed)
{
win=gdisplaypopupwin;
}
}
break;
case NMCOMM_DISPLAY_INLINE:
win=NMCommGetIFrameWin();
break;
}
if(win)
{
try{
}catch(err){
}
}
return win;
}
function NMCommCloseDisplay(displaytype)
{
switch(displaytype)
{
case NMCOMM_DISPLAY_NONE:
NMCommShowSideBar(false);
NMCommClosePopup();
NMCommCloseIFrame();
break;
case NMCOMM_DISPLAY_SIDEBAR:
NMCommShowSideBar(false);
break;
case NMCOMM_DISPLAY_POPUP:
NMCommClosePopup();
break;
case NMCOMM_DISPLAY_INLINE:
NMCommCloseIFrame();
break;
}
}
function NMCommSetDisplay(displaytype)
{
if(gdisplaytype!=displaytype)
{
NMCommCloseDisplay(gdisplaytype);
NMCommSetMsg("Display Changed");
}
gdisplaytype=displaytype;
NMPrefSet("nmcommpref.displaytype",gdisplaytype);
if(gdisplaytype!=NMCOMM_DISPLAY_NONE)
{
NMPrefSet("nmcommpref.state",gstate);
}
{
var elem=document.getElementById("nmcomm_setdisplay_menu");
if(elem)
{
elem.selectedIndex=gdisplaytype;
}
}
{
}
gdisplaytypechanged=true;
if(gdisplaytype!=NMCOMM_DISPLAY_NONE)
{
gnmcommlasturl="";
NMConnectCommURL(NMCommGetCurrentBrowsingURL());
}
}
function NMCommGetDisplayWinURL(displaytype)
{
var commurl="";
try{
switch(displaytype)
{
case NMCOMM_DISPLAY_NONE:
case NMCOMM_DISPLAY_INLINE:
break;
case NMCOMM_DISPLAY_SIDEBAR:
commurl=NMCommGetSideBarURL();
break;
case NMCOMM_DISPLAY_POPUP:
commurl=NMCommGetPopupURL();
break;
}
}catch(err){
}
return commurl;
}
function NMCommSetUsrFlag(flag)
{
var url=gnmcommurl+"&func=usr_setflag(1,"+flag+")&xml=1";
NMXmlRequest(url,'GET',null,
NMRequestErrGUI_Handler
);
}
function NMCommSetMsg(msg)
{
var elt=document.getElementById(NMCOMM_MSG_ID);
if(elt)
{
if(isIE){elt.innerHTML=msg;}
else{elt.value=msg;}
}
}
function NMCommEnable()
{
gstate=1;
NMPrefSet("nmcommpref.state",gstate);
NMCommSetMsg("Enabled");
NMCommSetDisplay(gdisplaytype);
}
var gToolbarBgColor="";
var gCommWinBgColor="";
function NMCommDisable()
{
NMCommSetMsg("Disabled");
gstate=0;
NMPrefSet("nmcommpref.state",gstate);
}
function NMCommCmdEnableDisable()
{
var olddisplaytype=gdisplaytype;
if(gstate==0)
{
NMCommEnable();
}else
{
var yes=confirm("Once disabled, you won't be able to see the communities and others users\n"
+" Press OK if you want to continue."
);
if(yes)
{
NMCommDisable();
}
}
NMCommToggleButtonSetLabel();
}
function NMCommToggleButtonSetLabel()
{
var elt=null;
var label=(gstate!=0)?"Disable":"Enable";
ObjSetLabel(document,"nmcomm_enable_disable",label);
var win=null;
win=NMCommGetToolBarWin();
if(gstate!=0)
{
WinSetBackgroundColor(win,gToolbarBgColor,"nmcomm_enable_disable");
NMCommSetDisplay(gdisplaytype);
}else
{
gToolbarBgColor=WinSetBackgroundColor(win,"lightblue","nmcomm_enable_disable");
NMCommCloseDisplay(gdisplaytype);
}
}
function NMCommCmdGetNotes(ui)
{
var mainwin=NMCommGetMainWin();
var url=NMCommGetEncodedMainURL();
NMCommGetNotes(mainwin,
mainwin.document,
url,
ui);
NMCommCmdShowNotes(1);
}
function NMCommCmdShowNotes(show)
{
var mainwin=NMCommGetMainWin();
NoteToggleAll(mainwin.document,show);
}
function NMCommCmdSetNotes(show)
{
gshownote=show;
NMPrefSet("nmcommpref.note.autoshow",(show?1:0));
NMCommCmdShowNotes(show);
}
function NMCommCmdDelNote()
{
var mainwin=NMCommGetMainWin();
var url=NMCommGetEncodedMainURL();
NMCommDelNote(mainwin,
mainwin.document,
url
);
}
function NMCommCmdUpdateNote()
{
var mainwin=NMCommGetMainWin();
var url=NMCommGetEncodedMainURL();
NMCommUpdateNote(
mainwin,
mainwin.document,
url
);
}
function NMCommCmdAddNote()
{
var mainwin=NMCommGetMainWin();
var url=NMCommGetEncodedMainURL();
NMCommAddNote(
mainwin,
mainwin.document,
url
);
}
function NMCommCmdGetUsrs(ui)
{
var mainwin=NMCommGetMainWin();
var url=NMCommGetEncodedMainURL();
NMCommGetUsrs(
mainwin,
mainwin.document,
url,
0,
NMCommGetUsrsMainWin_Handler,
ui,
gusrview);
NMCommCmdShowUsrs(1);
}
function NMCommCmdShowUsrs(show)
{
var mainwin=NMCommGetMainWin();
UsrToggleAll(mainwin.document,show);
}
function NMCommCmdSetUsrs(show)
{
gshowusr=show;
NMPrefSet("nmcommpref.usr.autoshow",(show?1:0));
NMCommShowUsrs(show);
}
function NMCommCmdGetDiscus(ui)
{
var mainwin=NMCommGetMainWin();
var url=NMCommGetEncodedMainURL();
var mylast=0;
NMCommGetDiscus(
mainwin,
mainwin.document,
url,
mylast,NMCommGetDiscusMainWin_Handler,ui);
}
function NMCommCmdSetDiscus(show)
{
gshowdiscu=show;
NMPrefSet("nmcommpref.discu.autoshow",(show?1:0));
}
function NMCommCmdStartUpdate(ui)
{
var win=window;
var doc=document;
var url=NMCommGetEncodedMainURL();
last=0;
NMCommUpdateStart(
win,
doc,
gautoupdatemininterval,
gautoupdatemaxinterval,
gautoupdatehops,
"&url="+url,
NMCommUpdateChrome_Handler
);
}
function NMCommCmdStopUpdate()
{
NMCommUpdateStop();
}
function NMCommCmdSetUpdate(autoupdate)
{
gautoupdatecomm=autoupdate;
NMPrefSet("nmcommpref.update.auto",autoupdate);
}
function NMCommCmdSwap()
{
if(gnmcommswapped)
{
gnmcommswapped=0;
gnmcommlasturl="";
NMCommMainGotoURL(gnmcommswappedurl);
var label=(gnmcommswapped)?"Restore":"Swap";
ObjSetLabel(document,"nmcomm_swap",label);
}else
{
gnmcommswapped=1;
gnmcommswappedurl=NMCommGetMainURL();
NMCommUpdateStop();
NMCommLoadBrowserURL(gnmcommswappedurl);
var commurl=NMCommGetDisplayWinURL(gdisplaytype);
if(commurl!="")
{
var label=(gnmcommswapped)?"Restore":"Swap";
ObjSetLabel(document,"nmcomm_swap",label);
NMCommMainGotoURL(commurl);
}
}
}
function NMCommSetPrivacy(privacy)
{
isIE?SelectChooseValue(document,"nmcomm_privacy",privacy)
:XULMenuListChooseValue(document,"nmcomm_privacy",privacy);
}
function NMCommCmdSetPrivacy(privacy)
{
gprivacy=privacy;
NMCommSetUsrFlag(gprivacy);
}
function NMCommCmdDiscuSend()
{
var discutext=document.getElementById('nmcomm_discu_send_text').value;
var mainwin=NMCommGetMainWin();
var url=NMCommGetEncodedMainURL();
var commurl=gnmcommurl
+"&func=discu_add($uid,$rid,$_REQUEST['discu_text'],$_REQUEST['discu_scope'])@discusadd;"
+"update("+gupdatefuncs+")"+" &xml=1"
+"&last="+last
+"&url="+url
;
var content="discu_text="+discutext;
NMXmlRequest(commurl,'POST',content,
function(xmlObj)
{
var errmsg=NMRequestErr_Handler(xmlObj);
if(errmsg!="")
{
NMCommSetMsg(errmsg);
return-1;
}
var newitems=0;
newitems=NMCommUpdateChrome_Handler(xmlObj,win,doc);
}
);
}
function NMCommToolbarLoadCmtsExToComm(url)
{
if(isFF)
{
var commwin=NMCommGetDisplayWindow(gdisplaytype);
if(commwin==null)
return;
window.setTimeout(
function()
{
var host=UrlGetHostname(url);
NMCommGetCmtsEx(host,gnmcommcmtsexlimit,commwin,null,null,'cmts_exes');
}
,3000
);
}else
{
var iIntervalID=null;
var numtries=10;
iIntervalID=window.setInterval(
function()
{
commwin=NMCommGetDisplayWindow(gdisplaytype);
if(commwin
&&commwin.document
&&commwin.document.readyState
&&(commwin.document.readyState=="complete"||commwin.document.readyState=="interactive")
)
{
window.clearInterval(iIntervalID);
var host=UrlGetHostname(url);
NMCommGetCmtsEx(host,gnmcommcmtsexlimit,commwin,null,null,'cmts_exes');
}else
{
numtries--;
if(numtries<=0)
{
window.clearInterval(iIntervalID);
}
}
},
3000
)
;
}
}
function NMCommToolbarMain()
{
ginpopupwin=NMPrefGet("nmcommpref.popup.save",0);
NMCommSetEnv();
if(isIE)
{
if(gnmcommomainie==null||gnmcommotoolbar==null)
{
return;
}
}
if(isIE&&gdisplaytype==NMCOMM_DISPLAY_SIDEBAR)
{
NMCommShowSideBarIE(true);
}
ObjSetLabel(document,'nmcomm_version',""+gversion);
if(!ginpopupwin)
{
NMCommRegisterEventHandler(gstate);
window.setTimeout("NMCommToolbarMain_OtherWorks();",1000);
}
}
function NMCommToolbarMain_OtherWorks()
{
NMCommSetDisplay(gdisplaytype);
NMCommToggleButtonSetLabel();
var menuobj=null;
menuobj=document.getElementById('nmcomm_always_show_notes');
MenuItemCheck(menuobj,gshownote);
menuobj=document.getElementById('nmcomm_always_show_usrs');
MenuItemCheck(menuobj,gshowusr);
var randnum=rand(100);
if(randnum<gcheckupdateprobability)
{
NMCommCheckUpdate(gupdateurl,false);
}
}
function NMCommGetSideBarWin()
{
var win=(isIE)?NMCommGetSideBarWinIE():NMCommGetSideBarWinFF();
return win;
}
function NMCommGetSideBarURL()
{
var sidebarurl=(isIE)?NMCommGetSideBarURLIE():NMCommGetSideBarURLFF();
return sidebarurl;
}
function NMCommGetSideBarURLIE()
{
var sidebarurl=(gnmcommsidebarie)?gnmcommsidebarie.LocationURL:
gnmcommlastcommurl;
return sidebarurl;
}
function NMCommSideBarVisible()
{
var visible=(isIE)?gnmcommsidebarvisibleie:NMCommSideBarVisibleFF();
return visible;
}
function NMCommLoadBrowserURLInSideBar(commurl)
{
if(!NMCommSideBarVisible())
{
if(!gdisplaytypechanged)
{
NMCommSetDisplay(NMCOMM_DISPLAY_NONE);
return;
}
NMCommShowSideBar(true);
}
(isIE)?NMCommLoadBrowserURLInSideBarIE(commurl):NMCommLoadBrowserURLInSideBarFF(commurl);
}
function NMCommShowSideBar(show)
{
(isIE)?NMCommShowSideBarIE(show):NMCommShowSideBarFF(show);
}
function NMCommShowSideBarFF(show)
{
if(show!=NMCommSideBarVisible())
{
toggleSidebar('viewNetmiteSideComm');
}
}
function NMCommGetSideBarBrowserFF()
{
var browser=null;
for(var i=top.frames.length-1;i>=0;i--)
{
var href=top.frames[i].document.location.href;
if(href=="chrome://nmcomm/content/nmcommpanel.xul")
{
browser=top.frames[i].document.getElementById(NMCOMM_BROWSER_ID);
if(browser!=null)
return browser;
}
}
return null;
}
function NMCommLoadBrowserURLInSideBarFF(commurl)
{
var browser=null;
browser=NMCommGetSideBarBrowserFF();
if(browser)
{
browser.webNavigation.loadURI(commurl,0,null,null,null);
}
}
function NMCommGetSideBarWinFF()
{
var browser=NMCommGetSideBarBrowserFF();
if(browser==null)
{
return null;
}
var win=browser.contentWindow;
return win;
}
function NMCommSideBarVisibleFF()
{
var elt=null;
elt=document.getElementById(NMCOMM_SIDEBAR_ID);
if(elt==null)
{
return false;
}
var sidebarBox=document.getElementById("sidebar-box");
if(sidebarBox==null)
{
return false;
}
var nmcommchecked=false;
try{
nmcommchecked=elt.getAttribute('checked');
}catch(err){
}
var visible=false;
if(sidebarBox.hidden==true||!nmcommchecked)
{
visible=false;
}else
{
visible=true;
}
return visible;
}
function NMCommGetSideBarURLFF()
{
var win=NMCommGetSideBarWinFF();
var sidebarurl=win.document.location.href;
return sidebarurl;
}
function NMCommGetIFrameWin()
{
var mainwin=NMCommGetMainWin();
var win=null;
win=mainwin.frames['nmcomm_display_inline'+'_iframe'];
if(win)
return win;
win=mainwin.document.getElementById('nmcomm_display_inline'+'_iframe');
if(win
&&isFF
)
{
win=(win.contentWindow)?win.contentWindow:win;
}
return win;
}
function NMCommCloseIFrame()
{
var mainwin=NMCommGetMainWin();
if(mainwin&&mainwin.document)
{
HideObjById(mainwin.document,'nmcomm_display_inline');
}else
{
}
}
function NMCommCreateIFrame(win,doc,commurl)
{
var id="nmcomm_display_inline";
var x=10;
var y=20;
var w=200;
var h=300;
{
x=NMPrefGet("nmcommpref.inline.left",10);
y=NMPrefGet("nmcommpref.inline.top",20);
w=NMPrefGet("nmcommpref.inline.width",200);
h=NMPrefGet("nmcommpref.inline.height",300);
}
var html="";
html=IFrameHtml(id+"_iframe",w-20,h-30,commurl);
var newDiv=PanelCreate(
win,
doc.body,
id,
x,y,
w,h,
html
,function()
{
RemoveObjById(doc,id);
{
NMPrefSet("nmcommpref.inline.left",ObjGetX(newDiv));
NMPrefSet("nmcommpref.inline.top",ObjGetY(newDiv));
NMPrefSet("nmcommpref.inline.width",ObjGetW(newDiv));
NMPrefSet("nmcommpref.inline.height",ObjGetH(newDiv));
}
}
);
newDiv.style.backgroundColor="lightblue";
newDiv.style.opacity=ginlinewinopacity/255;
newDiv.style.filter="alpha(opacity="+Math.floor((ginlinewinopacity*100)/255)+")";
if(g_drag==null)
{
g_drag=new Drag(win,doc);
}else
{
g_drag.win=win;
g_drag.doc=doc;
}
if(g_drag)
{
g_drag.add(newDiv);
}
return newDiv;
}
function NMCommLoadBrowserURLInIFrame(commurl)
{
var mainwin=NMCommGetMainWin();
var win=NMCommGetIFrameWin();
if(win!=null)
{
var id='nmcomm_display_inline';
ShowObjById(mainwin.document,id);
ShowObjById(mainwin.document,id+"_iframe");
var iframeobj=mainwin.document.getElementById(id+"_iframe");
if(iframeobj)
{
iframeobj.src=commurl;
}else
{
}
}else
{
NMCommCreateIFrame(mainwin,mainwin.document,commurl);
}
}
var gframepopx=50;
var gframepopy=50;
var gframepopw=300;
var gframepoph=600;
function NMCommFramePopLoad(win)
{
gframepopx=NMPrefGet("nmcommpref.framepop.x",50);
gframepopy=NMPrefGet("nmcommpref.framepop.y",50);
gframepopw=NMPrefGet("nmcommpref.framepop.w",300);
gframepoph=NMPrefGet("nmcommpref.framepop.h",600);
if(gframepopx>=0&&gframepopx<1500
&&gframepopy>=0&&gframepopy<1000)
{
win.moveTo(gframepopx,gframepopy);
}
if(gframepopw>100&&gframepopw<1500
&&gframepoph>100&&gframepoph<1000)
{
win.resizeTo(gframepopw,gframepoph);
}
if(isIE)
{
var elem=document.getElementById("nmcommsecure");
if(elem)
{
var hWnd=null;
try{
hWnd=elem.GetHWND(null);
elem.SetWinStyle(hWnd,1);
elem.SetWinStyle(hWnd,0x100|gtopframewinopacity);
}catch(err)
{
}
}
}
}
function NMCommFramePopSave(win)
{
var oldgframepopx=gframepopx;
var oldgframepopy=gframepopy;
var oldgframepopw=gframepopw;
var oldgframepoph=gframepoph;
if(isIE)
{
gframepopx=win.screenLeft;
gframepopy=win.screenTop;
gframepopw=win.document.body.offsetWidth;
gframepoph=win.document.body.offsetHeight;
}else
{
gframepopx=win.screenX;
gframepopy=win.screenY;
gframepopw=win.outerWidth;
gframepoph=win.outerHeight;
}
if(oldgframepopx!=gframepopx
||oldgframepopy!=gframepopy
||oldgframepopw!=gframepopw
||oldgframepoph!=gframepoph
)
{
NMPrefSet("nmcommpref.framepop.x",gframepopx);
NMPrefSet("nmcommpref.framepop.y",gframepopy);
NMPrefSet("nmcommpref.framepop.w",gframepopw);
NMPrefSet("nmcommpref.framepop.h",gframepoph);
}
}
function NMCommFrameStartOnLoad()
{
NMCommFrameMain();
window.setTimeout(
function(){
NMCommCheckUpdate(gupdateurl,false);
},
2000
);
}
function NMCommFrameMain()
{
gshownote=1;
gshowusr=1;
gshowdiscu=0;
NMCommFramePopLoad(parent);
NMCommFrameWinUpdate(true);
setTimeout(
function()
{
NMCommUpdateStart(parent.nmcommwin,null,
gautoupdatemininterval,gautoupdatemaxinterval,gautoupdatehops,
"",
NMCommUpdateCommWin_Handler
);
}
,2000
);
}
function NMCommFrameWinUpdate(autoupdate)
{
var interval=10000;
try{
var url="";
if(isFF)
{
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalBrowserRead"
);
var mainwin=parent.opener;
url=mainwin.location.href;
}else
{
var elem=document.getElementById("nmcommsecure");
if(elem)
{
url=elem.url;
}
}
NMCommFramePopSave(parent);
var obj=document.getElementById("mainwinurl");
if(obj)
obj.innerHTML=url;
if(!NMCommIgnoreURL(url))
{
if(gnmcommlasturl!=url)
{
var commurl="comm.php?url="+UrlEncode(url);
if(parent)
{
if(parent.nmcommwin)
{
last=0;
if(autoupdate)
{
setTimeout(
function()
{
NMCommUpdateStart(parent.nmcommwin,null,
gautoupdatemininterval,gautoupdatemaxinterval,gautoupdatehops,
"&url="+UrlEncode(url),
NMCommUpdateCommWin_Handler
);
}
,3000
);
}
parent.nmcommwin.location.href=commurl;
}
}
}
gnmcommlasturl=url;
}
interval=5000;
}catch(err)
{
alert(err);
var res=confirm("Are you want to quit the Netmite Communities ? ");
if(res)
{
parent.close();
}else
{
interval=15000;
}
}
setTimeout("NMCommFrameWinUpdate(true);",interval);
}
var gpopuplastsaved=0;
function NMCommPopupSave(win)
{
try{
var x=WinGetX(win);
var y=WinGetY(win);
var w=WinGetW(win);
var h=WinGetH(win);
var newvalue=x+y+w+h;
if(gpopuplastsaved==newvalue)
{
return;
}
NMPrefSet("nmcommpref.popup.left",x);
NMPrefSet("nmcommpref.popup.top",y);
NMPrefSet("nmcommpref.popup.width",w);
NMPrefSet("nmcommpref.popup.height",h);
gpopuplastsaved=newvalue;
}catch(err){
}
}
function NMCommClosePopup()
{
if(gdisplaypopupwin!=null)
{
gdisplaypopupwin.close();
}
}
function NMCommGetPopupURL()
{
var popupurl=gnmcommlastcommurl;
try{
popupurl=(gdisplaypopupwin!=null)?gdisplaypopupwin.document.location.href:gnmcommlastcommurl;
}catch(err)
{
}
return popupurl;
}
function NMCommLoadBrowserURLInPopup(commurl)
{
var displaypopupwinname="nmcomm_display_popup";
if(
gdisplaypopupwin
&&!gdisplaypopupwin.closed
&&gdisplaypopupwin.location
&&gdisplaypopupwin.name==displaypopupwinname
)
{
gdisplaypopupwin.location.href=commurl;
if(isIE)
{
NMCommPopupSave(gdisplaypopupwin);
}
}else
{
if(!gdisplaytypechanged)
{
NMCommSetDisplay(NMCOMM_DISPLAY_NONE);
return;
}
var x=NMPrefGet("nmcommpref.popup.left",window.screenX+window.outerWidth);
var y=NMPrefGet("nmcommpref.popup.top",window.screenY);
var w=NMPrefGet("nmcommpref.popup.width",300);
var h=NMPrefGet("nmcommpref.popup.height",window.outerHeight);
if(x>screen.width||x+w)
x=200;
if(y>screen.height||y+h<0)
y=200;
NMPrefSet("nmcommpref.popup.save",1);
gdisplaypopupwin=window.open(commurl,
displaypopupwinname,
"dependent, scrollbars=yes,resizable=yes"
+",width="+w+",height="+h
+",left="+x+",top="+y
);
NMPrefSet("nmcommpref.popup.save",0);
if(isIE)
{
var elem=gnmcommotoolbar;
if(elem)
{
var win=gdisplaypopupwin;
var hWnd=elem.GetHWND(win);
elem.SetWinStyle(hWnd,1);
elem.SetWinStyle(hWnd,0x100|gpopupwinopacity);
}
}
}
if(gdisplaypopupwin)
{
}
}
function NMCommGetDisplayAd(rsrurl,adwin)
{
var url=gnmcommurl+"&xml="+"1";
url=UrlAppendVariable(url,'func',"ad_list2(1,"+rsrurl+")@ads");
NMXmlRequest(url,'GET',null,
function(xmlObj)
{
var errmsg=NMRequestErr_Handler(xmlObj);
if(errmsg=="")
{
NMCommAd_Handler(xmlObj,adwin,null);
}else
{
}
}
);
}
function NMCommAd_Handler(xmlObj,adwin,addoc)
{
var ret=0;
if(xmlObj==null)
{
return 0;
}
items=XML_selectNodes("//ads/item",xmlObj);
if(items==null||items.length==0)
return 0;
for(var i=0;i<items.length;i++)
{
var ad=XmlNodeToArray(items[i]);
AdAddItem(ad,"YYCOMM_AD_"+i,adwin);
}
return items.length;
}
function AdAddItem(ad,divid,adwin)
{
var adid=ad['adid'];
var uid=ad['uid'];
var rid=ad['rid'];
var title=ad['title'];
var content=ad['content'];
var ts=ad['ts'];
var freq=ad['freq'];
var timeout=ad['timeout'];
var flag=ad['flag'];
var size=ad['size'];
var randnum=rand(1000);
if(randnum>=freq)
{
return;
}
try{
}catch(err){
}
var divhtml=" "
+ad['title']
+"<IMG "
+" SRC='"+gnmcommfileurl+"img/close.gif'"
+" onmousedown=\"ad_div_"+adid+".style.visibility='hidden';\""
+">"
+"</IMG>"
+"<BR/>"
+ad['content']
;
var oldobj=adwin.document.getElementById("ad_div_"+adid);
if(oldobj!=null)
{
return;
}
var newDiv=WinAppendHtml2(
(adwin.contentWindow)?adwin.contentWindow:adwin,
null,null,
"DIV",
divhtml
);
newDiv.id="ad_div_"+adid;
newDiv.style.position="absolute";
newDiv.style.top=rand(adwin.innerWidth?adwin.innerWidth-100:document.body.scrollWidth-100);
newDiv.style.left=rand(100);
if(size==0)
{
newDiv.style.width=80;
newDiv.style.padding=10;
}
else
if(size==1)
{
newDiv.style.width=160;
newDiv.style.padding=10;
}
if(size==2)
{
newDiv.style.width=320;
newDiv.style.padding=10;
}
newDiv.style.backgroundColor="lightgreen";
newDiv.style.opacity=75/100;
if(!isIE5)
{
newDiv.style.filter="alpha(opacity=75)";
}
return newDiv;
}
function NMCommGetMainWin()
{
return(isIE)?NMCommGetMainWinIE():NMCommGetMainWinFF();
}
function NMCommGetMainDoc()
{
return(isIE)?NMCommGetMainDocIE():NMCommGetMainDocFF();
}
function NMCommGetMainURL()
{
var mainurl=(isIE)?NMCommGetMainURLIE():NMCommGetMainURLFF();
return mainurl;
}
function NMCommGetEncodedMainURL()
{
var mainurl=NMCommGetMainURL();
url=UrlEncode(mainurl);
return url;
}
function NMCommCreateCommURL(url)
{
var url0=UrlEncode(url);
var newurl="";
var commurl=NMCommGetDisplayWinURL(gdisplaytype);
if(commurl!=''&&StringStartsWith(commurl,gnmcommurl))
{
newurl=UrlAppendVariable(commurl,'url',url0);
newurl=UrlAppendVariable(newurl,'rid','1');
}else
{
newurl=gnmcommurl;
newurl+="&url="+url0;
}
return newurl;
}
function NMCommCheckInjectScripts(win)
{
if(!win.js_injected)
{
InjectScriptFiles(win,
"../js/",
new Array("client.js")
);
win.js_injected=1;
}
WinInvokeScript(win,"debugname('YYNETWIN');");
}
function NMCommIgnoreURL(url)
{
if(url==null||url.length==0
||StringStartsWith(url,"mk:")
||StringStartsWith(url,"jar:")
||StringStartsWith(url,"file:")
||StringStartsWith(url,"about:")
||StringStartsWith(url,"undefined")
||StringStartsWith(url,gnmcommurl)
||StringStartsWith(url,gnmcommfileurl)
||StringStartsWith(url,gignoreurl)
)
{
return true;
}
return false;
}
function NMConnectCommURL(url)
{
if(gstate==0)
{
return;
}
if(NMCommIgnoreURL(url))
{
return null;
}
if(gnmcommlasturl==url)
{
return null;
}
var commurl=NMCommCreateCommURL(url);
gnmcommlastcommurl=commurl;
NMCommLoadBrowserURL(commurl);
NMConnectCommURL_OtherWorks(url);
gnmcommlasturl=url;
return commurl;
}
function NMConnectCommURL_OtherWorks(url)
{
NMCommCmdStopUpdate();
if(gstate==0)
{
return;
}
last=0;
var url0=UrlEncode(url);
if(gshowcmtsex)
{
}
gupdatefuncs=(gshownote)?(gupdatefuncs|NMCOMM_UPDATE_NOTES):(gupdatefuncs&~NMCOMM_UPDATE_NOTES);
gupdatefuncs=(gshowad)?(gupdatefuncs|NMCOMM_UPDATE_ADS):(gupdatefuncs&~NMCOMM_UPDATE_ADS);
if(gshowusr)
{
}
if(gautoupdatecomm==NMCOMM_AUTOUPDATE_ENABLED)
{
NMCommCmdStartUpdate(0);
}
else
if(gautoupdatecomm==NMCOMM_AUTOUPDATE_ONCE)
{
NMCommUpdate(window,null,
"&url="+url0,NMCommUpdateChrome_Handler);
}
else
{
}
}
function NMCommMainGotoURL(url)
{
(isIE)?NMCommMainGotoURLIE(url):NMCommMainGotoURLFF(url);
}
function NMCommMainGotoURLFF(url)
{
window._content.document.location=url;
window.content.focus();
}
function NMCommSetEnv()
{
gnmcommurl=NMPrefGet("nmcommpref.nmcommurl",gnmcommurl);
gnmcommfileurl=UrlGetPath(gnmcommurl,1);
gupdateurl=NMPrefGet("nmcommpref.updateurl",gnmcommfileurl+"/latest.php");
gstate=NMPrefGet("nmcommpref.state",gstate);
guid=NMPrefGet("nmcommpref.uid",'guest'+rand(10000));
gversion=NMPrefGet("nmcommpref.version",gversion);
gdisplaytype=NMPrefGet("nmcommpref.displaytype",gdisplaytype);
gshownote=NMPrefGet("nmcommpref.note.autoshow",gshownote);
gshowusr=NMPrefGet("nmcommpref.usr.autoshow",gshowusr);
gshowdiscu=NMPrefGet("nmcommpref.discu.autoshow",gshowdiscu);
gusrx0=NMPrefGet("nmcommpref.usr.x0",gusrx0);
gusry0=NMPrefGet("nmcommpref.usr.y0",gusry0);
}
function NMCommMainSetup()
{
if(gnmcomminited)
return;
gnmcomminited=true;
var url=location.href;
if(StringStartsWith(url,"jar:http:"))
{
url=url.substring(4);
var njs=url.indexOf('/js/');
if(njs>0)
{
url=url.substring(0,njs+4);
}
}
if(StringStartsWith(url,"http:"))
{
gnmcommurl=UrlGetPath(url,1)+"srv/comm.php?";
}
NMCommSetEnv();
}
var gnmcommConsoleService=null;
NMCommMainSetup();
