//
// CheckForms Javascript
// Copyright 2002-2004 by altavahealth.com
//

var scr_width = screen.width;
var scr_height = screen.height;


// BOOKMARK THIS SITE

function BookmarkThisSite()
{
var url="http://www.altavahealth.com";
var title="Hair Genesis hair loss treatment products";
if(document.all)

	if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4))
	{
	window.external.AddFavorite(url,title);
	}
	else
	{
	var NS_msg = "Add Hair Genesis to your list of favorites!";
	if(navigator.appName == "Netscape") NS_msg += "  (CTRL-D)";
	document.write(NS_msg);
	}
}



function TellaFriend()
{
	window_top = 40;
	screenX = window_top;
	window_left = 0;
	screenY = window_left;
	popWindow = window.open("http://www.altavahealth.com/customer/tellafriend.htm","tellfriends","scrollbars=yes,resizable=yes,width=625,height=446,screenX,screenY,top=" + window_top + ",left=" + window_left + " ");
	popWindow.opener = self;
	popWindow.focus();
}


function TrackOrderUSPS()
{
	window_top = (scr_height - 30 - 300)/2
	screenX = window_top
	window_left = (scr_width-484)/2
	screenY = window_left
	trackOrder = window.open("http://www.altavahealth.com/customer/trackUSPS.htm","thisOrder","width=484,height=270,screenX,screenY,top=" + window_top + ",left=" + window_left + " ");
	trackOrder.opener = self;
	trackOrder.focus();
}


function TrackOrderUPS()
{
	window_top = (scr_height - 30 - 300)/2
	screenX = window_top
	window_left = (scr_width-484)/2
	screenY = window_left
	trackOrder = window.open("http://www.altavahealth.com/customer/trackUPS.htm","thisOrder","width=484,height=270,screenX,screenY,top=" + window_top + ",left=" + window_left + " ");
	trackOrder.opener = self;
	trackOrder.focus();
}


function doSurvey()
{
	var showSurvey
	window_top = 0
	screenX = window_top
	window_left = 0
	screenY = window_left
	showSurvey = window.open("http://www.altavahealth.com/customer/survey.htm","thisSurvey","menubar,toolbar,location,scrollbars,resizable,status,width=scr_width,height=scr_height,screenX,screenY,top=" + window_top + ",left=" + window_left + " ");
	showSurvey.opener = self;
	window.focus()	
}


function checkContactForm(form)
{

	if(form.Name.value == "")
	{	
		alert("Please enter your name.");
		form.Name.focus();
		return false;
	}

	if(form.City.value == "")
	{	
		alert("Please enter your city.");
		form.City.focus();
		return false;
	}

	if(form.State.value == 0)
	{	
		alert("Please select your State or Province.");
		form.State.focus();
		return false;
	}

	if(form.Telephone.value == "")
	{	
		alert("Please enter your Telephone.");
		form.Telephone.focus();
		return false;
	}		

	if (form.Telephone.value > "")
	{
		if (!checkUSPhone(form.Telephone.value, false))
		{
			alert(iUSPhone);
			form.Telephone.focus();
			form.Telephone.select();
			return false;
		}
		else
		{
			form.Telephone.value = reformatPhoneNumber (normalizedPhone);
		}
	}

	if (form.Country.value == "USA")
	{
		if (form.State.value.indexOf("US") == -1)
		{
			alert("The Country field shows 'USA',\nbut you have not selected a U.S. state.");
			form.State.focus();
			form.State.select();
			return false;
		}
	}

	if (form.Country.value == "Canada") 
	{
		if (form.State.value.indexOf("Can") == -1)
		{
			alert("The Country field shows 'Canada',\nbut you have not selected a province of Canada.");
			form.State.focus();
			form.State.select();
			return false;
		}
	}

	if(form.Age.value == 0)
	{	
		alert("Please enter your age.");
		form.Age.focus();
		return false;
	}

	if(form.Email.value == "")
	{	
		alert("Please enter your Email.");
		form.Email.focus();
		return false;
	}

	if (!checkEmail(form.Email.value, false))
	{
		alert(iEmail);
		form.Email.focus();
		form.Email.select();
		return false;
	}
		
}


// variables for checkUSPhone
var digits = "0123456789";
var phoneNumberDelimiters = "-";
var validUSPhoneChars = digits + phoneNumberDelimiters;
var iUSPhone = "Telephone or Fax must be a 10 digit number\nformatted as 212-555-1212."

function checkUSPhone (theField)
{
	normalizedPhone = stripCharsInBag(theField, phoneNumberDelimiters)
	if (!isUSPhoneNumber(normalizedPhone, false))
		return false;
		else return true;
}


function stripCharsInBag (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 isDigit (c)
{
	return ((c >= "0") && (c <= "9"))
}


function isInteger (s)
{
	var i;
	for (i = 0; i < s.length; i++)
	{   
		var c = s.charAt(i);
		if (!isDigit(c)) return false;
	}
	return true;
}


function isUSPhoneNumber (s)
{
	return (isInteger(s) && s.length == 10)
}


function reformatPhoneNumber (TelNo)
{
	var t = "";
	t = TelNo.charAt(0)+TelNo.charAt(1)+TelNo.charAt(2) + "-"	
	t = t + TelNo.charAt(3)+TelNo.charAt(4)+TelNo.charAt(5) + "-"
	t = t + TelNo.charAt(6)+TelNo.charAt(7)+TelNo.charAt(8)+TelNo.charAt(9)
	return t
}


// variables for checkEmail
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz";
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var digits = "0123456789";
var emailDelimiters = "_-@.";
var validEmailChars = lowercaseLetters + uppercaseLetters + digits + emailDelimiters

var iEmail = "";
var iEmail1 = "Please enter your email address.";
var iEmail2 = "Missing email account name or '@' in email address.\n(emailaccount@domainname.ext).";
var iEmail3 = "Missing [ domain name ] or '.' in email address.";
var iEmail4 = "Missing [ domain-ext ] (ie: com, org, net, edu, gov, biz, info)\nin email address.";

function checkEmail (theField)
{
	emailValue = theField;
	emailLength = theField.length;
	if (!checkCharsInBag(emailValue, validEmailChars)) return false;

	var i = 1;
	while ((i < emailLength) && (theField.charAt(i) != "@"))
	{
		i++
	}
	if ((i >= emailLength) || (theField.charAt(i) != "@"))
	{
		iEmail = iEmail2;
		return false;
	}
	else i += 2;
	
	while ((i < emailLength) && (theField.charAt(i) != "."))
	{
		i++
	}
	if ((i >= emailLength) || (theField.charAt(i) != "."))
	{
		iEmail = iEmail3;
		return false;
	}
	
	if ((emailLength - 1 - i) < 2)
	{
		iEmail = iEmail4;
		return false;
	}
	else return true;
}


function checkCharsInBag(s, bag)
{
	var i;
	for (i = 0; i < s.length; i++)
	{
		e = s.charAt(i);
		if (bag.indexOf(e) == -1)
		{
			iChar = "invalid character(s) or space in this field: " + e + "\nYou may only use:\nlower case letters\nUPPERCASE letters,\ndigits 0-9\n_-.@\nbut no spaces.";
			return false;
		}
	}
	return true;
}
