/*the base image directory location*/
var base = "images/index.html";

/*********
pop up a new window
*********/
function openWindow(url,x,y,toolbar,scrollbars,resizable)
{
	new_x=x+20;
	new_y=y+20;
	var options = "toolbar=" + toolbar + ",scrollbars=" + scrollbars + ",resizable=" + resizable + ",width=" + new_x + ",height=" + new_y;
	newWindow=window.open(url,"WinOpen",options);
}

/*********
switch an image with an ID
*********/
function switchImage(thisId,thisImageSlice)
{
	//is the text "_off" inside this btn?
	if (document.getElementById(thisId).src.indexOf('_off.') < 0)
	{
		thisImg=base+thisImageSlice+thisId+'_off.gif';
	}
	else
	{
		thisImg=base+thisImageSlice+thisId+'_on.gif';
	}
	//set the image
	document.getElementById(thisId).src=thisImg;
}

/*********
expand code for both browsers
*********/
function expandIt(whichEl){
	var browser=navigator.userAgent.toLowerCase();
	var pos=browser.indexOf("gecko");
	var myElement = document.getElementById(whichEl);
	//do for Gecko Browsers
	if (pos>=0) {
		if (myElement.style.visibility == 'visible') {
			myElement.style.visibility = 'hidden';
			myElement.style.position = 'absolute';
			}
		else {
			myElement.style.position = 'relative';
			myElement.style.visibility = 'visible';
			}
	//do for IE
	} else {
		myElement.style.display = (myElement.style.display == "none" ) ? "" : "none";
	}
}

/*********
toggle the text inside a form on/off
*********/
function toggleFormText(thisId, thisText)
{
	//alert(document.getElementById(thisId).value + ',' + thisText);
	if (document.getElementById(thisId).value == thisText)
	{
		document.getElementById(thisId).value='';
	}
	else if (document.getElementById(thisId).value == '')
	{
		document.getElementById(thisId).value=thisText;
	}
}

/************
toggleSelectMenus - This function hides all select menus on an html page. In IE the select box is always on top so this function counters that bug by 
			   hiding the select boxes so drop down menus aren't trumped. Toggle needs to be either: 'hidden' or 'visible'.
************/
function toggleSelectMenus(toggle) {

	// Loop through all the forms on the page
	for (i=0; i < document.forms.length; i++) {
		
		// Loop through the form's fields
		for (j=0; j < document.forms[i].length; j++) {
			
			// Test whether form object is a drop down menu 
			if (getFormType(document.forms[i].elements[j]) == 'select') {
				
				document.forms[i].elements[j].style.visibility = toggle;
			}
		}
	
	}
}

/************
getFormType - Returns a string name of the type of form object. The types are: select, radio, button, submit, hidden, textarea, text
************/
function getFormType(formObject)
{
	type = formObject.type;

	// Make the select type simpler, we don't care which kind of select as long as it's a select
	if ((formObject.type == 'select-one') || (formObject.type == 'select-multiple'))
		type = 'select';
	
	return type;
}

/*********
validates an email address
*********/
function validateEmail(thisEmail)
{
	//initiate returnMessage variable
	var returnMessage="";

	if(thisEmail == '')
	{
		// alert the user
		returnMessage = "Please type in a valid email address.";
	}
	else
	{
		// function to check email address vilidity
		function emailCheck(emailStr)
		{
			/* The following pattern is used to check if the entered e-mail address
			   fits the user@domain format.  It also is used to separate the username
			   from the domain. */
			var emailPat=/^(.+)@(.+)$/
			/* The following string represents the pattern for matching all special
			   characters.  We don't want to allow special characters in the address.
			   These characters include ( ) < > @ , ; : \ " . [ ]    */
			var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
			/* The following string represents the range of characters allowed in a
			   username or domainname.  It really states which chars aren't allowed. */
			var validChars="\[^\\s" + specialChars + "\]"
			/* The following pattern applies if the "user" is a quoted string (in
			   which case, there are no rules about which characters are allowed
			   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
			   is a legal e-mail address. */
			var quotedUser="(\"[^\"]*\")"
			/* The following pattern applies for domains that are IP addresses,
			   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
			   e-mail address. NOTE: The square brackets are required. */
			var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
			/* The following string represents an atom (basically a series of
			   non-special characters.) */
			var atom=validChars + '+'
			/* The following string represents one word in the typical username.
			   For example, in john.doe@somewhere.com, john and doe are words.
			   Basically, a word is either an atom or quoted string. */
			var word="(" + atom + "|" + quotedUser + ")"
			// The following pattern describes the structure of the user
			var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
			/* The following pattern describes the structure of a normal symbolic
			   domain, as opposed to ipDomainPat, shown above. */
			var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


			/* Finally, let's start trying to figure out if the supplied address is
			   valid. */

			/* Begin with the coarse pattern to simply break up user@domain into
			   different pieces that are easy to analyze. */
			var matchArray=emailStr.match(emailPat);
			//alert(emailStr);
			var checkMatch='-' + matchArray + '-';
			if (checkMatch == "-null-")
			{
			  /* Too many/few @'s or something; basically, this address doesn't
				 even fit the general mould of a valid e-mail address. */
				returnMessage = "The email address seems incorrect (check @ and .'s).";
			}
			else
			{
				var user=matchArray[1];
				var domain=matchArray[2];

				// See if "user" is valid
				if (user.match(userPat)==null)
				{
					// user is not valid
					returnMessage = "The email's username doesn't seem to be valid (before the @).";
				}

				/* if the e-mail address is at an IP address (as opposed to a symbolic
				   host name) make sure the IP address is valid. */
				var IPArray=domain.match(ipDomainPat)
				if (IPArray!=null) {
					// this is an IP address
					  for (var i=1;i<=4;i++) {
						if (IPArray[i]>255) {
							returnMessage = "The email's destination IP address is invalid.";
						}
					}
				}

				// Domain is symbolic name
				var domainArray=domain.match(domainPat)
				if (domainArray==null) {
					returnMessage = "The email's domain name doesn't seem to be valid (after the @).";
				}

				/* domain name seems valid, but now make sure that it ends in a
				   three-letter word (like com, edu, gov) or a two-letter word,
				   representing country (uk, nl), and that there's a hostname preceding
				   the domain or country. */

				/* Now we need to break up the domain to get a count of how many atoms
				   it consists of. */
				var atomPat=new RegExp(atom,"g")
				var domArr=domain.match(atomPat)
				var len=domArr.length
				if (domArr[domArr.length-1].length<2 ||
					domArr[domArr.length-1].length>4) {
				   // the address must end in a two letter or three letter word.
				   returnMessage = "The email must end in a four-letter domain, three-letter domain, or two letter country.";
				}

				// Make sure there's a host name preceding the domain.
				if (len < 2) {
				   returnMessage="This email is missing a hostname!";
				}
			}
		}
		// call the validation function and return its result
		val=emailCheck(thisEmail);
		// if it returns val=no_submit, stop form
	}
	return returnMessage;
}

/************
verify Contact Form
************/
function verifyContactForm()
{
	//form variables
	submitBtnMessage='Saving... Please Wait';
	formName='formContact';

	//initialize submitForm value
	submitForm=true;
	warningMessage="";
	formFocus="";

	//check name
	if (submitForm)
	{
		formElement="name";
		thisDOM=eval('document.' + formName + '.' + formElement);
		if (thisDOM.value == "")
		{
			warningMessage='Please type in your name.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//check the email
	if (submitForm)
	{
		formElement="email_address";
		thisDOM=eval('document.' + formName + '.' + formElement);
		//check the email address
		thisMessage=validateEmail(thisDOM.value);
		//if there is no message sent back, set the alert.
		if (thisMessage.length != 0)
		{
			warningMessage=thisMessage;
			formFocus=formElement;
			submitForm=false;
		}
	}
	//check comment
	if (submitForm)
	{
		formElement="comments";
		thisDOM=eval('document.' + formName + '.' + formElement);
		if (thisDOM.value == "")
		{
			warningMessage='Please type in a comment.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//disable the form if the form checks out
	if (!submitForm)
	{
		alert(warningMessage);
	}

	//focus the form if necessary
	if (formFocus.length > 0)
	{
		thisDOM=eval('document.' + formName + '.' + formFocus);
		thisDOM.focus();
	}

	//return the boolean value whether or not we should submit this form
	return submitForm;
}

/************
verify Newsletter
************/
function verifyNewsletterSubscribe(checkboxCount)
{
	//form variables
	submitBtnMessage='Saving... Please Wait';
	formName='formNewsletterSubscribe';

	//initialize submitForm value
	submitForm=true;
	warningMessage="";
	formFocus="";

	//check name_first
	if (submitForm)
	{
		formElement="name_first";
		thisDOM=eval('document.' + formName + '.' + formElement);
		if (thisDOM.value == "")
		{
			warningMessage='Please type in your first name.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//check name
	if (submitForm)
	{
		formElement="name_last";
		thisDOM=eval('document.' + formName + '.' + formElement);
		if (thisDOM.value == "")
		{
			warningMessage='Please type in your last name.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//check the email
	if (submitForm)
	{
		formElement="email_address";
		thisDOM=eval('document.' + formName + '.' + formElement);
		//check the email address
		thisMessage=validateEmail(thisDOM.value);
		//if there is no message sent back, set the alert.
		if (thisMessage.length != 0)
		{
			warningMessage=thisMessage;
			formFocus=formElement;
			submitForm=false;
		}
	}

	//check for newsletter category checked
	if (submitForm)
	{
		newsletterSelected=false;
		formElement="newsletter_categories";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// loop thru all the checkboxes in the page
		for (var i=1; i <= checkboxCount; i++)
		{
			if (document.getElementById('checkbox' + i).checked)
			{
				newsletterSelected=true;
			}
		}
		// no newsletter selected, don't submit the form
		if (!newsletterSelected)
		{
			warningMessage="Please select a newsletter to subscribe to.";
			submitForm=false;
		}
	}

	//disable the form if the form checks out
	if (!submitForm)
	{
		alert(warningMessage);
	}

	//focus the form if necessary
	if (formFocus.length > 0)
	{
		thisDOM=eval('document.' + formName + '.' + formFocus);
		thisDOM.focus();
	}

	//return the boolean value whether or not we should submit this form
	return submitForm;
}

/************
verify Send to a Friend
************/
function verifySendToAFriend()
{
	//form variables
	submitBtnMessage='Sending... Please Wait';
	formName='formSendToAFriend';

	//initialize submitForm value
	submitForm=true;
	warningMessage="";
	formFocus="";
	toEmailFound=false;

	//check friends_emails
	if (submitForm)
	{
		formElement="to_email_1";
		thisDOM=eval('document.' + formName + '.' + formElement);
		if (thisDOM.value == "")
		{
			warningMessage='Please type in an email address.';
			formFocus=formElement;
			submitForm=false;
		}
		// verify correctly formed email
		else
		{
			// set variable so next function knows a to_email has been found
			toEmailFound=true;
			//check the email address
			thisMessage=validateEmail(thisDOM.value);
			//if there is no message sent back, set the alert.
			if (thisMessage.length != 0)
			{
				warningMessage=thisMessage;
				formFocus=formElement;
				submitForm=false;
				toEmailFound=true;
			}
		}
	}

	//check the second email
	if (!toEmailFound)
	{
		formElement="to_email_2";
		thisDOM=eval('document.' + formName + '.' + formElement);
		if (thisDOM.value == "")
		{
			warningMessage='Please type in an email address.';
			formFocus="to_email_1";
			submitForm=false;
		}
		// verify correctly formed email
		else
		{
			// set variable so next function knows a to_email has been found
			toEmailFound=true;
			//check the email address
			thisMessage=validateEmail(thisDOM.value);
			//if there is no message sent back, set the alert.
			if (thisMessage.length != 0)
			{
				warningMessage=thisMessage;
				formFocus=formElement;
				submitForm=false;
			}
		}
	}

	//check the third email
	if (!toEmailFound)
	{
		formElement="to_email_3";
		thisDOM=eval('document.' + formName + '.' + formElement);
		if (thisDOM.value == "")
		{
			warningMessage='Please type in an email address.';
			formFocus="to_email_1";
			submitForm=false;
		}
		// verify correctly formed email
		else
		{
			//check the email address
			thisMessage=validateEmail(thisDOM.value);
			//if there is no message sent back, set the alert.
			if (thisMessage.length != 0)
			{
				warningMessage=thisMessage;
				formFocus=formElement;
				submitForm=false;
			}
		}
	}

	//check from name
	if (submitForm)
	{
		formElement="from_name";
		thisDOM=eval('document.' + formName + '.' + formElement);
		if (thisDOM.value == "")
		{
			warningMessage='Please type in your name.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//check the email
	if (submitForm)
	{
		formElement="from_email";
		thisDOM=eval('document.' + formName + '.' + formElement);
		//check the email address
		thisMessage=validateEmail(thisDOM.value);
		//if there is no message sent back, set the alert.
		if (thisMessage.length != 0)
		{
			warningMessage=thisMessage;
			formFocus=formElement;
			submitForm=false;
		}
	}

	//disable the form if the form checks out
	if (!submitForm)
	{
		alert(warningMessage);
	}

	//focus the form if necessary
	if (formFocus.length > 0)
	{
		thisDOM=eval('document.' + formName + '.' + formFocus);
		thisDOM.focus();
	}

	//return the boolean value whether or not we should submit this form
	return submitForm;
}

/************
verify Wholesale Form
************/
function verifyWholesaleForm()
{
	//form variables
	submitBtnMessage='Submitting Request... Please Wait';
	formName='formWholesale';

	//initialize submitForm value
	submitForm=true;
	warningMessage="";
	formFocus="";

	//check the title
	if (submitForm)
	{
		formElement="name";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your company name.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//check the email
	if (submitForm)
	{
		formElement="email_address";
		thisDOM=eval('document.' + formName + '.' + formElement);
		//check the email address
		thisMessage=validateEmail(thisDOM.value);
		//if there is no message sent back, set the alert.
		if (thisMessage.length != 0)
		{
			warningMessage=thisMessage;
			formFocus=formElement;
			submitForm=false;
		}
	}

	//phone
	if (submitForm)
	{
		formElement="phone";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your phone number.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//address
	if (submitForm)
	{
		formElement="address";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your address.';
			formFocus=formElement;
			submitForm=false;
		}
	}
	//city
	if (submitForm)
	{
		formElement="city";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your city.';
			formFocus=formElement;
			submitForm=false;
		}
	}
	//state
	if (submitForm)
	{
		formElement="state";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your state.';
			formFocus=formElement;
			submitForm=false;
		}
	}
	//disable the form if the form checks out
	if (!submitForm)
	{
		alert(warningMessage);
	}

	//focus the form if necessary
	if (formFocus.length > 0)
	{
		thisDOM=eval('document.' + formName + '.' + formFocus);
		thisDOM.focus();
	}

	//return the boolean value whether or not we should submit this form
	return submitForm;
}

/************
set the same shipping address
************/
function setSameShippingAddress()
{
	// nameFirst
	document.getElementById('shippingNameFirst').value=document.getElementById('cardNameFirst').value;
	// nameLast
	document.getElementById('shippingNameLast').value=document.getElementById('cardNameLast').value;
	// address
	document.getElementById('shipAddress').value=document.getElementById('billAddress').value;
	// city
	document.getElementById('shipCity').value=document.getElementById('billCity').value;
	// zip
	document.getElementById('shipZip').value=document.getElementById('billZip').value;
	// select the right state
	document.getElementById('shipState').selectedIndex=document.getElementById('billState').selectedIndex;
}

/************
calculate all the Totals
************/
function calculateTotal()
{
	taxAmount=0;
	if (document.getElementById('shipState').value == 'CA')
	{
		// calculate the tax
		taxAmount=(document.getElementById('chargeSubtotal').value * .0825).toFixed(2);
	}
	// set the tax form field
	document.getElementById('chargeTax').value=taxAmount;
	// show the tax
	document.getElementById('taxHTML').innerHTML=taxAmount;
	// get the subtotal
	subtotal=document.getElementById('chargeSubtotal').value;
	// get the shipping cost
	shipping=document.getElementById('chargeShipping').value;
	// set the total
	total=parseFloat(taxAmount) + parseFloat(subtotal) + parseFloat(shipping);
	// set the total field
	document.getElementById('chargeTotal').value=total;
	// show the total
	document.getElementById('totalHTML').innerHTML=total.toFixed(2);
}

/************
verify Checkout Form
************/
function verifyCheckoutForm()
{
	//form variables
	submitBtnMessage='Submitting Request... Please Wait';
	formName='formCheckout';

	//initialize submitForm value
	submitForm=true;
	warningMessage="";
	formFocus="";

	//cardNameFirst
	if (submitForm)
	{
		formElement="cardNameFirst";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in the first name on your credit card.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//cardNameLast
	if (submitForm)
	{
		formElement="cardNameLast";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in the last name on your credit card.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//cardNumber
	if (submitForm)
	{
		formElement="cardNumber";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your credit card number.';
			formFocus=formElement;
			submitForm=false;
		}
	}
	//cardVerificationNumber
	if (submitForm)
	{
		formElement="cardVerificationNumber";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your card verification number.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//expiration_month
	if (submitForm)
	{
		formElement="expiration_month";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please select the month your credit card expires.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//expiration_year
	if (submitForm)
	{
		formElement="expiration_year";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please select the year your credit card expires.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//billAddress
	if (submitForm)
	{
		formElement="billAddress";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your billing address.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//billCity
	if (submitForm)
	{
		formElement="billCity";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your billing city.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//billState
	if (submitForm)
	{
		formElement="billState";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please select your billing state.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//billZip
	if (submitForm)
	{
		formElement="billZip";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your billing zip.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//billPhone
	if (submitForm)
	{
		formElement="billPhone";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your billing phone number.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	// billEmail
	if (submitForm)
	{
		formElement="billEmail";
		thisDOM=eval('document.' + formName + '.' + formElement);
		//check the email address
		thisMessage=validateEmail(thisDOM.value);
		//if there is no message sent back, set the alert.
		if (thisMessage.length != 0)
		{
			warningMessage=thisMessage;
			formFocus=formElement;
			submitForm=false;
		}
	}

	//shippingNameFirst
	if (submitForm)
	{
		formElement="shippingNameFirst";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in the first name of the person receiving the shipment.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//shippingNameLast
	if (submitForm)
	{
		formElement="shippingNameLast";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in the last name of the person receiving the shipment.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//shipAddress
	if (submitForm)
	{
		formElement="shipAddress";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your shipping address.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//shipCity
	if (submitForm)
	{
		formElement="shipCity";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your shipping city.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//shipState
	if (submitForm)
	{
		formElement="shipState";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please select your shipping state.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//shipZip
	if (submitForm)
	{
		formElement="shipZip";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// make sure this value has a non-space character in it.
		if (thisDOM.value.search(/\S/) == -1)
		{
			warningMessage='Please type in your shipping zip.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//disable the form if the form checks out
	if (!submitForm)
	{
		alert(warningMessage);
	}

	//focus the form if necessary
	if (formFocus.length > 0)
	{
		thisDOM=eval('document.' + formName + '.' + formFocus);
		thisDOM.focus();
	}

	//return the boolean value whether or not we should submit this form
	return submitForm;
}

/************
verify Event Registration
************/
function verifyEventRegistration()
{
	//form variables
	submitBtnMessage='Saving Registration Information';
	formName='formEventRegistration';

	//initialize submitForm value
	submitForm=true;
	warningMessage="";
	formFocus="";

	//quantity
	if (submitForm)
	{
		formElement="quantity";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// do we find any non-digit character
		if (thisDOM.value.search(/\D/) > -1)
		{
			warningMessage='Please type in a correct registration quantity number.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//reg_registrants
	if (submitForm)
	{
		formElement="reg_registrants";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// do we find any non-digit character
		if (thisDOM.value == "")
		{
			warningMessage='Please type in the name of the registrant(s).';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//reg_email
	if (submitForm)
	{
		formElement="reg_email";
		thisDOM=eval('document.' + formName + '.' + formElement);
		//check the email address
		thisMessage=validateEmail(thisDOM.value);
		//if there is no message sent back, set the alert.
		if (thisMessage.length != 0)
		{
			warningMessage=thisMessage;
			formFocus=formElement;
			submitForm=false;
		}
	}

	//reg_name
	if (submitForm)
	{
		formElement="reg_name";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// do we find any non-digit character
		if (thisDOM.value == "")
		{
			warningMessage='Please type in your name.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//reg_phone
	if (submitForm)
	{
		formElement="reg_phone";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// do we find any non-digit character
		if (thisDOM.value == "")
		{
			warningMessage='Please type in a phone number we can contact you at.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//reg_address
	if (submitForm)
	{
		formElement="reg_address";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// do we find any non-digit character
		if (thisDOM.value == "")
		{
			warningMessage='Please type in your address.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//reg_address
	if (submitForm)
	{
		formElement="reg_address";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// do we find any non-digit character
		if (thisDOM.value == "")
		{
			warningMessage='Please type in your address.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//reg_city
	if (submitForm)
	{
		formElement="reg_city";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// do we find any non-digit character
		if (thisDOM.value == "")
		{
			warningMessage='Please in your city.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//reg_state
	if (submitForm)
	{
		formElement="reg_state";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// do we find any non-digit character
		if (thisDOM.value == "")
		{
			warningMessage='Please type in your state\'s abbreviation (2 letters).';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//reg_zip
	if (submitForm)
	{
		formElement="reg_zip";
		thisDOM=eval('document.' + formName + '.' + formElement);
		// do we find any non-digit character
		if (thisDOM.value == "")
		{
			warningMessage='Please type in your zip code.';
			formFocus=formElement;
			submitForm=false;
		}
	}

	//disable the form if the form checks out
	if (!submitForm)
	{
		alert(warningMessage);
	}

	//focus the form if necessary
	if (formFocus.length > 0)
	{
		thisDOM=eval('document.' + formName + '.' + formFocus);
		thisDOM.focus();
	}

	//return the boolean value whether or not we should submit this form
	return submitForm;
}

/************
calculate event registration cost
************/
function calculateEventRegistration(quantity,price)
{
	document.getElementById('formEventRegistrationTotal').innerHTML='$ ' + (quantity * price);
}

// loop thru all links in the page, and disable them only if not media library
function disableAllLinks ()
{
	for (var i=0; i < document.links.length; i++)
	{
		document.links[i].onclick=function () { return false; };
		document.links[i].title="All links are disabled while previewing a document.";
	}
	return true;
}
// loop thru all forms in the page, and disable them
function disableAllFormElements ()
{
	for (var i=0; i < document.forms.length; i++)
	{
		for (var j=0; j < document.forms[i].length; j++)
		{
			document.forms[i].elements[j].disabled = true;	
		}
		document.forms[i].onfocus = function () {return false; };
		document.forms[i].onclick = function () { return false; };
		document.forms[i].title="All forms are disabled while previewing a document.";
	}
	return true;
}

