// JavaScript Document
//onsubmit="return ValidaDatos(this,1)" del form

function trim(cadena)
{
	//modificado 24/07/2007 author: Jonathan R.C. New Media CR
	var c=cadena.replace( /[ ]+/g,"");//corta todos los espacios en blanco
	return c;
}

function valida_ref(valor)
{
	var tem = valor;
    var i = tem.length;
	var j = 0;
	var x = 0;
	var z = 0;
	for (k = 0; k<=i; k++)
	{
		j = tem.indexOf(" ",0);
		tem = tem.substring(0,j) + tem.substring(j+1,tem.length);
	}
	x = tem.indexOf("<a href=",0);
	z = tem.indexOf("</a>",0);	
	if ((x >= 0) || (z >= 0))
		return true;
	if(tem.indexOf("url",0)>=0) return true; //linea agregada
	return false;
}

function fechaMayorOIgualQue(fec0, fec1){ 
   	
    var bRes = false; 
    var sDia0 = fec0.value.substr(8, 2); 
	var sMes0 = fec0.value.substr(5, 2); 
    var sAno0 = fec0.value.substr(0, 4); 
	
    var sDia1 = fec1.value.substr(8, 2); 
    var sMes1 = fec1.value.substr(5, 2); 
    var sAno1 = fec1.value.substr(0, 4); 
	if (sAno0 > sAno1) bRes = true; 
    else { 
     if (sAno0 == sAno1){ 
      if (sMes0 > sMes1) bRes = true; 
      else { 
       if (sMes0 == sMes1) 
        if (sDia0 >= sDia1) bRes = true; 
      } 
     } 
    } 
    return bRes; 
   }  

//Verifamos que los datos no sean un vacio
//  solo se verificara los que tengan el atributo title="*"
function ValidaDatos(form, idioma)
{
	//alert('que fue');
	//VARIABLES
	var indice_pass;
	var indice_re_pass;
	var valida_pass=0;
	
	var indice_date_inicio;
	var indice_date_fin;
	var valida_date=0;
	
	var color_fondo = "#FFFFFF";
	var color_fondo_error = "#FFFFCC";
	
	
	//INICIALIZANDO CAMPOS A VALIDAR
	for (var i=0; i < form.elements.length;i++) { 
		if(form.elements[i].title=="*" || form.elements[i].title=="select" || form.elements[i].title=="password" || form.elements[i].title=="re_password"){
			form.elements[i].style.background=color_fondo;
		}
	} 
	
	
	//FILTRO PARA EL CORREO ELECTRONICO
	var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
  	
	//INICIO DE VALIDACION
	if (idioma == 1)
	{
		for (var i=0; i < form.elements.length;i++) { 
		  
		  //VALIDAR CAMPOS NECESARIOS EN BLANCO
		  if(form.elements[i].title=="*"){
		    if(trim(form.elements[i].value)==""){
				alert("Error. Es necesario llenar el siguiente campo...");
				form.elements[i].value = "";
				form.elements[i].style.background=color_fondo_error;
				form.elements[i].focus();
				return false;
			}
			
			if(form.elements[i].title=="password") {indice_pass = i; valida_pass=1;}
			if(form.elements[i].title=="re_password") indice_re_pass = i;
		  } 
		  
		  //VALIDAR PASSWORD
		  if(form.elements[i].title=="password" || form.elements[i].title=="re_password"){
		    if(trim(form.elements[i].value)==""){
				alert("Error. Es necesario llenar el siguiente campo...");
				form.elements[i].value = "";
				form.elements[i].style.background=color_fondo_error;
				form.elements[i].focus();
				return false;
			}
			if(form.elements[i].title=="password") {indice_pass = i; valida_pass=1;}
			if(form.elements[i].title=="re_password") indice_re_pass = i;
		  } 
		 		  
		  //VALIDAR SELECTS
		  if(form.elements[i].title=="select"){
			  if(form.elements[i].value==0){
				alert("Error. Es necesario seleccionar...");
				form.elements[i].style.background=color_fondo_error;
				form.elements[i].focus();
				return false;
			  }
		  }
		  
		  
		  //VALIDAR FECHAS INICIO Y FIN
		  if(form.elements[i].title=="date_inicio" || form.elements[i].title=="date_fin"){
		    if(trim(form.elements[i].value)==""){
				alert("Error. Es necesario llenar el campo fecha...");
				form.elements[i].value = "";
				form.elements[i].style.background=color_fondo_error;
				form.elements[i].focus();
				return false;
			}
			if(form.elements[i].title=="date_inicio") {indice_date_inicio = i; valida_date=1;}
			if(form.elements[i].title=="date_fin") indice_date_fin = i;
		  } 
		  
		}// END FOR
		
		if(valida_pass==1){
			if(form.elements[indice_pass].value!=form.elements[indice_re_pass].value){
				alert("Error. Las claves no coinciden...");
				form.elements[indice_pass].style.background=color_fondo_error;
				form.elements[indice_re_pass].style.background=color_fondo_error;
				form.elements[indice_pass].focus();
				return false;
			}
		}//end if password
		
		if(valida_date==1){
			if(!fechaMayorOIgualQue(form.elements[indice_date_fin], form.elements[indice_date_inicio])){
				alert("Error. La fecha de inicio debe ser menor o igual a la fecha fin...");
				//form.elements[indice_date_inicio].style.background=color_fondo_error;
				//form.elements[indice_date_fin].style.background=color_fondo_error;
				form.elements[indice_date_inicio].focus();
				return false;
			}
			if(!fechaMayorOIgualQue(document.getElementById('date_limite'),form.elements[indice_date_inicio])){
				alert("Error. La fecha inicio debe ser menor a la fecha limite...");
				//form.elements[indice_date_inicio].style.background=color_fondo_error;
				form.elements[indice_date_inicio].focus();
				return false;
			}
			if(!fechaMayorOIgualQue(document.getElementById('date_limite'),form.elements[indice_date_fin])){
				alert("Error. La fecha fin debe ser menor a la fecha limite...");
				//form.elements[indice_date_fin].style.background=color_fondo_error;
				form.elements[indice_date_fin].focus();
				return false;
			}
		}// end if date
		
	}//end if idioma 1 = ESPANOL
	return true;
}

// onkeypress="return acceptNum(event)" aceptar solo numeros
var nav42 = window.Event ? true : false;
function acceptNum(evt){
	var key = nav42 ? evt.which : evt.keyCode;
	return (key <= 13 || (key >= 40 && key <= 41) || (key >= 45 && key <= 45)|| (key >= 48 && key <= 57));
}

function  solo_numeros(evt){
	var key = nav42 ? evt.which : evt.keyCode;
	return (key <= 13 || (key >= 48 && key <= 57));
}

function valida_ruc(evt){
	var key = nav42 ? evt.which : evt.keyCode;
	return (key <= 13 || (key >= 48 && key <= 57) || key==45);
}

function accion_enter(evt){
	var key = nav42 ? evt.which : evt.keyCode;
	return (key == 13);
}

function cadena_valido(evt){
	var key = nav42 ? evt.which : evt.keyCode;
	return (key != 92);
}

function decimales(evt){
	// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
	var key = nav42 ? evt.which : evt.keyCode;	
	//alert(key); para ver el numero del teclado
	return (key <= 13 || (key >= 48 && key <= 57) || key==44 || key==46);
}

function ValidaDatos1(form)
{
	form.txt_nombre.style.background="#FFFFFF";
	var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
if (trim(form.txt_nombre.value) == ""){
			alert ("Error. Es necesario llenar el titulo del reporte.");
			form.txt_nombre.focus(); 
			form.txt_nombre.style.background="#FFFFCC";
			return false;
		} 
		else{
			return true;
		}
		}
		function ValidaDatos2(form)
{
	form.txt_nombre.style.background="#FFFFFF";
	var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
if (trim(form.txt_nombre.value) == ""){
			alert ("Error. Es necesario llenar el titulo del reporte.");
			form.txt_nombre.focus(); 
			form.txt_nombre.style.background="#FFFFCC";
			return false;
		} 
		else{
			return true;
		}
		}
		function ValidaDatos3(form)
{
	form.txt_cliente.style.background="#FFFFFF";
	form.txt_cliente2.style.background="#FFFFFF";
	form.txt_servicio.style.background="#FFFFFF";
	form.txt_tit_acta.style.background="#FFFFFF";
	var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
if (trim(form.txt_cliente.value) == ""){
			alert ("Error. Es necesario llenar ...");
			form.txt_cliente.focus(); 
			form.txt_cliente.style.background="#FFFFCC";
			return false;
		} 
		else
		if (trim(form.txt_cliente2.value) == ""){
			alert ("Error. Es necesario llenar...");
			form.txt_cliente2.focus(); 
			form.txt_cliente2.style.background="#FFFFCC";
			return false;	
		}
		else
		if (trim(form.txt_servicio.value) == ""){
			alert ("Error. Es necesario llenar ...");
			form.txt_servicio.focus(); 
			form.txt_servicio.style.background="#FFFFCC";
			return false;	
		}
		else
		if (trim(form.txt_tit_acta.value) == ""){
			alert ("Error. Es necesario llenar ...");
			form.txt_tit_acta.focus(); 
			form.txt_tit_acta.style.background="#FFFFCC";
			return false;	
		}
		else
		{	return true;
		}
		}