var USERS_REGISTER_INVALID_USERNAME;
var USERS_REGISTER_ALREADY_TAKEN;
var baseHref;
var alerted = false;

function get_reqsend()
{
	var reqsend;

	try
	{
		// Firefox, Opera 8.0+, Safari
		reqsend = new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			reqsend = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				reqsend = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
			}
		}
	}
	
	return reqsend;
}

function check_username(username, password)
{
	if ("" == username.length)
	{
		document.getElementById("username_checker").innerHTML = "<img src=\"/images/red_x.gif\" />";
		return;
	}
	else if (3 > username.length)
	{
		document.getElementById("username_checker").innerHTML = "<span style=\"color: orange;\">"+USERS_REGISTER_INVALID_USERNAME+"</span>";
		return;
	}
	
	try
    {
    	var reqsend = get_reqsend();
    	
		reqsend.open("POST", baseHref+"register/ajax-check-available-username/", true);
		var post_vars = "username="+username.replace(/&/, "%26");
		reqsend.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		reqsend.setRequestHeader("Content-Length", post_vars.length);
		reqsend.send(post_vars);
       
        reqsend.onreadystatechange = function()
        {
            if (reqsend.readyState == 4)
            {
            	response = reqsend.responseText;
            	
            	if ("0" == response)
            	{
            		document.getElementById("username_checker").innerHTML = "<img src=\"/images/red_x.gif\" />";
            		document.getElementById("username_checker").innerHTML = "<span style=\"color: red;\">"+USERS_REGISTER_ALREADY_TAKEN+"</span>";
            	}
            	else if ("1" == response)
            	{
            		document.getElementById("username_checker").innerHTML = "<img src=\"/images/green_checkmark.gif\" />";
            		//document.getElementById("username_checker").innerHTML = "<span style=\"color: green;\">'.USERS_REGISTER_AVAILABLE.'</span>";
            	}
            }
        };
    }
    catch(e)
   	{
    }
    
    check_password(password, username);
}

function check_email(email)
{
	if ("" == email)
	{
		document.getElementById("email_checker").innerHTML = "<img src=\"/images/red_x.gif\" />";
		return;
	}
	
	try
    {
    	var reqsend = get_reqsend();
    	
		reqsend.open("POST", baseHref+"register/ajax-check-available-email/", true);
		var post_vars = "email="+email;
		reqsend.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		reqsend.setRequestHeader("Content-Length", post_vars.length);
		reqsend.send(post_vars);
       
        reqsend.onreadystatechange = function()
        {
            if (reqsend.readyState == 4)
            {
            	response = reqsend.responseText;
            	
            	if ("0" == response)
            	{
            		document.getElementById("email_checker").innerHTML = "<img src=\"/images/red_x.gif\" />";//"<span style=\"color: red;\">'.USERS_REGISTER_ALREADY_TAKEN.'</span>";
            	}
            	else if ("1" == response)
            	{
            		document.getElementById("email_checker").innerHTML = "<img src=\"/images/green_checkmark.gif\" />";//"<span style=\"color: green;\">'.USERS_REGISTER_AVAILABLE.'</span>";
            	}
            	else if (!alerted)
            	{
            		alerted = true;
            		alert(response);
            	}
            }
        };
    }
    catch(e)
   	{
    }
}

function check_referrer(referrer)
{
	if ("" == referrer)
	{
		return;
	}
	
	try
    {
    	var reqsend = get_reqsend();
    	
		reqsend.open("POST", baseHref+"register/ajax-check-referrer/", true);
		var post_vars = "referrer="+referrer;
		reqsend.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		reqsend.setRequestHeader("Content-Length", post_vars.length);
		reqsend.send(post_vars);
       
        reqsend.onreadystatechange = function()
        {
            if (reqsend.readyState == 4)
            {
            	response = reqsend.responseText;
            	
            	if ("0" == response)
            	{
            		document.getElementById("referrer_checker").innerHTML = "<img src=\"/images/red_x.gif\" />";//"<span style=\"color: red;\">'.USERS_REGISTER_ALREADY_TAKEN.'</span>";
            	}
            	else if ("1" == response)
            	{
            		document.getElementById("referrer_checker").innerHTML = "<img src=\"/images/green_checkmark.gif\" />";//"<span style=\"color: green;\">'.USERS_REGISTER_AVAILABLE.'</span>";
            	}
            }
        };
    }
    catch(e)
   	{
    }
}

function check_empty(value, key)
{
	if ("hear_about_us_checker" == key && "" == value)
	{
		image = "";
	}
	else if ("" == value)
	{
		image = "<img src=\"/images/red_x.gif\" />";
	}
	else
	{
		image = "<img src=\"/images/green_checkmark.gif\" />";
	}
	
	document.getElementById(key).innerHTML = image;
}

function check_password(password, username)
{
	if (password.length && password != username)
	{
		image = "<img src=\"/images/green_checkmark.gif\" />";
	}
	else
	{
		image = "<img src=\"/images/red_x.gif\" />";
	}
	
	document.getElementById('password_checker').innerHTML = image;
}
