//////////////////////////////////////
/*************************************
// Verificador de Formularios
// 
// Corrobora campos vacíos, passwords, campos numericos, grupo de botones de radio,
// grupo de cajas de texto oblitorios, y correos electronicos.
//
//  INSTALACIÓN:
//
//
//  1- En la etiqueta form  incluir el siguiente codigo: onSubmit="return form_verify()"
//  2- incluir el siguiente codigo en la etiqueta <head> : <script type="text/javascript" src="../lubricantes/form_verifierv1.js"></ script>
//
//  CONFIGURACION:
//
//  1- En los campos del formulario asignarle un id mediente la etiqueta id="algo" 
//  en cada elemento del formulario que se desee verificar.
//  2- Al final de este archivo, dentro de la funcion form_verify() estan las funciones en
//  donde se especifica de que tipo es el campo con la etiqueta id="algo" y un mensaje de error. 
//
//
//
//
///////////////////////////////////////*/
var err = 0;// * Dependencies * 

// this function requires the following snippet:

// JavaScript/readable_MM_functions/findObj


var err_msg = "";

function check_email(input_name,error_message){
	/*
	Debe tener 1 sola  @.
	Debe tener al menos un punto despues de la arroba.
	No debe tener espacios en medio.
	No debe terminar en punto.
	No deben de haber puntos sequidos despues del dominio.
	La extensión(es) finales del dominio debe de ser de por lo menos 2 letras.
	El nombre del correo debe tener al menos 3 digitos.
	*/
	var mail = document.getElementById(input_name).value;
	var verify = new Number(0);
	var count_arrobas = new Number(0);
	
	if( mail=="" ){
		verify=1;
	} else {
		var mail_length = new Number(mail.length);
		for(var j=0;j<=mail_length;j++){
			if( mail.charAt(j)=="@"){
				count_arrobas = count_arrobas+1;
			}
		}
		if( count_arrobas==1 ){

			var parsemail = new Array();
			parsemail = mail.split("@");
			var name = new String(parsemail[0]);
			var domain = new String(parsemail[1]);
			var name_length = new Number(name.length);
			var domain_length = new Number(domain.length);
			
			if(name_length<3){ verify=1;}
			if(domain_length<3){
				verify=1;
			} else {
				var count_pts = new Number(0);	
				for(var j=0;j<=domain_length;j++){
					if( domain.charAt(j)=="."){
						count_pts = count_pts+1;
					}
				}
				if(count_pts==0){
					verify=1;
				} else{
					var parsedomain = new Array();
					parsedomain = domain.split(".");
					var parsedomain_length = new Number(parsedomain.length);
					for(var t=0;t<parsedomain_length;t++){
						if( (parsedomain[t]=="") || (parsedomain[t].length<2) ){
							verify=1;
						} 
					}
				}
			}
			
		} else {
			verify =1;	
		}
	}
	
	if( verify==1){	
		err=1;
		err_msg = err_msg + error_message;
	}	
}

function campo_vacio(input_name,error_message){
	if(  (document.getElementById(input_name).value=="") ){
		err=1;
		err_msg = err_msg + error_message;
	}
}

function radio_verify(radio_name,error_message){
//////////////
// Verifica que un campo radio esté seleccionado.
	if((document.form1.radio_name.value=="") || (document.form1.radio_name.checked==false) ){
		err=1;
		err_msg += error_message;
	}
}

function integer_value(input_name,error_message){
	
	var intval = document.getElementById(input_name).value;
	var parsed = new String(parseInt(intval));
	var valor_length = intval.length;
	var parsed_length = parsed.length;
	var k = valor_length-parsed_length;

	if( (isNaN(parsed)) || (parsed==undefined) ){
		err=1;
		err_msg = err_msg + error_message;
	} else if( k!=0 ){
		
		err=1;
		err_msg = err_msg + error_message;
	}
}

function checkbox_verify(array_chkbx,error_message){
	var count = new Number(array_chkbx.length);
	var verify = 0;
	if(count>0){
		for(var k=0;k<count;k++){
			if(document.getElementById(array_chkbx[k]).checked==true){
				verify++;
			}		
		}
	} 
	if(verify==0){
		err = 1;
		err_msg = err_msg + error_message;
	}	
}

function verify_pass(input1,confirmation,error_message){
	var value1 = document.getElementById(input1).value;	
	var value2 = document.getElementById(confirmation).value;
	if(value1!=value2){
		err=1;
		err_msg = err_msg + error_message;
	}
}

function confirmcombos(input1,error_message,msg){
	if(document.getElementById(input1).options[document.getElementById(input1).options.selectedIndex].value==msg){
		err=1;
		err_msg = err_msg + error_message;
	}		
}

function jobseeker_areas(){
	
	campo_vacio("titulo","Debe escribir un titulo.\n");
	campo_vacio("descripcion","Debe escribir una descripcion.\n");
	if(err==1){
		window.alert(err_msg);
		err_msg = "";
		err=0;
		return false;
	} else{
		return true;
	}
}

function jobseeker_zones(){
	
	campo_vacio("descripcion","Debe escribir una descripcion.\n");
	if(err==1){
		window.alert(err_msg);
		err_msg = "";
		err=0;
		return false;
	} else{
		return true;
	}
}

function jobseeker_firms(){
	
	campo_vacio("firm_name","Debe escribir un nombre para la compañia.\n");
	campo_vacio("firm_location","Debe escribir una direccion.\n");
	check_email("firm_email","Debe escribir un correo válido.\n");
	campo_vacio("firm_tel","Debe escribir un telefono.\n");
	campo_vacio("firm_fax","Debe escribir un Fax o telefono opcional.\n");
	verify_pass("pass","pass2","Las clave no coinside con la confirmación.\n");
	if(err==1){
		window.alert(err_msg);
		err_msg = "";
		err=0;
		return false;
	} else{
		return true;
	}
}

function jobseeker_offerors(){
	
	campo_vacio("offeror_name","Debe escribir un nombre para el oferente.\n");
	campo_vacio("offeror_lastname","Debe escribir los apellidos del oferente.\n");
	check_email("offeror_email","Debe escribir un correo válido.\n");
	campo_vacio("offeror_tel","Debe escribir un telefono.\n");
	campo_vacio("offeror_address","Debe escribir una direccion.\n");
	campo_vacio("file","Debe incluir un curriculum.\n");
	verify_pass("pass","pass2","Las clave no coinside con la confirmación.\n");
	
	
	if(err==1){
		window.alert(err_msg);
		err_msg = "";
		err=0;
		return false;
	} else{
		return true;
	}
}

function jobseeker_jobs(){
	
	campo_vacio("job_title","Debe escribir un Titulo.\n");
	campo_vacio("job_address","Debe escribir una direccion para el trabajo.\n");
	check_email("job_email","Debe escribir un correo válido.\n");
	campo_vacio("job_extratel","Debe escribir un telefono.\n");
	//campo_vacio("textarea","Debe escribir la descripcion del trabajo.\n");
	campo_vacio("date","Debe seleccionar una fecha de expiracion.\n");
	
	if(err==1){
		window.alert(err_msg);
		err_msg = "";
		err=0;
		return false;
	} else{
		return true;
	}
}

function jobseeker_preferences(){
	
	campo_vacio("viejos","Debe escribir un destinatario.\n");
	
	if(err==1){
		window.alert(err_msg);
		err_msg = "";
		err=0;
		return false;
	} else{
		return true;
	}
}

