// JavaScript Document
// JavaScript Document
/*
	File Title		: JavaScript for the homefront E-Commerce Application
	Created by		: Melanie Decle
	Modified by 	:Jeremy Evans
	Created on		: March 1, 2004
*/
//function to ensure that a person does not enter a quantity purchased
//that is more that the quantity requested.
//form lemgth
//minus elements I have
//check 
function checkRegistryQuantity(f)
{
	
	for(i=0;i<f.length-3;i++)
	{
		
		if(i%5==0)
		{
			alert(f.elements[i+1].value);
			alert(f.elements[i].value);
			if(f.elements[i+1].value > f.elements[i].value)
			{
				alert("Please ensure that the quantity purchased does not exceed the quantity requested.");
				f.elements[i+1].value = 0
				return false;
			}
		}
		
	}
	/**/
}
//function for loading a new product image on the product page
function change_picture(f,s)
{
	f.small_image.src = "../../new_images/"+f.smProdImg.options[s].text;
}
// function to make sure that quantity is entered as an integer
function validateQTY(f)
{
	if(!parseInt(f.quantity.value))
	{
		alert("Please enter a valid quantity \(numbers only\)!");
		f.quantity.value = 1;
		f.quantity.focus();
		return false;
	}
}
// admin login form validation
function validateLogin(f)
{
	if(f.userName.value=="")
	{
		alert("Please enter your username!");
		f.username.focus();
		return false;
	}
	else if(f.adminPassword.value=="")
	{
		alert("Please enter your password!");
		f.adminPassword.focus();
		return false;
	}
}
// function to validate admin products page
function validateProducts(f)
{
	var testNums = /[^0-9\.]/
	if(f.title.value=="")
	{
		alert("Please enter a title!");
		f.title.focus();
		return false;
	}
	else if((f.price.value=="") || (testNums.test(f.price.value)))
	{
		alert("Please enter a price!");
		f.price.focus();
		return false;
	}
	else if(f.description.value=="")
	{
		alert("Please enter a description!");
		f.description.focus();
		return false;
	}  
}
// Validate Add Products in Admin Area
function validateAddProduct(f)
{	
	var testNums = /[^0-9\.]/
	if(f.productName.value=="")
	{
		alert("Please enter a product name!");
		f.productName.focus();
		return false;
	}
	if(f.productCode.value=="")
	{
		alert("Please enter a product code!");
		f.productCode.focus();
		return false;
	}	
/*	if((!f.elements[1].checked) && (!f.elements[2].checked) && (!f.elements[3].checked) && (!f.elements[4].checked) && (!f.elements[5].checked))
	{
		alert("Please select at least one product category!");
		return false;
	}
*/
	if((f.price.value=="")|| (testNums.test(f.price.value)))
	{
		alert("Please enter a product price!");
		f.price.value='';
		f.price.focus();
		return false;
	}
	if(f.descriptionShort.value=="")
	{
		alert("Please enter a brief product description!");
		f.descriptionShort.focus();
		return false;
	}
	if(f.descriptionLong.value=="")
	{
		alert("Please enter a full product description!");
		f.descriptionLong.focus();
		return false;
	}
}
// Validate Edit products in Admin area
function validateEditProducts(f)
{	
	var testNums = /[^0-9\.]/
	if(f.productName.value=="")
	{
		alert("Please enter a product name!");
		f.productName.focus();
		return false;
	}
	if(f.productCode.value=="")
	{
		alert("Please enter a product code!");
		f.productCode.focus();
		return false;
	}			
/*	// greyed out for the time, this will allow products to be in the db without having a category assigned to it

	if((!f.elements[2].checked) && (!f.elements[3].checked) && (!f.elements[4].checked) && (!f.elements[5].checked) && (!f.elements[6].checked))
	{
		alert("Please select at least one product category!");
		return false;
	}
*/
	if((f.price.value=="")|| (testNums.test(f.price.value)))
	{
		alert("Please enter a product price!");
		f.price.focus();
		return false;
	}
	if(f.descriptionShort.value=="")
	{
		alert("Please enter a brief product description!");
		f.descriptionShort.focus();
		return false;
	}
	if(f.descriptionLong.value=="")
	{
		alert("Please enter a full product description!");
		f.descriptionLong.focus();
		return false;
	}
}
// function to validate category selection on manage_products2.asp
function validateSelectCategory(f)
{
	if(f.categoryId.value=="Select Category")
	{
	alert("Please Select a category");
	f.categoryId.focus();
	return false;
	} 
}

// function to validate admin customers
function validateCustomer(f)
{
	if(f.firstName.value=="")
	{
		alert("Please enter a first name!");
		f.firstName.focus();
		return false;
	}
	else if(f.lastName.value=="")
	{
		alert("Please enter a last name!");
		f.lastName.focus();
		return false;
	}
	else if(f.address.value=="")
	{
		alert("Please enter an address!");
		f.address.focus();
		return false;
	}
	else if((f.email.value=="") || (f.email.value.indexOf('@')<2) || (f.email.value.indexOf('.')<2))
	{
		alert("Please enter an email address!");
		f.email.focus();
		return false;
	}
}

// function to validate newsletter subscribers
function validateNewsletter(newsletter)
{
	if(newsletter.SubFirstName.value=="")
	{
		alert("Please enter a first name!");
		newsletter.SubFirstName.focus();
		return false;
	}
	else if(newsletter.SubLastName.value=="")
	{
		alert("Please enter a last name!");
		newsletter.SubLastName.focus();
		return false;
	}
	else if((newsletter.SubEmail.value=="") || (newsletter.SubEmail.value.indexOf('@')<2) || (newsletter.SubEmail.value.indexOf('.')<2))
	{
		alert("Please enter an email address!");
		newsletter.SubEmail.focus();
		return false;
	}
}

// delete warnings for shopping cart
var confirmEmpty = "Are you sure you want to empty all items from your shopping bag?"; 
var msg = "Are you sure that you want to delete this item?";

// delete warnings for Manage Products in Admin section (will delete from entire database)
var deleteProdFromDB = "Would you like to delete this product from the store?";
// delete warnings for Manage Products2 in Admin section (will delete from selected category)
var deleteProdFromCat = "Would you like to delete this product from this category listing?";

// add quantity before hitting add to bag warning
function validateAddQty(f)
{
	if(f.quantity.value=="")
	{
		alert("Please enter an amount into the quantity box before adding an item to your shopping bag!");
		f.quantity.focus();
		return false;
	}
	for (i=0; i < f.quantity.value.length; i++) 
	{ 
		if ((f.quantity.value.charAt(i) < "1") || (f.quantity.value.charAt(i) > "9")) 
		{ 
		alert("Please enter numeric characters only!"); 
		f.quantity.focus();
		return false; 
		} 
	} 
return true; 
} 
////////////////////////////////////////////////////////////////////////////////////
//Fuctions to validate the registry forms.
////////////////////////////////////////////////////////////////////////////////////
var customerEmail1 = "";
var customerFirstName1 = "";
var customerLastName1 = "";
var customerAddress11 = "";
var customerAddress21 = "";
var customerCity1 = "";
var customerPostal1  = "";
var customerProvState1  = "";
var customerPhone1 = "";

function InitSaveVariables(form) {
	customerAddress11 = form.customerAddress11.value;
	customerAddress21 = form.customerAddress21.value;
	customerCity1 = form.customerCity1.value;
	customerPostal1 = form.customerPostal1.value;
	customerProvState1  = form.customerProvState1.value ;
	customerPhone  = form.customerPhone1.value ;

}
function brideTogroom(form) 
{
	if (form.copy.checked)
	{
		InitSaveVariables(form);

		form.customerAddress11.value = form.customerAddress1.value;
		form.customerAddress21.value = form.customerAddress2.value;
		form.customerCity1.value = form.customerCity.value;
		form.customerPostal1.value = form.customerPostal.value;
		form.customerProvState1.value = form.customerProvState.value;
		form.customerPhone1.value = form.customerPhone.value;
		
	}
	else 
	{
		form.customerFirstName1.value = customerFirstName1;
		form.customerLastName1.value = customerLastName1;
		form.customerEmail1.value = customerEmail1;
		form.customerAddress11.value = customerAddress11;
		form.customerAddress21.value = customerAddress21;
		form.customerCity1.value = customerCity1;
		form.customerPostal1.value = customerPostal1;       
		form.customerProvState1.value = customerProvState1;
		form.customerPhone1.value = customerPhone1;
	
   }
}


function validateRegistry(f)
{
	
	if(f.customerFirstName.value=="")
	{
		alert("Please enter the bride's first name.");
		f.customerFirstName.focus();
		return false;
	}
		if(f.customerFirstName1.value=="")
	{
		alert("Please enter the groom's first name.");
		f.customerFirstName1.focus();
		return false;
	}
	if(f.customerLastName.value=="")
	{
		alert("Please enter the bride's last name.");
		f.customerLastName.focus();
		return false;
	}
	if(f.customerLastName1.value=="")
	{
		alert("Please enter the groom's last name.");
		f.customerLastName1.focus();
		return false;
	}
	if((f.customerEmail.value=="") || (f.customerEmail.value.indexOf('.')==-1) || (f.customerEmail.value.indexOf('@')==-1))
	{
		alert("Please enter a valid email address for the bride!");
		f.customerEmail.focus();
		return false;
	}
	if((f.customerEmail1.value=="") || (f.customerEmail1.value.indexOf('.')==-1) || (f.customerEmail1.value.indexOf('@')==-1))
	{
		alert("Please enter a valid email address for the groom!");
		f.customerEmail1.focus();
		return false;
	}
	if(f.customerAddress1.value=="")
	{
		alert("Please enter the bride's  address.");
		f.customerAddress1.focus();
		return false;
	}
	if(f.customerAddress11.value=="")
	{
		alert("Please enter the groom's address.");
		f.customerAddress11.focus();
		return false;
	}
	
		if(f.customerCity.value=="")
	{
		alert("Please Enter a City for the bride.");
		f.customerCity.focus();
		return false;
	}
		if(f.customerCity.value=="")
	{
		alert("Please Enter a City for the groom.");
		f.customerCity1.focus();
		return false;
	}

	if(f.customerPostal.value=="")
	{
		alert("Please Enter a Vaild Postal Code for the brides.");
		f.customerPostal.focus();
		return false;
	}
	if(f.customerPostal1.value=="")
	{
		alert("Please Enter a Vaild Postal Code for the groom.");
		f.customerPostal1.focus();
		return false;
	}
		if(f.customerPhone.value=="")
	{
		alert("Please Enter a Vaild Phone Number for the bride.");
		f.customerPhone.focus();
		return false;
	}
		if(f.customerPhone1.value=="")
	{
		alert("Please Enter a Vaild Phone Number for the bride.");
		f.customerPhone1.focus();
		return false;
	}

}
////////////////////////////////////////////////////////////////////////////////////
//END of Fuctions to validate the registry forms.
////////////////////////////////////////////////////////////////////////////////////
//validate the upload images tool
function validate_image_upload(f) 
{
	if(f.File1.value=="")
	{
	alert("please enter an image to upload to the site.");
	f.File1.focus();
	return false;
	}
}
//validate the newsletter creator text
function validateNewsletterText(f)
{
	if(f.NewsletterTitle.value=="")
	{
		alert("please enter a title for the newsletter.");
		f.NewsletterTitle.focus();
		return false;
	}
	if(f.NewsletterMainContent.value=="")
	{
		alert("please enter some text to  send out to the newsletter subscribers.");
		f.NewsletterMainContent.focus();
		return false;
	}

}
//sort array, create new option tags
function imagePulldown(myFiles)
{
	//split into an array
	myFileArray = myFiles.split(",");
	myFileArray.sort();
	for(i=0;i<myFileArray.length;i++)
	{
		document.write("<option value='"+myFileArray[i]+"'>"+myFileArray[i]+"</option>");
	}
	
}
