$(document).ready(function(){
	$('.formTextField').blur( function() { $("#"+this.id).css({ backgroundColor: "#fefed3" }) })
	$('.formTextField').focus( function() { $("#"+this.id).css({ backgroundColor: "#ffffef" }) })
	$("#registerSubmitButton").click(function(){
		var invalid_fields = 0
		$('#registerFormContainer .formTextField').each(function(i){
			col = "#fefed3"
			if(!this.disabled && !is_valid(this.value, this.id)){
				col = "pink"
				invalid_fields += 1
			}
			$("#" + this.id).css({ backgroundColor: col })
		})
		if($("#UserUnhashedPassword").get(0).value != $("#UserUnhashedPasswordConfirm").get(0).value){
			invalid_fields += 1
			$("#UserUnhashedPasswordConfirm").css({ backgroundColor: 'pink' })
		} else {
			$("#UserUnhashedPasswordConfirm").css({ backgroundColor: '#fefed3' })
		}
		if($("#UserEmail").get(0).value != $("#UserEmailConfirm").get(0).value){
			invalid_fields += 1
			$("#UserEmailConfirm").css({ backgroundColor: 'pink' })
		} else {
			$("#UserEmailConfirm").css({ backgroundColor: '#fefed3' })
		}
		if(!$("#UserTerms").get(0).checked){
			invalid_fields += 1
			$("#UserTermsSpan").css({ backgroundColor: 'pink' })
		} else {
			$("#UserTermsSpan").css({ backgroundColor: 'white' })
		}
		if(invalid_fields > 0) {
			return false;
		} else {
			$('#registerSubmitButton').css({display:"none"})
			$('#registerFormSubmitting').css({display:"inline"})
			$('#registerForm').get(0).submit()
			return false;
		}
	})
})

var RegexLib = {
	alphaNumeric : /[A-Za-z0-9 '-]+/,
	alphabetic : /[A-Za-z '-]+/,
	email : /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{ 1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/
}

var Regx = {
  UserUsername : RegexLib.alphaNumeric,
  UserUnhashedPassword : RegexLib.alphaNumeric,
  UserEmail : RegexLib.email,
  UserProfileFirstName : RegexLib.alphabetic
}

function is_valid(value, id) {
  return !( value == "" || ( Regx[id] && !value.match( Regx[id] ) ) )
}