
/**********************/
/* Text Box Switching */
/**********************/

/***** Utilities *****/

function target(e)
{
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	return targ;
}








/***** Handlers *****/

function show_label(e)
{
	var field = target(e);
	if(field.value.length > 0) return;
	
	var fields = field.parentNode.getElementsByTagName("input");
	if(fields.length < 1) fields = field.parentNode.getElementsByTagName("textarea");
	
	
	field.style.display = "none";
	fields[0].style.display = "block";
}



function hide_label(e)
{
	var field = target(e);
	
	var fields = field.parentNode.getElementsByTagName("input");
	if(fields.length < 1) fields = field.parentNode.getElementsByTagName("textarea");
	
	field.style.display = "none";
	fields[1].style.display = "block";
	fields[1].focus();
	fields[1].select();
}
	
	
	
	
	
	




/***** Init *****/

window.onload = function()
{
	// setup text/password fields
	var fields = document.getElementById("whatever").getElementsByTagName("input");
	for(var i = 0; i < fields.length; i++)
	{
		if(fields[i].type != "text" && fields[i].type != "password") continue;
		if(fields[i].id == "recaptcha_response_field") continue;
		
		if(fields[i].className == "label")
		{
			fields[i].onfocus = hide_label;
			fields[i].style.display = "block";
		}
		else
		{
			fields[i].onblur = show_label;
			fields[i].style.display = "none";
			fields[i].value = "";
		}
	}
	
	
	
	
	// setup textareas
	fields = document.getElementById("before").getElementsByTagName("textarea");
	for(var i = 0; i < fields.length; i++)
	{
		if(fields[i].className == "label")
		{
			fields[i].onfocus = hide_label;
			fields[i].style.display = "block";
		}
		else
		{
			fields[i].onblur = show_label;
			fields[i].style.display = "none";
			fields[i].value = "";
		}
	}
}












/**************/
/* Shortening */
/**************/

var xhr;
function shorten()
{
	// init XHR
	if(window.XMLHttpRequest) xhr = new XMLHttpRequest();
	else xhr = new ActiveXObject("Microsoft.XMLHTTP");
	xhr.onreadystatechange = read_response;
	
	
	// build url
	var url = "/callbacks/shorten-url.php?url=" + escape(document.getElementById("leep-url").value);
	
	
	// send it
	xhr.open("GET", url, true);
	xhr.send("");
}


function shortenPress(e)
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return;
	
	if(keycode == 13) shorten();
}


function read_response()
{
	if(xhr.readyState != 4) return;
	if(xhr.status != 200)
	{
		alert("An error has occurred. Please refresh the page and try again.");
		return;
	}
	if(xhr.responseText == "ERROR")
	{
		alert("Please provide a valid URL.");
		return;
	}
	
	document.getElementById("shortened").value = "http://leep.it/" + xhr.responseText;
	document.getElementById("blah").style.display = "block";
}


























