/******************************
Javascript form validation
******************************/

/******************************
FORM VALIDATION
******************************/
var formalize_alert = "";
function formalize(frm, textfields, emailfields) {
	formalize_alert = "";
	var num = 0;
	
	num += formalize_text(frm, textfields,num);
	num += formalize_email(frm, emailfields,num);

	if (formalize_alert != "") {
		alert(formalize_alert);
		return false;
	} else {
		return true;	
	}
}


//pass array of fields with string names
function formalize_text(frm, fields,num){
	with(frm) {
		var len = fields.length;
		for(var i=0; i<len; i++) {
			var fieldval = frm[fields[i][0]].value;
			if(!fieldval){
				formalize_alert += (++num) + ". Please enter " + fields[i][1] + "\n";
			}
		}
	}
	return num;
}

function formalize_email(frm, fields,num){
	var email_filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	with(frm) {
		var len = fields.length;
		for(var i=0; i<len; i++) {
			var fieldval = frm[fields[i][0]].value;
			if(!fieldval){
				formalize_alert += (++num) + ". Please enter " + fields[i][1] + "\n";
			} else {
				if (!email_filter.test(fieldval)){
					formalize_alert += (++num) + ". You have entered an invalid email.\n";
				}
			}
		}
	}
	return num;
}

//function prompts people if they are sure to carry out the action
function formalize_areyousure(msg){
	if (msg=="" || msg==undefined) msg="Are you sure you wish to continue?  This cannot be undone.";
	
	var agree=confirm(msg);
	if (agree)
		return true ;
	else
		return false ;
}

function formalize_deleteid(frm, idval, id, msg) {
	if (id=="" || id==undefined) id = "del";
	var cont = formalize_areyousure(msg);
	if (cont) { 
		frm.elements[id].value = idval;
		frm.submit();
	}
}

// gets the checked value from a radio button
function formalize_getCheckedValue(radioObj) {
	if(!radioObj) return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

//clears a form
function formalize_clearform(frm) {
	//alert(frm.name + "-" + frm.elements.length);
	with(frm) {
		var len = frm.elements.length;
		for(var i=0; i<len; i++) {
			frm.elements[i].value = "";
		}
	}
}