$(document).ready( function () {


var phpLoc = "http://" + document.location.host + "/php/PHPRateQuote/";


$('#submit').click( function () {
	
	var error = errorCheck();
	
	if (!error) {
		gatherSubmit();
		}
	
	});





var fields = {
	"userName"    : null,
	"userPassword" : null,
	"userBusiness" : null,
	"userFName" : null,   
	"userLName"   : null,
	"userEmail"    : null,
	"userPhone"    : null,
	"userFax"      : null,
	"userAddress1" : null, 
	"userAddress2" : null,
	"userCity"     : null,
	"userState"    : null,
	"userCountry"  : null,
	"userParent"  : null,
	"userSecQuest" : null,
	"userSecAns"   : null,
	"userType"     : "member2",
	"userStatus"   : null,
	"userZip"      : null
	
	}

var fieldsError = {
	"userName"    : "simple",
	"userPassword" : "password",
	"userFName" : "simple",   
	"userLName"   : "simple",
	"userEmail"    : "email",
	"userPhone"    : "phone",
	"userAddress1" : "simple", 
	"userCity"     : "simple",
	"userState"    : "simple",
	"userSecQuest" : "simple",
	"userSecAns"   : "simple",
	"userZip"      : "zipcode"
	}

function gatherSubmit() {
	
	for (field in fields) {
		var input = $('*[name="' + field + '"]');
		var value = $(input).val();
		if (value) {
			fields[field] = value;
			}
		}
	postObject = {
		'fields' : fields
		}
	postString = JSON.stringify(postObject);
	
	$.post(phpLoc + "register.php", "data=" + postString, function (data) {

		
		if (data.success) {
			
			setCookie('userName', data.userInfo.userName, 100000);
			setCookie('userPassword', data.userInfo.userPassword, 100000);
			document.location.href = phpLoc + "thanks.html";
			
			} else {
			$('*[name="userName"]').css('background-color', 'red').next('.error').text('username already exists');
			
			
			}
		
		
		
		}, "json");
	
	}



function errorCheck() {
	var totalError = null;
	for (field in fieldsError) {
		var error = null;
		var input = $('*[name="' + field + '"]');
		var value = $(input).val();
		var checkType = fieldsError[field];

		if (checkType) {
			if (!value) {
				error = 'Invalid' + field;
				}		
			
			}
		
		if (checkType == "zipcode") {
			if (value) {
				if (isNaN(value)) {
					error = "invalid zipcode";
					}
				}
			}
		if (checkType == "password") {

			var passwordCheck = $('*[name="userPassword2"]').val();  
			if (value) {
				if (value.length <= 5) {
					error = 'password needs to be at least 6 characters long';					
					}
				}
			
			if (value != passwordCheck){ 
				error = "passwords do not match";
				
				}
			}
		
		if (checkType == "email") {
			var emailRegex = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
			if (!value.match(emailRegex)) {
				error = 'Not a valid email address';					
				}
			}
		
		if (error) {
			$(input).css('background-color', 'red');
			$(input).next('.error').text(error);
			
			totalError = error;
			} else {
			$(input).css('background-color', '');
			$(input).next('.error').text('');	
				
			}
		
		}
	
	
	
	return totalError;
	}



});

