/* this script will control the slide out mailing sign up form */

var timer;
var timer2;
var out = 0;

/* ---------- */

function check_input()			/* called from the on_submit() event checks that the input boxes are not equal to initial values or "", if they are higlights 								in red  */
{
	
	var foren = document.getElementById("forename");
	var surn = document.getElementById("surname");
	var addss = document.getElementById("address");
	
	if (foren.value.toLowerCase() != "forename" && surn.value.toLowerCase() != "surname" && addss.value.toLowerCase() != "email address" && foren.value != "" 	&& surn.value != "" && addss.value != "")
	{
	return true;
	}
	else
	{
		if (foren.value == "Forename" || foren.value == "")
		{
			Core.addClass(foren, "signup_mail_red");
			foren.value = "FORENAME";	
		}
	
		if (surn.value == "Surname" || surn.value == "")
		{
			Core.addClass(surn, "signup_mail_red");
			surn.value = "SURNAME";
		}
		
		if (addss.value == "Email Address" || addss.value == "")
		{
			Core.addClass(addss, "signup_mail_red");
			addss.value = "EMAIL ADDRESS";
		}
	
	return false;
	}
	
}


/* ---------- */

function begin()		/* called from the on_click event of the SIGN UP blue button, the conditional clause is used to check if form already extended */
{						/* and if so cancel the retract timer, if not start it. */
	
	// var forena = document.getElementById("forename");
	
	if (out == 0)
	{
		init_retract();
		// forena.focus();
		out = 1;
	}
	else
	{
		out = 0;
		clearTimeout(timer2);
	}
	
	slide_out();
	
	reset_values();
	
}

function slide_out()			/* will slide the form in or out in 2.5 seconds */
{
	
	timer = setTimeout("visible()", 100);
	
    MM_effectSlide('slide_out', 2500, '0%', '100%', true, true);
	
}

function init_retract()			/* calls the retract check function every 12.5 seconds */
{
	timer2 = setTimeout("retract()", 12500);
}

function retract()				/* If form is still set to initial values retract, if not restart the timer in init_retract() */
{
	var fore = document.getElementById("forename").value;
	var sur = document.getElementById("surname").value;
	var address = document.getElementById("address").value;
	
	if (out == 1 && fore == "Forename" && sur == "Surname" && address == "Email Address")
	
	{
		begin();
	}
	else
	{
		init_retract();
	}
}

function visible()		/* form is hidden when page loads, this function is called 100 ms into the slide out */
{
slider.style.visibility = 'visible';
}

/* ---------- */
/* Remainder of functions change the input boxes text & format */
/* ---------- */

function reset_values()				/* when the form is extended or retracted this function will reset the values in the input boxes */
{	
	var foren = document.getElementById("forename");
	var surn = document.getElementById("surname");
	var addss = document.getElementById("address");
	
	Core.removeClass(foren, "signup_mail_red");
	Core.removeClass(surn, "signup_mail_red");
	Core.removeClass(addss, "signup_mail_red");
	
	Core.removeClass(foren, "signup_mail_change");
	Core.removeClass(surn, "signup_mail_change");
	Core.removeClass(addss, "signup_mail_change");
	
	Core.addClass(foren, "position_forename");
	Core.addClass(surn, "position_surname");
	Core.addClass(addss, "position_address");
	
	foren.value = "Forename";
	surn.value = "Surname";
	addss.value = "Email Address";
}

/* ---------- */

function forein()
{

var f_in = document.getElementById("forename");
	
	if (f_in.value.toLowerCase() == "forename") 
		{
		f_in.value = "";
		Core.removeClass(f_in, "signup_mail_red");
		Core.addClass(f_in, "signup_mail_change");
		}
	
}

function foreout()
{
var f_out = document.getElementById("forename");

	if (f_out.value == "") 
		{
		f_out.value = "Forename";
		Core.removeClass(f_out, "signup_mail_change");
		Core.addClass(f_out, "position_forename");
		}
	
}

/* ---------- */

function surin()
{
var s_in = document.getElementById("surname");

	if (s_in.value.toLowerCase() == "surname") 
		{
		s_in.value = "";
		Core.removeClass(s_in, "signup_mail_red");
		Core.addClass(s_in, "signup_mail_change");
		}
	
}

function surout()
{
var s_out = document.getElementById("surname");

	if (s_out.value == "") 
		{
		s_out.value = "Surname";
		Core.removeClass(s_out, "signup_mail_change");
		Core.addClass(s_out, "position_surname");
		}
	
}

/* ---------- */

function addin()
{
var a_in = document.getElementById("address");

	if (a_in.value.toLowerCase() == "email address") 
		{
		a_in.value = "";
		Core.removeClass(a_in, "signup_mail_red");
		Core.addClass(a_in, "signup_mail_change");
		}
	
}

function addout()
{
var a_out = document.getElementById("address");

	if (a_out.value == "") 
		{
		a_out.value = "Email Address";
		Core.removeClass(a_out, "signup_mail_change");
		Core.addClass(a_out, "position_address");
		}
	
}
