var requester = null;

window.onload = init;

/* Initialisation for JS capable browsers */
function init()
{
	var username = document.getElementById("signupusername");
	username.onchange = onchangeUsername;
	return true;
}

function onchangeUsername()
{
	var username = document.getElementById("signupusername");
	message(username, "loadingMessage", "Checking username...");

	if(username.value.length < 4)
	{
		username.valid = false;
		message(username, "errorMessage", "Username is too short!");
		username.className = "text error";
	}
	else
	{
		username.valid = true;
		if (requester != null && requester.readyState != 0 && requester.readyState != 4)
		{
			requester.abort();
		}
		try
		{
			requester = new XMLHttpRequest();
		}
		catch (error)
		{
			try
			{
				requester = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (error)
			{
				requester = null;
				return false;
			}
		}

		requester.onreadystatechange = onreadystatechangeUsername;
		requester.open("Get", "/usernamecheck.php?u=" + this.value);
		requester.send(null);
	}
	return true;
}

function onreadystatechangeUsername()
{
	var username = document.getElementById("signupusername");
	// If XMLHR object has finished retrieving the data
	if (requester.readyState == 4)
	{
		// If the data was retrieved successfully
		try
		{
			if (requester.status == 200)
			{
				if(requester.responseText == 0)
				{
					username.valid = true;
					message(username, "statusMessage", "Username available!");
					username.className = "text";
				}
				else if(requester.responseText == 1)
				{
					username.valid = false;
					message(username, "errorMessage", "Username invalid.  Only use letters and numbers.");
					username.className = "text error"; 
				}				
				else
				{
					username.valid = false;
					message(username, "errorMessage", "Username taken. Try another");
					username.className = "text error"; 
				}				
			}
			// IE returns a status code of 0 on some occasions, so ignore this case
			else if (requester.status != 0)
			{
				alert("There was an error while retrieving the URL: " + requester.statusText);
			}
		}
		catch (error)
		{
		}
	}

	return true;
}


function message(element, classString, errorMessage)
{
	if (element.message != null)
	{
		try
		{
			element.message.className = classString;
			element.message.removeChild(element.message.childNodes[0]);
		}
		catch (error)
		{
		}
	}

	if (errorMessage != null)
	{
		if (element.message == null)
		{
			var messageDiv = document.createElement("div");

			element.message = element.parentNode.insertBefore(messageDiv, element);
			element.message.style.marginLeft = parseInt(element.scrollWidth) + 10 + "px";
		}

		element.message.className = classString;
		element.message.appendChild(document.createTextNode(errorMessage));
	}

	return true;
}

function imagetoflash() {
    // Detect Browser
    var IE = (document.all) ? 1 : 0;
    var DOM = 0; 
    var text = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="648" height="190" id="SupcastIntro" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="/flash/supcastintro.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="/flash/supcastintro.swf" quality="high" bgcolor="#ffffff" width="648" height="190" name="SupcastIntro" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
    if (parseInt(navigator.appVersion) >=5) {DOM=1};
    // Grab the content from the requested "div" and show it in the "container"

    if (DOM) {
        var viewer = document.getElementById('insidebanner')
        viewer.innerHTML=text
    }
    else if(IE) {
        document.all['insidebanner'].innerHTML=text
    }
   return 0;    
 
}

