var error = "#ffa";
var noerror = "#fff";
var timeout;
var speed = 5; 


String.prototype.trim = function()

{

	return this.replace(/^\s+|\s+$/g,"");

}

function addToFavorites()
{ 
	var urlAddress = "http://www.smockedtreasures.com"; 
	var pageName = "Smocked Treasures - Christening Gowns, Christening Rompers, Communion Dresses, Christening Dresses and Baptism Gowns"; 

	if( window.external ) { // IE
		window.external.AddFavorite(urlAddress,pageName);
	} else if( window.sidebar ) { // Mozilla Firefox Bookmark
        window.sidebar.addPanel(urlAddress,pageName,"");
    } else if( window.opera && window.print ) { // Opera Hotlist
        this.title = pageName;
	} else if( window.chrome ) {
		alert('Press ctrl+D to bookmark after you click Ok');
	} 
} 

function mailpage()
{
	mail_str = "mailto:?subject=Check out the " + document.title;
	mail_str += "&body=I thought you might be interested in the " + document.title;
	mail_str += ". You can view it at, " + location.href; 
	location.href = mail_str;
}

function updateHomePage( i )
{
 	/*changeOpac(0,'main1');
  	for( i = 100; i >= 0; i-- ) { 
        changeOpac(i,'main4'); 
    } */
    var next = "";

	if( i == "1" ) {
  		document.getElementById("cat1").style.display = "block";
  		document.getElementById("cat2").style.display = "none";
  		document.getElementById("cat3").style.display = "none";
  		document.getElementById("cat4").style.display = "none";
  		document.getElementById("cat5").style.display = "none";
  		document.getElementById("cat6").style.display = "none";
  		document.getElementById("but1").style.background = "#ffc9c9";
  		document.getElementById("but2").style.background = "#ffe9e9";
  		document.getElementById("but3").style.background = "#ffe9e9";
  		document.getElementById("but4").style.background = "#ffe9e9";
  		document.getElementById("but5").style.background = "#ffe9e9";
  		document.getElementById("but6").style.background = "#ffe9e9";
  		next = "2";
	} else if( i == "2" ) {
		document.getElementById("cat1").style.display = "none";
  		document.getElementById("cat2").style.display = "block";
  		document.getElementById("cat3").style.display = "none";
  		document.getElementById("cat4").style.display = "none";
  		document.getElementById("cat5").style.display = "none";
  		document.getElementById("cat6").style.display = "none";
  		document.getElementById("but1").style.background = "#ffe9e9";
  		document.getElementById("but2").style.background = "#ffc9c9";
  		document.getElementById("but3").style.background = "#ffe9e9";
  		document.getElementById("but4").style.background = "#ffe9e9";
  		document.getElementById("but5").style.background = "#ffe9e9";
  		document.getElementById("but6").style.background = "#ffe9e9";
  		next = "3";
	} else if( i == "3" ) {
		document.getElementById("cat1").style.display = "none";
  		document.getElementById("cat2").style.display = "none";
  		document.getElementById("cat3").style.display = "block";
  		document.getElementById("cat4").style.display = "none";
  		document.getElementById("cat5").style.display = "none";
  		document.getElementById("cat6").style.display = "none";
  		document.getElementById("but1").style.background = "#ffe9e9";
  		document.getElementById("but2").style.background = "#ffe9e9";
  		document.getElementById("but3").style.background = "#ffc9c9";
  		document.getElementById("but4").style.background = "#ffe9e9";
  		document.getElementById("but5").style.background = "#ffe9e9";
  		document.getElementById("but6").style.background = "#ffe9e9";
  		next = "4";
	} else if( i == "4" ) {
		document.getElementById("cat1").style.display = "none";
  		document.getElementById("cat2").style.display = "none";
  		document.getElementById("cat3").style.display = "none";
  		document.getElementById("cat4").style.display = "block";
  		document.getElementById("cat5").style.display = "none";
  		document.getElementById("cat6").style.display = "none";
  		document.getElementById("but1").style.background = "#ffe9e9";
  		document.getElementById("but2").style.background = "#ffe9e9";
  		document.getElementById("but3").style.background = "#ffe9e9";
  		document.getElementById("but4").style.background = "#ffc9c9";
  		document.getElementById("but5").style.background = "#ffe9e9";
  		document.getElementById("but6").style.background = "#ffe9e9";
  		next = "5";
	} else if( i == "5" ) {
		document.getElementById("cat1").style.display = "none";
  		document.getElementById("cat2").style.display = "none";
  		document.getElementById("cat3").style.display = "none";
  		document.getElementById("cat4").style.display = "none";
  		document.getElementById("cat5").style.display = "block";
  		document.getElementById("cat6").style.display = "none";
  		document.getElementById("but1").style.background = "#ffe9e9";
  		document.getElementById("but2").style.background = "#ffe9e9";
  		document.getElementById("but3").style.background = "#ffe9e9";
  		document.getElementById("but4").style.background = "#ffe9e9";
  		document.getElementById("but5").style.background = "#ffc9c9";
  		document.getElementById("but6").style.background = "#ffe9e9";
  		next = "6";
	} else if( i == "6" ) {
		document.getElementById("cat1").style.display = "none";
  		document.getElementById("cat2").style.display = "none";
  		document.getElementById("cat3").style.display = "none";
  		document.getElementById("cat4").style.display = "none";
  		document.getElementById("cat5").style.display = "none";
  		document.getElementById("cat6").style.display = "block";
  		document.getElementById("but1").style.background = "#ffe9e9";
  		document.getElementById("but2").style.background = "#ffe9e9";
  		document.getElementById("but3").style.background = "#ffe9e9";
  		document.getElementById("but4").style.background = "#ffe9e9";
  		document.getElementById("but5").style.background = "#ffe9e9";
  		//document.getElementById("but6").style.background = "#ffc9c9";
  		next = "1";
	}

  	clearTimeout(timeout);
  	timeout = setTimeout("updateHomePage('"+next+"')", 8000);
  	
  	/*for( i = 1; i <= 100; i++ ) { 
        changeOpac(i,'main1'); 
    } */

}

function isNumeric( text )

{

	var validChars = "0123456789";

	var number = true;

	var character;

	

	for( i = 0; i < text.length && number == true; i++ ) {

		character = text.charAt(i);

		if( validChars.indexOf(character) == -1 ) {

			number = false;

		}

	}

	

	return number;

}



function toggle( id )

{

	var element = document.getElementById(id);

	if( element.style.display == "block" ) {

		element.style.display = "none";

	} else {

		element.style.display = "block";

	}

}



/***************************************************************************************/



function validateBilling( form )

{

	var test = true;

	var message = "Billing Submission Error\n-------------------------------------------------------";

	

	// Name

	var url = form.name.value;

	if( (form.name.value == null) || (form.name.value.trim() == "") ) {

	 	if( test == true ) form.name.focus();

		form.name.style.background = error;

		test = false;

		message += "\nIncorrect customer name";

	} else {

		form.name.style.background = noerror;

	}

	

	// Address 1

	if( (form.address1.value == null) || (form.address1.value.trim() == "") ) {

	 	if( test == true ) form.address1.focus();

		form.address1.style.background = error;

		test = false;

		message += "\nIncorrect Address 1";

	} else {

		form.address1.style.background = noerror;

	}

	

	if( form.ctype[0].checked == true ) {

	

		// City

		if( (form.city.value == null) || (form.city.value.trim() == "") ) {

		 	if( test == true ) form.city.focus();

			form.city.style.background = error;

			test = false;

			message += "\nIncorrect City";

		} else {

			form.city.style.background = noerror;

		}

		

		// State

		if( (form.state.value == null) || (form.state.value.trim() == "") ) {

		 	if( test == true ) form.state.focus();

			form.state.style.background = error;

			test = false;

			message += "\nIncorrect State";

		} else {

			form.state.style.background = noerror;

		}

		

		// Zip code 1

		if( (form.zip1.value == null) || (form.zip1.value.trim() == "") || 

			(isNumeric(form.zip1.value.trim()) == false) || (form.zip1.value.length != 5) ) {

		 	if( test == true ) form.zip1.focus();

			form.zip1.style.background = error;

			test = false;

			message += "\nIncorrect Zip code (section 1)";

		} else {

			form.zip1.style.background = noerror;

		}

		

		// Zip code 2

		if( (form.zip2.value != null) && (form.zip2.value.trim() != "") && 

			((isNumeric(form.zip2.value.trim()) == false) || (form.zip2.value.length != 4)) ) {

		 	if( test == true ) form.zip2.focus();

			form.zip2.style.background = error;

			test = false;

			message += "\nIncorrect Zip code (section 2)";

		} else {

			form.zip2.style.background = noerror;

		}

	

	// International

	} else {

		// Address 1

		if( (form.address2.value == null) || (form.address2.value.trim() == "") ) {

		 	if( test == true ) form.address2.focus();

			form.address2.style.background = error;

			test = false;

			message += "\nIncorrect Address 2";

		} else {

			form.address2.style.background = noerror;

		}

		

		// Country

		if( (form.country.value == null) || (form.country.value.trim() == "") ) {

		 	if( test == true ) form.country.focus();

			form.country.style.background = error;

			test = false;

			message += "\nIncorrect Country ";

		} else {

			form.country.style.background = noerror;

		}

	}

	

	// Phone # 1

	if( (form.phone1.value == null) || (form.phone1.value.trim() == "") || 

		(isNumeric(form.phone1.value.trim()) == false) || (form.phone1.value.length != 3) ) {

	 	if( test == true ) form.phone1.focus();

		form.phone1.style.background = error;

		test = false;

		message += "\nIncorrect Phone # (section 1)";

	} else {

		form.phone1.style.background = noerror;

	}

	

	// Phone # 2

	if( (form.phone2.value == null) || (form.phone2.value.trim() == "") || 

		(isNumeric(form.phone2.value.trim()) == false) || (form.phone2.value.length != 3) ) {

	 	if( test == true ) form.phone2.focus();

		form.phone2.style.background = error;

		test = false;

		message += "\nIncorrect Phone # (section 2)";

	} else {

		form.phone2.style.background = noerror;

	}

	

	// Phone # 3

	if( (form.phone3.value == null) || (form.phone3.value.trim() == "") || 

		(isNumeric(form.phone3.value.trim()) == false) || (form.phone3.value.length != 4) ) {

	 	if( test == true ) form.phone3.focus();

		form.phone3.style.background = error;

		test = false;

		message += "\nIncorrect Phone # (section 3)";

	} else {

		form.phone3.style.background = noerror;

	}

	

	// Fax number 1

	if( (form.fax1.value != null) && (form.fax1.value.trim() != "") && 

		((isNumeric(form.fax1.value.trim()) == false) || (form.fax1.value.length != 4)) ) {

	 	if( test == true ) form.fax1.focus();

		form.fax1.style.background = error;

		test = false;

		message += "\nIncorrect Fax number (section 1)";

	} else {

		form.fax1.style.background = noerror;

	}

	

	// Fax number 2

	if( (form.fax2.value != null) && (form.fax2.value.trim() != "") && 

		((isNumeric(form.fax2.value.trim()) == false) || (form.fax2.value.length != 4)) ) {

	 	if( test == true ) form.fax2.focus();

		form.fax2.style.background = error;

		test = false;

		message += "\nIncorrect Fax number (section 2)";

	} else {

		form.fax2.style.background = noerror;

	}

	

	// Fax number 3

	if( (form.fax3.value != null) && (form.fax3.value.trim() != "") && 

		((isNumeric(form.fax3.value.trim()) == false) || (form.fax3.value.length != 4)) ) {

	 	if( test == true ) form.fax3.focus();

		form.fax3.style.background = error;

		test = false;

		message += "\nIncorrect Fax number (section 3)";

	} else {

		form.fax3.style.background = noerror;

	}

	

	// Date needed
	if( (form.needed.value == null) || (form.needed.value.trim() == "") ) {

	 	if( test == true ) form.needed.focus();

		form.needed.style.background = error;

		test = false;

		message += "\nIncorrect Date Needed";
	
	} else if( (form.needed.value >= "09/10/2011") && (form.needed.value <= "09/19/2011") ) {
	 	if( test == true ) form.needed.focus();
		form.needed.style.background = error;
		test = false;
		message += "\nIncorrect Date Needed";

	} else {

		form.needed.style.background = noerror;

	}

	var d1 = new Date(form.needed.value);
	var d2 = new Date();
	var days = DateDiff.inDays(d2, d1);
	
	// Make sure Date needed greater than today
	if( days < 0 ) {
		if( test == true ) form.shipmethod.focus();
		form.shipmethod.style.background = error;
		test = false;
		message += "\nDate Needed is earlier than the current date.";
	
	// Make sure Date needed is within 7 days - otherwise force express shipping.
	} else if( form.shipmethod.value == "Priority" ) {
		if( days <= 7 ) {
			if( test == true ) form.shipmethod.focus();
			form.shipmethod.style.background = error;
			test = false;
			message += "\nShipping Method: Date Needed is less than 7 days away. Any order needed within 7 days must use Express shipping.";
		} else {
			form.shipmethod.style.background = noerror;
		}
	}
	

	if( form.policies.checked == true ) {

		form.policies.style.background = noerror;

	} else {

	 	if( test == true ) form.policies.focus();

		form.policies.style.background = error;

		test = false;

		message += "\n\nYou must agree to the store policies before placing your order.";

	}

	

	if( test == false ) {

		alert(message);

	}

	

	return test;

}



function validateShipping( form )

{

	var test = true;

	var message = "Shipping Submission Error\n-------------------------------------------------------";

	

	// Name

	var url = form.name.value;

	if( (form.name.value == null) || (form.name.value.trim() == "") ) {

	 	if( test == true ) form.name.focus();

		form.name.style.background = error;

		test = false;

		message += "\nIncorrect customer name";

	} else {

		form.name.style.background = noerror;

	}

	

	// Address 1

	if( (form.address1.value == null) || (form.address1.value.trim() == "") ) {

	 	if( test == true ) form.address1.focus();

		form.address1.style.background = error;

		test = false;

		message += "\nIncorrect Address 1";

	} else {

		form.address1.style.background = noerror;

	}

	

	if( form.ctype[0].checked == true ) {

		// City

		if( (form.city.value == null) || (form.city.value.trim() == "") ) {

		 	if( test == true ) form.city.focus();

			form.city.style.background = error;

			test = false;

			message += "\nIncorrect City";

		} else {

			form.city.style.background = noerror;

		}

		

		// State

		if( (form.state.value == null) || (form.state.value.trim() == "") ) {

		 	if( test == true ) form.state.focus();

			form.state.style.background = error;

			test = false;

			message += "\nIncorrect State";

		} else {

			form.state.style.background = noerror;

		}

		

		// Zip code 1

		if( (form.zip1.value == null) || (form.zip1.value.trim() == "") || 

			(isNumeric(form.zip1.value.trim()) == false) || (form.zip1.value.length != 5) ) {

		 	if( test == true ) form.zip1.focus();

			form.zip1.style.background = error;

			test = false;

			message += "\nIncorrect Zip code (section 1)";

		} else {

			form.zip1.style.background = noerror;

		}

		

		// Zip code 2

		if( (form.zip2.value != null) && (form.zip2.value.trim() != "") && 

			((isNumeric(form.zip2.value.trim()) == false) || (form.zip2.value.length != 4)) ) {

		 	if( test == true ) form.zip2.focus();

			form.zip2.style.background = error;

			test = false;

			message += "\nIncorrect Zip code (section 2)";

		} else {

			form.zip2.style.background = noerror;

		}

		

	// International

	} else {

		// Address 1

		if( (form.address2.value == null) || (form.address2.value.trim() == "") ) {

		 	if( test == true ) form.address2.focus();

			form.address2.style.background = error;

			test = false;

			message += "\nIncorrect Address 2";

		} else {

			form.address2.style.background = noerror;

		}

		

		// Country

		if( (form.country.value == null) || (form.country.value.trim() == "") ) {

		 	if( test == true ) form.country.focus();

			form.country.style.background = error;

			test = false;

			message += "\nIncorrect Country ";

		} else {

			form.country.style.background = noerror;

		}

	}

	

	// Phone # 1

	if( (form.phone1.value == null) || (form.phone1.value.trim() == "") || 

		(isNumeric(form.phone1.value.trim()) == false) || (form.phone1.value.length != 3) ) {

	 	if( test == true ) form.phone1.focus();

		form.phone1.style.background = error;

		test = false;

		message += "\nIncorrect Phone # (section 1)";

	} else {

		form.phone1.style.background = noerror;

	}

	

	// Phone # 2

	if( (form.phone2.value == null) || (form.phone2.value.trim() == "") || 

		(isNumeric(form.phone2.value.trim()) == false) || (form.phone2.value.length != 3) ) {

	 	if( test == true ) form.phone2.focus();

		form.phone2.style.background = error;

		test = false;

		message += "\nIncorrect Phone # (section 2)";

	} else {

		form.phone2.style.background = noerror;

	}

	

	// Phone # 3

	if( (form.phone3.value == null) || (form.phone3.value.trim() == "") || 

		(isNumeric(form.phone3.value.trim()) == false) || (form.phone3.value.length != 4) ) {

	 	if( test == true ) form.phone3.focus();

		form.phone3.style.background = error;

		test = false;

		message += "\nIncorrect Phone # (section 3)";

	} else {

		form.phone3.style.background = noerror;

	}

	

	if( test == false ) {

		alert(message);

	}

	

	return test;

}



function validatePayment( form )

{

	var test = true;

	var message = "Payment Submission Error\n-------------------------------------------------------";

	

	// Name

	var url = form.cardtype.value;

	if( (form.cardtype.value == null) || (form.cardtype.value.trim() == "") ) {

	 	if( test == true ) form.cardtype.focus();

		form.cardtype.style.background = error;

		test = false;

		message += "\nIncorrect card type";

	} else {

		form.cardtype.style.background = noerror;

	}

	

	// Card # 1

	if( (form.card1.value == null) || (form.card1.value.trim() == "") || 

		(isNumeric(form.card1.value.trim()) == false) || (form.card1.value.length != 4) ) {

	 	if( test == true ) form.card1.focus();

		form.card1.style.background = error;

		test = false;

		message += "\nIncorrect Card # (section 1)";

	} else {

		form.card1.style.background = noerror;

	}

	

	// Card # 2

	if( (form.card2.value == null) || (form.card2.value.trim() == "") || 

		(isNumeric(form.card2.value.trim()) == false) || (form.card2.value.length != 4) ) {

	 	if( test == true ) form.card2.focus();

		form.card2.style.background = error;

		test = false;

		message += "\nIncorrect Card # (section 2)";

	} else {

		form.card2.style.background = noerror;

	}

	

	// Card # 3

	if( (form.card3.value == null) || (form.card3.value.trim() == "") || 

		(isNumeric(form.card3.value.trim()) == false) || (form.card3.value.length != 4) ) {

	 	if( test == true ) form.card3.focus();

		form.card3.style.background = error;

		test = false;

		message += "\nIncorrect Card # (section 3)";

	} else {

		form.card3.style.background = noerror;

	}

	

	// Card # 4

	if( (form.card4.value == null) || (form.card4.value.trim() == "") || 

		(isNumeric(form.card4.value.trim()) == false) || (form.card4.value.length != 4) ) {

	 	if( test == true ) form.card4.focus();

		form.card4.style.background = error;

		test = false;

		message += "\nIncorrect Card # (section 4)";

	} else {

		form.card4.style.background = noerror;

	}

	

	// Expiration month

	if( (form.expmonth.value == null) || (form.expmonth.value.trim() == "") ) {

	 	if( test == true ) form.expmonth.focus();

		form.expmonth.style.background = error;

		test = false;

		message += "\nIncorrect expiration month";

	} else {

		form.expmonth.style.background = noerror;

	}

	

	// Expiration year

	if( (form.expyear.value == null) || (form.expyear.value.trim() == "") ) {

	 	if( test == true ) form.expyear.focus();

		form.expyear.style.background = error;

		test = false;

		message += "\nIncorrect expiration year";

	} else {

		form.expyear.style.background = noerror;

	}

	

	// Expiration

	var today = new Date();

	var month = today.getMonth() + 1;

	if( month < 10 ) {

		month = "0" + month;

	}

	today = today.getFullYear() + "" + month;

	if( test == true ) {

	 	var expdate = form.expyear.value + "" + form.expmonth.value;

		if( expdate < today ) {

			form.expmonth.style.background = error;

			form.expyear.style.background = error;

			test = false;

			message += "\nIncorrect expiration date";

		} else {

			form.expmonth.style.background = noerror;

			form.expyear.style.background = noerror;

			

		}

	}

	

	// Security Code

	/*if( (form.code.value == null) || (form.code.value.trim() == "") || 

		(isNumeric(form.code.value.trim()) == false) || (form.code.value.length < 3) || (form.code.value.length > 4) ) {

	 	if( test == true ) form.code.focus();

		form.code.style.background = error;

		test = false;

		message += "\nIncorrect security code)";

	} else {

		form.code.style.background = noerror;

	}*/

	

	// Card holder

	if( (form.holder.value == null) || (form.holder.value.trim() == "") ) {

	 	if( test == true ) form.holder.focus();

		form.holder.style.background = error;

		test = false;

		message += "\nIncorrect Card holder";

	} else {

		form.holder.style.background = noerror;

	}

	

	if( test == false ) {

		alert(message);

	}

	

	return test;

}



function validateLoginAndCheckout( form )

{

	var test = true;

	var message = "Login Attempt Error\n-------------------------------------------------------";

	

	// Username (Email)

	var url = form.email.value;

	if( (form.email.value == null) || (form.email.value.trim() == "") ) {

	 	if( test == true ) form.email.focus();

		form.email.style.background = error;

		test = false;

		message += "\nInvalid email address";

	} else {

		form.email.style.background = noerror;

	}

	

	// password

	if( (form.password.value == null) || (form.password.value.trim() == "") ) {

	 	if( test == true ) form.password.focus();

		form.password.style.background = error;

		test = false;

		message += "\nIncorrect password";

	} else {

		form.password.style.background = noerror;

	}

	

	if( test == false ) {

		alert(message);

	}

	

	return test;

}



function validateFastCheckout( form )

{

	var test = true;

	var message = "Checkout Submission Error\n-------------------------------------------------------";

		

	if( form.policies.checked == true ) {

		form.policies.style.background = noerror;

	} else {

	 	if( test == true ) form.policies.focus();

		form.policies.style.background = error;

		test = false;

		message += "\n\nYou must agree to the store policies before placing your order.";

	}

	

	if( test == false ) {

		alert(message);

	}

	

	return test;

}



function validateWholesaleRegistration( form )

{

	var test = true;

	var message = "Wholesale Submission Error\n-------------------------------------------------------";

	

	// Company

	if( (form.company.value == null) || (form.company.value.trim() == "") ) {

	 	if( test == true ) form.company.focus();

		form.company.style.background = error;

		test = false;

		message += "\nIncorrect company name";

	} else {

		form.company.style.background = noerror;

	}

	

	// Sales Tax ID

	if( (form.salesid.value == null) || (form.salesid.value.trim() == "") || 

		(isNumeric(form.salesid.value.trim()) == false) ) {

	 	if( test == true ) form.salesid.focus();

		form.salesid.style.background = error;

		test = false;

		message += "\nInvalid Sales ID";

	} else {

		form.salesid.style.background = noerror;

	}

	

	// Name

	if( (form.bname.value == null) || (form.bname.value.trim() == "") ) {

	 	if( test == true ) form.bname.focus();

		form.bname.style.background = error;

		test = false;

		message += "\nIncorrect billing name";

	} else {

		form.bname.style.background = noerror;

	}

	

	// Address 1

	if( (form.baddress1.value == null) || (form.baddress1.value.trim() == "") ) {

	 	if( test == true ) form.baddress1.focus();

		form.baddress1.style.background = error;

		test = false;

		message += "\nIncorrect Billing Address 1";

	} else {

		form.baddress1.style.background = noerror;

	}

	

	// City

	if( (form.bcity.value == null) || (form.bcity.value.trim() == "") ) {

	 	if( test == true ) form.bcity.focus();

		form.bcity.style.background = error;

		test = false;

		message += "\nIncorrect Billing City";

	} else {

		form.bcity.style.background = noerror;

	}

	

	// State

	if( (form.bstate.value == null) || (form.bstate.value.trim() == "") ) {

	 	if( test == true ) form.bstate.focus();

		form.bstate.style.background = error;

		test = false;

		message += "\nIncorrect Billing State";

	} else {

		form.bstate.style.background = noerror;

	}

	

	// Zip code 1

	if( (form.bzip1.value == null) || (form.bzip1.value.trim() == "") || 

		(isNumeric(form.bzip1.value.trim()) == false) || (form.bzip1.value.length != 5) ) {

	 	if( test == true ) form.bzip1.focus();

		form.bzip1.style.background = error;

		test = false;

		message += "\nIncorrect Billing Zip code (section 1)";

	} else {

		form.bzip1.style.background = noerror;

	}

	

	// Zip code 2

	if( (form.bzip2.value != null) && (form.bzip2.value.trim() != "") && 

		((isNumeric(form.bzip2.value.trim()) == false) || (form.bzip2.value.length != 4)) ) {

	 	if( test == true ) form.bzip2.focus();

		form.bzip2.style.background = error;

		test = false;

		message += "\nIncorrect Billing Zip code (section 2)";

	} else {

		form.bzip2.style.background = noerror;

	}

	

	// Phone # 1

	if( (form.bphone1.value == null) || (form.bphone1.value.trim() == "") || 

		(isNumeric(form.bphone1.value.trim()) == false) || (form.bphone1.value.length != 3) ) {

	 	if( test == true ) form.bphone1.focus();

		form.bphone1.style.background = error;

		test = false;

		message += "\nIncorrect Billing Phone # (section 1)";

	} else {

		form.bphone1.style.background = noerror;

	}

	

	// Phone # 2

	if( (form.bphone2.value == null) || (form.bphone2.value.trim() == "") || 

		(isNumeric(form.bphone2.value.trim()) == false) || (form.bphone2.value.length != 3) ) {

	 	if( test == true ) form.bphone2.focus();

		form.bphone2.style.background = error;

		test = false;

		message += "\nIncorrect Billing Phone # (section 2)";

	} else {

		form.bphone2.style.background = noerror;

	}

	

	// Phone # 3

	if( (form.bphone3.value == null) || (form.bphone3.value.trim() == "") || 

		(isNumeric(form.bphone3.value.trim()) == false) || (form.bphone3.value.length != 4) ) {

	 	if( test == true ) form.bphone3.focus();

		form.bphone3.style.background = error;

		test = false;

		message += "\nIncorrect Billing Phone # (section 3)";

	} else {

		form.bphone3.style.background = noerror;

	}

	

	// Fax number 1

	if( (form.bfax1.value != null) && (form.bfax1.value.trim() != "") && 

		((isNumeric(form.bfax1.value.trim()) == false) || (form.bfax1.value.length != 4)) ) {

	 	if( test == true ) form.bfax1.focus();

		form.bfax1.style.background = error;

		test = false;

		message += "\nIncorrect Billing Fax number (section 1)";

	} else {

		form.bfax1.style.background = noerror;

	}

	

	// Fax number 2

	if( (form.bfax2.value != null) && (form.bfax2.value.trim() != "") && 

		((isNumeric(form.bfax2.value.trim()) == false) || (form.bfax2.value.length != 4)) ) {

	 	if( test == true ) form.bfax2.focus();

		form.bfax2.style.background = error;

		test = false;

		message += "\nIncorrect Billing Fax number (section 2)";

	} else {

		form.bfax2.style.background = noerror;

	}

	

	// Fax number 3

	if( (form.bfax3.value != null) && (form.bfax3.value.trim() != "") && 

		((isNumeric(form.bfax3.value.trim()) == false) || (form.bfax3.value.length != 4)) ) {

	 	if( test == true ) form.bfax3.focus();

		form.bfax3.style.background = error;

		test = false;

		message += "\nIncorrect Billing Fax number (section 3)";

	} else {

		form.bfax3.style.background = noerror;

	}

	

	// Email

	if( (form.email.value == null) || (form.email.value.trim() == "") ) {

	 	if( test == true ) form.email.focus();

		form.email.style.background = error;

		test = false;

		message += "\nInvalid email address";

	} else {

		form.email.style.background = noerror;

	}

	

	// Password 1

	if( (form.password1.value == null) || (form.password1.value.trim() == "") || 

		(form.password1.value.length < 6) ) {

	 	if( test == true ) form.password1.focus();

		form.password1.style.background = error;

		test = false;

		message += "\nInvalid Password";

	} else {

		form.password1.style.background = noerror;

	}

	

	// Password 2

	if( (form.password2.value == null) || (form.password2.value.trim() == "") || 

		(form.password2.value.length < 6) ) {

	 	if( test == true ) form.password2.focus();

		form.password2.style.background = error;

		test = false;

		message += "\nInvalid Password";

	} else {

		form.password2.style.background = noerror;

	}

	

	// Passwords do not match

	if( form.password1.value != form.password2.value ) {

	 	if( test == true ) form.password1.focus();

		form.password1.style.background = error;

		form.password2.style.background = error;

		test = false;

		message += "\nInvalid Password";

	} else {

		form.password1.style.background = noerror;

		form.password2.style.background = noerror;

	}

	

	// Shipping information is different from Billing information

	if( form.sameasshipping.checked == false ) {

		

		// Name

		if( (form.sname.value == null) || (form.sname.value.trim() == "") ) {

		 	if( test == true ) form.sname.focus();

			form.sname.style.background = error;

			test = false;

			message += "\nIncorrect Shipping name";

		} else {

			form.sname.style.background = noerror;

		}

		

		// Address 1

		if( (form.saddress1.value == null) || (form.saddress1.value.trim() == "") ) {

		 	if( test == true ) form.saddress1.focus();

			form.saddress1.style.background = error;

			test = false;

			message += "\nIncorrect Shipping Address 1";

		} else {

			form.saddress1.style.background = noerror;

		}

		

		// City

		if( (form.scity.value == null) || (form.scity.value.trim() == "") ) {

		 	if( test == true ) form.scity.focus();

			form.scity.style.background = error;

			test = false;

			message += "\nIncorrect Shipping City";

		} else {

			form.scity.style.background = noerror;

		}

		

		// State

		if( (form.sstate.value == null) || (form.sstate.value.trim() == "") ) {

		 	if( test == true ) form.sstate.focus();

			form.sstate.style.background = error;

			test = false;

			message += "\nIncorrect Shipping State";

		} else {

			form.sstate.style.background = noerror;

		}

		

		// Zip code 1

		if( (form.szip1.value == null) || (form.szip1.value.trim() == "") || 

			(isNumeric(form.szip1.value.trim()) == false) || (form.szip1.value.length != 5) ) {

		 	if( test == true ) form.szip1.focus();

			form.szip1.style.background = error;

			test = false;

			message += "\nIncorrect Shipping Zip code (section 1)";

		} else {

			form.szip1.style.background = noerror;

		}

		

		// Zip code 2

		if( (form.szip2.value != null) && (form.szip2.value.trim() != "") && 

			((isNumeric(form.szip2.value.trim()) == false) || (form.szip2.value.length != 4)) ) {

		 	if( test == true ) form.szip2.focus();

			form.szip2.style.background = error;

			test = false;

			message += "\nIncorrect Shipping Zip code (section 2)";

		} else {

			form.szip2.style.background = noerror;

		}

		

		// Phone # 1

		if( (form.sphone1.value == null) || (form.sphone1.value.trim() == "") || 

			(isNumeric(form.sphone1.value.trim()) == false) || (form.sphone1.value.length != 3) ) {

		 	if( test == true ) form.sphone1.focus();

			form.sphone1.style.background = error;

			test = false;

			message += "\nIncorrect Shipping Phone # (section 1)";

		} else {

			form.sphone1.style.background = noerror;

		}

		

		// Phone # 2

		if( (form.sphone2.value == null) || (form.sphone2.value.trim() == "") || 

			(isNumeric(form.sphone2.value.trim()) == false) || (form.sphone2.value.length != 3) ) {

		 	if( test == true ) form.sphone2.focus();

			form.sphone2.style.background = error;

			test = false;

			message += "\nIncorrect Shipping Phone # (section 2)";

		} else {

			form.sphone2.style.background = noerror;

		}

		

		// Phone # 3

		if( (form.sphone3.value == null) || (form.sphone3.value.trim() == "") || 

			(isNumeric(form.sphone3.value.trim()) == false) || (form.sphone3.value.length != 4) ) {

		 	if( test == true ) form.sphone3.focus();

			form.sphone3.style.background = error;

			test = false;

			message += "\nIncorrect Shipping Phone # (section 3)";

		} else {

			form.sphone3.style.background = noerror;

		}

	}

	

	if( form.policies.checked == true ) {

		form.policies.style.background = noerror;

	} else {

	 	if( test == true ) form.policies.focus();

		form.policies.style.background = error;

		test = false;

		message += "\n\nYou must agree to the store policies before placing your order.";

	}

	

	if( test == false ) {

		alert(message);

	}

	

	return test;

}

function checkall( form )
{
	//var selectall = getElementsById("selectall").checked;
	var elements = document.getElementsByName("delete[]");
	var i;
	//document.write(elements.length+"<br>");
	
	for( i = 0; i < elements.length; i++ ) {
		elements[i].checked = form.selectall.checked;
	}
}

var DateDiff = {
 
    inDays: function(d1, d2) {
        var t2 = d2.getTime();
        var t1 = d1.getTime();
 
        return parseInt((t2-t1)/(24*3600*1000));
    },
 
    inWeeks: function(d1, d2) {
        var t2 = d2.getTime();
        var t1 = d1.getTime();
 
        return parseInt((t2-t1)/(24*3600*1000*7));
    },
 
    inMonths: function(d1, d2) {
        var d1Y = d1.getFullYear();
        var d2Y = d2.getFullYear();
        var d1M = d1.getMonth();
        var d2M = d2.getMonth();
 
        return (d2M+12*d2Y)-(d1M+12*d1Y);
    },
 
    inYears: function(d1, d2) {
        return d2.getFullYear()-d1.getFullYear();
    }
}

