//this function checks for illegal chars(in our case "<" & ">") as they are entered and erases them .. onKeyUp() handler
function detectChars(val) {

filter = /[<>]/; // email filter
str_pass = val; // argument passed to function
str_length = str_pass.length; // length of the argument passed
lchar = val.value.charAt((str_length) - 1); // location of last character

	if(lchar.search(filter) != -1) {
		var tst = val.value.substring(0, (str_length) - 1);
		val.value = tst;
   	}
	
}

// function for enabling/disabling dropdown or 'other' field
function checkInput(val) {
        
	switch(val.value.length) {
		
		case 1:
                        if (parseInt(val.value) == 1) {
				document.forms[0]['other'].disabled = false;
				document.forms[0]['how_did_you_hear'].disabled = true;
				document.forms[0]['how_did_you_hear'].options[5].selected = true;
				document.forms[0]['other'].focus();
			}
                        else {
				document.forms[0]['other'].disabled = true;
				document.forms[0]['how_did_you_hear'].disabled = false;
				document.forms[0]['how_did_you_hear'].focus();
			}
			break;
	}
}

function setField() {
        
        if(document.forms[0]['other'].value.length == 0) {
                document.forms[0]['other'].disabled = true;
		document.forms[0]['how_did_you_hear'].disabled = false;
				document.forms[0]['how_did_you_hear'].options[0].selected = true;
		document.forms[0]['how_did_you_hear'].focus();
        }
}

//this is the main validation function
function checkForm(form_name) {
	
filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; // email filter
err_msg = ""; // error message
err_num = 0; // error counter
code = document.forms[form_name]['code'].value; // anti-spam code
//	loop through form fields
	for (i=0; i<document.forms[form_name].length; i++) {
		
		field_name = document.forms[form_name][i].name;
		
		// check for empty fields
		if (!document.forms[form_name][i].value.length > 0) {
			
			if(document.forms[form_name][i].name) {
                                
                                switch(document.forms[form_name][i].name) {
                                        
                                case "other":
                                        if (document.forms[form_name]['how_did_you_hear'].selectedIndex == 5) {
                                                err_num++;
                                                print_field = field_name.substr(0, 1).toUpperCase() + field_name.substr(1);
                                                err_msg += "\r[" + err_num + "] " + print_field + " has not been filled-in.\n";
                                        }
                                        break;
                                default:
                                        err_num++;
                                        if(document.forms[form_name][i].name == "school_name") {
                                                err_msg += "[" + err_num + "] Name of School has not been filled-in.\n";
                                        }
                                        else {
                                                print_field = field_name.substr(0, 1).toUpperCase() + field_name.substr(1);
                                                err_msg += "[" + err_num + "] " + print_field + " has not been filled-in.\n";
                                        }
                                }
			}
                }
                else {
                        switch(document.forms[form_name][i].name) {
                        // check for country	
                        case "country":
                                if (document.forms[0][i].value == 0) {
                                        err_num++;
                                        print_field = field_name.substr(0, 1).toUpperCase() + field_name.substr(1);
                                        err_msg += "[" + err_num + "] " + print_field + " not selected.\n";
                                }
                                break;
                                
                        // check for valid email
                        case "email":					
                                if (!filter.test(document.forms[form_name][i].value)) {
                                        err_num++;
                                        err_msg += "\r[" + err_num + "] " + "Invalid email address.\n";						
                                }
                                
                        // check for anti-spam characters
                        case "Anti-spam Letters":                                
                                if (document.forms[form_name]['code'].value !== code) {
                                        err_num++;
                                        err_msg += "\r[" + err_num + "] " + "Anti-spam letters do not match.\n";					
                                }
                                break;
                        }
			
		}
	
	}

//	action after validation

	if (err_num > 0) {
		
		switch(err_num) {			
			case 1:
				err_msg = "INPUT ERROR:\n----------------------\n" + err_msg;
				break;			
			default:
				err_msg = err_num + " INPUT ERRORS:\n----------------------\n" + err_msg;
				break			
		}
		
		alert(err_msg);
		return false;
		
	}
	else {
		document.forms[form_name].submit();
	}

}

function previewMsg() {
	preview_msg = "<b>Your Name</b><br />" + document.contact.elements.name.value + "<br /><br />";
	preview_msg += "<b>Your Email</b><br />" + document.contact.elements.email.value + "<br /><br />";
	preview_msg += "<b>Your Comment/Query</b><br />" + document.contact.elements.comment.value + "<br /><br />";
	preview_msg += "<hr noshade size='1' color='#FAFAFA'><br /><input type=\"button\" value=\" close preview \" onClick=\"document.getElementById('previewbox').style.visibility='hidden'\"><br /><br /><br />";
	document.getElementById('previewbox').style.visibility='visible';
	document.getElementById('previewbox').innerHTML = preview_msg;
}