$(document).ready(function() {
	$("a#signup").click(function() {
		getAlphaInvite();
	});

	$("a#login").click(function() {
		$(".modal").load(BASE_URL + "/account/load-login", function() {
			showModal();
		});

	});

	// Buttons
		$(".modal a[id='login-sign-up']").click(function() {
			$.modal.close();
			$("#signup-modal").modal();
		});

		$(".modal a[id='login-forgotpassword']").click(function() {
			$.modal.close();
			$("#forgotpassword-modal").modal();
		});

		// Buttons
		$(".modal a[id='sign-up-login']").click(function() {
			$.modal.close();
			$("#login-modal").modal();
		});

		// ForgotPasswordModal

		$(".modal input[id='forgotpassword-email']").click(function() {
			$(this).attr('class', 'text');
		});

		// Buttons
		$(".modal a[id='forgotpassword-login']").click(function() {
			$.modal.close();
			$("#login-modal").modal();
		});
		$(".modal input[id='forgotpassword']").click(function() {
			if (validateForgotPassword()) {
				var email = $("#forgotpassword-email").val();
				$.ajax( {
					type : "POST",
					cache : false,
					url : BASE_URL + "/account/forgotpassword",
					data : "email=" + email,
					success : function(msg) {
						$.modal.close();
						$("#forgotpassword-success-modal").modal();
					}
				});
			}
		});

		// ForgotPasswordSuccessButtons

		$(".modal input[id='forgotpassword-success']").click(function() {
			$.modal.close();
		});
	});

function getAlphaInvite(flag) {
	var url = BASE_URL + "/account/load-signup-alpha";
	if(flag != null) {
		url += "?type="+flag;
	}
	$(".modal").load(url, function() {
		showModal();
	});
}
function validateLogin() {
	clearLoginWarnings();
	var isValid = false;
	if (isValidEmailAddress("#login-email") && isNotEmpty("#login-password")) {
		isValid = true;
	}
	return isValid;
}

function validateSignup() {
	clearSignupWarnings();
	var isValid = false;
	if (isValidEmailAddress("#signup-email") && isValidWhoAreyou()) {
		isValid = true;
	}
	return isValid;
}

function validateForgotpassword() {
	clearForgotpasswordWarnings();
	var isValid = true;
	if (isValidEmailAddress("#forgotpassword-email") == false) {
		isValid = false;
	}
	return isValid;
}

function clearSignupWarnings() {
	$("#signup-email").click(function() {
		$(this).attr('class', 'text');
	});

	$("#type_developer").change(function() {
		resetWhoAreYou();
	});

	$("#type_not_developer").change(function() {
		resetWhoAreYou();
	});
}

function clearForgotpasswordWarnings() {
	$("#forgotpassword-email").click(function() {
		$(this).attr('class', 'text');
	});

}

function clearLoginWarnings() {
	$("#login-email").click(function() {
		$(this).attr('class', 'text');
	});

	$("#login-password").click(function() {
		$(this).attr('class', 'text');
	});
}

function isValidWhoAreyou() {
	var isValid = true;
	var devchk = $("#type_developer").attr("checked");
	var notdevchk = $("#type_not_developer").attr("checked");
	if (devchk == false && notdevchk == false) {
		$("#who_are_you").attr("class", "text-error");
		isValid = false;
	}
	return isValid;
}

function resetWhoAreYou() {
	$("#who_are_you").attr("class", "text");
}

function isNotEmpty(field) {
	var isValid = true;
	if ($(field).val().length == 0) {
		$(field).attr("class", "error");
		isValid = false;
	}
	return isValid;
}

function isValidEmailAddress(field) {
	var isValid = true;
	var emailAddress = $(field).val();
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if (reg.test(emailAddress) == false) {
		$(field).attr("class", "error");
		isValid = false;
	}
	return isValid;
}