function trimall(data)
{
  var datastr = data;
  var leftspace = datastr.search(/\S/gi);
  if (leftspace > 0)
  {
    datastr = datastr.substr(leftspace);
  }

  leftspace = datastr.search(/\s/gi);
  var rightspace = 0;
  var endspace = 0;
  
  var leftstr = datastr;
  while (leftspace != -1) {
    rightspace = rightspace + leftspace;
    leftstr = leftstr.substr(leftspace);
    leftspace = leftstr.search(/\S/gi);
    if (leftspace != -1) {
      rightspace = rightspace + leftspace;
      leftstr = leftstr.substr(leftspace);
      leftspace = leftstr.search(/\s/gi);
      endspace = 0;
    } else {
      endspace = 1;
    }
  }

  if ((endspace != 0) && (rightspace > 0)) {
    datastr = datastr.substring(0, rightspace);
  }
  
  return datastr;
}

function checkstring(name, data, allowednull, maxlength)
{
  var datastr = data;
  var lefttrim = datastr.search(/\S/gi);
  
  if (lefttrim == -1) {
    if (allowednull) {
      return 1;
    } else {
      alert("" + name + ":Not Empty");
      return -2;
    }
  }

  if (datastr.search(/[<>]/gi) != -1) {
    alert("" + name + ":包含非法字符<>");
    return -1;
  }
  
  datastr = trimall(datastr);

  if ((maxlength >= 0) && (datastr.length > maxlength)) {
    alert("" + name + ":长度超过限制");
    return -3;
  }
  return 0;
}

function checkemail(name, data, allowednull)
{
  var datastr = data;
  var lefttrim = datastr.search(/\S/gi);
  
  if (lefttrim == -1) {
    if (allowednull) {
      return 1;
    } else {
      alert("" + name + ":输入一个正确的email，不要包含无效字符");
      return -1;
    }
  }

  datastr = trimall(datastr);

  var myRegExp = /[a-z0-9](([a-z0-9]|[_\-\.]([a-z0-9])*)*)@([a-z0-9]([a-z0-9]|[_\-][a-z0-9])*)((\.[a-z0-9]([a-z0-9]|[_\-][a-z0-9])*)*)/gi;
  var answerind = datastr.search(myRegExp);
  var answerarr = datastr.match(myRegExp);
  
  if (answerind == 0 && answerarr[0].length == datastr.length)
  {
    return 0;
  }
  
  alert("" + name + ":输入一个正确的email，不要包含无效字符");
  return -1;
}

function checknumber(name, data, allowednull, minnumber, maxnumber)
{
  var datastr = data;
  var lefttrim = datastr.search(/\S/gi);
  
  if (lefttrim == -1) {
    if (allowednull) {
      return 1;
    } else {
      alert("" + name + ":输入一个正确的数字");
      return -1;
    }
  }

  datastr = trimall(datastr);

  if (datastr.search(/\D/gi) != -1) {
    alert("" + name + ":输入一个正确的数字");
    return -1;
  }

  var aNum = parseInt(datastr, 10);
  if ((minnumber >= 0) && (aNum < minnumber)) {
    alert("" + name + ":超过下限(" + minnumber + ")");
    return -2;
  }
  if ((maxnumber >= 0) && (aNum > maxnumber)) {
    alert("" + name + ":超过上限(" + maxnumber + ")");
    return -3;
  }
  return 0;
}

function checkfloat(name, data, allowednull){
	var datastr = data;
	var lefttrim = datastr.search(/\S/gi);
	//if (checknumber(name,datastr,allowednull,-1,-1)>0){
	//	return 0;
	//}
	var pointnum = 0;
	if (lefttrim == -1) {
		if (allowednull) {
			return 1;
		} else {
			alert("" + name + ":输入一个正确的数字");
			return -1;
		}
	}
	if (datastr == "."){
		alert("" + name + ":输入一个正确的数值");
		return -8;
	}
	for(var i=0;i<datastr.length;i++){
		if(datastr.charAt(i)=="."){
			pointnum += 1;
		}else{
			if(!((parseFloat(datastr.charAt(i))||datastr.charAt(i)=="0")&&(pointnum < 2 ))){
				alert("" + name + ":输入一个正确的数值");
				return  -9;
			}
		}
	}
	return 0;
}


function checkdate(name, data, allowednull, mindate)
{
  var datastr = data;
  var lefttrim = datastr.search(/\S/gi);
  
  if (lefttrim == -1) {
    if (allowednull) {
      return 1;
    } else {
      alert("" + name + ":输入一个正确的日期");
      return -1;
    }
  }

  datastr = trimall(datastr);
//  datastr = datastr.replace(/-|\./gi,"/")
  datastr = datastr.replace(/-/gi,"/")
  if ((datastr.search(/[^0-9]/gi)) != -1) {
//  if ((datastr.search(/[^0-9/\s]/gi)) != -1) {   //in NS error
    alert("" + name + ":日期中包含非法字符");
    return -1;
  }

  var year, month, day;
  var answerind = -1;
//  var myRegExp =/[/]/gi;
  var myRegExp =/\//gi;

  answerind = datastr.search(myRegExp);
  if (answerind <= 0) {
    alert("" + name + ":输入一个正确的日期");
    return -1;
  }
  year = parseInt(datastr.substring(0,answerind),10);
  if ((year < 1910) || (year > 2100)) {
    alert("" + name + ":年份的范围在1910-2100内");
    return -1;
  }
  if (datastr.length <= answerind + 1) {
    alert("" + name + ":输入一个正确的日期");
    return -1;
  }
  datastr = datastr.substr(answerind + 1);
  
  answerind = datastr.search(myRegExp);
  if (answerind <= 0) {
    alert("" + name + ":输入一个正确的日期");
    return -1;
  }
  month = parseInt(datastr.substring(0,answerind),10);
  if ((month == 0) || (month > 12)) {
    alert(month);
    alert(datastr.substring(0,answerind));
    alert("" + name + ":月份的范围在1-12内");
    return -1;
  }
  if (datastr.length <= answerind + 1) {
    alert("" + name + ":输入一个正确的日期");
    return -1;
  }
  datastr = datastr.substr(answerind + 1);

  answerind = datastr.search(myRegExp);
  if (answerind != -1) {
    alert("" + name + ":输入一个正确的日期");
    return -1;
  }
  day = parseInt(datastr,10);

  var maxday;
  switch (month) {
  case 1  :
  case 3  :
  case 5  :
  case 7  :
  case 8  :
  case 10 :
  case 12 :
    maxday = 31;
    break;
  case 4  :
  case 6  :
  case 9  :
  case 11 :
    maxday = 30;
    break;
  default :
    maxday = 28;
    if (year % 4 == 0) {
      if (year % 100 == 0) {
      	if (year % 400 == 0) {
      	  maxday = 29;
      	}
      } else {
	maxday = 29;
      }
    }
  }
  if ((day == 0) || (day > maxday)) {
    alert("" + name + ":天数的范围在1-" + maxday + "内");
    return -1;
  }

  var m1 = mindate;
  if (m1 != "") {
    m1 = m1.replace(/-|\./gi,"/")
    if (Date.parse(m1) > Date.parse("" + year + "/" + month + "/" + day)) {
      alert("" + name + ":输入的日期小于" + m1);
      return -2;
    }
  }
  return 0;
}
function checkvalid(data, canempty, maxlen)
{//数据有效性检查[不允许"<" ">" "'" """]
  var datastr = data;
  if (datastr.search(/['"<>]/gi) != -1) {
    return false;
  }
  if ((maxlen > 0) && (datastr.length > maxlen)) {
    return false;
  }
  if (!canempty && (datastr.search(/\S/gi) == -1)) {
    return false;
  }
  return true;
}
/*
function isFloat(controlName,inputControl,inputValue,allowNull){
	var answer;
	answer = false;
	if(allowNull == true){
		if(inputValue == ""){  
		    inputControl.value = 0
			answer = true;
		}
		else{
			for(var i=0;i<inputValue.length;i++){
				if(parseFloat(inputValue.charAt(i) ||
				              inputValue.charAt(i)=="." ||
				              inputValue.charAt(i)=="0"){
					answer = true;
				}
				else{
					answer = false;
					alert('['+controlName+'] 应输入分数。');
					inputControl.focus();
					break;
				}
			}
		}
		
	}
	else{
		if(inputValue == ""){
			alert('['+controlName+'] 不允许为空。')
			inputControl.focus();
			answer = false;
		}
		else{
			for(var i=0;i<inputValue.length;i++){
				if(parseFloat(inputValue.charAt(i) ||
				              inputValue.charAt(i)=="." ||
				              inputValue.charAt(i)=="0"){
					answer = true;
				}
				else{
					answer = false;
					alert('['+controlName+'] 应输入分数。');
					inputControl.focus();
					break;
				}
			}
		}
	}
	return answer;
}
*/
