﻿function ShowAndDisplay(obj)
{
    var object = obj.parentNode.parentNode;
    var items = object.getElementsByTagName("tr");
    if(items.length==2)
    {
        if(items[1].style.display==null||items[1].style.display=="")
        {
           items[1].style.display = "none"; 
        }else if(items[1].style.display=="none")
        {
            items[1].style.display="";
        }
    }
}


function CheckForm(){
	this.CheckStatus = true;
	this.object = null;
}

//public method do the check 
CheckForm.prototype.Do = function(oForm){
	this.object = oForm;
	this.els=this.object.elements;
	for(var i=0;i<this.els.length;i++)
	{
			var sVal = this.GetValue(this.els[i]);
			var sReg=this.els[i].check;
			var reg=new RegExp(sReg,"i");
			if(!reg.test(sVal))
			{
				//this.els[i].onclick = this.RemoveErr(this.els[i]);
				this.ShowErr(this.els[i]);
				this.CheckStatus = false;
			}
	}
	if(this.CheckStatus)
	{
		return true;
	}else{
		return false;
	}
}

//private method get the form elements vales
CheckForm.prototype.GetValue = function(el){
	var sType=el.type;
	switch(sType.toLocaleLowerCase())
	{
		case"text":
		case"hidden":
		case"password":
		case"file":
		case"textarea": return el.value;
		case"checkbox":
		case"radio": return this.GetValueChoose(el);
		case"select-one":
		case"select-multiple": return this.GetValueSel(el);
		default:return null;
	}
}

//private method ,get the Choose value
CheckForm.prototype.GetValueChoose  = function(el){
		var sValue=0;
		var tmpels=document.getElementsByName(el.name);
		for(var j=0;j<tmpels.length;j++)
		{
			if(tmpels[j].checked)
			{
				sValue++;
			}
		}
		return sValue;
}
//private method get the Select value
CheckForm.prototype.GetValueSel = function(el){
		var sValue=0;
		for(var k=0;k<el.options.length;k++)
		{
		   if(el.options[k].selected&&el.options[k].value!="")
		     {
		    	sValue++;
		     }
		}
		return sValue;
}
//private method function, show the error message;
CheckForm.prototype.ShowErr = function(obj){
        var dv = document.getElementById('msg'+obj.name); 		
        if (dv == null)
        {
            dv = document.createElement("span"); 
            dv.setAttribute('id','msg'+obj.name);
			dv.style.marginLeft = "2px";
			dv.style.paddingTop = "2px";
			dv.style.fontsSize = "8px";
            obj.parentNode.appendChild(dv);            
        }
        dv.innerHTML = "<font color='red'>*"+obj.warning+"</font>";
}

CheckForm.prototype.ShowErr2 = function(obj){
        var dv = document.getElementById('msg'+obj.name); 		
        if (dv == null)
        {
            dv = document.createElement("span"); 
            dv.setAttribute('id','msg'+obj.name);
			dv.style.marginLeft = "2px";
			dv.style.paddingTop = "2px";
			dv.style.fontsSize = "8px";
            obj.parentNode.appendChild(dv);            
        }
        dv.innerHTML = "<font color='red'>*开始时间大于结束时间</font>";
}

//public function,Clear the error Information
CheckForm.prototype.RemoveErr = function(obj){
	this.CheckStatus = true;
	var dv = document.getElementById("msg"+obj.name);
	if(dv!=null)
	{
		obj.parentNode.removeChild(dv);
	}
}

CheckForm.prototype.$ = function(id)
{
    return document.getElementById(id);
}
