var validationTypes = ["emailV","passV","notEmpty","zipV","greaterThanZero","phone"]; var validationMessages = new Array; validationMessages['emailV'] = 'Not a recognised email format'; validationMessages['passV'] = 'Passwords must be at least 5 characters.'; validationMessages['notEmpty'] = 'This is a required field'; validationMessages['zipV'] = 'Please enter a numeric 5 digit zip code.'; validationMessages['greaterThanZero'] = 'Value must be greater than 0'; validationMessages['phone'] = 'This is an unrecognized phone number';
google.load("jquery", "1.4.4");
google.load("jqueryui", "1.8.11");

function performRequest(form, url, method, success) {
	var data = new Object;

	$(form).find(':text, :password, select, textarea').each(function () {
		if ($(this).hasClass('clear-input')) {
      		if (this.value == $(this).attr('initial-value')) {
      			this.value = '';
      		}
      	}
		var noValidation = true;
		for (var i in validationTypes) {
			if ($(this).hasClass(validationTypes[i])) {
				if (typeof data[validationTypes[i]] == 'undefined') {
					data[validationTypes[i]] = new Object;
				}
				hadNone = false;
				data[validationTypes[i]][$(this).attr('id')] = $(this).val();
			}
		}
		if (noValidation) {
			data[$(this).attr('id')] = $(this).val(); 
		}
	});
	
	if (typeof method != 'undefined') {
		data.method = method;
	}

	$.ajax({
	  type: 'POST',
	  url: url,
	  data: data,
	  dataType: 'json',
	  success: success
	});
	
	$(form).find(':text, :password, select, textarea').each(function () {
		if ($(this).hasClass('clear-input')) {
      		if (this.value == '') {
      			this.value = $(this).attr('initial-value');
      		}
      	}
    });
}

function showValidations(data) {
	removeValidations();
	for (var e in data.errors) {
		for (var validationClass in data.errors[e]) {
			$('#' + data.errors[e][validationClass]).addClass("errorField", 500);
			$('#' + data.errors[e][validationClass]).before('<div class="error">' + validationMessages[validationClass] + '</div>');
		}
	}
	
}

function removeValidations() {
	$('.error').remove();
	$('.errorField').removeClass("errorField");
}

function logout() {		
	performRequest(null, 'backend/user.php', 'logout', function (data) {
		window.location = "/";
	});	
}

