/*
 * 给定ID返回该ID的对象
 */
function id(id){
    return document.getElementById(id);
}


/*
 * 给定ID返回该ID对象的value
 */
function idvalue(id){
    return document.getElementById(id).value;
}

/*
 * 给定NAME返回该NAME的对象
 */
function name(name){
    return document.getElementsByName(name)[0];
}

/*
 * 给定NAME返回该NAME的对象的value
 */
function namevalue(name){
    return document.getElementsByName(name)[0].value;
}


function idname(id_name){
    var idobj = id(id_name);
    var nameobj = name(id_name);    
    if (!(idobj == null || idobj == "undefined")) {
        return idobj;
    }
    else {
        return nameobj;
    }
}

function setvalue(id_name, value){
    
	idname(id_name).value=value;
}

/*
 * 给定NAME返回该NAME的对象数组
 */
function names(name){
    return document.getElementsByName(name);
}


/*
 * 给定form / element名称，返回该element的对象　
 * 用于一个文档中有多个FORM的情况下。（name相同）
 */
function form_e(theform, theElement){
    var tempform = name(theform);
    return tempform.elements[theElement];
}

/*
 * 给定form / element名称，返回该element的对象的值
 */
function form_e_value(theform, theElement){
    var tempform = name(theform);
    return tempform.elements[theElement].value;
}



function show(id_name){	
	if(isNull(id_name)){	
		return;
	}else{
    	return idname(id_name).style.display = 'block';
    }
}

function hide(id_name){
	if(isNull(id_name)){
		return;
	}else{
    	return idname(id_name).style.display = 'none';
    }
}

function isNull(id_name){
	var obj=idname(id_name);  
    if((obj ==undefined)||(obj == "undefined") || (obj == null)){
			return true;
	}else{
		return false;
	}  
}



/*
 * 同时适用于radio/checkbox 单选/多选按钮
 */
function setChecked(radio_checkbox_Name, optionValue){
    //alert(elements.length);
    var elements = names(radio_checkbox_Name);
    for (i = 0; i < elements.length; i++) {
        //alert("&" + elements[i].value + "&" + optionValue);
        if (elements[i].value == optionValue) {
            elements[i].checked = true;
            break;
        }
    }
}

/*
 * 同时适用于radio/checkbox 单选/多选按钮 ,如果为多选框，则返回1,2,3
 */
function getChecked(radio_checkbox_Name){
    var elements = names(radio_checkbox_Name);
    var str = "";
    for (i = 0; i < elements.length; i++) {
        if (elements[i].checked) {
            if ((i + 1) == elements.length) {
                str = str + elements[i].value;
            }else {
                str = str + elements[i].value + ",";
            }
        }
    }
    return str;
}



//根据value设置select的选项
function setSelected(select_Name_id, optionValue){
    var obj = idname(select_Name_id);
    for (i = 0; i < obj.options.length; i++) {
        if (obj.options[i].value == optionValue) {
            obj.options[i].selected = true;
        }
    }
}

//根据value设置select的选项
function getSelected(select_Name_id){
    var obj = idname(select_Name_id);
    for (i = 0; i < obj.options.length; i++) {
        if (obj.options[i].selected == true) {
            return obj.options[i].value;
        }
    }
    return "";
}

/*
 * //返回指定对象的绝对位置
 * 	function showFace(obj) {
 var face = document.getElementById("face");
 face.style.display = 'block';
 face.style.left = getAbsolutePos(obj).x+50;
 face.style.top = getAbsolutePos(obj).y+1;
 }
 *
 */
function getAbsolutePos(el){
    var r = {
        x: el.offsetLeft,
        y: el.offsetTop
    };
    if (el.offsetParent) {
        var tmp = getAbsolutePos(el.offsetParent);
        r.x += tmp.x;
        r.y += tmp.y;
    }
    return r;
}


function setCookie(name, value, expires, path, domain, secure){
    var today = new Date();
    today.setTime(today.getTime());
    if (expires) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date(today.getTime() + (expires));
    document.cookie = name + '=' + escape(value) +
    ((expires) ? ';expires=' + expires_date.toGMTString() : '') + //expires.toGMTString()     
    ((path) ? ';path=' + path : '') +
    ((domain) ? ';domain=' + domain : '') +
    ((secure) ? ';secure' : '');
}


function setCookieSimp(name, value, expires){

    var path = "/";
    var domain = "";
    var secure = "";
    var today = new Date();
    today.setTime(today.getTime());
    if (expires) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date(today.getTime() + (expires));
    document.cookie = name + '=' + escape(value) +
    ((expires) ? ';expires=' + expires_date.toGMTString() : '') + //expires.toGMTString()     
    ((path) ? ';path=' + path : '') +
    ((domain) ? ';domain=' + domain : '') +
    ((secure) ? ';secure' : '');
}


function appendCookie(name, value, expires){

    var path = "/";
    var domain = "";
    var secure = "";
    var today = new Date();
    today.setTime(today.getTime());
    if (expires) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    
    var value2 = getCookie(name);    
    value = value2 + "," + value;
    
    var expires_date = new Date(today.getTime() + (expires));
    document.cookie = name + '=' + escape(value) +
    ((expires) ? ';expires=' + expires_date.toGMTString() : '') + //expires.toGMTString()     
    ((path) ? ';path=' + path : '') +
    ((domain) ? ';domain=' + domain : '') +
    ((secure) ? ';secure' : '');
}



function getCookie(name){
    var start = document.cookie.indexOf(name + "=");
    var len = start + name.length + 1;
    if ((!start) && (name != document.cookie.substring(0, name.length))) {
        return null;
    }
    if (start == -1) 
        return null;
    var end = document.cookie.indexOf(';', len);
    if (end == -1) 
        end = document.cookie.length;
    return unescape(document.cookie.substring(len, end));
}

function deleteCookie(name){
	var path = "/";
    var domain = "";
    var secure = "";	
    if (getCookie(name)) 
        document.cookie = name + '=' + ((path) ? ';path=' + path : '') + ((domain) ? ';domain=' + domain : '') + ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

//鼠标变成不可点状态
function cursorWait(){
    document.body.style.cursor = 'wait';
}

//鼠标灰复缺省状态
function cursorClear(){
    document.body.style.cursor = 'default';
}


function print(s){
    s = "" + s;
    document.write(s);
}

function println(s){
    s = "" + s;
    document.write(s + "<br>");
}




/* * **************************************************************************************************
 * 为对象加载方法
 *                                                                                                  */
//String 添加　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, "");
}
//一个汉子算两个长度
String.prototype.cnlength = function(){
    var i, sum;
    sum = 0;
    for (i = 0; i < this.length; i++) {
        sum++;
        if (this.charCodeAt(i) > 255) {
            sum++;
        }
    }
    return sum;
}


/*  
 *
 * 为对象加载方法
 *********************************************************   */
/* * **************************************************************************************************
 * 表单验证
 *                                                                                                  */
// 检测是否是纯数字

function isNum(string){
    var rulesstring = /^\d+$/;
    var rules = new RegExp(rulesstring);
    return rules.test(string);
}

//整数部分为10位,小数部分为2位
function isDouble(s){
    //pattern: 整数部分为10位,小数部分为2位
    var patrn = /^-?0?(\d{1,10})(\.\d{1,2})?$/;
    if (!patrn.exec(s)) 
        return false
    return true
}

/*
 将单精度数，四舍五入，保留mfNumber小数
 var dayNum = document.getElementById("dayNum");
 var autoSum = document.getElementById("autoSum");
 if(autoPrice.value=="" || dayNum.value==""){
 return ;
 }
 var price = Number(autoPrice.value);  单价
 var num = Number(dayNum.value);        数量
 var sum = price * num;					总价
 sum = floatRound(sum,2);				保留两位小数
 autoSum.value = ""+sum;
 */
function floatRound(myFloat, mfNumber){
    var cutNumber = Math.pow(10, mfNumber);
    var k = Math.round(myFloat * cutNumber) / cutNumber;
    return k;
}




// 检测是否是Email 
function isEmail(string){
    var rulestring = /^([\w-])+@([\w])+(\.([\w])+)+$/;
    var rules = new RegExp(rulestring);
    return rules.test(string);
}


//检查字符串是否为""或NULL
function isEmpty(str){
    var str2 = str.trim();
    if (str2 == null || str2 == "" || str2.length < 1) {
        return true;
    }
    else {
        return false;
    }
}

//中文算两个字符
function isOutOfLength(str, len){
    var strLength = 0;
    for (var i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) > 256) {
            strLength++;
        }
        strLength++;
        if (strLength > len) {
            return true;
        }
    }
    return false;
}




/*==================================================================
 isDate(string)
 功能：判断是否为正确的日期类型。必须为yyyy/MM/dd
 var birthday = document.getElementById("birthday").value;
 if (validDate(birthday) == false) {
 alert("请填入正确的日期格式yyyy/MM/dd");
 document.getElementById("birthday").focus();
 return false;
 }
 =================================================================*/
function isDate(dateStr){
    //如果为空，则通过校验
    var str = dateStr;
    if (str == "") 
        return true;
    str = replaceAll(str, "-", "/");
    var pattern = /^\d{4}\/\d{1,2}\/\d{1,2}$/;
    if (!pattern.test(str)) 
        return false;
    //alert("【" +str+"】1");	
    var arrDate = str.split("/");
    var date = new Date(arrDate[0], (parseInt(arrDate[1], 10) - 1) + "", parseInt(arrDate[2], 10) + "");
    //alert("a:【" +date.getFullYear()+"】【" + date.getMonth() + "】【" + date.getDate() + "】");
    //alert("b:【" +arrDate[0]+"】【" + parseInt(arrDate[1],10) + "】【" + parseInt(arrDate[2],10) + "】");
    if (date.getFullYear() == arrDate[0] &&
    date.getMonth() == (parseInt(arrDate[1], 10) - 1) + "" &&
    date.getDate() == parseInt(arrDate[2], 10) + "") 
        return true;
    else 
        //alert("【" +str+"】2");
        return false;
}



/*==================================================================
 isTime(string)
 功能：判断是否为正确的时间类型。必须为hh:mm:ss
 =================================================================*/
function isTime(str){
    //如果为空，则通过校验
    if (str == "") 
        return true;
    var pattern = /^\d{1,2}:\d{1,2}:\d{1,2}$/g;
    if (!pattern.test(str)) 
        return false;
    //alert("【" +str+"】1");
    
    return true;
}





//是否汉字
function isHanzi(str){
    //如果为空，则通过校验
    if (str == "" || str.length == 0) {
        return true;
    }
    //正则表达式
    var pattern = /[^\u4E00-\u9FA5]/g;
    if (pattern.test(str)) {
        return false;
    }
    return true;
}


//是否字母
function isLetter(str){
    //如果为空，则通过校验
    if (str == "" || str.length == 0) {
        return true;
    }
    //正则表达式
    var pattern = /[^a-zA-Z]/g;
    if (pattern.test(str)) {
        return false;
    }
    return true;
}

/**
 *判断是不是有效的英文字母+(空格或点）
 */
function isLetterOrSpaceDot(str){
    //如果为空，则通过校验
    if (str == "" || str.length == 0) {
        return true;
    }
    
    //正则表达式
    var pattern = /[^a-zA-Z\s\.]/g;
    if (pattern.test(str)) {
        return false;
    }
    return true;
}

/**
 * 判断是不是有效的百分比数字
 */
function isPercent(str){
    if (str == "" || str.length == 0) {
        return true;
    }
    
    var pattern = /^[1-9][0-9]*[.]?[0-9]*%$/g;
    if (!pattern.test(str)) {
        return false;
    }
    return true;
}


/*
 IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
 功能：判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
 */
function isFloat(objStr, sign, zero){
    var reg;
    var bolzero;
    
    if (Trim(objStr) == "") {
        return false;
    }
    else {
        objStr = objStr.toString();
    }
    
    if ((sign == null) || (Trim(sign) == "")) {
        sign = "+-";
    }
    
    if ((zero == null) || (Trim(zero) == "")) {
        bolzero = false;
    }
    else {
        zero = zero.toString();
        if (zero == "0") {
            bolzero = true;
        }
        else {
            alert("检查是否包含0参数，只可为(空、0)");
        }
    }
    
    switch (sign) {
        case "+-":
            //浮点数
            reg = /^((-?|\+?)\d+)(\.\d+)?$/;
            break;
        case "+":
            if (!bolzero) {
                //正浮点数
                reg = /^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else {
                //正浮点数+0
                reg = /^\+?\d+(\.\d+)?$/;
            }
            break;
        case "-":
            if (!bolzero) {
                //负浮点数
                reg = /^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else {
                //负浮点数+0
                reg = /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
            }
            break;
        default:
            alert("检查符号参数，只可为(空、+、-)");
            return false;
            break;
            
    }
    var r = objStr.match(reg);
    if (r == null) {
        return false;
    }
    else {
        return true;
    }
}

/*  
 *
 * 表单验证
 *********************************************************   */




function openBrWindowInCentre(theUrl, theName, width, height){
    var left, top;
    left = (window.screen.availWidth - width) / 2;
    top = (window.screen.availHeight - height) / 2;
    var per = 'width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + ',screenX=' + left + ',screenY=' + top;
    return window.open(theUrl, theName, per);
}




function notefirstdate(){
	var fdate=getCookie("firstdate");
	if((fdate ==undefined)||(fdate == "undefined") || (fdate == null)){
		var date2=new Date();
		var mon=date2.getMonth()+1;
		var firstdate =date2.getYear()+"-"+mon+"-"+date2.getDate()+"-"+date2.getHours()+"-"+date2.getMinutes();
		setCookieSimp("firstdate",firstdate,365);
	}
}





