//Valida CV
function validateFormCv()
{
	var elements = [{name:'Nombre',validation:'required',text:'Debe rellenar el campo Nombre'},
{name:'Apellidos',validation:'required',text:'Debe rellenar el campo Apellidos'},
{name:'E-mail',validation:'email',text:'Debe rellenar el campo E-mail (compruebe que el formato es correcto).'},
{name:'Telefonoparticular',validation:'phoneValidator',text:'Debe proporcionar algún teléfono (compruebe que el formato es correcto).'},
{name:'CIAActual',validation:'required',text:'Debe proporcionar Nombre CIA Actual (Ninguna en caso contrario).'},
{name:'Desdeelaño',validation:'required',text:'Debe proporcionar el año'},



{name:'Salariofijo',validation:'required',text:'Debe rellenar el campo Salario Fijo.'},

{name:'ContactSubject',validation:'required',text:'Debe rellenar el campo asunto.'}];
	
	return validateFormCv(elements);
}

function validateFormCVSteps(num)
{

	var elements = new Array();
	
	elements[1] = [
				   {name:'Nombre',validation:'required',text:'Debe rellenar el campo Nombre'},
				   {name:'Apellidos',validation:'required',text:'Debe rellenar el campo Apellidos'},
				   {name:'E-mail',validation:'email',text:'Debe rellenar el campo E-mail (compruebe que el formato es correcto).'},
//				   {name:'CurriculumCelPhone',validation:'cellphone',text:'Debe rellenar el campo Teléfono Móvil (compruebe que el formato es correcto).'}
				   {name:'Telefonoparticular',validation:'tel',text:'Debe proporcionar un telefono. (compruebe que el formato es correcto, numeros sin espacios).'}
				  ];

	elements[2] = [
				   {name:'CIAActual',validation:'required',text:'Debe proporcionar Nombre CIA Actual (Ninguna en caso contrario).'},
				   {name:'Desdeelaño',validation:'required',text:'Debe rellenar el campo Año.'},
				   {name:'CurriculumJobPosition',validation:'required',text:'Debe rellenar el campo Cargo'}
				  ];

	elements[3] = [
				   {name:'CurriculumPrevJobName0',validation:'required',text:'Debe rellenar el campo Compañía anterior'},
				   {name:'CurriculumPrevJobDuration0',validation:'number',minimum:1,text:'Debe rellenar el campo Duración (Compañía anterior)'},
				   {name:'CurriculumPrevJobPosition0',validation:'required',text:'Debe rellenar el campo Cargo (Compañía anterior)'}
				  ];

	elements[4] = [
				   {name:'Salariofijo',validation:'number',minimum:1,text:'Debe rellenar el campo Salario fijo'}
				  ];

	
	return validateForm(elements[num]);
}




//acordeon
function acordeon(obj,tipo){
	
	if (arguments.length == 3) var init = arguments[2];
		
	if (typeof(init)=='undefined')
	{
		cambiocolor(obj);
		elementos = $('menu').getElementsByClassName('accordion_content');
		if(tipo-1 != 0){Effect.BlindUp(elementos[0], { duration: 0.5 });}
		if(tipo-1 != 1){Effect.BlindUp(elementos[1], { duration: 0.5 });}
		if(tipo-1 != 2){Effect.BlindUp(elementos[2], { duration: 0.5 });}
		if(tipo-1 == -1){return;}
		
		Effect.BlindDown($('submenu'+tipo), { duration: 0.5 });
	}
	else
	{
		cambiocolor(obj);
		var element = null;
		if ((element = $('submenu'+tipo)) != null)
			element.style.display = 'block';
	}	
}
	
function cambiocolor(obj){
	
	
	elementos = $('menu').getElementsByClassName('accordion_toggle');
	for (var i = 0; i < elementos.length; i++) 
      {
			elementos[i].style.color = '#ffffff';
			elementos[i].style.background = 'url(img/bullet_close.gif)';
			elementos[i].style.backgroundRepeat = 'no-repeat';
			elementos[i].style.backgroundPosition = '25px 12px';
      }
	  obj.style.color = '#8e1736';
	  obj.style.background = 'url(img/bullet_open.gif)';
	  obj.style.backgroundRepeat = 'no-repeat';
	  obj.style.backgroundPosition = '25px 12px';
	
	}


function Areamenu(num){
	
	dato = "area"+ num;
	//alert(dato);
	var elementos
	elementos = $('areasInfo').getElementsByClassName('areasTxt');

	for (var i = 0; i < elementos.length; i++) 
      {

			elementos[i].style.display = 'none';
			//Effect.SlideDown(elementos[i], { duration: 0.5 });
			
      }
	
	document.getElementById(dato).style.display = 'block';
	//Effect.SlideUp($(dato), { duration: 0.5 });
	
}
















function buscarNoticias()
{

	var busqueda = $('busca');
	if (busqueda)
		location.replace('/busqueda/noticias/'+escape(busqueda.value));
	else
		alert(encountersSearch);
}

function buscarEncuentros()
{

	var busqueda = $('busca');
	if (busqueda)
		location.replace('/busqueda/encuentros/'+escape(busqueda.value));	
	else
		alert(encountersSearch);
}

// validación de e-mails.
function emailValidator(str) 
{
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if(reg.test(str) == false)
		return false;
	
	return true;
}

function phoneValidator(str)
{
	var reg = /^9[0-9]{8}$/;
	if (reg.test(str) == false)
		return false;
		
	return true;	
}

// validación de teléfonos móviles. (666001122).
function cellPhoneValidator(str)
{
	var reg = /^6[0-9]{8}$/;
	if (reg.test(str) == false)
		return false;
		
	return true;
}

function requiredValidator(str)
{
	if (str.length == 0)
		return false;
		
	return true;
}

// validación de números.
function numberValidator(str,minimum)
{
	var maximum = "";
	if (arguments.length == 3)
		maximum = arguments[2];
		
	var pattern = "^([\\d]{"+minimum+","+maximum+"})$";
	var reg = new RegExp(pattern);
	if (reg.test(str) == false)
		return false;

	return true;
}

function validateForm(elements)
{
	// recorremos el array de elementos.
	for(var i=0; i<elements.length; i++)
	{
		var element = $(elements[i].name);
		if (element)
		{
			switch(elements[i].validation)
			{
				case 'required':
					if (!requiredValidator(element.value))
					{
						alert(elements[i].text);
						try {
							element.focus();
						} catch(err) {}
						return false;
					}
					break;
					
				case 'email': 
					if (!emailValidator(element.value))
					{
						alert(elements[i].text);
						try {
							element.focus();
						} catch(err) {}
						return false;
					}
					break;
					
				case 'number':
					if (!numberValidator(element.value,elements[i].minimum))
					{
						alert(elements[i].text);
						try {
							element.focus();
						} catch(err) {}
						return false;
					}
					break;
					
				case 'cellphone':	
					if (!cellPhoneValidator(element.value))
					{
						alert(elements[i].text);
						try	{
							element.focus();
						} catch(err) {}
						return false;
					}
					break;
					
				case 'tel':
										
					fields = [
							  {name:'Telefonoparticular',validation:'tel',minimum:1},
							  {name:'Telefonooficina',validation:'tel',minimum:1},
							  {name:'TelefonoMovil',validation:'tel',minimum:1}
							 ];

					if(!numberValidator($(fields[0].name).value,fields[0].minimum) && !numberValidator($(fields[1].name).value,fields[1].minimum) && !numberValidator($(fields[2].name).value,fields[2].minimum))
					{
						alert(elements[i].text);
						return false;
					}
					
				break;
					

			}
		}
	}
	
	return true;
}

// validamos el formulario de contacto.
function validateFormContacto()
{
	var elements = [{name:'ContactName',validation:'required',text:'Debe rellenar el campo Nombre'},
					{name:'ContactLastName',validation:'required',text:'Debe rellenar el campo Apellidos'},
					{name:'ContactEmail',validation:'email',text:'Debe rellenar el campo E-mail (compruebe que el formato es correcto).'},
					{name:'ContactSubject',validation:'required',text:'Debe rellenar el campo asunto.'},
					{name:'archivo',validation:'required',text:'Debe adjuntar su email.'}
					
					];
	
	return validateForm(elements);
}










// validamos el formulario del CV.
function validateFormCV1()
{
	var elements = [{name:'cv_nombre',validation:'required',text:'Debe rellenar el campo Nombre'},
					{name:'cv_apellidos',validation:'required',text:'Debe rellenar el campo Apellidos'},
					{name:'cv_email',validation:'email',text:'Debe rellenar el campo E-mail (compruebe que el formato es correcto).'},
//					{name:'CurriculumCelPhone',validation:'cellphone',text:'Debe rellenar el campo Teléfono Móvil (compruebe que el formato es correcto).'},
				    {name:'cv_telf_p',validation:'tel',text:'Debe rellenar algún teléfono de contacto.'},
					{name:'cv_domicilioAct',validation:'required',text:'Debe rellenar el campo domicilio.'},
					{name:'cv_ciaActual',validation:'required',text:'Debe rellenar el campo CIA actual.'},
					{name:'cv_fijo',validation:'required',text:'Debe rellenar el campo Salario'}];

	return validateForm(elements);
}



// añadimos un empleo a la sección del CV.
var otroEmpleoActual = 0;
function anadirOtroEmpleo(){
	$('prevJob'+(++otroEmpleoActual).toString()).style.display = 'block';
	if (otroEmpleoActual==2)
		$('addPrevJob').style.display = 'none';
}



//*

/* Ventanas*/

function ventanasf(numero){
	
	elementos = $('ventanas').getElementsByClassName('ventanaf');
	
	if(numero-1 != 0){Effect.Shrink(elementos[0], { duration: 0.5 });}
	if(numero-1 != 1){Effect.Shrink(elementos[1], { duration: 0.5 });}
	if(numero-1 != 2){Effect.Shrink(elementos[2], { duration: 0.5 });}
	if(numero-1 != 3){Effect.Shrink(elementos[3], { duration: 0.5 });}
	if(numero-1 != 4){Effect.Shrink(elementos[4], { duration: 0.5 });}
	if(numero-1 != 5){Effect.Shrink(elementos[5], { duration: 0.5 });}
	if(numero-1 == -1){return;}
	
	
	Effect.Grow($('ventana'+numero), { duration: 0.5 });

	}
function ventanasf2(numero){
	
	elementos = $('ventanas').getElementsByClassName('ventanaf');
	
	if(numero-1 != 0){Effect.Shrink(elementos[0], { duration: 0.5 });}
	if(numero-1 != 1){Effect.Shrink(elementos[1], { duration: 0.5 });}
	if(numero-1 != 2){Effect.Shrink(elementos[2], { duration: 0.5 });}
	if(numero-1 != 3){Effect.Shrink(elementos[3], { duration: 0.5 });}
	if(numero-1 != 4){Effect.Shrink(elementos[4], { duration: 0.5 });}
	if(numero-1 == -1){return;}
	
	
	Effect.Grow($('ventana'+numero), { duration: 0.5 });

	}
function ventanasf3(numero){
	
	elementos = $('ventanas').getElementsByClassName('ventanaf');
	
	if(numero-1 != 0){elementos[0].style.display = 'none';}
	if(numero-1 != 1){elementos[1].style.display = 'none';}
	if(numero-1 != 2){elementos[2].style.display = 'none';}
	if(numero-1 != 3){elementos[3].style.display = 'none';}
	if(numero-1 != 4){elementos[4].style.display = 'none';}
	if(numero-1 == -1){return;}
	
	
	//Effect.Grow($('ventana'+numero), { duration: 0.5 });
	$('ventana'+numero).style.display = 'block';
	}
function ventanafclose(numero){
	
	//Effect.Shrink($('ventana'+numero), { duration: 0.5 });
	$('ventana'+numero).style.display = 'none';
	}
	
function openwin(numero){
	Effect.Appear($('prowin'+numero), { duration: 0.5 });
	}
function closewin(numero){
	Effect.DropOut($('prowin'+numero), { duration: 0.5 });
	}
//*

function siguientePaso(num){
	
	ok = validateFormCVSteps(num);

	if(ok){
		actual = "formPaso"+(num);
		siguiente = "formPaso"+(num+1);
		$(actual).style.display = 'none';
		$(siguiente).style.display = 'block';
	}
}
function anteriorPaso(num){
	actual = "formPaso"+(num);
	anterior = "formPaso"+(num-1);
	$(actual).style.display = 'none';
	$(anterior).style.display = 'block';
		
	}
	
function ventanasf_a(numero){
 
 elementos = $('ventanas').getElementsByClassName('ventanaf');
 
 if(numero-1 != 0){Effect.Shrink(elementos[0], { duration: 0.5 });}
 if(numero-1 != 1){Effect.Shrink(elementos[1], { duration: 0.5 });}
 if(numero-1 != 2){Effect.Shrink(elementos[2], { duration: 0.5 });}
 if(numero-1 != 3){Effect.Shrink(elementos[3], { duration: 0.5 });}
 if(numero-1 != 4){Effect.Shrink(elementos[4], { duration: 0.5 });}
 if(numero-1 != 5){Effect.Shrink(elementos[5], { duration: 0.5 });}
 if(numero-1 != 6){Effect.Shrink(elementos[6], { duration: 0.5 });}
 if(numero-1 != 7){Effect.Shrink(elementos[7], { duration: 0.5 });}
 if(numero-1 != 8){Effect.Shrink(elementos[8], { duration: 0.5 });}
 if(numero-1 != 9){Effect.Shrink(elementos[9], { duration: 0.5 });}
 if(numero-1 != 10){Effect.Shrink(elementos[10], { duration: 0.5 });}
 if(numero-1 != 11){Effect.Shrink(elementos[11], { duration: 0.5 });}
 if(numero-1 == -1){return;}
 
 
 Effect.Grow($('ventana'+numero), { duration: 0.5 });
 
 }




