//检验只能是数字或者英文   
function isEnAndNum(data)
{   
	var reg=/^[a-z0-9.]*$/gi   
	return reg.test(data);
}
//一般性限制
function isIncSym(data)
{ 
	var valid=/[\<\>\^\=\!\&\|\{\}\~\`\#]+/; 
	return (valid.test(data));
}
//判断form中的字符是否合法
function isIncSymForm(form)
{
	var value
	for (var i=0;i<form.elements.length;i++)
	{
		if (form.elements[i].type=="hidden")continue;
		value = "";
		try
		{
		 	value = form.elements[i].value;
		}catch(e)
		{
		}
		
		if (typeof(value)!="undefined"&&value.length>0)
		{
			if (isIncSym(value))
			{
				alert("表单中["+form.elements[i].alt+"]包含非法字符，请删除特殊字符后，重新提交");
				return false;
			}
		}
	}
	
	return true;
}
//高级别限制
function isIncSym00(data)
{ 
	var valid=/[\'\"\,\<\>\+\*\%\^\=\!\&\|\{\}\:\;\~\`\#]+/; 
	return (valid.test(data));
} 
function isIncSymForm00(form)
{
	var value
	for (var i=0;i<form.elements.length;i++)
	{
		value = "";
		if (form.elements[i].type=="hidden")continue;
		try
		{
		 	value = form.elements[i].value;
		}catch(e)
		{
		}

		if (typeof(value)!="undefined"&&value.length>0)
		{
			if (isIncSym00(value))
			{
				alert("表单["+form.elements[i].alt+"]中包含非法字符，请删除特殊字符后，重新提交");
				return false;
			}
		}
	}
	
	return true;
}
//判断给定的字符串是否包含双字节字符
function isHaveChinese(str)
{
	for(var i=0;i<str.length;i++)   
	{
		if (str.charAt(i)<0)
		{
			return false;
		}
	}	
	
	return true;
}
//验证长度合法性
function checklength(str,len){
	var c = $(str).value.match(/[^ -~]/g);
	var slen=$(str).value.length + (c ? c.length : 0);
	if(slen>len){
		alert($(str).alt+"输入内容长度超过规定的长度"+len);
		return false;
	}
	return true;
}
//整形数校验
function checkInt(sl){
	var re = new RegExp("^-?\\d+$");
	if (!re.test(sl)){
		return false;
	}
	return true;
}
//验证小数位合法性 小数位 小于 len 返回 true
function checkDecimal(val, len) {
	var temp = val.split(".");
	if (temp.length > 2) {
		return false;
	}
	if (temp.length == 2 && temp[1].length > len) {
		return false;
	}
	return true;
}
//验证数字合法性 type  float,  int
function checkNumber(object, len, type) {
	var val = object.value;
	if (val.length == 0) {
		alert("请输入" + object.alt);
		return false;		
	} else if (isNaN(val)) {
		alert(object.alt + "请输入数字");
		return false;
	} else if ((type == "float" && parseFloat(val) < 0) || (type == "int" && checkInt(val) && val < 0)) {
		alert(object.alt + "必须大于0");
		return false;
	} else if (type != "int" && !checkDecimal(val, len)) {
		alert(object.alt + "有效小数为" + len + "位,请重新输入");
		return false;
	}
	return true;
}

 //检查浮点型数字合法性  是 - true 否 - false
 function Fchk_number(val, len) {
 	var b = /^(([1-9]+[0-9]*.{1}[0-9]+)|([0].{1}[1-9]+[0-9]*)|([1-9][0-9]*)|([0][.][0-9]+[1-9]*))$/.test(val);
 	if(b) {
 		b = checkDecimal(val, len);
 	}
	return b;
 }

//检查整型数字合法性	是 - true 否 - false
function Ichk_number(val) {
	return /^[1-9]{1}[\d]*$/.test(val);
}
//电话号码验证
function tel_number(val){
	return /^(\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$/.test(val);	
}
//只验证手机号码
function mobilePhone(val){
	return /^(13[0-9]|15[0|3|6|7|8|9]|18[6|8|9])\d{8}$/.test(val);
}
//将按钮变为不可用
function on_disabled(){
	var btn_save = document.getElementsByName("button_name");
	for(var i=0; i<btn_save.length; i++){
		btn_save[i].disabled = true;
	}
}

//将按钮变为可用
function on_enabled(){
	var btn_save = document.getElementsByName("button_name");
	for(var i=0; i<btn_save.length; i++){
		btn_save[i].disabled = false;
	}
}
/**
 * 查询指定标签下  子标签是 [classType] 且 class 中 带有[className] 的对象
 * param  labelObj  指定的标签
 * param  classType 子标签类型
 * 
 */
 function getElementByClassName(labelObj, classType, className) {
	var labelarr = labelObj.getElementsByTagName(classType);
	var arr = new Array();
	$A(labelarr).each(function(node) {
		if (node.className.indexOf(className) != -1) {
			arr.push(node);
		} 
	});
	return arr;
 }

 function RTrim(_str){
	var whitespace=new String(" \t\n\r");
	var s=new String(_str);
	if(whitespace.indexOf(s.charAt(s.length-1))!=-1){
		var i=s.length-1;
		while(i>=0&&whitespace.indexOf(s.charAt(i))!=-1){
			i--;
		}
		s=s.substring(0,i+1);
	}
	return s.toString();
 }

 function doSelectAll(str,obj){
	$A($N(str)).each(function(node){
		if(obj.checked){
			node.checked=true;
		}else{
			node.checked=false;
		}
	});
 }

 function doUnSelectAll(str){
	$A($N(str)).each(function(node){
		if(node.checked){
			node.checked=false;
		}else{
			node.checked=true;
		}
	});
 }
 function doSelectList(str) {
	var arr = new Array();
	$A($N(str)).each(function(node){
		if(node.checked){
			arr.push(node);
		}
	});
	return arr;
 }
 //浮点数加法运算
 function Add(arg1,arg2){
	var r1,r2,m;  
	try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}  
	try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}  
	m=Math.pow(10,Math.max(r1,r2))  
	return (arg1*m+arg2*m)/m  
 }  
  
 //浮点数减法运算  
 function Sub(arg1,arg2){
	 var r1,r2,m,n;  
	 try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}  
	 try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}  
	 m=Math.pow(10,Math.max(r1,r2));  
	 //动态控制精度长度  
	 n=(r1>=r2)?r1:r2;  
	 return ((arg1*m-arg2*m)/m).toFixed(n);  
 }  
   
 //浮点数乘法运算  
 function Mul(arg1,arg2) {
	var m=0,s1=arg1.toString(),s2=arg2.toString();   
	try{m+=s1.split(".")[1].length}catch(e){}
	try{m+=s2.split(".")[1].length}catch(e){}
	return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)   
 }  
 //浮点数除法运算  
 function Div(arg1,arg2) {
	var t1=0,t2=0,r1,r2;   
	try{t1=arg1.toString().split(".")[1].length}catch(e){}   
	try{t2=arg2.toString().split(".")[1].length}catch(e){}   
	with(Math){
		r1=Number(arg1.toString().replace(".",""))   
		r2=Number(arg2.toString().replace(".",""))   
		return (r1/r2)*pow(10,t2-t1);   
 	}
 }
