/**
*	Classe de validacions en javascript.
*	Utilitza la llibreria validatejs.js i la validateTypes.js
*	@since Susana (14-11-2008)
*/

/*
* Validaciķ del formulari de registre de manera dināmica segons els tipus de camps obtinguts.
* Susana (14-11-2008)
*/
function validate_register(form)
{
	var f = new Validate();
	var type;
	var dada;
	
	for (var i=0; i< form.elements.length;i++)
	{
		dada = form.elements[i].id.split("_");
		if (dada.length >= 2)
		{
			//Dada obligatoria
			if (dada[0] == "r" && f.isEmpty(form.elements[i].value))
			{
				return 1;
			}

			//Camp data
			if (dada[0] != "r" )
				type = dada[0];
			else
				type = dada[1];
			if (type == "date" && !f.isEmpty(form.elements[i].value) && !f.isDate(form.elements[i].value,"FR"))
				return 2;
			if (type == "nif" && f.isNotEmpty(form.elements[i].value) && (!validateNIF(form.elements[i].value) && !validateCIF(form.elements[i].value)))
				return 7;
		}
	}
	user = document.getElementById("r_alfanumeric_user_id").value;
	if (! user.match(/^[A-Za-z0-9]*$/) || ! user.length > 30) 
	{
		return 8;
	}
	if (form.r_password_password2 && !f.isEqual(document.getElementById("r_password_password").value, form.r_password_password2.value))
	{
		return 3;	
	}
	if (document.getElementById("r_password_password").value.length < 6 || document.getElementById("r_password_password").value.length > 10)
	{
		return 4;
	}
	if (f.isEmpty(form.ANTI_ROBOTS_userCode.value))
	{
		return 5;
	}
	if (!form.acceptacioprivacitat.checked)
	{
		return 6;
	}
	document.getElementById("r_password_password").value = hex_md5(document.getElementById("r_password_password").value);
	form.r_password_password2.value = hex_md5(form.r_password_password2.value);
}

//Codificaciķ del password. Susana (20-11-2008)
function validate_login(form)
{
	var f = new Validate();

	if (f.isEmpty(form.usersUser.value) || f.isEmpty(form.usersPass.value)) 
	{
		return false;
	}
	form.usersPass.value = hex_md5(form.usersPass.value);
}

//Validaciķ del formulari de resetejar el password en la part pública. Susana (25-11-2008)
function validate_resetPass(form)
{
	var f = new Validate();
	if (f.isEmpty(form.user.value)|| f.isEmpty(form.password.value) || f.isEmpty(form.password2.value))
	{
		return 1;
	}
	if (form.password.value != form.password2.value)
	{
		return 2;
	}
	if (form.password.value.length < 6 || form.password.value.length > 10)
	{
		return 3;	
	}
	form.password.value = hex_md5(form.password.value);
	form.password2.value = hex_md5(form.password2.value);
}

//Formulari propi de l'usuari per canviar les seves dades
function validate_personal_data(form)
{
	var f = new Validate();
	var type;
	var dada;
	
	for (var i=0; i< form.elements.length;i++)
	{
		dada = form.elements[i].id.split("_");
		if (dada.length >= 2)
		{
			//Dada obligatoria
			if (dada[0] == "r" && f.isEmpty(form.elements[i].value))
			{
				return 1;
			}

			//Camp data
			if (dada[0] != "r" )
				type = dada[0];
			else
				type = dada[1];
			if (type == "date" && f.isNotEmpty(form.elements[i].value) && !f.isDate(form.elements[i].value,"FR"))
				return 2;
			if (type == "nif" && f.isNotEmpty(form.elements[i].value) && (!validateNIF(form.elements[i].value) && !validateCIF(form.elements[i].value)))
				return 6;
		}
	}

	if (document.getElementById("r_alfanumeric_user_id"))
	{
		user = document.getElementById("r_alfanumeric_user_id").value;
		if (! user.match(/^[A-Za-z0-9]*$/) || ! user.length > 30) 
		{
			return 8;
		}
	}
	if (document.getElementById("password_password"))
	{
		if (f.isNotEmpty(document.getElementById("password_password").value) && form.password_password2 && !f.isEqual(document.getElementById("password_password").value, form.password_password2.value))
		{
			return 3;	
		}
		if (f.isNotEmpty(document.getElementById("password_password").value) && (document.getElementById("password_password").value.length < 6 || document.getElementById("password_password").value.length > 10))
		{
			return 4;
		}
		if (f.isNotEmpty(document.getElementById("password_password").value) && f.isNotEmpty(form.password_password2.value))
		{
			document.getElementById("password_password").value = hex_md5(document.getElementById("password_password").value);
			form.password_password2.value = hex_md5(form.password_password2.value);
		}
	}
	//cc
	if (document.getElementById("r_alfanumeric_ccc1") && document.getElementById("r_alfanumeric_ccc2") && document.getElementById("r_alfanumeric_ccc3") && document.getElementById("r_alfanumeric_ccc4"))
	{
		var ccc1 = document.getElementById("r_alfanumeric_ccc1").value;
		var ccc2 = document.getElementById("r_alfanumeric_ccc2").value;
		var ccc3 = document.getElementById("r_alfanumeric_ccc3").value;
		var ccc4 = document.getElementById("r_alfanumeric_ccc4").value;
		if (!f.isNum(ccc1) || ccc1.length != 4  || !f.isNum(ccc2) || ccc2.length != 4 || !f.isNum(ccc3) || ccc3.length != 2 || ccc4.length != 10)
		{
			return 5;
		}
	}
}

//Validar formulari de contingut. Susana (30-7-2009)
function validate_content(form)
{
	var f = new Validate();
	var type;
	var dada;
	
	for (var i=0; i< form.elements.length;i++)
	{
		dada = form.elements[i].id.split("_");
		if (dada.length >= 2)
		{
			//Dada obligatoria
			if (dada[0] == "r" && f.isEmpty(form.elements[i].value))
			{
				return 1;
			}

			//Camp data
			if (dada[0] != "r" )
				type = dada[0];
			else
				type = dada[1];
			if (type == "date" && f.isNotEmpty(form.elements[i].value) && !f.isDate(form.elements[i].value,"FR"))
				return 2;
		}
	}
}

