var cantMaxEmpleos; // Integer
var destActual;     // String
var formActual;     // String
var arrTitulos;     // Array

cantMaxEmpleos = 5;
destActual     = "";
formActual     = "";
arrTitulos     = new Array();

arrTitulos[1]  = "SOCIOS - MASTERCONSULTAS";
arrTitulos[2]  = "SOCIOS - MASTERPHONE";
arrTitulos[3]  = "SOCIOS - MASTERASSIST";
arrTitulos[4]  = "SOCIOS - DEBITO AUTOMATICO";
arrTitulos[5]  = "SOCIOS - OTROS";
arrTitulos[6]  = "COMERCIOS - MASTERCONSULTAS";
arrTitulos[7]  = "COMERCIOS - ADHESION";
arrTitulos[8]  = "COMERCIOS - E-COMMERCE";
arrTitulos[9]  = "COMERCIOS - DEBITO AUTOMATICO";
arrTitulos[10] = "COMERCIOS - VENTA TELEFONICA";
arrTitulos[11] = "COMERCIOS - LIQUIDACIONES";
arrTitulos[12] = "CURRICULUM VITAE";
arrTitulos[13] = "EMPRESAS - CONSULTAS VARIAS";
arrTitulos[14] = "SOCIOS - RECARGA CELULAR";
arrTitulos[15] = "SOCIOS - RETIRO O BLOQUEO DE DATOS";

function borrarErrores(){
	document.getElementById("errores_generico").style.display='none';
} 

function borrarErroresComercio(){
	document.getElementById("errores_comercio").style.display='none';
} 

function actualizarForm(sIdSeccion, sFrmName, iNumeroFrm) {
	// Solo se actualiza si la seccion a la que se desea cambiar, no es la actual
	
	
	if(sIdSeccion.substring(0, 8) == "generico") {
		if(sIdSeccion.substring(9, sIdSeccion.length) == "socios") {
			// Si es el generico de socios
			document.forms.frmGenerico_s.frmNumero.value = iNumeroFrm;
			document.forms.frmGenerico_s.frmNombre.value = sFrmName;
				
			if(formActual != "") resetearForm(formActual);
			if(destActual != "") hideItem(destActual);
		
			showItem(sIdSeccion);

			destActual = sIdSeccion;
			formActual = "frmGenerico_s";
						
		
			document.getElementById("titulo_generico_s").firstChild.data = arrTitulos[iNumeroFrm];
		} else {
			// Si es el generico de comercios
			document.forms.frmGenerico_c.frmNumero.value = iNumeroFrm; 
			document.forms.frmGenerico_c.frmNombre.value = sFrmName;

			if(formActual != "") resetearForm(formActual);
			if(destActual != "") hideItem(destActual);

			showItem(sIdSeccion);
			destActual = sIdSeccion;
			formActual = "frmGenerico_c";

			document.getElementById("titulo_generico_c").firstChild.data = arrTitulos[iNumeroFrm];
		}
	} else {
		// Si no es ningun generico, ya sea: MasterConsultas (socios), 
		// MasterConsultas (comercios), Consultas varias (empresas) o Enviar CV.
		if(formActual != "") resetearForm(formActual);
		if(destActual != "") hideItem(destActual);

		showItem(sIdSeccion);

		destActual = sIdSeccion;
		formActual = sFrmName;
	}
	//parte del captcha
}

function validarCV(oForm){
	var sMensaje = "";
	
	// Datos generales del postulante

	if (oForm["sNombre"].value == "")
		sMensaje += "Ingrese el nombre del postulante\n";
	if (oForm["sApellido"].value == "")
		sMensaje += "Ingrese el apellido del postulante\n";
	/*if (oForm["iSexo").selectedIndex == 0)
		sMensaje += "Ingrese el sexo del postulante\n";*/
	if (oForm["sAnioNacimiento"].value == "")
		sMensaje += "Ingrese el año de nacimiento del postulante\n";
	else if(!esNumero(oForm["sAnioNacimiento"].value))
		sMensaje += "Ingrese un año de nacimiento válido para el postulante\n";
	if (oForm["iNroDocumento"].value == "")
		sMensaje += "Ingrese el número de documento del postulante\n";
	else if(!esNumero(oForm["iNroDocumento"].value))
		sMensaje += "Ingrese un número de documento válido para el postulante\n";
	if (oForm["sDomicilio"].value == "")
		sMensaje += "Ingrese el domicilio del postulante\n";
	if (oForm["iPiso"].value == "")
		sMensaje += "Ingrese el piso del postulante\n";
	if (oForm["sDepartamento"].value == "")
		sMensaje += "Ingrese el departamento del postulante\n";
	if (oForm["sCP"].value == "")
		sMensaje += "Ingrese el código postal del postulante\n";
	if (oForm["sLocalidad"].value == "")
		sMensaje += "Ingrese la localidad del postulante\n";
	if (oForm["sTelefono"].value == "")
		sMensaje += "Ingrese el teléfono del postulante\n";
	if (oForm["sEmail"].value == "")
		sMensaje += "Ingrese un e-mail para el postulante\n";
	else if(!esMailValido(oForm["sEmail"].value))
		sMensaje += "Ingrese un e-mail válido para el postulante\n";
		
	if (sMensaje != "")
		sMensaje += "\n";
	
	// Areas y horarios
	
	var iCantAreas = 0;
	for (i=0; i<oForm["Areas[]"].length; i++){
		if (oForm["Areas[]"][i].selected == true)
			iCantAreas++;
	}
	
	var iCantHorarios = 0;
	for (i=0; i<oForm["disponibilidadHoraria[]"].length; i++){
		if (oForm["disponibilidadHoraria[]"][i].selected == true)
			iCantHorarios++;
	}

	if (iCantAreas == 0)
		sMensaje += "Seleccione al menos un área\n";
	if (iCantHorarios == 0)
		sMensaje += "Seleccione al menos un horario disponible\n";
		
	if (sMensaje != "")
		sMensaje += "\n";
		
	// Ver empleos
	
	if (oForm["empleo1_empresa"].value != "" || oForm["empleo1_domicilio"].value != "" ||
		oForm["empleo1_actividad"].value != "" || oForm["empleo1_sector"].value != "" ||
		oForm["empleo1_funcion"].value != "")
	{
		if (oForm["empleo1_empresa"].value == "")
			sMensaje += "El nombre de la empresa del Empleo actual no puede estar incompleto\n";
		if (oForm["empleo1_domicilio"].value == "")
			sMensaje += "El domicilio de la empresa del Empleo actual no puede estar incompleto\n";
		if (oForm["empleo1_actividad"].value == "")
			sMensaje += "La actividad de la empresa del Empleo actual no puede estar incompleto\n";
		if (oForm["empleo1_sector"].value == "")
			sMensaje += "El sector de la empresa del Empleo actual no puede estar incompleto\n";
		if (oForm["empleo1_funcion"].value == "")
			sMensaje += "La función de la empresa del Empleo actual no puede estar incompleto\n";
    }	
	
	
	if (sMensaje != "")
		sMensaje += "\n";
	
	if (oForm["empleo2_empresa"].value != "" || oForm["empleo2_domicilio"].value != "" ||
		oForm["empleo2_actividad"].value != "" || oForm["empleo2_sector"].value != "" ||
		oForm["empleo2_funcion"].value != "")
	{
		if (oForm["empleo2_empresa"].value == "")
			sMensaje += "El nombre de la empresa del Empleo anterior no puede estar incompleto\n";
		if (oForm["empleo2_domicilio"].value == "")
			sMensaje += "El domicilio de la empresa del Empleo anterior no puede estar incompleto\n";
		if (oForm["empleo2_actividad"].value == "")
			sMensaje += "La actividad de la empresa del Empleo anterior no puede estar incompleto\n";
		if (oForm["empleo2_sector"].value == "")
			sMensaje += "El sector de la empresa del Empleo anterior no puede estar incompleto\n";
		if (oForm["empleo2_funcion"].value == "")
			sMensaje += "La función de la empresa del Empleo anterior no puede estar incompleto\n";
	}	
	return sMensaje;
}

function validarYEnviar(sForm) {
	var oForm = document.getElementById(sForm);
	var sMensaje = "";
	
	switch(sForm){
		case "frmEnviarCV_c":
				sMensaje = validarCV(oForm);
				break;

		case "frmMasterConsultas_s":
				break;
		case "frmGenerico_s":
				break;
		case "frmMasterConsultas_c":
				break;
		case "frmGenerico_c":
				break;
		case "frmConsultasVarias_e":
				break;
		default:
				break;
	}
	
	if (sMensaje != "")
		alert(sMensaje);
	else 
		var sarasa = 1;
//		oForm.submit();
}

function resetearForm(sFrmName) {
	var oForm = document.getElementById(sFrmName);
	oForm.reset();
	
}

function esNumero(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) { 
	      Char = sText.charAt(i); 
	      if (ValidChars.indexOf(Char) == -1)
	         	IsNumber = false;
   }
   
   return IsNumber;
}


function esMailValido (emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"

	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
		
	// See if "user" is valid 
	if (user.match(userPat)==null) {
	   return false
	}
		
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
		return false
	    }
	   }
	   return true
	}
		
	// Domain is symbolic name
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
	   return false
	}
		
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	   domArr[domArr.length-1].length>3) {
	  return false
	}
		

	if (len<2) {
	  return false
	}
		
	return true;
}

function mostrarSeccion(iIdSeccion, iValue){
	var oSeccion;
	oSeccion = document.getElementById(iIdSeccion);
	
	if (iValue == 1){
		oSeccion.style.visibility = "visible";
	} else {
		oSeccion.style.visibility = "hidden";
	}
}

function limpiarCampos(iEmpleo) {
	document.getElementsByName("empleo2_" + iEmpleo + "_empresa")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_domicilio")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_actividad")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_sector")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_funcion")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_funciones")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_horario")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_egreso")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_anio")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_anioHasta")[0].value = "";
	document.getElementsByName("empleo2_" + iEmpleo + "_mes")[0].selectedIndex = 0;
	document.getElementsByName("empleo2_" + iEmpleo + "_mesHasta")[0].selectedIndex = 0;
}

function actualizarEmpleosAnteriores(oSelect, sPrefijoSeccion){
	var iCantEmpleos, i;
	var sEmpleo;
	var oEmpleo;
	
	iCantEmpleos = oSelect.value;

	// Primero se muestran los empleos que corresponden. Al menos se 
	// muestra un empleo.
	for (i=2; i<=iCantEmpleos; i++){
		sEmpleo = sPrefijoSeccion + i;
		oEmpleo = document.getElementById(sEmpleo);
		oEmpleo.style.display = "";				// display = "none" para NS
		oEmpleo.style.visibility = "visible";
	}

	// Luego se ocultan los que no se tienen que mostrar (si corresponde)
	for (i=cantMaxEmpleos; i>iCantEmpleos; i--){
		sEmpleo = sPrefijoSeccion + i;
		oEmpleo = document.getElementById(sEmpleo);
		oEmpleo.style.display = "none";
		oEmpleo.style.visibility = "hidden";
		limpiarCampos(i);
	}
}
