///////////////////////////////////////
	// ver 5.1 用 类 对象 方式实现
	// ver 5.1.22 出错的div 简化：只用这个一个即 ok <div id="diserr_all" style="display:none;">&nbsp;&nbsp;</div>
///////////////////////////////////////
var FormDisError = function(formName,diserror_div,right_zuobiao,top_zuobiao)
{
	
	this.error_flag = 0;
	this.diserr_class = 'apDiv3';
	this.form_name = formName;
	
	this.diserr_div = diserror_div;
	this.diserr_div_text = '';
	
	this.right_zb = right_zuobiao;
	this.top_zb = top_zuobiao;
	
		//所有显示的信息置空
		this.diserr_reset = function ()
		{
			this.error_flag = 0;
			this.diserr_div_text = '';
		}
		
		//获取元素的纵坐标 
		this.getTop = function (e)
		{ 
			var offset=e.offsetTop; 
			if(e.offsetParent!=null) offset+= this.getTop(e.offsetParent); 
			return offset; 
		} 
		
		//获取元素的横坐标 
		this.getLeft = function (e)
		{ 
			var offset=e.offsetLeft; 
			if(e.offsetParent!=null) offset+= this.getLeft(e.offsetParent); 
			return offset; 
		} 
		//
		this.get_errdivid_i = function (input_id)
		{
			var input_id_trim = input_id;
				input_id_trim = input_id_trim.replace("Form[","");
			    input_id_trim = input_id_trim.replace("[","");
			    input_id_trim = input_id_trim.replace("]","");
			var diserr_div_i = 'diserr_' + input_id_trim;
			
			return diserr_div_i;
				
		}
		
		this.show_error = function (err,input_id)
		{
			var diserrors_all = document.getElementById(this.diserr_div);

			var input_obj = document.getElementById(input_id);
			
			var diserr_div_i = this.get_errdivid_i(input_id);
			
			var diserror_i = new Array();
				diserror_i['style.display'] = 'block';
				diserror_i['innerHTML'] = err;
				diserror_i['style.left'] = this.getLeft(input_obj)+ this.right_zb ;//右（加）
				diserror_i['style.top'] = this.getTop(input_obj)- this.top_zb ;//上（减）
			
			this.diserr_div_text +=  "<div id=\"" + diserr_div_i + "\" class=\"" + this.diserr_class +　"\" style=\"display:"+ diserror_i['style.display'] +";left:"+ diserror_i['style.left'] +";top:" + diserror_i['style.top'] + ";\" >" + diserror_i['innerHTML'] + "</div>";
			
			diserrors_all.style.display="block";
			diserrors_all.innerHTML　= this.diserr_div_text ;

			//alert(diserrors_all.innerHTML);
		}
		
			///////////////////////
			//clear null error
			this.clear_errors = function (input_id)
			{
				//alert(input_id);
				var diserr_div_i = this.get_errdivid_i(input_id);
					
				//alert(diserr_div_i);
				var diserrors_obj = document.getElementById(diserr_div_i);
				var input_obj = document.forms[this.form_name].elements[input_id];
				
				var input_value = input_obj.value;
				if(input_value!='')
				{	
				//var diserrors=document.all.dis_errors;
				var diserrors = diserrors_obj ;
				///////////////////////////////////////////////////
				//alert(diserrors);
					if(typeof(diserrors)!="undefined" && diserrors != null)
					{
						diserrors.style.display="none";
						diserrors.innerHTML= '' ;
					}
				///////////////////////////////////////////////////
					
				}
			}
		///////////////////////
		this.trim = function (str)
		{
			if (typeof(str) == "string")
			{
				return str.replace(/^\s*|\s*$/g, "");
			}
			else
			{
				return str;
			}
		}
		///////////////////////
		//用正则表达式进行判断
		this.check_regex = function (regexpress,val)
		{
			//alert(val);
			var regexpress = eval("regexEnum."+regexpress);
			
			if(regexpress==undefined || regexpress=="")
			{
				return false;
			}
			else
			{
				var isvalid = (new RegExp(regexpress, 'i')).test(val);
				 return isvalid;	
			}
		}
		///////////////////////
		this.show_error_method = function (warns,err,input_id)
		{
			//alert(warns);
			switch (warns)
			{
				case 'follow':
				//alert(this.error_flag);
					this.show_error( err,input_id);
					return true;
				break;
				
					case 'alert':
					alert(err);
					return true;
				break;
			
				
				default:
					alert(err);
					return true;
				break;
			}
		}
		///////////////////////
		this.IsRequired = function (input_id,err)
		{
			//alert(this.form_name);
			var obj = document.forms[this.form_name].elements[input_id];
			//alert(obj.value);
	
			obj.value = this.trim(obj.value);
			
			
			//alert(obj.value);
			
			if(typeof(obj)=="undefined" || obj.value=='')
			{
				this.error_flag = 1;
				//alert(this.error_flag);
				this.show_error_method('follow',err,input_id);
				return false;
			}
			else
			{
			 return true;	
			}
			
		}
	
		///////////////////////
		//用正则表达式 来判断，比如：手机号，邮件地址，url 等
		this.IsMatching_regex = function (regex,inputid,err)
		{
			//alert(formname);
			var obj = document.forms[this.form_name].elements[inputid];
			
			obj.value = this.trim(obj.value);
			
			
			//alert(obj.value);
			
			if(obj.value!='' && !(this.check_regex(regex,obj.value)))
			{
				this.error_flag = 1;
				//alert(this.error_flag);
				this.show_error_method('follow',err,inputid);
				return false;
			}
			else
			{
			 return true;	
			}
			
		}
		/////////////////////////////
		this.ISsubmit = function ()
		{
			//alert(this.error_flag);
			 if(this.error_flag==1)
			 {
			   return 0;  
			 }
			   
			document.forms[this.form_name].submit(); 
		}
	
		/////////////////////////////
		this.ISsubmit_status = function ()
		{
			//alert(this.error_flag);
			 if(this.error_flag==1)
			 {
			   return 0;  
			 }
			 else
			 {
				return 1;	 
			}
			   
		}
	

		/////////////////////////
		//单个输入框，或者其他选择等，oblur,或者 onchange，或者 onmouseover，等事件，触发 清空当前项目的错误提示，其他其实不变
		//即：input 或者 其他选项框，内容更改的话，就去除错误提示
		// check if confirm inputs is still valid after inputs changed
		this.input_event_clearerr = function (inputid_arr)
		{
			var inputid_arr_i;
			//jquery 的this 和 对象的this 冲突时的解决方法
			//var self = this;//解决冲突,用self 表示当前对象,防止和 jquery对象冲突

			//alert(inputid_arr.length);
			for(var i=0;i<inputid_arr.length;i++)
			{
				inputid_arr_i = inputid_arr[i];
				
				this.clear_errors(inputid_arr_i);

/*				//alert(this.error_flag);
				$("[id="+ inputid_arr_i +"]").blur(function() {
			//alert(inputid_arr_i);
					//alert('aaa');
					//alert(self.error_flag);
					self.clear_errors(inputid_arr_i);
				});
*/			}
		}
		/////////////////////////


}//class end