/*
	Form validation
*/

//disable enter on form
function disableEnterKey(e)
{
     var key;     
     if(window.event)
          key = window.event.keyCode; //IE
     else
          key = e.which; //firefox     

     return (key != 13);
}

function isNotEmpty(elem) {
  var str = elem.value;
    var re = /.+/;
    if(!str.match(re)) {
        return false;
    } else {
        return true;
    }
}

function isPostCode(elem) {
  var str = elem.value;
	if (str.length != 4)
		return false;
    var re = /\d{4}/;
    if(!str.match(re)) {
        return false;
    } else {
        return true;
    }
}

function isValidEmail(elem) {
  var str = elem.value;
    var re = /[\_]*([a-z0-9]+(\.|\_*)?)+@([a-z][a-z0-9\-]+(\.|\-*\.))+[a-z]{2,6}/;
    if(!str.match(re)) {
        return false;
    } else {
        return true;
    }
}

function isPhoneNumber(elem) {
  var str = elem.value;
	str = str.replace(/[^\d]/g, ""); //trouble here
	if(str.length != 10) {
	//alert(" doesnt equal 10 ");
	return true;
    } else {
	//alert(" does? ");
	return false;
    }
}


//function to hide/show elements
function show(id)
{
	el = document.getElementById(id);
	if (el.style.display == 'none')
	{
		el.style.display = '';
	} else {
		el.style.display = 'none';
	}
}
//checks for errors in first button
function firstCheck()
{
	//Setup error message
	ErrorMsg = "The following required fields contain errors or are empty:\n"; 
	ErrorCount = 0;
	
	//Do some basic validation for the first page
	frm = document.quoteForm;
	
	//Check that defaults aren't used
	//Title
	if (frm.contact_title.value == 'Null') {
		ErrorCount++;
		ErrorMsg += "Please provide your Title.\n";	
	}
	//First Name
	if (frm.contact_first_name.value == 'First Name') {
		ErrorCount++;
		ErrorMsg += "Please provide your First Name.\n";	
	}
	//Last Name
	if (frm.contact_last_name.value == 'Last Name') {
		ErrorCount++;
		ErrorMsg += "Please provide your Last Name.\n";	
	}
	//Check for required fields
	//Title
	if (isNotEmpty(frm.contact_title) == false) {
		ErrorCount++;
		ErrorMsg += "Please provide your Title.\n";
		}
	//First Name
	if (isNotEmpty(frm.contact_first_name) == false) {
		ErrorCount++;
		ErrorMsg += "Please provide your First Name.\n";
		}
	//Last Name
	if (isNotEmpty(frm.contact_last_name) == false) {
		ErrorCount++;
		ErrorMsg += "Please provide your Last Name.\n";
		}
	//Contact Number
	if (isNotEmpty(frm.phone_home) == false) {
		ErrorCount++;
		ErrorMsg += "Please provide a Phone Number.\n";
		}
	//Valid email address
	//Contact Number
	if (isNotEmpty(frm.contact_email) == true) 
	{
		if (isValidEmail(frm.contact_email) == false) {
			ErrorCount++;
			ErrorMsg += "Please provide a valid email address or leave the field blank.\n";
		}
	}
	
	//Valid phone number	
	if (isPhoneNumber(frm.phone_home) == true) {
		ErrorCount++;
		ErrorMsg += "Please provide a valid Phone Number.\nLand line numbers should include the area code.\n";
		}

	//Display any error messages
	if (ErrorCount>0){
		alert(ErrorMsg);
		return false;
	} else {
		return true;
	}
}

//when the user presses continue
function formContinue()
{
	if (firstCheck() == true) {
		//hide the first page
		show('enquiry1');
		//show the second page
		show('enquiry2');			
	}
}