function initializeEvents(base_url,main_cat,msg_err)
{ 
	if(msg_err!="")
	{
		$("msg_err").setStyle("display","block");
	}

	var form_elements = $("devenir-membre-form").getElements(".validate");

	form_elements.each(function(el)
	{
		el.addEvent("blur",function()
		{
			validateInput(el,base_url,main_cat);
		});
        if(el.id=="Email")
        {
            el.addEvent("keyup",function()
            {
               validateInput(el,base_url,main_cat);
            });
        }
	});

	$("devenir-membre-form").addEvent("submit",function(e)
	{
		var event = new Event(e);
		form_elements.each(function(el)
		{
			if(validateInput(el,base_url,main_cat)==false)
			{
				$("msg_err").setStyle("display","block");
				event.stop();
			}
		});
	});

        if($("zipcode"))
        {
            $("zipcode").addEvent("keyup",function()
            {
                    if(this.value.length==5)
                    {
                            getCitiesByZipcode(this,base_url)
                    }
                    else
                    {
                            $("city_name").set("html","");
                    }
            });
        }

        if( $("terms_conditions"))
        {
            $("terms_conditions").addEvent("click", function()
            {
                    createLayer(680, 450, "Conditions Générales", "/layers/conditionsPop.php");
            });
        }
}
function validateInput(el,base_url,main_cat)
{

    if(el.type=="text" || el.type=="password" || el.type=="select-one")
	{
		if(el.hasClass("required") && el.value=="")
		{
			setError(el);
			return false;
		}
		else if(!el.hasClass("required") && el.value=="")
		{
			unsetError(el);
			return true;
		}
		else if(el.hasClass("email") ||  el.hasClass("password") || el.hasClass("number") || el.hasClass("website"))
		{
			if(el.hasClass("email"))
			{
				var regEmail = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;

				if(el.value.match(regEmail))
				{
					if(el.id == "Email" && ($("member_email").value == "" || $("member_type") == "newmember"))
					{
						new Request.JSON({url: "/inc/pro-functions.php", onComplete:
							function(response)
							{
                                    if(response.insertallow =="false")
                                                    {
                                                            //alert(decodeURIComponent(escape("Cette addresse Email a déjà été utilisée par un autre Membre. Veuillez entrer une adresse differente.")));
                                                            $("msg_err_email").setStyle("display","block");
                                                            setError(el);
                                                            return false;
                                                    }
                                                    else if(response.insertallow =="prospectfalse")
                                                    {

                                                            //$("msg_err_email").setStyle("display","block");

                                                            if($('company').value=="")
                                                                    $('company').value=response.member_company_name;
                                                            if($('address').value=="")
                                                                    $('address').value=response.member_Address;
                                                            if($('zipcode').value=="")
                                                                    $('zipcode').value=response.zipcode;
                                                            if($('city_name').value=="")
                                                                    $('city_name').value=response.member_Phone;
                                                            if($('telephone').value=="")
                                                                $('telephone').value=response.member_Phone;
                                                            if($('fax').value=="")
                                                                    $('fax').value=response.member_fax;
                                                            if($('member_firstname').value=="")
                                                                    $('member_firstname').value=response.member_cFirstName;
                                                            if($('member_lastname').value=="")
                                                                    $('member_lastname').value=response.member_cLastName;
                                                            if($('member_function').value=="")
                                                                    $('member_function').value=response.member_title;
                                                            if($('membre_titre').value=="")
                                                                    $('membre_titre').value=response.member_titre;
                                                            if($('company_year').value=="" && response.member_company_year > 0)
                                                                    $('company_year').value=response.member_company_year;
                                                            if($('siret_number').value=="")
                                                                    $('siret_number').value=response.member_siretNo;
                                                            $('member_type').value="prospect";
                                                            getCitiesByZipcode($('zipcode'),base_url);
                                                            setTimeout (function(){$('city_name').value=response.FK_city_id;}, 500 );

                                                            return false;
                                                    }
                                                    else
                                                    {
                                                                $("msg_err_email").setStyle("display","none");
                                                                unsetError(el);
                                                                return true;
                                                    }
								}
						}).post({"_action":"check-member-email","email":el.value,"parent_id":main_cat});
					}
					else
					{
						unsetError(el);
						return true;
					}
				}
				else
				{
					setError(el);
					return false;
				}
			}

			if(el.hasClass("password"))
			{
				if(el.value.length >= 5)
				{
					if($("Cpassword").value!="" || el.id=="Cpassword")
					{
						if($("password1").value == $("Cpassword").value)
						{
							unsetPwdError();
							return true;
						}
						else
						{
							setPwdError();
							return false;
						}
					}
					else
					{
						unsetPwdError(el);
						return true;
					}
				}
				else
				{
					setError(el);
					return false;
				}
			}

			if(el.hasClass("number"))
			{
				var regNumber = /[-+]?[0-9]*\.?[0-9]+/;
				if((el.hasClass("phone") || el.hasClass("fax")) && el.value.match(regNumber) && el.value.length == 10)
				{
					unsetError(el);
					return true;
				}
				else if(el.hasClass("zipcode") && el.value.match(regNumber) && el.value.length == 5)
				{
					unsetError(el);
					if(el.id=="zipcode" && el.value!="")
					{
						getCitiesByZipcode(el,base_url);
					}
					return true;
				}
				else if(el.hasClass("year") && el.value.match(regNumber) && el.value.length == 4)
				{
					var d = new Date();
					var yy = d.getFullYear();
					if(yy >= el.value)
					{
						unsetError(el);
						return true;
					}
					else
					{
						setError(el);
						return false;
					}
				}
				else if(el.hasClass("siretno") && el.value.match(regNumber) && el.value.length == 14)
				{
					unsetError(el);
					return true;
				}
				else
				{
					setError(el);
					return false;
				}
			}

			if(el.hasClass("website"))
			{
				var regURL = /^(http:\/\/)?[A-Za-z]+\.[a-z0-9\-]+\.[a-z]+\.?[a-z]+$/;
				if(el.value.match(regURL))
				{
					unsetError(el);
					return true;
				}
				else
				{
					setError(el);
					return false;
				}
			}
		}
		else
		{
			unsetError(el);
			return true;
		}
	}
	if(el.type=="checkbox")
	{
		if(el.checked)
		{
			unsetError(el);
			return true;
		}
		else
		{
			setError(el);
			return false;
		}
	}
}

function getCitiesByZipcode(el,base_url)
{
	
	new Request.JSON({url: "/inc/pro-functions.php", onComplete:
	function(response)
	{
		$("city_name").set("html","");
		for(var i=0;i<response.length;i++)
		{
			var option_el = new Element("option",
			{
				'value':response[i].city_id,
				'html':response[i].city_name
			});
			option_el.inject($("city_name"));
		}
		unsetError($("city_name"));
	}
	}).post({"_action":"get-cities-by-zipcode","zipcode":el.value});
}

function setError(el)
{
	el.addClass("error_value");
	el.getParent().addClass("error_label");
}

function unsetError(el)
{
	if(el.hasClass("error_value"))
	{
		el.removeClass("error_value");
	}
	if(el.getParent().hasClass("error_label"))
	{
		el.getParent().removeClass("error_label");
	}
}

function setPwdError()
{
	$("password1").addClass("error_value");
	$("password1").getParent().addClass("error_label");
	$("Cpassword").addClass("error_value");
	$("Cpassword").getParent().addClass("error_label");
}

function unsetPwdError()
{
	if($("password1").hasClass("error_value"))
	{
		$("password1").removeClass("error_value");
	}
	if($("password1").getParent().hasClass("error_label"))
	{
		$("password1").getParent().removeClass("error_label");
	}
	if($("Cpassword").hasClass("error_value"))
	{
		$("Cpassword").removeClass("error_value");
	}
	if($("Cpassword").getParent().hasClass("error_label"))
	{
		$("Cpassword").getParent().removeClass("error_label");
	}
}

