// JavaScript Document

// ************************************************************************
// FUNCTION USED TO VALIDATE FOR NON-HTML INPUT
// ***********************************************************************
function validateInput(elm)
{

    // ****************************************************************************
	// VARIBLE USED TO TEST FOR VALID NUMERS AND STRINGS
    // *****************************************************************************
	
	var pattern = /^[^<>]+$/;
    
    if (pattern.test(elm.value)) {
        return true;
    }
    else {
        return false;
    }
}
// ************************************************************************
// FUNCTION USED TO VALIDATE AN EMAIL ADDRESS
// ***********************************************************************
function validateEmail(elm)
{

    // ****************************************************************************
	// VARIBLE USED TO TEST FOR VALID NUMERS AND STRINGS
    // *****************************************************************************
	
	var pattern = /^[a-zA-Z0-9._\-]+\@[a-zA-Z0-9\-]+\.([a-zA-Z]{2,3})$/;
    
    if (pattern.test(elm.value)) {
        return true;
    }
    else {
        return false;
    }
}

// ************************************************************************
// FUNCTION USED TO VALIDATE PHONE
// ***********************************************************************
function validatePhone(elm)
{

    // ****************************************************************************
	// VARIBLE USED TO TEST FOR VALID NUMERS AND STRINGS
    // *****************************************************************************
	
	var pattern = /^\d{3}-?\d{3}-?\d{4}$/;
    
    if (pattern.test(elm.value)) {
        return true;
    }
    else {
        return false;
    }
}

// **********************************************
// FUNCTION USED TO BLANK FIELDS
// ***********************************************
function isFilled(elm) {
    if (elm.value == "" || elm.value == null) {
        return false;
    }
    else {
        return true;
    }
}

function ddSelected(elm)
{
	if(elm.selectedIndex == 0)
	{
	 	return false;
	} else {
		return true;
	}
	
}

// **********************************************************
// FUNCTION CALLED ON SUBMIT
// ***********************************************************
function submitForm(contactForm)
{

    //Make sure fields are not blank
    if (isFilled(contactForm.senderName) == false)
    {
	        alert("Please enter your name.");
	        contactForm.senderName.focus();
	        return false;
    }
	
    if (validateInput(contactForm.senderName) == false)
    {
	        alert("This doesnt look like a valid name.");
	        contactForm.senderName.focus();
	        return false;
    }
	
	if (validateEmail(contactForm.senderEmail) == false) {
        	alert("Please enter a valid E-Mail address.");
        	contactForm.senderEmail.focus();
        	return false;
    }

	if(isFilled(contactForm.senderPhone) == true) 	{
		if (validatePhone(contactForm.senderPhone) == false) {
    	   	alert("Please enter your phone number (eg. 555-551-6894).");
        	contactForm.senderPhone.focus();
        	return false;
	    }
	}

	/* temp disabled
    if (ddSelected(contactForm.senderSubject) == false)
    {
	        alert("Please select a type of inquiry.");
	        contactForm.senderSubject.focus();
	        return false;
    }
	*/
	
	if (isFilled(contactForm.senderMessage) == false)
    {
	        alert("Please enter a Message.");
	        contactForm.senderMessage.focus();
	        return false;
    }

	if (validateInput(contactForm.senderMessage) == false)
    {
	        alert("We do not accept any HTML in the message.");
	        contactForm.senderMessage.focus();
	        return false;
    }
    return true;
}


