﻿// Jscript 文件

ERR_NUMBER = "非法的数值！";
ERR_BIG_NUMBER = "数额太大，系统无法接受！";
ERR_STRING_LONG = "输入超长。最大长度为";
ERR_YEAR = "非法的年份！";
ERR_MONTH = "非法的月份！";
ERR_DAY = "非法的日期！";
ERR_EMAIL = "非法的Email地址！";
ERR_NUMBER_NULL = "必须输入数值";
ERR_INT_NULL = "必须输入数值";
ERR_STRING_NULL = "必须输入";
ERR_SELECT_NULL = "必须选择";
ERR_DATE = "非法的日期格式！正确输入2003-5-12"

function checknumber(data,lbl){
	var tmp ;
	if (data == "") return true;
	var re = /^[\-\+]?(\d*|0)(\.\d+)?$/;   // By Dennis set 04 OK!
	if (re.test(data.trim())){
		gar = data + '.';
		tmp = gar.split('.');
		if (tmp[0].length > 15) {
			alert(lbl+":"+ERR_BIG_NUMBER);
			return false;
		}
		return true;
	}
	alert(lbl+":"+ERR_NUMBER);
	return false;
}

function checknumber_null(data,lbl){
	if (trim(data)==""){
		alert(lbl+":"+ERR_NUMBER_NULL);
		return false;
	}
	return true;
}

function checkint_null(data,lbl){
	if (trim(data)==""){
		alert(lbl+":"+ERR_INT_NULL);
		return false;
	}
	return true;
}

function checkstring_null(data,lbl)
{
	if (trim(data)==""){
		alert(lbl+":"+ERR_STRING_NULL);
		return false;
	}
	return true;
}

function checkint(data,lbl)
{
	if (data == "") return true;
	var re = /^[\-\+]?([1-9]\d*|0|[1-9]\d{0,2}(,\d{3})*)$/;
	if (re.test(data.trim())) 
		return true;
	alert(lbl+":"+ERR_NUMBER);
	return false;
}

function checkstring(str,maxlen,lbl)
{
	if (str.length > maxlen){
		alert(lbl+":"+ERR_STRING_LONG+maxlen);
		return false;
	}
	return true;
}

function checkyear(year,lbl)
{
	if (year.length == 0) return true;
	var temp = parseInt(year);
	if (!isNaN(temp)){
		if (year == 0) return true;
		low = 1900;
		high = 2037;
		if ((year >= low) && (year <=high)) return true;
	}

	errorYear(lbl);
	return false;
}

function checkmonth(month,low,high,lbl)
{
	var temp = parseInt(month);
	if (!isNaN(temp)){
		temp = parseInt(low);
		if (isNaN(temp)) low = 1;
		temp = parseInt(high);
		if (isNaN(temp)) high = 12;
		if ((month >= low) && (month <=high)) return true;
	}
	errorMonth(lbl);
	return false;
}

function errorDate(lbl)
{
	alert(lbl+":"+ERR_DATE);
}
function errorYear(lbl)
{
	alert(lbl+":"+ERR_YEAR);
}
function errorMonth(lbl)
{
	alert(lbl+":"+ERR_MONTH);
}
function errorDay(lbl)
{
	alert(lbl+":"+ERR_DAY);
}

function checkday(day,year,month,lbl)
{
	err = false;

	if (!checkint(year) || (year < 1900)) {
		errorYear(lbl);
		return false;
	}
	if (!checkint(month) || (month < 1) || (month > 12)){
		errorMonth(lbl);
		return false;
	}
	if (!checkint(day) || (day < 1) || (day > 31)){
		errorDay(lbl);
		return false;
	}
	
	switch (parseInt(month)){
		case 2:
			high =28;
			if ((year % 4 == 0) && (year % 100 != 0))
				{high =29;}
			else if (year % 400 == 0) {high=29;}
			break;
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			high =31;
			break;
		default:
			high =30;
	}
	if ((day < 1) || (day > high)){
		errorDay(lbl);
		return false;
	}
	return true;
}

function checkemail(umail,lbl)
{
	umail=trim(umail);
	if (umail.length == 0) return true;
	var re=/^[\-!#\$%&'\*\+\\\.\/0-9=\?A-Z\^_`a-z{|}~]+@[\-!#\$%&'\*\+\\\.\/0-9=\?A-Z\^_`a-z{|}~]+(\.[\-!#\$%&'\*\+\\\.\/0-9=\?A-Z\^_`a-z{|}~]+)+$/;
	if (re.test(umail))
		return true;
	alert(lbl+":"+ERR_EMAIL);
	return false;
}

function checktime(ctime,lbl)
{
	if (ctime.length == 0) return true;

	var re=/^(([0-9]|[01][0-9]|2[0-3])(:([0-9]|[0-5][0-9])){0,2}|(0?[0-9]|1[0-1])(:([0-9]|[0-5][0-9])){0,2}\s?[aApP][mM])?$/;
	return re.test(ctime);
}
function checkdate(bdate){

	if (bdate.length == 0) return true;
	var re = /^(0?[1-9]|11|12|10)\/([1-2]?[0-9]|0[1-9]|30|31)\/([1-2]\d{3})$/;
	return re.test(bdate);
}


//Add by ck
//校验日期的函数
//在最终校验时使用
//source 校验的字符窜
function checkDate(source,lbl) {
	var str = source;
	if (str.length == 0) return true;
	
	var arList = str.split("-")
	if (arList.length != 3){ errorDate(lbl);return false; }
	
	var iYear = parseInt(arList[0],10);
	var iMonth = parseInt(arList[1],10);
	var iDay = parseInt(arList[2],10);
		
	if(isNaN(iYear) || isNaN(iMonth) || isNaN(iDay)) { errorDate(lbl);return false;}
		
	if (iYear<1900 || iYear>2099){ errorYear(lbl);return false; }
	
	if (iMonth>12 || iMonth<1){	errorMonth(lbl);return false; }
	
	if ((iMonth==1 || iMonth==3 || iMonth==5 || iMonth==7 || iMonth==8 || iMonth==10 || iMonth==12) && (iDay>31 || iDay<1)){ errorDay(lbl);return false; }
	
	if ((iMonth==4 || iMonth==6 || iMonth==9 || iMonth==11) && (iDay>30 || iDay<1)){ errorDay(lbl);return false; }
	
	if (iMonth==2){
		if (LeapYear(iYear)){
			if (iDay>29 || iDay<1){	errorDay(lbl);return false; }
		}
		else{
			if (iDay>28 || iDay<1){	errorDay(lbl);return false; }
		}
	}
	return true;
}

//判断是否闰年
//参数		intYear 代表年份的值
//return	true: 是闰年	false: 不是闰年
function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}
	else {
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}


//每一位都是0-9的数字
function isDigit(Value)
{
	if(Value==null||Value=="") return(false)
	var re = /\D/; //如果找不到任何一个非数字
	return(re.exec(Value)==null);
}
function setfocus(){
  if(event.keyCode==13 && (event.srcElement.tagName=='INPUT'|event.srcElement.tagName=='SELECT')){if(event.srcElement.type!='button'&event.srcElement.type!='submit')event.keyCode=9;}
}


function openWindow(url,width,height)
{
	var docwin = open(url,"","height=" + height + ",width=" + height + ",top=0,left=0,resizable=no,scrollbars=yes,toolbar=no,location=no,status=no,menubar=no");	
}


function checkFile(opt){
	var filePath = new String(opt.value);
	var sArr = filePath.split("\\");
	fileName = new String(sArr[sArr.length-1]);
	var nPos = fileName.lastIndexOf(".");
	if (nPos!=-1 && fileName.substring(nPos+1,fileName.length) !="xls"){		
		alert("上传文件格式错误，请重新选择");
		return false;
	} 
	return true;
}


String.prototype.trim = function(){
//删除字符串前后空格
 return this.replace(/(^\s*)|(\s*$)/g, "")
}

//有效EMAIL格式检查
function isEmail(Value)
{
    if(Value==null||Value=="") return(false)
    var re = /^\S+@.+\.\S+$/; 
    return(re.exec(Value)!=null);
}

function Trim(szWhat) {
	return(szWhat.replace(/^\s*|\s*$/g, ""));
}
//是否为NULL
function isNull(Value){
		return (Value==null);
}

//是否为空字符串
function isEmptyString(Value)
{ 
	if(Value==null||Value=="") return true;
	var re = /\S+/; //非空字符
	return(re.exec(Value)==null);
}

//有效的字符串，不为空
function isAlphabetic(Value)
{
	if( isEmptyString(Value) ) return(false);
	return true;
}

//有效的数字
function isAlphanumeric(Value)
{
if( !isAlphabetic(Value) || parseFloat(Value)!=Value || parseInt(Value)<0) return false;
return true;
}


function checkMobile(s){   
        var regu =/^[1][3][0-9]{9}|[1][5][0-9]{9}|[1][8][9][0-9]{8}$/;
        var re = new RegExp(regu);
        if (re.test(s)) {
          return true;
        }else{
          return false;
        }
}

function validateTel(str){
	if(str.length == 0){
	return -1;
	}
	var patn = /^[0-9-\/]+$/;
	if(!patn.test(str)) return 1;
	return 0;
}


  //jb函数会根据不同的浏览器初始化个xmlhttp对象
/*function jb()
{
var A=null;
   try
   {
	   A=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			A=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(oc)
		{
			A=null
		}
	}
	
	if ( !A && typeof XMLHttpRequest != "undefined" )
	{
		A=new XMLHttpRequest()
	}
	return A
}
*/