/*
 * 判断是否只是26个字母。
 */
function isOnlyAZ(value) {
    var reg = new RegExp("^[a-zA-Z]+$");
    return reg.test(value);
}

// 检查是否为中文或英文
function isChEs(str){
　　　 var reges = new RegExp("^[a-zA-Z\u4e00-\u9fa5]+$");
      return reges.test(str);
}

/*
 * 判断是否为整数，包括负整数。不能识别“+”号
 */
function isInteger(value) {
    var reg = new RegExp("^-?\\d+$");
    return reg.test(value);
}
/*
 * 是否是合法身份证。
 */
function isID(value){
	var reg = /(^\d{15}$)|(^\d{17}(\d|x|X)$)/;
	return  reg.test(value);
}
/**
 * 浦发信用卡验证规则
 * @param v
 * @return
 */
function isSPDBCard(v){	
	var reg = /^(356851)|(356850)|(356852)|(404738)|(498451)|(404739)|(456418)|(418152)|(525998)|(517650)|(515672)|(622277)|(622176)|(622177)|(628222)|(622276)(\d*)$/
		return reg.test(v);
	}

/*
 * 验证是否是信用卡
 */
function isCreditCard(value) {
    if (/[^0-9-]+/.test(value))return false;
    if(value.length!=13&&value.length!=16)return false;
    var nCheck = 0,nDigit = 0,bEven = false;
    value = value.replace(/\D/g, "");
    for (n = value.length - 1; n >= 0; n--) {
        var cDigit = value.charAt(n);
        var nDigit = parseInt(cDigit, 10);
        if (bEven) {
            if ((nDigit *= 2) > 9)nDigit -= 9;
        }
        nCheck += nDigit;
        bEven = !bEven;
    }
    return(nCheck % 10) == 0;
}




/*
 判断是否为正整数，不能识别“+”号
 */
function isPlusInteger(value) {
    var newPar = /^\d+$/;

    if (!newPar.test(value))
    {
        return false;
    }
    else
        return true;
}


/**
 *判断是否浮点数。不能识别“+”号
 */
function isFloat(value) {
    var reg = new RegExp("^-?(([1-9]\\d*)|0)\\.\\d+$");
    return reg.test(value);
}


/*
 *判断是否为数字，能识别“+”号
 */
function isNumber(value)
{
    var regex = /^[+|-]?\d*\.?\d*$/;
    if (!regex.test(value))
    {
        return false;
    }
    else
        return true;
}


/*
 *判断是否为正数，不能识别“+”号
 */
function isPlusNumber(value)
{                    //[+]?
    var regex = /^\d*\.?\d*$/;
    if (!regex.test(value))
    {
        return false;
    }
    else
        return true;
}

/*
 *去掉空格。
 */
function trim(value)
{   // ???????????  
    // ???????? 

    return value.replace(/(^\s*)|(\s*$)/g, "");
}

/**
 *是否为大写字母
 */
function isUpperCase(value) {
    var reg = new RegExp("^[A-Z]+$");
    return reg.test(value);
}

/**
 * 是否为email格式
 */
function isMail(value) {
	var mailreg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
    //var reg = new RegExp("^[a-zA-Z\\d][\\w\\-_\\.]*@[\\w\\-]+(\\.[a-zA-Z0-9_-]+){0,9}$");
    return mailreg.test(value);
}

/**
 * 是否为email格式，该方法同isMail
 */
function isEMail(value) {
    return isMail(value);
}

/**
 * 是否为传真格式
 */
function isFax(value) {
    var reg = new RegExp("^\\d{3,4}\\d{5,10}$");
    return reg.test(value);
}

/*
 * 是否含有特殊字符
 */
function isHaveSymbol(value) {
    var reg = new RegExp("<|>|\\&|\\?|\\*|\\^|%|\"");
    return reg.test(value);
}

/*
 *检查一个form中的所有元素是否含有特殊字符
 *formobj  html中的form标签对象
 */
function haveNoCharacter(formobj) {
    var efs = formobj.elements;
    for (var i = 0; i < efs.length; i++) {
        if (isHaveSymbol(efs[i].value))
            return efs[i];
    }
    return null;
}




/**
 日期比较。
 value1>value2 返回1 否则返回 -1
 相等返回0
 */
function dateCompare(value1, value2) {
    var date1 = new Date();
    var date2 = new Date();

    if (typeof value1 == "string") {
        var date1 = value1.split("-");
        if (date1.length == 3) {
            date1 = new Date(date1[0], date1[1]-1, date1[2], 0, 0, 0);
        } else {
            date1 = new Date(date1[0], date1[1]-1, date1[2], date1[3], date1[4], date1[5]);
        }
    } else {
        date1 = value1;
    }

    if (typeof value2 == "string") {
        var date2 = value2.split("-");
        if (date2.length == 3) {
            date2 = new Date(date2[0], date2[1]-1, date2[2], 0, 0, 0);
        } else {
            date2 = new Date(date2[0], date2[1]-1, date2[2], date2[3], date2[4], date2[5]);
        }
    } else {
        date2 = value2;
    }
    if (date1.getTime() == date2.getTime()) return 0;
    if (date1.getTime() > date2.getTime()) return 1;
    if (date1.getTime() < date2.getTime()) return -1;
}

/** 日期比较结果。
 *  求value1和value2之间的天数间隔。
 *  如果value1小于value2将返回负数
 */
function dateCompareResult(value1, value2) {
    var date1;
    var date2;
    if (typeof value1 == "string") {
        date1 = value1.split("-");
    }

    if (typeof value2 == "string") {
        date2 = value2.split("-");
    }

    var yearDay = (date1[0] - date2[0]) * 12 * 30;
    var monthDay = (date1[1] - date2[1]) * 30;
    var day = date1[2] - date2[2];

    return (yearDay + monthDay + day);
}


function setSelectMenu(rootpath) {

    //document.write("<link href=\""+rootpath+"/css/1link.css\" type=\"text/css\" rel=\"Stylesheet\" />");
    var hrefs = [
        "head",
        "propDeploy",
        "Room",
        "availdefault",
        "availpromotion",
        "order",
        "notebook",
        "onepush",
        "loginout"
    ];


    //*.htm为文件路径
    var href = location.href.toLowerCase();
    var obj = null;
    for (var i = 0; i < hrefs.length; i++)
    {
        if (href.indexOf(hrefs[i].toLowerCase()) > -1)
        {
            obj = document.getElementById("menu" + (i + 1));
            break;
        }
    }
    if (obj == null) return;
    obj.style.backgroundImage = "url(" + rootpath + "/images/mouse_on.jpg)";
    obj.style.color = "#2E6292";
    obj.setAttribute("href", "#");
}

function setNoSelectMenu(element, rootpath) {
    element.setAttribute("background", rootpath + "/images/mouse_up.jpg");
}

/*
 *判断是否为url
 */
function isUrl(url) {
    var reg = new RegExp("^(https?://)?(www\\.)?\\w+(\\.\\w{1,5}){1,5}(/\\w+/?)*(/\\w+\\.\\w+)*$");
    return reg.test(url);
}


/**
 * isAll: ????????????????????????
 */
function selectObj(srcObj, targetObj, isAll) {
    var id;
    var name;

    var message = "";

    var needRemove = true;
    for (var i = targetObj.length - 1; i >= 0; i -= 1) {
        if (isAll || targetObj.options[i].selected == true) {
            id = targetObj.options[i].value;
            name = targetObj.options[i].text;
            needRemove = true;

            //??????????????????
            for (j = srcObj.length - 1; j >= 0; j -= 1) {
                if (id == srcObj.options[j].value) {
                    needRemove = false;
                    message += id + " ";
                    break;
                }
            }

            if (needRemove) {
                targetObj.options[i] = null;
                srcObj.options[srcObj.length] = new Option(name, id);
            }
        }
    }

    if (message.length > 0)
        alert(message + " was already selected");
}


function initSelectObj(srcObj, targetObj) {
    var id;
    for (var i = targetObj.length - 1; i >= 0; i -= 1) {
        id = targetObj.options[i].value;
        //??????????????????,???????????????
        for (j = srcObj.length - 1; j >= 0; j -= 1) {
            if (id == srcObj.options[j].value) {
                targetObj.options[i] = null;
                break;
            }
        }
    }
}

/*
 将当前日期以yyyy-dd-mm的格式设置到指定的元素中
 */
function setElementCurrentDate(element) {
    if (element.value == null || element.value.length < 1) {
        var d = new Date();
        var year = d.getFullYear();
        var month = new Number(d.getMonth()) + 1;
        var day = d.getDate();
        var date = year + "-" + month + "-" + day;
        element.value = year + "-" + month + "-" + day;
    }
}

function showmenu(tid) {
    var obj = document.getElementById("t" + tid);
    var imgObj = document.getElementById("img" + tid);
    if (obj.style.display == "none") {
        obj.style.display = "block";
        imgObj.src = "../../pic/jian.gif";
        for (var i = 0; i < tarray.length; i++) {
            try {
                if (tarray[i] != tid) {
                    var obj1 = document.getElementById("t" + tarray[i]);
                    var imgObj1 = document.getElementById("img" + tarray[i]);
                    if (obj1.style.display == "block") {
                        obj1.style.display = "none";
                        imgObj1.src = "../../pic/jia.gif";
                    }
                }
            } catch(e) {
            }
        }
    }
    else {
        obj.style.display = "none";
        imgObj.src = "../../pic/jia.gif";
    }
}


function isTel(s)
{
    //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
    var patrn = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (!patrn.exec(s))
        return false
    else
        return true
}

//??IP
function isIP(s)
{
    var patrn = /^[0-9.]{1,20}$/;
    if (!patrn.exec(s)) return false
    return true
}


function over(tid)
{
    tid.style.backgroundColor = "#EDF0FA";
}

function out(tid)
{
    tid.style.backgroundColor = "#ffffff";
}

//据元素的id值获得该元素
function getObj(strid) {
    return document.getElementById(strid);
}


//分页的选择框处理
function fogPageChange(fileName, totalNum, obj) {
    pagechange(fileName, obj.value, totalNum);
}

/*
 * 邮政编码判断
 * 返回：true-邮政编码正确 false-邮政编码错误
 */
function isPostcode(value) {
    var pattern = /^[0-9]{6}$/;

    return  pattern.test(value);

}


/*
 用途：检查输入字符串是否为空或者全部都是空格
 输入量是一个字符串：str
 返回：如果输入量全是空返回true,否则返回false
 */
function isStrNull(str) {
    if (str == "") return true;

    var regu = /^[ ]+$/;
    var re = new RegExp(regu);

    return re.test(str);
}


/*
 * 给Array对象添加Remove方法
 */
function RemoveArray(array, attachId) {
    for (var i = 0,n = 0; i < array.length; i++)
    {
        if (array[i] != attachId)
        {
            array[n++] = array[i]
        }
    }
    array.length -= 1;
}

Array.prototype.remove = function (obj) {
    return RemoveArray(this, obj);
};


/*
 * 给Array对象添加Add方法 添加的对象在数组里是唯一的
 */
function AddArray(array, attachId) {
    var flag = true;

    for (var i = 0; i < array.length; i++)
    {
        if (array[i] == attachId)
        {
            flag = false;
            break;
        }
    }

    if (flag) {
        array[array.length] = attachId;
    }

}

Array.prototype.add = function (obj) {
    return AddArray(this, obj);
};


/*
 * 身份证验证，支持身份证为15位或18位的验证
 */
function isIdCardNo(num) {

    if (isNaN(num)) {
        alert("输入的不是数字！");
        return false;
    }
    var len = num.length, re;
    if (len == 15)
        re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
    else if (len == 18)
        re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
    else {
        alert("输入的数字位数不对！");
        return false;
    }

    var a = num.match(re);
    if (a != null)
    {
        if (len == 15)
        {
            var D = new Date("19" + a[3] + "/" + a[4] + "/" + a[5]);
            var B = D.getYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
        }
        else
        {
            var D = new Date(a[3] + "/" + a[4] + "/" + a[5]);
            var B = D.getFullYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
        }
        if (!B) {
            alert("输入的身份证号 " + a[0] + " 里出生日期不对！");
            return false;
        }
    }

    return true;

}


function pagechange(filename, page, total) {
    showLoading();

    var str = filename.split('?');
    var url = str[0];
    var par = str[1];
    var parall = {};
    var pars = str[1].split('&');
    for (var i = 0; i < pars.length; i++) {
        if (pars[i] != '') {
            var parname = pars[i].split('=')[0];
            var parvalue = pars[i].split('=')[1];
            parall[parname] = parvalue;
        }
    }

    parall["page"] = page;
    parall["t"] = total;

    jQuery.post(
            url,
            parall,
            function(data) {
                jQuery("#expotdia_right").html(data);
            }
            );
}

/**
 * 验证手机号码
 * return false-对不起，您输入的手即号码错误。 true-手机号码正确
 */
function isMobile(s) {
    var m = trim(s);
    if (m.length != 11 || !isNumber(m) || (m > 16000000000 && m < 18000000000) || m < 13000000000 || (m > 14000000000 && m < 15000000000)) {
        return false;
    }
    return true;
    var reg0 = /^13\d{5,9}$/;   //130--139。至少7位
    var reg1 = /^15\d{5,9}$/;  //150--159。至少7位
    var reg1 = /^153\d{4,8}$/;  //联通153。至少7位
    var reg2 = /^158\d{4,8}$/;  //移动158。至少7位
    var reg3 = /^159\d{4,8}$/;  //移动159。至少7位
    var reg4 = /^189\d{4,8}$/;  //电信189。至少7位
    var reg5 = /^188\d{4,8}$/;  //电信188。至少7位
    var my = false;
    if (reg0.test(m)) my = true;
    if (reg1.test(m)) my = true;
    if (reg2.test(m)) my = true;
    if (reg3.test(m)) my = true;
    if (reg4.test(m)) my = true;
    if (reg5.test(m)) my = true;
    return my;
}


/**
 * 将字符串数字转换为Int型
 */
function strToInt(str) {
    if (str == 'undefined')
        return 0;

    if (trim(str) == '')
        return 0;

    return parseInt(str, 10);
}


/**
 * 初始化成员的总结分
 */
function initMemberCreditInfo(path) {
    jQuery.post(
            path + '/sumcreditamountbymemberid.action',
            function(data) {
                jQuery("#member_hyxx").html(data);
            }
            );


}


/**
 * 初始化成员的总结分GIFT界面
 */
function initMemberCreditInfogift(path) {
    jQuery.post(
            path + '/getcreditbymemberid.action',
            function(data) {
                jQuery("#member_hyxx_gift").html(data);
            }
            );


}

/**
 * 判断字符长度的方法
 */
function getlengthB(str) {
    return str.replace(/[^\x00-\xff]/g, "**").length;
}


/**
 *  计算两个日期的间隔天数
 */
function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2008-11-18格式
    var aDate, oDate1, oDate2, iDays ;
    aDate = sDate1.split("-");

    oDate1 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0]); //转换为11/18/2008格式
    aDate = sDate2.split("-");


    oDate2 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0]);
    iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数
    return iDays;
}

//判断银行卡号是否正确
function validateCreditCard(s) {

    var v = "0123456789";
    var w = "";
    for (var i = 0; i < s.length; i++) {
        x = s.charAt(i);
        if (v.indexOf(x, 0) != -1)
            w += x;
    }
    var j = w.length / 2;
    if (j < 6.5 || j > 8 || j == 7) return false;
    var k = Math.floor(j);
    var m = Math.ceil(j) - k;
    var c = 0;
    for (var i = 0; i < k; i++) {
        a = w.charAt(i * 2 + m) * 2;
        c += a > 9 ? Math.floor(a / 10 + a % 10) : a;
    }
    for (var i = 0; i < k + m; i++) c += w.charAt(i * 2 + 1 - m) * 1;
    return (c % 10 == 0);
}

//判断兴业银行卡号是否正确
function validateCIBCreditCard(s) {
    var validate = false;
    var v = "0123456789";
    var w = "";
    for (var i = 0; i < s.length; i++) {
        x = s.charAt(i);
        if (v.indexOf(x, 0) != -1)
            w += x;
    }
    var j = w.length / 2;
    if (j < 6.5 || j > 8 || j == 7) return false;
    var k = Math.floor(j);
    var m = Math.ceil(j) - k;
    var c = 0;
    for (var i = 0; i < k; i++) {
        a = w.charAt(i * 2 + m) * 2;
        c += a > 9 ? Math.floor(a / 10 + a % 10) : a;
    }
    for (var i = 0; i < k + m; i++) c += w.charAt(i * 2 + 1 - m) * 1;
    validatecomm = c % 10 == 0;
    
    if(validatecomm){
        if(s.length==16){
            var str = s.substring(0,6);
            if(str == "451289" || str == "451290" || str == "523036" || str == "524070" 
                || str == "527414" || str == "622901" || str == "622902" || str == "486861" 
                || str == "628212" || str == "461982" || str == "528057" || str == "622922" 
                || str == "486493" || str == "486494"){
                validatecomm = true;
            }else{
               validatecomm = false;
            }
        }else{
            validatecomm = false;
        }
    }
    return validatecomm;
    
}


var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} 
function isMemberCardNo(sId){
		var iSum=0
		var info=""
		if(!/^\d{17}(\d|x)$/i.test(sId))return false;
		sId=sId.replace(/x$/i,"a");
		if(aCity[parseInt(sId.substr(0,2))]==null)return false;
		sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
		var d=new Date(sBirthday.replace(/-/g,"/"))
		if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return false;
		for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
		if(iSum%11!=1)return false;
		return true;
		
}
/*
身份证验证，根据身份证规则进行验证,15位身份证，18位（包括17位+X）
*/
function checkIdcard(idcard){  
  //var Errors=new Array("验证通过!","身份证号码位数不对!","身份证号码出生日期超出范围或含有非法字符!","身份证号码校验错误!","身份证地区非法!");   
  var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}   
  var idcard,Y,JYM;   
  var S,M;   
  var idcard_array = new Array();   
  idcard_array = idcard.split("");   
  if(area[parseInt(idcard.substr(0,2))]==null) return false;   
  switch(idcard.length){   
    case 15:   
      if ((parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){   
        ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性   
      }   
      else{   
        ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性   
      }   
      if(ereg.test(idcard))   
        return true;   
      else   
        return false;   
    break;   
  case 18:   
    if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){   
      ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式   
    }   
    else{   
    ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式   
    }   
    if(ereg.test(idcard)){   
      S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 + parseInt(idcard_array[7]) * 1 + parseInt(idcard_array[8]) * 6 + parseInt(idcard_array[9]) * 3 ;   
      Y = S % 11;   
      M = "F";   
      JYM = "10X98765432";   
      M = JYM.substr(Y,1);      
      if(M == idcard_array[17].toUpperCase())   
        return true;   
      else   
        return false;   
    }   
    else   
      return false;   
    break;   
  default:   
    return false;   
    break;   
  }   
}   