//submenu
sfHover = function()
{

	var sidebar = document.getElementById("sidebar")
	if (sidebar != null) {
		var sfEls = document.getElementById("sidebar").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++)
		{
			sfEls[i].onmouseover = function()
			{
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout = function()
			{
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
}
if (window.attachEvent) { window.attachEvent("onload", sfHover); }


//nav
function navClass(nID) {
	for (x=0; x<navID.length; x++) {
		if (x != nID) { navID[x].className = "reg"; }
	}
}

function navO() {
	for (x=0; x<navID.length; x++) {
		navID[x].className = "";
	}
}

window.onload = function() { navID = document.getElementById("nav").getElementsByTagName("li"); }

function copyShippingInfoFromPrevous(idx) {
	if ( idx <= 0 ) return false;
	
	var objShipping = getAddressFromShipping(idx);
	var objPrevious = getAddressFromShipping(idx - 1);
	
	return copyAddress(objPrevious, objShipping,0);
}

function copyPersonalizationInfoFromShipping(chk, idx) {

	var objShipping = getAddressFromShipping(idx);
	var objPersonalization = getAddressFromPersonalization(idx);
	
	return copyAddress(objShipping, objPersonalization,1);
}

function clearPersonalizationInfo(chk, idx) {

	clearAddressFromPersonalization(idx);
}

function getAddressFromShipping(idx) {
	var obj = new Array();

	obj['salutation']	= document.getElementById("mshippingSalutation" + idx);
	obj['first'] 		= document.getElementById("mshippingFirstName" + idx);
	obj['last'] 		= document.getElementById("mshippingLastName" + idx);
	obj['address1'] 	= document.getElementById("mshippingAddress1" + idx);
	obj['address2'] 	= document.getElementById("mshippingAddress2" + idx);
	obj['city'] 		= document.getElementById("mshippingCity" + idx);
	obj['state'] 		= document.getElementById("mshippingState" + idx);
	obj['zip'] 			= document.getElementById("mshippingPostalCode" + idx);
	
	return obj;
}

function getAddressFromPersonalization(idx) {
	var obj = new Array();
	
	obj['salutation'] 	= null;
	obj['first'] 		= document.getElementById("mperFirstName" + idx);
	obj['last'] 		= null;
	obj['address1'] 	= document.getElementById("mperAddress1" + idx);
	obj['address2'] 	= document.getElementById("mperAddress2" + idx);
	obj['city'] 		= document.getElementById("mperCity" + idx);
	obj['state'] 		= document.getElementById("mperState" + idx);
	obj['zip'] 			= document.getElementById("mperPostalCode" + idx);
	
	return obj;	
}

function clearAddressFromPersonalization(idx) {
	document.getElementById("mperFirstName" + idx).value = '';
	document.getElementById("mperAddress1" + idx).value  = '';
	document.getElementById("mperAddress2" + idx).value  = '';
	document.getElementById("mperCity" + idx).value  = '';
	document.getElementById("mperState" + idx).value  = '';
	document.getElementById("mperPostalCode" + idx).value  = '';
}

function validateAddress(address) {
	//if (!validateField(address['salutation'], 'Salutation is required')) return false;
	if (!validateField(address['first'], 'First Name is required')) return false;
	if (!validateField(address['last'], 'Last Name is required')) return false;
	if (!validateField(address['address1'], 'Address is required')) return false;
	if (!validateField(address['city'], 'City is required')) return false;
	if (!validateField(address['state'], 'State is required')) return false;
	if (!validateField(address['zip'], 'Zip Code is required')) return false;
	if (!validateZipCode(address['zip'], 'Zip Code is invalid')) return false;
	
	return true;
}

function copyAddress(src, dest, bolPersonalize) {
	if ( !validateAddress(src) ) return false;
	
	if ( src['salutation'] && dest['salutation'] ) 	dest['salutation'].value = src['salutation'].value;
	if(bolPersonalize) {
		dest['first'].value = src['first'].value + ' ' + src['last'].value;
	} else {
		if ( src['first'] && dest['first'] ) 			dest['first'].value = src['first'].value;
		if ( src['last'] && dest['last'] ) 				dest['last'].value = src['last'].value;	
	}
	

	if ( src['address1'] && dest['address1'] ) 		dest['address1'].value = src['address1'].value;
	if ( src['address2'] && dest['address2'] ) 		dest['address2'].value = src['address2'].value;
	if ( src['city'] && dest['city'] ) 				dest['city'].value = src['city'].value;
	if ( src['state'] && dest['state'] ) 			dest['state'].value = src['state'].value;
	if ( src['zip'] && dest['zip'] ) 				dest['zip'].value = src['zip'].value;
}

function validateField(field, errorMessage) {
	if ( !field || field.value == '' ) {
		alert(errorMessage);
		if ( field ) {
			field.focus();
		}
		return false;
	}
	
	return true;
}

function validateZipCode(field, errorMessage) {
	var regex = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);
	
	if ( field && field.value != '' && !regex.test(field.value) ) {
		alert(errorMessage);
		if ( field ) {
			field.focus();
		}
		return false;
	}
	
	return true;
}

