/*check input value is validate*/

function notCNFont(input)/*输入框不能输入汉字*/
{ 
  var chr=trim(input.value);
  var chrCode  
  for(var i=0;i<chr.length;i++)
     {
	   chrCode = chr.charCodeAt(i);
	   if(parseInt(chrCode) > 255) 
	     {
		   alert("不能输入汉字.");
		   //this.value="";
		   input.focus();
		   input.select();
		   break;
		 }
	 }
}
/* to check if the string is alphanumeric or not*/
function ch_english(strUrl)
{

 	var i,j,strTemp;
        strTemp="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        for (i=0;i<strUrl.length;i++)
        {
                j=strTemp.indexOf(strUrl.charAt(i));
                if (j==-1)
                {
                        return false;
                }
        }

        return true;
}
/*add by lee*/
function NUMFont(input)/*输入框只能输入数字*/
{ 
  var chr=trim(input.value);
  var chrCode  
  for(var i=0;i<chr.length;i++)
     {
	   chrCode = chr.charCodeAt(i);
	   if(parseInt(chrCode)<47||parseInt(chrCode)>58) 
	     {
		   alert("只能输入数字.");
		   //this.value="";
		   input.focus();
		   input.select();
		   break;
		 }
	 }
}

function isNum(input)/*输入框只能输入数字返回值真假*/
{ 
  var chr=trim(input.value);
  var chrCode  
  for(var i=0;i<chr.length;i++)
     {
	   chrCode = chr.charCodeAt(i);
	   if(parseInt(chrCode)<47||parseInt(chrCode)>58) 
	     {
		   //alert("只能输入数字.");
		   //this.value="";
		   input.focus();
		   input.select();
		   return false;
		 }
	 }
  return true;
}

/**
 *	判断是否是中文字符
 *  参数：
 * 		chr	 需判断的字符
 */




function NotisLetter(chr)
{
//var chr=trim(chr);
	 for(var i=0;i<chr.length;i++)
     {
	var chrCode = chr.charCodeAt(i);
	if(parseInt(chrCode) > 255) {
	return true;
	break;}
	 }
}

/*add by zhm*/


/**
 *	判断是否是中文字符
 *  参数：
 * 		chr	 需判断的字符
 */
function isHZ(chr)
{
	var chrCode = chr.charCodeAt(0);
	if(parseInt(chrCode) > 255) return true;
	else return false;
}

/**
 *	判断是否某个数值value是否在指定的范围[min，max]之内
 *  参数：
 *		value	需判断的数值
 *		min		最小值
 *		max		最大值
 */
function checkUpAndDown(value,min,max)
{
	if((value>=min)&&(value<=max))
		return true;
	else
		return false;
		
}


/**
 *	判断小时是否在合理的范围之内，及0到23之间
 */
function checkHour()
{
	var value = this.value;
	var isValid = checkUpAndDown(value,0,23);
	if(!isValid)
	{
		alert("小时必须介于0到23之间！");
		this.focus();
		return;
	}
			
}

/**
 *	判断分钟是否在合理的范围之内，及0到59之间
 */
function checkMinute()
{
	var value = this.value;
	var isValid = checkUpAndDown(value,0,59);
	if(!isValid)
	{
		alert("分钟必须介于0到59之间！");
		this.focus();
		return;
	}
	
}


function checkEmailAddr(input)
{
	var value1 = input.value;
	if (value1.length == 0)
	  return true;
	var isValid = isEmailAddr(value1);
	if (!isValid)
	{
		alert("Email adress is invalid! ");
		this.focus();
		return;
	}
}

/**
 *	只能输入数字
 */
function numberOnly() // onkeypress event
{
  var key = window.event.keyCode;  

  if(( key > 47 && key < 58)||key==13 ) 
	  window.event.returnValue = true;
  else {
	  window.event.returnValue = false;
	  alert("只能输入数字.");
  }
}

/**
 *	只能输入数字和字符a-z或A-z
 *      0----48
 *      A----65
 *      a----97
 *
 */
function numberOrCharOnly() // onkeypress event
{
  var key = window.event.keyCode;  

  if(( key > 47 && key < 58 ) ||( key > 64 && key < 91 )||( key > 96 && key < 123 ))
	  window.event.returnValue = true;
  else {
	  window.event.returnValue = false;
	  alert("只能输入数字和字符a-z,A-Z.");
  }
}

/**
 *	不能输入数字
 */
function notNumber() // onkeypress event
{
  var key = window.event.keyCode;  

  if( key > 47 && key < 58 ) 
  {
	  window.event.returnValue = false;
	  alert("不能输入数字.");	  
  }
  else {

	  window.event.returnValue = true;
  }
}

/**
 *	只能输入数字和小数点
 */
function numberDotOnly() // onkeypress event
{
  var key = window.event.keyCode;  
 if( key > 45 && key < 58 ) 
   		
	  window.event.returnValue = true;
  else {
	  window.event.returnValue = false;
	  alert("只能输入小数点和数字！");
  }
}

function notHZ(input)/*输入框不能输入汉字*/
{ 
  var chr=trim(input.value);
  var chrCode  
  for(var i=0;i<chr.length;i++)
     {
	   chrCode = chr.charCodeAt(i);
	   if(parseInt(chrCode) > 255) 
	     {
		   alert("the Chinese charector can not be in here!");
		   //this.value="";
		   this.focus();
		   this.select();
		   break;
		 }
	 }
	
}

function notHZandPercent(input)
{
	var chr=trim(input.value);
	var chrCode  
	for(var i=0;i<chr.length;i++)
	{
		chrCode = chr.charCodeAt(i);
		if(parseInt(chrCode) > 255) 
		{
			alert("不能有汉字");
			//this.value="";
			this.focus();
			this.select();
			break;
		}
	}
	var value = parseFloat(this.value);
	if(value < 0 || value > 100)
	{
		alert("必须在 0 到 100 之间!");
		this.focus();
		this.select();
	}
}


/*该函数的作用是截取小数，如果输入字段的小数位数大于要求的位数，则将其从要求的位数处截断，不足的话补零 */
function cutDecimal(input,maxlength,length)
{
   var obj=input;
   var val=trim(obj.value);
   var indexe1=val.indexOf("e");
   var indexE2=val.indexOf("E");
   if((indexe1!=-1)||(indexE2!=-1))
	{
	     
        }
   else
	{
	   var index1=val.indexOf(".");
	   var maxLength=maxlength;
	   var needLength=length;
	   if(val=="")
	   obj.value="";
	   else
	   {
		if(index1==-1)//输入如果是整数，先判断整数部分的位数是不是符合数据库中要求的位数，如果大于则提示并将该输入框清空，否则将小数部分补零.
		{ 
			if(val.length>(maxLength-needLength))
			{
				//alert("整数部分不能大于"+(maxLength-needLength)+"位");
				obj.value="0";
				obj.focus();
			 }
			/*else
			{
				obj.value=val+".";
				for(var i=0;i<needLength;i++)
				obj.value=obj.value+"0";
			}*/
		 }
		else
		 {
			var decimal=val.substring(index1+1,val.length);
			 if(decimal.length>needLength)//如果输入字段的小数位数大于要求的位数，则将其从要求的位数处截断。
			  {
				//alert("小数部分不能大于"+needLength+"位");
				obj.value=val.substring(0,index1)+"."+val.substring(index1+1,index1+needLength+1);
			 }
			 if(decimal.length<needLength)//小于则补零。
			  {
				 if(val.substring(0,index1).length>(maxLength-needLength))//先判断整数部分的位数是不是符合数据库中要求的位数，如果大于则提示并将该输入框清空，否则将小数部分补零
				 {
					//alert("整数部分不能大于"+(maxLength-needLength)+"位");
					obj.value="0";
					obj.focus();
				  
				}
				/* else
				 {
					 obj.value=val;
					 for(var j=0;j<needLength-decimal.length;j++)
					 {
						 obj.value=obj.value+"0";
					}
				 }*/
			  }
		 }
	  }  
   }
   
}
/**
 *	只能输入浮点数
 */
function floatOnly()	// onkeypress event
{
  var obj = this;
  var key = window.event.keyCode;
  var val = trim( obj.value ) ;

  if( key > 47 && key < 58 )
  {
    window.event.returnValue = true;
	return ;
  }
  if( key == 46 )
  {
    for(var i=0; i<val.length; i++)
	{
	  if( val.charAt(i) == "." ) break ;
	}
    if( i < val.length ) window.event.returnValue = false ;
    else window.event.returnValue = true ;
	return ;    
  }
  window.event.returnValue = false ;
  return ;
}

/**
 *	只能输入百分数
 */
function percentOnly(input)
{
	var value = parseFloat(input.value);
	if(value < 0 || value > 100)
	{
		alert("必须在 0 到 100 之间!");
		this.focus();
		this.select();
	}
}

/**
 *	构造Field对象
 *	参数：
 *		name			输入框的字段名，该字段对应INPUT框的name，
 *						如果无法对应，将提示“No element ...”的错误
 *		necessary		指定该INPUT框是否为必输字段，true为必输，false则表示可输可不输
 *		description		字段的描述文字，建议直接采用输入框的名称
 *		onKeyPressFun	用户按下键（得到焦点）时需进行的检查，例如：只能输入数字
 *		onBlurFun		用户离开输入框（失去焦点）时需进行的检查，例如：判断SIM卡的有效性
 */
function Field(name, necessary, description, onKeyPressFun, onBlurFun)
{
	this.name = name;
	this.necessary = necessary;
	this.description = description;
	this.onkeypress = onKeyPressFun;
	this.onblur = onBlurFun;
}

function getHtmlElementIC(frm, field)
{
	var elements = frm.all(field.name);
	//alert("frm name = " + frm.name +",field.name =" + field.name +", elements =" + elements +", elements.tagName =" +elements.tagName);
	if(elements == null)
	{
		return null;
	}

	//If there is more than one object shared a same name, an array should be 
	//obtained; otherwise, a single object would be served, then in order to
	//get an accordant interface, the single object should be put into an array
	//as an element.
	//Edited by Lilt@2003-5-1
	if(elements.tagName!=null)	//If not being a single HTML element, it will not has tagName property.
	{
		var ea=new Array();
		ea[0]=elements;
		elements=ea;
	}
	//alert("return elements =" + elements );
	return elements;
}


/**
 *	捆绑INPUT框控制
 */
function attachHandler(frm, fields)
{
	var i = 0;
	var count = fields.length;
	var element, field;
	for(i=0; i<count; i++)
	{   
		field = fields[i];
		element = getHtmlElementIC(frm, field);
		if(element != null)
		{

			for(var j=0;j<element.length;j++)

			{
				element[j].onkeypress = field.onkeypress;
				element[j].onblur = field.onblur;
			}
		}		
	}
}

/**
 *	检查所设定的INPUT框控制
 *  参数：
 *		frm		form的名字
 *		fields	form中INPUT输入框的name
 *	返回值：
 *		如果所有的INPUT框都符合要求，则返回true，否则，提示错误，并返回false。
 */
function checkNecessary(frm, fields)
{
//   alert("enter checkNddddddecessary fields len=" + fields.length)
	var missedFlds = "";
	var i = 0;
	var count = fields.length;
	var element, field;
	var value, necessary, description;
	for(i=0; i<count; i++)
	{
		field = fields[i];
		element = getHtmlElementIC(frm, field);
		if(element != null)
		{
//		alert("element length=" +element.length +", element[0]=" + element[0].value)
			for(var j=0;j<element.length;j++){
				value = trim(element[j].value);
		//alert("value =" + value)
				element[j].value = value;
//				alert(field.description + "\n__" + element.value + "__");
				necessary = field.necessary;
				description = field.description;
				if(necessary && value.length < 1)
				{
					if(missedFlds.indexOf(description) == -1)
						missedFlds += description + "@@"; 
				}
			}
		}
		var str = /@@/i;
		missedFlds = missedFlds.replace(str,"\n");	//end------modify
				
	}
	if(trim(missedFlds).length > 0)
	{
		missedFlds = "以下字段必须输入：\n" + missedFlds;
		alert(missedFlds);
		return false;
	}
	return true;

}

function isTelphone(input)
{
  var chr=trim(input.value);
  var chrCode;  
  for(var i=0;i<chr.length;i++)
     {
	   chrCode = chr.charCodeAt(i);
	   if((parseInt(chrCode)>= 47 && parseInt(chrCode)<=58) || chr.charAt(i) == "-") 
	   {
		   continue;
	   }else
	   {
	       return false;
	   }
	 }
 return  (chr.indexOf("-")==-1 && chr.length>9) || (chr.length>10 && chr.indexOf("-")>0 && (chr.indexOf("-") < (chr.length-1)) && (chr.indexOf("-") == chr.lastIndexOf("-")))
     
}
