/*************************************
// 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="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;
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 reg_exp = new RegExp('^\d+$');
	if( reg_exp.test(intval)==false ){
		err=1;
		err_msg = err_msg + error_message;
	}

}

function checkbox_verify(array_chkbx,error_message){
	var count = 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 select_verify(id_select,error_message){
	try{
		var html_select = document.getElementById(id_select);
		var num_options = html_select.options.length;
		if( num_options==0 ){
			err=1;
			err_msg = err_msg+error_message;
		} else {
			for(var k=0; k<num_options; k++){
				html_select.options[k].selected=true;
			}
		}
	} catch(e){
		window.alert("Form Verifier Error :: select_verify" +e);
	}
}


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 validate_form(){
	err = 0;
	err_msg = '';
	campo_vacio('First_name',"Fill the First Name field.\n");
	campo_vacio('Last_name',"Fill the First Name field.\n");
	check_email('email',"Write your email address.");
	if( err!=0 ){
		window.alert(err_msg);
		err = 0;
		err_msg = '';
		return false;
	} else {
		return true;
	}
}

