﻿/* 加入收藏夹 */
function JSAddFavorite(FavName, FavUrl) {
    if (window.sidebar && "object" == typeof (window.sidebar) && "function" == typeof (window.sidebar.addPanel)) {
        //  firefox
        window.sidebar.addPanel(FavName, FavUrl, '');
    }
    else if (document.all && "object" == typeof (window.external)) {
        //  ie
        window.external.AddFavorite(FavUrl, FavName);
    }
}
/*********************************************************************************
***功能: 校验字符串是否为空
***返回值：bool
***如果不为空，定义校验通过，返回true
***如果为空，校验不通过，返回false               参考提示信息：输入域不能为空！
**********************************************************************************/
function isEmpty(str) {
    return (str.trim() == "");
}


/*********************************************************************************
*校验字符串是否为日期型
*返回值：bool
*如果为空，定义校验通过，           返回true
*如果字串为日期型，校验通过，       返回true
*如果日期不合法，                   返回false    参考提示信息：输入域的时间不合法！（yyyy-MM-dd）
********************************** date ******************************************/
function isDate(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验

    var pattern = /^((\d{4})|(\d{2}))-(\d{1,2})-(\d{1,2})$/g;
    if (!pattern.test(str))
        return false;
    var arrDate = str.split("-");
    if (parseInt(arrDate[0], 10) < 100)
        arrDate[0] = 2000 + parseInt(arrDate[0], 10) + "";
    var date = new Date(arrDate[0], (parseInt(arrDate[1], 10) - 1) + "", arrDate[2]);
    if (date.getFullYear() == arrDate[0]
       && date.getMonth() == (parseInt(arrDate[1], 10) - 1) + ""
       && date.getDate() == arrDate[2])
        return true;
    else
        return false;
}

function checkeURL(URL) {
    var str = URL;
    //在JavaScript中，正则表达式只能使用"/"开头和结束，不能使用双引号
    //判断URL地址的正则表达式为:http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
    //下面的代码中应用了转义字符"\"输出一个字符"/"
    if (str == "") {
        return true;
    }
    var Expression = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
    var objExp = new RegExp(Expression);
    if (objExp.test(str) == true) {
        return true;
    } else {
        return false;
    }
}
/*
function checkDate(str)
{
var reDataTime = /^([1-9]d...{3}-((0?[1-9])|(1[0-2]))-((0[1-9])|([1-2]?d)|(3[0-1])))?$/     //日期格式,可为空
var reTimeReg = /^[1-9][0-9]...{3}-(0?[1-9]|1[0|1|2])-(0?[1-9]|[1|2][0-9]|3[0|1])s(0?[1-9]|1[0-9]|2[0-3]):(0?[0-9]|[1|2|3|4|5][0-9]):(0?[0-9]|[1|2|3|4|5][0-9])$/;        //日期时间格式
if(str==reDataTime||str=reTimeReg)
{
return true;
}
else
return false;
}*/

/*********************************************************************************
***功能：扩展日期函数，支持YYYY-MM-DD或YYYY-MMDD hh:mm:ss字符串格式
***返回：如果正确，则返回javascript中支持UTC日期格式，如果错误，则返回false  
***日期：2004-12-15
***举例： var myDate = isDate("2004-12-21 23:01:00");   //返回正确的日期
***       var myDate = isDate("2004-12-21");            //返回正确的日期
***       var myDate = isDate("2004-23-12 12:60:29");   //返回false，
**********************************************************************************/
function isDateTime(str) {
    if (str == "") return true;

    var strDate = str;
    if (strDate.length == 0) return false;

    //先判断是否为短日期格式：YYYY-MM-DD，如果是，将其后面加上00:00:00，转换为YYYY-MM-DD hh:mm:ss格式
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})/;   //短日期格式的正则表达式
    var r = strDate.match(reg);

    if (r != null)   //说明strDate是短日期格式，改造成长日期格式
        strDate = strDate + " 00:00:00";

    reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})/;
    r = strDate.match(reg);
    if (r == null) {
        //alert("你输入的日期格式有误，正确格式为：2004-12-01 或 2004-12-01 12:23:45");
        return false;
    }

    var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]);
    if (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]) {
        return d;
    }
    else {
        //alert("你输入的日期或时间超出有效范围，请仔细检查！");
        return false;
    }
}

/*********************************************************************************
*校验输入值是否在两值之间
*返回值：bool
*如果为空，定义校验通过，           返回true
**********************************************************************************/
function isBetween(val, lo, hi) {
    if ((val < lo) || (val > hi)) { return (false); }
    else { return (true); }
}


/*********************************************************************************
*   以下均为正则表达式检验函数
*   javascript正则表达式检验

部分正则表达式参考如下:
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$　　 //匹配非负浮点数（正浮点数 + 0）
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$　　//匹配非正浮点数（负浮点数 + 0）

**********************************************************************************/

/******************************************************************************
*校验字符串是否为email型
*返回值：bool
*如果为空，定义校验通过，           返回true
*如果字串为email型，校验通过，      返回true
*如果email不合法，                  返回false    参考提示信息：Email的格式不正確！
********************************************************************************/
function isEmail(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验

    if (str.charAt(0) == "." || str.charAt(0) == "@" || str.indexOf('@', 0) == -1
        || str.indexOf('.', 0) == -1 || str.lastIndexOf("@") == str.length - 1 || str.lastIndexOf(".") == str.length - 1)
        return false;
    else
        return true;
}

//校验身份证号码;匹配形式如:15位或者18位身份证 
function isIDCardChar(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验  
    var reg = /^(\d{18}|\d{15})$/;
    //或者 var reg=/^([0-9]{18}|[0-9]{15})$/;
    return reg.test(str);
}

//匹配整数
function isInteger(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验    
    //var reg=/^(\-?)(\d+)$/;
    var reg = /^((\+|-)\d)?\d*$/;
    return reg.test(str);
}

//匹配正整数 positive
function isPosiInteger(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验  
    var reg = /^[1-9]\d*$/;
    return reg.test(str);
}

//匹配负整数 negative
function isNegaInteger(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验  
    var reg = /^-[1-9]\d*$/;
    return reg.test(str);
}

//匹配非负整数 即正整数+0
function isNotNegaInteger(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验  
    var reg = /^[1-9]\d*|0$/;
    return reg.test(str);
}

//匹配非正整数 即负整数+0
function isNotPosiInteger(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验  
    var reg = /^-[1-9]\d*|0$/;
    return reg.test(str);
}

//功能:校验字符串是否为浮点型
function isDouble(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验

    //var reg = /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/;
    var reg = /^(?:\+|-)?\d+(?:\.\d+)?$/;
    return reg.test(str);
}

//正浮点数:校验字符串是否为正浮点型
function isPosiDouble(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验
    var reg = /^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/;
    return reg.test(str);
}

//负浮点数:校验字符串是否为负浮点型
function isNegaDouble(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验
    var reg = /^^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/;
    return reg.test(str);
}
/*
//实数
function l_shisNegaDouble(str)
{
if (isEmpty(str)) return true; //如果为空，则通过校验
var reg = /^^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/;
var reg1 = /^^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/;
if( reg.test(str);)
{
return reg.test(str);
}
else
{
return reg1.test(str);
}
		        
}*/


//校验是否全由汉字组成
function isChineseChar(str) {
    if (isEmpty(str)) return true; //如果为空，则通过校验

    var reg = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi;
    return reg.test(str);
}

//校验是否为英文字符，包括大小写
function isEngCharAll(str) {
    if (isEmpty(str)) return true;
    var reg = /^[a-zA-Z]{1,20}$/;
    return reg.test(str);
}

//校验是否为英文字符，只有大写
function isEngCharUpper(str) {
    if (isEmpty(str)) return true;
    var reg = /^[A-Z]{1,20}$/;
    return reg.test(str);

}

//校验是否为英文字符，只有小写
function isEngCharLower(str) {
    if (isEmpty(str)) return true;
    var reg = /^[a-z]{1,20}$/;
    return reg.test(str);

}

//校验是否为邮政编码(中国6位数字)
function isPostCode(str) {
    if (isEmpty(str)) return true;
    var reg = /^[0-9]{6}$/;
    return reg.test(str);

}

//校验是否全由数字组成
function isDigit(str) {
    if (isEmpty(str)) return true;
    var reg = /^[0-9]{1,20}$/;
    return reg.test(str);
}

//校验是否全由数字(带小数点)组成
function isDigitDot(str) {
    if (isEmpty(str)) return true;
    var reg = /^[0-9.]{1,20}$/;
    return reg.test(str);
}

//校验登录名：只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(str) {
    if (isEmpty(str)) return true;
    var reg = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
    return reg.test(str);

}

//校验用户姓名：只能输入1-30个以字母开头的字串
function isTrueName(str) {
    if (isEmpty(str)) return true;
    var reg = /^[a-zA-Z]{1,30}$/;
    return reg.test(str);

}

//校验密码：只能输入1-20个字母、数字、下划线
function isPasswd(str) {
    if (isEmpty(str)) return true;
    var reg = /^(\w){1,20}$/;
    return reg.test(str);

}

//校验普通电话、传真号码：可以“+”开头，除数字外，可含有“-”
function isTel(str) {
    if (isEmpty(str)) return true;
    var reg = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    return reg.test(str);

}

//校验手机号码：必须以数字开头，除数字外，可含有“-”
function isMobil(str) {
    if (isEmpty(str)) return true;
    var reg = /^13[0-9]{1}[0-9]{8}$|^15[0-9]{1}[0-9]{8}$|^18[0-9]{1}[0-9]{8}$/;
    return reg.test(str);

}

//校验IP地址
function isIP(str) {
    if (isEmpty(str)) return true;
    var reg = /^((1??\d{1,2}|2[0-4]\d|25[0-5])\.){3}(1??\d{1,2}|2[0-4]\d|25[0-5])$/;
    return reg.test(str);
}

/*********************************************************************************
*    FUNCTION:        isReal
*    PARAMETER:    heStr    AS String 
decLen    AS Integer (how many digits after period)
*    RETURNS:        TRUE if theStr is a float, otherwise FALSE
*    CALLS:            isInt
**********************************************************************************/
function isReal(theStr, decLen) {
    var dot1st = theStr.indexOf('.');
    var dot2nd = theStr.lastIndexOf('.');
    var OK = true;

    if (isEmpty(theStr)) return false;

    if (dot1st == -1) {
        if (!isInt(theStr)) return (false);
        else return (true);
    }

    else if (dot1st != dot2nd) return (false);
    else if (dot1st == 0) return (false);
    else {
        var intPart = theStr.substring(0, dot1st);
        var decPart = theStr.substring(dot2nd + 1);

        if (decPart.length > decLen) return (false);
        else if (!isInt(intPart) || !isInt(decPart)) return (false);
        else if (isEmpty(decPart)) return (false);
        else return (true);
    }
}


/********************************************************************************
*   FUNCTION:       Compare Date! Which is the latest!
*   PARAMETERS:     lessDate,moreDate AS String
*   CALLS:          isDate,isBetween
*   RETURNS:        TRUE if lessDate<moreDate 
*   while return false alert errmsg
*********************************************************************************/
function isComdateMsg(lessDate1, startstr, moreDate1, endstr) {
    var re = /\./g;
    var lessDate = lessDate1.replace(re, "-");
    var moreDate = moreDate1.replace(re, "-");
    var re1 = /\\/g;
    var lessDate = lessDate.replace(re1, "-");
    var moreDate = moreDate.replace(re1, "-");
    if (!isComdate(lessDate, moreDate)) {
        var err = endstr + "必须大于";
        err = err + startstr;
        alert(err);
    }
    return isComdate(lessDate, moreDate);
}


function need_input(sForm)//通用文本域校验 
{
    for (i = 0; i < sForm.length; i++) {
        if (sForm[i].tagName.toUpperCase() == "TEXTAREA") {
            if (sForm[i].value.realLength() > sForm[i].title) {
                sWarn = "输入字符串超过最大值'" + sForm[i].title + "'";
                alert(sWarn);
                sForm[i].focus();
                return false;
            }
        }
        if (sForm[i].tagName.toUpperCase() == "INPUT" && sForm[i].type.toUpperCase() == "TEXT") {
            sForm[i].value = sForm[i].value.trim();
            if (sForm[i].value.indexOf('\'') >= 0) {
                sWarn = "不能包涵特殊字符串\"'\"!";
                alert(sWarn);
                sForm[i].focus();
                return false;
            }
            if (sForm[i].value.realLength() > sForm[i].maxLength) {
                sWarn = "输入字符串超过最大值'" + sForm[i].maxLength + "'";
                alert(sWarn);
                sForm[i].focus();
                return false;
            }
        }
        if (sForm[i].tagName.toUpperCase() == "INPUT" && sForm[i].type.toUpperCase() == "TEXT" && (sForm[i].title != ""))
            if (sForm[i].value == "")//
        {
            sWarn = sForm[i].title + "不能为空!";
            alert(sWarn);
            sForm[i].focus();
            return false;
        }
    }
    return true;
}


//is trim
String.prototype.trim = function() {
    return this.replace(/(^[\s]*)|([\s]*$)/g, "");
}
String.prototype.lTrim = function() {
    return this.replace(/(^[\s]*)/g, "");
}
String.prototype.rTrim = function() {
    return this.replace(/([\s]*$)/g, "");
}

//check length include Chinese
String.prototype.realLength = function() {
    return this.replace(/[^\x00-\xff]/g, "**").length;
}


/*************导航栏栏目高亮显示*******/

function UIindexcs() {
    document.getElementById("home_1").className = "nownav";
    var htxt = document.getElementById("htxt");
        htxt.innerHTML = "网上冲印";
 }

function sunBgli() { document.getElementById("baby_bg_1").className = "libaby_bg"; document.getElementById("baby_2bg_1").className = "libg"; }


/*************登陆边框高亮显示*******/

function setstyle_u(id) {
    var uaa = document.getElementById(id);
    uaa.style.border = "solid 1px #00FF33";
    uaa.onblur = function() { this.style.border = "solid 1px #a0a0a0"; };

}

function setstyle_u2(id) {
    var uaa = document.getElementById(id);
    var vul = document.getElementById(id).value;
    uaa.style.border = "solid 1px #00FF33";
    if (vul != "请填写你的注册邮箱名") {
        uaa.style.color = "#666666";
    } else { uaa.value = ""; }

    uaa.onblur = function() {
        this.style.border = "solid 1px #a0a0a0";
        var vul = document.getElementById(id).value;
        if (vul == "") {
            uaa.value = "请填写你的注册邮箱名";
            uaa.style.color = "#999999";
        } else { uaa.style.color = "#666666"; }

    };

}
