/************* 公文流转 *********************/
var ActionXML = "Action.xml";
var A_Server = "ActionSrv.aspx";
var F_Server = "FlowSrv.aspx";
var Apply_Server = "FlowListSrv.aspx";
var ajaxFile;  //ajax刷上传到服务器的文件

/*****************  document.ready start ********************/
$(document).ready(function () {
    /***************** 操作管理开始 ******************/
    $("#action").bind("click", function () {
        //构造 操作管理DIV
        Left_Menu_Click("action", "操作管理", true);
        getAllAction();
        //操作管理 新增按钮点击事件
        $("#Insert_action").bind("click", function () {
            //构造 新增操作管理DIV
            ActionDiv("Insert", "action", "新增操作管理");
            //读取XML 获取新增表单
            $.get(ActionXML, function (data) {
                $("#Insert_Con_action").html($(data).find("Action[name='Insertaction']").html());
                SelectDep("actionDepName", "");
                $("#actionDepName").change(function () { SelectUser("actionUserName", $("#actionDepName").val(), ""); });
                loading("actionUserName");
                var f = " SelectUser(\"actionUserName\", $(\"#actionDepName\").val(),\"\")";
                setTimeout(f, 3000);
                $("#actionSave").unbind();
                $("#actionSave").bind("click", function () {
                    actionSaveClick();
                });
            });
            //重新定义操作管理 新增按钮点击事件
            $("#Insert_action").unbind();
            $("#Insert_action").bind("click", function () {
                Show_Action_Box("Insertaction");
            });
        });
        //操作管理 修改按钮点击事件
        $("#Update_action").bind("click", function () {
            var id = CheckBoxVal("actionSTD");
            if (id == "" || id.indexOf(",") >= 0) {
                alert("请选择一个需要修改的操作信息");
                return;
            }
            //构造 修改操作管理DIV
            ActionDiv("Update", "action", "修改操作管理");
            //读取XML 获取修改表单
            $.get(ActionXML, function (data) {
                $("#Update_Con_action").html($(data).find("Action[name='Updateaction']").html());
                GetPVal(id);
                $("#actionUpdate").unbind();
                $("#actionUpdate").bind("click", function () {
                    actionUpdateClick();
                });
            });
            //重新定义操作管理 修改按钮点击事件
            $("#Update_action").unbind();
            $("#Update_action").bind("click", function () {
                var id2 = CheckBoxVal("actionSTD");
                if (id2 == "" || id2.indexOf(",") >= 0) {
                    alert("请选择一个需要修改的操作信息");
                    return;
                }
                GetPVal(id2);
                Show_Action_Box("Updateaction");
            });
        });
        //绑定搜索按钮点击事件
        $("#searchB_action").unbind();
        $("#searchB_action").bind("click", function () {
            getAllAction();
        });
        //绑定删除按钮点击事件
        $("#Del_action").unbind();
        $("#Del_action").bind("click", function () {
            ActionDelClick();
        });
    });
    /***************** 操作管理结束 ******************/

    /***************** 流程管理开始 ******************/
    $("#flow").bind("click", function () {
        //构造 流程管理DIV
        Left_Menu_Click("flow", "流程管理", true);
        getAllFlow();
        //流程管理 新增按钮点击事件
        $("#Insert_flow").bind("click", function () {
            //构造 新增流程管理DIV
            ActionDiv("Insert", "flow", "新增流程管理");
            //读取XML 获取新增表单
            $.get(ActionXML, function (data) {
                $("#Insert_Con_flow").html($(data).find("Action[name='Insertflow']").html());
                SelectAc("flowActions", "");
                $("#floaddAcwSave").unbind();
                $("#flowSave").bind("click", function () {
                    flowSaveClick();
                });
                $("#addAc").unbind();
                $("#addAc").bind("click", function () {
                    SelectAc("flowActions", "");
                });
                $("#delAc").unbind();
                $("#delAc").bind("click", function () {
                    $("#flowActions div:last").remove();
                });
            });
            //重新定义流程管理 新增按钮点击事件
            $("#Insert_flow").unbind();
            $("#Insert_flow").bind("click", function () {
                Show_Action_Box("Insertflow");
            });
        });
        //流程管理 修改按钮点击事件
        $("#Update_flow").bind("click", function () {
            var id = CheckBoxVal("flowSTD");
            if (id == "" || id.indexOf(",") >= 0) {
                alert("请选择一个需要修改的流程信息");
                return;
            }
            //构造 修改流程管理DIV
            ActionDiv("Update", "flow", "修改流程管理");
            //读取XML 获取修改表单
            $.get(ActionXML, function (data) {
                $("#Update_Con_flow").html($(data).find("Action[name='Updateflow']").html());
                GetSVal(id);
                $("#flowUpdate").unbind();
                $("#flowUpdate").bind("click", function () {
                    flowUpdateClick();
                });
                $("#addAcU").unbind();
                $("#addAcU").bind("click", function () {
                    SelectAc("flowActionsU", "");
                });
                $("#delAcU").unbind();
                $("#delAcU").bind("click", function () {
                    $("#flowActionsU div:last").remove();
                });
            });
            //重新定义流程管理 修改按钮点击事件
            $("#Update_flow").unbind();
            $("#Update_flow").bind("click", function () {
                var id2 = CheckBoxVal("flowSTD");
                if (id2 == "" || id2.indexOf(",") >= 0) {
                    alert("请选择一个需要修改的流程信息");
                    return;
                }
                GetSVal(id2);
                Show_Action_Box("Updateflow");
            });
        });
        //绑定搜索按钮点击事件
        $("#searchB_flow").unbind();
        $("#searchB_flow").bind("click", function () {
            getAllFlow();
        });
        //绑定删除按钮点击事件
        $("#Del_flow").unbind();
        $("#Del_flow").bind("click", function () {
            flowDelClick();
        });
    });

    /***************** 流程管理结束 ******************/

    /***************** 我的申请开始 ******************/
    $("#apply").bind("click", function () {
        //构造 我的申请DIV
        Left_Menu_Click("apply", "我的申请", false);
        Vmenu("apply", "<input id=\"searchT_apply\" type=\"text\"/><input value=\"搜索\" id=\"searchB_apply\" type=\"button\"></td><td><input value=\"新建申请\" id=\"Insert_apply\" type=\"button\"></td><td><input value=\"查看申请详细\" id=\"Update_apply\" type=\"button\">");
        getAllapply();
        //我的申请 新增按钮点击事件
        $("#Insert_apply").bind("click", function () {
            //构造 新增我的申请DIV
            ActionDiv("Insert", "apply", "新增我的申请");
            //读取XML 获取新增表单
            $.get(ActionXML, function (data) {
                $("#Insert_Con_apply").html($(data).find("Action[name='Insertapply']").html());
                SelectFlow("applyFlowName", "");        //构建流程选择框
                $("#applySave").unbind();
                $("#applySave").bind("click", function () {
                    applySaveClick();
                });
                $("#applyAddr").unbind();
                $("#applyAddr").bind("click", function () {
                    window.open("upload.aspx", "newwindow", "height=500, width=400, top=50%, left=50%, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");
                });
                ajaxFile = window.setInterval("GetUploadFiles()", 1000);
            });
            //重新定义我的申请 新增按钮点击事件
            $("#Insert_apply").unbind();
            $("#Insert_apply").bind("click", function () {
                window.clearInterval(ajaxFile);
                ajaxFile = window.setInterval("GetUploadFiles()", 1000);
                Show_Action_Box("Insertapply");
            });
        });
        //我的申请 查看点击事件
        $("#Update_apply").bind("click", function () {
            var id = CheckBoxVal("flowListSTD");
            if (id == "" || id.indexOf(",") >= 0) {
                alert("请选择一个需要查看的申请信息");
                return;
            }
            //构造 修改我的申请DIV
            ActionDiv("Update", "apply", "查看我的申请详细");
            //获取公文详细内容
            FlowCont("Update_Con_apply", id, "apply");
            //重新定义我的申请 查看按钮点击事件
            $("#Update_apply").unbind();
            $("#Update_apply").bind("click", function () {
                var id2 = CheckBoxVal("flowListSTD");
                if (id2 == "" || id2.indexOf(",") >= 0) {
                    alert("请选择一个需要查看的申请信息");
                    return;
                }
                FlowCont("Update_Con_apply", id2, "apply");
                Show_Action_Box("Updateapply");
            });
        });
        //绑定搜索按钮点击事件
        $("#searchB_apply").unbind();
        $("#searchB_apply").bind("click", function () {
            getAllapply();
        });
    });

    /***************** 我的申请结束  ******************/

    /***************** 审批管理开始 ******************/
    $("#approval").bind("click", function () {
        //构造 审批管理DIV
        Left_Menu_Click("approval", "我的审批", false);
        Vmenu("approval", "<input id=\"searchT_approval\" type=\"text\"/><input value=\"搜索\" id=\"searchB_approval\" type=\"button\"></td><td><input value=\"审批\" id=\"Update_approval\" type=\"button\">");
        getAllapproval();

        //审批管理 审批按钮点击事件
        $("#Update_approval").bind("click", function () {
            var id = CheckBoxVal("approvalSTD");
            if (id == "" || id.indexOf(",") >= 0) {
                alert("请选择一个需要审批的公文");
                return;
            }
            //构造 修改审批管理DIV
            ActionDiv("Update", "approval", "审批公文");
            $("#Updateapproval").attr("Sid", id);
            //获取公文详细内容
            FlowCont("Update_Con_approval", id, "approval");
            //重新定义我的申请 修改按钮点击事件
            $("#Update_approval").unbind();
            $("#Update_approval").bind("click", function () {
                var id2 = CheckBoxVal("approvalSTD");
                if (id2 == "" || id2.indexOf(",") >= 0) {
                    alert("请选择一个需要审批的公文");
                    return;
                }
                $("#Updateapproval").attr("Sid", id2);
                FlowCont("Update_Con_approval", id2, "approval");
                Show_Action_Box("Updateapproval");
            });
        });
        //绑定搜索按钮点击事件
        $("#searchB_approval").unbind();
        $("#searchB_approval").bind("click", function () {
            getAllapproval();
        });
    });
    /***************** 审批管理结束 ******************/
});
/*****************  document.ready  end ********************/

/*****************  action start  ********************/

//新增操作管理保存点击事件
function actionSaveClick() {
    //获取数据
    var n = $("#actionName").val();
    var r = $("#actionRemark").val();
    var u = $("#actionUserName").val();
    
    //加载等待
    loading("actionSave");

    //执行ajax
    $.get(A_Server, { type: "actionSave", name: n, remark: r,approveid:u, id: "" }, function (data) {
        //等待结束
        stopW("actionSave");

        if (data == "true") {
            CloseBox("Insertaction");             //关闭新增窗口
            clearDataForm("actionTable");         //清空新增窗口的表单数据
            getAllAction();                     //重新获取数据
        }
        else {
            alert("新增失败...失败原因:" + data);
        }
    });
}
//修改操作管理保存点击事件
function actionUpdateClick() {
    //获取数据
    var n = $("#actionNameU").val();
    var r = $("#actionRemarkU").val();
    var u = $("#actionUserNameU").val();
    var i = $("#Updateaction").attr("aid");

    //加载等待
    loading("actionUpdate");

    //执行ajax
    $.get(A_Server, { type: "actionUpdate", name: n, remark: r,approveid:u, id: i }, function (data) {
        //等待结束
        stopW("actionUpdate");

        if (data == "true") {
            CloseBox("Updateaction");             //关闭新增窗口
            getAllAction();                     //重新获取数据
        }
        else {
            alert("修改失败...失败原因:" + data);
        }
    });
}

//删除操作信息
function ActionDelClick() {
    var ids = CheckBoxVal("actionSTD");
    if (ids == "") {
        alert("请选择需要删除的操作信息");
        return;
    }
    //加载等待
    Cloading("Con_action");
    //执行ajax
    $.get(A_Server, { type: "ActionDel", id: ids }, function (data) {
        //等待结束
        Cstop();
        if (data == "true") {
            getAllAction();                     //重新获取数据
        }
        else {
            alert("删除失败...失败原因:" + data);
        }
    });
}

//获取操作列表
function getAllAction() {
    //获取数据
    var s = $("#searchT_action").val();
    //加载等待
    Cloading("Con_action");
    //执行ajax
    $.get(A_Server, { type: "GetAllAction", sT: s }, function (data) {
        //等待结束
        Cstop();
        if (data != "") {
            $("#Con_action").html(data);
        }
    });
}

//获取修改操作表单值
function GetPVal(id) {
    var input = "#actionSTD input[value='" + id + "']";
    var td = $(input).parent();
    $("#actionNameU").val($(td).next().text());
    $("#actionRemarkU").val($(td).next().next().text());
    $("#Updateaction").attr("aid", id);

    SelectDep("actionDepNameU", $(td).next().next().attr("depid"));
    $("#actionDepNameU").change(function () { SelectUser("actionUserNameU", $("#actionDepNameU").val(), ""); });
    loading("actionUserNameU");
    var f = " SelectUser(\"actionUserNameU\", $(\"#actionDepNameU\").val(),\""+$(td).next().next().next().attr("pid")+"\")";
    setTimeout(f, 3000);
    
}



//获取操作选择框
function SelectAc(id, selectVal) {
    var tid = "#" + id;
    var sid = RandNum(3);
    //执行ajax
    $.get(A_Server, { type: "SelectAc" }, function (data) {
        if (data != "") {
            var select = "<div>--><select id=\"" + sid + "\">" + data + "</select></div>";
            $(tid).append(select);
            if (selectVal != "") {
                var selectI = "#" + sid + " option[value='" + selectVal + "']";
                $(selectI).attr("selected", true);
            }
        } else {
            alert('没有可选择的流程操作,请添加流程操作');
            $(tid).append("<select></select>");
        }
    });
}


/*****************  action end  ********************/

/*****************  flow start  ********************/
//获取流程列表
function getAllFlow() {
    //获取数据
    var s = $("#searchT_flow").val();
    //加载等待
    Cloading("Con_flow");
    //执行ajax
    $.get(F_Server, { type: "GetAllFlow", sT: s }, function (data) {
        //等待结束
        Cstop();
        if (data != "") {
            $("#Con_flow").html(data);
        }
    });
}

//新增流程管理保存点击事件
function flowSaveClick() {
    //获取数据
    var n = $("#flowName").val();
    var r = $("#flowRemark").val();
    var select = $("#flowActions").find("select");
    var ids = "";
    var i = 0;
    $(select).each(function () {
        ids += i + ":" + $(this).val() + ",";
        i = i + 1;
    });
    if (ids == "") {
        alert("请至少选择1个流程操作");
        return;
    } else {
        ids = ids.substring(0, ids.length - 1);
    }
    //加载等待
    loading("flowSave");
    
    //执行ajax
    $.get(F_Server, { type: "flowSave", name: n, remark: r,aIDs:ids, id: "" }, function (data) {
        //等待结束
        stopW("flowSave");

        if (data == "true") {
            CloseBox("Insertflow");             //关闭新增窗口
            clearDataForm("flowTable");         //清空新增窗口的表单数据
            getAllFlow();                     //重新获取数据
        }
        else {
            alert("新增失败...失败原因:" + data);
        }
    });
}
//获取修改流程表单值
function GetSVal(id) {
    var input = "#flowSTD input[value='" + id + "']";
    var td = $(input).parent();
    $("#flowNameU").val($(td).next().text());
    $("#flowRemarkU").val($(td).next().next().next().text());
    $("#Updateflow").attr("fid", id);
    $("#flowActionsU").html("");
    var ids = $(td).next().next().attr("actionids").split(',');
    var arr = new Array();
    for (var i = 0; i < ids.length; i++) {
        arr[i] = ids[i].split(':')[1];
    }
    for (var j = 0; j < arr.length; j++) {
        var f = "SelectAc(\"flowActionsU\", \"" + arr[j] + "\")";
        setTimeout(f, (j+1)*100);
    }
}

//修改流程管理保存点击事件
function flowUpdateClick() {
    //获取数据
    var n = $("#flowNameU").val();
    var r = $("#flowRemarkU").val();
    var i = $("#Updateflow").attr("fid");
    var select = $("#flowActionsU").find("select");
    var ids = "";
    var j = 0;
    $(select).each(function () {
        ids += j + ":" + $(this).val() + ",";
        j = j + 1;
    });
    if (ids == "") {
        alert("请至少选择1个流程操作");
        return;
    } else {
        ids = ids.substring(0, ids.length - 1);
    }

    //加载等待
    loading("flowUpdate");

    //执行ajax
    $.get(F_Server, { type: "flowUpdate", name: n, remark: r, aIDs: ids, id: i }, function (data) {
        //等待结束
        stopW("flowUpdate");

        if (data == "true") {
            CloseBox("Updateflow");             //关闭新增窗口
            getAllFlow();                     //重新获取数据
        }
        else {
            alert("修改失败...失败原因:" + data);
        }
    });
}

//删除流程信息
function flowDelClick() {
    var ids = CheckBoxVal("flowSTD");
    if (ids == "") {
        alert("请选择需要删除的流程信息");
        return;
    }
    //加载等待
    Cloading("Con_flow");
    //执行ajax
    $.get(F_Server, { type: "FlowDel", id: ids }, function (data) {
        //等待结束
        Cstop();
        if (data == "true") {
            getAllFlow();                 //重新获取数据
        }
        else {
            alert("删除失败...失败原因:" + data);
        }
    });
}

//获取流程选择框
function SelectFlow(id, selectVal) {
    var tid = "#" + id;
    //执行ajax
    $.get(F_Server, { type: "SelectFlow" }, function (data) {
        if (data != "") {
            $(tid).html("");
            $(tid).append(data);
            if (selectVal != "") {
                var selectI = tid + " option[value='" + selectVal + "']";
                $(selectI).attr("selected", true);
            }
        } else {
            $(tid).html("");
            alert('没有可选择的流程,请添加流程');
        }
    });
}

/*****************  flow end  ********************/

/*****************  apply start  ********************/

//新增我的申请保存点击事件
function applySaveClick() {
    //获取数据
    var n = $("#applyName").val();
    var f = $("#applyFlowName").val();
    var c = $("#applyCont").val();

    //加载等待
    loading("applySave");

    //执行ajax
    $.get(Apply_Server, { type: "flowListSave", name: n,fid:f,cont:c}, function (data) {
        //等待结束
        stopW("applySave");

        if (data == "true") {
            window.clearInterval(ajaxFile);
            $("#applySname").html("");
            CloseBox("Insertapply");             //关闭新增窗口
            clearDataForm("applyTable");         //清空新增窗口的表单数据
            getAllapply();                     //重新获取数据
        }
        else {
            alert("新增失败...失败原因:" + data);
        }
    });
}


//获取申请列表
function getAllapply() {
    //获取数据
    var s = $("#searchT_apply").val();
    //加载等待
    Cloading("Con_apply");
    //执行ajax
    $.get(Apply_Server, { type: "GetAllFlowList", sT: s }, function (data) {
        //等待结束
        Cstop();
        if (data != "") {
            $("#Con_apply").html(data);
            downClick();
        }
    });

}

//获取上传的文件列表
function GetUploadFiles() {
    //执行ajax
    $.get("uploadSrv.aspx", { type: "GetUploadFiles" }, function (data) {
        $("#applySname").html(data);
        $("#applySname input[type='checkbox']").remove();
    });
}

//下载按钮点击
function downClick() {
    $(".downfile").unbind();
    $(".downfile").bind("click", function () {
        var id = $(this).parent().parent().find("input[type='checkbox']").val();
        var addr = "download.aspx?fid=" + id;
        window.open(addr, "newwindow", "height=500, width=400, top=50%, left=50%, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");

    });
}

//获取公文详细信息
function FlowCont(divid,id,s) {

    var tid = "#" + divid;

     //加载等待
    Cloading(divid);

    //执行ajax
    $.get(Apply_Server, { type: "FlowCont", fid: id, style: s }, function (data) {
        //等待结束
        Cstop();
        if (data != "") {
            $(tid).html(data);
            if (s == "approval") {
                //绑定通过按钮点击事件
                $("#pass").unbind();
                $("#pass").bind("click", function () {
                    approvalUpdateClick("pass");
                });
                //绑定不通过按钮点击事件
                $("#reject").unbind();
                $("#reject").bind("click", function () {
                    approvalUpdateClick("reject");
                });
            }
        }
    });
}
/*****************  apply end  ********************/


/*****************  approval start  ********************/

//修改审批管理保存点击事件
function approvalUpdateClick(pass) {
    //获取数据
    var r = $("#approveRe").val();
    var i = $("#Updateapproval").attr("Sid");

    //加载等待
    loading("approvalUpdate");

    //执行ajax
    $.get(Apply_Server, { type: "flowListUpdate", remark: r, id: i, isPass: pass }, function (data) {
        //等待结束
        stopW("approvalUpdate");

        if (data == "true") {
            CloseBox("Updateapproval");             //关闭新增窗口
            getAllapproval();                      //重新获取数据
        }
        else {
            alert("修改失败...失败原因:" + data);
        }
    });
}

//获取审批列表
function getAllapproval() {
    //获取数据
    var s = $("#searchT_approval").val();
    //加载等待
    Cloading("Con_approval");
    //执行ajax
    $.get(Apply_Server, { type: "MyFlowList", sT: s }, function (data) {
        //等待结束
        Cstop();
        if (data != "") {
            $("#Con_approval").html(data);
            downClick();
        }
    });

}
/*****************  approval end  ********************/