String.prototype.trim = function ()
{
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

$(function()
{
	toggleInputField($("input[name='search']"),"Enter search terms");
	toggleInputField($("input[name='login-email']"),"Email");
	toggleInputField($("input[name='login-pass']"),"password");
	toggleInputField($("input[name='signup-email']"),"Your E-mail");
	
	// dropdowns
	$(".toggleDropdown").each(function()
	{
		var trigger = $(this)
		trigger.wrapInner("<span></span>");
		$(this).next(".dropdown").find(".dropdown-hide").text(function()
		{
			if($(this).text() == "")
			{
			return "Hide " + trigger.text();
			}
			else
			{
				return $(this).text();
			}
		});
		addRelValueToText($(this));
		$(this).addClass("dropdown-trigger");
	}).click(function(e)
	{
		e.preventDefault();
		var trigger = $(this);
		var container = $(this).next(".dropdown");
		if(container.hasClass("active"))
		{
			container.slideUp("normal",function()
			{
				$(this).removeClass("active");
				addRelValueToText(trigger);
			});
		}
		else
		{
			container.slideDown("normal",function()
			{
				$(this).addClass("active");
				removeRelValueFromText(trigger);
			});
		}
	}).next(".dropdown").addClass("hide");
	
	$(".dropdown-hide").click(function(e)
	{
		e.preventDefault();
		var container = $(this).parents(".dropdown").eq(0);
		var trigger = container.prev(".dropdown-trigger");
		container.slideUp("normal",function()
		{
			$(this).removeClass("active");
			addRelValueToText(trigger);
		});
	});
});

function addRelValueToText(el)
{
	var currentText = el.children("span").eq(0).text();
	var rel = el.attr("rel");
	var newText = "";
	currentText = currentText.replace("Hide ","");
	if(rel != undefined)
	{
		
		newText = rel + " " + currentText;
		
	}
	else
	{
		newText = "Show " + currentText;
	}
	el.children("span").eq(0).text(newText);
}
function removeRelValueFromText(el)
{
	var currentText = el.children("span").eq(0).text();
	var rel = el.attr("rel");
	var newText = "";
	var textToRemove = "";
	if(rel != undefined)
	{
		textToRemove = rel + " ";
		newText = currentText.replace(textToRemove,"Hide ");
		
	}
	else
	{
		newText = currentText.replace("Show ","Hide ");
	}
	el.children("span").eq(0).text(newText);
}

function toggleInputField(textbox, defaultValue)
{
	if($(textbox).val().trim() == "")
	{
		$(textbox).val(defaultValue).addClass("blur");
	}
	
	$(textbox).focus(function()
	{
		if($(this).val().trim() == defaultValue)
		{
			$(this).val("").addClass("focus").removeClass("blur");
		}
	});
	$(textbox).blur(function()
	{
		if($(this).val().trim() == "")
		{
			$(this).val(defaultValue).addClass("blur").removeClass("focus");
		}
	});
	
	
}
