﻿// JScript 文件

var AjaxLoadingImg = "/javascript/Ajax/Image/Ajaxloading.gif";
var AjaxLoadingText = "正在处理......";
var AjaxErrImg = "/javascript/Ajax/Image/Err.gif";
var AjaxErrText = "对不起，服务器繁忙，请稍后再试！";
var AjaxNoDataText = "没有数据记录！";
var AjaxOkClassName = "OKMsg";
var AjaxErrClassName = "ErrMsg";
var boolMyFlg = "";

//method 为GET或POST方法
//UrlPath Url地址
//data 一般在采用Post提交时需要提交的数据
//boolasync 同步或异步
//MsgDivID 显示消息的Div 编号
//DataDivID 显示内容的Div编号，如果内容需要显示在多个分开的Div 中，则每个Div用||PAGE||分割，内容用||AJAX||分割
//boolFlg 是否为验证用,如果是为验证用传一个bool为真的值
//fieldNameDivID 显示验证信息的消息DIV编号

function LoadPageData(method, UrlPath, boolasync, data, MsgDivID, DataDivID, boolFlg, fieldNameDivID) {
    var str = "";
    var url = checkURL(UrlPath);
    if (boolasync == null || boolasync == "")
        boolasync = true;
    if (boolFlg == null || boolFlg == "") {
        boolFlg = false;
        boolMyFlg = "";
    }

    var MsgDivIDDisplay = false;

    var MsgDivIDObj = GetObj(MsgDivID);

    if (MsgDivID != "") {
        if (MsgDivIDObj != null) {
            MsgDivIDObj.innerHTML = "<img src=\"" + AjaxLoadingImg + "\" style=\"vertical-align:middle;\" alt=\"\"/>" + AjaxLoadingText;
            MsgDivIDObj.style.display = "";
        }
    }
    var reqStr;
    reqStr = createXMLHttp();
    if (reqStr) {
        reqStr.onreadystatechange = AjaxProgressFun(method, UrlPath, boolasync, data, MsgDivID, DataDivID, boolFlg, fieldNameDivID, MsgDivIDDisplay, reqStr);
        reqStr.open(method, url, boolasync);
        if (data != "") {
            reqStr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            reqStr.send(data);
        }
        else {
            reqStr.send(null);
        }
    }
    else {
        if (MsgDivID != "") {
            if (MsgDivIDObj != null) {
                MsgDivIDObj.innerHTML = "<img src=\"" + AjaxErrImg + "\" style=\"vertical-align:middle;\" alt=\"\"/><span style=\"color:red;\"><b>您浏览器不支持!</b></span>";
                MsgDivIDObj.style.display = "";
            }
        }
    }
}

var AjaxProgressFun = function(method, UrlPath, boolasync, data, MsgDivID, DataDivID, boolFlg, fieldNameDivID, MsgDivIDDisplay, reqStr) {
    return function() {
        AjaxLoadComplete(method, UrlPath, boolasync, data, MsgDivID, DataDivID, boolFlg, fieldNameDivID, MsgDivIDDisplay, reqStr);
    }
}

function AjaxLoadComplete(method, UrlPath, boolasync, data, MsgDivID, DataDivID, boolFlg, fieldNameDivID, MsgDivIDDisplay, reqStr) {
    if (reqStr.readyState == 4) {
        if (reqStr.status == 200) {
            str = reqStr.responseText;
            var strTemp = str.split("||AJAX||");
            var divTemp = DataDivID.split("||PAGE||");
            var MsgDivIDObj = GetObj(MsgDivID);
            if (str != "") {
                if (!boolFlg) {
                    for (var i = 0; i < strTemp.length; i++) {
                        if (strTemp[i] != "") {
                            if (divTemp[i] != "") {
                                var divTempObj = GetObj(divTemp[i]);
                                if (divTempObj != null) {
                                    divTempObj.innerHTML = strTemp[i];
                                    divTempObj.className = "";
                                    divTempObj.style.display = "";
                                }
                            }
                        }
                        if (MsgDivID == divTemp[i]) {
                            MsgDivIDDisplay = true;
                        }
                    }
                    if (MsgDivIDDisplay) {
                        if (MsgDivIDObj != null) {
                            MsgDivIDObj.style.display = "";
                        }
                    }
                    else {
                        if (MsgDivIDObj != null) {
                            MsgDivIDObj.style.display = "none";
                        }
                    }
                }
                else {
                    if (strTemp[0] == "OK") {
                        var rightObj = GetObj("right_" + fieldNameDivID);
                        if (rightObj != null) {
                            rightObj.innerHTML = strTemp[1];
                            boolMyFlg = "OK";
                            OnLoadDiv(fieldNameDivID);
                            rightObj.style.display = "";
                            rightObj.className = "ok";
                        }
                    }
                    else {
                        var wrongWordsObj = GetObj("wrong_words_" + fieldNameDivID);
                        var wrongObj = GetObj("wrong_" + fieldNameDivID);
                        if (wrongWordsObj != null) {
                            wrongWordsObj.innerHTML = strTemp[1];
                            boolMyFlg = "NO";
                            OnLoadDiv(fieldNameDivID);
                            wrongObj.style.display = "";
                            wrongObj.className = "wrong";
                        }
                    }
                }
            }
            else {
                if (MsgDivID != "") {
                    if (MsgDivIDObj!=null)
                    {
                        MsgDivIDObj.innerHTML = "<img src=\"" + AjaxErrImg + "\" style=\"vertical-align:middle;\" alt=\"\"/>" + str;
                        MsgDivIDObj.className = AjaxErrClassName;
                        MsgDivIDObj.style.display = "";
                    }
                }
            }
            return;
        }
        else {
            if (MsgDivID != "") {
                if (MsgDivIDObj != null) {
                    MsgDivIDObj.innerHTML = "<img src=\"" + AjaxErrImg + "\" style=\"vertical-align:middle;\" alt=\"\"/>" + AjaxErrText;
                    MsgDivIDObj.className = AjaxErrClassName;
                    MsgDivIDObj.style.display = "";
                }
            }
            return;
        }
    }
}

function GetObj(ID) {
    if (ID != "") {
        var Obj = Obj$(ID);
        if (Obj != null && Obj != "null" && Obj != "") {
            return Obj;
        }
        else {
            return null;
        }
    }
    else {
        return null;
    }
}

//查找关键字函数
function findKey(stringKey, chrKey) {

    var str1 = stringKey
    var s = str1.indexOf(chrKey);
    return (s);

}

//Url编码及地址随机函数
function checkURL(url) {
    if (findKey(url, "?") != -1)
        if (findKey(url, "&") != -1) {
        var urlTemp = url.split("&");
        var strTemp = "";
        for (var i = 0; i < urlTemp.length; i++) {
            if (findKey(url, "=") != -1)
                if (i == (urlTemp.length - 1))
                strTemp = strTemp + urlTemp[i].split("=")[0] + "=" + escape(urlTemp[i].split("=")[1]);
            else
                strTemp = strTemp + urlTemp[i].split("=")[0] + "=" + escape(urlTemp[i].split("=")[1]) + "&";
            else
                strTemp = strTemp + urlTemp[i];
        }
        url = strTemp;
        url += "&randnum=" + Math.random();
        return url;
    }
    else {
        url += "&randnum=" + Math.random();
        return url;
    }
    else {
        url += "?randnum=" + Math.random();
        return url;
    }
}

//对采用eWebEditor编辑器的对象赋值

function GeteWebEditorValue(fileName, ObjeWebEditorID) {
    Obj$(fileName).value = ObjeWebEditorID.getHTML();
}

//将表单转换为字符串

function formToRequestString(form_obj) {
    var query_string = '';
    var and = '';
    //alert(form_obj.length);
    if (form_obj != null && form_obj != "null") {
        for (i = 0; i < form_obj.length; i++) {
            e = form_obj[i];

            if (e.name != '') {
                if (e.type == 'select-one') {
                    element_value = e.options[e.selectedIndex].value;
                }
                else if (e.type == 'checkbox' || e.type == 'radio') {
                    if (e.checked == false) {
                        continue;
                    }
                    element_value = e.value;
                }

                else {
                    element_value = e.value;
                }
                query_string += and + e.name + '=' + encodeURIComponent(element_value.replace("&", "&#38;"));
                and = "&"
            }
        }
    }
    return query_string;
}

//初始化提示信息框函数
function OnLoadDiv(objName) {
    Obj$("normal_" + objName).style.display = 'none';
    Obj$("awake_" + objName).style.display = 'none';
    Obj$("right_" + objName).style.display = 'none';
    Obj$("wrong_" + objName).style.display = 'none';
}

function Obj$(v) {
    return (document.getElementById(v));
}
function createXMLHttp() {
    var oXmlHttp;
    if (typeof XMLHttpRequest != "undefined") {
        oXmlHttp = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
        for (var i = 0; i < aVersions.length; i++) {
            try {
                oXmlHttp = new ActiveXObject(aVersions[i]);
                break;
            }
            catch (oError) {
                //Do nothing
            }
        }
    }
    return oXmlHttp;
    //throw new Error("不能创建XMLHttp对象!");
}
