
function emptyString(val) 
{
	if (val.replace(/\s+/g,"") == "")
		return true;
	else
		return false;
}

function isEmpty(obj)
{
	if (emptyString(obj.value))
		return true;
	else
		return false;
}

function setMaxLength() 
{
	var x = document.getElementsByTagName('textarea');
	for (var i=0;i<x.length;i++) 
	{
			x[i].onkeyup = x[i].onkeydown = x[i].onchange = checkMaxLength;
			x[i].onchange();
	}
}

function checkMaxLength() 
{
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength >= maxLength)
	{
		this.value = this.value.substr(0,maxLength);
		currentLength = maxLength;
	};
}

function isValidText(obj)
{
	var regValid   = /^[A-Za-z0-9_\,\.\'\-\\\s]*$/;
	obj.value = obj.value.replace(/[^A-Za-z0-9\,\.\'\-\\\s]/g,"");
}

function isValidPhone(obj)
{//second and third arguments are optional
	if (emptyString(obj.value))
		return true;
	if ((/^([0-9]{3})-([0-9]{3})-([0-9]{4})$/).test(obj.value))
	{
		return true;
	}
	else
	{
		str = obj.value.replace(/[^0-9]/g,"");
		var regValid_7 = /^[0-9]{7}$/;
		var regValid_10 = /^[0-9]{10}$/;
		errorMsg  = "Phone # must have 7 or 10 digits.";
		if (regValid_7.test(str))
			str = str.replace(/^([0-9]{3})([0-9]{4})$/,"808-$1-$2");
		else if (regValid_10.test(str))
			str = str.replace(/^([0-9]{3})([0-9]{3})([0-9]{4})$/,"$1-$2-$3");
		else
			return false;

		return true;
	}
}


function isValidEmail(obj)
{
	if (emptyString(obj.value))
		return true;
	var regValid = /(^[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum)\b$)/;
	if  (!regValid.test(obj.value))
		return false;
	return true;
}

function isValidEmail3(obj, showAlert, setFocus)
{//second and third arguments are optional
	if (emptyString(obj.value))
		return true;
	var regValid = /^[A-Za-z]{2,3}$/;
	errorMsg  = "Invalid Email Address.";
	if  (regValid.test(obj.value))
	{
		hideError(obj);
		return true;
	}
	else	
	{
		displayError(obj, errorMsg);
		if (setFocus)
			obj.focus();
		return false;
	}
}

function displayError(errorMsg) 
{
    objDispError = document.getElementById('error');
    if (objDispError)
    {
		objDispError.innerHTML = errorMsg;
		objDispError.style.display = 'inline';
	}
}

function checkRules(objForm)
{	
	if (!objForm.fh_store[0].checked && !objForm.fh_store[1].checked && !objForm.fh_store[2].checked)
	{
	  	errorMsg  = "Please select store";
		displayError(errorMsg);
		return false;
	}
	if (isEmpty(objForm.email))
	{
	  	errorMsg  = "Please provide your email address";
		displayError(errorMsg);
		return false;
	}
	if (isEmpty(objForm.conf_email))
	{
	  	errorMsg  = "Please confirm your email address";
		displayError(errorMsg);
		return false;
	}
	if (isEmpty(objForm.subject))
	{
	  	errorMsg  = "Please provide email subject";
		displayError(errorMsg);
		return false;
	}
	if (isEmpty(objForm.text))
	{
	  	errorMsg  = "Please enter email text";
		displayError(errorMsg);
		return false;
	}
	
	if (!isValidPhone(objForm.phone))
	{
	  	errorMsg  = "Invalid phone number";
		displayError(errorMsg);
		return false;
	}
	
	if (!isValidEmail(objForm.email))
	{
	  	errorMsg  = "Invalid email address";
		displayError(errorMsg);
		return false;
	}
	
	if (objForm.email.value != objForm.conf_email.value)
	{
	  	errorMsg  = "Email address and confirmation do not match";
		displayError(errorMsg);
		return false;
	}
	return true;
}

function getMailTo(store)
{
	if (store == 'fh_hilo')
		document.getElementById('mailto').innerHTML = '<img src="images/email_hilo.jpg" border=0>';
	if (store == 'fh_kona')
		document.getElementById('mailto').innerHTML = '<img src="images/email_kona.jpg" border=0>';
	if (store == 'fh_waimea')
		document.getElementById('mailto').innerHTML = '<img src="images/email_waimea.jpg" border=0>';
}

