var requiredFields = new Array();
    requiredFields[0] = new Array('first', 'First Name', false);
    requiredFields[1] = new Array('zip', 'Postal Code', false);
    requiredFields[2] = new Array('email', 'Email Address', false);

function checkemail(field) {
  var err = false;
  var res, x;
	if(!field)
		return true;

	if(field.value.length == 0) {
		if(empty_err != 'Y')
			return true;
		else
			err = true;
	}

	var arrEmail = field.value.split('@');
	if(arrEmail.length != 2 || arrEmail[0].length < 1)
		err = true;
	if(!err) {
		if(arrEmail[0].length > 2)
			res = arrEmail[0].search(/^[-\w][-\.\w]+[-\w]$/gi);
		else
			res = arrEmail[0].search(/^[-\w]+$/gi);
		if(res == -1)
			err = true;
	}
	if(!err) {
		var arr2Email = arrEmail[1].split('.');
		if(arr2Email.length < 2)
			err = true;
	}
	if(!err) {
		var domenTail = arr2Email[arr2Email.length-1];
		var _arr2Email = new Array();
		for(x = 0; x < arr2Email.length-1; x++)
			_arr2Email[x] = arr2Email[x];
		arr2Email = _arr2Email;
		var domen = arr2Email.join('.');
		res = domen.search(/^[-!#\$%&*+\\\/=?\.\w^`{|}~]+$/gi);
		if(res == -1)
			err = true;
		res = domenTail.search(/^[a-zA-Z]+$/gi);
		if(res == -1 || domenTail.length < 2 || domenTail.length > 6)
			err = true;
	}
//	/^([-\w][-\.\w]*)?[-\w]@([-!#\$%&*+\\\/=?\w^`{|}~]+\.)+[a-zA-Z]{2,6}$/gi

	if (err) {
		alert("It appears our system doesn't recognize the email address entered!\nPlease verify your email address is correct and try again.");
		field.focus();
		field.select();
	}
	return !err;
}

function checkrequired(id) {
  var errors = new Array();
  var cnt, x, id_element, true_id;
  	if(!requiredFields)
  		return true;
  	if(requiredFields.length == 0)
  		return true;
  	if(id != '' && id != undefined) {
  		for(x = 0; x < requiredFields.length; x++)
  			if(requiredFields[x][0] == id)
  				id_element = requiredFields[x];
  		true_id = ((id_element[2] && document.getElementById("_"+id))?"_":"")+id;
  		if(document.getElementById(true_id))
  			if(document.getElementById(true_id).value == '' && (document.getElementById(true_id).type == 'text' || document.getElementById(true_id).type == 'password'))
  				errors[0] = id_element;
  	} else {
  		cnt = 0;
  		for(x = 0; x < requiredFields.length; x++) {
  			true_id = ((requiredFields[x][2] && document.getElementById("_"+requiredFields[x][0]))?"_":"")+requiredFields[x][0];
  			  if(document.getElementById(true_id).value.length > 0) { 
    				if(document.getElementById(true_id).value == '' && (document.getElementById(true_id).type == 'text' || document.getElementById(true_id).type == 'password'))
    					errors[cnt++] = requiredFields[x];
  				} else { errors[cnt++] = requiredFields[x]; }
  		}
  	}
  	if(errors.length == 0)
  		return true;
  	alert("It seems that the required field \""+errors[0][1]+"\" is empty...\nPlease correct and try again.");
  	if(document.getElementById(errors[0][0]))
  		document.getElementById(errors[0][0]).focus();
  	return false;
}

