/*

	Register Module
	Copyright 2007 Wimbomedia.com

*/


var m_register = {name:'m_register'};


m_register.nav_tab = "nav_tab_1";


m_register.methods = function()
{
	formFocus("ex_register");
	window.scroll(0,0);
}	

m_register.cat_tabs = "";

m_register.content = ""
		+ "<div id='ex_register' class='ex_holder'>"
		+ "<h1>Register</h1>"
		+ "<center><p><a href='javascript:goTo(m_login)' style='color:#ffaa00;'>Login</font></a> if you already have an account</p>"
		+ "<p><a href='javascript:goTo(m_about)' style='font:bold 16px Arial; color:#0099ff;'>What is Wimbomedia?</a></p>"
		+ "<p><font style='color:#ff7777;'>All fields required</font></p></center>"

		+	"<form name='registerForm' method='post' action='scripts/register.php' target='register_frame'>"

		+	"<center><table cellspacing='0' cellpadding='5'>"
		+		"<tr>"
		+			"<td class='entryLabel'>Username:</td>"
		+			"<td class='entryField'>"
		+				"<input type='text' size='25' maxlength='30' value='' name='field_username' />"
		+			"</td>"
		+		"</tr>"
		+		"<tr>"
		+			"<td class='entryLabel'>Email:</td>"
		+			"<td class='entryField'>"
		+				"<input type='text' size='25' maxlength='30' value='' name='field_email' />"
		+			"</td>"
		+		"</tr>"
		+		"<tr>"
		+			"<td class='entryLabel'>Password:</td>"
		+			"<td class='entryField'>"
		+				"<input type='password' size='25' maxlength='30' value='' name='field_password1' />"
		+			"</td>"
		+		"</tr>"
		+		"<tr>"
		+			"<td class='entryLabel'>Retype Password:</td>"
		+			"<td class='entryField'>"
		+				"<input type='password' size='25' maxlength='30' value='' name='field_password2' />"
		+			"</td>"
		+		"</tr>"

		+	"</table></center>"

		+	"<iframe name='register_frame' class='cloak'></iframe>"

		+	"<p><center><iframe name='terms_frame' src='legal.html' frameborder='0' width='80%' height='100px'></iframe></center></p>"
		+	"<p><center><input type='checkbox' name='agree' />I have read and I agree to the terms of use and privacy policy.</center></p>"
		+	"<p><center><div class='cloak' id='registerFeedback'></div></center></p>"

		+	"<p><center><input type='button' value='Register' class='submit_btn' onmouseover='mouseFx.over(event)' onmouseout='mouseFx.out(event)' onClick='registerCheck()' /></center></p>"

		+	"</form>"
		+ "<div>"
		+ "";


function registerCheck()
{
	var feedback = document.getElementById("registerFeedback");

	feedback.innerHTML = "";
	feedback.className = "cloak";

	var field1 = document.registerForm.field_username.value;
	var field2 = document.registerForm.field_password1.value;
	var field3 = document.registerForm.field_password2.value;
	var field4 = document.registerForm.field_email.value;

	for(i=0, j=field1.length; i<j; i++)
	{
		var c = field1.charCodeAt(i);
		if(
			(c >= 33 && c <= 44) ||
			(c >= 46 && c <= 47) ||
			(c >= 58 && c <= 64) ||
			(c >= 91 && c <= 94) ||
			(c == 96) ||
			(c >= 123 && c <= 254)
		)
		{
			feedback.innerHTML = "Your username cannot contain the character <i>&quot;" + String.fromCharCode(c) + "&quot;</i>";
			feedback.className = "feedback0";
			return;
		}

		if(c == 32)
		{
			feedback.innerHTML = "Your username cannot contain spaces";
			feedback.className = "feedback0";
			return;
		}
	}

	for(i=0, j=field2.length; i<j; i++)
	{
		var c = field2.charCodeAt(i);
		if(
			(c >= 33 && c <= 44) ||
			(c >= 46 && c <= 47) ||
			(c >= 58 && c <= 64) ||
			(c >= 91 && c <= 94) ||
			(c == 96) ||
			(c >= 123 && c <= 254)
		)
		{
			feedback.innerHTML = "Your password cannot contain the character <i>&quot;" + String.fromCharCode(c) + "&quot;</i>";
			feedback.className = "feedback0";
			return;
		}

		if(c == 32)
		{
			feedback.innerHTML = "Your password cannot contain spaces ";
			feedback.className = "feedback0";
			return;
		}
	}

	if(field1.length < 3)
	{
		feedback.innerHTML = "Your username must have atleast 3 valid characters";
		feedback.className = "feedback0";
		return;
	}


	if(validateEmail(field4) == false)
	{
		feedback.innerHTML = "Please enter a valid email address";
		feedback.className = "feedback0";
		return;
	}


	if(field2.length < 6)
	{
		feedback.innerHTML = "Your password must have atleast 6 valid characters";
		feedback.className = "feedback0";
		return;
	}

	if(document.registerForm.agree.checked == false)
	{
		alert("You must agree to the Terms of use and\nPrivacy policy in order to register");
		return;
	}

	if(field2 != field3)
	{
		feedback.innerHTML = "Your passwords do not match";
		feedback.className = "feedback0";
		return;
	}
	else
	{
		feedback.innerHTML = "Please wait...";
		feedback.className = "feedback1";

		document.registerForm.submit();
	}
}


function newUserUpdates()
{
	document.getElementById("newuser_feedback").className = "cloak";

	var form = document.newUserForm;

	var gotInvites = false;

	for(var i=1; i<5; i++)
	{
		var email_field = form["invite_email_"+i];
		email_field.style.border = '1px #7b9ebd solid';
		if(email_field.value != "") { gotInvites = true; }
	}

	var sender_field = form.invite_sender;
	sender_field.style.border = '1px #7b9ebd solid';

	if(gotInvites)
	{
		if(form.invite_sender.value == "")
		{
			sender_field.style.border = '1px #ff0000 solid';
			alert("Please include your name so your friends know who's sending the invitation.");
			return;
		}

		for(var i=1; i<5; i++)
		{
			var email_field = form["invite_email_"+i];
			email_field.style.border = '1px #7b9ebd solid';

			if(email_field.value != "" && !validateEmail(email_field.value))
			{
				email_field.style.border = '1px #ff0000 solid';
				alert("One of your invitations doesn't seem to be a correct email address.");
				return;
			}
		}
	}

	form.submit();
}