/*
 * ¡ATENCION! ¡ATENCION! ¡ATENCION!
 * ¡ATENCION! ¡ATENCION! ¡ATENCION!
 * ¡ATENCION! ¡ATENCION! ¡ATENCION!
 * 
 * 31 de Diciembre, 2009
 * Todo este script es obsoleto, todo el script fue reemplazado por "jquery.sah.js"
 * Se deja este script por compatibilidad con versiones anteriores de sahib framework.
 */

jQuery.extend( {
	sahfw: {
	    ajaxUrl: function(sController, sAction)
	    {
		    return this.actionUrl(sController, sAction) + '&sahibAjaxMode=1';
	    },
	    actionUrl: function(sController, sAction)
	    {
		    return SAHIB_APP_URL + '/?' + SAHIB_GETKEY_CONTROLLER + '=' + sController + '&'
		        + SAHIB_GETKEY_ACTION + '=' + sAction;
	    },
	    
	    /**
		 * Devuelve true si la cadena contiene solo digitos, de lo contrario
		 * devuelve false
		 * 
		 * @return bool
		 */
	    hasOnlyDigits: function(sString)
	    {
		    return(sString.match(/\D/) == null);
	    },
	    
	    /**
		 * Devuelve true si la cadena solo contiene caracteres alfanumericos, de
		 * lo contrario devuelve false Si bIncludeEnie = true, incluye el
		 * caracter ñ
		 * 
		 * @param bIncludeEnie
		 * @return bool
		 */
	    matchAlphanum: function(sString, bIncludeEnie)
	    {
		    var Regx = new RegExp('[^a-z0-9' + (bIncludeEnie ? 'ñ' : '') + ']', 'i');
		    return(sString.match(Regx) == null);
	    },
	    
	    /**
		 * Reemplaza los espacios multiples por un solo espacio
		 * 
		 * @return string
		 */
	    fixWhiteSpaces: function(sString)
	    {
		    return jQuery.trim(sString).replace(/ +/g, ' ');
	    },
	    
	    checkDate: function(d, m, y)
	    {
		    d = parseInt(d, 10);
		    m = parseInt(m, 10);
		    y = parseInt(y, 10);
		    return !(isNaN(d) || isNaN(m) || isNaN(y)
		        || (!(y % 4 == 0 && (y % 100 != 0 || y % 400 == 0)) && m == 2 && d > 28)
		        || (d < 1 || m < 1 || y < 1000 || d > 31 || m > 12 || y > 9999)
		        || ((m == 4 || m == 6 || m == 9 || m == 11) && d > 30) || (m == 2 && d > 29));
	    },
	    
	    strim: function(sCssSelector)
	    {
		    $(sCssSelector).val(this.fixWhiteSpaces($(sCssSelector).val()));
	    }
	}
});

/*
 * Obsoleto (31 de Diciembre, 2009)
 * La configuración de AJAX se realiza en el archivo de plugin "jquery.sah.js"
 */
/*$.ajaxSetup( {
    cache: false,
    type: 'POST',
    dataType: 'json',
    error: function(Xhr, sStatusText, ExceptionThrown)
    {
	    if(Xhr.responseText.indexOf('SAHIB_AJAX_MESSAGE:') == 0)
	    {
		    alert(Xhr.responseText.replace('SAHIB_AJAX_MESSAGE:', ''));
	    }
    }
});*/