﻿function geturlnamebyid(id)
{
    for(var j=0;j<herolist.length;j++){
        if(herolist[j][2]==id)return [herolist[j][0],herolist[j][1]]
    }
}

function geturlidbyname(name)
{
    for(var j=0;j<herolist.length;j++){
        if(herolist[j][1]==name)return [herolist[j][0],herolist[j][2]]
    }
}

function writeartirep(obj,showhtml,kind)
{
    var classname="title";
    if(obj.gold)classname="crown";
    showhtml+='<a class="'+classname+'" href="/sns/'+kind+'/'+obj.id+'/" target="_blank">'+obj.name+'</a>';
    if(obj.content)showhtml+='<div style="clear:both" class="igpreview">'+obj.content+'</div>';
    if(obj.poll)showhtml+='<div style="clear:both" class="igpreview">投票项：'+obj.poll+'</div>';
    if(obj.authorid)showhtml+='作者<a class="username" href="/msg/'+obj.authorid+'/" target="_blank">'+obj.author+'</a>';
    if(obj.time)showhtml+='<span class="time">'+obj.time+'</span>';
    if(obj.cmtnum || obj.cmtnum==0){
        showhtml+='<span class="tip">评论</span>'+obj.cmtnum+'<span class="tip">浏览</span>'+obj.viewnum+'<span class="tip">评分</span>'+obj.star;
        if(obj.cmttime){
            var cmterid='';
            var cmtername='游客';
            if(obj.cmterid){
                cmterid=obj.cmterid+'/';
                cmtername=obj.cmter;
            }
            showhtml+='<span class="tip">最后回复</span><a class="username" href="/msg/'+cmterid+'" target="_blank">'+cmtername+'</a>';
            showhtml+='<span class="time">'+obj.cmttime+'</span>';
        }
    }
    if(kind=="rep"){
        showhtml+="<div class='igpreview'>";
        if(obj.racevs!="dota")showhtml+='<span class="tip">地图</span> <span class="map">'+obj.map+'</span>';
        else{
            var hero;
            var heroimg;
            var sentinel='';
            var scourge='';
            for(var i=0;i<obj.herolist.length;i++){
                hero=obj.herolist[i];
                if(hero.img)heroimg=hero.img;
                else heroimg=geturlidbyname(hero.name)[0];
                if(hero.team==0)sentinel+='<a href="/wiki/'+hero.name+'/" target="_blank"><img class="smallheroimg" style="float:none" src="'+heroimg+'" alt="'+hero.name+'" /></a> ';
                else scourge+='<a href="/wiki/'+hero.name+'/" target="_blank"><img class="smallheroimg" style="float:none" src="'+heroimg+'" alt="'+hero.name+'" /></a> ';
            }
            showhtml+=sentinel+" VS "+scourge;
        }
        showhtml+="</div>";
    }
    showhtml+='</div>';
    return showhtml;
}

function writearti(obj,showhtml)
{        
    for(var i=0;i<obj.length;i++){
        showhtml+='<div class="listdiv"><img src="/site_media/images/'+obj[i].id%6+'.gif" />';
        showhtml=writeartirep(obj[i],showhtml,'article');
    }
    return showhtml;
}

function writerep(obj,showhtml)
{
    var racevs;
    for(var i=0;i<obj.length;i++){
        racevs=obj[i].racevs;
        showhtml+='<div class="listdiv"><a href="/rep/'+racevs+'/" target="_blank"><img width="59" src="/site_media/images/'+racevs+'.GIF" alt="'+racevs+'" /></a>';
        showhtml=writeartirep(obj[i],showhtml,'rep');
    }
    return showhtml;
}

function writepeople(obj,showhtml)
{
    showhtml+='<ul class="picul">';
    var theobj;
    for(var i=0;i<obj.length;i++){
        theobj=obj[i];
        showhtml+='<li><a href="/msg/'+theobj.id+'/" target="_blank"><img class="lbimg" id="man'+theobj.id+'" src="'+theobj.img+'" alt="'+theobj.name+'" /></a>';
        showhtml+='<span>'+theobj.name+'</span></li>';
    }
    showhtml+="</ul>";
    return showhtml;
}

function writegroup(obj,showhtml)
{
    var today = new Date();
    var The_Year = today.getFullYear();
    var The_Month = today.getMonth() + 1;
    var theobj;
    for(var i=0;i<obj.length;i++){
        theobj=obj[i];
        showhtml+='<div class="listdiv"><a href="/sns/group/'+theobj.id+'/" target="_blank"><img class="lbimg" src="'+theobj.img+'" alt="'+theobj.name+'" /></a>';
        showhtml+='<a class="title" href="/sns/group/'+theobj.id+'/" target="_blank">'+theobj.name+'</a>';
        showhtml+='版主<a class="username" href="/msg/'+theobj.founderid+'/" target="_blank">'+theobj.founder+'</a><br/>';
        showhtml+='<span class="tip">成员</span>'+theobj.member;
        showhtml+='<span class="tip">文章</span>'+theobj.artinum+'（<a href="/archive/garti/'+theobj.id+'/'+The_Year+'/'+The_Month+'/" target="_blank">'+theobj.todayartinum+'</a>）';
        showhtml+='<span class="tip">录像</span>'+theobj.repnum+'（<a href="/archive/grep/'+theobj.id+'/'+The_Year+'/'+The_Month+'/" target="_blank">'+theobj.todayrepnum+'</a>）';
        showhtml+='<br/><span class="tip2">'+theobj.intro+'</span></div>';
    }
    return showhtml;
}

function showtagsearch(id,name)
{
    var e=document.getElementById("tagsearch");
    var f=document.getElementById("tag"+id);
    var showhtml='<a class="cmda" href="/search/?search='+name+'&what=tagarticle" target="_blank">文章分类</a> ';
    showhtml+='<a class="cmda" href="/search/?search='+name+'&what=tagrep" target="_blank">录像分类</a> ';
    showhtml+='<a class="cmda" href="/group/tag/'+id+'/" target="_blank">论坛分类</a> <a class="cmda" href="/wiki/tag/'+id+'/" target="_blank">百科分类</a> ';
    showhtml+='<a href="javascript:void(0)">关闭</a>';
    e.innerHTML=showhtml;
    $('#tagsearch a').click(function(){$("#tagsearch").fadeOut(600)});
    displayposition(e,f);
}

function writetag(obj,e)
{
    var showhtml='<div>';
    var allhot=0;
    var tag=obj.tag;
    for(var i=0;i<tag.length;i++)allhot+=tag[i].hot;
    var averagehot=allhot/tag.length;
    var style;
    var thetag;
    for(var i=0;i<tag.length;i++){
        thetag=tag[i];
        allhot=thetag.hot;
        if(allhot>=1.5*averagehot)style="font:'黑体';font-weight:bolder;font-size:15px";
        else if(allhot<1.5*averagehot && allhot>=1.1*averagehot)style="font:'宋体';font-weight:bold;font-size:16px";
        else if(allhot<1.1*averagehot && allhot>=0.9*averagehot)style="font:'宋体';font-size:17px";
        else if(allhot<0.9*averagehot && allhot>=0.5*averagehot)style="font:'黑体';font-weight:bold;font-size:14px";
        else style="font:'宋体';font-size:13px";
        showhtml+='<a href="javascript:void(0)" id="tag'+thetag.id+'" style="'+style+'" onclick="showtagsearch('+thetag.id+','+"'"+thetag.name+"'"+')">'+thetag.name+'</a> ';
    }
    showhtml+='</div><div class="ajaxprofile" style="width:300px" id="tagsearch"></div>';
    e.innerHTML=showhtml;
}

function writecustomlist(obj,e)
{
    var showhtml='';
    var item;
    for(var i=0;i<obj.item.length;i++){
        item=obj.item[i];
        showhtml+='<div><b><a href="'+item.url+'" target="_blank">'+item.name+'</a></b><br/>'+item.des+'</div>';
    }
    e.innerHTML=showhtml;
}

function writearchive(obj,e,type)
{
    var artistr="garti";
    var repstr="grep";
    if(type==1){
        artistr="article";
        repstr="rep";
    }
    var showhtml='<div>文章存档<br/>';
    var i;
    var archive;
    for(i=0;i<obj.arti.length;i++){
        archive=obj.arti[i];
        showhtml+='<a href="/archive/'+artistr+'/'+obj.id+'/'+archive.year+'/'+archive.month+'/" target="_blank">'+archive.year+'年'+archive.month+'月</a> ';
    }
    showhtml+='</div>';
    showhtml+='<div>录像存档<br/>';
    for(i=0;i<obj.rep.length;i++){
        archive=obj.rep[i];
        showhtml+='<a href="/archive/'+repstr+'/'+obj.id+'/'+archive.year+'/'+archive.month+'/" target="_blank">'+archive.year+'年'+archive.month+'月</a> ';
    }
    showhtml+='</div>';
    e.innerHTML=showhtml;
}

function loop(colnum,func)
{
    for(var i=1;i<colnum;i++){
        var c=document.getElementById("c_"+i);
        var first=true;
        var j=1;
        for(var p in c.childNodes){
            if(first){
                first=false;
                continue;
            }
            else{
                if(c.childNodes[p].nodeName=="#text") continue;
                var id=c.childNodes[p].id;
                if(id=="")break;
                func(id,i,j);
                j++;
            }
        }
    }
}

function savepos(colnum,randomUrl,func)
{
    var c,p,i,j;
    var id=new String();
    var igblockid="id=";
    var rowstr="&row=";
    var columnstr="&col=";
    loop(colnum,function(id,i,j){
        id=id.slice(2);
        igblockid+=id+" ";
        columnstr+=i+" ";
        rowstr+=j+" ";
    });
    igblockid=igblockid.slice(0,-1);
    columnstr=columnstr.slice(0,-1);
    rowstr=rowstr.slice(0,-1);
    var querystring=igblockid+columnstr+rowstr;
    $.post(randomUrl,querystring,function(){
        try{func();}
        catch(g){}
    });
}

function getfunc(id,objid,type)
{
    var func;
    if(type=="ig")func=getigfunc(id);
    else if(type=="blog")func=getblogfunc(id,objid);
    else if(type=="group")func=getgroupfunc(id,objid);
    return func;
}

function writepage(page,obj,id,objid,type,size)
{
    var e=document.getElementById("page"+id.slice(2));
    var func=getfunc(id,objid,type);
    e.innerHTML=writepagemain(func,page,size,obj,id);
    var showhtml=updownpage(func,page,size,obj);
    if(size!=4)$("#con"+id.slice(2)+" span.updown").empty().append(showhtml)
    else $("#single #con"+id.slice(2)+" span.updown").empty().append(showhtml)
}

function updownpage(func,page,size,obj)
{
    var showhtml="";
    var rows=obj.row;
    var resultnum=obj.num;
    var pages=Math.ceil(resultnum/rows);
    var tail=","+size;
    if(page>1)showhtml+=" <a href='javascript:void(0)' onclick='"+func+(page-1)+tail+")'>上页</a> ";
    if(page<pages)showhtml+=" <a href='javascript:void(0)' onclick='"+func+(page+1)+tail+")'>下页</a> ";
    return showhtml;
}

function showblockedit(blockid,canedit,type,objid)
{
    if(!canedit){
        alert("您没有权限编辑模块");
        return null;
    }
    var f=document.getElementById("m_"+blockid+"_h");
    var preview;
    if(f.innerHTML=="论坛资料" || f.innerHTML=="个人资料" || f.innerHTML=="存档" || f.innerHTML=="论坛存档"){
        alert("该模块无法自定义");
        return null;
    }
    if(f.innerHTML=="文章" || f.innerHTML=="论坛文章" || f.innerHTML=="录像" || f.innerHTML=="论坛录像")preview=true;
    else preview=false;
    showedit(type,blockid,preview,f,objid);
}

function caculate_preview(value,checked)
{
    var e=document.getElementById('preview');
    var currentvalue=parseInt(e.value);
    if(checked)currentvalue+=value
    else currentvalue-=value;
    e.value=currentvalue;
}

function showedit(type,blockid,preview,f,objid)
{
    e=document.getElementById("edit");
    var showstr="显示几项：<select name='displaynum' id='displaynum'>";
    showstr+="<option value='30'>30</option><option value='25'>25</option><option value='20'>20</option>";
    showstr+="<option value='18'>18</option><option value='15'>15</option><option value='12'>12</option>";
    showstr+="<option value='10'>10</option><option value='8'>8</option><option value='5'>5</option><option value='3'>3</option></select> ";
    if(type=="blog" || type=="group")showstr+="是否显示：<select name='display' id='display'><option value='1'>是</option><option value='0'>否</option></select> ";
    if(preview){
        showstr+="<br/>显示详情：<input type='hidden' id='preview' value='1' /><br/><input name='previewnum' type='checkbox' value='2' />作者 ";
        showstr+="<input name='previewnum' type='checkbox' value='4' />时间 <input name='previewnum' type='checkbox' value='8' />评论/浏览/评分 ";
        showstr+="<input name='previewnum' type='checkbox' value='16' />最后回复 <input name='previewnum' type='checkbox' value='32' />内容预览 ";
    }
	showstr+="<input type='button' value='保存' onclick='saveblock(\""+type+"\","+blockid+",\""+objid+"\")' /> <input type='button' onclick='$(\"#edit\").fadeOut(600);' value='取消'/>";
    if(type=="blog" || type=="group"){
        if(f.innerHTML!="成员" && f.innerHTML!="论坛文章" && f.innerHTML!="论坛录像" && f.innerHTML!="论坛热门标签" && f.innerHTML!="相关论坛" && f.innerHTML!="朋友" && f.innerHTML!="文章" && f.innerHTML!="录像" && f.innerHTML!="标签" && f.innerHTML!="心路历程")
        showstr+="<br/><a href='/editlist/"+blockid+"/'>修改列表项目</a>";
    }
    e.innerHTML=showstr;
    $("#preview~input[name='previewnum']").click(function(){caculate_preview(parseInt(this.value),this.checked);})
    displayposition(e,f);
}

function minblock(blockid)
{
    $('#con'+blockid).animate({height: 'toggle', opacity: 'toggle'}, 500,function(){
        var blockid=this.id.slice(3);
        $("#min"+blockid).toggleClass("min").toggleClass("max");
        if($("#min"+blockid).attr("class")=="min")$("#min"+blockid).attr("title","收缩");
        else $("#min"+blockid).attr("title","展开");
	});
}

function saveblock(type,id,objid)
{
    id="m_"+id;
    var func=getfunc(id,objid,type);
    func+="1,0)";
    if(type=="blog" || type=="group")type="customlist"
    var querystring='displaynum='+document.getElementById("displaynum").value;
    if(document.getElementById("preview"))querystring+='&preview='+document.getElementById("preview").value;
    if(document.getElementById("display"))querystring+='&display='+document.getElementById("display").value;
    $.post("/save"+type+"/"+id.slice(2)+"/",querystring,function(){
        $("#edit").fadeOut(600);
        eval(func);
    });
}

function freshblock(type,id,objid,size)
{
    id="m_"+id;
    var func=getfunc(id,objid,type);
    func+="1,"+size+")";
    eval(func);
}

function bigblock(type,id,objid,size)
{
    $("#igtable").fadeOut("slow");
    $("#single").fadeIn("slow");
    var name=document.getElementById("m_"+id+"_h").innerHTML;
    var showhtml="<h4>"+name+" <a href='javascript:void(0)' onclick='tablesingle()'>返回</a></h4>";
    showhtml+="<div><div id='con"+id+"'></div><div id='page"+id+"'></div><a href='javascript:void(0)' onclick='tablesingle()'>返回</a></div>";
    document.getElementById('single').innerHTML=showhtml;
    freshblock(type,id,objid,size);
    var expdate=new Date();
    expdate.setTime(expdate.getTime()+(24*60*60*1000*30));
    SetCookie("knowbig",1,expdate,"/",null,false);
    if(e=document.getElementById('edittip'))e.style.display="none"
    if(f=document.getElementById('bigtip'))f.style.display="none"
}

function tablesingle()
{
    document.getElementById('single').innerHTML="";
    $("#igtable").fadeIn("slow");
    $("#single").fadeOut("slow");
}