function popup_window(u,n,f) {
	if (n == undefined) {
		n = '_blank';
	}
	if (f == undefined) {
		f = 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=640,height=580';
	}
	
	var s = window.open(u,n,f);
	
	if (s) {                        
		s.focus();
	} else {
		alert('You need to disable your popup blocker first!');
	}
}
function checkWordLen(obj, maxWords) {
	if (obj.value.length) {
		var len = obj.value.split(/[\s]+/);
		if (len.length > maxWords) {
			obj.oldValue = obj.value != obj.oldValue ? obj.value : obj.oldValue;
			obj.value = obj.oldValue ? obj.oldValue : "";
			
			wordsLeft = maxWords - len.length;
			document.getElementById(obj.id+'-wrdcnt').innerHTML = wordsLeft;
			return false;
		}
		
		wordsLeft = maxWords - len.length;
	} else {
		wordsLeft = maxWords;
	}
	document.getElementById(obj.id+'-wrdcnt').innerHTML = wordsLeft;
	return true;
}

function verify_form(maxWords) {
	var nextForm = true;
	
	if (field_error("form[first_name]", "Please enter your first name.") ||
			field_error("form[last_name]", "Please enter your last name.") ||
			field_error("form[phone1]", "Please enter your phone number.") ||
			field_error("form[phone2]", "Please enter your phone number.") ||
			field_error("form[phone3]", "Please enter your phone number.") ||
			field_error("form[email]", "Please enter your email address.") ||
			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[recipe_name]", "Please enter your recipe's name.") ||
			categoryError() ||
			// Fix
			field_error("form[products]", "Please select which of the sponsors' products you're using in your recipe.") ||
			field_error("form[ingredients]", "Please list your recipe's ingredients.") ||
			field_error2("ingredients-wrdcnt", "You have entered too many ingredients! Please condense your list.") ||
			field_error("form[directions]", "Please give the directions for your recipe.") ||
			field_error2("directions-wrdcnt", "Your directions are too long! Please condense the necessary steps.") ||
			field_error("form[comments]", "Please enter any comments you have regarding your recipe.") ||
			field_error2("comments-wrdcnt", "You have written too many comments! Please make sure you enter less than 500 words.")) {
		nextForm = false;
	} else if (!isEmail(getEl("form[email]").value)) {
		nextForm = false;
		alert("Invalid email address.");
	} else {
		if(maxWords == wordsLeft) {
			nextForm = false;
			alert("Please fill out the essay form!");
		} else if (wordsLeft < 0) {
			nextForm = false;
			alert("You have entered too many words. The limit is " + wordLen + ". You have entered "+(maxWords + -1*wordsLeft)+".");
		}
	}
	
	return nextForm;
}

function categoryError() {
	var categories = document.getElementsByName('form[category]'), numCategories = categories.length, i, set = false;
	
	for (i = 0; i < numCategories; i++) {
		if (categories[i].checked) {
			set = true;
		}
	}
	
	if (!set) {
		alert("Please select a category for your recipe.");
		return true;
	} else {
		return false;
	}
}

function getEl(n){var e=document.getElementById(n);if(e==null){e=document.getElementsByName(n);e=(e.length>0?e[0]:null)}return e}

function field_error(i,m){
	var r=false,f=getEl(i);
	if(f!=null&&((f.type=="text"&&f.value=="")||(f.type=="textarea"&&f.value=="")||(f.type=="radio"&&!f.checked))){
		try { pageTracker._trackEvent("Form Error", i); } catch(e){}
		alert(m);f.focus();r=true;
	}
	return r
}

function field_error2(i,m){
	var r=false,f=getEl(i);
	var g=f.childNodes[0].nodeValue+0;
	if(g < 0){
		try { pageTracker._trackEvent("Form Error", i); } catch(e){}
		alert(m);r=true;
	}
	return r
}

function isNumber(e){var c,n=/\d/;if(window.event){c=e.keyCode}else if(e.which){c=e.which}else{return true}return n.test(String.fromCharCode(c))||c==8}
function isEmail(s){var p=s.indexOf(".");return(p>0&&p<(s.length-2))&&(s.indexOf("@")>0)}
