	function initializeLoginPanel () {
		$("body").append($("<div id='modal_overlay'></div>"));
		$("body").append($("<div id='login_panel'></div>"));
		$("body").append($("<div id='login_panel_preloader' align='center'><img src='images/ajax_loader_2.gif' align='absmiddle' /> Loading...</div>"));
		$("body").append($("<div id='login_panel_validator'></div>"));
		
		$("#open_login_panel").click(function(){
			var offset = jQuery("img", this).offset();
			
			if ($("#modal_overlay").css("display") == "none") {
				displayModalOverlay(offset, "login");
			} else {
				hideModalOverlay("login");
			}
			
			return false;
		});
		
		$("#open_logout_panel").click(function(){
			var offset = jQuery("img", this).offset();
			
			if ($("#modal_overlay").css("display") == "none") {
				displayModalOverlay(offset, "logout");
			} else {
				hideModalOverlay("logout");
			}
			
			return false;
		});
	}
	
	function displayModalOverlay (offset, action) {
		var width = $(document).width();
		$("#modal_overlay").css("width", width);
		$("#modal_overlay").css("opacity", 0.7);
			
		if (action == "login") {
			var offsettop = offset.top + 30;
			var height = $(document).height() - offsettop;
			$("#modal_overlay").css("height", height);
			$("#modal_overlay").css("top", offsettop);
			$("#modal_overlay").fadeIn('slow', function () { displayLoginPanel(offset); });	
		} else {
			var offsettop = offset.top + 25;
			var height = $(document).height() - offsettop;
			var width = $(document).width();
			$("#modal_overlay").css("height", height);
			$("#modal_overlay").css("top", offsettop);
			$("#modal_overlay").fadeIn('slow', function () { displayLogOutPanel(offset); });	
		}
	}
	
	function displayLoginPanel(offset) {
		var offsettop = offset.top + 25;
		var offsetleft = offset.left - 144;
		
		$("#login_panel").css("top", offsettop);
		$("#login_panel").css("left", offsetleft);
		$("#login_panel").css("height", 240);
		$("#login_panel").slideDown('slow', function() { displayLoginPanelPreloader(offset); loadLoginForm(); });
	}
	
	function displayLogOutPanel(offset) {
		var offsettop = offset.top + 20;
		var offsetleft = offset.left - 158;
		
		$("#login_panel").css("top", offsettop);
		$("#login_panel").css("left", offsetleft);
		$("#login_panel").css("height", 80);
		$("#login_panel").slideDown('slow', function() { displayLogOutPanelPreloader(offset); loadLogOutForm(); });
	}
	
	function displayLoginPanelPreloader(offset) {
		var offsettop = offset.top + 135;
		var offsetleft = offset.left - 62;
		
		$("#login_panel_preloader").css("top", offsettop);
		$("#login_panel_preloader").css("left", offsetleft);
		$("#login_panel_preloader").show();
	}
	
	function displayLogOutPanelPreloader(offset) {
		var offsettop = offset.top + 50;
		var offsetleft = offset.left - 75;
		
		$("#login_panel_preloader").css("top", offsettop);
		$("#login_panel_preloader").css("left", offsetleft);
		$("#login_panel_preloader").show();
	}
	
	function loadLoginForm() {
		$.ajax({
			url: "includes/login_form.php", 
			cache: false,
			success: function(message){
				$("#login_panel").append(message);
				$("#login_panel_preloader").hide();
			},
			complete: function (){
				initializeLoginFormProcessor();
			},
			error:function (){
				$("#login_panel").append('Unable to Load Content.');
				$("#login_panel_preloader").hide();
			}
		});
	}
	
	function loadLogOutForm() {
		$.ajax({
			url: "includes/logout_form.php", 
			cache: false,
			success: function(message){
				$("#login_panel").append(message);
				$("#login_panel_preloader").hide();
			},
			complete: function (){
				initializeLogOutFormProcessor();
			},
			error:function (){
				$("#login_panel").append('Unable to Load Content.');
				$("#login_panel_preloader").hide();
			}
		});
	}
	
	function hideModalOverlay (action) {
		if (action == "login") {
			$("#login_panel").slideUp('slow', function() { $("#modal_overlay").fadeOut('slow'); });
			$("#login_panel").empty();
			$("#login_panel_preloader").hide();
			$("#login_panel_validator").hide();	
		} else {
			$("#login_panel").slideUp('slow', function() { $("#modal_overlay").fadeOut('slow'); });
			$("#login_panel").empty();
			$("#login_panel_preloader").hide();
		}
	}
	
	function initializeLoginFormProcessor () {
		$("#login_form").submit(function() {
			$("#login_panel .login_form_container").hide();
			$("#login_panel_preloader").show();
			$("#login_panel_validator").empty();
			$("#login_panel_validator").hide();
			
			$.post("includes/login.php", { email: $("#login_form [name=email]").val(), password: $("#login_form [name = password]").val() },
				function(data){
					$("#login_panel .login_form_container").show();
					$("#login_panel_preloader").hide();
					
					if (data == "NO EMAIL") {
						var offset = $("#login_form [name=email]").offset();
						var offsettop = offset.top - 32;
						var offsetleft = offset.left + 35;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Please enter your email address");
						$("#login_panel_validator").show();
						
						$("#login_form [name=email]").focus();
					}
					
					if (data == "INVALID EMAIL") {
						var offset = $("#login_form [name=email]").offset();
						var offsettop = offset.top - 32;
						var offsetleft = offset.left + 35;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Invalid email address format");
						$("#login_panel_validator").show();
						
						$("#login_form [name=email]").focus();
					}
					
					if (data == "NO PASSWORD") {
						var offset = $("#login_form [name=password]").offset();
						var offsettop = offset.top - 32;
						var offsetleft = offset.left + 55;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Please enter your password");
						$("#login_panel_validator").show();
						
						$("#login_form [name=password]").focus();
					}
					
					if (data == "WRONG EMAIL") {
						var offset = $("#login_form [name=email]").offset();
						var offsettop = offset.top - 32;
						var offsetleft = offset.left + 35;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Incorrect email address");
						$("#login_panel_validator").show();
						
						$("#login_form [name=email]").focus();
					}
					
					if (data == "WRONG PASSWORD") {
						var offset = $("#login_form [name=password]").offset();
						var offsettop = offset.top - 32;
						var offsetleft = offset.left + 55;
						
						$("#login_panel_validator").css("top", offsettop);
						$("#login_panel_validator").css("left", offsetleft);
						$("#login_panel_validator").append("Incorrect password");
						$("#login_panel_validator").show();
						
						$("#login_form [name=password]").focus();
					}
					
					if (data == "LOGIN SUCCESSFUL") {
						hideModalOverlay("login");
						location.reload();
					}
					
   			});
			
			return false;
		});	
	}
	
	function initializeLogOutFormProcessor () {
		$("#sign_out").click(function(){
			$.ajax({
				url: "includes/logout.php", 
				cache: false,
				success: function(message){
					if (message == "LOGOUT SUCCESSFUL") {
						hideModalOverlay("logout");
						document.location = "index.php";
					}
				}
			});
			
			return false;
		});
		
		$("#cancel_sign_out").click(function(){
			hideModalOverlay("logout");
			
			return false;
		});
	}
	