function IsFieldValid(Field, FieldName, MinSize, Numeric) {
	
	//alert(Field);
	
	//Check for null
	if (Field.value == "") {
		alert("Please enter your: \"" + FieldName + "\".");
		Field.focus();
		return false;
	}

	//Check for minimmum size
	if (MinSize!=0) {
		if (Field.value.length<MinSize) {
			alert("The value in the field \"" + FieldName + "\" is not valid.");
			Field.focus();
			return false;
		}
	}
		
	//Check if field is a valid number
	if (Numeric) {		
		if (isNaN(Field.value)) {
			alert("The value in the field \"" + FieldName + "\" is not a valid number.");
			Field.focus();
			return false;
		}
	}
	
	//Check for valid email in various email fields
	if (Field.name=="email" || Field.name=="semail" || Field.name=="strEmail" || Field.name=="sEmail") {
		var x = Field.value;
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		var pass;

		if (filter.test(x)){ 
				return true;
		}else{ 
			alert("The value in the field \"" + FieldName + "\" is not a valid email.");
			Field.focus();
			return false;
		}//end js email validation	
		
		Field.focus();
		return false;
	}
	
	return true;
}


/**
THIS IS THE CORE VALIDATION FORM.  USE AN IF TO RUN THE SUB FUNCTIONS FOR THE VALIDATION!
**/
function ValidateMe(form){
		
		//SUBFUNCTION PARAMETERS: IsFieldValid(Field, ElementName, FieldName, MinSize, Numeric)
		
/*		    [artist] => artist
    [coartist] => coartist
    [business] => business
    [email] => jgorecki@mortonmarketing.com
    [website] => website
    [address1] => address1
    [address2] => address2
    [city] => city
    [state] => CO
    [zip] => zip
    [cellphone] => cellphone
    [fax] => fax
    [dayphone] => dayphone
    [nightphone] => nightphone
    [category] => Basketry
    [description] => description
    [confirm] => confirm
    [pricerange] => pricerange
    [exhibited] => No
    [when] => when
    [sample] => Upload
    [sig] => signature*/
		
		
		if(form=="artApplication"){
		
			if (!IsFieldValid(document.forms[form].elements["fname"], "Artist First Name", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["lname"], "Artist Last Name", 0, false)) return false;
			if (!IsFieldValid(document.forms[form].elements["email"], "Email", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["address1"], "Address Line 1", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["city"], "City", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["state"], "State", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["zip"], "zip", 5, true)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["dayphone"], "Day Phone", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["nightphone"], "Night Phone", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["category"], "Category", 0, false)) return false; 	
		
		}
		
		if(form=="ManageEvent"){
			//eventName, eventDescription, dateAdded, availableSeats, startDate, endDate, active
			if (!IsFieldValid(document.forms[form].elements["eventName"], "Event Name", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["eventDescription"], "Event Description", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["availableSeats"], "Number of currently available seats", 1, true)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["active"], "Active", 1, true)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["imageName"], "Image Name", 0, false)) return false; 	
			if (!IsFieldValid(document.forms[form].elements["price"], "Seat Price", 4, true)) return false; 	
		
		
		}		
			 
		if(form=="ccForm"){

			if (!IsFieldValid(document.forms[form].elements["ccnumber"], "Credit Card Number", 15, true)) return false; 
			if (!IsFieldValid(document.forms[form].elements["cctype"], "Credit Card Type", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["ccmonth"], "Credit Card Month", 2, true)) return false; 
			if (!IsFieldValid(document.forms[form].elements["ccyear"], "Credit Card Year", 2, true)) return false; 
			if (!IsFieldValid(document.forms[form].elements["cccvs"], "CVS", 0, false)) return false; 
				
		}
			
		//login to their account check
		//alert(form);
		if(form=="account"){
			
			//alert(document.forms[form].elements["email"]);	
			if(document.forms[form].elements["email"].value==""){
			
				alert("Please search for a User");
				return false;
			}
						
		}		
		
		//login to their account check
		if(form=="login"){
		
			if (!IsFieldValid(document.forms[form].elements["username"], "Username", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["password"], "Password", 0, false)) return false; 
						
		}
		
		//create a new account check
		if(form=="createAccount"){
		
			if (!IsFieldValid(document.forms[form].elements["username"], "Username", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["password"], "Password", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["email"], "Email", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["firstName"], "First Name", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["lastName"], "Last Name", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["company"], "Company Name", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["title"], "Title", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["address1"], "Address 1", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["address2"], "Address 2", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["state"], "State", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["city"], "City", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["zip"], "Zip/Postal Code", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["phone"], "Phone", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["fax"], "Fax", 0, false)) return false; 
		
		}
		
		//contact form check
		if(form=="contactForm"){
		
			if (!IsFieldValid(document.forms[form].elements["strName"], "Your Name", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["strEmail"], "Your Email", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["strCategory"], "Category", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["strComments"], "Comments", 0, false)) return false; 
		
		}
		
		//contact form check
		if(form=="checkout"){
		
			if (!IsFieldValid(document.forms[form].elements["firstName"], "Billing First Name", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["lastName"], "Billing Last Name", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["address1"], "Billing Address 1", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["city"], "Billing City", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["state"], "Billing State", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["zip"], "Billing Zip", 5, true)) return false; 
			if (!IsFieldValid(document.forms[form].elements["phone"], "Billing Phone", 0, false)) return false; 
			if (!IsFieldValid(document.forms[form].elements["email"], "Billing Email", 0, false)) return false; 
	
		}		
		
		//add a shipping address check
		if(form=="addShipping"){
		
			if (!IsFieldValid(document.forms[form].elements["sAddress1"], "Shipping Address Line 1", 0, false)) return false;
			if (!IsFieldValid(document.forms[form].elements["sCity"], "Shipping City", 0, false)) return false; 					
			if (!IsFieldValid(document.forms[form].elements["sState"], "New Shipping", 0, false)) return false; 					
			if (!IsFieldValid(document.forms[form].elements["sZip"], "New Shipping Zip", 0, false)) return false; 					
			if (!IsFieldValid(document.forms[form].elements["sEmail"], "New Shipping Email", 0, false)) return false; 					
		
		}
			
		//we then submit upon PASSing	
		return true;
}


//on the catalog page, an item may not be configured unless a color has been chosen
function CheckForColor(form, prodID){

	var en="colorID|"+prodID;
	//alert(form);
	//alert(en);
	if(document.forms[form].elements[en].value==0){
		
		alert('Please choose a color before configuring.');
		return false;
		
	}else{
		return true;
		
	}	

}