﻿// FUNCIONES UTILITARIAS EN JAVASCRIPT 

// Función para eliminar un registro de los catalogos
function  Eliminar(formName,id, mensaje) {
    if(confirm(mensaje)) {
       var frm = document.forms[formName];
       for( var i = 0; i < frm.length; i++ ) {
		    var ele = frm.elements[i];
		    if( ele.type == "hidden" && ele.id.indexOf("hdfKey") != -1) {
		        ele.value = id;
		        frm.submit();
		        return;
		    }
       }
	}
}

// Función para validar que los caracteres ingresados en un input
// sean sólo números.
function SoloNumeros(e) 
{ 
tecla = (document.all)?e.keyCode:e.which; 
if (tecla==8) return true; 
patron = /[1234567890]/;
te = String.fromCharCode(tecla); 
return patron.test(te);
}

// Función para validar que los caracteres ingresados en un input
// sean sólo números y guión
function SoloNumerosyGuion(e) 
{ 
tecla = (document.all)?e.keyCode:e.which; 
if (tecla==8 || tecla==45) return true; 
patron = /[1234567890]/;
te = String.fromCharCode(tecla); 
return patron.test(te);
}

// Función para validar que los caracteres ingresados en un input 
// sean números y puntos.
function NumerosDecimales(e) 
{ 
tecla = (document.all)?e.keyCode:e.which; 
if (tecla==8) return true; 
patron = /[1234567890.]/;
te = String.fromCharCode(tecla); 
return patron.test(te);
}

// Funciones para validar el formato de las fechas
// Formato Europeo: (dd/mm/yyyy)
function EW_checkeurodate(source, args)
    {
    var object_value = args.Value;
    if (args.Value.length == 0){
        args.IsValid =  true;
		return true;
    }

	var isplit = object_value.indexOf('/');

	if (isplit == -1)
	{
		isplit = object_value.indexOf('.');
	}

	if (isplit == -1 || isplit == args.Value.length){
		args.IsValid =  false;
		return false;
	}
    var sDay = object_value.substring(0, isplit);

	var monthSplit = isplit + 1;

	isplit = object_value.indexOf('/', monthSplit);

	if (isplit == -1)
	{
		isplit = object_value.indexOf('.', monthSplit);
	}

	if (isplit == -1 ||  (isplit + 1 )  == args.Value.length){
		args.IsValid =  false;
		return false;
	}
    var sMonth = object_value.substring((sDay.length + 1), isplit);

	var sYear = object_value.substring(isplit + 1);

	if (!EW_checkint(sMonth)) {
		args.IsValid =  false;
		return false;
	}
	else
	if (!EW_numberrange(sMonth, 1, 12)) {
		args.IsValid =  false;
		return false;
	}
	else
	if (!EW_checkint(sYear)) {
		args.IsValid =  false;
		return false;
	}
	else
	if (!EW_numberrange(sYear, 0, null)) {
		args.IsValid =  false;
		return false;
	}
	else
	if (!EW_checkint(sDay)) {
		args.IsValid =  false;
		return false;
	}
	else
	if (!EW_checkday(sYear, sMonth, sDay)) {
		args.IsValid =  false;
		return false;
	}
	else{
		args.IsValid =  true;
		return true;
	}
    }

function EW_checkday(checkYear, checkMonth, checkDay)
    {

	var maxDay = 31;

	if (checkMonth == 4 || checkMonth == 6 ||
			checkMonth == 9 || checkMonth == 11)
		maxDay = 30;
	else
	if (checkMonth == 2)
	{
		if (checkYear % 4 > 0)
			maxDay =28;
		else
		if (checkYear % 100 == 0 && checkYear % 400 > 0)
			maxDay = 28;
		else
			maxDay = 29;
	}

	return EW_numberrange(checkDay, 1, maxDay); 
    }

function EW_checkinteger(src, args)
	{
	args.IsValid = EW_checkint(args.Value);
	}


function EW_checkint(object_value)
    {
    if (object_value.length == 0)
        return true;
	
	var decimal_format = ".";
	var check_char;

	check_char = object_value.indexOf(decimal_format)
    if (check_char < 1)
	return EW_checknum(object_value);
    else
	return false;
    }

function EW_numberrange(object_value, min_value, max_value)
    {
    if (min_value != null)
	{
        if (object_value < min_value)
		return false;
	}

    if (max_value != null)
	{
	if (object_value > max_value)
		return false;
	}
	
    return true;
    }

function EW_checknumber(src,args)
    {
    if (args.Value.length == 0) {
        args.IsValid = true;
        return true;
        }

	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;
	var object_value = args.Value;
	check_char = start_format.indexOf(object_value.charAt(0))
	if (check_char == 1)
	    decimal = true;
	else if (check_char < 1) {
		args.IsValid = false;
		return false;
	}
        
	for (var i = 1; i < args.Value.length; i++)
	{
		check_char = number_format.indexOf(object_value.charAt(i))
		if (check_char < 0) {
			args.IsValid = false;
			return false;
		}
		else if (check_char == 1)
		{
			if (decimal) {
				args.IsValid = false;
				return false;
			}
			else
				decimal = true;
		}
		else if (check_char == 0)
		{
			if (decimal || digits)	
				trailing_blank = true;
		}
	    else if (trailing_blank) {
    		args.IsValid = false;
			return false;
		}
		else
			digits = true;
	}	

    args.IsValid = true;
    return true;
    }
    
function EW_checknum(object_value)
    {
    if (object_value.length == 0) {
        return true;
        }

	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;
	
	check_char = start_format.indexOf(object_value.charAt(0))
	if (check_char == 1)
	    decimal = true;
	else if (check_char < 1) {
		return false;
	}
        
	for (var i = 1; i < object_value.length; i++)
	{
		check_char = number_format.indexOf(object_value.charAt(i))
		if (check_char < 0) {
			return false;
		}
		else if (check_char == 1)
		{
			if (decimal) {
				return false;
			}
			else
				decimal = true;
		}
		else if (check_char == 0)
		{
			if (decimal || digits)	
				trailing_blank = true;
		}
	    else if (trailing_blank) {
			return false;
		}
		else
			digits = true;
	}	

    return true;
    }


    function openTienda(varUrl, varWidth, varHeight) { 
            var parameter = 'resizable=no,width=' + varWidth +',height=' + varHeight +',status=no,location=no,toolbar=no,scrollbars=no';
            searchWin = window.open(varUrl,'searchWin',parameter);
    }
   