/* *********************************************************************** */
/*                                                                         */
/*                             框架所需的js函数                                   */
/*                                去掉了$方法              			           */
/*                                                                         */
/*                                                                         */
/*                                                                         */
/* *********************************************************************** */


function hidden(id){
    var ctrobj = typeof(id) == "string" ? document.getElementById(id) : id;
    if (ctrobj) 
        ctrobj.style.display = 'none';
}

function show(id){
    var ctrobj = typeof(id) == "string" ? document.getElementById(id) : id;
    if (ctrobj) 
        ctrobj.style.display = '';
}

String.prototype.trim = function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
var filterForbid = function(str){
    return str.replace(/`|\'|\"|\\|%|\s/g, "");
}
function selectedOption(sel, value){
    for (var i = 0; i < sel.options.length; i++) {
        var op = sel.options[i];
        if (value == op.value) {
            op.selected = true;
            break;
        }
    }
}

function controlEdit(obj, form, level){
    if (typeof(obj) == "string") {
        obj = document.getElementById(obj);
    }
    form = document.getElementById(form);
    var canedit = obj.checked;
    var readonly = !canedit;
    if (!canedit) 
        form.reset();
    
    if (canedit) {
        var boxes = document.getElementsByTagName('INPUT');
        for (var i = 0; i < boxes.length; i++) {
            if (boxes[i].type.toUpperCase() == "CHECKBOX" && boxes[i].checked) {
                if (boxes[i].id && boxes[i].id.indexOf("control_updatebox") >= 0) {
                    if (boxes[i] != obj) {
                        alert("一次只能修改一条记录");
                        obj.checked = false;
                        return;
                    }
                }
            }
        }
    }
    
    var tr = findParentByTagName(obj, "tr");
    if (level && level > 1) {
        for (var j = 1; j < level; j++) {
            tr = findParentByTagName(tr.parentNode, "tr");
        }
    }
    for (var i = 0; i < tr.cells.length; i++) {
        var children = tr.cells[i].childNodes;
        for (var j = 0; j < children.length; j++) {
            var child = children[j];
            if (!child.id) 
                continue;
            if (child.id.indexOf("edit_") >= 0 && child.id.indexOf("disedit_") < 0) {
                var classname = "";
                if (child.tagName.toUpperCase() == "INPUT") {
                    if (child.type.toUpperCase() == "CHECKBOX" || child.type.toUpperCase() == "RADIO") {
                        child.disabled = readonly;
                    }
                    else 
                        if (!canedit) {
                            classname = "inputnoborder";
                        }
                }
                else 
                    if (child.tagName.toUpperCase() == "SELECT") {
                        child.disabled = readonly;
                    }
                child.readOnly = readonly;
                child.className = classname;
            }
        }
    }
}

var currentEditTR = null;
function referUpdate(obj, funeval, level){
    if (typeof(id) == "string") 
        obj = document.getElementById(obj);
    var tr = findParentByTagName(obj, "tr");
    if (level && level > 1) {
        for (var j = 1; j < level; j++) {
            tr = findParentByTagName(tr.parentNode, "tr");
        }
    }
    for (var i = 0; i < tr.cells.length; i++) {
        var children = tr.cells[i].childNodes;
        for (var j = 0; j < children.length; j++) {
            var child = children[j];
            if (!child.id) 
                continue;
            if (child.id.indexOf("control_updatebox") >= 0 && !child.checked) {
                alert("没有编辑过该行记录");
                return false;
            }
            else 
                if (child.id.indexOf("edit_") >= 0) {
                    privateCopyChild(child);
                }
        }
    }
    currentEditTR = tr;
    eval(funeval);
    return false;
}

function privateCopyChild(child){
    if (child.id && child.id.indexOf("edit_") >= 0) {
        var propid = "one_" + child.id.substring(child.id.indexOf("edit_") + 5);
        var chidvalue = child.value;
        if (child.tagName.toUpperCase() == "SPAN") {
            chidvalue = child.innerHTML;
        }
        if (child.id.indexOf("disedit") >= 0) {
            propid = "disedit" + propid;
        }
        var one = document.getElementById(propid);
        if (!one) 
            one = document.getElementById("form:" + propid);
        if (one && one.tagName.toUpperCase() == "SPAN") {
            one.innerHTML = chidvalue;
            return;
        }
        else 
            if (one) {
                one.value = chidvalue;
            }
        if (one && one.type && one.type.toUpperCase() == "CHECKBOX") {
            one.checked = child.checked;
        }
        else 
            if (one && one.tagName.toUpperCase() == "SELECT") {
                for (var i = 0; i < one.options.length; i++) {
                    var op = one.options[i];
                    if (op.value == chidvalue) {
                        op.selected = true;
                        break;
                    }
                }
            }
        if (one && child.id.indexOf("disedit") >= 0) {
            one.readOnly = true;
            one.className = "inputreadonly";
        }
    }
}

function copyEditToOne(obj, level){
    var tr = findParentByTagName(obj, "tr");
    if (level && level > 1) {
        for (var j = 1; j < level; j++) {
            tr = findParentByTagName(tr.parentNode, "tr");
        }
    }
    for (var i = 0; tr && tr.cells && i < tr.cells.length; i++) {
        var children = tr.cells[i].childNodes;
        for (var j = 0; j < children.length; j++) {
            privateCopyChild(children[j]);
        }
    }
}

//span
function copySpanToOne(obj, level){
    var tr = findParentByTagName(obj, "tr");
    if (level && level > 1) {
        for (var j = 1; j < level; j++) {
            tr = findParentByTagName(tr.parentNode, "tr");
        }
    }
    for (var i = 0; tr.cells && i < tr.cells.length; i++) {
        var children = tr.cells[i].childNodes;
        for (var j = 0; j < children.length; j++) {
            privateSpanToOneHelper(children[j]);
        }
    }
}

function privateSpanToOneHelper(child){
    if (child.id && child.id.indexOf("edit_") >= 0) {
        var propid = "one_" + child.id.substring(child.id.indexOf("edit_") + 5);
        if (child.id.indexOf("disedit") >= 0) {
            propid = "disedit" + propid;
        }
        var one = document.getElementById(propid);
        if (one && one.tagName.toUpperCase() == "SPAN") {
            one.innerHTML = child.innerHTML;
            return;
        }
        else 
            if (one) {
                one.value = child.innerHTML;
            }
        if (one && one.type.toUpperCase() == "CHECKBOX") {
            one.checked = child.checked;
        }
        else 
            if (one && one.tagName.toUpperCase() == "SELECT") {
                for (var i = 0; i < one.options.length; i++) {
                    var op = one.options[i];
                    if (op.value == child.value) {
                        op.selected = true;
                        break;
                    }
                }
            }
        if (one && child.id.indexOf("disedit") >= 0) {
            one.readOnly = true;
            one.className = "inputreadonly";
        }
    }
}

//校验编号, 只能是数字,字母, 下划线, 减号
function validateSerialNo(objid, minlen, maxlen){
    var fieldvalue = document.getElementById(objid).value;
    if (fieldvalue.length < minlen) {
        if (!checked) {
            checked = true;
            document.getElementById(objid).focus();
            return false;
        }
    }
    if (fieldvalue.length > maxlen) {
        if (!checked) {
            checked = true;
            document.getElementById(objid).focus();
            return false;
        }
    }
    for (var i = 0; i < fieldvalue.length; i++) {
        var one = fieldvalue.charAt(i);
        if (one >= 'a' && one <= 'z') 
            continue;
        if (one >= 'A' && one <= 'Z') 
            continue;
        if (one >= '0' && one <= '9') 
            continue;
        if (one == '_' || one == '-') 
            continue;
        if (!checked) {
            checked = true;
            document.getElementById(objid).focus();
        }
        return false;
    }
    return true;
}

//点击全选checkbox
function selectall(obj){
    var table = findParentByTagName(obj, "table");
    for (var i = 1; i < table.rows.length; i++) {
        selectitem(table, i, obj);
    }
}

function findParentByTagName(obj, tagName){
    tagName = tagName.toUpperCase();
    var parent = obj;
    while ((parent = parent.parentNode) != null) {
        if (parent.tagName.toUpperCase() == tagName) {
            return parent;
        }
    }
    return null;
}

function selectoneitem(objbox, v){
    if (v != undefined) {
        objbox.value = v;
    }
    
    var tr = objbox.parentNode.parentNode;
    var unselectedclass = tr.className;
    if (unselectedclass.indexOf("selected") != -1) {
        unselectedclass = unselectedclass.substring(0, unselectedclass.indexOf("selected"));
    }
    tr.className = objbox.checked ? unselectedclass + "selected" : unselectedclass;
}

//更改被选中的数据所在行的背景颜色
function selectitem(table, rowindex, headbox){
    var checked = headbox.checked;
    var tr = table.rows[rowindex];
    var box = tr.cells[0].firstChild;
    if (box == headbox) 
        return;
    var bgcolor = checked ? "#F4F8FB" : "#FFFFFF";
    if (box && box.tagName.toUpperCase() == "INPUT" && box.type.toUpperCase() == "CHECKBOX") {
        box.checked = checked;
        selectoneitem(box);
    }
}

function verifyseqids(obj){
    var array = getDelSelectedboxSeqIds();
    if (array) {
        document.getElementById("selectedseqids").value = array.join(",");
        if (document.all) {
            var boxes = document.getElementsByTagName('input');
            for (var i = 0; i < boxes.length; i++) {
                if (boxes[i].type.toUpperCase() == "CHECKBOX" && boxes[i].checked) {
                    var pos = boxes[i].name.indexOf("selectseqidbox");
                    if (pos < 0) 
                        continue;
                    boxes[i].checked = false;
                }
            }
            
            setTimeout("document.getElementsByName('" + obj.name + "')[0].click()", "50");
            return false;
        }
        return true;
    }
    return false;
}

//获取已经选中的记录的id
function getSelectedboxSeqIds(){
    var array = new Array();
    var boxes = document.getElementsByTagName('input');
    for (var i = 0; i < boxes.length; i++) {
        if (boxes[i].type.toUpperCase() == "CHECKBOX" && boxes[i].checked) {
            var pos = boxes[i].name.indexOf("selectseqidbox");
            if (pos < 0) 
                continue;
            //var seqid = parseInt(boxes[i].name.substring(pos + "selectseqidbox_".length));
            array.push(boxes[i].value);
        }
    }
    if (array.length < 1) {
        alert("请选择要操作的数据");
        return null;
    }
    return array;
}

//获取做删除操作时已经选中的记录的id
function getDelSelectedboxSeqIds(){
    var array = getSelectedboxSeqIds();
    if (array && confirm("确认要删除当前选中的记录吗?")) {
        var ths = document.getElementsByTagName('th');
        for (var i = 0; i < ths.length; i++) {
            if (ths[i].firstChild && ths[i].firstChild.type && ths[i].firstChild.type.toUpperCase() == "CHECKBOX") {
                if (ths[i].firstChild.checked) 
                    ths[i].firstChild.checked = false;
            }
        }
        return array;
    }
    return null;
}

function getSelectedboxSeqIdsByTable(table){
    var array = new Array();
    for (var i = 1; i < table.rows.length; i++) {
        var tr = table.rows[i];
        var box = tr.cells[0].firstChild;
        if (box.name.indexOf("selectseqidbox") < 0 || !box.checked) 
            continue;
        if (box.value == 'on') {
            box.click();
            box.click();
        }
        array.push(box.value);
    }
    if (array.length < 1) {
        alert("请选择要操作的数据");
        return null;
    }
    return array;
}

//该方法已经过期
function showsortimg(hiddencol, colname){
    if (hiddencol.indexOf(colname + " ") == 0) {
        var imgstr = (hiddencol.indexOf(" desc") >= 0) ? "/admin/union/images/sortdesc.gif" : "/admin/union/images/sortasc.gif";
        document.write("<img src=\"" + imgstr + "\" style=\"border: 0px;\"/>");
    }
}

function confirmTip(){
    var message = "您确定删除该条记录吗?";
    return window.confirm(message);
}

function showDiv(divobj){
    divobj = document.getElementById(divobj);
    if (document.getElementById("floatdivbg")) {
        var w = (document.body.offsetWidth > document.body.scrollWidth ? document.body.offsetWidth : document.body.scrollWidth) + "px";
        var h = (document.body.offsetHeight > document.body.scrollHeight ? document.body.offsetHeight : document.body.scrollHeight) + "px";
        var divbg = document.getElementById("floatdivbg");
        if (divbg) {
            divbg.style.width = w;
            divbg.style.height = h;
        }
    }
    show("floatdivbg");
    show(divobj);
    var bodyw = (document.body.offsetWidth > document.body.scrollWidth ? document.body.offsetWidth : document.body.scrollWidth);
    var w = divobj.style.width;
    if (w.indexOf("px") > 0) 
        w = w.substring(0, w.length - 2);
    divobj.style.left = (bodyw / 2 - w / 2) + "px";
    var baseh = document.documentElement.scrollTop || document.body.scrollTop;
    divobj.style.top = (baseh + 200) + "px";
}

function hiddenDiv(obj){
    obj = document.getElementById(obj);
    hidden(obj);
    hidden("floatdivbg");
    document.body.onmousemove = function(evt){
    };
}

var obj = 0;
var ie = (navigator.appVersion.indexOf("MSIE") != -1);//IE
var ff = (navigator.userAgent.indexOf("Firefox") != -1);//Firefox 
function initDiv(){
    var w = (document.body.offsetWidth > document.body.scrollWidth ? document.body.offsetWidth : document.body.scrollWidth) + "px";
    var baseh = (document.body.offsetHeight > document.body.scrollHeight ? document.body.offsetHeight : document.body.scrollHeight);
    if (document.body.scrollHeight > baseh) 
        h = document.body.scrollHeight;
    if (document.body.offsetHeight > baseh) 
        baseh = document.body.offsetHeight;
    if (document.body.clientHeight > baseh) 
        baseh = document.body.clientHeight;
    var h = baseh + "px";
    //alert("w:"+w+" h:"+h);    
    if (!document.getElementById("floatdivbg")) {
        var div = document.createElement("floatdivbg");
        div.id = "floatdivbg";
        div.style.display = "none";
        div.style.opacity = 0.4;
        if (document.all) 
            div.style.filter = "alpha(opacity=40);";
        div.style.left = "0px";
        div.style.top = "0px";
        div.style.backgroundColor = "#919191";
        div.style.position = "absolute";
        div.style.width = w;
        div.style.height = h;
        document.body.appendChild(div);
    }
}

function drag(ctrid, event){
    var startX = event.clientX, startY = event.clientY;
    var origX = document.getElementById(ctrid).offsetLeft, origY = document.getElementById(ctrid).offsetTop;
    var deltaX = startX - origX, deltaY = startY - origY;
    if (document.addEventListener) {
        document.addEventListener("mousemove", moveHandler, true);
        document.addEventListener("mouseup", upHandler, true);
    }
    else 
        if (document.attachEvent) {
            document.getElementById(ctrid).setCapture();
            document.getElementById(ctrid).attachEvent("onmousemove", moveHandler);
            document.getElementById(ctrid).attachEvent("onmouseup", upHandler);
            document.getElementById(ctrid).attachEvent("onlosecapture", upHandler);
        }
        else {
            var oldmovehandler = document.onmousemove;
            var olduphandler = document.onmouseup;
            document.onmousemove = moveHandler;
            document.onmouseup = upHandler;
        }
    if (event.stopPropagation) 
        event.stopPropagation();
    else 
        event.cancelBubble = true;
    if (event.preventDefault) 
        event.preventDefault();
    else 
        event.returnValue = false;
    
    function moveHandler(e){
        if (!e) 
            e = window.event;
        document.getElementById(ctrid).style.left = ((e.clientX - deltaX) > 0 ? (e.clientX - deltaX) : 0) + "px";
        document.getElementById(ctrid).style.top = ((e.clientY - deltaY) > 0 ? (e.clientY - deltaY) : 0) + "px";
        if (e.stopPropagation) 
            e.stopPropagation(); // DOM Level 2
        else 
            e.cancelBubble = true; // IE        
    }
    function upHandler(e){
        if (!e) 
            e = window.event;
        
        if (document.removeEventListener) {
            document.removeEventListener("mouseup", upHandler, true);
            document.removeEventListener("mousemove", moveHandler, true);
        }
        else 
            if (document.detachEvent) {
                document.getElementById(ctrid).detachEvent("onlosecapture", upHandler);
                document.getElementById(ctrid).detachEvent("onmouseup", upHandler);
                document.getElementById(ctrid).detachEvent("onmousemove", moveHandler);
                document.getElementById(ctrid).releaseCapture();
            }
            else {
                document.onmouseup = olduphandler;
                document.onmousemove = oldmovehandler;
            }
        if (e.stopPropagation) 
            e.stopPropagation();
        else 
            e.cancelBubble = true;
    }
}

function dragTopFrame(divObj, event, offsetStartX, offsetStartY) {
	var startX = event.clientX + offsetStartX, startY = event.clientY + offsetStartY;
    var origX = divObj.offsetLeft, origY = divObj.offsetTop;
    var deltaX = startX - origX, deltaY = startY - origY;
    if (top.document.addEventListener) {
        top.document.addEventListener("mousemove", moveHandler, true);
        top.document.addEventListener("mouseup", upHandler, true);
    }
    else 
        if (top.document.attachEvent) {
            divObj.setCapture();
            divObj.attachEvent("onmousemove", moveHandler);
            divObj.attachEvent("onmouseup", upHandler);
            divObj.attachEvent("onlosecapture", upHandler);
        }
        else {
            var oldmovehandler = document.onmousemove;
            var olduphandler = document.onmouseup;
            top.document.onmousemove = moveHandler;
            top.document.onmouseup = upHandler;
        }
    if (event.stopPropagation) 
        event.stopPropagation();
    else 
        event.cancelBubble = true;
    if (event.preventDefault) 
        event.preventDefault();
    else 
        event.returnValue = false;
    
    function moveHandler(e){
        if (!e) 
            e = window.event;
        divObj.style.left = ((e.clientX - deltaX) > 0 ? (e.clientX - deltaX) : 0) + "px";
        divObj.style.top = ((e.clientY - deltaY) > 0 ? (e.clientY - deltaY) : 0) + "px";
        if (e.stopPropagation) 
            e.stopPropagation(); // DOM Level 2
        else 
            e.cancelBubble = true; // IE        
    }
    function upHandler(e){
        if (!e) 
            e = window.event;
        
        if (top.document.removeEventListener) {
            top.document.removeEventListener("mouseup", upHandler, true);
            top.document.removeEventListener("mousemove", moveHandler, true);
        }
        else 
            if (top.document.detachEvent) {
                divObj.detachEvent("onlosecapture", upHandler);
                divObj.detachEvent("onmouseup", upHandler);
                divObj.detachEvent("onmousemove", moveHandler);
                divObj.releaseCapture();
            }
            else {
                top.document.onmouseup = olduphandler;
                top.document.onmousemove = oldmovehandler;
            }
        if (e.stopPropagation) 
            e.stopPropagation();
        else 
            e.cancelBubble = true;
    }
}

function scollObj(fObj, h, w){
    var datascoll = document.getElementById(fObj);
    if (datascoll) {
        if (!h) 
            h = 150;
        if (!w) 
            w = 8;
        datascoll.style.height = document.body.clientHeight - h;
        datascoll.style.width = document.body.clientWidth - w;
    }
}

function neverDragDivision(fObj){
    with (this) 
if (!fObj) 
        return;
    fObj.xx = 0;
    fObj.yy = 0;
    fObj.bDraged = false;
    fObj.onmousedown = function(evt){
        if (!evt) 
            evt = window.event;
        var srcE = evt.srcElement ? evt.srcElement : evt.target;
        
        if (evt.button == 1 && srcE && srcE.tagName && srcE.tagName.toUpperCase().indexOf("IMG") < 0 && srcE.tagName.toUpperCase().indexOf("INPUT") < 0 && srcE.tagName.toUpperCase().indexOf("SELECT") < 0 && srcE.tagName.toUpperCase().indexOf("TEXTAREA") < 0) {
            obj = this;
            if (ff) {
                fObj.xx = document.documentElement.scrollLeft + evt.layerX;
                fObj.yy = document.documentElement.scrollTop + evt.layerY;
                if (document.documentElement.scrollTop > 0) {
                    fObj.yy = evt.layerY - document.documentElement.scrollTop;
                }
                
                if (document.documentElement.scrollLeft > 0) {
                    fObj.xx = evt.layerX - document.documentElement.scrollLeft;
                }
            }
            if (ie) {
                var offseth = 0;
                var offsetw = 0;
                var p = srcE.offsetParent;
                if (srcE.tagName.toUpperCase().indexOf("TH") < 0 && p.tagName && p.tagName.toUpperCase().indexOf("TH") < 0 && p.tagName.toUpperCase().indexOf("BODY") < 0 && p.tagName.toUpperCase().indexOf("DIV") < 0) {
                    offseth = srcE.offsetTop;
                    offsetw = srcE.offsetLeft;
                    while (srcE.tagName.toUpperCase().indexOf("TH") < 0 && p.tagName.toUpperCase().indexOf("TH") < 0 && p.tagName.toUpperCase().indexOf("BODY") < 0 && p.tagName.toUpperCase().indexOf("DIV") < 0) {
                        offseth += p.offsetTop;
                        offsetw += p.offsetLeft;
                        p = p.offsetParent
                    }
                }
                fObj.xx = document.documentElement.scrollLeft + evt.offsetX + offsetw;
                fObj.yy = document.documentElement.scrollTop + evt.offsetY + offseth;
                
                if (document.documentElement.scrollTop > 0) {
                    fObj.yy = evt.offsetY + offseth - document.documentElement.scrollTop;
                }
                
                if (document.documentElement.scrollLeft > 0) {
                    fObj.xx = evt.offsetX + offsetw - document.documentElement.scrollLeft;
                }
            }
            fObj.bDraged = true;
            fObj.style.cursor = "move";
        }
    }
    
    fObj.onmouseup = function(){
        fObj.bDraged = false;
        fObj.style.cursor = "";
    }
    fObj.onmouseover = function(evt){
        if (!evt) 
            evt = window.event;
        if (evt.button == 1) {
            fObj.bDraged = true;
            fObj.style.cursor = "move";
        }
    }
    
}

// =========================================================================================================

function pressskippage(obj, event, pagecount, index){
    if (!event) 
        event = window.event;
    var kc = event.keyCode | event.which;
    if (kc == 13) {
        var pageno = parseInt(obj.value);
        if (pageno > 0 && pageno <= pagecount) {
            skipto(pageno, index);
        }
        else {
            obj.value = 1;
            skipto(1, index);
        }
    }
    if ((kc >= 48 && kc <= 57) == false) {
        if (document.all) 
            event.keyCode = 0;
        if (event.which) 
            event.preventDefault();
    }
}

function skipto(pageno, index){
    var prefix = index > 1 ? ('' + index) : '';
    document.getElementById('__hidden_pageno_' + prefix).value = pageno;
    var btn = document.getElementById('form:a4jfliperbtn' + prefix);
    if (!btn) 
        btn = document.getElementById('a4jfliperbtn' + prefix);
    if (btn) {
        btn.click();
        return;
    }
    
    document.forms[0].submit();
}

/*
 * 取消根据多列排序,太影响速度了
 * liuling @modify 2008.6.3
 */
function orderby(name, index){
    var prefix = index > 1 ? ('' + index) : '';
    var sortfield = document.getElementById('__hidden_sortcolumn_' + prefix);
    var fieldstring = sortfield.value;
    if (fieldstring.indexOf(name) >= 0) {
        if (fieldstring.indexOf('asc') > 0) {
            fieldstring = name + ' desc';
        }
        else {
            fieldstring = name + ' asc';
        }
    }
    else {
        fieldstring = name + ' asc';
    }
    sortfield.value = fieldstring;
}

function ordershow(columnname, index){
    document.write(ordershow0(columnname, index));
}

function ordershow0(columnname, index, sortdir){
	if(!sortdir) sortdir = "";
    var prefix = index > 1 ? ('' + index) : '';
    var obj = document.getElementById('__hidden_sortcolumn_' + prefix);
    if (!obj) 
        return;
    var fields = obj.value.split(',');
    for (var i = 0; i < fields.length; i++) {
        if (fields[i].indexOf(columnname) >= 0) {
            var sortimgsrc = (fields[i].toLowerCase().indexOf(' desc') >= 0) ? 'sortdesc.gif' : 'sortasc.gif';
            return ("<img style='border: 0px;' src='" + sortdir + "/admin/union/images/" + sortimgsrc + "'/>");
        }
    }
    return "";
}

function privateorderclickfun(columnname, index){
    var prefix = index > 1 ? ('' + index) : '';
    orderby(columnname, index);
    var btn = document.getElementById('form:a4jfliperbtn' + prefix);
    if (!btn) 
        btn = document.getElementById('a4jfliperbtn' + prefix);
    if (btn) {
        btn.click();
        return;
    }
}

function printorderhead(obj, headname, columnname, index, styleStr, sortdir){
	if(!sortdir) sortdir = ""; 
	if(!styleStr) styleStr = ""; 
    var funcstr = "privateorderclickfun(\"" + columnname + "\", " + index + ");";
    var str = "<a href='javascript:void(0)' class='headlink' style='"+styleStr+"' onclick='" + funcstr + "'>" + headname + ordershow0(columnname, index, sortdir) + "</a>";
    obj.innerHTML = str;
}

function resetPageParams(index){
    var prefix = index > 1 ? ('' + index) : '';
    document.getElementById('__hidden_sortcolumn_' + prefix).value = '';
    document.getElementById('__hidden_pageno_' + prefix).value = '1';
}

function setFootStatusLabel(innerstr, index){
    document.getElementById('_foot_stauts_label').innerHTML = innerstr;
}

// ==========================================================================================================

//--身份证号码验证-支持新的带x身份证
function isIdCardNo(num){
    var controlIdCard = document.getElementById(num);
    var intStrLen = controlIdCard.value.length;
    var idNumber = controlIdCard.value;
    if ((intStrLen != 0) && (intStrLen != 15) && (intStrLen != 18)) {
        return false;
    }
    if (isNaN(controlIdCard.value.substring(0, intStrLen - 1))) {
        return false;
    }
    return true;
}

//  ====================================Drag Drop============================================================

Number.prototype.NaN0 = function(){
    return isNaN(this) ? 0 : this;
}

var iMouseDown = false;
var dragObject = null;
var DragDrops = [];
var curTarget = null;
var lastTarget = null;

function makeDraggable(item){
    if (!item) 
        return;
    var node = null;
    var imgs = item.getElementsByTagName("img");
    for (var i = 0; i < imgs.length; i++) {
        if (imgs[i].src.indexOf("windiv_close") >= 0) {
            node = imgs[i].parentNode;
            break;
        }
    }
    if (!node) 
        return;
    var id = item.id;
    node.onmousedown = function(ev){
        dragObject = document.getElementById(id);
        mouseOffset = getMouseOffset(document.getElementById(id), ev);
        return false;
    }
}

function getMouseOffset(target, ev){
    ev = ev || window.event;
    var docPos = getPosition(target);
    var mousePos = mouseCoords(ev);
    return {
        x: mousePos.x - docPos.x,
        y: mousePos.y - docPos.y
    };
}

function getPosition(e){
    var left = 0;
    var top = 0;
    while (e.offsetParent) {
        left += e.offsetLeft + (e.currentStyle ? (parseInt(e.currentStyle.marginLeft)).NaN0() : 0);
        top += e.offsetTop + (e.currentStyle ? (parseInt(e.currentStyle.marginTop)).NaN0() : 0);
        e = e.offsetParent;
    }
    left += e.offsetLeft + (e.currentStyle ? (parseInt(e.currentStyle.marginLeft)).NaN0() : 0);
    top += e.offsetTop + (e.currentStyle ? (parseInt(e.currentStyle.marginTop)).NaN0() : 0);
    
    return {
        x: left,
        y: top
    };
}

function mouseCoords(ev){
    if (ev.pageX || ev.pageY) {
        return {
            x: ev.pageX,
            y: ev.pageY
        };
    }
    return {
        x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
        y: ev.clientY + document.body.scrollTop - document.body.clientTop
    };
}

function mouseDown(ev){
    ev = ev || window.event;
    var target = ev.target || ev.srcElement;
    if (target.onmousedown || target.getAttribute('DragObj')) {
        return false;
    }
}

function mouseUp(ev){
    //dragObject = null;
    if (dragObject) {
        ev = ev || window.event;
        var mousePos = mouseCoords(ev);
        
        var dT = dragObject.getAttribute('droptarget');
        if (dT) {
            var targObj = document.getElementById(dT);
            var objPos = getPosition(targObj);
            if ((mousePos.x > objPos.x) && (mousePos.y > objPos.y) &&
            (mousePos.x < (objPos.x + parseInt(targObj.offsetWidth))) &&
            (mousePos.y < (objPos.y + parseInt(targObj.offsetHeight)))) {
                var nSrc = targObj.getAttribute('newSrc');
                if (nSrc) {
                    dragObject.src = nSrc;
                    setTimeout(function(){
                        if (!dragObject || !dragObject.parentNode) 
                            return;
                        dragObject.parentNode.removeChild(dragObject);
                        dragObject = null;
                    }, parseInt(targObj.getAttribute('timeout')));
                }
                else {
                    dragObject.parentNode.removeChild(dragObject);
                }
            }
        }
    }
    dragObject = null;
    iMouseDown = false;
}


function mouseMove(ev){
    ev = ev || window.event;
    var target = ev.target || ev.srcElement;
    var mousePos = mouseCoords(ev);
    if (dragObject) {
        dragObject.style.position = 'absolute';
        dragObject.style.top = mousePos.y - mouseOffset.y;
        dragObject.style.left = mousePos.x - mouseOffset.x;
    }
    lMouseState = iMouseDown;
    if (curTarget || dragObject) 
        return false;
}


function addDropTarget(item, target){
    item.setAttribute('droptarget', target);
}

//  ====================================Drag Drop============================================================

// 通用模式弹出窗口(适用于IE,Firefox,Opera,Netscape)
// ==========================================================================================================
function popModalWin(theURL, winName, theW, theH){
    theTop = (window.screen.height - theH) / 2 - 10;
    theLeft = (window.screen.width - theW) / 2;
    
    if (document.all) { // IE
        var features = "status:no;help:no;center:1;dialogWidth:" + theW + "px;dialogHeight:" + theH + "px;"
        window.SubWin = window.showModalDialog(theURL, winName, features);
    }
    else {
        var features = "toolbar=0,scrollbars=yes,left=" + theLeft + ",top=" + theTop + ",width=" + theW + ",height=" + theH;
        window.SubWin = window.open(theURL, winName, features);
        window.SubWin.focus();
        window.ctrlsDisabledArray = new Array();
        disableCtrls("INPUT;SELECT;TEXTAREA;BUTTON");
    }
    
    function disableCtrls(tagNameStr){
        var arrTags = tagNameStr.split(";");
        for (var i = 0; i < arrTags.length; i++) {
            var arrEle = document.getElementsByTagName(arrTags[i]);
            pushToctrlsDisabledArray(arrEle);
        }
        
        for (var i = 0; i < window.ctrlsDisabledArray.length; i++) {
            window.ctrlsDisabledArray[i].disabled = true;
            window.ctrlsDisabledArray[i].readOnly = true;
        }
    }
    
    function pushToctrlsDisabledArray(arrEle){
        for (var i = 0; i < arrEle.length; i++) {
            if (!arrEle[i].disabled) {
                window.ctrlsDisabledArray.push(arrEle[i]);
            }
        }
    }
    
    window.onfocus = function(){
        if (window.SubWin && !document.all) {
            if (window.SubWin.closed == true || typeof(window.SubWin.closed) == "undefined") {
                for (var i = 0; i < window.ctrlsDisabledArray.length; i++) {
                    window.ctrlsDisabledArray[i].disabled = false;
                    window.ctrlsDisabledArray[i].readOnly = false;
                }
            }
            else {
                window.SubWin.focus();
            }
        }
    }
}

// ==========================================================================================================
//联盟专用
function cureAssigner(objid, defaulttext){
    var sels = document.getElementById(objid);
    for (var i = 0; i < sels.options.length; i++) {
        var op = sels.options[i];
        if (defaulttext && op.value == "") {
            op.text = defaulttext;
        }
        else 
            if (op.value.indexOf("1,") == 0) { //组
                op.style.background = "#EFEEE0";
            }
            else 
                if (op.value.indexOf("0,") == 0) { //组员
                    op.text = "   " + op.text;
                    op.style.textIndent = "12px";
                }
    }
}

//补充
function showedit(obj, index){
    var prefix = index > 1 ? ('' + index) : '';
    copyEditToOne(obj, prefix);
    if (document.getElementById('editdvibg')) {
        showDiv('editdvibg');
    }
    else 
        if (document.getElementById('editdivbg')) {
            showDiv('editdivbg');
        }
    //if( document.getElementById('form')[2]) document.getElementById('form')[2].focus();    //焦点放在第二个元素         
}

function showadd(){
    document.getElementById('form').reset();
    var formelements = document.getElementById('form').elements;
    for (var i = 0; i < formelements.length; i++) {
        if (formelements[i].id && formelements[i].id.indexOf("disedit") >= 0) {
            formelements[i].readOnly = false;
            formelements[i].className = "";
        }
    }
    if (document.getElementById('editdvibg')) {
        showDiv('editdvibg');
    }
    else 
        if (document.getElementById('editdivbg')) {
            showDiv('editdivbg');
        }
    //if( document.getElementById('form')[1] ) document.getElementById('form')[1].focus();    //焦点放在第一个元素
}

function save(){
    if (!validate()) 
        return false;
    var btn;
    if (document.getElementById('one_seqid')) {
        btn = document.getElementById("one_seqid").value == "0" ? document.getElementById("addbtn") : document.getElementById("editbtn");
    }
    else {
        btn = document.getElementById("form:one_seqid").value == "0" ? document.getElementById("form:addbtn") : document.getElementById("form:editbtn");
    }
    btn.click();
}

function dels(){
    var array = getDelSelectedboxSeqIds();
    if (array) {
        if (document.getElementById("delbtn")) {
            document.getElementById("delbtn").value = array.join(",");
            document.getElementById("delbtn").click();
        }
        else {
            document.getElementById("form:delbtn").value = array.join(",");
            document.getElementById("form:delbtn").click();
        }
        
    }
}

function afterSave(index){
    var prefix = index > 1 ? ('' + index) : '';
    if (document.getElementById('one_seqid')) {
        if (!document.getElementById('jsmessage').innerHTML) {
            if (document.getElementById('one_seqid').value == "0") {
                document.getElementById("form").reset();
            }
            else {
                hiddenDiv('editdvibg');
            }
        }
        else {
            alert(document.getElementById('jsmessage').innerHTML);
        }
        var btn = document.getElementById('a4jfliperbtn' + prefix);
        if (btn) 
            btn.click();
    }
    else 
        if (document.getElementById('form:one_seqid')) {
            if (!document.getElementById('form:jsmessage').innerHTML) {
                if (document.getElementById('form:one_seqid').value == "0") {
                    document.getElementById("form").reset();
                }
                else {
                    hiddenDiv('editdvibg');
                }
            }
            else {
                alert(document.getElementById('form:jsmessage').innerHTML);
            }
            var btn = document.getElementById('form:a4jfliperbtn' + prefix);
            if (btn) 
                btn.click();
        }
}

//输入时校验, 只能是正整数
function checknum(evt){
    if (!evt) 
        evt = window.event;
    return (evt.keyCode >= 48 && evt.keyCode <= 57);
}

//输入时校验, 只能是数字，包括小数点
function checknum2(evt){
    if (!evt) 
        evt = window.event;
    return (evt.keyCode >= 48 && evt.keyCode <= 57) || evt.keyCode == 46;
}

//输入时校验日期格式
function checkdate(evt){
    if (!evt) 
        evt = window.event;
    return (evt.keyCode >= 48 && evt.keyCode <= 57) || evt.keyCode == 189 || (evt.keyCode >= 37 && evt.keyCode <= 40) || evt.keyCode == 13;
}

/*****************************************************
 * 检查字符串是否是日期字符串，如果split不为null，则日期分隔符必须等于split才有效
 *****************************************************/
function isDate(str, split){
    if (str.length != 10) 
        return false;
    var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
    if (r == null) {
        return false;
    }
    var d = new Date(r[1], r[3] - 1, r[4]);
    if (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]) {
        if ((split != null) && ((str.substr(4, 1) != split) || (str.substr(7, 1) != split))) {
            return false;
        }
        else {
            return true;
        }
    }
    return false;
}


//得到鼠标当前的绝对位置
function getMouseAbsoluteXY(e){
    if (!e) 
        e = window.event;
    var xy = new Array();
    if (window.pageXOffset) {
        xy[0] = e.clientX + window.pageXOffset;
        xy[1] = e.clientY + window.pageYOffset;
    }
    else 
        if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
            xy[0] = e.clientX + document.documentElement.scrollLeft;
            xy[1] = e.clientY + document.documentElement.scrollTop;
        }
        else 
            if (typeof document.body != 'undefined') {
                xy[0] = e.clientX + document.body.scrollLeft;
                xy[1] = e.clientY + document.body.scrollTop;
            }
    return xy;
}

//得到单元格的绝对位置
function getElementAbsoluteXY(element){
    var xy = new Array();
    var x = element.offsetLeft, y = element.offsetTop;
    while (element != document.body) {
        if (element.offsetParent) {
            element = element.offsetParent;
            if (element.offsetLeft && element.offsetTop) {
                x += element.offsetLeft;
                y += element.offsetTop;
            }
        }
        else {
            break;
        }
    }
    xy[0] = x;
    xy[1] = y;
    return xy;
}

function stylingFilmclass(obj){
    var sels = document.getElementById(obj);
    for (var i = 0; i < sels.options.length; i++) {
        var op = sels.options[i];
        var idx = op.value.indexOf(",");
        if (idx > 0 && idx != op.value.length - 1) { //
            op.text = "   " + op.text;
            op.style.textIndent = "12px";
            
        }
        else 
            if (idx < 0) { //
                op.style.background = "#F2F9FB";
            }
    }
}


function submitByInputTextWhenPressEnter(submitButton, event){
    if (!event) 
        event = window.event;
    var kc = event.keyCode | event.which;
    if (kc == 13) {
        submitButton.click();
        return false;
    }
    return true;
}

function printorderhead2(obj, headname, columnname, index){
    var funcstr = "privateorderclickfun(\"" + columnname + "\", " + index + ");";
    var img = ordershow1(columnname, index);
    if (isSelectedColumn(columnname, index)) {
        obj.parentNode.className = "selheader";
        var str = "<a href='javascript:void(0)' style='color:#336699;font-weight:bold;' onclick='" + funcstr + "'>" + headname + img + "</a>" ;
    }
    else {
        obj.parentNode.style.className = "unselheader";
        var str = "<a href='javascript:void(0)' style='color:#666666;font-weight:bold;' onclick='" + funcstr + "'>" + headname + img + "</a>" ;
    }
    obj.innerHTML = str;
}

function printordercolumn(obj, columnname, index, isHighLight, defClassName){
    isHighLight = !isHighLight || isHighLight == '' ? true : isHighLight;
    if (isSelectedColumn(columnname, index)) {
        obj.parentNode.className = !defClassName || defClassName == '' ? "selcol" : defClassName;
        if (isHighLight) {
            obj.parentNode.onmouseover = function(){
				this.className = "dselcol";
            };
            obj.parentNode.onmouseout = function(){
				this.className = "selcol";
            };
        }
    }
    else {
        obj.parentNode.className = !defClassName || defClassName == '' ? "unselcol" : defClassName;
    }
}

function isSelectedColumn(columnname, index){
    var prefix = index > 1 ? ('' + index) : '';
    if (!document.getElementById('__hidden_sortcolumn_' + prefix))return false;
    var fields = document.getElementById('__hidden_sortcolumn_' + prefix).value.split(',');
    for (var i = 0; i < fields.length; i++) {
        if (fields[i].indexOf(columnname) >= 0) {
            return true;
        }
    }
    return false;
}

function ordershow1(columnname, index){
    var prefix = index > 1 ? ('' + index) : '';
    if(!document.getElementById('__hidden_sortcolumn_' + prefix)) return "<img src='/admin/union/images/adown.gif'/>";
    var fields = document.getElementById('__hidden_sortcolumn_' + prefix).value.split(',');
    for (var i = 0; i < fields.length; i++) {
        if (fields[i].indexOf(columnname) >= 0) {
            var sortimgsrc = (fields[i].toLowerCase().indexOf(' desc') >= 0) ? 'adown2.gif' : 'aup.gif';
            return "<img src='/admin/union/images/" + sortimgsrc + "'/>";
        }
    }
    return "<img src='/admin/union/images/adown.gif'/>";
}

function skiptofor1(pageno, index){
    skipto(pageno, index);
}

function copyToClipboard(txt) { 
     if(window.clipboardData) { 
             window.clipboardData.clearData(); 
             window.clipboardData.setData("Text", txt); 
     } else if(navigator.userAgent.indexOf("Opera") != -1) { 
          window.location = txt; 
     } else if (window.netscape) { 
          try { 
               netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
          } catch (e) {   
               alert("你的浏览器不支持或已经禁用复制到剪贴板的功能！请换用IE浏览器或手动复制！");            
               return false;
          } 
          var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); 
          if (!clip){ 
               alert("你的浏览器不支持或已经禁用复制到剪贴板的功能！请换用IE浏览器或手动复制！");
               return false;
          } 
          var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); 
          if (!trans){ 
               alert("你的浏览器不支持或已经禁用复制到剪贴板的功能！请换用IE浏览器或手动复制！");
               return false;
          } 
          trans.addDataFlavor('text/unicode'); 
          var str = new Object(); 
          var len = new Object(); 
          var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); 
          var copytext = txt; 
          str.data = copytext; 
          trans.setTransferData("text/unicode",str,copytext.length*2); 
          var clipid = Components.interfaces.nsIClipboard; 
          if (!clip){
              alert("你的浏览器不支持或已经禁用复制到剪贴板的功能！请换用IE浏览器或手动复制！");
              return false;
          } 
          clip.setData(trans,null,clipid.kGlobalClipboard); 
     }
     alert("已经复制到你的剪贴板中！");
     return true; 
} 
