// set submit_ref_button_clicked value

document.referral_submission_form.submit_ref_button_clicked.value = "submit_ref_was_not_clicked";

// add attributes on click
my_ref_action = "shopping-cart-software-referral.html";

document.referral_submission_form.referrer_name.onmouseover = function(){
	document.referral_submission_form.action=my_ref_action;
	document.referral_submission_form.refer_repeat.value="repeat_again";
}
document.referral_submission_form.referrer_name.onblur = function(){
if(this.value == '') this.value = 'Enter Your Name';
}
document.referral_submission_form.referrer_name.onfocus = function(){
if (this.value == 'Enter Your Name') {
	this.value = '';
}
}
document.referral_submission_form.referrer_email.onmouseover = function(){
	document.referral_submission_form.action=my_ref_action;
	document.referral_submission_form.refer_repeat.value="repeat_again";
}
document.referral_submission_form.referrer_email.onblur = function(){
if(this.value == '') this.value = 'Enter Your Email Address';
}
document.referral_submission_form.referrer_email.onfocus = function(){
if (this.value == 'Enter Your Email Address') {
	this.value = '';
}
}
document.referral_submission_form.referree_email.onmouseover = function(){
	document.referral_submission_form.action=my_ref_action;
	document.referral_submission_form.refer_repeat.value="repeat_again";
}
document.referral_submission_form.referree_email.onblur = function(){
if(this.value == '') this.value = 'Email of Person You Are Referring';
}
document.referral_submission_form.referree_email.onfocus = function(){
if (this.value == 'Email of Person You Are Referring') {
	this.value = '';
}
document.referral_submission_form.action=my_ref_action;
}
document.referral_submission_form.referree_name.onmouseover = function(){
	document.referral_submission_form.action=my_ref_action;
	document.referral_submission_form.refer_repeat.value="repeat_again";
}
document.referral_submission_form.referree_name.onblur = function(){
if(this.value == '') this.value = 'Name of Person You Are Referring';
}
document.referral_submission_form.referree_name.onfocus = function(){
if (this.value == 'Name of Person You Are Referring') {
	this.value = '';
}
}
document.referral_submission_form.referree_website.onmouseover = function(){
	document.referral_submission_form.action=my_ref_action;
	document.referral_submission_form.refer_repeat.value="repeat_again";
}
document.referral_submission_form.referree_website.onblur = function(){
if(this.value == '') this.value = 'Website of Person You Are Referring';
}
document.referral_submission_form.referree_website.onfocus = function(){
if (this.value == 'Website of Person You Are Referring') {
	this.value = '';
}
}
document.referral_submission_form.referree_phone.onmouseover = function(){
	document.referral_submission_form.action=my_ref_action;
	document.referral_submission_form.refer_repeat.value="repeat_again";
}
document.referral_submission_form.referree_phone.onblur = function(){
if(this.value == '') this.value = 'Phone# of Person You Are Referring';
}
document.referral_submission_form.referree_phone.onfocus = function(){
if (this.value == 'Phone# of Person You Are Referring') {
	this.value = '';
}
}
document.referral_submission_form.msg_to_referree.onmouseover = function(){
	document.referral_submission_form.action=my_ref_action;
	document.referral_submission_form.refer_repeat.value="repeat_again";
	if (this.value == 'Write a custom message to the person that you are referring') {
	this.value = '';
}
}
document.referral_submission_form.msg_to_referree.onblur = function(){
if(this.value == '') this.value = 'Write a custom message to the person that you are referring';
}
document.referral_submission_form.msg_to_referree.onfocus = function(){
if (this.value == 'Write a custom message to the person that you are referring') {
	this.value = '';
}
}

// onsubmit events for form
validation_pass = true;
referral_submit_form = function() {
    if (document.referral_submission_form.referral_message.value == "Suggest a SearchFit plan to the person you are referring") {
		//console.log(validation_pass);
		validateFormOnSubmit(document.referral_submission_form);
		if (validation_pass == true) {
          
		
			document.referral_submission_form.submit_ref_button_clicked.value = "submit_ref_was_clicked";
			document.referral_submission_form.submit();
		}
    } else {document.referral_submission_form.refer_repeat.value="select";}
	
	//console.log(document.referral_submission_form.submit_ref_button_clicked.value);
	// if
} // function

function validateFormOnSubmit(theForm) {
// for form validation
    var reason = "";

    reason += validateEmpty(theForm.referrer_name,"Enter Your Name");
	reason += validateEmpty(theForm.referree_name,"Enter the Name of the Person Being Referred");
	reason += validateEmpty(theForm.referree_phone,"Enter the Phone Number of the Person Being Referred");
	reason += validateEmail(theForm.referrer_email,"Enter Your Email Address","Your Email Address Must Be Valid");
	reason += validateEmail(theForm.referree_email,"Enter The Email of the Person Being Referred","The Email of the Person You are Referring Must Be Valid");
	reason += validateEmpty(theForm.referree_website,"Enter the Website of the Persion Being Referred");
    if (reason != "") {
		validation_pass = false;
        alert("Some fields need correction:\n" + reason);
        return false;
    } else {
		validation_pass = true;
	}
    // return true;
}
function validateEmpty(fld,error_msg) {
    var error = "";

    if (fld.value.length == 0 || fld.value == "Enter Your Name" || fld.value == "Name of Person You Are Referring" || fld.value == "Phone# of Person You Are Referring" || fld.value == "Website of Person You Are Referring") {
        fld.style.background = '#ff5f02';
        error = error_msg + "\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}
function validateEmptyTerms(fld) {
    var error = "";

    if (fld.checked == false) {
        fld.style.background = '#ff5f02';
        error = "Agree to Terms if you would like to proceed.\n"
    } else {
        fld.style.background = 'White';
    }
    return error;
}
function trim(s) {
    return s.replace(/^\s+|\s+$/, '');
}
function validateEmail(fld,req_msg,valid_msg) {
    var error = "";
    var tfld = trim(fld.value); // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
    var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;

    if (fld.value == "") {
        fld.style.background = '#ff5f02';
        error = req_msg + "\n";
    } else if (!emailFilter.test(tfld)) { //test email for illegal characters
        fld.style.background = '#ff5f02';
        error = valid_msg + "\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = '#ff5f02';
        error = valid_msg + "\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}
/* function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');

    if (fld.value == "") {
        error = "Phone Number is a Required Field.\n";
        fld.style.background = '#ff5f02';
    } else if (isNaN(parseInt(stripped))) {
        error = "The phone number contains illegal characters.\n";
        fld.style.background = '#ff5f02';
    } else if (! (stripped.length == 10)) {
        error = "The phone number is the wrong length. Make sure you included an area code.\n";
        fld.style.background = '#ff5f02';
    }
    return error;
} */
function validateURL(fld,req_msg,valid_msg) {
    var error = "";
    var theurl = fld.value;

   // var tomatch = /^([a-zA-Z0-9_-]+\.)*[a-zA-Z0-9_-]+(\.[a-zA-Z]{2,6}){1,2}$/;
  var tomatch = /^([a-zA-Z0-9_-]+\.)*[a-zA-Z0-9_-]+(\.[a-zA-Z]{2,6}){1,2}$/;
    
  
if(theurl == "" || theurl == "Website of Person You Are Referring"){
error = req_msg + "\n";
fld.style.background = '#ff5f02';
} else if (tomatch.test(theurl) == false) {
    error = valid_msg + "\n";
    fld.style.background = '#ff5f02';
    }else {
        fld.style.background = 'White';
    }
    return error;
} // function
