function popup_rules() {
	window.open('rules','','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=1000,height=600');
	return false;
}

function popup_privacy() {
	window.open('http://www.wildflowerbread.com/privacy/','PU','status=no,scrollbars=yes,width=495,height=446');
	return false;
}

function getEl(name) {
	var element = document.getElementById(name);
	
	if (element == null) {
		element = document.getElementsByName(name);
		
		if (element.length > 0) {
			element = element[0];
		} else {
			element = null;
		}
	}
	
	return element;
}

function verify_form1() {
	var nextForm = true;
	
	if (field_error("form[entry_code]", "Please enter the code from the scratch card.") ||
			field_error("form[email]", "Please enter your email address.")) {
		nextForm = false;
	} else if (!isEmail(getEl("form[email]").value)) {
		nextForm = false;
		alert("Invalid email address.");
	}
	
	return nextForm;
}

function verify_form2() {
	var nextForm = true, cell = checkPhone("cphone");
	
	if (field_error("form[entry_code]", "Please enter the code from the scratch card.") ||
			field_error("form[first_name]", "Please enter your first name.") ||
			field_error("form[last_name]", "Please enter your last name.") ||
			field_error("form[address1]", "Please enter your address.") ||
			field_error("form[city]", "Please enter your city.") ||
			field_error("form[state]", "Please enter your state.") ||
			field_error("form[zip]", "Please enter your zipcode.") ||
			field_error("form[email]", "Please enter your email address.") ||
			field_error("form[birth_date]", "Please enter your birthday.") ||
			field_error("form[rules]", "Please read and agree to the Official Rules.")) {
		nextForm = false;
	} else if (!isEmail(getEl("form[email]").value)) {
		nextForm = false;
		alert("Invalid email address.");
	} else if (!checkPhone("phone") && !cell) {
		nextForm = false;
		alert("At least one phone number is required.");
	} /*else if (!cell && getEl("form[opt_in]").checked) {
		nextForm = false;
		alert("A cell phone number must be entered to receive text messages.");
	}*/
	
	return nextForm;
}

function checkPhone(phone) {
	var phone1 = getEl(phone + "1"), phone2 = getEl(phone + "2"), phone3 = getEl(phone + "3");
	return (phone1.value.length == 3 && phone2.value.length == 3 && phone3.value.length == 4);
}

function field_error(fieldId, msg) {
	var result = false;
	var field  = getEl(fieldId);
	
	if (field != null && ((field.type == "text" && field.value == "") || (field.type == "radio" && !field.checked))) {
		alert(msg);
		field.focus();
		result = true;
	}
	
	return result;
}

function isNumber(e) {
	var keycode, keychar, numcheck;
	
	// IE
	if(window.event) {
		keycode = e.keyCode;
	} else if(e.which) {
		keycode = e.which;
	} else {
		return true;
	}
	
	keychar = String.fromCharCode(keycode);
	numcheck = /\d/;
	
	return numcheck.test(keychar) || keycode == 8;
}

// Very basic email check
function isEmail(str) {
	period = str.indexOf(".");
	return (period > 0 && period < (str.length - 2)) && (str.indexOf("@") > 0);
}