﻿function errorAlta(mje){
    getElement('mjeErrorAlta').innerHTML = mje;
}

function errorBaja(mje){
    getElement('mjeErrorBaja').innerHTML = mje;
}

function errorEdicion(mje){
    getElement('mjeErrorEdicion').innerHTML = mje;
}

function mostrarYOcultar(el1,el2){
	mostrarElem(el1);
	ocultarElem(el2);	
}

function getElement(name) 
{
	if (document.all) 
	{
		return document.all(name);
	}
	return document.getElementById(name);
}

function getAbsoluteElementPosition(element) {
    if (typeof element == "string") element = getElement(element)
    if (!element) return { top:0,left:0 };
    var y = 0;var x = 0;
    while (element.offsetParent) {
        x += element.offsetLeft;
        y += element.offsetTop;
        element = element.offsetParent;
    }
    return {top:y,left:x};
}

function mostrarElem(elem){
    getElement(elem).style.display = "";
}
function ocultarElem(elem){
    getElement(elem).style.display = "none";
}

function getYScroll(){

	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	return yScroll;
}

function posSelect(sel,identificador){	
    var cant = sel.length;var i=0;    
    while (i<cant){if (sel.options[i].value == identificador){return i;}i++;}
}

function verificarSelect(campo,valor){
    if (valor==-1){
        return " - Por favor, elija una opción para el campo "+campo+".<br />";
    }
    return "";
}

function validarSelect(valor){
    if (valor==-1){
        return false;
    }
    return true;
}

function verificarRangoEntero(campo,valor,minimo,maximo){
    if (validarEntero(valor)){
        valor = parseInt(valor);
        if (!((valor>minimo) && (valor<maximo))) {
            return " - El campo "+campo+" no esta dentro del rango permitido.\n";
        }
    }
    else {
        return " - El campo "+campo+" debe ser numerico.\n";
    }
    return "";
}


function verificarFecha(campo,valor,obligatorio)
{ 
	if (obligatorio){
		if (esVacio(valor)){
			return " - El campo "+campo+" es obligatorio.\n";
		}
	}
   
   if (valor)
   {  
      borrar = valor;
      if ((valor.substr(2,1) == "/") && (valor.substr(5,1) == "/"))
      {      
         for (i=0; i<10; i++)
	     {	
            if (((valor.substr(i,1)<"0") || (valor.substr(i,1)>"9")) && (i != 2) && (i != 5))
			{
               borrar = '';
               break;  
			}  
         }
	     if (borrar)
	     { 
	        a = valor.substr(6,4);
		    m = valor.substr(3,2);
		    d = valor.substr(0,2);
		    if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31))
		       borrar = '';
		    else
		    {
		       if((a%4 != 0) && (m == 2) && (d > 28))	   
		          borrar = ''; // Año no viciesto y es febrero y el dia es mayor a 28
			   else	
			   {
		          if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29)))
			         borrar = '';	      				  	 
			   }  // else
		    } // fin else
         } // if (error)
      } // if ((valor.substr(2,1) == "/") && (valor.substr(5,1) == "/"))			    			
	  else
	     borrar = '';
	  if (borrar == '')
	     return " - El campo "+campo+" esta mal formado.\n";	     
   } // if (valor)   
   return "";
}


function verificarHora(campo,valor,obligatorio)
{
	if (obligatorio){
		if (esVacio(valor)){
			return " - El campo "+campo+" es obligatorio.\n";
		}
	}      
  
    var expr = /^(0[1-9]|1\d|2[0-3]):([0-5]\d)$/
    if ((!expr.test( valor ))&&(!esVacio(valor))) 
    { 
        return " - El campo "+campo+" esta mal formado.\n";
    }
    return "";
}

//////////////////////////////////////////////////////////////////////////////////////


function verificarCadena(campo,cadena,obligatorio){
	if (obligatorio){
		if (esVacio(cadena)){
			return " - El campo "+campo+" es obligatorio.<br />";
		}
	}
	
	if(!validarCadena(cadena))
    {
	    return " - El campo "+campo+" esta mal formado.<br />";
	}

	return "";
}

function validarCadena(cadena){
	var alfa = "'\"";
	for(i=0;i<cadena.length;i++)
	{    
		if(alfa.indexOf(cadena.charAt(i))!=-1)
		{
			return false;
		}
	}	
	return true;
}

function verificarEntero(campo,valor,obligatorio){
	if (obligatorio){
		if (esVacio(valor)){
			return " - El campo "+campo+" es obligatorio.<br />";
		}
	}
	
	var expr = /^(?:\+|-)?\d+$/
    if ((!expr.test( valor ))&&(!esVacio(valor))) {
		return " - El campo "+campo+" esta mal formado.<br />";
	}
	return "";
}

/*acepta entero o reales separados por '.' */
function verificarFlotante(campo,valor,obligatorio){
	if (obligatorio){
		if (esVacio(valor)){
			return " - El campo "+campo+" es obligatorio.\n";
		}
	}
	var expr = /(^(?:\+|-)?\d+\.\d*$|^(?:\+|-)?\d+$)/
    if ((!expr.test( valor ))&&(!esVacio(valor))) {
		return " - El campo "+campo+" debe ser un numero real.\n";
	}
	return "";
}

function verificarImagen(campo,cadena,obligatorio){
	if (obligatorio){
		if (esVacio(cadena)){
			return " - El campo "+campo+" es obligatorio.<br />";
		}
	}
	if ((cadena.indexOf('\\',0)==-1)&&(!esVacio(cadena))){
		return " - El campo "+campo+" esta mal formado.<br />";
	}
	var ext=cadena.substring(cadena.lastIndexOf(".")+1,cadena.length).toLowerCase();
	if ((ext!="jpg")&&(ext!="jpeg")){
		return " - El campo "+campo+" debe ser una imagen de extension .jpg o .jpeg.<br />";
	}
	return "";
}

function verificarMail(campo,cadena,obligatorio){
	if (obligatorio){
		if (esVacio(cadena)){
			return " - El campo "+campo+" es obligatorio.<br />";
		}
	}
	
	if(cadena.indexOf('@',0)==-1 || cadena.indexOf(';',0)!=-1
	|| cadena.indexOf(' ',0)!=-1 || cadena.indexOf('/',0)!=-1
	|| cadena.indexOf(';',0)!=-1 || cadena.indexOf('<',0)!=-1
	|| cadena.indexOf('>',0)!=-1 || cadena.indexOf('*',0)!=-1
	|| cadena.indexOf('|',0)!=-1 
	|| cadena.indexOf('&',0)!=-1 || cadena.indexOf('$',0)!=-1
	|| cadena.indexOf('!',0)!=-1 || cadena.indexOf(':',0)!=-1) 
	{ 
		return "El campo "+campo+" esta mal formado.\n";
	}
	
	return "";
}

function verificarApeyNom(campo,cadena,obligatorio)
{
    if (obligatorio)
    {
		if (esVacio(cadena))
		{
			return " - El campo "+campo+" es obligatorio.\n";
		}
		if(!validarApeyNom(cadena))
        { 
	
		    return " - El campo "+campo+" no permite numeros ni caracteres especiales.\n";
		}
	}
    return "";
}

function verificarNomUser(campo,cadena,obligatorio)
{
    if (obligatorio)
    {
		if (esVacio(cadena))
		{
			return " - El campo "+campo+" es obligatorio.\n";
		}
		if(!validarNomUser(cadena))
        { 
	
		    return " - El campo "+campo+" no permite espacios ni caracteres especiales.\n";
		}
	}
    return "";
}

function verificarAlfanumerico(campo,cadena,obligatorio)
{
    if (obligatorio)
    {
		if (esVacio(cadena))
		{
			return " - El campo "+campo+" es obligatorio.<br />";
		}
		if(!validarAlfanumerico(cadena))
        { 
	
		    return " - El campo "+campo+" esta mal formado.<br />";
		}
	}
    return "";
}

function validarNomUser(valor)
{
    var alfanum = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789Ññ";
    for(i=0;i<valor.length;i++)
    {    
        if(alfanum.indexOf(valor.charAt(i))==-1)
        {
            return false;
        }
    }
   return true;  
}

function validarApeyNom(valor)
{
    var alfa = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ";
    alfa+=String.fromCharCode(193,201,205,209,211,218,225,233,237,241,243,250);   
    for(i=0;i<valor.length;i++)
    {    
        if(alfa.indexOf(valor.charAt(i))==-1)
        {
            return false;
        }
    }
   return true;
}

function validarAlfanumerico(valor)
{
    var alfa = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.;,()- !º?¿*+/<>";
    alfa+=String.fromCharCode(193,201,205,209,211,218,225,233,237,241,243,250);   
    for(i=0;i<valor.length;i++)
    {    
        if(alfa.indexOf(valor.charAt(i))==-1)
        {
            return false;
        }
    }
   return true;
}

function validarEntero(valor){
     valor = parseInt(valor)
     if (isNaN(valor)) {
        return false;
     }
     else {
        return true;
     }
}

function validarFlotante(valor){
	var valido=true;
	//permito numeros, caracter '.'
	for (i = 0; i < valor.length; i++)	{
		if (!(  ((valor.charAt(i) >= "0") && (valor.charAt(i) <= "9")) || (valor.charAt(i) == "."))){
			valido = false;
			break;
		}
	} 
	return valido;
} 

function esVacio(cadena)
{
    var valido=false;
    var mistr;
    mistr="";
	for ( i = 0; i < cadena.length; i++ ) 
	{
        if ( cadena.charAt(i) != " " ) 
        {
            mistr= mistr + cadena.charAt(i);
        }           
    }
    
  if (cadena.length==0 || mistr.length==0)
    {
        valido=true;
    }
    return valido;
 }   

function isset(variable_name) {
    try {
         if (typeof(eval(variable_name)) != 'undefined')
         if (eval(variable_name) != null)
         return true;
     } catch(e) { }
    return false;
}



