// JavaScript Document

function getObject(objectId) { 
		// cross-browser function to get an object's style object given its id
		 if(document.getElementById && document.getElementById(objectId)) return document.getElementById(objectId); 
		 // W3C DOM
		 else if (document.all && document.all(objectId)) return document.all(objectId); 
		 // MSIE 4 DOM
		 else if (document.layers && document.layers[objectId]) return document.layers[objectId];
		 // NN 4 DOM.. note: this won't find nested layers
		 else return false; 
 }

function validEmailCN(EmailAddr) {
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	
	var SpecChar="!#$%^&*()'+{}[]\|:;?/><,~`" + "\"";
	var frmValue = new String(EmailAddr);
	var len = frmValue.length;
	try
	{
			if( len < 1 ) { return false; }
			for (var i=0;i<len;i++)
			{
						temp=frmValue.substring(i,i+1)
						if (SpecChar.indexOf(temp)!=-1)
						{
							return false;
						}
			}	
			
			if(!reg1.test(frmValue) && reg2.test(frmValue)) 
			{ 
				return true;
			}
			
			return false;
	}
	catch(errorObject){return false}
}

function validarNewsletterCN(f, msgCondicioLegal, msgEmail, msgInvalidEmail) {	
	if (f.email.value == "") {
		alert(msgEmail);
		f.email.focus();
		return false;	
	}
	
	if (!validEmailCN(f.email.value)){
		alert(msgInvalidEmail);
		f.email.focus();
		return false;
	}

	if (!f.condicions.checked){
		alert(msgCondicioLegal);
		return false;
	}

	return true;
}

function xOculta(sName)
{
	myObject = getObject(sName);
	if (myObject.style) {
		myObject.style.display = "none";
	}
}

function xMostra(sName)
{
	myObject = getObject(sName);
	if (myObject.style) {
		myObject.style.display = "";
	}
}

function changeClasseCN(f) {
	//switch(f.selectedIndex)
	switch(f.value)
	{
		case '62': //29er
			xOculta("asterisc_nomembarcacio");
			xOculta("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xMostra("DivCarnetClassePatro"); xMostra("DivCarnetClasseTripulant"); 
		case '64': //470
			xOculta("asterisc_nomembarcacio");
			xOculta("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xMostra("DivCarnetClassePatro"); xMostra("DivCarnetClasseTripulant"); 
		case '28': //Catamarà doble
			xOculta("asterisc_nomembarcacio");
			xOculta("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xMostra("DivCarnetClassePatro"); xMostra("DivCarnetClasseTripulant"); 
		case '31': //420
			xMostra("DivCategoria"); xMostra("asterisc_categoria"); 
			xOculta("DivGrup");
			xOculta("DivDataNaixement");
			xOculta("DivClase");
			xMostra("DivTripulant");
			xOculta("DivNumero");			
			xOculta("DivRatting");			
			xMostra("asterisc_tripulant_nom"); xMostra("asterisc_tripulant_cognom"); xMostra("asterisc_tripulant_llicencia"); xMostra("asterisc_tripulant_email"); xMostra("asterisc_tripulant_repeemail"); 
			xOculta("asterisc_nomembarcacio");
			xOculta("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xMostra("DivCarnetClassePatro"); xMostra("DivCarnetClasseTripulant"); 
			xOculta("DivAmarraras");
			break;
		case '37': //Creuer
			xMostra("DivCategoria"); xMostra("asterisc_categoria"); 
			xOculta("DivGrup");
			xOculta("DivDataNaixement");
			xOculta("DivClase");
			xOculta("DivTripulant");
			xMostra("DivNumero");			
			xMostra("DivRatting");			
			xMostra("asterisc_nomembarcacio");
			xMostra("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xOculta("DivCarnetClassePatro"); xOculta("DivCarnetClasseTripulant"); 
			xMostra("DivAmarraras");
			break;
		case '48': //Monotips (FC-8)
			xOculta("DivCategoria");  
			xOculta("DivGrup");
			xOculta("DivDataNaixement");
			xMostra("DivClase");
			xOculta("DivTripulant");
			xMostra("DivNumero");
			xOculta("DivRatting");		
			xMostra("asterisc_nomembarcacio");
			xMostra("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xOculta("DivCarnetClassePatro"); xOculta("DivCarnetClasseTripulant"); 
			xOculta("DivAmarraras");
			break;
		case '43': //Solitaris
			xMostra("DivCategoria"); xOculta("asterisc_categoria"); 
			xOculta("DivGrup");
			xOculta("DivDataNaixement");
			xOculta("DivClase");
			xOculta("DivTripulant");
			xOculta("DivNumero");
			xMostra("DivRatting");
			xMostra("asterisc_nomembarcacio");
			xMostra("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xOculta("DivCarnetClassePatro"); xOculta("DivCarnetClasseTripulant"); 
			xMostra("DivAmarraras");
			break;			
	    case '40': //A dos
			xMostra("DivCategoria"); xOculta("asterisc_categoria");
			xOculta("DivGrup");
			xOculta("DivDataNaixement");
			xOculta("DivClase");
			xMostra("DivTripulant");		
			xOculta("DivNumero");				
			xMostra("DivRatting");
			xMostra("asterisc_nomembarcacio");
			xMostra("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xOculta("DivCarnetClassePatro"); xOculta("DivCarnetClasseTripulant"); 
			xMostra("DivAmarraras");
			break;
		case '63': //Vela Open
			xOculta("DivCategoria");
			xOculta("DivGrup");
			xOculta("DivDataNaixement");
			xMostra("DivClase");
			xMostra("DivTripulant");
			xOculta("DivNumero");			
			xOculta("DivRatting");			
			xOculta("asterisc_tripulant_nom"); xOculta("asterisc_tripulant_cognom"); xOculta("asterisc_tripulant_llicencia"); xOculta("asterisc_tripulant_email"); xOculta("asterisc_tripulant_repeemail"); 
			xOculta("asterisc_nomembarcacio");
			xMostra("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xOculta("DivCarnetClassePatro"); xOculta("DivCarnetClasseTripulant"); 
			xOculta("DivAmarraras");
			break;
		case '1': //Optimist
			xMostra("DivCategoria"); xMostra("asterisc_categoria");
			xMostra("DivGrup");
			xMostra("DivDataNaixement");
			xOculta("DivClase");
			xOculta("DivTripulant");
			xOculta("DivNumero");
			xOculta("DivRatting");
			xOculta("asterisc_nomembarcacio");
			xMostra("DivCarnetClasse"); xMostra("asterisc_carnetclase"); xOculta("DivCarnetClassePatro"); xOculta("DivCarnetClasseTripulant"); 
			xOculta("DivAmarraras");
			break;
		case '7':	//Techno 293 
			xMostra("DivCategoria"); xMostra("asterisc_categoria");
			xOculta("DivGrup");
			xOculta("DivDataNaixement");
			xOculta("DivClase");
			xOculta("DivTripulant");
			xOculta("DivNumero");
			xOculta("DivRatting");
			xOculta("asterisc_nomembarcacio");
			xMostra("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xOculta("DivCarnetClassePatro"); xOculta("DivCarnetClasseTripulant"); 
			xOculta("DivAmarraras");
		default: 
			xMostra("DivCategoria"); xMostra("asterisc_categoria");
			xOculta("DivGrup");
			xOculta("DivDataNaixement");
			xOculta("DivClase");
			xOculta("DivTripulant");
			xOculta("DivNumero");
			xOculta("DivRatting");
			xOculta("asterisc_nomembarcacio");
			//Vela Junior/Vela Senior/Radio Control/Catamaran indiv./Estel/Europa/Lase 4.7/Laser Standard/Laser Radial
			if (f.value=='4' || f.value=='22' || f.value=='34' || f.value=='25' || f.value=='16' || f.value=='13' || f.value=='10' || f.value=='54' || f.value=='57') {
				xMostra("DivCarnetClasse"); xMostra("asterisc_carnetclase"); xOculta("DivCarnetClassePatro"); xOculta("DivCarnetClasseTripulant"); 
			} else {
				xMostra("DivCarnetClasse"); xOculta("asterisc_carnetclase"); xOculta("DivCarnetClassePatro"); xOculta("DivCarnetClasseTripulant"); 
			}
			break;
			xOculta("DivAmarraras");
	}//fi switch
}

function validarInscripcio(f, msgCondicioLegal, msgResponsabilitat, msgCampsObligatoris, msgInvalidEmail, msgNoCoincideix, msgAnunciRegata) {	
	//myoption = f.classe;

	
	//Validem segons Classe
	mySelectClase = getObject("classe");
	//switch(mySelectClase.selectedIndex)
	switch(mySelectClase.value) {
		case '1': //Optimist
			if (f.grup.value == "") {
				alert(msgCampsObligatoris);
				f.grup.focus();
				return false;	
			}
			if (f.categoria.value == "") {
				alert(msgCampsObligatoris);
				f.categoria.focus();
				return false;	
			}	
			break;
		case '63': //Vela Open
			if (f.classe2.value == "") {
				alert(msgCampsObligatoris);
				f.classe2.focus();
				return false;	
			}
			break;
		case '48': //Monotips
			if (f.classe2.value == "") {
				alert(msgCampsObligatoris);
				f.classe2.focus();
				return false;	
			}	
			break;
		case '40': //A dos
		case '43': //Solitaris
			break;
		default:	//Tots tenen categoria excepte la 63-Vela Open i 48-Monotips
			if (f.categoria.value == "") {
				alert(msgCampsObligatoris);
				f.categoria.focus();
				return false;	
			}	
			break;
	}
	
	
	if (f.NumVela.value == "") {
		alert(msgCampsObligatoris);
		f.NumVela.focus();
		return false;	
	}
	if (mySelectClase.value==40 || mySelectClase.value==37 || mySelectClase.value==48 || mySelectClase.value==43) { 	//A dos/Creuer/Monotips/Solitaris
		if (f.NomEmbarcacio.value == "") {
			alert(msgCampsObligatoris);
			f.NomEmbarcacio.focus();
			return false;	
		}	
	}
	//Optimist/Vela Junior/Vela Senior/Radio Control/Catamaran indiv./Estel/Europa/Lase 4.7/Laser Standard/Laser Radial
	if (mySelectClase.value==1 || mySelectClase.value==4 || mySelectClase.value==22 || mySelectClase.value==34 || mySelectClase.value==25 || mySelectClase.value==16 || mySelectClase.value==13 || mySelectClase.value==10 || mySelectClase.value==54 || mySelectClase.value==57) {
		if (f.CarnetClasse.value == "") {
			alert(msgCampsObligatoris);
			f.CarnetClasse.focus();
			return false;	
		}	
	}
	if (f.Club.value == "") {
		alert(msgCampsObligatoris);
		f.Club.focus();
		return false;	
	}
	if (f.NomPatro.value == "") {
		alert(msgCampsObligatoris);
		f.NomPatro.focus();
		return false;	
	}
	if (f.CognomPatro.value == "") {
		alert(msgCampsObligatoris);
		f.CognomPatro.focus();
		return false;	
	}
	if (f.NumLlicenciaPatro.value == "") {
		alert(msgCampsObligatoris);
		f.NumLlicenciaPatro.focus();
		return false;	
	}
	if (mySelectClase.value==62 || mySelectClase.value==31 || mySelectClase.value==64 || mySelectClase.value==28) {
		if (f.CarnetClassePatro.value == "") {
			alert(msgCampsObligatoris);
			f.CarnetClassePatro.focus();
			return false;	
		}	
	}
	if (f.AdrecaPatro.value == "") {
		alert(msgCampsObligatoris);
		f.AdrecaPatro.focus();
		return false;	
	}
	if (f.Poblacio.value == "") {
		alert(msgCampsObligatoris);
		f.Poblacio.focus();
		return false;	
	}	
	if (f.CP.value == "") {
		alert(msgCampsObligatoris);
		f.CP.focus();
		return false;	
	}	
	if (f.Telefon.value == "") {
		alert(msgCampsObligatoris);
		f.Telefon.focus();
		return false;	
	}	
	if (f.email.value == "") {
		alert(msgCampsObligatoris);
		f.email.focus();
		return false;	
	}		
	if (!validEmailCN(f.email.value)){
		alert(msgInvalidEmail);
		f.email.focus();
		return false;
	}	
	if (f.repetirEmail.value == "") {
		alert(msgCampsObligatoris);
		f.repetirEmail.focus();
		return false;	
	}		
	if (!validEmailCN(f.repetirEmail.value)){
		alert(msgInvalidEmail);
		f.repetirEmail.focus();
		return false;
	}		
	if (f.email.value != f.repetirEmail.value) {
		alert(msgNoCoincideix);
		f.repetirEmail.focus();
		return false;
	}
	//Cas emailTripulant no sigui buit
	if (f.emailTripulant.value != "") {

	}
	//Validem segons Classe
	//mySelectClase = getObject("classe");
	//switch(mySelectClase.selectedIndex)
	switch(mySelectClase.value)
	{
		case '62': //29er
		case '64': //470
		case '28': //Catamarà doble
		case '31': //420
		case '40': //A dos
				if (f.NomTripulant.value == "") {
					alert(msgCampsObligatoris);
					f.NomTripulant.focus();
					return false;	
				}	
				if (f.CognomTripulant.value == "") {
					alert(msgCampsObligatoris);
					f.CognomTripulant.focus();
					return false;	
				}					
				if (f.NumLlicenciaTripulant.value == "") {
					alert(msgCampsObligatoris);
					f.NumLlicenciaTripulant.focus();
					return false;	
				}		
				//29er/420/470/Catamara doble
				if (mySelectClase.value==62 || mySelectClase.value==31 || mySelectClase.value==64 || mySelectClase.value==28) {
					if (f.CarnetClasseTripulant.value == "") {
						alert(msgCampsObligatoris);
						f.CarnetClasseTripulant.focus();
						return false;	
					}	
				}
				if (f.emailTripulant.value == "") {
					alert(msgCampsObligatoris);
					f.emailTripulant.focus();
					return false;	
				}						
				if (!validEmailCN(f.emailTripulant.value)){
						alert(msgInvalidEmail);
						f.emailTripulant.focus();
						return false;
				}	
				if (f.repetirEmailTripulant.value == "") {
					alert(msgCampsObligatoris);
					f.repetirEmailTripulant.focus();
					return false;	
				}		
				if (!validEmailCN(f.repetirEmailTripulant.value)){
					alert(msgInvalidEmail);
					f.repetirEmailTripulant.focus();
					return false;
				}			
				if (f.emailTripulant.value != f.repetirEmailTripulant.value) {
					alert(msgNoCoincideix);
					f.repetirEmailTripulant.focus();
					return false;
				}				
			break;
		case '63': //Vela Open
				if (f.emailTripulant.value != "") {
					if (!validEmailCN(f.emailTripulant.value)){
						alert(msgInvalidEmail);
						f.emailTripulant.focus();
						return false;
					}	
				}
				if (f.repetirEmailTripulant.value != "") {
					if (!validEmailCN(f.repetirEmailTripulant.value)){
						alert(msgInvalidEmail);
						f.repetirEmailTripulant.focus();
						return false;
					}			
				}
				if (f.emailTripulant.value != "" || f.repetirEmailTripulant.value != "") {
					if (f.emailTripulant.value != f.repetirEmailTripulant.value) {
						alert(msgNoCoincideix);
						f.repetirEmailTripulant.focus();
						return false;
					}				
				}
			break;
		case '37': //Creuer
		case '48': //Monotips
				if (f.NumTripulants.value == "") {
					alert(msgCampsObligatoris);
					f.NumTripulants.focus();
					return false;	
				}		
				break;

				
	}//fi switch	
	if (f.newsletter.checked){ f.newsletter2.value="Y"; } else { f.newsletter2.value="N"; }
	if (!f.condicions.checked){
		alert(msgCondicioLegal);
		return false;
	}
	if (!f.anunci_regata.checked){
		alert(msgAnunciRegata);
		return false;
	}
	if (!f.responsabilitat.checked){
		alert(msgResponsabilitat);
		return false;
	}

	return true;
}

