/**
 * 用于清空form表单
 * @param form
 */
function resetForm(form) {
    document.getElementById(form).reset();
}

/**
 * 用于清空form表单
 * @param form
 * @param hiddenArr 隐藏域id
 */
function resetForm(form, hiddenArr) {
    document.getElementById(form).reset();
    // 清空隐藏域
    if (hiddenArr != null && hiddenArr.length > 0) {
        for (var i = 0; i < hiddenArr.length; i++) {
            $('#' + hiddenArr[i]).val('');
        }
    }
}

//返回上一页
function goBack() {
    window.history.back(-1);
   // window.location.reload();
}

/**
 * 信息框弹出
 * @param type 具体配置参考 http://www.layui.com/doc/modules/layer.html#offset
 * @param content 信息内容
 * @param btn 按钮文本
 */
function openInfo_layui(type, content, btn) {
    layui.use('layer', function () {
        var layer = layui.layer;
        layer.open({
            type: 0
            , offset: type //具体配置参考：http://www.layui.com/doc/modules/layer.html#offset
            , id: 'layerDemo' + type //防止重复弹出
            , content: content
            , btn: btn
            , btnAlign: 'c' //按钮居中
            , shade: 0 //不显示遮罩
            , yes: function () {
                layer.closeAll();
            }
        });

    });
}

/**
 * 非负浮点数：正浮点数，0
 * len 整数长度
 * point 小数位
 * positive 是否必须为正数
 */
function isNegFloatPointNumber1(value,len,point,positive){  
    if (isNaN(value)) {
    	return "请输入数字！";
    }
    var v = value*1;
    if(v<0 && positive){
    	return "请输入大于0的数字！";
    }
    if(value.toString().split(".").length==1){
    	if(value.toString().length>len){
    		return "输入的数字太大！";
    	}
    }else if(value.toString().split(".").length==2){
    	if(value.toString().split(".")[0].length>len){
    		return "输入的数字太大！";
    	
    	}
    	if(value.toString().split(".")[1].length>point){
    		return "最多允许"+point+"位小数！";
    	}
    }else{
    	return "请输入数字！";
    }
    
    return "0";
}


/**
 * 0-100
 */
function isHundredNumber1(value) {
    var reg = new RegExp("^\\d+(\\.\\d+)?$");
    if (!reg.test(value)) {
            return "请输入数字！";
     
    }
    var v=value*1;
    if(v<0||v>100){
          return "请输入0-100的数字！";
    }
    
    return "0";
}
/**
 * 0-100  大于0
 */
function isHundredNumber10(value) {
    var reg = new RegExp("^\\d+(\\.\\d+)?$");
    if (!reg.test(value)) {
        return "请输入数字！";

    }
    var v=value*1;
    if(v<=0||v>100){
        return "请输入0-100的数字！";
    }

    return "0";
}
function isHundredNumber2(value) {
    var reg = new RegExp("^\\d+(\\.\\d+)?$");
    if (!reg.test(value)) {
            return "请输入数字！";
     
    }
    var v=value*1;
    if(v<0||v>200){
          return "请输入0-200的数字！";
    }
    
    return "0";
}
function isHundredNumber3(value) {
    var reg = new RegExp("^\\d+(\\.\\d+)?$");
    var reg1 = new RegExp("^-\\d+(\\.\\d+)?$");
    if (!reg.test(value) && !reg1.test(value)) {
        return "请输入数字！";

    }
    var v=value*1;
    if(v<-20||v>20){
        return "请输入-20到20的数字！";
    }

    return "0";
}
function isHundredNumber4(value) {
    var reg = new RegExp("^\\d+(\\.\\d+)?$");
    if (!reg.test(value)) {
        return "请输入数字！";

    }
    var v=value*1;
    if(v<0||v>150){
        return "请输入0-150的数字！";
    }

    return "0";
}
function isHundredNumber9(value) {
    var reg = new RegExp("^\\d+(\\.\\d+)?$");
    if (!reg.test(value)) {
        return "请输入数字！";

    }
    var v=value*1;
    if(v<0){
        return "请输入大于0的数字！";
    }

    return "0";
}

/**
 * 非负浮点数：正浮点数，0
 * len 整数长度
 * point 小数位
 * positive 是否必须为正数
 */
function isNegFloatPointNumber(value,obj,len,point,data,field,positive) {
    
    if (isNaN(value)) {
        layer.msg('请输入数字！',{time: 1000}); 
        obj[0].value = obj.prev().text();
        data[field] = obj.prev().text();
        return obj.prev().text();
    }
    var v = value*1;
    if(v<0 && positive){
    	 layer.msg('请输入大于0的数字！',{time: 1000});
    	 obj[0].value = obj.prev().text();
    	   data[field] = obj.prev().text();
    	   return obj.prev().text();
    }

    if(value.toString().split(".").length==1){
    	if(value.toString().length>len){
    		layer.msg('输入的数字太大！',{time: 1000});
       	 	obj[0].value = obj.prev().text();
       	   data[field] = obj.prev().text();
       	 return obj.prev().text();
    	}
    }else if(value.toString().split(".").length==2){
    	if(value.toString().split(".")[0].length>len){
    		layer.msg('输入的数字太大！',{time: 1000});
       	 	obj[0].value = obj.prev().text();
       	   data[field] = obj.prev().text();
       	 return obj.prev().text();
    	}
    	if(value.toString().split(".")[1].length>point){
    		layer.msg('最多允许'+point+'位小数！',{time: 1000});
       	 	obj[0].value = obj.prev().text();
       	   data[field] = obj.prev().text();
       	 return obj.prev().text();
    	}
    }else{
    	layer.msg('请输入数字！',{time: 1000});
        obj[0].value = obj.prev().text()
        data[field] = obj.prev().text();
        return obj.prev().text();
    }
   return value;

}
function isNegFloatPointNumber3(value,obj,data,field,max,min,point) {
    var error = true;
    if (isNaN(value)) {
        layer.msg('请输入数字！',{time: 1000}); 
    }else{
    	 var v = value*1;
	    if(v< min){
	    	 layer.msg('该项最小为'+min+'分！',{time: 1000});
	    }else if(v>max){
	    	 layer.msg('该项最大为'+max+'分！',{time: 1000});
	    }else if(value.toString().split(".").length==2&&value.toString().split(".")[1].length>point){
	    		layer.msg('最多允许'+point+'位小数！',{time: 1000});
	    }else{
	    	error = false;
	    }
    }
    if(error){
   	 obj[0].value = obj.prev().text()
        data[field] = obj.prev().text();
        return obj.prev().text();
   }else{
   	return value;
   }
}
function isNegFloatPointNumber4(value,obj,max,min,point) {
    var error = true;
    if (isNaN(value)) {
        layer.msg('请输入数字！',{time: 1000}); 
    }else{
    	 var v = value*1;
	    if(v< min){
	    	 layer.msg('该项最小为'+min+'分！',{time: 1000});
	    }else if(v>max){
	    	 layer.msg('该项最大为'+max+'分！',{time: 1000});
	    }else if(value.toString().split(".").length==2&&value.toString().split(".")[1].length>point){
	    		layer.msg('最多允许'+point+'位小数！',{time: 1000});
	    }else{
	    	error = false;
	    }
    }
    if(error){
   	    $(obj).val('');
        return '';
   }else{
   	return value;
   }
}
function isNegFloatPointNumber5(value,max,min,point) {
    if(value == '')return "0";
    if (isNaN(value)) {
        return '请输入数字！';
    }else{
        var v = value*1;
        if(v< min){
            return'该项最小为'+min+'分！';
        }else if(v>max){
            return'该项最大为'+max+'分！';
        }else if(value.toString().split(".").length==2&&value.toString().split(".")[1].length>point){
            return'最多允许'+point+'位小数！';
        }else{
            return "0";
        }
    }
}
/**
 * 0-100
 */
function isHundredNumber(value,obj,data,field) {
    var reg = new RegExp("^\\d+(\\.\\d+)?$");
    var oldStyle = false;
    if(obj.parent().hasClass("dirtyData")||obj.parent().attr("style")){
    	oldStyle = true;
    }
    if (!reg.test(value)) {
       
        layer.msg('请输入0-100的数字！',{time: 1000});
        data[field] = obj.prev().text();
        obj[0].value = obj.prev().text();
        if(oldStyle){
        	obj.parent().addClass("dirtyData");
        }
        return obj.prev().text();
       
    }
    var v=value*1;
    if(v<0||v>100){
    	  layer.msg('请输入0-100的数字！',{time: 1000});
    	  data[field] = obj.prev().text();
          obj[0].value = obj.prev().text();
          value = obj.prev().text();
          if(oldStyle){
          	obj.parent().addClass("dirtyData");
          }
          return obj.prev().text();
    }
    obj.parent().removeAttr("style");
    obj.parent().removeClass("dirtyData");
    return value;
}
function textChange2(ta){
    if( $(ta).val().trim()==""){
        $(ta).addClass("redData");
    }else{
     $(ta).removeClass("redData");
    }
}
 function textChange3(ta){
     $(ta).parent().removeClass("redData");
   
}
/**
 * 得到一个表单里的全部信息
 * @param frmID
 * @returns {string}
 */
function getFormAllString(frmID) {
    var frmID = document.getElementById(frmID);
    var i, queryString = "", and = "";
    var item; // for each form's object
    var itemValue;// store each form object's value
    var length = frmID.length;
    for (i = 0; i < length; i++) {
        item = frmID[i];// get form's each object
        if (item.name != '') {
            if (item.type == 'select-one') {
                itemValue = item.options[item.selectedIndex].value;
            }
            else if (item.type == 'checkbox' || item.type == 'radio') {
                if (item.checked == false) {
                    continue;
                }
                itemValue = item.value;
            }
            else if (item.type == 'button' || item.type == 'submit' || item.type == 'reset' || item.type == 'image') {
                continue;
            }
            else {
                itemValue = item.value;
            }
            itemValue = encodeURIComponent(itemValue);
            queryString += and + item.name + '=' + itemValue;
            and = "&";
        }
    }
    return queryString;
}

/**
 * 文本框根据输入内容自适应高度
 * {HTMLElement}   输入框元素
 * {Number}        设置光标与输入框保持的距离(默认0)
 * {Number}        设置最大高度(可选)
 */
var autoTextarea = function (elem, extra, maxHeight) {
    extra = extra || 0;
    var isFirefox = !!document.getBoxObjectFor || 'mozInnerScreenX' in window,
    isOpera = !!window.opera && !!window.opera.toString().indexOf('Opera'),
        addEvent = function (type, callback) {
            elem.addEventListener ?
                elem.addEventListener(type, callback, false) :
                elem.attachEvent('on' + type, callback);
        },
        getStyle = elem.currentStyle ? 
        function (name) {
            var val = elem.currentStyle[name];
            if (name === 'height' && val.search(/px/i) !== 1) {
                var rect = elem.getBoundingClientRect();
                return rect.bottom - rect.top -
                       parseFloat(getStyle('paddingTop')) -
                       parseFloat(getStyle('paddingBottom')) + 'px';       
            };
            return val;
        } : function (name) {
            return getComputedStyle(elem, null)[name];
        },
    minHeight = parseFloat(getStyle('height'));
    elem.style.resize = 'both';//如果不希望使用者可以自由的伸展textarea的高宽可以设置其他值

    var change = function () {
        var scrollTop, height,
            padding = 0,
            style = elem.style;

        if (elem._length === elem.value.length) return;
        elem._length = elem.value.length;

        if (!isFirefox && !isOpera) {
            padding = parseInt(getStyle('paddingTop')) + parseInt(getStyle('paddingBottom'));
        };
        scrollTop = document.body.scrollTop || document.documentElement.scrollTop;

        elem.style.height = minHeight + 'px';
        if (elem.scrollHeight > minHeight) {
            if (maxHeight && elem.scrollHeight > maxHeight) {
                height = maxHeight - padding;
                style.overflowY = 'auto';
            } else {
                height = elem.scrollHeight - padding;
                style.overflowY = 'hidden';
            };
            style.height = height + extra + 'px';
            scrollTop += parseInt(style.height) - elem.currHeight;
            document.body.scrollTop = scrollTop;
            document.documentElement.scrollTop = scrollTop;
            elem.currHeight = parseInt(style.height);
        };
    };

    addEvent('propertychange', change);
    addEvent('input', change);
    addEvent('focus', change);
    change();
};