//////////////////////////////////////
/*************************************
// 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){
	try{
		if( (document.getElementById(input_name).value=="") ){
			err=1;
			err_msg = err_msg + error_message;
		}
	} catch(e){
		window.alert("Error en form verifier. ID del Campo erroneo:" + input_name+ "\n Error: "+e);
	}
}

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 mail_verify(){
	
	check_email("mail","Please enter a valid email");
	if(err==1){
		window.alert(err_msg);
		err_msg = "";
		err=0;
		return false;
	} else {
		return true;	
	}
}
