//------------------------------------------------------------------------------
function wr_get_element(id) {
	if (document.all) {						return document.all[id]; }
	else if (document.layers) {				return document.layers[id]; }
	else if (document.getElementById) {		return document.getElementById(id); }
	else if (pamphlet.elements) {			return pamphlet.elements[id]; }
	else {									return document.pamphlet.id; }
	}

//------------------------------------------------------------------------------
var elements_to_check = new Array();
var elements_to_check_count = 0;

function define_element(element_type, element_id, error_message) {
	var required_element = new Object();

	required_element.type = element_type;
	required_element.id = element_id;
	required_element.error = error_message;

	elements_to_check[elements_to_check_count] = required_element;
	elements_to_check_count++;
	}

//------------------------------------------------------------------------------
function validate_email(email_address) {
	var email_filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (email_filter.test(email_address)) {
		return true;
		}
	else{
		return false;
		}
	}

//------------------------------------------------------------------------------
function check_form_fields() {

	//-- web tv bug fix
	if (navigator.userAgent.indexOf("WebTV") == -1) {

		//-- elements check	
		for (var i = 0; i < elements_to_check.length; i++) {

			var check_failed = false;
			var element = wr_get_element(elements_to_check[i].id);

			if (elements_to_check[i].type == "str") {
				if ((element.value == undefined) || (element.value == '')) {
					check_failed = true;
					}
				}
			else if (elements_to_check[i].type == "eml") {
				if ((element.value == undefined) || (element.value == '') || (!validate_email(element.value))) {
					check_failed = true;
					}
				}

			//-- return message if failed
			if (check_failed) {
				alert(elements_to_check[i].error);
				element.focus();
				return false;
				}
			}
		}

	return true;
	}
//------------------------------------------------------------------------------