﻿function RateOver(value)
{
    RateValue = value;
    UpdateRate();
}
function RateOut()
{
    RateValue = sRateValue;
    UpdateRate();
}
function RateClick(value)
{
    tmp = sRateValue;
    sRateValue = value;
    RateValue = value;
    var body="MethodName=WKRate&pageName="+gPageName+"&v="+value;
     PostWebRequest($Ajax_GetData$,body,RateSucc,null);
    //WebServices.knowledge.Rate(gPageName,value,RateSucc,RateError);
}

function UpdateRate()
{
    for (var i = 1; i < 6; i++) 
    {
        var starElement=$get("ThaiRating_Star_"+i);
        if(starElement==null) return;
        if (RateValue > (i-1)) 
        {
            try
            {
                starElement.setAttribute("class","ratingStar filledRatingStar");
            }
            catch(e)
            {
			    starElement.setAttribute("className","ratingStar filledRatingStar"); 
			} 
        }
        else 
        {
            try
            {
                starElement.setAttribute("class","ratingStar emptyRatingStar");
            }
            catch(e)
            {
			    starElement.setAttribute("className","ratingStar emptyRatingStar");
			}
        }
    }
}
function RateSucc(result)
{
    if(typeof(result.d) != "undefined")result=result.d;
    if(result[0].State)
    {
        var obj1 = $get("ThaiRating");
        var obj2 = $get("RFen");
        var obj3 = $get("RRen");
        obj2.innerHTML = result[1];
        obj3.innerHTML = result[2];
        RateValue = result[3];
        var listBuilder = new Sys.StringBuilder();
        for (var index = 0; index < RateValue; ++index)
        {
            listBuilder.append('<span class="ratingStar savedRatingStar" style="float: left;">&nbsp;</span>');
        }
        for(var index=RateValue;index<5; ++index)
        {
            listBuilder.append('<span class="ratingStar emptyRatingStar" style="float: left;">&nbsp;</span>');
        }
        obj1.innerHTML = listBuilder.toString();
    }
    else
    {
        sRateValue = tmp;
        RateValue = sRateValue;
        UpdateRate();
    }
}
function RateError(result)
{
    sRateValue = tmp;
    RateValue = sRateValue;
    UpdateRate();
}
function RequestEdit()
{
    if(gRequest) return;
    if(m=="") window.location = LoginHost+"/user/login.htm?IsShow=1&ReturnUrl="+window.location.href;
     $get("RequestEdit").disabled = true;
    showProgressBar(true); 
    var body="MethodName=RequestEdit&pageName="+gPageName;
     PostWebRequest($Ajax_GetData$,body,RequestSucc,null);
    //WebServices.knowledge.RequestEdit(gPageName,RequestSucc);
}
function RequestSucc(result)
{
    if(typeof(result.d) != "undefined")result=result.d;
    $get("RequestEdit").disabled = false;
    showProgressBar(false);
    if(result.State)
    {
        gRequest = true;
        $get("RequestEdit").innerHTML = sRequest;
    }
    else
    {
        if(result.Msg =="l") window.location = LoginHost+"/user/login.htm?IsShow=1&ReturnUrl="+window.location.href;
    }
}

function Save()
{
  //if(m=="") window.location = "/user/login.htm?IsShow=1&ReturnUrl="+window.location.href;
  if($get("txtComment").value=="") return;
  if(__P_M==""){top.location = LoginHost+"/user/login.htm?IsShow=1&ReturnUrl="+top.location.href;return;}
  $get("btnSave").disabled = true;
  $showProgressBar$(true);
  var body="MethodName=AddMessage&pageName="+gPageName+"&body="+encodeURIComponent($get("txtComment").value)+"&l="+gPageSize;
     PostWebRequest($Ajax_GetData$,body,onsucc,null); 
  //WebServices.knowledge.AddMessage(gPageName,$get("txtComment").value,gPageSize,onsucc,onerror);
}
function onsucc(result)
{
    if(typeof(result.d) != "undefined")result=result.d;
    $get("btnSave").disabled = false;
    $showProgressBar$(false);
    if(result[0].State)
    {
        RendList(result[1],"divComment");
        $get("commentCount").innerHTML = "("+result[2]+")";
        $get("viewCount").innerHTML = result[3];
        $get("txtComment").value = "";
    }
    else
    {
        if(result[0].Msg =="l") window.location = LoginHost+"/user/login.htm?IsShow=1&ReturnUrl="+window.location.href;
    }
}
function onerror(result)
{
    $get("btnSave").disabled = false;
}
function DeleteComent(id,obj)
{
    if(m=="") window.location = LoginHost+"/user/login.htm?IsShow=1&ReturnUrl="+window.location.href;
    obj.disabled = true;
    $showProgressBar$(true);
    var body="MethodName=DeleteComent&pageName="+gPageName+"&id="+id+"&l="+gPageSize;
     PostWebRequest($Ajax_GetData$,body,onDeleteSucc,obj);
    //WebServices.knowledge.DeleteComent(gPageName,id,gPageSize,onDeleteSucc,onDeleteError,obj);
}
function onDeleteSucc(result,context)
{
    if(typeof(result.d) != "undefined")result=result.d;
    $showProgressBar$(false);
    if(result[0].State)
    {
        RendList(result[1],"divComment");
        $get("commentCount").innerHTML = "("+result[2]+")";
        $get("viewCount").innerHTML = result[3];
    }
    else
    {
        if(result[0].Msg =="l")
        {
            window.location = LoginHost+"/user/login.htm?IsShow=1&ReturnUrl="+window.location.href;
        }
        else if(result[0].Msg =="A"||result[0].Msg =="F")//A:不是管理员F:删除消息失败
        {
            context.disabled = false;
        }
    }
}
function onDeleteError(result,context)
{
    context.disabled = false;
}
function RendList(list,divID)
{
    var domDiv = $get(divID);
    if(domDiv!=null)
    {
        if($get("commentItem")==null) return;
        var item= $get("commentItem").innerHTML;
        var deleteItem= "";
        if($get("DeleteTool")!=null) deleteItem=$get("DeleteTool").innerHTML;
        var listBuilder = new Sys.StringBuilder();
        for (var index = 0; index < list.length; ++index) 
        {
            var obj = list[index];
            var tmp = item.replace(/\$Avatar\$/gi,"<img src=\""+(obj.Avatar==""?"/images/no_pic.gif":(obj.ImgSite == "0" ? "/UpLoadImages/Avatar/" : $Mosso_ImgAvatar$)+obj.Username+"_Avatar_3.jpg")+"\"/>");
            tmp = tmp.replace(/\$NickName\$/gi,obj.NickName).replace(/\$UserName\$/gi,obj.Username).replace(/\$Body\$/gi,EncodeMessage(obj.Body));
            if(gDeleteFlag)
            {
                tmp = tmp.replace(/\$DeleteTool\$/gi,deleteItem.replace("'{0}'",obj.ID));
            }
            else
            {
                tmp = tmp.replace(/\$DeleteTool\$/gi,"");
            }
            var arr1 = gDateFormat.split(":");
            var arr2 = obj.DiffDate.split(":");
            if(arr2[0]>0)
            {
                tmp = tmp.replace(/\$CreateDate\$/gi,gStrDate.replace("{0}",arr2[0]).replace("{1}",arr1[0]));
            }
            else if(arr2[1]>0)
            {
                tmp = tmp.replace(/\$CreateDate\$/gi,gStrDate.replace("{0}",arr2[1]).replace("{1}",arr1[1]));
            }
            else if(arr2[2]>0)
            {
                tmp = tmp.replace(/\$CreateDate\$/gi,gStrDate.replace("{0}",arr2[2]).replace("{1}",arr1[2]));
            }
            else if(arr2[3]>0)
            {
                tmp = tmp.replace(/\$CreateDate\$/gi,gStrDate.replace("{0}",arr2[3]).replace("{1}",arr1[3]));
            }
            else if(arr2[4]>0)
            {
                tmp = tmp.replace(/\$CreateDate\$/gi,gStrDate.replace("{0}",arr2[4]).replace("{1}",arr1[4]));
            }
            else if(arr2[5]>0)
            {
                tmp = tmp.replace(/\$CreateDate\$/gi,gStrDate.replace("{0}",arr2[5]).replace("{1}",arr1[5]));
            }
            else
            {
                tmp = tmp.replace(/\$CreateDate\$/gi,"");
            }
            listBuilder.append(tmp);
        }
        domDiv.innerHTML = listBuilder.toString();
    }
}