/************************

 *检测XML数据的正确性

 ************************/

function loadXml_old(str) {

    //alert("dodod"+str);

    if (str == null)

        return null;

    var doc = new ActiveXObject("MSXML.DOMDocument");

    doc.async = false;

    doc.loadXML(str);

    var oErr = doc.parseError;

    if (oErr.errorCode != 0) {

        if (str.length > 5 && str.substring(0, 5) == "<!DOC") {

            return null;

        } else {

            alert("解析XML数据错误：\n" + oErr.reason + "\nLine:" + oErr.line + "\nLinepos:" + oErr.linepos + "\nsrcText:\n" + oErr.srcText);

        }

        return null;

    }

    //alert("input loadXMl mothed "+doc);

    return doc;

}


function loadXml(str) {

    //alert("dodod"+str);

    if (str == null)

        return null;

    var doc;

    if (document.implementation.createDocument) {

        // Mozilla, create a new DOMParser

        var parser = new DOMParser();

        doc = parser.parseFromString(str, "text/xml");

        delete parser;

    } else if (window.ActiveXObject) {

        // Internet Explorer, create a new XML document using ActiveX

        // and use loadXML as a DOM parser.

        doc = new ActiveXObject("MSXML.DOMDocument");

        doc.async = "false";

        doc.loadXML(str);

    }

    return doc;

}

/** 解析XML文件

 * @param file 要解析的XML文件

 * @return document对象

 */

function loadFile_old(file) {

    var doc = new ActiveXObject("MSXML.DOMDocument");

    doc.async = false;

    doc.load(file);

    var oErr = doc.parseError;

    if (oErr.errorCode != 0) {

        alert("解析XML文件[" + file + "]错误：\n" + oErr.reason + "\nLine:" + oErr.line + "\nLinepos:" + oErr.linepos + "\nsrcText:\n" + oErr.srcText);


        return null;

    }


    return doc;

}

function loadFile(file) {

    var doc;

    if (document.implementation.createDocument) {

        // Mozilla, create a new DOMParser

        var xslStylesheet;

        doc = new XSLTProcessor();


        // load the xslt file, example1.xsl

        var myXMLHTTPRequest = new XMLHttpRequest();

        myXMLHTTPRequest.open("GET", file, false);

        myXMLHTTPRequest.send(null);


        // get the XML document and import it

        xslStylesheet = myXMLHTTPRequest.responseXML;


        doc.importStylesheet(xslStylesheet);

    } else if (window.ActiveXObject) {

        // Internet Explorer, create a new XML document using ActiveX

        // and use loadXML as a DOM parser.

        doc = new ActiveXObject("MSXML.DOMDocument");

        doc.async = "false";

        doc.load(file);

    }

    return doc;

}

/********************

 *该函数用来取得一个表单中的数据.

 *

 **********/

function getContent(theform) {

    //alert(theform);

    var els = theform.elements;

    var len = els.length;

    var queryString = "";

    this.addField =

    function(name, value) {

        if (queryString.length > 0) {

            queryString += "&";

        }

        //queryString += encodeURIComponent(name) + "=" + encodeURIComponent(value);

        queryString += name + "=" + value;

    };

    for (var i = 0; i < len; i++) {

        var el = els[i];

        if (!el.disabled) {

            switch (el.type) {

                case 'text': case 'password': case 'hidden': case 'textarea':

                this.addField(el.name, el.value);

                break;

                case 'select-one':

                    if (el.selectedIndex >= 0) {

                        this.addField(el.name, el.options[el.selectedIndex].value);

                    }

                    break;

                case 'select-multiple':

                    for (var j = 0; j < el.options.length; j++) {

                        if (el.options[j].selected) {

                            this.addField(el.name, el.options[j].value);

                        }

                    }

                    break;

                case 'checkbox': case 'radio':

                if (el.checked) {

                    this.addField(el.name, el.value);

                }

                break;

            }

        }

    }

    //alert(queryString);

    return queryString.substring(0, queryString.length);

}

/**用于把一个日期string 转换成一个 Date 类型的值

 *  @param strDate 要转换的字符串 ‘20020303’ 或 ‘2002-3-3’ 或 ‘2002.3.3’

 *  @return 日期类型值

 */

function strToDate(strDate) {

    var tempDate = strDate;


    var index1 = tempDate.lastIndexOf(".");

    var index2 = tempDate.lastIndexOf("-");

    var index11 = tempDate.indexOf(".");

    var index22 = tempDate.indexOf("-");


    //形式如2002-2-2,2002.2.3的解析

    if ((index1 != -1) || (index2 != -1)) {

        var index3 = index1;


        if (index2 > index1) {

            index3 = index2;

        }


        index33 = index11;


        if ((index22 < index11 && index22 != -1) || (index11 == -1 && index22 != -1)) {

            index33 = index22;

        }

        var year = parseInt(tempDate.substring(0, index33), 10);

        var month = parseInt(tempDate.substring(index33 + 1, index3), 10) - 1;

        var date = parseInt(tempDate.substring(index3 + 1, tempDate.length), 10);

        var dTempDate = new Date(year, month, date);

        return dTempDate;

        //形式如20020202的解析

    } else if ((index1 == -1) && (index2 == -1) && tempDate.length == 8) {


        var year = parseInt(tempDate.substring(0, 4), 10);

        var month = parseInt(tempDate.substring(4, 6), 10) - 1;

        var date = parseInt(tempDate.substring(6, 8), 10);

        var dTempDate = new Date(year, month, date);

        return dTempDate;

    }


}

//实现全选和取消全选操作

function checkFunc(obj) {

    var val = obj.innerHTML;

    var v = document.all.option;

    var len = v.length;

    if (val == "全选") {

        for (var i = 0; i < len; i++) {

            v[i].checked = v[i].checked == false ? true : true;

        }

        obj.innerHTML = "取消";

    } else {

        for (var i = 0; i < len; i++) {

            v[i].checked = v[i].checked == true ? false : false;

        }

        obj.innerHTML = "全选"

    }

}

function endsWith(url, str) {

    var len = url.lastIndexOf(str);

    return len;

    //var conn=url.substr(len,len1);

    //alert(conn);

}

/***********************************

 * 功能:实现栏目权限操作权限功能按钮的显示

 *********************************/

/***********************************

 * 功能:实现栏目权限操作权限功能按钮的显示

 *********************************/

var v_status = 0;

var SWJG_DM = '';

var v_option_type = 0;

var v_item_name = '';

var v_isBack = '';

var v_backUrl = '';

//v_status:1表示用windowopen方法打开页面

function getOption_Button(user_id, item_id, option_type, newwindow, swjg_dm, item_name, isBack, backUrl) {

    if (swjg_dm != '' || swjg_dm != null)

    {
        SWJG_DM = swjg_dm;
    }

    OptionPri.get_Option_Privilege(user_id, item_id, option_type, transformNodeOption);

    v_status = newwindow;

    v_option_type = option_type;

    v_item_name = item_name;


    if (isBack)

        v_isBack = isBack;

    if (backUrl)

        v_backUrl = backUrl;

}

/** 显示转换结果

 * @param xmlDoc XML数据对象

 */

var XMLOption = null;

function transformNodeOption(optionDoc)

{

    var button_html = "<TABLE cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\" align=\"center\" border=\"0\" >";

    button_html += "<tr height=\"20\"><td align=\"right\">";

    if (optionDoc.length < 1) {

        document.getElementById("optionButton").innerHTML = "";

        return;

    }

    //alert(optionDoc);

    XMLOption = loadXml(optionDoc);

    var record = XMLOption.getElementsByTagName("RECORD");

    var wh = "width=" + screen.width + ",height=" + (screen.height - 75);

    for (var i = 0; i < record.length; i++) {

        var OPTION_ID = record[i].childNodes[0].firstChild.data;

        var PRIVI_NAME = record[i].childNodes[1].firstChild.data;

        var URL = record[i].childNodes[2].firstChild.data;


        if (v_status == "1" && (PRIVI_NAME.indexOf("添加文档") != -1 || PRIVI_NAME.indexOf("添加模板") != -1)) {

            URL = URL + '&SWJG_DM=' + SWJG_DM + '&item_name=' + v_item_name;

            button_html += "<input class=\"button\" type=\"button\" name=\"submit" + i + "\"  value=\"" + PRIVI_NAME + "\" onClick=\"window.open('" + URL + "', 'add', 'toolbar=no,top=0,left=0,status=yes,scrollbars=yes," + wh + "');\"/>&nbsp;";

        } else if (URL.indexOf("javascript") != -1)//增加按钮为button，onclick事件为javascript函数。2009.8.6 by jxw
        {
            URL = URL.substring(0, URL.indexOf("?"));
            button_html += "<input class=\"button\" type=\"button\" name=\"button" + i + "\"  value=\"" + PRIVI_NAME + "\" onClick=\'" + URL + "\'/>&nbsp;";
            //alert(button_html);
        }
        else {

            button_html += "<input class=\"button\" type=\"button\" name=\"submit" + i + "\"  value=\"" + PRIVI_NAME + "\" onClick=\"return optionButton('" + URL + "&OPTION_ID=" + OPTION_ID + "',this.form,'option');\"/>&nbsp;";

        }

    }


    if (v_isBack == '1') {

        if (v_backUrl == "") {

            button_html += "<input class=\"button\" type=\"button\" name=\"backButton\"  value=\"返回\" onClick=\"history.back();\"/>&nbsp;";

        } else {

            button_html += "<input class=\"button\" type=\"button\" name=\"backButton\"  value=\"返回\" onClick=\"self.location='" + v_backUrl + "', 'add', 'toolbar=no,top=0,left=0,status=yes,scrollbars=yes," + wh + "';\"/>&nbsp;";

        }

    }


    button_html += "</td></tr></table>";


    document.getElementById("optionButton").innerHTML = button_html;

    //alert(document.getElementById("optionButton").innerHTML);

}

/**********************************

 *功能:实现页面的调转

 **********************************/

function optionButton(url, obj, option) {

    var len = endsWith(url, 'delete.jsp');

    var len1 = endsWith(url, 'examine.jsp');

    var len2 = endsWith(url, 'publish.jsp');

    if (len > 0) {

        var hasDelete = false;

        var elements = document.getElementsByName(option);

        for (var i = 0; i < elements.length; i++) {

            if (elements[i].checked) {

                hasDelete = true;

                break;

            }

        }

        if (hasDelete) {

            if (confirm("确定要删除吗？")) {

                obj.action = url;

                obj.target = "submitframe";

                obj.submit();

            }

        } else {

            alert("请选择要删除的记录");

            return false;

        }

    } else  if (len1 > 0) {

        var hasexamine = false;

        var elements = document.getElementsByName(option);

        for (var i = 0; i < elements.length; i++) {

            if (elements[i].checked) {

                hasexamine = true;

                break;

            }

        }

        if (!hasexamine) {

            alert("请选择要审批的记录");

            return false;

        }

        obj.action = url;

        obj.target = "submitframe";

        obj.submit();

    } else if (len2 > 0) {
        var hasPublish = false;

        var elements = document.getElementsByName(option);

        for (var i = 0; i < elements.length; i++) {

            if (elements[i].checked) {

                hasPublish = true;

                break;

            }

        }

        if (hasPublish) {

            if (confirm("确定要发布吗？")) {

                obj.action = url;

                obj.target = "submitframe";

                obj.submit();

            }

        } else {

            alert("请选择要发布的记录");

            return false;

        }
    } else {

        obj.action = url;

        obj.submit();

    }

}

/***********************

 *功能:用来取得外网权限按钮

 ***********************/

function get_OutOption_Button(user_id, item_id, option_type) {

    OptionPri.get_Option_Privilege(user_id, item_id, option_type, transformNodeOutOption);


}

var outXMLOption = null;

function transformNodeOutOption(outXmlDoc) {

    var button_html = "<TABLE cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\" align=\"center\">";

    button_html += "<tr height=\"20\"><td align=\"center\">";

    if (outXmlDoc.length < 1) {

        return;

    }

    //alert(optionDoc);

    outXMLOption = loadXml(outXmlDoc);

    var record = outXMLOption.getElementsByTagName("RECORD");

    for (var i = 0; i < record.length; i++) {

        var OPTION_ID = record[i].childNodes[0].firstChild.data;

        var PRIVI_NAME = record[i].childNodes[1].firstChild.data;

        var URL = record[i].childNodes[2].firstChild.data;

        button_html += "<input class=\"button\" type=\"button\" name=\"submit" + i + "\"  value=\"" + PRIVI_NAME + "\" onClick=\"return optionButton('" + URL + "&OPTION_ID=" + OPTION_ID + "');\"/>&nbsp;";


    }

    button_html += "</td></tr></table>";

    document.getElementById("optionButton").innerHTML = button_html;

}

/**********************

 * 清空分页域的值

 **********************/

function page_empty() {

    document.getElementById("PAGECOUNT").value = 0;

    document.getElementById("PAGEINDEX").value = 1;

    //document.getElementById("PAGESIZE").value = 20;

    document.getElementById("TOTALSIZE").value = 0;

}

/****************

 *为分页属性附值

 ******************/

function page_fz(oDW) {

    document.getElementById("PAGECOUNT").value = oDW.selectSingleNode("PAGECOUNT").text;

    document.getElementById("PAGEINDEX").value = oDW.selectSingleNode("PAGEINDEX").text;
    ;

    document.getElementById("PAGESIZE").value = oDW.selectSingleNode("PAGESIZE").text;

    document.getElementById("TOTALSIZE").value = oDW.selectSingleNode("TOTALSIZE").text;

}

function onkey_down_pagesize() {

    var log_from = document.forms[0];

    //alert(4444);

    if (log_from.PAGESIZE.value.search("^[0-9- ]+$") == -1) {

        alert("记录数有非法字符!");

        log_from.PAGESIZE.focus();

        return;

    }

}

function onkey_down_pageindex() {
    var log_ = document.forms[0];

    if (log_.PAGEINDEX.value.search("^[0-9- ]+$") == -1) {

        alert("跳转页码中有非法字符!");

        log_.PAGEINDEX.focus();

        return;

    }

    if (parseInt(log_.PAGEINDEX.value, 10) > parseInt(log_.PAGECOUNT.value, 10)) {

        alert("输入索引项有误！");
        log_.PAGEINDEX.value = log_.PAGECOUNT.value;
        log_.PAGEINDEX.focus();

        return;
    }
}


//在IFRAME中加载页面后，重新设置IFRAME的高度

function setframe_height() {

    var htjs_iframe = parent.document.getElementById("htjs_iframe");

    if (htjs_iframe != undefined) {

        if (htjs_iframe == null) return;

        var fh = document.body.scrollHeight;
        //alert(fh);

        //内容高度

        if (document.all) {

            fh += 4;

        }

        if (window.opera) {

            fh += 1;

        }

        htjs_iframe.style.height = fh;

    }
    setTimeout('setframe_height()', 1000);


}


//校验开始日期不能大于结束日期函数

function check2Date(date1, date2) {

    date1 = date1.replace(/\-/, "\/");


    date2 = date2.replace(/\-/, "\/");

    if (new Date(date1).getTime() > new Date(date2).getTime()) {

        alert("错误:开始日期大于结束日期！");

        return false;

    }

    return true;

}