//////////////////////////////////////////////////////////////////////////////////////////////
// Swap Images
/////////////////////////////////////////////////////////////////////////////////////////////
function handleImageSwap(imgId,imgOn)
{
	cntrlImg = document.getElementById(imgId);
	cntrlImg.src = "images/" + imgOn;
}
/////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
// Swap Categories in Customers Page
/////////////////////////////////////////////////////////////////////////////////////////////
function handleCategoryClick(spnCat,pgCat,hgtFrame)
{
	cntrlIFrame = document.getElementById('ifmeCustomers');
	cntrlIFrame.style.height = hgtFrame;
	cntrlIFrame.src = pgCat;


	//clear all a colors
	document.getElementById('aFranchise').className  = "CATEGORY_LINK";
	document.getElementById('aChinese').className    = "CATEGORY_LINK";
	document.getElementById('aJapanese').className   = "CATEGORY_LINK";
	document.getElementById('aPizza').className 	 = "CATEGORY_LINK";
	document.getElementById('aBagels').className 	 = "CATEGORY_LINK";
	document.getElementById('aDeli').className 	     = "CATEGORY_LINK";
	document.getElementById('aMexican').className    = "CATEGORY_LINK";
	document.getElementById('aCatering').className    = "CATEGORY_LINK";
	document.getElementById('aIndian').className 	 = "CATEGORY_LINK";

	//set selected color
	document.getElementById(spnCat).className = "CATEGORY_SEL";

}
/////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////
// Syntax Checks
/////////////////////////////////////////////////////////////////////////////////////////////
function chkZipCode(id, msg)
{
  	cntrl = document.getElementById(id);	

	re = /^\d{5}$|^\d{5}\-\d{4}$|^$/ //regular expression - checks for #####-#### or #####

	if (!(re.test(cntrl.value)))
	{
		alert(msg);
	   	cntrl.focus();
	   	cntrl.select();
 		return false;
 	}
	
	return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////
function chkPhone(id, msg)
{
  	cntrl =  document.getElementById(id);	

	re = /^\d{3}\-\d{3}\-\d{4}$|^$/ //regular expression - checks for ###-###-####

	if (!(re.test(cntrl.value)))
	{
		alert(msg);
	   	cntrl.focus();
	   	cntrl.select();
		return false;
	}
	
	return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////
function chkState(id, msg)
{
  	cntrl =  document.getElementById(id);	

	re = /^[a-zA-Z][a-zA-Z]$/ //regular expression - checks for AA

	if (!(re.test(cntrl.value)))
	{
		alert(msg);
	   	cntrl.focus();
	   	cntrl.select();
		return false;
	}
	
	return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////
function checkEmail(strEmail)
{
	reReq = /^\s{0,}$/  				//regular expression - checks for white space
	reEmail = /^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/;

	if (!reReq.test(strEmail))
	{
		if (!reEmail.test(strEmail))
		{
			return false;
		}
	}// JScript source code
	return true;
}
//////////////////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////
// Contact Us Submit
/////////////////////////////////////////////////////////////////////////////////////////////
function handleContactUsSubmit()
{
	if (document.getElementById("txtName").value == "")
	{ 
		alert("Please supply your name.");
	    document.getElementById("txtName").focus();
		return;
	}
	if ((document.getElementById("txtEmail").value != "") && !checkEmail(document.getElementById("txtEmail").value))
  	{ 
		alert("Please enter a valid email address (for example: yourname@domain.com)");
		return;
	}
	if (document.getElementById("txtDaytimePhone").value == "") {
	    alert("A phone number is required.");
	    return;
	}
	if (!chkPhone('txtDaytimePhone',"Please enter a valid phone number (for example: 999-999-9999)."))
	{
		return;	
	}
	if (document.getElementById("txtComments").value == "")
	{
		alert("We'd love to hear your comments or answer your questions.");
	    document.getElementById("txtComments").focus();
		return;
	}
	
	ContactUs.submit();
}
/////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////
// Sign Up Form JS
/////////////////////////////////////////////////////////////////////////////////////////////
function changeServiceOptions(intServiceSelection)
{
	//1 = Both
	//2 = Pickup Only
	//3 = Delivery Only
	switch(intServiceSelection)
	{
		case '1':
		{	
			document.getElementById('divPickupHours').style.display = 'inline'
			document.getElementById('divDeliveryHours').style.display = 'inline'
			break
		}
		
		case '2':
		{
			document.getElementById('divPickupHours').style.display = 'inline'
			document.getElementById('divDeliveryHours').style.display = 'none'
			break
		}
		
		case '3':
		{
			document.getElementById('divPickupHours').style.display = 'none'
			document.getElementById('divDeliveryHours').style.display = 'inline'
			break
		}
	}

}
/////////////////////////////////////////////////////////////////////////////////////////////
function validateForm()
{
	//Validations work as follows
	//semi delimited list of required validations in this format "fieldID=validation type"
	//Valid Validation Types
	//text = String Required
	//num = number value required
	//numornull = number value or blank
	//email = email required
	
	var strRequiredFieldValidations = 'txtFName=text;txtLName=text;txtPhoneAreaCode1=num;txtPhonePre1=num;txtPhoneSuffix1=num;txtPhoneAreaCode2=numornull;txtPhonePre2=numornull;txtPhoneSuffix2=numornull;'
	strRequiredFieldValidations += 'txtFaxAreaCode=num;txtFaxPre=num;txtFaxSuffix=num;txtEmail=emailnotnull;txtCompanyName=text;txtAddress=text;txtCity=text;'
	strRequiredFieldValidations += 'txtState=text;txtZip=text;txtElectronicSignature=text;'
		
	arValidations= strRequiredFieldValidations.split(';')
	for(a=0;a<arValidations.length;a++)
	{
		arFieldAndValidations = arValidations[a].split('=')
		var elem = document.getElementById(arFieldAndValidations[0])
		if(elem)
		{
			switch(arFieldAndValidations[1].toUpperCase()) 
			{
				case 'TEXT':
				{
					if(elem.value == '')
					{
						alert('You must provide a value for ' + elem.title + '...')
						elem.focus()
						return false;
					}
					break
				}
				
				case 'NUM':
				{
					if(elem.value == '')
					{
						alert('You must provide a value for ' + elem.title + '...')
						elem.focus()
						return false;
					}
					
					if(isNaN(elem.value))
					{
						alert('You must provide a numeric value for ' + elem.title + '...')
						elem.select()
						return false;
					}
					break
				}
				
				case 'NUMORNULL':
				{
					if(elem.value != '')
					{
						if(isNaN(elem.value))
						{
							alert('You must provide a numeric value for ' + elem.title + '...')
							elem.select()
							return false;
						}
					}
					break
				}
				
				case 'EMAIL':
				{
					if(!checkEmail(elem.value))
					{
						alert('The value provided for ' + elem.title + ' does not appear to be the correct format (username@domain.com)...')
						elem.focus()
						return false;
					}
					break
				}
				
				case 'EMAILNOTNULL':
				{
					if(elem.value == '')
					{
						alert('You must provide a value for ' + elem.title)
						elem.focus()
						return false;
					}
					
					if(!checkEmail(elem.value))
					{
						alert('The value provided for ' + elem.title + ' does not appear to be the correct format (username@domain.com)...')
						elem.focus()
						return false;
					}
					break
				}
			}
			
		}
	}

	
	document.getElementById('frmSignUp').submit()
}
/////////////////////////////////////////////////////////////////////////////////////////////
function movePhoneFocus(objElem, digitsExpected, nextElementId)
{
	if(objElem.value.length == digitsExpected)
	{
		if(nextElementId != '')
		{
			document.getElementById(nextElementId).focus()
		}
	}
}
/////////////////////////////////////////////////////////////////////////////////////////////
