	function formcheck(formname) {
		formcheck[formname] = this;
		this.formname = formname;
		this.addcheck = addCheck
		this.checkform = checkit
		this.fields = new Array();
		this.types = new Array();
		this.errors = new Array();
		this.zerocheck = new Array();
	}

	function addCheck(element,type,errortext,nullcheck){
		arindex = this.fields.length
		this.fields[arindex] = element
		this.types[arindex] = type
		this.errors[arindex] = errortext
		
		if (nullcheck == ""){
			nullcheck = 0
		}
		this.zerocheck[arindex] = nullcheck
		
	}
	
	function checkit(){
		obj = "document."+this.formname
		for (var i=0; i<this.fields.length;i++){
			//** CHECK EMPTY STRINGS
			if (this.zerocheck[i] == 1 ){
				if (eval(obj+"."+this.fields[i]+".value == \'\'")){
					alert(this.errors[i]);
					eval(obj+"."+this.fields[i]+".focus()");
					return false;
				}			
			}
			
			//** CHECK FOR INT VALUES
			if (this.types[i] == "int"){
				
				legalChars="1234567890.";
				checkPassed = 1;
				string = eval(obj+"."+this.fields[i]+".value")
				
				for(var stringCount = 0; stringCount < string.length; stringCount++) {
					if(legalChars.indexOf(string.charAt(stringCount)) == -1) {
						alert(this.errors[i]);
						eval(obj+"."+this.fields[i]+".focus()");
						return false; 
					}
					
				}
			}	
			
			//** CHECK FOR PHONE INT VALUES
			if (this.types[i] == "phone_int"){
				legalChars="1234567890.";
				checkPassed = 1;
				String = eval(obj+"."+this.fields[i]+".value")
					
					pattern = /[\s]{1,}/g;
					String = String.replace(pattern,'');
					//alert(String);
				
				for(var stringCount = 0; stringCount < String.length; stringCount++) {
					if(legalChars.indexOf(String.charAt(stringCount)) == -1) {
						alert(this.errors[i]);
						eval(obj+"."+this.fields[i]+".focus()");
						return false; 
					}
					
				}
			}	
			
			
			//** CHECK FOR MAIL
			if ((this.types[i] == "mail") && (this.zerocheck[i] != 0)){
				tmpStr = eval(obj+"."+this.fields[i]+".value")
				if (tmpStr.indexOf("@") == -1){
						alert(this.errors[i])
						eval(obj+"."+this.fields[i]+".focus()");
						return false;
				}else
					if (tmpStr.indexOf(".") == -1){
						alert(this.errors[i])
						eval(obj+"."+this.fields[i]+".focus()");
						return false;
					}
			}	
			
			if (this.types[i] == "radio"){
				testCheck = false
				for (var box = 0; box<eval(obj+"."+this.fields[i]+".length");box++){	
					if( eval(obj+".test["+box+"].checked")){
						testCheck = true
					}
				}
				
				if (!testCheck){
					alert(this.errors[i])
					return false;
				}				
			}
			
		}					
				
		if (checkPassed == 1){
		//alert("Form passed ok")
		return true
		}
	}