// Send message to CSR/PPD
function sendMessage(){
	//  alert('in sendmessage');
	
	var prod = document.getElementById('prod').value;
	var userFirstName = document.getElementById('userFirstName').value;
	var userLastName = document.getElementById('userLastName').value;
	var acctName = document.getElementById('acctName').value;
	var acctCity = document.getElementById('acctCity').value;
	var acctState = document.getElementById('acctState').value;
	var acctCountry = document.getElementById('acctCountry').value;
	var acctPhone = document.getElementById('acctPhone').value;
	var userEmail = document.getElementById('userEmail').value;
	var userEmail2 = document.getElementById('userEmail2').value;
	var msgTo = document.getElementById('msgTo').value;
	var message = document.getElementById('message').value;
	var subject = document.getElementById('subject').value;
	validateField('userFirstName',userFirstName);
	validateField('userLastName',userLastName);
	validateField('acctName',acctName);
	validateField('acctCity',acctCity);
	validateField('acctState',acctState);
	validateField('acctCountry',acctCountry);
	validatePhone('acctPhone',acctPhone);
	validateField('userEmail',userEmail);
	validateEmail('userEmail',userEmail);
	validateField('userEmail2',userEmail2);
	validateEmail('userEmail2',userEmail2);
	validateField('msgTo',msgTo);
	validateField('subject',subject);
	validateField('message',message);
	// Make sure email matches
	if(userEmail != userEmail2){
		document.getElementById('userEmailError').innerHTML = "<br>* Emails do not match";
		document.getElementById('userEmail2Error').innerHTML = "<br>* Emails do not match";
	}
	if(checkErrors('userFirstName') && checkErrors('userLastName') && checkErrors('acctName') && checkErrors('acctCity') && checkErrors('acctState') && checkErrors('acctCountry') && checkErrors('userEmail') && checkErrors('subject') && checkErrors('message') && checkErrors('msgTo')){
/*
		// Load reply from contact
		function loadReply(){
			if(request.readyState == 4){
				if(request.status == 200){
					document.getElementById('contact').innerHTML = request.responseText;
				}
			}
		}
		// send message to CSR/PPD
		var url = 'includes/submitContactUs.php';
		var sendInfo = 'prod='+prod+'&userFirstName='+escape(userFirstName)+'&userLastName='+escape(userLastName)+'&acctName='+escape(acctName)+'&acctCity='+escape(acctCity)+'&acctState='+escape(acctState)+'&acctCountry='+escape(acctCountry)+'&acctPhone='+escape(acctPhone)+'&userEmail='+escape(userEmail)+'&subject='+escape(subject)+'&msgTo='+escape(msgTo)+'&message='+escape(message);
		request.open("POST",url,false);
		request.onreadystatechange = loadReply;
		request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		request.send(sendInfo);
		if(request.onreadystatechange == null){loadReply();}
*/
		var url = 'includes/submitContactUs.php';
		$.post(url, {
			prod : prod,
			userFirstName : userFirstName,
			userLastName : userLastName,
			acctName : acctName,
			acctCity : acctCity,
			acctState : acctState,
			acctCountry : acctCountry,
			acctPhone : acctPhone,
			userEmail : userEmail,
			subject : subject,
			msgTo : msgTo,
			message : message
		},function(msg){
			$('#contact').html(msg);
		});
	} else {
		alert('Check form for errors');
	}
}

// Check for errors
function checkErrors(field){
	if(document.getElementById(field+'Error').innerHTML == ''){
		return true;
	} else {
		return false;
	}
}

// Field Validation

// Check for empty fields
function validateField(field,value){
	if(value == ""){
		var fieldAlert = "<br>* You must complete this field";
		document.getElementById(field+"Error").innerHTML = fieldAlert;
		return false;
	} else {
		document.getElementById(field+"Error").innerHTML = "";
		return true;
	}
}
// Validate email address
function validateEmail(field,emailValue){
	if (emailValue != ""){
		var emailAlert = "<br>* This is not a valid email address";
		var apos=emailValue.indexOf("@");
		var dotpos=emailValue.lastIndexOf(".");
		if (apos<1||dotpos-apos<2){
			document.getElementById(field+"Error").innerHTML=emailAlert;
			return false;
		} else {
			document.getElementById(field+"Error").innerHTML="";
			return true;
		}
	}
}

////////////////////////////////////////////////////////////////
//                   Begin Phone functions                    //
////////////////////////////////////////////////////////////////
// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function validate(field,phone){
	if(phone != "" || phone !== "" || field == "acctPhone"){
		s=stripCharsInBag(phone,validWorldPhoneChars);
		return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
	}
}

function validatePhone(field,phone){
	if(field == "acctPhone" || phone != ""){
		var phoneAlert = "* You did not enter a valid phone number";
		var phoneError = field+"Error";
		if(validate(field,phone) == false){
			document.getElementById(field+"Error").innerHTML=phoneAlert;
			return false;
		} else {
			document.getElementById(field+"Error").innerHTML="";
			return true;
		}
	} else {
		document.getElementById(field+"Error").innerHTML="";
	}
}
////////////////////////////////////////////////////////////////
//                     End Phone functions                    //
////////////////////////////////////////////////////////////////