var errorimage = new Image(); errorimage.src = "/gifs/validerror.gif";
var blankimage = new Image(); blankimage.src = "/gifs/validnoerror.gif";
var digits = "1234567890";
var defaultEmptyOK = false;

function validateform(f)
{
        var erroronform = "";
	if(f.recipient_name)
	{
        	if (isWhitespace(f.recipient_name.value))
        	{
                	document.getElementById('recipient_name_label').style.color='red';
                	document.getElementById('recipient_name_label').style.fontWeight='bold';
                	erroronform="yes";
        	}
        	else
        	{
                	document.getElementById('recipient_name_label').style.color='black';
                	document.getElementById('recipient_name_label').style.fontWeight='normal';
        	}
	}
	else
	{
		if(isWhitespace(f.recipient_first_name.value) && isWhitespace(f.recipient_last_name.value))
		{
                	document.getElementById('recipient_first_name_label').style.color='red';
                	document.getElementById('recipient_first_name_label').style.fontWeight='bold';
                	document.getElementById('recipient_last_name_label').style.color='red';
                	document.getElementById('recipient_last_name_label').style.fontWeight='bold';
                	erroronform="yes";
		}
		else
		{
                	document.getElementById('recipient_first_name_label').style.color='black';
                	document.getElementById('recipient_first_name_label').style.fontWeight='normal';
                	document.getElementById('recipient_last_name_label').style.color='black';
                	document.getElementById('recipient_last_name_label').style.fontWeight='normal';
		}
	}
        if (isWhitespace(f.recipient_street_address.value) && !(f.deliverytype[1].checked))
        {
                document.getElementById('recipient_street_address_label').style.color='red';
                document.getElementById('recipient_street_address_label').style.fontWeight='bold';
                erroronform="yes";
        }
        else
        {
                document.getElementById('recipient_street_address_label').style.color='black';
                document.getElementById('recipient_street_address_label').style.fontWeight='normal';
        }
        if (isWhitespace(f.recipient_city.value) && !(f.deliverytype[1].checked))
        {
                document.getElementById('recipient_city_label').style.color='red';
                document.getElementById('recipient_city_label').style.fontWeight='bold';
                erroronform="yes";
        }
        else
        {
                document.getElementById('recipient_city_label').style.color='black';
                document.getElementById('recipient_city_label').style.fontWeight='normal';
        }
        if (isWhitespace(f.recipient_state.value) && !(f.deliverytype[1].checked))
        {
                document.getElementById('recipient_state_label').style.color='red';
                document.getElementById('recipient_state_label').style.fontWeight='bold';
                erroronform="yes";
        }
        else
        {
                document.getElementById('recipient_state_label').style.color='black';
                document.getElementById('recipient_state_label').style.fontWeight='normal';
        }
        if (isWhitespace(f.recipient_zip_code.value) && !(f.deliverytype[1].checked))
        {
                document.getElementById('recipient_zip_code_label').style.color='red';
                document.getElementById('recipient_zip_code_label').style.fontWeight='bold';
                erroronform="yes";
        }
        else
        {
                document.getElementById('recipient_zip_code_label').style.color='black';
                document.getElementById('recipient_zip_code_label').style.fontWeight='normal';
        }
	if(f.Shipping)
	{
        	if (isWhitespace(getRadioButtonValue(f.Shipping)))
        	{
                	document.getElementById('shipping_label').style.color='red';
                	document.getElementById('shipping_label').style.fontWeight='bold';
	                erroronform="yes";
		}
        	else
        	{
                	document.getElementById('shipping_label').style.color='black';
                	document.getElementById('shipping_label').style.fontWeight='normal';
        	}
	}
        if ((isWhitespace(f.recipient_phone.value) || !(isAtLeastTenDigits(f.recipient_phone.value))) && !(f.deliverytype[1].checked))
        {
                document.getElementById('recipient_phone_label').style.color='red';
                document.getElementById('recipient_phone_label').style.fontWeight='bold';
                erroronform="yes";
        }
        else
        {
                document.getElementById('recipient_phone_label').style.color='black';
                document.getElementById('recipient_phone_label').style.fontWeight='normal';
        }
        if (!(isEmail(f.recipient_email_address.value,true)) && !(f.deliverytype[1].checked))
        {
                document.getElementById('recipient_email_address_label').style.color='red';
                document.getElementById('recipient_email_address_label').style.fontWeight='bold';
                erroronform="yes";
        }
        else
        {
                document.getElementById('recipient_email_address_label').style.color='black';
                document.getElementById('recipient_email_address_label').style.fontWeight='normal';
        }
        if (isWhitespace(f.Occasion.value))
        {
                document.getElementById('Occasion_label').style.color='red';
                document.getElementById('Occasion_label').style.fontWeight='bold';
                erroronform="yes";
        }
        else
        {
                document.getElementById('Occasion_label').style.color='black';
                document.getElementById('Occasion_label').style.fontWeight='normal';
        }
        if (isWhitespace(f.Residence.value) && !(f.deliverytype[1].checked))
        {
                document.getElementById('Residence_label').style.color='red';
                document.getElementById('Residence_label').style.fontWeight='bold';
                erroronform="yes";
        }
        else
        {
                document.getElementById('Residence_label').style.color='black';
                document.getElementById('Residence_label').style.fontWeight='normal';
        }
        if (erroronform == "yes")
        {
		f.validimage.src = "/gifs/validerror.gif";
		f.validimage2.src = "/gifs/validerror.gif";
                return false;
        }
}
function isEmpty(s)
{
        return ((s == null) || (s.length == 0))
}
function isWhitespace (s)
{
        var whitespace = " \t\n\r";
        var i;
        if (isEmpty(s)) return true;
        for (i = 0; i < s.length; i++)
        {
                var c = s.charAt(i);
                if (whitespace.indexOf(c) == -1) return false;
        }
        return true;
}
function getRadioButtonValue (radio)
{
	for (var i = 0; i < radio.length; i++)
	{
		if (radio[i].checked) { break }
	}
	if(i==radio.length)
	{
		return "";
	}
	else
	{
		return radio[i].value
	}
}
function reformat (s)
{
	var arg;
	var sPos = 0;
	var resultString = "";
	for (var i = 1; i < reformat.arguments.length; i++)
	{
		arg = reformat.arguments[i];
		if (i % 2 == 1) resultString += arg;
		else
		{
			resultString += s.substring(sPos, sPos + arg);
			sPos += arg;
		}
	}
	return resultString;
}
function reformatUSPhone (USPhone)
{
	return (reformat (USPhone, "(", 3, ") ", 3, "-", 4))
}
function stripCharsNotInBag (s, bag)
{
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (bag.indexOf(c) != -1) returnString += c;
	}
	return returnString;
}
function checkUSPhone (theField, emptyOK)
{
	if (checkUSPhone.arguments.length == 1) emptyOK = defaultEmptyOK;
	if ((emptyOK == true) && (isEmpty(theField.value))) return true;
	else
	{
		var normalizedPhone = stripCharsNotInBag(theField.value, digits)
		if(normalizedPhone.length == 7) normalizedPhone= "   "+normalizedPhone;
		if((normalizedPhone.length == 11) && (normalizedPhone.charAt(0) == "1"))
		{
			var tmpvar = normalizedPhone.substring(1,normalizedPhone.length);
			normalizedPhone = tmpvar;
		}
		if(!(isWhitespace(normalizedPhone)) && normalizedPhone.length == 10)
		{
			theField.value = reformatUSPhone(normalizedPhone)
		}
		return true;
	}
}
function isAtLeastTenDigits(s)
{
	var normalizedPhone=stripCharsNotInBag(s,digits);
	if(normalizedPhone.length < 10) return false;
	return true;
}
function isEmail (s)
{
	if (isEmpty(s))
		if (isEmail.arguments.length == 1) return defaultEmptyOK;
		else return (isEmail.arguments[1] == true);
                if(s.indexOf("&") != -1) return false;
                if(s.indexOf("#") != -1) return false;
                if(s.indexOf("!") != -1) return false;
                if(s.indexOf("%") != -1) return false;
                if(s.indexOf("*") != -1) return false;
                if(s.indexOf("(") != -1) return false;
                if(s.indexOf(")") != -1) return false;
                if(s.indexOf("^") != -1) return false;
		if (isWhitespace(s)) return false;
		var i = 1;
		var sLength = s.length;
		while ((i < sLength) && (s.charAt(i) != "@"))
		{
			i++
		}
		if ((i >= sLength) || (s.charAt(i) != "@")) return false;
		else i += 2;
		while ((i < sLength) && (s.charAt(i) != "."))
		{
			i++
		}
		if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
		else return true;
}

