/***********************************************************************************************/
var err_msg = "";
var err_campo = "";
var vacio="";


function confirmarEliminacion(){
  if(confirm("Seguro desea eliminar el registro")){
    return true;
  }else{
    return false;
  }
}

// funcion para validar los campos tipo fecha
// delegada por un Customvalidator desde asp.net
function validarFormatoFecha(source, arguments)
{
    err_msg = ""
    if(arguments.Value != ""){
        validarDateValue(arguments.Value,"fecha no valida");
    }else{
        arguments.IsValid = true;
        return;
    }
    if(showMsg()){
        arguments.IsValid = true;
        return;
    }
    arguments.IsValid = false;
    return;
}




/**esta funcion acumula los mensajes enviados desde la aplicacion*/
function addMsg(pMsg) {	
	if (pMsg != "" && pMsg+"" != "undefined") {
		err_msg=err_msg+pMsg+"\n";
	}
}


function showMsg() {
/**muestra el mensaje y ejecuta el alert*/
        if (err_msg!="") {
                //alert("Verifique la siguiente información \n\n"+err_msg);
                err_msg="";
                err_campo="";
                return false;
        }
        else{return true;}
}

/**esta funcion guarda el primer que tiene error para poner el foco*/
 function ponerCampo(pcampo){
	if (err_campo == ""){
		err_campo = pcampo;
		err_campo.focus();
		/**err_campo.select();*/
	}
 }

/***************************************************************************************************/
 /*esta funcion elimina los espacios a la derecha*/
function rtrim(pcadena) {
    pcadena += "";
    for (var i = pcadena.length -1; (i >= 0) && ((pcadena.charAt(i) == ' ')); i--)
        ;
    return pcadena.substring(0, i+1);
}

/*esta funcion elimina espacios a la izquierda*/
function ltrim(pcadena) {
    pcadena += "";
    for (var i = 0; (i < pcadena.length) && ((pcadena.charAt(i) == ' ')); i++)
        ;
    if (i == pcadena.length) {
        return "";
    }
    return pcadena.substring(i);
}

/*esta funcion elimina espacion a ambos lados*/
function trim(pcadena) {
    return ltrim(rtrim(pcadena));
}

/***************************************************************************************************/
var expresionEnteros1 = new RegExp("(\,\,)|([0-9]{4}\,)|(^[0]{0,}\,)|([\,]+[0-9]{0,2}[\,$])");
var expresionEnteros2 = new RegExp("((\\[?)[0-9]\\,[0-9]{3}(\\]?)$)|(^[0-9]+)$")

/*function validarEntero(number) {
//valida que el número sea entero
    number = trim(number);
    return (!expresionEnteros1.test(number) && expresionEnteros2.test(number));
}*/

/**Esta funcion valida una fecha */
/** Recibe el formato de Dia/Mes/Ano*/
function validarCampoDate(pcampo, pmsg){
        if (!validarDate(pcampo.value)){
		addMsg(pmsg);
		ponerCampo(pcampo);
	}
}


/**Esta funcion valida una fecha */
/** Recibe el formato de Dia/Mes/Ano*/
function validarDateValue(value, pmsg){
        if (!validarDate(value)){
		addMsg(pmsg);
	}
}



/**Esta funcion valida una fecha opcional*/
function validarCampoDateOP(pfecha, pmsg){
	if (pfecha.value != ""){
		validarCampoDate(pfecha,pmsg);
	}
}



/**Esta funcion valida una fecha y retorna falso o verdadero*/
function validarDate(pdate)   {
  var date = pdate;
  date = date.split(' ').join('');
  var FP = date.split("/");
  if (FP.length != 3) {
	  return false;
  }
  return isSplitDateYMD(FP[2],FP[1],FP[0]);
}


/**Esta funcion divide una fecha para su comparacion con formato de fecha correcta*/
function isSplitDateYMD(year,month,day)  {

  var date = new Date(year,month-1,day);
  if (!validarEntero(day) || !validarEntero(month) || !validarEntero(year)) {
     return false;
  }
  
  return ((date.getFullYear() == year) && ((date.getMonth()+1) == month) &&  date.getDate() == day);
}

/*
* ----------- Función para validar caracteres no validos la inyección de HTML y SQL --------------
* Author: 
*/
function validarCaracteres(campo, caracteres) {
    var indy = 0;
    var tam = caracteres.length;
    for (var i = 0; i < tam; i++) {
        indy += campo.value.indexOf(caracteres.charAt(i));
    }
    if (!(indy == -tam)) {
        campo.focus();
        return false;
    }
    return true;
}

function validarEntero(dato) {
    var longitud = dato.length;
    var valido = "0123456789";
    for (var i = 0; i <= longitud; i++) {
        if (valido.indexOf(dato.charAt(i)) == -1) {
            return false;
        }
    }
    return true;
}
var caracteresalf = "abcdefghijklmnopqrstuvwxyz";
var caracteres="'\"><";
var mensajeCaracteres="Por favor no ingrese ninguno de los siguientes caracteres: \' \' , \" \" , \< , \>";
var fechaHoy; //Para validar fechas con respecto al dia de hoy