/*
 * Scrips included here are applicable to every page (for example, Login, Header search, etc)
 */
$(document).ready(function(){
	/************ LOGIN > HEADER ************/
	
	//if (CapsLock.isOn()){
	//	alert('caps on');
	//}
	CapsLock.addListener(function(status){
		if (status){
			$("#capslock-error-header").show();
		} else {
			$("#capslock-error-header").hide();
		}
	});
	
	/************ Login / Forgot Password toggles ************/
	$("#lnkForgotPassword").click(function(e){
		e.preventDefault();	
		$("#login-div-area").hide();
		$("#forgot-password-div-area").show();
		resetForgotPasswordPanel();
	});
	$("#lnkLoginReturn").click(function(e){
		e.preventDefault();	
		$("#forgot-password-div-area").hide();
		$("#login-div-area").show();		
	});
	function resetForgotPasswordPanel() {
		$("#frmForgotPassword").show();
		$("#forgot-password-msg").hide();
		$("#forgot-password-submit-div").html('<input id="btnForgotPasswordSubmit" class="login-submit" name="submit" type="submit" value="Submit" />');
	}
	
	/************ Login fields reset ************/
	$("#email").focus(function(){
		if ($(this).val() == "Email")
			$(this).val("");
	});
	$("#email").blur(function(){
		if ($(this).val() == "")
			$(this).val("Email");
	});
	$("#password").focus(function(){
		if ($(this).val() == "Pass")
			$(this).val("");
	});
	$("#password").blur(function(){
		if ($(this).val() == "")
			$(this).val("Pass");
	});
	
	/************ Login Form: Header ************/
	var LoginImgLoader = new Image();
	LoginImgLoader.src = (("https:" == document.location.protocol) ? WEB_ASSETS_PATH_SECURE : WEB_ASSETS_PATH)+"images/11/if/ajax-loader-dk2.gif";
	$("#frmLogin").submit(function(e){
		
		e.preventDefault();
		$("#login-error-bar-msg").empty();
		$("#login-error-wrapper").hide();
		$("#login-invalid-password-arrow").hide();
		$("#login-invalid-email-arrow").hide();
		
		var email = $("#email").val();
		var password = $("#password").val();
		var keep_logged_in = $("#keep_logged_in").attr('checked') ? 1 : 0;
		
		if (!isValidEmailAddress(email)){
			$("#login-error-bar-msg").append("Please enter a valid email address");
			$("#login-error-wrapper").show();
			$("#login-invalid-email-arrow").show();
		}else if (password == "" || password == "Pass"){
			$("#login-error-bar-msg").append("Please enter your password");
			$("#login-error-wrapper").show();
			$("#login-invalid-password-arrow").show();
		}else{
			$("#login-submit-div").html("<img src='"+LoginImgLoader.src+"' />");
			$.getJSON("/11/gateway/login.php", {action: "LoginUser", dlp:document.location.protocol, email: email, password: password, keep_logged_in: keep_logged_in}, function (json){
				//alert(json.msg[0].field);
				if (!json.success){
					$("#login-error-bar-msg").append(""+json.msg[0].msg+"");
					if(json.msg[0].field == "password"){
						$("#login-invalid-password-arrow").show();
					}else if(json.msg[0].field == "email"){
						$("#login-invalid-email-arrow").show();
					}
					$("#login-error-wrapper").show();
					$("#login-submit-div").html('<input id="btnLoginSubmit" class="login-submit" name="submit" type="submit" value="Log In" />');
				}else{
					if (json.msg[1].alumniredirect == 1){
						window.location = "/11/alumni.php";
					} else if (json.msg[2].myaccountredirect == 1){
						window.location = "/11/my_account.php";
					} else {
						location.reload();
					}					
				}
			});
		}
	});
	
	/************ Forgot password form: header ************/
	$("#f_email").focus(function(){
		if ($(this).val() == "Please enter your email address...")
			$(this).val("");
	});
	$("#f_email").blur(function(){
		if ($(this).val() == "")
			$(this).val("Please enter your email address...");
	});
	$("#frmForgotPassword").submit(function(e){
		e.preventDefault();
		$("#login-error-bar-msg").empty();
		$("#login-error-wrapper").hide();
		$("#login-invalid-password-arrow").hide();
		$("#login-invalid-email-arrow").hide();
		
		var email = $("#f_email").val();
		
		if (!isValidEmailAddress(email)){
			$("#login-error-bar-msg").append("Please enter a valid email address");
			$("#login-error-wrapper").show();
			$("#login-invalid-email-arrow").show();
		}else{
			$("#forgot-password-submit-div").html("<img src='"+LoginImgLoader.src+"' />");
			$.getJSON("/11/gateway/login.php", {action: "ForgotPassword", email: email}, function (json){
				if (!json.success){
					$("#login-error-bar-msg").append(""+json.msg+"");
					$("#login-error-wrapper").show();
					$("#login-invalid-email-arrow").show();
					$("#forgot-password-submit-div").html('<input id="btnForgotPasswordSubmit" class="login-submit" name="submit" type="submit" value="Submit" />');
				}else{
					$("#frmForgotPassword").hide();
					$("#forgot-password-msg").show();
				}
			});
		}
	});
	
	
	/************ LOGIN > PAGE ************/
	
	/************ Login / Forgot Password toggles ************/
	if ($("#frmPageLogin").length > 0){
		$("#p_email").focus();
	}

	$("#lnkPageForgotPassword").click(function(e){
		e.preventDefault();	
		$("#p-login-form-panel").slideToggle(400);
		$("#p-forgotpassword-form-panel").slideToggle(400);
		resetPageForgotPasswordPanel();
	});
	$("#lnkPageLoginReturn").click(function(e){
		e.preventDefault();	
		$("#p-login-form-panel").slideToggle(400);
		$("#p-forgotpassword-form-panel").slideToggle(400);
	});
	function resetPageForgotPasswordPanel() {
		$("#p_f_email").show();
		$("#PageForgotPasswordTitle").text("Please enter your email address:");
		$("#PageLoginReturn").css("float", "right");
		$("#PageForgotPasswordSubmit").html('<input class="btnSubmit" id="btnPageForgotPasswordSubmit" type="submit" name="submit" value="" />');
	}
	
	/************ Login Form: Page ************/
	var LoginImgLoaderP = new Image();
	LoginImgLoaderP.src = (("https:" == document.location.protocol) ? WEB_ASSETS_PATH_SECURE : WEB_ASSETS_PATH)+"images/misc/ajax-loader3.gif";	
	$("#frmPageLogin").submit(function(e){
		e.preventDefault();
		$(".std-error").remove();
		$(".std-success").remove();
		
		var email = $("#p_email").val();
		var password = $("#p_password").val();
		var keep_logged_in = $("#p_keep_logged_in").attr('checked') ? 1 : 0;
		var redirect = $("#page_redirect").val();
		
		if (!isValidEmailAddress(email)){
			$(this).prepend("<div class='std-error'>Please enter a valid email address.</div>");
		}else if (password == ""){
			$(this).prepend("<div class='std-error'>Please enter your password.</div>");
		}else{
			$("#frmPageLoginSubmit").html("<img src='"+LoginImgLoaderP.src+"' />");
			$.getJSON("/11/gateway/login.php", {action: "LoginUser", dlp:document.location.protocol, email: email, password: password, keep_logged_in: keep_logged_in}, function (json){
				if (!json.success){
					$("#frmPageLogin").prepend("<div class='std-error'>"+json.msg[0].msg+"</div>");
					$("#frmPageLoginSubmit").html('<input class="btn-login-submit" type="submit" name="submit" value="" />');
				}else{
					if (json.msg[1].alumniredirect == 1){
						window.location = "/11/alumni.php";
					} else if (json.msg[1].myaccountredirect == 1){
						window.location = "/11/my_account.php";
					}  else {
						if (redirect != ""){
							window.location = redirect;
						} else {
							location.reload();
						} 	
					}		
				}
			});
		}
	});
	
	/************ Forgot password form: page ************/
	
	$("#frmPageForgotPassword").submit(function(e){
		e.preventDefault();
		$(".std-error").remove();
		$(".std-success").remove();
		
		var email = $("#p_f_email").val();
		
		if (!isValidEmailAddress(email)){
			$(this).prepend("<div class='std-error'>Please enter a valid email address.</div>");
		}else{
			$("#PageForgotPasswordSubmit").html("<img src='"+LoginImgLoader.src+"' />");
			$.getJSON("/11/gateway/login.php", {action: "ForgotPassword", email: email}, function (json){
				if (!json.success){
					$("#frmPageForgotPassword").prepend("<div class='std-error'>"+json.msg+"</div>");
					$("#PageForgotPasswordSubmit").html('<input class="btnSubmit" id="btnPageForgotPasswordSubmit" type="submit" name="submit" value="" />');
				}else{
					$("#p_f_email").hide();
					$("#PageForgotPasswordSubmit").html("");
					$("#PageForgotPasswordTitle").text("Your temporary password has been emailed to you");
					$("#PageLoginReturn").css("float", "none");
				}
			});
		}
	});

	
	/************ EXTERNAL LOGINS ************/
	// Submit must be triggered on this form for the md5 js code to work first before form can be submitted
	$('#frmVBLogin').submit(function(e){
		e.preventDefault();
		var jqxhr = $.post(document.location.protocol+"//"+document.domain+"/forum/login.php?do=login", $("#frmVBLogin").serialize(), function(data) {
			//alert(data);
	    })
	    .success(function() { })
	    .error(function() { })
	    .complete(function() { });
	});
	
	/************ LOGOUT ************/
	
	$("#lnkLogout").click(function(e){
		e.preventDefault();		
		/* Logout VB */
		//var jqxhr = $.post("http://www.digitaltutors.com/forum/login.php?do=logout", function() {
		var jqxhr = $.post("http://"+document.domain+"/forum/login.php?do=logout", function() { })
	    .error(function(){ /*alert('vb error');*/ })
	    .complete(function(){ /*alert('vb done');*/ });
		window.location = "/11/logout.php";		
	});	

});
