var img = null;

/**
 * 常用的js方法
 */
function quit() {
    if (confirm("\u786e\u5b9a\u9000\u51fa\uff1f")) {
        location.href = "Login.jsp";
    }
}

function $(id) {
    return document.getElementById(id);
}

//去左空格
function ltrim(_str) {
    return _str.replace(/^\s*/, "");
}

//去右空格
function rtrim(_str) {
    return _str.replace(/\s*$/, "");
}

//左右空格
function trim(_str) {
    return rtrim(ltrim(_str));
}

//是否为空值
function isEmpty(_str) {
    var tmp_str = trim(_str);
    return tmp_str.length == 0;
}

//是否有效的Email
function isMail(_str) {
    var tmp_str = trim(_str);
    var pattern = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/;
    return pattern.test(tmp_str);
}

//是否有效的数字
function isNumber(_str) {
    var tmp_str = trim(_str);
    var pattern = /^(-?\d+)(\.\d+)?$/;
    return pattern.test(tmp_str);
}

function isInt(_str) {
    var tmp_str = trim(_str);
    var pattern = /^[1-9]?[0-9]*$/;
    return pattern.test(tmp_str);
}
 
//是否有效的小数，允许以小数点开头
function isFloat(_str) {
    var tmp_str = trim(_str);
    var pattern = /^(([1-9]([0-9]*))|(([1-9]([0-9]*))(\.[0-9]+))|(([0-9]?)(\.[0-9]+))|([0]))$/;
    return pattern.test(tmp_str);
}

//是否有效的金钱，允许以小数点开头
function isMoney(_str) {
    var tmp_str = trim(_str);
    var pattern = /^(([1-9]([0-9]*))|(([1-9]([0-9]*))(\.[0-9]{1,2}))|(([0-9]{1,2})(\.[0-9]{1,2}))|([0]))$/;
    return pattern.test(tmp_str);
}

//是否输入中文
function isChinese(_str) {
    var ret = true;
    for (var i = 0; i < _str.length; i++) {
        ret = ret && (_str.charCodeAt(i) >= 10000);
    }
    return ret;
}

//密码格式
function isPasswd(_str) {
    var patrn = /^[a-zA-Z0-9]{6,15}$/;
    if (!patrn.exec(_str)) {
        return false;
    }
    return true;
}

//ID格式
function isId(_str) {
    var patrn = /^[a-zA-Z0-9]{3,10}$/;
    if (!patrn.exec(_str)) {
        return false;
    }
    return true;
}

//域名
function isDomain(_str) {
    var pattern = /[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?/;
    if (!pattern.exec(_str)) {
        return false;
    }
    return true;
}

//IP
function isIp(_str) {
    var pattern = /((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)(\.((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)){3}/;
    if (!pattern.exec(_str)) {
        return false;
    }
    return true;
}

//电话
function isPhone(_str) {
    var pattern = /(((86)|(086)|(86-)|(086-))?(((0)?13\d{9})|((\(\d{3,4}\)|\d{3,4}-)?\d{7,8})))((-)?\d{0,4})/;
    if (!pattern.exec(_str)) {
        return false;
    }
    return true;
}

//手机号码
function isMobile(_str) {
    var reg0 = /^13\d{9}$/;
    var reg1 = /^15\d{9}$/;
    var reg2 = /^0\d{10,11}$/;
    var my = false;
    if (reg0.test(_str)) {
        my = true;
    }
    if (reg1.test(_str)) {
        my = true;
    }
    if (reg2.test(_str)) {
        my = true;
    }
    if (!my) {
        return false;
    }
    return true;
}

//是否是有效的图片
function isImg(_str) {
    var pattern = /(jpg)|(gif)|(bmp)|(jpeg)|(swf)|(JPG)|(GIF)|(BMP)|(JPEG)|(SWF)$/;
    if (!pattern.exec(_str)) {
        return false;
    }
    return true;
}

//是否有效的ZIP文件
function isZip(_str) {
    var pattern = /(zip)$/;
    if (!pattern.exec(_str)) {
        return false;
    }
    return true;
}

//是否是有效文件
function isFile(_str) {
    var pattern = /(txt)|(doc)$/;
    if (!pattern.exec(_str)) {
        return false;
    }
    return true;
}

//是否是有时间格式
function isDate(_str) {
    var pattern = /[0-9]{4}[-]([1][0-2]|[0][0-9])[-]([0][1-9]|[12][0-9]|[3][01])/;
    if (!pattern.exec(_str)) {
        return false;
    }
    return true;
}

//是否是有月份格式，即是否是01-12的数字
function isMonth(_str) {
    var pattern = /[0][1-9]|[1][1-2]/;
    if (!pattern.exec(_str)) {
        return false;
    }
    return true;
}

//是否选择了复选框的项
function isChecked(_str) {
    var kk = 0;
    if (_str.value != null) {
        if (!_str.checked) {
            return false;
        }
    } else {
        for (var i = 0; i < _str.length; i++) {
            if (_str[i].checked) {
                kk++;
            }
        }
        if (kk == 0) {
            return false;
        }
    }
    return true;
}

//设置复选框或者单选框被选
function setChecked(obj, _str) {
    if (typeof(obj.length) == "undefined" && obj.value == _str) {
        obj.checked = true;
    } else {
        for (var i = 0; i < obj.length; i++) {
            if (obj[i].value == _str) {
                obj[i].checked = true;
                break;
            }
        }
    }
}

//选择所有复选框，selall是按钮对象，_str是复选框对象
function selAll(selall, _str) {
    if (!_str) {
        return;
    }
    if (typeof (_str.length) == "undefined") {
        //不好使不知道为什么
        if (selall.checked) {
            _str.checked = true;
        } else {
            _str.checked = false;
        }
    } else {
        if (selall.checked) {
            for (var i = 0; i < _str.length; i++) {
                _str[i].checked = true;
            }
        } else {
            for (var i = 0; i < _str.length; i++) {
                _str[i].checked = false;
            }
        }
    }
}

function selAll_a(selall, _str) {
    if (selall.checked) {
        selall.checked = false;
    } else {
        selall.checked = true;
    }
    selAll(selall, _str);
}

function setAllByBoolean(obj, _str){
    if (typeof(obj.length) == "undefined") {
        obj.checked = _str;
    } else {
        for (var i = 0; i < obj.length; i++) {
            obj[i].checked = _str;
        }
    }
}

//-----------------------------------------------
// 参数写在url后面
function churl(url) {
    //建立对象
    var xmlhttp = getXMLHttp(); 
    //发送数据
    xmlhttp.open("post", url, false);
    //xmlhttp.setrequestheader("content-length",string.length); 
    xmlhttp.setrequestheader("content-type", "application/x-www-form-urlencoded");
    xmlhttp.send(); 
    //得到服务器端返加值
    var _str = xmlhttp.responseText;
    if (_str) {
        return true;
    } else {
        return false;
    }
}

//参数下在 objStr
function churlp(url, objStr) {
    //接收传递参数
    //string="objStr="+escape(objStr);
    //建立对象
    var xmlhttp = getXMLHttp(); 
    //发送数据
    xmlhttp.open("post", url, false);
    //xmlhttp.setrequestheader("content-length",string.length); 
    xmlhttp.setrequestheader("content-type", "application/x-www-form-urlencoded");
    xmlhttp.send(objStr); 
    //得到服务器端返加值
    var _str = xmlhttp.responseText;
    if (_str) {
        return true;
    } else {
        return false;
    }
}

//参数写在url后面
function chnoparam(url, id) {
    //建立对象
    var xmlhttp = getXMLHttp(); 
    //发送数据
    xmlhttp.open("post", url, false);
    //xmlhttp.setrequestheader("content-length",string.length); 
    xmlhttp.setrequestheader("content-type", "application/x-www-form-urlencoded");
    xmlhttp.send(); 
    //得到服务器端返加值
    document.getElementById(id).innerHTML = xmlhttp.responseText;
}

//参数下在objStr
function chparam(url, objStr, id) {
    //接收传递参数
    //string="objStr="+escape(objStr);
    //建立对象
    var xmlhttp = getXMLHttp(); 
    //发送数据
    xmlhttp.open("post", url, false);
    //xmlhttp.setrequestheader("content-length",string.length); 
    xmlhttp.setrequestheader("content-type", "application/x-www-form-urlencoded");
    xmlhttp.send(objStr); 
    //得到服务器端返加值
    document.getElementById(id).innerHTML = xmlhttp.responseText;
}

//访问量
function visit(url) {
    //alert(url);
    try {
        var xmlHttp = getXMLHttp();
        // 用POST，异步方式开启请求地址，
        xmlHttp.open("post", url, true);
        // 设置提交数据的格式为Form表单格式。
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        // 发送数据
        xmlHttp.send();
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                return true;
            }
        };
        return false;
    } catch (exception) {
        //alert(exception);
    }
}

//--------------获取XMLHttp对象(即XMLHttpRequest对象)
function getXMLHttp() {
    //增加对IE7的判断
    var ie7xmlhttp = false;
    if (typeof XMLHttpRequest == "object") {
        try {
            var o = new XMLHttpRequest();
            ie7xmlhttp = true;
        } catch (exception) {
        }
    }
    var xmlHttp;
    if (window.XMLHttpRequest && !ie7xmlhttp) {
        //4 ff or mozilla
        xmlHttp = new XMLHttpRequest();
    } else {
        if (window.ActiveXObject) {
    //ie
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

//循环弹出对象的属性
function loopObj(obj) {
    for (var o in obj.month[i]) {
        alert(o + ":" + obj.month[i][o]);
    }
}

//设置复选框显示的文本是指定的值
function setSelValue(obj, num) {
    for (var i = 0; i < obj.length; i++) {
        if (num == obj[i].value) {
            obj.selectedIndex = i;
            break;
        }
    }
}

//验证Email
function checkEmail(_str) {
    var sReg = /[_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+$/;
    if (!sReg.test(_str)) {
        return false;
    }
    return true;
}

//取得字符串长度
function getStrLen(str) {
    var ch;
    var len = 0;
    if (str != null && trim(str).length > 0) {
        for (var i=0;i<str.length;i++) {
            ch = str.charCodeAt(i);
            if (ch >= 0 && ch <= 255) {
                len += 1;
            } else {
                len += 2;
            }
        }
    }
    return len;
}

//验证是否选择了记录
function seleCheck() {
    var num = 0;
    var obj = document.getElementsByName("sn");
    var count = obj.length;
    if (count == 0) {
        alert("无可操作的记录！");
        return false;
    }
    for (var i = 0; i < count; i++) {
        if (obj[i].checked) {
            num++;
        }
    }
    if (num == 0) {
        alert("请选中至少一条记录！");
        return false;
    }
    return true;
}

//客户端判断上传图片大小
function preview(p1, p2, p3) {
    var x = document.getElementById(p1);
    var y = document.getElementById(p2);
    var z = document.getElementById(p3);
    if (!x || !x.value || !y) {
        return;
    }
    var pattern = /\.jpg$|\.jpeg$|\.gif$|\.png$/i;
    if (pattern.test(x.value)) {
        y.src = "file://localhost/" + x.value;
        z.style.display = "";
    } else {
        alert("您选择的似乎不是图像文件！");
        clearView();
    }
    if (img) {
        img.removeNode(true);
    }
    img = document.createElement("img");
    img.style.position = "absolute";
    img.style.visibility = "hidden";
    img.attachEvent("onreadystatechange", oSize);
    img.attachEvent("onerror", oErr);
    //document.body.insertAdjacentElement("beforeend", img);
    img.src = x.value;
}

function oErr() {
    alert("不能加载图片！");
}

function oSize() {
    if (img.readyState != "complete") {
        return false;
    }
    //已经获取文件大小，需要加入处理
    if (Math.floor(img.fileSize / 1024 * 100) / 100 > 2000) {
        alert("图像超过2M，请重新选择小于2M的图片！");
        clearView();
    }
}

//清除原来图片内容
function clearView(p1, p2, p3) {
    var x = document.getElementById(p1);
    var y = document.getElementById(p2);
    var z = document.getElementById(p3);
    x.outerHTML = x.outerHTML;
    z.style.display = "none";
}