
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+50;ObjMoveTo(div,x,y);div.style.zIndex=11500;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="";var url=gnmcommlastcommurl;url=UrlAppendVariable(url,'func',"usr_detail("+usr['uid']+")");url=UrlAppendVariable(url,'out',"html");html=html
+"<a target='_main' href='"+url+"'>"+usr['login']+"</a>"
+usr['hit']+"<br/>"
+"Credit:"+usr['credit']+"<br/>";return html;}
function UsrDragAll(win,doc,meuid,startx,starty)
{var obj=doc.getElementById('usr_img_'+meuid);if(!obj)
return;var endx=ObjGetX(obj);var endy=ObjGetY(obj);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=(isIE)?"absolute":"fixed";newImg.style.top=top+((isIE)?"":"px");newImg.style.left=left+((isIE)?"":"px");newImg.style.width=25+((isIE)?"":"px");newImg.style.height=25+((isIE)?"":"px");gusrdx=25;if(id==gme['uid'])
{newImg.style.width=50+((isIE)?"":"px");newImg.style.height=50+((isIE)?"":"px");gusrdx=50;}
newImg.style.filter="alpha(opacity=50)";newImg.style.zIndex=11000;EventCatch(newImg,"mouseover",function(e){UsrShowText(doc,id);});EventCatch(newImg,"mouseout",function(e){newImg.nmcomm_timeout=window.setTimeout(function(){UsrHideText(doc,id);},500);});EventCatch(newDiv,"mouseover",function(e){if(newImg.nmcomm_timeout){clearTimeout(newImg.nmcomm_timeout);newImg.nmcomm_timeout=null;}
UsrShowText(doc,id);});EventCatch(newDiv,"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(Drag)
{var drag=Drag.getDrag(win,doc);drag.add(newImg);newImg.ondragend=function(e){debug("drag.pixelStartX="+drag.pixelStartX);UsrDragAll(win,doc,id,drag.pixelStartX,drag.pixelStartY);}}}
return 1;}
gusrx0=NMPrefGet("nmcommpref.usr.x0",gusrx0);gusry0=NMPrefGet("nmcommpref.usr.y0",gusry0);debug("usr.js");