var arrSentences = new Array();

arrSentences[0] = "Seleccione un 2\xBA nivel de estudios previamente";
arrSentences[1] = "Seleccione un 3er nivel de estudios previamente";
arrSentences[2] = "Ya ha a\xF1adido estos estudios a la lista.";
arrSentences[3] = "Se ha a\xF1adido la formaci\xF3n indicada. Si no la desea, vuelva y elim\xEDnela de la lista";
arrSentences[4] = "Seleccione un master previamente";
arrSentences[5] = "Indique donde realiz\xF3 el master previamente";
arrSentences[6] = "Ya ha a\xF1adido este Master a la lista";
arrSentences[7] = "Se ha a\xF1adido el master seleccionado. Si no lo desea, vuelva y elim\xEDnelo de la lista";
arrSentences[8] = "Indique un Master en \"Otros masters\"";
arrSentences[9] = "Indique donde realiz\xF3 el master previamente";
arrSentences[10] = "Ya ha a\xF1adido este Master a la lista";
arrSentences[11] = "Se ha a\xF1adido su \"otro master\" indicado. Si no lo desea, vuelva y elim\xEDnelo de la lista";
arrSentences[12] = "Seleccione un empresa previamente";
arrSentences[13] = "Seleccione un sector laboral de la lista";
arrSentences[14] = "Seleccione un mes de inicio";
arrSentences[15] = "Seleccione un a\xF1o inicial";
arrSentences[16] = "Seleccione un mes final";
arrSentences[17] = "Seleccione un a\xF1o final";
arrSentences[18] = "El a\xF1o final no puede ser inferior al inicial";
arrSentences[19] = "En un mismo a\xF1o, el mes final no puede ser inferior al mes inicial";
arrSentences[20] = "Seleccione un \xE1rea profesional previamente";
arrSentences[21] = "Indique un puesto de trabajo previamente";
arrSentences[22] = "Ya ha a\xF1adido este trabajo a la lista.";
arrSentences[23] = "Se ha a\xF1adido el trabajo indicado. Si no lo desea, vuelva y elim\xEDnelo de la lista";
arrSentences[24] = "Seleccione un idioma previamente";
arrSentences[25] = "Seleccione un nivel para el idioma seleccionado";
arrSentences[26] = "Ya ha a\xF1adido este idioma a la lista";
arrSentences[27] = "Indique un idioma en \"Otros idiomas\"";
arrSentences[28] = "Seleccione un nivel para el idioma";
arrSentences[29] = "Ya ha a\xF1adido este idioma a la lista";
arrSentences[30] = "Debe introducir su a\xF1o de nacimiento, comprendido entre ";
arrSentences[31] = " y ";
arrSentences[32] = "El NIF indicado no tiene formato correcto para la nacionalidad espa\xF1ola.";
arrSentences[33] = "Seleccione al menos una preferencia laboral";
arrSentences[34] = "Debe introducir una direcci\xF3n e-mail correcta.";
arrSentences[35] = "Tiene al menos un idioma seleccionado sin un nivel indicado";
arrSentences[36] = "Tiene al menos un idioma personalizado sin un nivel indicado";
arrSentences[37] = "Debe indicar la disponibilidad para cambio de residencia.";
arrSentences[38] = "Debe indicar la disponibilidad para viajar.";
arrSentences[39] = "Debe indicar la disponibilidad del carnet de conducir.";
arrSentences[40] = "Borrar";
arrSentences[41] = "Por favor, informe los siguientes campos:\n";
arrSentences[42] = "- Nombre\n";
arrSentences[43] = "- Apellido 1\n";
arrSentences[44] = "- N.I.F.\n";
arrSentences[45] = "- Sexo\n";
arrSentences[46] = "- D\xEDa de nacimiento\n";
arrSentences[47] = "- Mes de nacimiento\n";
arrSentences[48] = "- A\xF1o de nacimiento\n";
arrSentences[49] = "- Domicilio\n";
arrSentences[50] = "- Localidad\n";
arrSentences[51] = "- Provincia\n";
arrSentences[52] = "- E-Mail\n";
arrSentences[53] = "- Tel\xE9fono 1\n";

//_________________________________________________________________________
function replace ( stPhrase, stPattern, stInsert )
{
	var stBuffer = "";
	
	var stArray = stPhrase.split(stPattern);
	
	for ( var i=0; i < stArray.length; i++ )
	{
		if ( i < stArray.length-1)
			stBuffer += stArray[i] + stInsert;
		else
			stBuffer += stArray[i];
	}
	
	return stBuffer;
}

//_________________________________________________________________________
// Envía el CV
function sendCV()
{
	var df = document.forms[0];

	if ( df.cbxCondiciones.checked )
		document.getElementById("submitCV").click();
}

//_________________________________________________________________________
// Muestra u oculta la sección "Otros Masters"
function showOtherMasters( checkbox )
{

	document.getElementById("rowOtrosMasters").style.display = checkbox.checked ? "inline" : "none";
}

//_________________________________________________________________________
// Muestra u oculta el lenguaje personalizado
function showOtherLanguage( checkbox )
{

	var df = document.forms[0];
	
	if ( checkbox != null )
	{

		var strIndex = checkbox.id.substring(15,checkbox.id.length);
		document.getElementById("lblOtros_" + strIndex).style.display = checkbox.checked ? "none" : "inline";
		df["otroIdioma_" + strIndex].style.display = checkbox.checked ? "inline" : "none";

		var arrRadioInputs = document.getElementsByName("grupoOtroIdioma_" + strIndex);
		
		for ( var intIndex = 0; intIndex < arrRadioInputs.length; intIndex++ )
			arrRadioInputs[intIndex].style.visibility = checkbox.checked ? "visible" : "hidden";
	}
}

//_________________________________________________________________________
// Cambia de Paso (Pantalla) en la creación del currículum
function goToStep( step )
{

	var df = document.forms[0];

	if ( (df.hidCurrentStep.value.toString() == "1" || df.hidCurrentStep.value == "") && (step.toString != "1") )
		if ( !validatePersonalDataControls() ) return false;

	if ( (df.hidCurrentStep.value.toString() == "2") && (step.toString != "2") )
	{
		if ( !addStudiesIfForgotten() ) return false;
		if ( !addMastersIfForgotten() ) return false;
		if ( !addOtherMastersIfForgotten() ) return false;
	}
	
	if ( (df.hidCurrentStep.value.toString() == "3") && (step.toString != "3") )
	{
		if ( !validatePreferences() ) return false;
		if ( !addJobIfForgotten() ) return false;
	}
	
	if ( (df.hidCurrentStep.value.toString() == "4") && (step.toString != "4") )
		if ( !validateLanguages() ) return false;

	if ( (df.hidCurrentStep.value.toString() == "5") && (step.toString != "5") )
		if ( !validateOtherAffairs() ) return false;

	for ( var intIndex = 1; intIndex <= 5; intIndex++ )
	{
		var img = document.getElementById("btnCv" + intIndex.toString());
		img.src = "img/btnCv" + intIndex.toString() + (intIndex != step ? (img.src.indexOf("Off") != -1 ? "Off.gif" : "Ok.gif") : "On.gif");
	}	

	try
  {
		document.getElementById("btnCv" + step).blur();
	}
	catch ( e ) {}

	var arrSteps = new Array();

	arrSteps[0] = document.getElementById("step1Layer");
	arrSteps[1] = document.getElementById("step2Layer");
	arrSteps[2] = document.getElementById("step3Layer");
	arrSteps[3] = document.getElementById("step4Layer");
	arrSteps[4] = document.getElementById("step5Layer");
	arrSteps[5] = document.getElementById("step6Layer");
	
	for ( var intIndex = 0; intIndex < 6; intIndex++ )
		arrSteps[intIndex].style.display = "none";
		
	arrSteps[step-1].style.display = "block";	
	df.hidCurrentStep.value = step;
}

//_________________________________________________________________________
// Devuelve si un dato es un entero positivo o no
function isNumericPositive( data )
{

	for ( I = 0; I < data.length; I++ )
	{

		var CurChar = data.substring(I,I+1);

		if (!((CurChar >= "0") && (CurChar <= "9")))
			return false;
	}

	return true;
}

//___________________________________________________________
// Comprueba si un conjunto de estudios ya está en la lista de
// seleccionados
function studiesFound( idLevel1, idLevel2, idLevel3 )
{

	var df = document.forms[0];
	
	var arrInputs = df.getElementsByTagName("INPUT");
	
	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "hidden" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].id.indexOf("N1[") != -1))
					if ( arrInputs[intIndex].idNivel1 == idLevel1.toString() &&
							 arrInputs[intIndex].idNivel2 == idLevel2.toString() &&
							 arrInputs[intIndex].idNivel3 == idLevel3.toString())
						return true;

	return false;
}

//___________________________________________________________
// Añade un estudio a la lista 
function addStudies()
{

	var df = document.forms[0];
	
	if ( df.estudios2.options.length > 1 )
		if ( df.estudios2.selectedIndex <= 0 )
		{
			alert(arrSentences[0]);
			return false;
		}
	
	if ( df.estudios3.options.length > 1 )
		if ( df.estudios3.selectedIndex <= 0 )
		{
			alert(arrSentences[1]);
			return false;
		}

	var idLevel1 = df.estudios1.options[df.estudios1.selectedIndex].value;
	var idLevel2 = df.estudios2.options[df.estudios2.selectedIndex].value;
	var idLevel3 = df.estudios3.options[df.estudios3.selectedIndex].value;

	if ( studiesFound(idLevel1,idLevel2,idLevel3) ) 
	{
		alert(arrSentences[2]);		
		return false;
	}
	
	var id =	"N1[" + idLevel1 + "]_" + "N2[" + idLevel2 + "]_" + "N3[" + idLevel3 + "]";

	var value = df.estudios1.options[df.estudios1.selectedIndex].text;
	
	if ( df.estudios2.selectedIndex > 0 )
	{
	
		value += " - " + df.estudios2.options[df.estudios2.selectedIndex].text;

		if ( df.estudios3.selectedIndex > 0 )
			value += " - " + df.estudios3.options[df.estudios3.selectedIndex].text;
	}

	// Creamos un hidden con los 3 estudios a añadir
	//var newElement = document.createElement("<input type=\"hidden\" idNivel1=\"" + idLevel1 + "\" idNivel2=\"" + idLevel2 + "\" idNivel3=\"" + idLevel3 + "\" id=\"" + id + "\" name=\"" + id + "\" value=\"" + value + "\" />")
	var newElement = document.createElement("input");
	newElement.type     = "hidden";
	newElement.idNivel1 = idLevel1;
	newElement.idNivel2 = idLevel2;
	newElement.idNivel3 = idLevel3;
	newElement.id       = id;
	newElement.name     = id;
	newElement.value    = value;
	
	df.insertBefore(newElement,null);
	
	var historialEstudios = document.getElementById("historialEstudios");

	var row = historialEstudios.insertRow(-1);	
	row.id = "ROW_" + id;

	var deleteCell = row.insertCell(-1);
	deleteCell.style.verticalAlign = "top";
	//var link = document.createElement("<a href=\"javascript:deleteStudies('" + id + "');\" title=\"" + arrSentences[40] + "\">");
	var link = document.createElement("a");
	link.href = "javascript:deleteStudies('" + id + "');";
	link.title = arrSentences[40];
	var img = new Image();
	img.src = "img/papelera.gif";
	img.width=16;
	img.height=15;
	img.border=0;
	img.style.cursor="hand";
	
	deleteCell.insertBefore(link,null);
	link.insertBefore(img,null);

	var cell = row.insertCell(-1);
	cell.style.verticalAlign = "top";
	cell.className = "conteCvAnadir";
	cell.innerHTML = value;

	// Limpiamos los combos de estudios
	df.estudios1.selectedIndex = 0;
	df.estudios2.selectedIndex = 0;
	df.estudios3.selectedIndex = 0;
	document.getElementById("rowRama").style.display = "none";
	document.getElementById("rowEspecialidad").style.display = "none";
		
	return true;
}

//___________________________________________________________
// Añade unos estudios si se ha olvidado el añadirlos
function addStudiesIfForgotten()
{

	var df = document.forms[0];

	var blnOption1 = (df.estudios1.selectedIndex > 0) && (document.getElementById("rowRama").style.display == "none");
	var blnOption2 = (df.estudios1.selectedIndex > 0) && (document.getElementById("rowRama").style.display != "none") && (df.estudios2.selectedIndex > 0) && (document.getElementById("rowEspecialidad").style.display == "none");
	var blnOption3 = (df.estudios1.selectedIndex > 0) && (document.getElementById("rowRama").style.display != "none") && (df.estudios2.selectedIndex > 0) && (document.getElementById("rowEspecialidad").style.display != "none") && (df.estudios3.selectedIndex > 0);

	if ( (df.estudios1.selectedIndex > 0) && (document.getElementById("rowRama").style.display != "none") && (df.estudios2.selectedIndex == 0) )
	{
		alert(arrSentences[0]);
		return false;
	}

	if ( (df.estudios1.selectedIndex > 0) && (document.getElementById("rowRama").style.display != "none") && (df.estudios2.selectedIndex > 0) && (document.getElementById("rowEspecialidad").style.display != "none") && (df.estudios3.selectedIndex == 0) )
	{
		alert(arrSentences[1]);
		return false;
	}

	if ( blnOption1 || blnOption2 || blnOption3 )
	{
		var returnValue = addStudies();
		if ( returnValue )
			alert(arrSentences[3]);
		return returnValue;
	}			 	
	
	return true;
}

//___________________________________________________________
// Elimina un estudio de la lista
function deleteStudies( id )
{

	var df = document.forms[0];

	try { 
		//df[id].removeNode(true); 
		df.removeChild(df[id]);
	}
	catch ( e ) {}

	var historialEstudios = document.getElementById("historialEstudios");

	if ( historialEstudios.rows.length > 0 )
		for ( var intRowIndex = 0; intRowIndex < historialEstudios.rows.length; intRowIndex++ )
			if ( historialEstudios.rows[intRowIndex].id == "ROW_" + id )
			{
				//historialEstudios.rows[intRowIndex].removeNode(true);
				historialEstudios.deleteRow(intRowIndex);
				break;
			}
}

//___________________________________________________________
// Comprueba si un master ya está en la lista de seleccionados
function masterFound( idMaster )
{

	var df = document.forms[0];
	
	var arrInputs = df.getElementsByTagName("INPUT");
	
	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "hidden" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].idMaster != null) )
					if ( arrInputs[intIndex].idMaster == idMaster.toString() )
						return true;

	return false;
}

//___________________________________________________________
// Añade masters a la lista 
function addMasters()
{

	var df = document.forms[0];
	
	if ( df.masters.selectedIndex <= 0 )
	{
		alert(arrSentences[4]);
		return false;
	}

	if ( df.escuela.value == "" )
	{
		alert(arrSentences[5]);
		return false;
	}
	
	var idMaster = df.masters.options[df.masters.selectedIndex].value;

	if ( masterFound(idMaster) ) 
	{
		alert(arrSentences[6]);		
		return false;
	}
	
	var value = df.masters.options[df.masters.selectedIndex].text;
	
	// Creamos un hidden con el master a añadir
	//var newElement = document.createElement("<input type=\"hidden\" idMaster=\"" + idMaster + "\" id=\"M[" + idMaster + "]\" name=\"M[" + idMaster + "]\" value=\"" + value + "\" />")
	var newElement = document.createElement("input");
	newElement.type     = "hidden";
	newElement.idMaster = idMaster;
	newElement.id       = "M[" + idMaster + "]";
	newElement.name     = "M[" + idMaster + "]";
	newElement.value    = value;
	df.insertBefore(newElement,null);
	
	var historialMasters = document.getElementById("historialMasters");

	var row = historialMasters.insertRow(-1);	
	row.id = "ROW_M[" + idMaster + "]";

	var deleteCell = row.insertCell(-1);
	deleteCell.style.verticalAlign = "top";
	//var link = document.createElement("<a href=\"javascript:deleteMaster('M[" + idMaster + "]');\" title=\"" + arrSentences[40] + "\">");
	var link = document.createElement("a");
	link.href = "javascript:deleteMaster('M[" + idMaster + "]');";
	link.title = arrSentences[40];
	var img = new Image();
	img.src = "img/papelera.gif";
	img.width=16;
	img.height=15;
	img.border=0;
	img.style.cursor="hand";
	
	deleteCell.insertBefore(link,null);
	link.insertBefore(img,null);

	var cell = row.insertCell(-1);
	cell.style.verticalAlign = "top";
	cell.className = "conteCvAnadir";
	cell.innerHTML = value + (df.escuela.value.length > 0 ? " (" + df.escuela.value + ")" : "");
	
	var inputCell = row.insertCell(-1);
	inputCell.style.verticalAlign = "top";
	//var input = document.createElement("<input type=\"hidden\" id=\"text_master_[" + idMaster + "]\" name=\"text_master_[" + idMaster + "]\" />");
	var input = document.createElement("input");
	input.type = "hidden";
	input.id   = "text_master_[" + idMaster + "]";
	input.name = "text_master_[" + idMaster + "]";
	input.value = df.escuela.value;
	inputCell.insertBefore(input,null);

	df.masters.selectedIndex = 0;
	df.escuela.value = "";

	return true;
}

//___________________________________________________________
// Añade un master si se ha olvidado el añadirlo
function addMastersIfForgotten()
{

	var df = document.forms[0];

	if ( df.masters.selectedIndex > 0 )
	{
		var returnValue = addMasters();
		if ( returnValue )
			alert(arrSentences[7]);
		return returnValue;
	}			 	
	
	return true;
}

//___________________________________________________________
// Elimina un master de la lista
function deleteMaster( id )
{

	var df = document.forms[0];

	try { 
		//df[id].removeNode(true); 
		df.removeChild(df[id]);
	}
	catch ( e ) {}

	var historialMasters = document.getElementById("historialMasters");

	if ( historialMasters.rows.length > 0 )
		for ( var intRowIndex = 0; intRowIndex < historialMasters.rows.length; intRowIndex++ )
			if ( historialMasters.rows[intRowIndex].id == "ROW_" + id)
			{
				//historialMasters.rows[intRowIndex].removeNode(true);
				historialMasters.deleteRow(intRowIndex);
				break;
			}
			
	df.masters.selectedIndex = -1;
}

//___________________________________________________________
// Comprueba si un otro master ya está en la lista de seleccionados
function otherMasterFound( text )
{

	var df = document.forms[0];
	
	var arrInputs = df.getElementsByTagName("INPUT");
	
	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "hidden" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].idMaster != null) )
					if ( arrInputs[intIndex].value.toUpperCase() == text.toUpperCase() )
						return true;

	return false;
}

//___________________________________________________________
// Añade otros masters a la lista 
function addOtherMasters()
{

	var df = document.forms[0];
	
	if ( df.otrosMasters.value == "" )
	{
		alert(arrSentences[8]);
		df.otrosMasters.focus();
		return false;
	}
	
	if ( df.otraEscuela.value == "" )
	{
		alert(arrSentences[9]);
		return false;
	}
	
	var value = df.otrosMasters.value;

	if ( otherMasterFound(value) ) 
	{
		alert(arrSentences[10]);		
		return false;
	}
	
	// Creamos un hidden con el master a añadir
	var time = new Date();
	var key = time.getHours() + "_" + time.getMinutes() + "_" + time.getSeconds() + "_" + time.getMilliseconds();
	var id = "M[" + key + "]_CUSTOM";

	//var newElement = document.createElement("<input type=\"hidden\" idMaster=\"" + key + "\" id=\"" + id + "\" name=\"" + id + "\" value=\"" + value + " (" +  df.otraEscuela.value + ")\" />")
	var newElement = document.createElement("input");
	newElement.type = "hidden";
	newElement.idMaster = key;
	newElement.id = id ;
	newElement.name = id;
	newElement.value = value + " (" +  df.otraEscuela.value + ")";
	df.insertBefore(newElement,null);
	
	var historialMasters = document.getElementById("historialMasters");

	var row = historialMasters.insertRow(-1);	
	row.id = "ROW_" + id;

	var deleteCell = row.insertCell(-1);
	deleteCell.style.verticalAlign = "top";
	//var link = document.createElement("<a href=\"javascript:deleteMaster('" + id + "');\" title=\"" + arrSentences[40] + "\">");
	var link = document.createElement("a");
	link.href = "javascript:deleteMaster('" + id + "');";
	link.title = arrSentences[40];
	var img = new Image();
	img.src = "img/papelera.gif";
	img.width=16;
	img.height=15;
	img.border=0;
	img.style.cursor="hand";
	
	deleteCell.insertBefore(link,null);
	link.insertBefore(img,null);

	var cell = row.insertCell(-1);
	cell.style.verticalAlign = "top";
	cell.className = "conteCvAnadir";
	cell.innerHTML = value + " (" + df.otraEscuela.value + ")";
	
	df.otrosMasters.value = "";
	df.otraEscuela.value = "";
	df.activarOtrosMasters.checked = false;
	document.getElementById("rowOtrosMasters").style.display = "none";
	
	return true;
}

//___________________________________________________________
// Añade un "otro master" si se ha olvidado el añadirlo
function addOtherMastersIfForgotten()
{

	var df = document.forms[0];

	if ( df.otrosMasters.value != "" )
	{
		var returnValue = addOtherMasters();
		if ( returnValue )
			alert(arrSentences[11]);
		return returnValue;
	}			 	
	
	return true;
}

//___________________________________________________________
// Comprueba si un trabajo ya está en la lista de
// seleccionados
function jobFound( company, sector, initialMonth, initialYear, endMonth, endYear, area, position )
{

	var df = document.forms[0];
	
	var arrInputs = df.getElementsByTagName("INPUT");
	
	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "hidden" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].id.indexOf("E[") != -1))
					if ( arrInputs[intIndex].empresa.toUpperCase() == company.toString().toUpperCase() &&
							 arrInputs[intIndex].sector == sector.toString() &&
							 parseInt(arrInputs[intIndex].mesInicio,10) == parseInt(initialMonth,10) &&
							 parseInt(arrInputs[intIndex].anoInicio,10) == parseInt(initialYear,10) &&
							 parseInt(arrInputs[intIndex].mesFin,10) == parseInt(endMonth,10) &&
							 parseInt(arrInputs[intIndex].anoFin,10) == parseInt(endYear,10) &&
							 arrInputs[intIndex].area == area.toString() &&
							 arrInputs[intIndex].puesto.toUpperCase() == position.toString().toUpperCase() )
						return true;

	return false;
}

//___________________________________________________________
// Añade un trabajo en la lista 
function addJob()
{

	var df = document.forms[0];

	var empresa = df.empresa.value;
	var idSector = df.sector.options[df.sector.selectedIndex].value;
	var mesInicio = df.mesInicio.options[df.mesInicio.selectedIndex].value;
	var anoInicio = df.anoInicio.options[df.anoInicio.selectedIndex].value;
	var mesFin = df.mesFin.options[df.mesFin.selectedIndex].value;
	var anoFin = df.anoFin.options[df.anoFin.selectedIndex].value;
	var idArea = df.area.options[df.area.selectedIndex].value;
	var puesto = df.puesto.value;
	var id = "E[" + empresa + "]_" + "S[" + idSector + "]_" + "MI[" + mesInicio + "]_AI[" + anoInicio+ "]_MF[" + mesFin + "] _AF[" + anoFin + "]_A[" + idArea + "]_P[" + puesto + "]";
	var value = empresa + " ( " + mesInicio + "/" + anoInicio + " - " + mesFin + "/" + anoFin + " ): " + puesto;
	var replacedId = replace(id,"\"","'");
	var replacedEmpresa = replace(empresa,"\"","'");
	var replacedPuesto = replace(puesto,"\"","'");
	var replacedValue = replace(value,"\"","'");
	
	if ( df.empresa.value == "" )
	{
		alert(arrSentences[12]);
		df.empresa.focus();
		return false;
	}

	if ( df.sector.selectedIndex <= 0 )
	{
		alert(arrSentences[13]);
		df.sector.focus();
		return false;
	}

	if ( df.mesInicio.selectedIndex <= 0 )
	{
		alert(arrSentences[14]);
		df.mesInicio.focus();
		return false;
	}

	var now = new Date();
	var mostFarYear = now.getFullYear()-65;
	var currentYear = now.getFullYear();

	if ( df.anoInicio.selectedIndex <= 0 )
	{
		alert(arrSentences[15]);
		df.anoInicio.focus();
		return false;
	}

	if ( df.mesFin.value == "" )
	{
		alert(arrSentences[16]);
		df.mesFin.focus();
		return false;
	}

	if ( df.anoFin.selectedIndex <= 0 )
	{
		alert(arrSentences[17]);
		df.anoFin.focus();
		return false;
	}
	
	var intAnoFin = parseInt(df.anoFin.options[df.anoFin.selectedIndex].value,10);
	var intAnoInicio = parseInt(df.anoInicio.options[df.anoInicio.selectedIndex].value,10);
	
	if ( intAnoFin < intAnoInicio )
	{
		alert(arrSentences[18]);
		df.anoFin.focus();
		return false;
	}
	
	if ( intAnoFin == intAnoInicio )
		if ( parseInt(df.mesFin.value,10) < parseInt(df.mesInicio.value,10) )
		{
			alert(arrSentences[19]);
			return false;
		}
	
	if ( df.area.selectedIndex <= 0 )
	{
		alert(arrSentences[20]);
		df.area.focus();
		return false;
	}
	
	if ( df.puesto.value == "" )
	{
		alert(arrSentences[21]);
		df.puesto.focus();
		return false;
	}

	if ( jobFound(replacedEmpresa,idSector,mesInicio,anoInicio,mesFin,anoFin,idArea,replacedPuesto) ) 
	{
		alert(arrSentences[22]);		
		return false;
	}

	// Creamos un hidden 
//	var newElement = document.createElement("<input type=\"hidden\" empresa=\"" + replacedEmpresa + "\" sector=\"" + idSector + "\" mesInicio=\"" + mesInicio + "\" anoInicio=\"" + anoInicio + "\" mesFin=\"" + mesFin + "\" anoFin =\"" + anoFin + "\" area=\"" + idArea + "\" puesto=\"" + replacedPuesto +  "\" id=\"" + replacedId + "\" name=\"" + replacedId + "\" value=\"" + replacedValue + "\" />")
	var newElement = document.createElement("input");
	newElement.type = "hidden";
	newElement.empresa = replacedEmpresa;
	newElement.sector = idSector;
	newElement.mesInicio = mesInicio;
	newElement.anoInicio = anoInicio;
	newElement.mesfin = mesFin;
	newElement.anoFin = anoFin;
	newElement.area = idArea;
	newElement.puesto = replacedPuesto;
	newElement.id = replacedId;
	newElement.name = replacedId;
	newElement.value = replacedValue;
	
	df.insertBefore(newElement,null);
	
	var historialTrabajos = document.getElementById("historialTrabajos");

	var row = historialTrabajos.insertRow(-1);
	row.id = "ROW_" + replacedId;

	var deleteCell = row.insertCell(-1);
	deleteCell.style.verticalAlign = "top";
//	var link = document.createElement("<a href=\"javascript:deleteJob('" + replace(replacedId,"'","\\'") + "');\" title=\"" + arrSentences[40] + "\">");
	var link = document.createElement("a");
	link.href = "javascript:deleteJob('" + replace(replacedId,"'","\\'") + "');";
	link.title = arrSentences[40];
	var img = new Image();
	img.src = "img/papelera.gif";
	img.width=16;
	img.height=15;
	img.border=0;
	img.style.cursor="hand";
	img.alt = "";
	
	deleteCell.insertBefore(link,null);
	link.insertBefore(img,null);

	var cell = row.insertCell(-1);
	cell.style.verticalAlign = "top";
	cell.className = "conteCvAnadir";
	cell.innerHTML = value;

	// Limpiamos el formulario del trabajo
	df.empresa.value = "";
	df.sector.selectedIndex = 0;
	df.mesInicio.selectedIndex = 0;
	df.anoInicio.selectedIndex = "";
	df.mesFin.selectedIndex = 0;
	df.anoFin.selectedIndex = "";
	df.area.selectedIndex = 0;
	df.puesto.value = "";

	return true;
}

//___________________________________________________________
// Añade un trabajo si se ha olvidado el añadirlo
function addJobIfForgotten()
{

	var df = document.forms[0];
	
	if ( (df.empresa.value != "") && 
			 (df.sector.selectedIndex > 0) &&
			 (df.mesInicio.selectedIndex > 0) &&
			 (df.anoInicio.selectedIndex > 0) &&
			 (df.mesFin.selectedIndex > 0) &&
			 (df.anoFin.selectedIndex > 0) &&
			 (df.area.selectedIndex > 0) &&
			 (df.puesto.value != "") ) 
	{
		var returnValue = addJob();
		if ( returnValue )
			alert(arrSentences[23]);
		return returnValue;
	}
	
	return true;			 	
}

//___________________________________________________________
// Elimina un trabajo de la lista
function deleteJob( id )
{

	var df = document.forms[0];

	try { 
		//df[id].removeNode(true); 
		df.removeChild(df[id]);
	}
	catch ( e ) {}

	var historialTrabajos = document.getElementById("historialTrabajos");

	if ( historialTrabajos.rows.length > 0 )
		for ( var intRowIndex = 0; intRowIndex < historialTrabajos.rows.length; intRowIndex++ )
			if ( historialTrabajos.rows[intRowIndex].id == "ROW_" + id )
			{
				//historialTrabajos.rows[intRowIndex].removeNode(true);
				historialTrabajos.deleteRow(intRowIndex);
				break;
			}
}

//___________________________________________________________
// Comprueba si un idioma ya está en la lista de seleccionados
function languageFound( idLanguage )
{

	var df = document.forms[0];
	
	var arrInputs = df.getElementsByTagName("INPUT");
	
	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "hidden" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].idIdioma != null) )
					if ( arrInputs[intIndex].idIdioma == idLanguage.toString() )
						return true;

	return false;
}

//___________________________________________________________
// Añade idiomas a la lista 
function addLanguage()
{

	var df = document.forms[0];
	
	if ( df.idiomas.selectedIndex < 0 )
	{
		alert(arrSentences[24]);
		return false;
	}

	if ( df.nivelIdiomas.selectedIndex < 0 )
	{
		alert(arrSentences[25]);
		return false;
	}
	
	var idIdioma = df.idiomas.options[df.idiomas.selectedIndex].value;
	var idNivelIdioma = df.nivelIdiomas.options[df.nivelIdiomas.selectedIndex].value;

	if ( languageFound(idIdioma) ) 
	{
		alert(arrSentences[26]);		
		return false;
	}
	
	var id = "I[" + idIdioma + "]_NI[" + idNivelIdioma + "]";
	var value = df.idiomas.options[df.idiomas.selectedIndex].text + " - " + df.nivelIdiomas.options[df.nivelIdiomas.selectedIndex].text;
	
	// Creamos un hidden con los 3 estudios a añadir
	//var newElement = document.createElement("<input type=\"hidden\" idIdioma=\"" +  idIdioma + "\" idNivelIdioma=\"" + idNivelIdioma + "\" id=\"" + id + "\" name=\"" + id + "\" value=\"" + value + "\" />")
	var newElement = document.createElement("input");
	newElement.type = "hidden";
	newElement.idIdioma = idIdioma;
	newElement.idNivelIdioma = idNivelIdioma;
	newElement.id = id;
	newElement.name = id;
	newElement.value = value;
	df.insertBefore(newElement,null);
	
	var historialIdiomas = document.getElementById("historialIdiomas");

	var row = historialIdiomas.insertRow(-1);	
	row.id = "ROW_" + id;

	var deleteCell = row.insertCell(-1);
	deleteCell.style.verticalAlign = "top";
	//var link = document.createElement("<a href=\"javascript:deleteLanguage('" + id + "');\">");
	var link = document.createElement("a");
	link.href = "javascript:deleteLanguage('" + id + "');";
	var img = new Image();
	img.src = "img/papelera.gif";
	img.width=16;
	img.height=15;
	img.border=0;
	img.style.cursor="hand";
	
	deleteCell.insertBefore(link,null);
	link.insertBefore(img,null);

	var cell = row.insertCell(-1);
	cell.style.verticalAlign = "top";
	cell.className = "conteCvAnadir";
	cell.innerHTML = value;
}

//___________________________________________________________
// Elimina un estudio de la lista
function deleteLanguage( id )
{

	var df = document.forms[0];

	try 
	{ 
		//df[id].removeNode(true); 
		df.removeChild(df[id]);
		//document.getElementById("ROW_" + id).removeNode(true);
		document.getElementById("ROW_" + id).parentNode.removeChild(document.getElementById("ROW_" + id));
	}
	catch ( e ) {}
}

//___________________________________________________________
// Comprueba si un otro idioma ya está en la lista de seleccionados
function otherLanguageFound( text )
{

	var df = document.forms[0];
	
	var arrInputs = df.getElementsByTagName("INPUT");
	
	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "hidden" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].idIdioma != null) )
					if ( arrInputs[intIndex].value.toUpperCase() == text.toUpperCase() )
						return true;

	return false;
}

//___________________________________________________________
// Añade otros idiomas a la lista 
function addOtherLanguage()
{

	var df = document.forms[0];
	
	if ( df.otrosIdiomas.value == "" )
	{
		alert(arrSentences[27]);
		df.otrosIdiomas.focus();
		return false;
	}
	
	if ( df.nivelOtrosIdiomas.selectedIndex <= 0 )
	{
		alert(arrSentences[28]);
		return false;
	}
	
	var value = df.otrosIdiomas.value + " - " + df.nivelOtrosIdiomas.options[df.nivelOtrosIdiomas.selectedIndex].text;

	if ( otherLanguageFound(value) ) 
	{
		alert(arrSentences[29]);		
		return false;
	}
	
	// Creamos un hidden con el idioma a añadir
	var time = new Date();
	var key = time.getHours() + "_" + time.getMinutes() + "_" + time.getSeconds() + "_" + time.getMilliseconds();
	var id = "I[" + key + "]_NI[" + df.nivelOtrosIdiomas.options[df.nivelOtrosIdiomas.selectedIndex].value + "]_CUSTOM";

	// var newElement = document.createElement("<input type=\"hidden\" idIdioma=\"" + id + "\" name=\"" + id + "\" value=\"" + value + "\" />")
	var newElement = document.createElement("input");
	newElement.type = "hidden";
	newElement.idIdioma = id;
	newElement.name = id;
	newElement.value = value;
	df.insertBefore(newElement,null);
	
	var historialIdiomas = document.getElementById("historialIdiomas");

	var row = historialIdiomas.insertRow(-1);	
	row.id = "ROW_" + id;

	var deleteCell = row.insertCell(-1);
	deleteCell.style.verticalAlign = "top";
	//var link = document.createElement("<a href=\"javascript:deleteLanguage('" + id + "');\">");
	var link = document.createElement("a");
	link.href = "javascript:deleteLanguage('" + id + "');";
	var img = new Image();
	img.src = "img/papelera.gif";
	img.width=16;
	img.height=15;
	img.border=0;
	img.style.cursor="hand";
	
	deleteCell.insertBefore(link,null);
	link.insertBefore(img,null);

	var cell = row.insertCell(-1);
	cell.style.verticalAlign = "top";
	cell.className = "conteCvAnadir";
	cell.innerHTML = value;
}

//___________________________________________________________
// Comprueba si se puede pinchar en los niveles o no
function checkIfCanClickLevel( radio, controlType )
{

	var df = document.forms[0];

	if ( controlType == "checkbox" )
	{

		var arrTokens = radio.id.split("_");

		var checkbox = df["cbx_idioma_" + arrTokens[2]];

		if ( !checkbox.checked ) 
		{
			radio.checked = false;
			radio.blur();
		}
	}
	else
		if ( controlType == "text" )
		{

			var arrTokens = radio.id.split("_");

			var text = df["otroIdioma_" + arrTokens[2]];
			
			if ( text.value == "" )
			{
				radio.checked = false;
				radio.blur();
			}
		}
}

//___________________________________________________________
// Limpia los niveles del Idioma
function cleanLanguageLevels( control  )
{

	var df = document.forms[0];

	if ( control.type == "checkbox" )
	{
		if ( !control.checked )
		{

			var group = df["grupoIdioma_" + control.id.substring(11,control.id.length)];

			for ( var intIndex=0; intIndex < group.length; intIndex++ )
				group[intIndex].checked = false;
		}
	}
	else
		if ( control.type == "text" )
		{
			if ( control.value == "" )
			{

				var group = df["grupoOtroIdioma_" + control.id.substring(11,control.id.length)];

				for ( var intIndex=0; intIndex < group.length; intIndex++ )
					group[intIndex].checked = false;
			}
		}

}

//___________________________________________________________
// Comprueba que no haya mas de 3 preferencias chequeadas
function checkPreferences( objCheckBox )
{

	var df = document.forms[0];
	
	var arrInputs = df.getElementsByTagName("INPUT");

	var intCountChecked = 0;

	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "checkbox" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].id.indexOf("cbx_preferencias") != -1))
					if ( arrInputs[intIndex].checked )
						intCountChecked++;

	if ( objCheckBox.checked && intCountChecked > 3 )
		objCheckBox.checked = false;
		
	objCheckBox.blur();
}

//___________________________________________________________
// Comprueba el año de nacimiento
function validateBornYear( year ) 
{

	var now = new Date();
	var mostFarYear = now.getFullYear()-65;
	var mostNearYear = now.getFullYear()-16;

	if ( isNumericPositive(year) )
		if ((parseInt(year,10) > mostFarYear) && (parseInt(year,10) < mostNearYear))
			return true; 
		
	alert(arrSentences[30] + mostFarYear + arrSenteces[31] + mostNearYear);
	return false; 				
}

//_________________________________________________________________________________________
function checkDNI( obj )
{

	if ( blnInvalidDNI ) 
	{
		blnInvalidDNI = false;
		obj.focus();
	}
}

//_________________________________________________________________________________________
var blnInvalidDNI = false;

//_________________________________________________________________________________________
function validateDNI( obj )
{

	var df = document.forms[0];

	var objSrcElement = null;
	var objToElement  = null;

	try { objSrcElement = window.event.srcElement; } catch ( e ) {}
	try { objToElement  = window.event.toElement; } catch ( e ) {}

	// Cuando el evento es lanzado desde el TextBox del NIF...
	if ((objSrcElement !=	null) && (objSrcElement.id == "nif"))
	{
		// Si el elemento al que se va es el select de pais,
		// y es para seleccionar otro que España, entonces no da ninguna alerta.
		if ((objToElement != null) && (objToElement.id == "nacionalidad"))
		{
			if ( objToElement.options[objToElement.selectedIndex].value == "ES" )
				return;	
		}
	}

	var blnNumberFound = false;
	var blnLetterFound = false;
	var strLetter = "";

	if ( obj.value == "" ) 
		return true;
	
	if ( df.nacionalidad.options[df.nacionalidad.selectedIndex].value == "ES" )
	{

		var strFilteredDNI = "";

		for ( I = 0; I < obj.value.length; I++ )
		{

			var CurChar = obj.value.substring(I,I+1);

			if ( (CurChar >= "0") && (CurChar <= "9") )
			{
				blnNumberFound = true;
				strFilteredDNI += CurChar;
			}
			else
			{
				blnLetterFound = true;
				strLetter = CurChar.toUpperCase();
			}
		}

		if ( !blnNumberFound )
		{
			alert(arrSentences[32]);
			// Cuando el evento es lanzado desde el TextBox del NIF...
			if ((objSrcElement !=	null) && (objSrcElement == "nif"))
				blnInvalidDNI = true;
			obj.focus();
			return false;
		}

		if ( !blnLetterFound )
		{
			alert(arrSentences[32]);
			// Cuando el evento es lanzado desde el TextBox del NIF...
			if ((objSrcElement !=	null) && (objSrcElement.id == "nif"))
				blnInvalidDNI = true;
			obj.focus();
			return false;
		}

		obj.value = strFilteredDNI;
	}

	var numer = obj.value;
	var oper1 = Math.floor(numer / 23)
	var oper2 = numer - (oper1 * 23)

	// ALERTA NO NUMERO INDICADO
	if ( df.nacionalidad.options[df.nacionalidad.selectedIndex].value == "ES" )
	{
		// CONTINUA LA RUTINA ORIGINAL
		if(oper2 == 0)
		{
			obj.value += 'T';
		}
		if(oper2 == 1)
		{
			if ( strLetter == "R") 
				obj.value += 'R';
		}
		if(oper2 == 2)
		{
			if ( strLetter == "W") 
				obj.value += 'W';
		}
		if(oper2 == 3)
		{
			if ( strLetter == "A") 
				obj.value += 'A';
		}
		if(oper2 == 4)
		{
			if ( strLetter == "G") 
				obj.value += 'G';
		}
		if(oper2 == 5)
		{
			if ( strLetter == "M") 
				obj.value += 'M';
		}
		if(oper2 == 6)
		{
			if ( strLetter == "Y") 
				obj.value += 'Y';
		}
		if(oper2 == 7)
		{
			if ( strLetter == "F") 
				obj.value += 'F';
		}
		if(oper2 == 8)
		{
			if ( strLetter == "P") 
				obj.value += 'P';
		}
		if(oper2 == 9)
		{
			if ( strLetter == "D") 
				obj.value += 'D';
		}
		if(oper2 == 10)
		{
			if ( strLetter == "X") 
				obj.value += 'X';
		}
		if(oper2 == 11)
		{
			if ( strLetter == "B") 
				obj.value += 'B';
		}
		if(oper2 == 12)
		{
			if ( strLetter == "N") 
				obj.value += 'N';
		}
		if(oper2 == 13)
		{
			if ( strLetter == "J") 
				obj.value += 'J';
		}
		if(oper2 == 14)
		{
			if ( strLetter == "Z") 
				obj.value += 'Z';
		}
		if(oper2 == 15)
		{
			if ( strLetter == "S") 
				obj.value += 'S';
		}
		if(oper2 == 16)
		{
			if ( strLetter == "Q") 
				obj.value += 'Q';
		}
		if(oper2 == 17)
		{
			if ( strLetter == "V") 
				obj.value += 'V';
		}
		if(oper2 == 18)
		{
			if ( strLetter == "H") 
				obj.value += 'H';
		}
		if(oper2 == 19)
		{
			if ( strLetter == "L") 
				obj.value += 'L';
		}
		if(oper2 == 20)
		{
			if ( strLetter == "C") 
				obj.value += 'C';
		}
		if(oper2 == 21)
		{
			if ( strLetter == "K") 
				obj.value += 'K';
		}
		if(oper2 == 22)
		{
			if ( strLetter == "E") 
				obj.value += 'E';
		}
		if(oper2 == 23)
		{
			if ( strLetter == "T") 
				obj.value += 'T';
		}

		blnLetterFound = false;

		for ( I = 0; I < obj.value.length; I++ )
		{

			var CurChar = obj.value.substring(I,I+1);

			if ( (CurChar >= "0") && (CurChar <= "9") )
				strFilteredDNI += CurChar;
			else
			{
				blnLetterFound = true;
				strLetter = CurChar;
			}
		}

		if ( !blnLetterFound )
		{
			alert(arrSentences[32]);
			// Cuando el evento es lanzado desde el TextBox del NIF...
			if ((objSrcElement !=	null) && (objSrcElement.id == "NIF"))
				blnInvalidDNI = true;
			obj.focus();
			return false;
		}
	}  
	
	return true;
}

//___________________________________________________________
// Comprueba la dirección de correo
function validateEmail( address ) 
{
	
	var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	
	var regex = new RegExp(emailReg);
	
	return regex.test(address);
}

//___________________________________________________________
// Valida los datos personales del Currículum
function validatePreferences()
{

	var df = document.forms[0];
	
	var arrInputs = df.getElementsByTagName("INPUT");

	var intCountChecked = 0;

	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "checkbox" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].id.indexOf("cbx_preferencias") != -1))
					if ( arrInputs[intIndex].checked )
						intCountChecked++;

	if ( intCountChecked == 0 )
	{
		alert(arrSentences[33]);
		return false;
	}

	return true;
}

//___________________________________________________________
// Valida los datos personales del Currículum
function validatePersonalDataControls()
{
 
	var df = document.forms[0];
	var strErrorMessage = arrSentences[41];
	var strErrorsList = "";
	
	if ( df.nombre.value == "" ) strErrorsList += arrSentences[42];
	if ( df.apellido1.value == "" ) strErrorsList += arrSentences[43];
	if ( df.nif.value == "" && (df.nacionalidad.selectedIndex >= 0 && df.nacionalidad.options[df.nacionalidad.selectedIndex].value == "ES") ) strErrorsList += arrSentences[44];
	if ( !df.sexo[0].checked && !df.sexo[1].checked ) strErrorsList += arrSentences[45];
	if ( df.dia.selectedIndex <= 0 ) strErrorsList += arrSentences[46];
	if ( df.mes.selectedIndex <= 0 ) strErrorsList += arrSentences[47];
	if ( df.ano.selectedIndex <= 0 ) strErrorsList += arrSentences[48];
	if ( df.domicilio.value == "" ) strErrorsList += arrSentences[49];
	if ( df.localidad.value == "" ) strErrorsList += arrSentences[50];
	// Provincia puede pasar a ser un combo!!!
	if ( df.provincia.value == "" ) strErrorsList += arrSentences[51];
	if ( df.email.value == "" ) strErrorsList += arrSentences[52];
	if ( df.telefono1.value == "" ) strErrorsList += arrSentences[53];
	
	if ( strErrorsList != "" )
	{
		alert(strErrorMessage + strErrorsList);
		return false;
	}
	
	if ( !validateDNI(df.nif) )
	{
		df.nif.focus();
		return false;
	}

/*
	if ( !validateBornYear(df.ano.value) )
	{
		df.ano.focus();
		return false;
	}
*/
	if ( !validateEmail(df.email.value) )
	{
		alert(arrSentences[34]);
		df.email.focus();
		return false;
	}
	
	return true;
}

//___________________________________________________________
// Valida los idiomas 
function validateLanguages()
{
	
	var df = document.forms[0];
	
	var arrInputs = df.getElementsByTagName("INPUT");

	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "checkbox" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].id.indexOf("cbx_idioma_") != -1))
					if ( arrInputs[intIndex].checked )
					{

						var grupoIdioma = df["grupoIdioma_" + arrInputs[intIndex].id.substring(11,arrInputs[intIndex].id.length)];
						var blnFound = false;
	
						for ( var intIndex2 = 0; intIndex2 < grupoIdioma.length; intIndex2++ )
							if ( grupoIdioma[intIndex2].checked )
							{
								blnFound = true;
								break;
							}

						if ( !blnFound )
						{
							alert(arrSentences[35]);
							return false; 
						}
					}

	for ( var intIndex=0; intIndex < 2; intIndex++ )
		if ( df["cbx_otroIdioma_" + intIndex.toString()].checked )
			if ( df["otroIdioma_" + intIndex.toString()].value != "" )
			{

				var grupoOtroIdioma = df["grupoOtroIdioma_" + intIndex.toString()];

				var blnFound = false;

				for ( var intIndex2 = 0; intIndex2 < grupoOtroIdioma.length; intIndex2++ )
					if ( grupoOtroIdioma[intIndex2].checked )
					{
						blnFound = true;
						break;
					}

				if ( !blnFound )
				{
					alert(arrSentences[36]);
					return false; 
				}
			}

	return true;
}

//_________________________________________________________________________
// cambia el estado de vista de DropDownList en pantalla "Otros"
function showDDL( name, mode )
{

	document.forms[0][name].style.display = mode;
	
	if ( mode == "none")
		document.forms[0][name].selectedIndex = -1;
}

//___________________________________________________________
// Valida los datos de "Otros"
function validateOtherAffairs()
{
	
	var df = document.forms[0];
	
	if ( !(document.getElementById("cambioResidenciaSi").checked || document.getElementById("cambioResidenciaNo").checked) )
	{
		alert(arrSentences[37]);
		return false; 
	}

	if ( document.getElementById("cambioResidenciaSi").checked )
		if ( df.cambioResidencia.selectedIndex < 0 )
		{
			alert(arrSentences[37]);
			return false; 
		}

	
	if ( !(document.getElementById("viajarSi").checked || document.getElementById("viajarNo").checked) )
	{
		alert(arrSentences[38]);
		return false; 
	}

	if ( document.getElementById("viajarSi").checked )
		if ( df.viajar.selectedIndex < 0 )
		{
			alert(arrSentences[38]);
			return false; 
		}

	if ( !(document.getElementById("permisoConducirSi").checked || document.getElementById("permisoConducirNo").checked) )
	{
		alert(arrSentences[39]);
		return false; 
	}

	/*
	var arrInputs = df.getElementsByTagName("INPUT");

	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "radio" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].id.indexOf("rad_cambioResidencia_") != -1))
				{

					var grupoIdioma = df["cambioResidencia"];
					var blnFound = false;
	
					for ( var intIndex2 = 0; intIndex2 < grupoIdioma.length; intIndex2++ )
						if ( grupoIdioma[intIndex2].checked )
						{
							blnFound = true;
							break;
						}

					if ( !blnFound )
					{
						alert("Debe indicar la disponibilidad para cambiar de residencia");
						return false; 
					}
				}

	if ((arrInputs != null) && (arrInputs.length > 0) )
		for ( var intIndex = 0; intIndex < arrInputs.length; intIndex++ )
			if ( arrInputs[intIndex].type == "radio" )
				if ((arrInputs[intIndex].id != null) && (arrInputs[intIndex].id.indexOf("rad_viajar_") != -1))
				{

					var grupoIdioma = df["viajar"];
					var blnFound = false;

					for ( var intIndex2 = 0; intIndex2 < grupoIdioma.length; intIndex2++ )
						if ( grupoIdioma[intIndex2].checked )
						{
							blnFound = true;
							break;
						}

					if ( !blnFound )
					{
						alert("Debe indicar la disponibilidad para viajar");
						return false; 
					}
				}
	*/

	return true;
}

//___________________________________________________________
// Valida todo el formulario de Currículum
function validateForm()
{

	var df = document.forms[0];

	if ( !validatePersonalDataControls() ) return false;
	
	if ( !validatePreferences() ) return false;

	if ( !validateLanguages() ) return false;

	if ( !validateOtherAffairs() ) return false;

	df.hidAction.value = "SEND_CURRICULUM";
	
	return true;
}		
