
function NMCommGetDiscus(win,doc,url,last,handler_func,ui)
{var commurl=gnmcommurl
+"&func=discu_list(0,$rid,0,2,"+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;}
debug("discu.js");
