// Class RegisterUI
function RegisterUI(div, button)
{
	this.div = div;
	this.button = button;
	this.popup = null;
	
	if (typeof RegisterUI.initialized == "undefined") 
    {
		RegisterUI.prototype.init = function()
		{
			if ($(this.button).length > 0)
			{
				$(this.button).live("click", Tools.getInstance().bind(this, this.open));
			}
		};
		
		RegisterUI.prototype.open = function()
		{
			this.popup = new LightBoxUI(this.button);
			
			if ($(this.div + " #registerValidate").length > 0)
			{
				$(this.div + " #registerValidate").live("click", Tools.getInstance().bind(this, this.register));
			}
			
			Tools.getInstance().setHint("lastname", "nom*");
			Tools.getInstance().setHint("firstname", "prénom*");
			Tools.getInstance().setHint("structure", "organisme*");
			Tools.getInstance().setHint("job", "fonction*");
			Tools.getInstance().setHint("address", "adresse*");
			Tools.getInstance().setHint("city", "ville*");
			Tools.getInstance().setHint("postalcode", "code postal*");
			Tools.getInstance().setHint("email", "email*");
			Tools.getInstance().setHint("phone", "téléphone*");
		};
		
		RegisterUI.prototype.register = function()
		{
			$("input").blur();
			$(".registerError").css("height", "0px");
			$(".registerError").html("");
			
			if (this.validateForm())
			{
				document.forms['registerForm'].submit();
			}
			else
			{
				$(".registerError").html("Le formulaire n'est pas correctement renseigné.");
				$(".registerError").animate({height:"40px"}, 500);
			}
		};
		
		RegisterUI.prototype.validateForm = function()
		{
			var regex_email = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/;
			var regex_phone = /^(01|02|03|04|05|06|08)[0-9]{8}/gi;
			var regex_letter = /[a-zA-Z'-àáâãäåçèéêëìíîïðòóôõöùúûüýÿ]/gi;
			
			if ($("#register #lastname").val() == "")
			{
				return false;
			}
			if ($("#register #firstname").val() == "")
			{
				return false;
			}
			if ($("#register #structure").val() == "")
			{
				return false;
			}
			if ($("#register #job").val() == "")
			{
				return false;
			}
			if ($("#register #address").val() == "")
			{
				return false;
			}
			if ($("#register #city").val() == "")
			{
				return false;
			}
			if ($("#register #postalcode").val() == "")
			{
				return false;
			}
			if ($("#register #email").val() == "" || !$("#register #email").val().match(regex_email))
			{
				return false;
			}
			if ($("#register #phone").val() == "")
			{
				return false;
			}
			return true;
		};
		
		RegisterUI.initialized = true;
	}
	
	this.init();
}
