﻿// ONLOAD FUNCTION:
$(function() {
	// ACCOUNT CREATION LINK EVENT LISTENER:
	createAccountMsg();
	
	// SIGN IN LINK EVENT LISTENER:
	signIn();
	
	// AFTER KEYWORD CREATION, INPUT RESULT FOCUS:
	$("#resultShortUrlInput").click(function() { $(this).select(); }).select();
});


// ACCOUNT CREATION MESSAGE:
function createAccountMsg() {
	// IF NEW ACCOUNT LINK IS BEING CLICKED, DISPLAY A MESSAGE AND GO BACK HOME:
	$("#createAccountLink").click(function() {
		// DISPLAY INFORMATION MESSAGE:
		alert(say(1 /* To have your own account, simply create a new shortcut. */));
		
		// GO BACK HOME:
		document.location.href = "/index.php";
	});
}


// SIGN IN EVENT LISTENER:
function signIn() {
	// IF SIGN IN LINK IS BEING CLICKED, LOAD SIGN IN FORM:
	$("#signInLink").click(function() {
		// REMOVE SIGN-IN LINK CLICK LISTENER (TO AVOID DOUBLE CLICK):
		$("#signInLink").unbind("click");
									
		// ADD FORM CONTAINER INTO DOM TREE:
		$("#logBar").prepend("<div id='signInContainer'>");
		// IN THIS CONTAINER, LOAD THE FORM:
		$("#signInContainer").load("/lib/signInForm.php", function() {
			// ADD "TARGET BLANK" TO THE LINK INSIDE "FORGOT PASSWORD" div:
			$("#forgotPasswordLink a").attr("target", "_blank");
			
			// IF EMAIL FIELD ISN'T EMPTY, FOCUS ON KEYWORD FIELD:
			if($("[name=fieldOne]").val().length) $("[name=fieldTwo]").focus();
			else $("[name=fieldOne]").focus();
		 
			// FORM SUBMIT EVENT LISTENER:
			$("#signInForm").submit(function() {
				// AJAX SUBMIT FORM:
				$(this).ajaxSubmit({success: signInCallback}); 
				return false; // RETURN FALSE TO PREVENT STANDARD FORM SUBMIT
			});
			
			// CLOSING WINDOW EVENT LISTENERS:
			$("#signInLink").add("#closeCross").click(function() {
				$("#signInContainer").fadeOut(500, function() {
					$(this).remove();
					signIn();
				});
			});
		});
	});
}


// SIGN IN CALLBACK FUNCTION:
function signInCallback(serverAnswer) {
	// IF SIGN-IN SUCCEEDED:
	if(serverAnswer == "ok")
	{
		// LOAD ACCOUNT PAGE:
		document.location.href = "/account.php";	
	}
	
	// IF SIGN-IN FAILED:
	else // I.E. if(serverAnswer == "error")
	{
		// BUILD ERROR MESSAGE:
		var errorMessage =	"<div id='signInError'>" +
								"<br /><br />" +
								"<p>" + say(2 /* Your email and your password don't match. Please retry. */) + "</p>" +
								"<p style='text-align: right;'><a id='retryLink' style='cursor: pointer;'>" + say(3 /* Retry */) + "</a></p>" +
							"</div>";
		
		// HIDE FORM AND SHOW ERROR MESSAGE:
		$("#signInForm").hide();
		$("#signInBox").append(errorMessage);
		
		// IF VISITOR WANTS TO RETRY, REMOVE MESSAGE AND SHOW FORM:
		$("#retryLink").click(function() {
			$("#signInError").remove();
			$("#signInForm").show();
			
			// IF EMAIL FIELD ISN'T EMPTY, FOCUS ON KEYWORD FIELD:
			if($("[name=fieldOne]").val().length) $("[name=fieldTwo]").focus();
			else $("[name=fieldOne]").focus();
		});
		
		// IF USER PRESSES ENTER KEY, TRIGGER RETRY LINK CLICK:
		$(document).keydown(function(event) {
		    // IF IT'S ENTER KEY:
		    if(event.keyCode == 13) {
		    	// IF FIRST STEP HASN'T YET BEEN PASSED, TRIGGER FORM SUBMISSION:
		    	$("#retryLink").trigger("click");
		    	
		    	// AVOID ENTER DEFAULT BEHAVIOR:
		    	event.preventDefault();
		    }
		});
		
	}
}
