﻿
//公共变量定义
var ClientSiteKey = "";//站点ID
var page = null;//当前页码
var AppFunctionUrlGovMail="";//应用数据处理URL，主要用作应用数据信息获取
var AppHelperUrl="/Applications/AppHelper.ashx";//本地应用数据处理页面

//应用页面初始化初始化
//pageToBeInit，页面初始化标记
//isShowHeaderFooter，是否显示页头页脚，true显示，false不显示
function InitAppPageGovMail(pageToBeInit,isShowHeaderFooter)
{
    page = parseInt(MyGetQuery('page', 1));//当前页码
    var query="?OperType=InitGlobalVariable&AppName="+escape("政府信箱")+"&callback=?";
    
    $.getJSON(AppHelperUrl+query,function(data){
    
        var result=data;
        if(result.IsSuc)
        {
            ClientSiteKey=result.Result.SiteKey;
            AppFunctionUrlGovMail=result.Result.AppFunctionsUrl;
            
            switch(pageToBeInit)
            {
                case "index.htm":   //信箱首页初始化
                    InitDataDeptList();
                    break;
                case "MailList.htm":   //信箱列表初始化
                    InitDataMailList();
                    break;
                case "MailShow.htm":   //信件详细初始化
                    InitDataMailShow();
                    break;
                case "MailTop":   //最新回复初始化
                    InitDataMailTopList();
                    break;
                case "MailAdd.htm":   //添加信件初始化
                    InitDataMailAdd();
                    break;
                case "AddMail.html":   //添加信件初始化
                    InitDataAddMail();
                    break;
                case "GovMail_ReferList.html":   //信件回复列表初始化
                    InitDataGovMail_ReferList();
                    break;
            }
        }
    });
    
    if(isShowHeaderFooter)
    {
        //页面标题
        query = "?OperType=GetSiteTitle" + "&callback=?";
        $.getJSON(AppHelperUrl + query, function(data) {
            if(!data.IsSuc)
                return;
            window.document.title= data.Result;
        });
        
        //页头数据获取
        query = "?OperType=GetLableCode&LableName=" + escape("{HZ_[网站头部]}") + "&callback=?";
        $.getJSON(AppHelperUrl + query, function(data) {
            if(!data.IsSuc)
                return;
            $("#Header").html(unescape( data.Result));
        });

        //页脚数据获取
        query = "?OperType=GetLableCode&LableName=" + escape("{HZ_[网站底部]}") + "&callback=?";
        $.getJSON(AppHelperUrl + query, function(data) {
            if(!data.IsSuc)
                return;
            $("#myFooter").html(unescape( data.Result));
        });
    }
}

//输出分页
function ShowPerPage( pageSize, recordCount, linkPage) {
    var pageCount = Math.ceil(recordCount / pageSize);
    var result = "";

    if (linkPage.indexOf("?") >= 0 && linkPage.indexOf("=") >= 0)
        linkPage += "&page=";
    else
        linkPage += "?page=";

    result = "共计： " + recordCount + "条 " + pageCount + "页&nbsp;&nbsp;&nbsp;&nbsp;当前第<span style='color:Red;'>" + page + "</span>页&nbsp;&nbsp;"
    if (page <= 1) {
        result += "第一页&nbsp;";
        result += "上一页&nbsp;";
    }
    else {
        result += "<a href='" + linkPage + 1 + "'>第一页</a>&nbsp;";
        result += "<a href='" + linkPage + (page - 1) + "'>上一页</a>&nbsp;";
    }
    if (page >= pageCount) {
        result += "下一页&nbsp;";
        result += "尾页";
    }
    else {
        result += "<a href='" + linkPage + (page + 1) + "'>下一页</a>&nbsp;";
        result += "<a href='" + linkPage + pageCount + "'>尾页</a>";
    }

    return result;
}

//输出咨询回复（MailList.htm）
function ShowReplyList(data, maxTitleLength, maxDeptNameLength, pagesize) {
    var result = data;
    if (!result.IsSuc) {
        $("#tableInfoes").append('<tr>' + result.Message + '</tr>');
        return;
    }

    var replyList = '';
    var RecordCount = parseInt(result.RecordCount);
    var linkPage = "/AppFrontPage/GovMail/MailList.htm?Dept=" + GetItemValue("selDept") +
                                "&Type=" + GetItemValue("selType") + "&Keyword=" + GetItemValue("txtKeyword");

    for (var i = 0; i < result.Result.length; i++) {
        var title = result.Result[i].Title;
        var deptName = result.Result[i].intParrentID;
        if (title.lenght > maxTitleLength) {
            title = title.substring(0, maxTitleLength) + '...';
        }
        if (deptName.lenght > maxDeptNameLength) {
            deptName = deptName.substring(0, maxDeptNameLength) + '...';
        }
        replyList += '<tr>';
        replyList += '    <td align="center">' + result.Result[i].Type + '</td>';
        replyList += '    <td><a href="/AppFrontPage/GovMail/MailShow.htm?MailId=' +
                                result.Result[i].GuestID + '" title="' + result.Result[i].Title + '" target="_blank">' + title + '</a></td>';
        replyList += '    <td align="center" title="' + result.Result[i].intParrentID + '">' + deptName + '</td>';
        replyList += '    <td align="center">' + result.Result[i].ReplyTime + '</td>';
        replyList += '</tr>';
    }
    if (RecordCount > pagesize) {
        replyList += "<tr><td align='center' colspan='4'>";
        replyList += ShowPerPage( pagesize, RecordCount, linkPage);
        replyList += "</td></tr>";
    }
    AppendItemHtml("tableInfoes", replyList);
}
function InitDataMailList() {
    SetItemValue("txtKeyword", MyGetQuery('Keyword',''));
    SetItemValue("IsHot", MyGetQuery('IsHot',''));
    SetItemValue("selType", MyGetQuery('Type', '-1'));

    $.getJSON(AppFunctionUrlGovMail+"?OperType=GetDeptInfoes&ClientSiteKey="+ClientSiteKey+"&callback=?", function(data) {
        var result = data;
        if (result.IsSuc) {
            for (var i = 0; i < result.Result.length; i++) {
                $("<option value='" + result.Result[i].PK_intID + "'>" + result.Result[i].vchrDepartmentName + "</option>").appendTo($("#selDept"));
            }
            $("#selDept").attr("value", MyGetQuery('Dept', '-1'));
        }
        
        var query="?OperType=GetReplyList&ClientSiteKey="+ClientSiteKey+"&Keyword="+GetItemValue("txtKeyword")+
                "&IsHot="+GetItemValue("IsHot")+"&page="+page+"&pageSize=10"+"&intParrentID="+GetItemValue("selDept")+
                "&intType="+GetItemValue("selType")+"&IsSecret=0"+"&callback=?";
        $.getJSON(AppFunctionUrlGovMail+query, function(data) {
            ShowReplyList(data, 15, 8, 10);
        });
    });
}

//输出最新咨询回复（MailList.htm）
function ShowReplyTopList(data, maxTitleLength, maxDeptNameLength, pagesize) {
    var result = data;
    if (!result.IsSuc) {
        $("#tableInfoes").append('<tr>' + result.Message + '</tr>');
        return;
    }

    var replyList = '';
    for (var i = 0; i < result.Result.length; i++) {
        var title = result.Result[i].Title;
        var deptName = result.Result[i].intParrentID;
        if (title.lenght > maxTitleLength) {
            title = title.substring(0, maxTitleLength) + '...';
        }
        if (deptName.lenght > maxDeptNameLength) {
            deptName = deptName.substring(0, maxDeptNameLength) + '...';
        }
        replyList += '<tr align="center">';
        replyList += '    <td align="left"><a href="/AppFrontPage/GovMail/MailShow.htm?MailId=' +
                                result.Result[i].GuestID + '" title="' + result.Result[i].Title + '" target="_blank">' + title + '</a></td>';
        replyList += '    <td align="center">' + result.Result[i].Type + '</td>';
        replyList += '    <td align="center">' + result.Result[i].IsApprove + '</td>';
        replyList += '    <td align="center" title="' + result.Result[i].intParrentID + '">' + deptName + '</td>';
        replyList += '    <td align="center">' + result.Result[i].ReplyTime + '</td>';
        replyList += '</tr>';
    }

    AppendItemHtml("tableInfoes", replyList);
}
function InitDataMailTopList() {
    var query="?OperType=GetReplyTopList&ClientSiteKey="+ClientSiteKey+"&IsHot=&pageSize=10&intParrentID=-1&State=1&IsSecret=0"+"&callback=?";                
    $.getJSON(AppFunctionUrlGovMail+query, function(data) {
        ShowReplyTopList(data, 15, 8, 10);
    });
}

//输出部门列表（index.htm）
function ShowDeptList(deptJSONData) {
    var infoes = deptJSONData;

    if (!infoes.IsSuc) {
        $("#divShowInfoes").html("应用信息获取失败！<br \>请确保您已经正确安装应用！");
        return;
    }
    var delpList = '<tr>';
    var j = 0;
    for (var i = 0; i < infoes.Result.length; i++) {
        delpList += '<td width="20%" height="20">';
        delpList += '     <div align="center"><a href="/AppFrontPage/GovMail/MailAdd.htm?DeptID=' + infoes.Result[i].PK_intID + '" target="_blank">' + infoes.Result[i].vchrDepartmentName + '</a></div>';
        delpList += ' </td>';
        j++;
        if (j == 5) {
            delpList += '</tr><tr>';
            j = 0;
        }
    }
    delpList += '</tr>';
    $("#tableDeptList").append(delpList);

}
function InitDataDeptList() {
    $("#txtKeyword").attr("value", MyGetQuery('txtKeyword',''));

    var query="?OperType=GetDeptInfoes&ClientSiteKey="+ClientSiteKey+"&Keyword="+$("#txtKeyword").attr("value")+"&callback=?";
    $.getJSON(AppFunctionUrlGovMail+query, function(data) {
        ShowDeptList(data)
    });
}

//获取信件内容（MailShow.htm）
function ShowMail(data) {
    var result = data;

    SetItemHtml("title", result.Result[0].Title+"&nbsp;"); //标题
    SetItemHtml("deptName", result.Result[0].intParrentID); //部门名称
    SetItemHtml("type", result.Result[0].Type+"&nbsp;"); //类型
    SetItemHtml("userName", result.Result[0].name+"&nbsp;"); //姓名
    SetItemHtml("eMail", result.Result[0].email+"&nbsp;"); //电子邮件
    SetItemHtml("sex", result.Result[0].Sex+"&nbsp;"); //性别
    SetItemHtml("area", result.Result[0].area+"&nbsp;"); //所在地区
    SetItemHtml("homePage", result.Result[0].http+"&nbsp;"); //主页
    SetItemHtml("tel", result.Result[0].Tel+"&nbsp;"); //联系电话
    SetItemHtml("kindName", result.Result[0].KindName+"&nbsp;"); //所属行业
    SetItemHtml("address", result.Result[0].Addr+"&nbsp;"); //住址/单位
    SetItemHtml("oicq", result.Result[0].oicq+"&nbsp;"); //QQ
    SetItemHtml("icq", result.Result[0].icq+"&nbsp;"); //MSN
    
    $("#ly").val(result.Result[0].ly);//发信内容
    $("#replay").val(result.Result[0].Replay);//回复内容
}
function InitDataMailShow() {
    var MailId=MyGetQuery('MailId','');
    var QueryCode=MyGetQuery('QueryCode','');
    //这里进行查询码的判断，若有查询码，则将 MailId 设置为查询码
    //应用数据处理时会依据 MailId 的长度来判断信件获取方式
    if(QueryCode!="")
        MailId=QueryCode;
        
    var query="?OperType=GetGovMail&MailId="+MailId+"&callback=?";
    $.getJSON(AppFunctionUrlGovMail+query, function(data) {
        ShowMail(data)
    });
}

//添加信件
function AddMail() 
{
    WorkStart();
    
    var intIsSecret="0";
    var DeptID=GetItemValue('drpDept');
    
    if(document.getElementsByName("txtIsSecret")[0].checked)
    {
        intIsSecret="1";
    } 

    var parms={TargetUrl:AppFunctionUrlGovMail,OperType: "ProxyForDataPost",TargetOperType: "AddMail",txtType:GetItemValue("txtType"),
    txtname:GetItemValue("txtname"),txtemail:GetItemValue("txtemail"),txtSex:GetItemValue("txtSex"),txtarea:GetItemValue("txtarea"),
    txthttp:GetItemValue("txthttp"),strTel:GetItemValue("strTel"),strKindName:GetItemValue("strKindName"),
    strAddr:GetItemValue("strAddr"),txtoicq:GetItemValue("txtoicq"),txticq:GetItemValue("txticq"),
    txtTitle:GetItemValue("txtTitle"),txtly:GetItemValue("txtly"),intIsSecret:intIsSecret,DeptID:DeptID};
    
    $.post(AppHelperUrl,parms,function(data){
                //alert(data);
                var result=eval('('+ unescape(data) +')');
                alert(result.Message);
                if(result.IsSuc)
                {
                    window.location='/index.aspx';
                }
                WorkEnd();
            });   
}

function InitDataMailAdd()
{
    $("#txtKeyword").attr("value",MyGetQuery('txtKeyword',''));
    var query="?OperType=GetDeptNameByDeptID&DeptID="+MyGetQuery('DeptID','0')+"&callback=?";
    $.getJSON(AppFunctionUrlGovMail+query,function(data){
             var result=data;
            $("#deptName").html(result.Message);
            });
            
}

function InitDataAddMail()
{
    var deptID=MyGetQuery("DeptID",'0');
    var mailType=MyGetQuery("Type",'0');
    if(mailType!="")
    {
        $("#txtType").val(mailType);
    }
    WorkStart();
    var query="?OperType=GetDeptInfoes&ClientSiteKey="+ClientSiteKey+"&callback=?";
    $.getJSON(AppFunctionUrlGovMail+query, function(data) {
            if(!data.IsSuc)//信息获取失败
            {
                alert("部门信息获取失败！\n"+data.Message);
                return;
            }
            
            var selItem="";
            for(var i=0;i<data.Result.length;i++)
            {
                selItem='<option value="'+ data.Result[i].PK_intID +'"' + (deptID==data.Result[i].PK_intID?' selected="selected"':'') + '>'+ data.Result[i].vchrDepartmentName +'</option>';
                $("#drpDept").append(selItem);
            }
            $("#btnSaveData").attr("disabled","");
            
            WorkEnd();
        });
}

function ShowGovMail_ReferList(objID,pageSize,maxTitleLength)
{
    var replyList = '';
    var linkPage = "List.aspx?KindID="+MyGetQuery("KindID","0");
    var Type=MyGetQuery("Type","-1");
    var Keyword=MyGetQuery("Keyword","");
    var addDate= "";
    var title = "";
    var query="?OperType=GetReplyList&ClientSiteKey="+ClientSiteKey+"&page="+page+"&pageSize="+pageSize+"&intParrentID=-1&State=2&intType="+Type;
    query+=Keyword==""?"":("&Keyword="+Keyword)
    query+="&callback=?";
    
    linkPage+=Type=="-1"?"":("Type="+Type);
    linkPage+=Keyword==""?"":("&Keyword="+Keyword)

    $.getJSON(AppFunctionUrlGovMail+query, function(data) {
        var result = data;
        if (!result.IsSuc) {
            $("#"+objID).append('<tr>' + result.Message + '</tr>');
            return;
        }
        var RecordCount = parseInt(result.RecordCount);
        for (var i = 0; i < result.Result.length; i++) {
            addDate= eval('new Date(' + result.Result[i].ReplyTime.replace(/\d+(?=-[^-]+$)/, function (a){ return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');
            title = result.Result[i].Title;
            if (title.lenght > maxTitleLength) {
                title = title.substring(0, maxTitleLength) + '...';
            }
            
            replyList = '<tr>';
            replyList += '    <td align="center\">' + result.Result[i].Type + '</td>';
            replyList += '    <td title="' + result.Result[i].Title + '">'+'<a href="/AppFrontPage/GovMail/MailShow.htm?MailId='+result.Result[i].GuestID+'" target="_blank" >' + title + '</a></td>';
            replyList += '    <td align="center">' + (addDate.getYear()+'-'+(addDate.getMonth()+1)+'-'+addDate.getDate()) + '</td>';
            replyList += '    <td align="center">' + (result.Result[i].State=='2'?'已处理':'未处理') + '</td>';
            replyList += '    <td align="center"><a href="/AppFrontPage/GovMail/MailShow.htm?MailId='+result.Result[i].GuestID+'" target="_blank" >详情</a></td>';
            replyList += '</tr>';
            $("#"+objID).append(replyList);
        }
        if (RecordCount > pageSize) {
            replyList = "<tr><td align='center' colspan='5'>";
            replyList += ShowPerPage(pageSize, RecordCount, linkPage);
            replyList += "</td></tr>";
            $("#"+objID).append(replyList);
        }
        
        EndWait();
    });

}

function InitDataGovMail_ReferList()
{
    ShowGovMail_ReferList("tableGovMailReferList",10,15);
}










function EndWait()
{
    try
    {
        $("#_wznWait").remove();
    }
    catch(err)
    {
    }
}

function WorkStart()
{
    var divEnvelop='<div id="divEnvelop" style="background-color: Gray;filter: alpha(opacity=50);left: 0px;position: absolute;top: 0px;"></div>';
    $("body").append(divEnvelop);
    var divWait='<div id="divWait" style="z-index:999;position: absolute;top: 0px;background-color:White;"><img src="/Admin/Images/loading.gif" />正在加载数据，请稍候...</div>';
    $("body").append(divWait);
    
    //隐藏select控件
    ShowSelect(0);  
    //显示遮罩层
    document.getElementById("divEnvelop").style.display="block";
    //处理遮罩层 
    ResizeEnvelop(); 
    window.onResize = ResizeEnvelop;
    //显示等待窗口
    document.getElementById("divWait").style.display="block";
}

function WorkEnd()
{
    //显示select控件
    ShowSelect(1);
    //处理遮罩层
    window.onResize = null;
    $("#divEnvelop").remove();
    $("#divWait").remove();
}
//页面遮罩
function ResizeEnvelop()
{
    divEnvelop.style.width = $("body").attr("scrollWidth");
    divEnvelop.style.height = $("body").attr("scrollHeight");
    
    divWait.style.top=$("body").attr("scrollWidth")/3;
    divWait.style.left=$("body").attr("scrollHeight")/2;
    
}
//设置是否显示页面 select 控件，IsShow：0
function ShowSelect(IsShow)
{  
    //显示和隐藏select控件
    var dispalyType;
    var arrdispalyType=["hidden","visible"];
    var arrObjSelect=$("#select");
    for (i=0;i<arrObjSelect.length;i++)
    {
        arrObjSelect[i].style.visibility=arrdispalyType[val];
    }
}


