﻿var focused=false;
function startInitGBPE()
{   
    if(isIE&&$("enableCE"))
    {
        $("enableCE").innerHTML="(Ctrl+Enter)";
    }
    proGBPEInput();
}

function proGBPEInput()
{
    var inputArray=[
    $P($("Snamebox"),"input","Sname"),
    $P($("Surlbox"),"input","Surl"),
    $P($("VcodeBox"),"input","Vcode"),
    $P($("UComBox"),"textarea","Editor")];
    for(var i=0; i<inputArray.length;i++)
    {
        obj=inputArray[i];
        if(!obj)continue;
        obj.onfocus=function()
        {
            focused=true;
            if(this.id.indexOf("Sname")>=0)
            {
                if(this.value==blogLang["guest"])
                {
                    this.value="";
                }
            }
            if(this.id.indexOf("Editor")>=0)
            {
                $("EditorBox").className='inputFocus';
            }
            else this.className='inputFocus';
        }
        obj.onblur=function()
        {
            if(this.id.indexOf("Sname")>=0)
            {
                if(this.value=="")
                {
                    this.value=blogLang["guest"];
                }
            }
             if(this.id.indexOf("Editor")>=0)
            {
                $("EditorBox").className='inputBlur';
            }
            else this.className='inputBlur';
        }
        if (isIE) 
        {      
            obj.attachEvent("onkeydown", quickCommentIE ) ;            
        }
    }
    UbbEditor.Init("EditorBar",$P($("UComBox"),"textarea","Editor").id);       
}

function quickCommentIE(e)
{
    if(!e)e=window.event;
    var key;
    var isCtrl;
    if(isIE)
        key = e.keyCode; 
    else
        key=e.which;
    isCtrl = e.ctrlKey?true:false;
    if(isCtrl)
    {
        if(isIE&&key==13)
        {
            e.cancelBubble=true;  
            $P($("ImageButtonOK"),"input","ImgOK").click();
            setWaitHint();
            return false;
        }
    }
    return true;    
}

function reloadVcode(rs)
{
    if(rs==1)
    {
        setLctm();
        $P($("UComBox"),"textarea","Editor").value="";
    }
    var img=$P($("VcodeImgBox"),"img","ImgV");
    if(img)
    {
        var src=img.src;
        if(src.indexOf("?")>0)
        {
            src=src.substring(0,src.indexOf("?"));
        }
        img.src=src+"?d="+new Date().getTime();
        $P($("VcodeBox"),"input","Vcode").value="";
    }
}

var pagenum;
var pagetrigger;

function InitPage(num)
{
    if(!pagenum)
        pagenum=$P($("PageNumBox"),"input","PageNum");
    if(!pagetrigger)
        pagetrigger=$P($("PageTriggerBox"),"input","PageTrigger");
    pagenum.value=parseInt(num);
    showpLoading();
    pagetrigger.click();
}

var pageListBox;
var plSize=7;

function InitPageList(pageRange,pi)
{
    if(!pageListBox)
        pageListBox=$("pageListBox");
    if(!pagenum)
        pagenum=$P($("PageNumBox"),"input","PageNum");  
    if(pagenum.value=="last")
       pagenum.value=pageRange;

    var pageIndex=parseInt(pagenum.value);
    
    if(pi&&parseInt(pi))
    {
        pageIndex=parseInt(pi);
        pagenum.value=pageIndex;
    }
    var totalPage=parseInt(pageRange);
    if(totalPage<=1)
    {
        setTimeout(scroll_to_top ,100);
        return blogLang["totalpage"].format(1);
    }
     var plistdiv=document.createElement("div");
    plistdiv.className="pListBox";
    
    var start=Math.ceil(pageIndex-plSize/2);
    start=start>=1?start:1;
    var end=start+plSize-1;
    end=end>totalPage?totalPage:end;
    
    var pagel;
    var tp=document.createElement("span");
    tp.innerHTML=blogLang["totalpage"].format(totalPage);
    tp.style.color="gray";
    tp.style.marginRight='5px';
    plistdiv.appendChild(tp);
    if(start>1)
    {
         pagel=document.createElement("a");
         pagel.href="javascript:InitPage("+1+");"
         pagel.innerHTML=blogLang["firstpage"];
         pagel.className="pagelist";
         plistdiv.appendChild(pagel);
    }
    for(var i=start;i<=end;i++)
    {
        if(i==pageIndex)
        {
            pagel=document.createElement("span");
            pagel.className="currentPage";
        }
        else
        {
            pagel=document.createElement("a");
            pagel.href="javascript:InitPage("+i+");"
            pagel.className="pagelist";
        }
        pagel.innerHTML=i;
        plistdiv.appendChild(pagel);
    }
    if(end<totalPage)
    {
         pagel=document.createElement("a");
         pagel.href="javascript:InitPage("+totalPage+");"
         pagel.innerHTML=blogLang["lastpage"];
         pagel.className="pagelist";
         plistdiv.appendChild(pagel);
    }
    
    var oFragment = document.createElement("div");
    oFragment.appendChild(plistdiv);
    var loadingdiv='<div class="pListLoading"><img src="/CommonRes/images/loading.gif" align="absmiddle" border="0" /></div>';
    pageListBox.innerHTML=loadingdiv+oFragment.innerHTML+loadingdiv;
    if($("pageListBox2"))
    {
        function scroll_to_top()
        {
            $("pageListBox").scrollIntoView(true);
        }
        $("pageListBox2").innerHTML=pageListBox.innerHTML;
        addEvent($("pageListBox2"),"click",scroll_to_top);
    }
}

function showpLoading()
{
    var imgsBox=["pageListBox","pageListBox2"];
    for(var j=0;j<imgsBox.length;j++)
    {
        var imgs=$(imgsBox[j]).getElementsByTagName("img");
        for(var i=0;i<imgs.length;i++)
        {
            imgs[i].parentNode.style.visibility="visible";
        }
    }
}
function ComStoView()
{
    $("Comanchor").scrollIntoView();
}

function checkEditor()
{
    if(ckCIvl()&&ckUname()&&ckUrl()&&ckVcode()&&ckEditor())
    {
        if(!pagenum)
            pagenum=$P($("PageNumBox"),"input","PageNum");
        pagenum.value="last";
        ($P($("ImageButtonOK"),"input","ImgOK")).disabled=true;
        setWaitHint();
        ($P($("ImageButtonOK"),"input","ImgReal")).click();
    }   
    return false;
}

function enableImgOK()
{
    ($P($("ImageButtonOK"),"input","ImgOK")).disabled=false;
}

function ckVcode()  
{  
    var fv=$P($("VcodeBox"),"input","Vcode");
    if(fv)
    {
        var s=fv.value;
        var patrn=new RegExp("\\d{4}","g");  
        if (!patrn.test(s)) 
        {
            alert(blogLang["vcodefail"]);
            return false;
        }
    }
    return true;  
}  

function ckUrl()
{
    var fu=$P($("Surlbox"),"input","Surl");
    if(fu&&fu.value)
    {
        var s=fu.value;
        var patrn=new RegExp("http(s)?://([\\w-]+\.)+[\\w-]+(/[\\w- ./?%&=]*)?","g");  
        if (!patrn.test(s))
        {
            alert(blogLang["wrongurl"]);
            return false;  
        }
    }
    return true;   
}

function ckUname()
{
    var fn=$P($("Snamebox"),"input","Sname");
    if(!fn)return true;
    var s=fn.value;
    if(!s)
    {
        alert(blogLang["namerequired"]);
        return false;
    }
    return true;
}

function ckEditor()
{
    $P($("UComBox"),"textarea","Editor").value=$P($("UComBox"),"textarea","Editor").value.trim();
    var content=$P($("UComBox"),"textarea","Editor").value;
    if(content.length>0)
    {
        if(content.length>2000)
        {
            alert(blogLang["bodytoolang"].format(2000));
            return false;
        }
        
        return true;
    }
    else
    {
        alert(blogLang["bodyrequired"]);
        return false;
    }
}
function SuccCom()
{
    $P($("UComBox"),"textarea","Editor").value="";
    fadeOPHint("MGMhint",blogLang["leavemsgsucc"],"OPHintSucc");
}
function setWaitHint()
{
    openOPHint("RCHint");
    return true;
}
function setSuccHint(hint)
{
    switch(hint)
    {
        case 1:
            hint=blogLang["leavemsgsucc"];
            break;
        case 2:
            hint=blogLang["replymsgsucc"];
            break;
        case 3:
            hint=blogLang["delmsgsucc"];
            break;
    }
    UpCmd.value="";
    fadeOPHint("RCHint",hint,"OPHintSucc");
}
function setFailedHint(hint)
{
    switch(hint)
    {
        case 1:
            hint=blogLang["leavemsgfail"];
            break;
        case 2:
            hint=blogLang["namerequired"];
            break;
        case 3:
            hint=blogLang["needsignin"];
            break;
        case 4:
            hint=blogLang["bodyrequired"];
            break;
        case 5:
            hint=blogLang["vcodefail"];
            break;
        case 6:
            hint=blogLang["replymsgfail"];
            break;
        case 7:
            hint=blogLang["delmsgfail"];
            break;
    }
    UpCmd.value="";
    setOPHint("RCHint",hint,"OPHintFail");
}
