/*
	purpose:
		used in the billing_shipping checkout page
	page:
		/login/checkout/billing_shipping.cfm
	Parameters:
		theform - object reference to the form being passed
*/

function CheckBillingShippingForm(theform)
{
			
		if (!IsWordNumberSpecial(theform.billingfirstname.value))
		{
			alert("Please enter a valid billing first name.");
			theform.billingfirstname.focus();
			return false;
		}
		
		if (!IsWordNumberSpecial(theform.billinglastname.value))
		{
			alert("Please enter a valid billing last name.");
			theform.billinglastname.focus();
			return false;
		}
		
		if (!IsWordNumberSpecial(theform.billingaddress.value))
		{
			alert("Please enter a valid billing address.");
			theform.billingaddress.focus();
			return false;
		}
		
		if (!IsWordNumberSpecial(theform.billingcity.value))
		{
			alert("Please enter a valid billing city.");
			theform.billingcity.focus();
			return false;
		}
	
		if (theform.billingstateid[theform.billingstateid.selectedIndex].value == "")
		{
			alert("Please select a valid state/province.");
			theform.billingstateid.focus();
			return false;
		}
		
		if (!IsWordNumberSpecial(theform.billingpostal.value))
		{
			alert("Please enter a valid billing postal/zip code.");
			theform.billingpostal.focus();
			return false;
		}
	
		if (!IsPhone(theform.billingphone.value))
		{
			alert("Please enter a valid billing phone number.");
			theform.billingphone.focus();
			return false;
		}
		
		if (!IsEmail(theform.billingemail.value))
		{
			alert("Please enter a valid billing email address.");
			theform.billingemail.focus();
			return false;
		}
		
		if (!IsEmail(theform.billingemailconfirm.value))
		{
			alert("Please enter a valid confirmation email address.");
			theform.billingemailconfirm.focus();
			return false;
		}
		
		if (theform.billingemail.value != theform.billingemailconfirm.value)
		{
			alert("Sorry, your billing email and confirmation email are not the same.");
			theform.billingemailconfirm.focus();
			return false;
		}
	
		//if the shipping address is NOT the same
		if (theform.shippingaddresssame.checked == 0)
		{
			if (!IsWordNumberSpecial(theform.shippingfirstname.value))
			{
				alert("Please enter a valid shipping first name.");
				theform.shippingfirstname.focus();
				return false;
			}
			
			if (!IsWordNumberSpecial(theform.shippinglastname.value))
			{
				alert("Please enter a valid shipping last name.");
				theform.shippinglastname.focus();
				return false;
			}
						
			if (!IsWordNumberSpecial(theform.shippingaddress.value))
			{
				alert("Please enter a valid shipping address.");
				theform.shippingaddress.focus();
				return false;
			}
			
			if (!IsWordNumberSpecial(theform.shippingcity.value))
			{
				alert("Please enter a valid shipping city.");
				theform.shippingcity.focus();
				return false;
			}
		
			if (theform.shippingstateid[theform.shippingstateid.selectedIndex].value == "")
			{
				alert("Please select a valid state/province.");
				theform.shippingstateid.focus();
				return false;
			}
		
			if (!IsWordNumberSpecial(theform.shippingpostal.value))
			{
				alert("Please enter a valid shipping postal/zip code.");
				theform.shippingpostal.focus();
				return false;
			}
		
			if (!IsPhone(theform.shippingphone.value))
			{
				alert("Please enter a valid shipping phone number.");
				theform.shippingphone.focus();
				return false;
			}
			
			if (!IsEmail(theform.shippingemail.value))
			{
				alert("Please enter a valid shipping email address.");
				theform.shippingemail.focus();
				return false;
			}
			
			if (!IsEmail(theform.shippingemailconfirm.value))
			{
				alert("Please enter a valid confirm email address.");
				theform.shippingemailconfirm.focus();
				return false;
			}
			
			if (theform.shippingemail.value != theform.shippingemailconfirm.value)
			{
				alert("Sorry, your shipping email and confirmation email are not the same.");
				theform.shippingemailconfirm.focus();
				return false;
			}
			
		}


	return true;
}

/*
	purpose:
		used in the contact page
	page:
		/contact_us/more_information.cfm
	Parameters:
		theform - object reference to the form being passed
*/

function CheckContactForm(theform)
{

	if (!IsWordNumberSpecial(theform.contactfirstname.value))
	{
		alert("Please enter your first name.");
		theform.contactfirstname.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.contactlastname.value))
	{
		alert("Please enter your last name.");
		theform.contactlastname.focus();
		return false;
	}

	if (!IsWordNumberSpecial(theform.contactaddress.value))
	{
		alert("Please enter your address.");
		theform.contactaddress.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.contactcity.value))
	{
		alert("Please enter your city.");
		theform.contactcity.focus();
		return false;
	}
	
	if (theform.stateid[theform.stateid.selectedIndex].value == "")
	{
		alert("Please select a valid state/province.");
		theform.stateid.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.contactpostal.value))
	{
		alert("Please enter your postal/zip code.");
		theform.contactpostal.focus();
		return false;
	}

	if (!IsPhone(theform.contactphone.value))
	{
		alert("Please enter a valid phone number.");
		theform.contactphone.focus();
		return false;
	}
	
	if (!IsEmail(theform.contactemail.value))
	{
		alert("Please enter a valid email address.");
		theform.contactemail.focus();
		return false;
	}
	
	if (!IsEmail(theform.contactconfirmemail.value))
	{
		alert("Please enter a valid confirmation email address.");
		theform.contactconfirmemail.focus();
		return false;
	}
	
	if (theform.contactemail.value != theform.contactconfirmemail.value)
	{
		alert("Your email address and confirmation email address do not match.");
		theform.contactconfirmemail.focus();
		return false;
	}
	
	theform.submit();
	//return true;
}

/*
	purpose:
		used in the contact page
	page:
		/contact_us/more_information.cfm
	Parameters:
		theform - object reference to the form being passed
*/

function CheckDealerInquiryForm(theform)
{

	if (!IsWordNumberSpecial(theform.dealerinquirycompany.value))
	{
		alert("Please enter your company name.");
		theform.dealerinquirycompany.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.dealerinquiryfirstname.value))
	{
		alert("Please enter your first name.");
		theform.dealerinquiryfirstname.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.dealerinquirylastname.value))
	{
		alert("Please enter your last name.");
		theform.dealerinquirylastname.focus();
		return false;
	}

	if (!IsWordNumberSpecial(theform.dealerinquiryaddress.value))
	{
		alert("Please enter your address.");
		theform.dealerinquiryaddress.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.dealerinquirycity.value))
	{
		alert("Please enter your city.");
		theform.dealerinquirycity.focus();
		return false;
	}
	
	if (theform.stateid[theform.stateid.selectedIndex].value == "")
	{
		alert("Please select a valid state/province.");
		theform.stateid.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.dealerinquirypostal.value))
	{
		alert("Please enter your postal/zip code.");
		theform.dealerinquirypostal.focus();
		return false;
	}

	if (!IsPhone(theform.dealerinquiryphone.value))
	{
		alert("Please enter a valid phone number.");
		theform.dealerinquiryphone.focus();
		return false;
	}
	
	if (!IsEmail(theform.dealerinquiryemail.value))
	{
		alert("Please enter a valid email address.");
		theform.dealerinquiryemail.focus();
		return false;
	}
	
	if (!IsEmail(theform.dealerinquiryconfirmemail.value))
	{
		alert("Please enter a valid confirmation email address.");
		theform.dealerinquiryconfirmemail.focus();
		return false;
	}
	
	if (theform.dealerinquiryemail.value != theform.dealerinquiryconfirmemail.value)
	{
		alert("Your email address and confirmation email address do not match.");
		theform.dealerinquiryconfirmemail.focus();
		return false;
	}
	
	theform.submit();
	//return true;
}


/*
	purpose:
		used in the newsletter inquiry page
	page:
		/newsletter inquiry/index.cfm
	Parameters:
		theform - object reference to the form being passed
*/

function CheckNewsletterInquiryForm(theform)
{
	var item_checked=false;
	
	if (!IsWordNumberSpecial(theform.newsletterinquiryfirstname.value))
	{
		alert("Please enter your first name.");
		theform.newsletterinquiryfirstname.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.newsletterinquirylastname.value))
	{
		alert("Please enter your last name.");
		theform.newsletterinquirylastname.focus();
		return false;
	}
	
	
	if (!IsWordNumberSpecial(theform.newsletterinquirycity.value))
	{
		alert("Please enter your city.");
		theform.newsletterinquirycity.focus();
		return false;
	}
	
	
	if (!IsEmail(theform.newsletterinquiryemail.value))
	{
		alert("Please enter a valid email address.");
		theform.newsletterinquiryemail.focus();
		return false;
	}
	
	if (!IsEmail(theform.newsletterinquiryemailconfirm.value))
	{
		alert("Please enter a valid confirmation email address.");
		theform.newsletterinquiryemailconfirm.focus();
		return false;
	}
	
	if (theform.newsletterinquiryemail.value != theform.newsletterinquiryemailconfirm.value)
	{
		alert("Your email address and confirmation email address do not match.");
		theform.newsletterinquiryemailconfirm.focus();
		return false;
	}
	
	
	
	file_value=theform.newsletterinquiryresume.value;
		
	if (file_value.length > 0)
	{
		if (!IsFileExtensionResume(file_value.substring(file_value.lastIndexOf("."),file_value.length)))
		{
			alert("Please select a valid file for uploading (must be be .rtf, .txt, .doc or .pdf).");
			theform.newsletterinquiryresume.focus();
			return false;
		}
		
	}
	
	return true;
}

/*
	purpose:
		used in the cart page	
	Parameters:
		theorderdetailid - orderdetail id
		thepage - step in the checkout process hte person came from
*/
	
function RemoveItem(theorderdetailid,thepage)
{
	var delete_item=true;
	
	delete_item=confirm("Do you really want to remove this item from your cart?");
	
	if (delete_item)
		window.location.href="/form_action/delete_from_cart.php?requesttimeout=5000&recordid="+theorderdetailid+"&from="+thepage;
}


function SameAsBilling(thecheckbox,theform)
{
	if(thecheckbox.checked)
	{
		theform.shippingfirstname.value=theform.billingfirstname.value;
		theform.shippinglastname.value=theform.billinglastname.value;
		theform.shippingaddress.value=theform.billingaddress.value;
		theform.shippingaddress2.value=theform.billingaddress2.value;
		theform.shippingcity.value=theform.billingcity.value;
		theform.shippingstateid.selectedIndex=theform.billingstateid.selectedIndex;
		theform.shippingcountryid.selectedIndex=theform.billingcountryid.selectedIndex;
		theform.shippingpostal.value=theform.billingpostal.value;
		theform.shippingphone.value=theform.billingphone.value;
		theform.shippingemail.value=theform.billingemail.value;
		theform.shippingemailconfirm.value=theform.billingemailconfirm.value;
		
	} else {
		
		theform.shippingfirstname.value='';
		theform.shippinglastname.value='';
		theform.shippingaddress.value='';
		theform.shippingaddress2.value='';
		theform.shippingcity.value='';
		theform.shippingpostal.value='';
		theform.shippingphone.value='';
		theform.shippingemail.value='';
		theform.shippingemailconfirm.value='';
	}
}

/*
	purpose:
		checks payment form
	page:
		checkout payment
	Parameters:
		theform - object reference to the form being passed
*/

function CheckPaymentForm(theform)
{
	if (theform.CardType[theform.CardType.selectedIndex].value == 0)
	{
		alert("Please select a valid payment type.");
		theform.CardType.focus();
		return false;
	}
	
	if (!IsNumber(theform.CardNumber.value))
	{
		alert("Please enter a valid credit card number.");
		theform.CardNumber.focus();
		return false;
	}
	
	if (!IsNumber(theform.card_cvv2.value))
	{
		alert("Please enter a valid CCV/CVV2.");
		theform.card_cvv2.focus();
		return false;
	}
	
	if (!IsWordSpace(theform.nameoncard.value))
	{
		alert("Please enter a valid cardholder's name.");
		theform.nameoncard.focus();
		return false;
	}	
	
	
	if (theform.policyagree.checked == false) {
		alert("Please agree to the policies before proceeding.");
		theform.policyagree.focus();
		return false;
	}	
}

/*
	purpose:
		used in the control panel
	page:
		/admin/product/module_edit.cfm
	Parameters:
		theform - object reference to the form being passed
*/

function CheckProductForm(theform)
{
	var test=false;
	
	if (!IsWordNumberSpecial(theform.productname.value))
	{
		alert("Please enter a valid product name.");
		theform.productname.focus();
		return false;
	}
	
	if (theform.productmanufacturerid[theform.productmanufacturerid.selectedIndex].value == 0)
	{
		alert("Please select a valid manufacturer.");
		theform.productmanufacturerid.focus();
		return false;
	}
	
	if (theform.productcategoryid[theform.productcategoryid.selectedIndex].value == 0)
	{
		alert("Please select a valid category.");
		theform.productcategoryid.focus();
		return false;
	}
	if (!IsWordNumberSpecial(theform.productpartnumber.value))
	{
		alert("Please enter a valid part number.");
		theform.productpartnumber.focus();
		return false;
	}
	
	if (theform.productmodelgroup[theform.productmodelgroup.selectedIndex].value == 0)
	{
		alert("Please select a valid model group.");
		theform.productmodelgroup.focus();
		return false;
	} 
	else if (theform.productmodelgroup[theform.productmodelgroup.selectedIndex].value == "------")
	{
		
		if (!IsWordNumberSpecial(theform.productmodelgroupother.value))
		{
			alert("Please enter a valid other model group.");
			theform.productmodelgroupother.focus();
			return false;
		}
	}
	
	/*
	if (theform.productintro.value.length < 4)
	{
		alert("Please enter a valid listing short description.");
		theform.productintro.focus();
		return false;
	}
	
	if (theform.productshortdescription.value.length < 4)
	{
		alert("Please enter a valid short description.");
		theform.productshortdescription.focus();
		return false;
	}
	
	if (theform.productdescription.value.length < 4)
	{
		alert("Please enter a valid full description.");
		theform.productdescription.focus();
		return false;
	}*/
	
	
	if (!IsPrice(theform.productprice.value))
	{
		alert("Please enter a valid price.");
		theform.productprice.focus();
		return false;
	}
	
	
	//if we are supposed to upload an image
	if (theform.uploadimage.value == 1 && theform.photo_file.value.length > 4)
	{
	 	image_value=theform.photo_file.value;
		
		if (!IsImageExtension(image_value.substring(image_value.lastIndexOf("."),image_value.length)))
		{
			alert("Please select an image file for uploading (must be .jpg or .gif).");
			theform.photo_file.focus();
			return false;
		}
	}
		
	return true;
}

function CheckSearchForm(theform)
{
	if (!IsWordNumberSpecial(theform.search.value))
	{
		alert("Please enter a valid search term.");
		theform.search.focus();
		return false;
	}
	
	return true
	
}


/*
	purpose:
		used in the send to a friend page
	page:
		/sent_to_a_friend/index.cfm
	Parameters:
		theform - object reference to the form being passed
*/

function CheckSendToAFriendForm(theform)
{
	if (!IsWordNumberSpecial(theform.recipientfirstname.value))
	{
		alert("Please enter your friends first name.");
		theform.recipientfirstname.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.recipientlastname.value))
	{
		alert("Please enter your friends last name.");
		theform.recipientlastname.focus();
		return false;
	}
		
	if (!IsEmail(theform.recipientemail.value))
	{
		alert("Please enter your friends email address.");
		theform.recipientemail.focus();
		return false;
	}
	
	if (theform.message.value.length > 0)
	{
		if (!IsWordNumberSpecial(theform.message.value))
		{
			alert("Please enter your message to your friend.");
			theform.message.focus();
			return false;
		}
	}
	
	if (!IsWordNumberSpecial(theform.senderfirstname.value))
	{
		alert("Please enter your first name.");
		theform.senderfirstname.focus();
		return false;
	}
	
	if (!IsWordNumberSpecial(theform.senderlastname.value))
	{
		alert("Please enter your last name.");
		theform.senderlastname.focus();
		return false;
	}
	
	if (!IsEmail(theform.senderemail.value))
	{
		alert("Please enter your email address.");
		theform.senderemail.focus();
		return false;
	}
	
	return true;
}


function formatCurrency(strValue)
{
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + '$' + dblValue + '.' + strCents);
}
