function getType(el){ return el.type; }
	
function validateField(el){
	var t = getType(el);
	var fieldValid = true;
	switch(t){
		case "text":
		case "textarea":
			if(el.value == "") fieldValid = false;
			break;
		case "select-one":
			if(el.value == "null") fieldValid = false;
			break;
	};
	return fieldValid;
}

function formValidation(objForm, reqdFields, checkTheme, checkPassword){
	for(var i=0; i<reqdFields.length; i++){
		objElement = objForm.elements[reqdFields[i]];
		if(objElement != null)
			if(!validateField(objElement)){
				alert("Please specify " + objElement.title + ".");
				objElement.focus();
				return false;
			}
	}
	
	//check requirment for theme
	//
	if(checkTheme) {
		groupSelect = objForm.elements["creaSelTheme"];
		groupTypeIn = objForm.elements["creaEnterTheme"];	
		if(groupSelect.value == "null" && groupTypeIn.value == "") {
		  alert("Please specify a group theme. Either select a picklist theme or enter a new theme.");
		  return false;
		}
	}

	if(checkPassword) {
		//if creaPassword is blank - password cannot be empty
		pass = objForm.elements["creaPassword"];
		if(pass.value=="") {
			alert("Password cannot be empty. Please enter a password.");
			pass.select();
			return false;
		}
		
		//if creaPassword is disabled false and 2 does not match - they must match.	
		pass2 = objForm.elements["creaPassword2"];
		if(pass.disabled==false) {
			if(pass.value!=pass2.value) {
				alert("Passwords do not match. Please re-type password twice.");
				pass.select();
				return false;
			}
		}
	}
	objForm.submit();
}