var requiredFields=new Array();
var requiredFieldNames=new Array();
var identicalFields=new Array();
var identicalFieldNames=new Array();
var numericalFields=new Array();
var numericalFieldNames=new Array();
var emailFields=new Array();
var emailFieldNames=new Array();
var minFields=new Array();
var minFieldNames=new Array();
var minFieldLengths=new Array();

function addReqField(fieldId,fieldName){
	requiredFields.push(fieldId);
	requiredFieldNames.push(fieldName);
}

function addIdentField(fieldId,fieldName){
	identicalFields.push(fieldId);
	identicalFieldNames.push(fieldName);
}

function addNumField(fieldId,fieldName){
	numericalFields.push(fieldId);
	numericalFieldNames.push(fieldName);
}

function addEmailField(fieldId,fieldName){
	emailFields.push(fieldId);
	emailFieldNames.push(fieldName);
}

function addMinField(fieldId,fieldName,fieldLength){
	minFields.push(fieldId);
	minFieldNames.push(fieldName);
	minFieldLengths.push(fieldLength);
}

function validate(){
	var valid=true;
	var error="";
	for(i in requiredFields){
		id=requiredFields[i];
		name=requiredFieldNames[i];
		if(id.value==null||id.value==""){
			valid=false;
			error+=name + " is required\n";
		}
	}
		
//	for (i in identicalFields){		
if(identicalFields.length>0){
//		id=identicalFields[i];
//		name=identicalFieldNames[i];
//		idX=identicalFields[i+1];
//		nameX=identicalFieldNames[i+1];	
		id=identicalFields[0];
		name=identicalFieldNames[0];
		idX=identicalFields[1];
		nameX=identicalFieldNames[1];	


		if(name==nameX){
			if(id.value!=idX.value){
				valid=false;
				error+=name + " do not match\n";				
			}			
		}		
	}
		
	for(i in numericalFields){
		id=numericalFields[i];
		name=numericalFieldNames[i];
		if(id.value!=null && id.value!=""){
			if(isNaN(id.value)){
				valid=false;
				error+=name + " must be a number\n";
			}
		}
	}
	
	for(i in emailFields){
		id=emailFields[i];
		name=emailFieldNames[i];
		apos=id.value.indexOf("@")
		dotpos=id.value.lastIndexOf(".")
		if(id.value!=null && id.value!=""){
			if (apos<1||dotpos-apos<2) {
				valid=false;
				error+=name + " must be a valid email address\n";
			}
		}	
	}
	
//	for(i in minFields){
//		id=minFields[i];
//		name=minFieldNames[i];
//		length=minFieldLengths[i];
//		if(id.value!=null && id.value!=""){
//			if(id.value.length < length){
//				valid=false;
//				error+=name + " must be at least " + length + " characters long\n";
//			}
//		}
//	}	
	
	if(!valid)
		window.alert(error);
	return valid;	
}