/**************************************************
 * 
 * Corretgir formulari 08
 * 
 **************************************************/
function validar_obra2()
{
	var retorn = true;
	var titol = document.getElementById('titol').value;
	if (titol == "")
	{
		document.getElementById('validar_titol').style.display='block';
		retorn = false;
	}
	else
	{
		document.getElementById("validar_titol").style.display='none'; 
	}
	var tecnica = document.getElementById('tecnica').value;
	if (tecnica == 'altres')
	{
		tecnica = document.getElementById('especfTecnica').value;
		if (tecnica == "")
		{
			document.getElementById('validar_especificacio').style.display='block';
			retorn = false;
		}
		else
		{
			document.getElementById('validar_especificacio').style.display='none';
		}
	}
	
	return retorn;
}

function validar_obra3a()
{
	var retorn = true;
	
	var durada = document.getElementById('durada').value;
	if (durada == "")
	{
		document.getElementById('validar_durada').innerHTML = 'Hauries d\'escriure la durada de l\'obra';
		retorn = false;
	}
	else
	{
		 if (!validarEnter(durada))
		 {
		 	document.getElementById('validar_durada').innerHTML ='No has escrit correctament la durada de l\'obra.';
		 	retorn = false;
		 }
	}
	
	if (!retorn)
	{
		document.getElementById("validar_durada").style.display='block';
	}
	else
	{
		document.getElementById('validar_durada').style.display='none';
	}
	
	return retorn;
}

function validar_obra3b()
{
	var retorn = true;
	
	var obres_detall = document.getElementsByName('obres_detall');

	if (obres_detall.length == 0)
	{
		document.getElementById('validar_titols_especifics').innerHTML = 'Hauries d\'escriure almenys una obra';
		retorn = false;
	}
	else
	{
		for(i=0;i<obres_detall.length;i++)
		{
			var obra = obres_detall[i];
			if (obra.value == "")
			{
				document.getElementById('validar_titols_especifics').innerHTML = 'Hauries d\'escriure el títol de l\'obra n&uacute;mero '+(i+1) ;
				retorn = false;
			}
		}	
	}
	
	if (!retorn)
	{
		document.getElementById("validar_titols_especifics").style.display='block';
	}
	else
	{
		document.getElementById('validar_titols_especifics').style.display='none';
	}
	
	return retorn;
}

function validar_artistes()
{
	var str_camp_obligatori = 'Aquest camp &eacute;s obligatori'
	var formulari_valid = true;
	
	var dni = document.getElementsByName('sDni');
	var nom = document.getElementsByName('sNom');
	var nom_artistic = document.getElementsByName('sNomArt');
	var cognom1 = document.getElementsByName('sCog1');
	var cognom2 = document.getElementsByName('sCog2');
	var adreca = document.getElementsByName('sAdreca');
	var poblacio = document.getElementsByName('sPoblacio');
	var cp = document.getElementsByName('iCp');
	var data_naix = document.getElementsByName('data');
	var email = document.getElementsByName('email');
	var telefon = document.getElementsByName('tel');
	
	var i_num_participants = 1;
	if (document.getElementById('projecteGrup').checked==true)
	{
		i_num_participants = document.getElementById('num_participantsP').value;
		if (i_num_participants == 'mes') 
		{
			i_num_participants = 1;
		}
	}else if(document.getElementById('obra_colectiva').checked==true)
	{
		i_num_participants = document.getElementById('num_participants').value;
		if (i_num_participants == 'mes') 
		{
			i_num_participants = 1;
		}
	}
		
    for (i = 0; i < i_num_participants; i++)
	{	
		//Validem el dni	
		var validar_dni = document.getElementById('validar_dni'+(i+1));
		if (dni[i].value=="")
		{var validar_dni = document.getElementById('validar_dni'+(i+1));
			validar_dni.style.display="block";
			validar_dni.innerHTML=str_camp_obligatori;
			formulari_valid = false;
		}
		
		//validem el nom
		var validar_nom = document.getElementById('validar_nom'+(i+1));
		if (nom[i].value=="")
		{var validar_nom = document.getElementById('validar_nom'+(i+1));
			validar_nom.style.display="block";
			validar_nom.innerHTML=str_camp_obligatori;
			formulari_valid = false;
		}
		else
		{var validar_nom = document.getElementById('validar_nom'+(i+1));
			validar_nom.style.display="none";
			validar_nom.innerHTML="";
		}

		//El nom artístic de moment no te validacio
		nom_artistic[i];
		
		//Validem el cognom1
		var validar_cognom1 = document.getElementById('validar_cognom1'+(i+1));
		if (cognom1[i].value=="")
		{var validar_cognom1 = document.getElementById('validar_cognom1'+(i+1));
			validar_cognom1.style.display="block";
			validar_cognom1.innerHTML=str_camp_obligatori;
			formulari_valid = false;
		}
		else
		{var validar_cognom1 = document.getElementById('validar_cognom1'+(i+1));
			validar_cognom1.style.display="none";
			validar_cognom1.innerHTML="";
		}
		
		//Validem el cognom2
		var validar_cognom2 = document.getElementById('validar_cognom2'+(i+1));
		if (cognom2[i].value=="")
		{var validar_cognom2 = document.getElementById('validar_cognom2'+(i+1));
			validar_cognom2.style.display="block";
			validar_cognom2.innerHTML=str_camp_obligatori;
			formulari_valid = false;
		}
		else
		{var validar_cognom2 = document.getElementById('validar_cognom2'+(i+1));
			validar_cognom2.style.display="none";
			validar_cognom2.innerHTML="";
		}

		//Validar adreça
		var validar_adreca = document.getElementById('validar_adreca'+(i+1));
		if (adreca[i].value=="")
		{
			var validar_adreca = document.getElementById('validar_adreca'+(i+1));
			validar_adreca.style.display="block";
			validar_adreca.innerHTML=str_camp_obligatori;
			formulari_valid = false;
		}
		else
		{
			var validar_adreca = document.getElementById('validar_adreca'+(i+1));
			validar_adreca.style.display="none";
			validar_adreca.innerHTML="";
		}
		
		//Validar població
		var validar_poblacio = document.getElementById('validar_poblacio'+(i+1));
		if (poblacio[i].value=="")
		{var validar_poblacio = document.getElementById('validar_poblacio'+(i+1));
			validar_poblacio.style.display="block";
			validar_poblacio.innerHTML=str_camp_obligatori;
			formulari_valid = false;
		}
		else
		{var validar_poblacio = document.getElementById('validar_poblacio'+(i+1));
			validar_poblacio.style.display="none";
			validar_poblacio.innerHTML="";
		}
		
		//Validar codi postal
		var validar_cp = document.getElementById('validar_cp'+(i+1));
		if (cp[i].value=="")
		{var validar_cp = document.getElementById('validar_cp'+(i+1));
			validar_cp.style.display="block";
			validar_cp.innerHTML=str_camp_obligatori;
			formulari_valid = false;
		}
		else
		{var validar_cp = document.getElementById('validar_cp'+(i+1));
			validar_cp.style.display = "none";
			validar_cp.innerHTML = "";
		}
		
		//Validar data de naixement
		var validar_data_naixement = document.getElementById('validar_data_naixement'+(i+1));
		if (data_naix[i].value=="")
		{var validar_data_naixement = document.getElementById('validar_data_naixement'+(i+1));
			validar_data_naixement.style.display="block";
			validar_data_naixement.innerHTML=str_camp_obligatori;
			formulari_valid = false;
		}
		else
		{
			retorn_validar_data = validaData(data_naix[i].value);
			if (!retorn_validar_data=="")
			{var validar_data_naixement = document.getElementById('validar_data_naixement'+(i+1));
				validar_data_naixement.style.display = "block";
				validar_data_naixement.innerHTML = retorn_validar_data;
				formulari_valid = false;
			}
			else
			{var validar_data_naixement = document.getElementById('validar_data_naixement'+(i+1));
				validar_data_naixement.style.display = "none";
				validar_data_naixement.innerHTML = "";	
			}
		}
		
		//Validar email
		email[i];
		
		//Validar telefon
		var validar_telefon = document.getElementById('validar_telefon'+(i+1));
		if (telefon[i].value=="")
		{var validar_telefon = document.getElementById('validar_telefon'+(i+1));
			validar_telefon.style.display="block";
			validar_telefon.innerHTML=str_camp_obligatori;
			formulari_valid = false;
		}
		else
		{
			if(telefon[i].value.length < 9)
			{var validar_telefon = document.getElementById('validar_telefon'+(i+1));
				validar_telefon.style.display="block";
				validar_telefon.innerHTML="El telèfon ha de tenir 9 dígits";
				formulari_valid = false;
			}
			else
			{
				if(!validarEnter(telefon[i].value))
				{var validar_telefon = document.getElementById('validar_telefon'+(i+1));
					validar_telefon.style.display="block";
					validar_telefon.innerHTML="No hi pot haver cap lletra en el n&uacute;;mero de tel&egrave;fon";
					formulari_valid = false;
				}
				else
				{var validar_telefon = document.getElementById('validar_telefon'+(i+1));
					validar_telefon.style.display="none";
					validar_telefon.innerHTML="";	
				}	
			}
		}
		
	}//End for
	if (!formulari_valid)
	{
		document.getElementById('validar_usuaris').style.display='block';
	}
	else
	{
		document.getElementById('validar_usuaris').style.display='none';
		document.getElementById('validar_usuaris').innerHTML ='';
	}
	return formulari_valid;
}

function validarEnter(valor)
{
	var retorn = true;
	var valor = parseInt(valor);

	if (isNaN(valor)) 
	{
	    retorn = false;
	}

	return valor;
}

/**********************************************************************************
***********************************************************************************
				NOVES VALIDACIONS!!
***********************************************************************************
**********************************************************************************/
function esBuit(s, nom){
	var txt = document.getElementsByName(s)[0];
	var miss = "";
	if (/^\s*$/.test(txt.value)){
		miss = nom+" es un camp obligatori.\n";
	}
	return miss;
}

/***************************************** Validar data ********************************************/

function validaData(dataEntrada){
	var miss="";
	/* Primer comprovem que s'ha entrat el format correcte*/
	if(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test(dataEntrada)) {
		/* Ara validarem que l'any, mes i dia siguin correctes*/
		dataEntr = dataEntrada.split("/");
		dia = parseInt(dataEntr[0],10);
		mes = parseInt(dataEntr[1],10);
		mes=mes-1;
		any = parseInt(dataEntr[2]);
		
		var d = new Date(any,mes,dia);
		if(!(d.getDate() == dia && d.getMonth() == mes && d.getFullYear() == any)){
			miss = "La data de naixement no &eacute;s valida.";
		}
	}
	else{
		miss="El format de la data ha de ser dd/mm/aaaa.";
	}
	return miss;
}

/**************************** Validem l'e-mail tingui @ . i tingui extensio valida  *********************************/

function validaMail(camp){
	var miss = "";
	var val = document.getElementsByName(camp)[0];
	if(/^\w+([\.-]?\w+)*@\w*.\w{2,3}$/.test(val.value)){
		/*var punt = val.value.lastIndexOf(".");
		var fi = val.value.length;
		var ext = val.value.substring(punt+1,fi);
		if(!(/^com|net|org|cat|es$/.test(ext))){
			miss="L'extensio del mail no es valida (pot ser 'com', 'net', 'org', 'cat' o 'es').\n";
		}*/
	}else{
		miss="Si us plau, entra un mail valid\n";
	}
	return miss;
}

//************************* Validar el dni *************************
function validarDni(dni)
{ 
	miss="";
	
 	if(dni.value.length<9){
		 miss="El dni &eacute;s incorrecte. Ha de tenir vuit números i una lletra, sense espais ni guions\n";
  	}else {
		numero = dni.value.substr(0,dni.value.length-1);
		let = dni.value.substr(dni.value.length-1,1);
		numero = numero % 23;
  		letra="TRWAGMYFPDXBNJZSQVHLCKET";
  		letra=letra.substring(numero,numero+1);
		if (letra!=let) {
			miss="El Dni &eacute;s incorrecte, si us plau, revisa'l\n"; 
		}
	}
	return miss;
}

/**************************************************
	Validar el formulari noticies
**************************************************/
function validarNoticies(formulari) 
{ 
	var bOk =false;
	var tema = formulari.tema.value;
	var titol = formulari.titol.value;
	var nom = formulari.nom.value;
	var missatge = formulari.missatge.value;

	var envia = validarNoNull(tema) && validarNoNull(titol) && validarNoNull(nom) && validarNoNull(missatge);
	
	if (!envia) alert ("El tema, el títol, el nom i el missatge són camps obligatoris per crear una notícia, si us plau revisa'ls");
	else bOk=true;
	
	return (bOk);
	
}

//************************* Vallidar el correu electronic *************************
function validarEmail(correu)
{
	
	if ((correu.indexOf ('@', 0) == -1) || (correu.length < 5) || (correu.indexOf ('.', 0) == -1)) {
		alert("L'e-mail &eacute;s incorrecte, si us plau, revisa'l");
		return (false);
	}
	
	return (true);
}


//************************* Vallidar data *************************
function validarData(dia,mes,any)
{
	var bOk = false;
	if(valMes(mes)){
		if (valDia(dia,mes) && valAny(any)) {
			bOk =true;
		}
	}
	return (bOk);
}

function fiMes(mes){
	var nMes = parseInt(mes);
	var nRes = 0;
	switch (nMes){
	case 1: nRes = 31; break;
	case 2: nRes = 29; break;
	case 3: nRes = 31; break;
	case 4: nRes = 30; break;
	case 5: nRes = 31; break;
	case 6: nRes = 30; break;
	case 7: nRes = 31; break;
	case 8: nRes = 31; break;
	case 9: nRes = 30; break;
	case 10: nRes = 31; break;
	case 11: nRes = 30; break;
	case 12: nRes = 31; break;
	}
	return nRes;
}

function valDia(dia, mes)
{
	var nDia = parseInt(dia);
	var bOk = ((nDia >= 1) && (nDia <= fiMes(mes)));
	if (!bOk) {
		alert ("El dia &eacute;s incorrecte");
	}
	return (bOk);
}

function valMes(mes){
	var bOk = false;
	var nMes = parseInt(mes);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	if (!bOk){ alert("El mes &eacute;s incorrecte");}
	return (bOk); 
}

function valAny(any)
{
	var bOk=false;
	if (any=="") { 
		alert("Si us plau indica l'any de naixament");
		return (false);
	}else{
		nAny = parseInt(any);
		if (nAny>2007){
			alert ("L'any de naixement &eacute;s incorrecte");
			return (false);
		} else { return(true); }
	}
}
