/******* Why hello thar! *******/
$(function()
{
	$(".submit")
		.attr("disabled", "disabled")
		.css( {'background-color': '#cccccc'} )
	;
	
	$("input.notsubmit").focus(function(evt)
	{
		if ($(evt.target).val() == "username" || $(evt.target).val() == "password" || $(evt.target).val() == "email")
		{
			$(evt.target).val('');
		}
	});
	
	$(".reveal a").mousedown(function(evt)
	{
		var value = $(".pass").val();
		if ($(".pass").hasClass("good"))
		{
			$(".pass").replaceWith('<input type="text" name="password" class="notsubmit pass good" value="'+value+'" maxlength="50" />');
		} else
		{
			$(".pass").replaceWith('<input type="text" name="password" class="notsubmit pass" value="'+value+'" maxlength="50" />');
		}
		return false;
	});
	
	$(".reveal a").mouseup(function(evt)
	{
		var value = $(".pass").val();
		if ($(".pass").hasClass("good"))
		{
			$(".pass").replaceWith('<input type="password" name="password" class="notsubmit pass good" value="'+value+'" maxlength="50" />');
		} else
		{
			$(".pass").replaceWith('<input type="password" name="password" class="notsubmit pass" value="'+value+'" maxlength="50" />');
		}
		return false;
	});
	
	function validator()
	{
		var rxEmail = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		var rxUser = /^([a-zA-Z])[a-zA-Z_-]*[\w_-]*[\S]$|^([a-zA-Z])[0-9_-]*[\S]$|^[a-zA-Z]*[\S]$/;
		var emailGood = false;
		var userGood = false;
		var userMinLength = 5;
		var passMinLength = 6;
				
		$(".email").keyup(function(evt)
		{
			if (rxEmail.test($(evt.target).val()))
			{
				if ($(this).hasClass("bad")) { $(this).removeClass("bad"); }
				$(this).addClass("good");
				$("label:eq(1)").html("<strong>Email address is valid!</strong>");
				$(".validemail").empty();
				if ($(".validemail").html() == "")
				{
					$(".validemail").append('<img src="assets/images/checkmark.png" alt="Valid!" />');
				}	
			} else
			{
				if ($(this).hasClass("good")) { $(this).removeClass("good"); }
				$(this).addClass("bad");
				$("label:eq(1)").text("Invalid email address (or continue typing)!");
				$(".validemail").empty().append('<img src="assets/images/invalid.gif" alt="Invalid!" />');
			}
		});
				
		$(".user").keyup(function(evt)
		{
			/******* Report length of username ******/
			if ($(".user").val().length < userMinLength)
			{
				var length = userMinLength - $(".user").val().length;
				$("label:eq(0)").text('To short! You need '+length+' more character(s).');
				$(".validuser").empty().append('<img src="assets/images/invalid.gif" alt="Invalid!" />');
			} else
			{
				if ($(this).val().length >= userMinLength)
				{
					if (rxUser.test($(evt.target).val()))
					{
						if ($(this).hasClass("bad")) { $(this).removeClass("bad"); }
						$(this).addClass("good");
						$("label:eq(0)").html('<strong>Username is good!</strong>');
						$(".validuser").empty();
						if ($(".validuser").html() == "")
						{
							$(".validuser").append('<img src="assets/images/checkmark.png" alt="Valid!" />');
						}
					} else
					{
						if ($(this).hasClass("good")) { $(this).removeClass("good"); }
						$(this).addClass("bad");
						$(".validuser").empty().append('<img src="assets/images/invalid.gif" alt="Invalid!" />');
						$("label:eq(0)").text('Please correctly format your username!');
					}
				} else
				{
					if ($(this).hasClass("good")) { $(this).removeClass("good"); }
					$(this).addClass("bad");
					$(".validuser").empty().append('<img src="assets/images/invalid.gif" alt="Invalid!" />');
					$("label:eq(0)").text('Your desired username, at least 5 characters long, and cant have !@£$%^&*)( in.');
				}
			}
		});
		
		$(".pass").keyup(function(evt)
		{
			console.log($(this).val().length);
			if ($(this).val().length >= passMinLength)
			{
				if ($(this).hasClass("bad")) { $(this).removeClass("bad"); }
				$(this).addClass("good");
				$(".validpass").empty();
				if ($(".validpass").html() == "")
				{
					$(".validpass").append('<img src="assets/images/checkmark.png" alt="Valid!" />');
				}
			} else
			{
				if ($(this).hasClass("good")) { $(this).removeClass("good"); }
				$(this).addClass("bad");
				$(".validpass").empty().append('<img src="assets/images/invalid.gif" alt="Invalid!" />');
			}
		});
		
		$("input").keyup(function(evt)
		{
			if ($(".user").hasClass("good") && $(".email").hasClass("good") && $(".pass").hasClass("good"))
			{
				$(".submit")
					.removeAttr("disabled")
					.css( {'background-color': '#f75244'} )
				;
			} else
			{
				$(".submit")
					.attr("disabled", "disabled")
					.css( {'background-color': '#cccccc'} )
				;
			}
		});
	}
	
	validator();
	
	/********* Flag Video Toooooooooltip ************/
	$(".flag").mouseover(function(evt)
	{
		$(".buttons").prepend('<div class="tooltip">flag video?</div>');
		$(".tooltip").css( {'display': 'block'} );
	});
	
	$(".flag").mouseout(function(evt)
	{
		$(".tooltip").css( {'display': 'none'} );
	});
	
	$(window).mouseover(function(evt)
	{
		if (evt.currentTarget == $('.flag'))
		{
			console.log("Work!");
		}
	});
})