google.load('jquery','1.4');
//google.load('jqueryui','1.7');

function initialise() {
	var validateForm = function () {
		var formValid = true;

		// Check text fields
		$('#profile input.required').each(function() {
			var $this = $(this);
			if ($this.val() == '') {
				if (formValid === true) {
					formValid = false;
					$this.focus();
				}
				$this.addClass('invalid');
			} else {
				$this.removeClass('invalid');
			}
		});

		// Validate email address
		var email = $('[name=email]');
		if (email.val().length > 0) {
			if (email.val().search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {
				email.removeClass('invalid');
			} else {
				email.addClass('invalid');
				formValid = false;
			}
		}

		// Country select
		var country = $('[name=country]');
		if (country.val() <= 0) {
			country.addClass('invalid');
			formValid = false;
		} else {
			country.removeClass('invalid');
		}

		// Preference
		var preferenceChecked = $('[name^=preference]:checked').length;
		if (preferenceChecked == 0) {
			formValid = false;
			$('#preference').addClass('invalid');
		} else {
			$('#preference').removeClass('invalid');
		}

		// Purchase
//		var purchaseChecked = $('[name^=purchase]:checked').length;
//		if (purchaseChecked == 0) {
//			formValid = false;
//			$('#purchase').addClass('invalid');
//		} else {
//			$('#purchase').removeClass('invalid');
//		}

		// Relationship
		var relationshipChecked = $('[name^=relationship]:checked').length;
		var relationshipOther = $('[name=relationship_other]');
		if (relationshipChecked == 0 && relationshipOther.val() == '') {
			formValid = false;
			$('#relationship').addClass('invalid');
		} else {
			$('#relationship').removeClass('invalid');
		}

		// Show alert
		if (formValid == false) {
			alert("Please complete all of the required fields");
			return false;
		}

		return true;
	};

	jQuery('#profile').bind('submit',validateForm);


	var preferenceDisable = function() {
		var preferenceChecked = $('[name^=preference]:checked');
		if (preferenceChecked.length > 0) {
			preferenceChecked.each(function() {
				var $this = $(this);
				if ($this.val() == 'none') {
					$('[name^=preference]').each(function() {
						var $this = $(this);
						if ($this.val() != 'none') {
							$this.attr('disabled','disabled');
						}
					});
				} else {
					$('[name^=preference]').each(function() {
						var $this = $(this);
						if ($this.val() == 'none') {
							$this.attr('disabled','disabled');
						}
					});
				}
			});
		} else {
			$('[name^=preference]').removeAttr('disabled');
		}
	};

	jQuery('[name^=preference]').bind('change',preferenceDisable);
    preferenceDisable();

}

google.setOnLoadCallback(initialise);
