
function dumfunc (form)
{
alert("Hi there");
return true;
}
//***************************************************
//***************************************************

var ShipFirstName = "";
var ShipLastName = "";
var ShipAddress1 = "";
var ShipAddress2 = "";
var ShipCity = "";
var ShipState = "";
var ShipStateIndex = 0;
var ShipZip = "";
var ShipPhone = "";


//***************************************************
//***************************************************

function InitSaveVariables(form) 
{

ShipFirstName = form.txtShipToFirstName.value;
ShipLastName = form.txtShipToLastName.value;
ShipAddress1 = form.txtShipToAddress1.value;
ShipAddress2 = form.txtShipToAddress2.value;
ShipCity = form.txtShipToCity.value;
ShipZip = form.txtShipToZip.value;
ShipStateIndex = form.txtShipToState.selectedIndex;
ShipState = form.txtShipToState[ShipStateIndex].value;
ShipPhone = form.txtShipToPhone;

}

//***************************************************
//***************************************************

function ShipToBillPerson(form) 
{
	if (form.chkSameBilling.checked) 
	{
		InitSaveVariables(form);
		form.txtBillToFirstName.value = form.txtShipToFirstName.value;
		form.txtBillToLastName.value = form.txtShipToLastName.value;
		form.txtBillToAddress1.value = form.txtShipToAddress1.value;
		form.txtBillToAddress2.value = form.txtShipToAddress2.value;
		form.txtBillToCity.value = form.txtShipToCity.value;
		form.txtBillToZip.value = form.txtShipToZip.value;
		form.txtBillToState.selectedIndex = form.txtShipToState.selectedIndex;
		form.txtBillToPhone.value = form.txtShipToPhone.value;
	}
	else 
	{
		//form.txtBillToFirstName.value = ShipFirstName;
		//form.txtBillToLastName.value = ShipLastName;
		//form.txtBillToAddress1.value = ShipAddress1;
		//form.txtBillToAddress2.value = ShipAddress2;
		//form.txtBillToCity.value = ShipCity;
		//form.txtBillToZip.value = ShipZip;       
		//form.txtBillToState.selectedIndex = ShipStateIndex;
		//form.txtBillToPhone.value = ShipPhone;
   	}
}

//*****************************************************
//*****************************************************


function handleParent(parentId)
{
	myParent = document.getElementById("collapse" + parentId)

	if (myParent.style.display=="none") {
		myParent.style.display="block";
		document.all("txtExpCol" + parentId).innerText = "-";
	} else {
		myParent.style.display="none";
		document.all("txtExpCol" + parentId).innerText ="+";
	}
}

//***************************************************
//***************************************************

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}

//***************************************************
//***************************************************

function isInteger(theField, frmIndex)
{
   if (theField.value == "")
   {
	return(true);
   }

   var i;
   var sString = theField.value;

   for (i = 0; i < sString.length; i++)
   {
   	var c = sString.charAt(i);
     	if (!((c <= "9") || (c == "0")))
        {
		alert('Please enter an integer for the quantity.');
		theField.focus();
		theField.select();
            	return (false);
        }
   }

}
//***************************************************
//***************************************************


function allDigits(theField)
{
	return inValidCharSet(theField,"0123456789");
}

function inValidCharSet(theField,charset)
{
	var result = true;
	var str = theField.value

	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			alert('Please enter an integer for the quantity.');
			theField.focus();
			theField.select();
			result = false;
			break;
		}
	
	return result;
}
//***************************************************
//***************************************************


function allDigitsUM(theField, frmIndex)
{

	return inValidCharSetUM(theField,"0123456789", frmIndex);
}

function inValidCharSetUM(theField,charset,frmIndex)
{
	var result = true;
	var str;
	var index;

		
	index = 0;


	if (document.forms[index].name == "frmCatalog")
	{
		str = document.frmCatalog.elements[frmIndex].value;
	}
	if (document.forms[index].name == "frmResults")
	{
		str = document.frmResults.elements[frmIndex].value;
	}
	if (document.forms[index].name == "frmDetails"){
		str = document.frmDetails.elements[frmIndex].value;
	}
	

	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}
//***************************************************
//***************************************************

function validCC(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel)) 
		result = false;
  
 	if (result)
 	{
 		if ((!allDigits(formField.value)) || (formField.value.length<16))
 		{
 			alert('Please enter a 16 digit number for the "' + fieldLabel +'" field. \n Omit dashes and spaces.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

//********************************************************
//********************************************************

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}
//********************************************************
//********************************************************

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
  return result;
}
//********************************************************
//********************************************************


function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}
//********************************************************
//********************************************************

function validZip(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel)) 
		result = false;
  
 	if (result)
 	{
 		if ((!allDigits(formField.value)) || (formField.value.length < 5) ||(formField.value.length > 5))
 		{
 			alert('Please enter a 5 digit number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}
//********************************************************
//********************************************************

function validPhone(formField,fieldLabel,required) 
{
	var result=true;
	re = /^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/;
	
	if (required && !validRequired(formField,fieldLabel)) 
		result = false;
		
	if(result)
	{
			validPhone = re.exec(formField.value)
			if (validPhone) 
			{
				formField.value = "(" + validPhone[1] + ") " + validPhone[2] + "-" + validPhone[3];
			}
			else 
			{
				alert(formField.value + " isn't a valid phone number");
				formField.focus();
				formField.select();
				result=false;
			}
	}
	return result;
}
//********************************************************
//********************************************************


function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value);
 		if (isNaN(num))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

//********************************************************
//********************************************************


function isValidCreditCard(type, ccnum) 
{


   if (type == "Visa") 
     {
      // Visa: length 16, prefix 4, dashes optional.
      var re = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/;
     } 
    else if (type == "Mastercard") 
     {
      // Mastercard: length 16, prefix 51-55, dashes optional.
      var re = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/;
     } 
    else if (type == "Discover") 
     {
      // Discover: length 16, prefix 6011, dashes optional.
      var re = /^6011-?\d{4}-?\d{4}-?\d{4}$/;
     } 
    else if (type == "American Express") 
     {
      // American Express: length 15, prefix 34 or 37.
      var re = /^3[4,7]\d{13}$/;
     } 

   if (!re.test(ccnum)) return false;

   // Checksum ("Mod 10")
   // Add even digits in even length strings or odd digits in odd length strings.

   var checksum = 0;
   for (var i=(2-(ccnum.length % 2)); i<=ccnum.length; i+=2) 
   {
      checksum += parseInt(ccnum.charAt(i-1));
   }

   // Analyze odd digits in even length strings or even digits in odd length strings.

   for (var i=(ccnum.length % 2) + 1; i<ccnum.length; i+=2) 
   {
      var digit = parseInt(ccnum.charAt(i-1)) * 2;
      if (digit < 10) { checksum += digit; } else { checksum += (digit-9); }
   }

   if ((checksum % 10) == 0) return true; else return false;
}

//********************************************************
//*******************************************************


function Check_CartCash( form )
{

//alert('Hi there');


if (!floatTest(form.txtCartCash.value))
	{
		alert("Cart Cash entered must be numeric and in a currency format.");  
		form.txtCartCash.focus();  
		return false;
	}


if (parseFloat(form.txtCartCash.value) > parseFloat(form.txtCartCashTotal.value))
	{
		alert("You have applied more Cart Cash than you currently have to spend.");  
		form.txtCartCash.focus();  
		return false;
	}

if (parseFloat(form.txtCartCash.value) > parseFloat(form.txtSubtotal.value))
	{
		alert("You have applied more Cart Cash than your current Subtotal.");  
		form.txtCartCash.focus();  
		return false;
	}



return true;}
//********************************************************
//*******************************************************

//********************************************************
//********************************************************


function checkLogin (form) 
{
if (form.loginEmail.value == "") 
	{ alert("Please enter your Email Address."); form.loginEmail.focus(); return false;}
if (form.loginPassword.value == "") 
	{ alert("Please enter your Password."); form.loginPassword.focus(); return false;} 
return true;}

//***************************************************
//***************************************************


function checkPassword (form) 
{
if (form.loginEmail.value == "") 
	{ alert("Please enter your Email Address."); form.loginEmail.focus(); return false;}
if ( !isEmailAddr(form.loginEmail.value) )
	{
		alert("Pleaser enter a valid Email Address.");
		form.loginEmail.focus();
		return false;
	}
if (form.loginPassword.value == "") 
	{ alert("Please enter your old Password."); form.loginPassword.focus(); return false;} 
if (form.loginPasswordNew.value == "") 
	{ alert("Please enter your new Password."); form.loginPasswordNew.focus(); return false;} 
if ((form.loginPasswordNew.value.length < 4) || (form.loginPasswordNew.value.length > 30))
	{ alert("Password Length Must Be Between 4 and 30 Characters."); form.loginPasswordNew.focus(); return false;} 
if (form.loginPasswordNewRepeat.value == "") 
	{ alert("Please enter your new Password again."); form.loginPasswordNewRepeat.focus(); return false;} 

if (form.loginPasswordNew.value !== form.loginPasswordNewRepeat.value)
	{
		alert("New Passwords Don\'t Match.");  
		form.loginPasswordNewRepeat.focus();  
		return false;
	}
return true;}

//***************************************************
//***************************************************

function check_ContactForm (form) 
{
if (form.txtSubject.value == "") 
	{ alert("Please select a subject for the email."); form.txtSubject.focus(); return false;}
if (form.txtName.value == "") 
	{ alert("Please enter your name."); form.txtName.focus(); return false;} 
if (form.txtEmail.value == "") 
	{ alert("Please enter your email address."); form.txtEmail.focus(); return false;} 

return true;}

//***************************************************
//***************************************************

function checkNewsletterEmail (form) 
{ 
	if (form.txtEmailAddress.value == "") 
	{ alert("Please enter your Email Address."); 
	  form.txtEmailAddress.focus(); 
	  return false;} 
	return true;}

//***************************************************
//***************************************************

function Validate_CreateAccountForm(form)
{

if (form.txtShipToFirstName.value == "")
	{
		alert("Shipping First Name must be filled in.");  
		form.txtShipToFirstName.focus();  
		return false;
	}
if (form.txtShipToLastName.value == "")
	{
		alert("Shipping Last Name must be filled in.");  
		form.txtShipToLastName.focus();  
		return false;
	}
if (form.txtShipToAddress1.value == "")
	{
		alert("Shipping Address must be filled in.");  
		form.txtShipToAddress1.focus();  
		return false;
	}
if (form.txtShipToCity.value == "")
	{
		alert("Shipping City must be filled in.");  
		form.txtShipToCity.focus();  
		return false;
	}
if (form.txtShipToState.value == "")
	{
		alert("Shipping State must be filled in.");  
		form.txtShipToState.focus();  
		return false;
	}
if (form.txtShipToZip.value == "")
	{
		alert("Shipping Zip Code must be filled in.");  
		form.txtShipToZip.focus();  
		return false;
	}
if (form.txtShipToPhone.value == "")
	{
		alert("Shipping Contact Phone Number must be filled in completely.");  
		form.txtShipToPhone.focus();  
		return false;
	}

if (form.txtBillToFirstName.value == "")
{
	alert("Cardholder Name must be filled in.");  
	form.txtBillToFirstName.focus();  
	return false;
}
if (form.txtBillToLastName.value == "")
{
	alert("Cardholder Name must be filled in.");  
	form.txtBillToLastName.focus();  
	return false;
}
if (form.txtBillToAddress1.value == "")
{
	alert("Address on check must be filled in.");  
	form.txtBillToAddress1.focus();  
	return false;
}
if (form.txtBillToCity.value == "")
{
	alert("Billing City must be filled in.");  
	form.txtBillToCity.focus();  
	return false;
}
if (form.txtBillToState.value == "")
{
	alert("Billing State must be selected.");  
	form.txtBillToState.focus();  
	return false;
}
if (form.txtBillToZip.value == "")
{
	alert("Billing Zip Code must be filled in.");  
	form.txtBillToZip.focus();  
	return false;
}
if (form.txtBillToPhone.value == "")
	{
		alert("Billing Phone Number must be filled in completely.");  
		form.txtBillToPhone.focus();  
		return false;
	}

if (form.txtEmail.value == "") 
	{ 
		alert("Please enter your Email Address."); 
	  	form.txtEmail.focus(); 
	  	return false;
	} 
if (!isEmailAddr(form.txtEmail.value))
	{
		alert("Pleaser enter a valid Email Address.");
		form.txtEmail.focus();
		return false;
	}
if (form.txtPassword.value == "")
	{
		alert("Password must be filled in.");  
		form.txtPassword.focus();  
		return false;
	}
if (form.txtRepeatPassword.value == "")
	{
		alert("Password Confirmation must be filled in.");  
		form.txtRepeatPassword.focus();  
		return false;
	}
if (form.txtPassword.value !== form.txtRepeatPassword.value)
	{
		alert("Passwords Don\'t Match.");  
		form.txtRepeatPassword.focus();  
		return false;
	}
return true;
}

//********************************************************
//********************************************************

function Validate_CheckoutForm(form)
{

if (form.txtShipToFirstName.value == "")
	{
		alert("Shipping First Name must be filled in.");  
		form.txtShipToFirstName.focus();  
		return false;
	}
if (form.txtShipToLastName.value == "")
	{
		alert("Shipping Last Name must be filled in.");  
		form.txtShipToLastName.focus();  
		return false;
	}
if (form.txtShipToAddress1.value == "")
	{
		alert("Shipping Address must be filled in.");  
		form.txtShipToAddress1.focus();  
		return false;
	}
if (form.txtShipToCity.value == "")
	{
		alert("Shipping City must be filled in.");  
		form.txtShipToCity.focus();  
		return false;
	}
if (form.txtShipToState.value == "")
	{
		alert("Shipping State must be filled in.");  
		form.txtShipToState.focus();  
		return false;
	}
if (form.txtShipToZip.value == "")
	{
		alert("Shipping Zip Code must be filled in.");  
		form.txtShipToZip.focus();  
		return false;
	}
if (form.txtShipToPhone.value == "")
	{
		alert("Shipping Contact Phone Number must be filled in completely.");  
		form.txtShipToPhone.focus();  
		return false;
	}
var hideBilling = form.hideBillingSection.value;
if (hideBilling=="False") {
	if (form.txtBillToFirstName.value == "")
	{
		alert("Cardholder Name must be filled in.");  
		form.txtBillToFirstName.focus();  
		return false;
	}
	if (form.txtBillToLastName.value == "")
	{
		alert("Cardholder Name must be filled in.");  
		form.txtBillToLastName.focus();  
		return false;
	}
	if (form.txtBillToAddress1.value == "")
	{
		alert("Address on check must be filled in.");  
		form.txtBillToAddress1.focus();  
		return false;
	}
	if (form.txtBillToCity.value == "")
	{
		alert("Billing City must be filled in.");  
		form.txtBillToCity.focus();  
		return false;
	}
	if (form.txtBillToState.value == "")
	{
		alert("Billing State must be selected.");  
		form.txtBillToState.focus();  
		return false;
	}
	if (form.txtBillToZip.value == "")
	{
		alert("Billing Zip Code must be filled in.");  
		form.txtBillToZip.focus();  
		return false;
	}
	if (form.txtBillToPhone.value == "")
		{
			alert("Billing Phone Number must be filled in completely.");  
			form.txtBillToPhone.focus();  
			return false;
		}
}
if (form.txtShippingMethod.value == "") 
	{ 
		alert("Please select a shipping method."); 
	  	form.txtShippingMethod.focus(); 
	  	return false;
	} 
if (form.txtEmail.value == "") 
	{ 
		alert("Please enter your Email Address."); 
	  	form.txtEmail.focus(); 
	  	return false;
	} 
if (!isEmailAddr(form.txtEmail.value))
	{
		alert("Pleaser enter a valid Email Address.");
		form.txtEmail.focus();
		return false;
	}
if (form.txtPassword.value == "")
	{
		alert("Password must be filled in.");  
		form.txtPassword.focus();  
		return false;
	}
if (form.txtRepeatPassword.value == "")
	{
		alert("Password Confirmation must be filled in.");  
		form.txtRepeatPassword.focus();  
		return false;
	}
if (form.txtPassword.value !== form.txtRepeatPassword.value)
	{
		alert("Passwords Don\'t Match.");  
		form.txtRepeatPassword.focus();  
		return false;
	}
if (hideBilling=="False") {
	if (form.txtCardNumber.value == "")
	{
		alert("Credit Card Number must be filled in.");  
		form.txtCardNumber.focus();  
		return false;
	}
	if (form.txtCardCVVcode.value == "")
	{
		alert("Credit Card Security Code must be filled in.");  
		form.txtCardCVVcode.focus();  
		return false;
	}
}
else
{
	form.txtCardNumber.value = "";
	form.txtCardCVVcode.value = "";
	
	form.txtCardType.value = "";
	form.txtCardholderNmae.value = "";
	form.txtCardExpMonth.value = "";
	form.txtCardExpYear.value = "";
}
return true;
}

//********************************************************
//********************************************************

function Validate_CheckoutForm2(form)
{

if (form.txtShipToFirstName.value == "")
	{
		alert("Shipping First Name must be filled in.");  
		form.txtShipToFirstName.focus();  
		return false;
	}
if (form.txtShipToLastName.value == "")
	{
		alert("Shipping Last Name must be filled in.");  
		form.txtShipToLastName.focus();  
		return false;
	}
if (form.txtShipToAddress1.value == "")
	{
		alert("Shipping Address must be filled in.");  
		form.txtShipToAddress1.focus();  
		return false;
	}
if (form.txtShipToCity.value == "")
	{
		alert("Shipping City must be filled in.");  
		form.txtShipToCity.focus();  
		return false;
	}
if (form.txtShipToState.value == "")
	{
		alert("Shipping State must be filled in.");  
		form.txtShipToState.focus();  
		return false;
	}
if (form.txtShipToZip.value == "")
	{
		alert("Shipping Zip Code must be filled in.");  
		form.txtShipToZip.focus();  
		return false;
	}
if (form.txtShipToPhone.value == "")
	{
		alert("Shipping Contact Phone Number must be filled in completely.");  
		form.txtShipToPhone.focus();  
		return false;
	}
if (form.txtBillToFirstName.value == "")
{
	alert("Cardholder Name must be filled in.");  
	form.txtBillToFirstName.focus();  
	return false;
}
if (form.txtBillToLastName.value == "")
{
	alert("Cardholder Name must be filled in.");  
	form.txtBillToLastName.focus();  
	return false;
}
if (form.txtBillToAddress1.value == "")
{
	alert("Address on check must be filled in.");  
	form.txtBillToAddress1.focus();  
	return false;
}
if (form.txtBillToCity.value == "")
{
	alert("Billing City must be filled in.");  
	form.txtBillToCity.focus();  
	return false;
}
if (form.txtBillToState.value == "")
{
	alert("Billing State must be selected.");  
	form.txtBillToState.focus();  
	return false;
}
if (form.txtBillToZip.value == "")
{
	alert("Billing Zip Code must be filled in.");  
	form.txtBillToZip.focus();  
	return false;
}
if (form.txtBillToPhone.value == "")
	{
		alert("Billing Phone Number must be filled in completely.");  
		form.txtBillToPhone.focus();  
		return false;
	}
if (form.txtShippingMethod.value == "") 
	{ 
		alert("Please select a shipping method."); 
	  	form.txtShippingMethod.focus(); 
	  	return false;
	} 

if (form.txtCardNumber.value == "")
{
	alert("Credit Card Number must be filled in.");  
	form.txtCardNumber.focus();  
	return false;
}
if (form.txtCardCVVcode.value == "")
{
	alert("Credit Card Security Code must be filled in.");  
	form.txtCardCVVcode.focus();  
	return false;
}

return true;}

//*****************************************************************************
//*****************************************************************************

function Check_AddShipping ( form )
{

if (form.txtShipToFirstName.value == "")
	{
		alert("Shipping First Name must be filled in.");  
		form.txtShipToFirstName.focus();  
		return false;
	}

if (form.txtShipToLastName.value == "")
	{
		alert("Shipping Last Name must be filled in.");  
		form.txtShipToLastName.focus();  
		return false;
	}

if (form.txtShipToAddress1.value == "")
	{
		alert("Shipping Address must be filled in.");  
		form.txtShipToAddress1.focus();  
		return false;
	}

if (form.txtAddressType[1].checked)
{
	if (form.txtShipToCompany.value == "")
	{
		alert("Company Name Must Be Filled In For Commercial Shipping Addresses.");  
		form.txtShipToCompany.focus();  
		return false;
	}
}

if (form.txtShipToCity.value == "")
	{
		alert("Shipping City must be filled in.");  
		form.txtShipToCity.focus();  
		return false;
	}

if (form.txtShipToState.value == "")
	{
		alert("Shipping State must be filled in.");  
		form.txtShipToState.focus();  
		return false;
	}


if (form.txtShipToZip.value == "")
	{
		alert("Shipping Zip Code must be filled in.");  
		form.txtShipToZip.focus();  
		return false;
	}


if (form.txtShipToPhone.value == "")
	{
		alert("Shipping Contact Phone Number must be filled in completely.");  
		form.txtShipToPhone.focus();  
		return false;
	}


return true;}

//********************************************************
//********************************************************

function floatTest (sNr)
   {
    var reFloatF1 = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/; // format 1
    var reFloatF2 = /^((\d+(\,\d*)?)|((\d*\,)?\d+))$/; // format 2

    return (reFloatF1.test (sNr) || reFloatF2.test (sNr));
   }
//********************************************************
//*******************************************************

function checkEmail (form) 
{ 
	if (form.txtEmail.value == "") 
	{ alert("Please enter your Email Address."); 
	  form.txtEmail.focus(); 
	  return false;} 
	return true;}

//***************************************************
//***************************************************

