/* SUBMENU FUNCTIONS */

function numberFormat(number) {
	if (parseInt(number) > 1000) {
		return number[0] + ',' + number[1] + number[2] + number[3];
	}
	else {
		if (parseInt(number) < 0) {
			return 0;
		}
		return number;
	}
}

$(document).ready(function() {
	$('form#contact-form').submit(function() {
		if($('form#contact-form textarea').val().length > 2000) {
			alert('Content is too long.')
			return false;
		}
	});
	$('form#contact-form textarea').keypress(function(e) {
		$('form#contact-form #character-count').text(numberFormat((2000 - $('form#contact-form textarea').val().length).toString()));
	});
});

// set states of menus
var submenuStates = new Array(0, 0, 0, 0, 0, 0);

// turns a submenu on or off, requires jquery and jquery easing
function toggleSubMenu(navNumber, navItems, navGroups) {
	
	// only execute this function if the targetted menu is closed
	if (submenuStates[navNumber] == 0) {
	
		//alert("toggling " + navNumber);
		
		// get nave of DIV
		var objectName = "sidenav_submenu" + navNumber;
		
		// first, close all other submenus
		for (i = 1; i <= 5; i++) {
			if (i != navNumber) {
				closeSubMenu(i);	
			}
		}
		
		// determine the height that should be expanded to (needs to be done before ajax content is loaded)
		var targetHeight = 0;
		targetHeight += parseFloat($("#" + objectName).css("line-height")) * (navItems + (navGroups - 1));
		targetHeight += parseFloat($("#" + objectName).css("padding-top"));
		targetHeight += parseFloat($("#" + objectName).css("padding-bottom"));
		targetHeight += parseFloat($("#" + objectName).css("border-top-width"));
		targetHeight += parseFloat($("#" + objectName).css("border-bottom-width"));
		targetHeight += 18 + 16; // this is for margins, etc
		
		$("#" + objectName).animate({height: targetHeight + "px"}, 300);
		
		// retrieve basehref value
		var basehref = document.getElementsByTagName("base")[0].href;
		
		// load content
		var jqURL = basehref + "ajax/sidenav-submenu.php?submenu=" + navNumber + "&state=" + (1 - submenuStates[navNumber]);
		
		jQuery.post(
			jqURL, 
			function(data) {
				document.getElementById(objectName).innerHTML = data;
				
				openSubMenu(navNumber);
				
			}
		);
		
		submenuStates[navNumber] = 1 - submenuStates[navNumber];
	} else {
	
		// close the menu if the user clicks it a second time
		closeSubMenu(navNumber);
	
	}
}

function openSubMenu(navNumber) {
	
	var objectName = "sidenav_submenu" + navNumber;
	// change text color to background (to preserve space)
	//$("#" + objectName + " .sidenav_submenu_item").css({'color' : '#f1efdc'});
	//$("#" + objectName + " .sidenav_submenu_item a").css({'color' : '#f1efdc'});
	//$("#" + objectName + " .sidenav_submenu_item").fadeTo(0, 0, 
		//function() {
			//$("#" + objectName + " .sidenav_submenu_item").css({'color' : '#bf4802'});
			//$("#" + objectName + " .sidenav_submenu_item a").css({'color' : '#bf4802'});
			//$("#" + objectName + " .sidenav_submenu_item").fadeTo(100, 1);
		//}
	//);
	
	// set the menu to open
	submenuStates[navNumber] = 1;
	
}

function closeSubMenu(navNumber) {
	$("#sidenav_submenu" + navNumber).animate({height: 0}, 300);
	
	submenuStates[navNumber] = 0;
}

/* CALCULATOR FUNCTIONS - NOT USED ANY MORE (Link was in Juices > Food Service > High Volume) */

function calculator_calc() {
	var mmCasePrice = document.getElementById("mm_case_price").value;
	var vCasePrice = document.getElementById("v_case_price").value;
	var gpCasePrice = document.getElementById("gp_case_price").value;
	
	var mmOunces = document.getElementById("mm_ounces").value;
	var vOunces = document.getElementById("v_ounces").value;
	var gpOunces = document.getElementById("gp_ounces").value;
	
	var mmResult = Math.round(mmCasePrice / mmOunces * 10000)/10000;
	var vResult = Math.round(vCasePrice / vOunces * 10000)/10000;
	var gpResult = Math.round(gpCasePrice / gpOunces * 10000)/10000;
	
	document.getElementById("mm_result").innerHTML = "$" + mmResult;
	document.getElementById("v_result").innerHTML = "$" + vResult;
	document.getElementById("gp_result").innerHTML = "$" + gpResult;
}

function calculator_clear() {
	document.getElementById("mm_case_price").value = "";
	document.getElementById("v_case_price").value = "";
	document.getElementById("gp_case_price").value = "";
	document.getElementById("mm_result").innerHTML = "";
	document.getElementById("v_result").innerHTML = "";
	document.getElementById("gp_result").innerHTML = "";
}

/* IMAGE FUNCTIONS - for newsletter archive thumbnails - needs to change to jquery for MSIE support*/

function image_fade(cur,which){
	strength=(which==0)? 1 : 0.6
	if (cur.style.MozOpacity)
	cur.style.MozOpacity=strength
	else if (cur.filters)
	cur.filters.alpha.opacity=strength*100
}

/* FORM FUNCTIONS */

/* trims off whitespace */

function trim_string(string) {
	return string.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

/* checks to make sure a field isn't blank */
function field_is_valid(value) {
	var regexp = /[^\s]+$/;
	return regexp.test(value);
}

/* validates an e-mail address */
function email_is_valid(email) {
	var regexp = /^\S+\@[a-zA-Z0-9\.-]+\.[a-zA-Z0-9]{2,4}$/;
	return regexp.test(email);
}

/* validates 5 digit zip code - not used because of other countries, etc */
function zip_is_valid(zip) {
	var regexp = /^[0-9]{5}$/;
	return regexp.test(zip);
}

function validate_registration_form(form) {
	
	if (!field_is_valid(form.name.value)) {
		alert("Please enter your name.");
		form.name.focus();
		return false;
	}
	
	if (!email_is_valid(form.email.value)) {
		alert("Please enter a valid e-mail address.");
		form.email.focus();
		return false;
	}
	
	if (!field_is_valid(form.zip.value)) {
		alert("Please enter your zip code.");
		form.zip.focus();
		return false;
	}
	
	if(!form.opt_in.checked) {
		alert("Please check the checkbox to subscribe to our newsletter.");
		form.opt_in.focus();
		return false;
	} 
	
}


function validate_staf_form(form) {
	
	// loop through 5 friends, see if they are blank or if the email is valid
	
	for (var i = 1; i <= 5; i++) {
		var email = trim_string(document.getElementById("friend" + i).value);
		if(email != "" && !email_is_valid(email)) {
			alert("Please enter a valid e-mail address for friend " + i + ".");
			document.getElementById("friend" + i).focus();
			return false;
		}
	}
	
}


/* print article */

function printPage(uri) {
	window.open(uri + '/print','FloridasNatural','width=660,height=700,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,copyhistory=no,resizable=no');
}



function breakout_of_frame()
{
  // see http://www.thesitewizard.com/archive/framebreak.shtml
  // for an explanation of this script and how to use it on your
  // own website
  if (top.location != location) {
    top.location.href = document.location.href ;
  }
}
