function JQuery (o no) para calcular Dígito Verificador.

Aquí va !

/*
 * Calcula digito verificador
 */
$.calculaDigitoVerificador = function (rut) {
	// type check
	if (!rut || !rut.length || typeof rut !== 'string') {
		return -1;
	}
	// serie numerica
	var secuencia = [2,3,4,5,6,7,2,3];
	var sum = 0;
	//
	for (var i=rut.length - 1; i >=0; i--) {
		var d = rut.charAt(i)
		sum += new Number(d)*secuencia[rut.length - (i + 1)];
	};
	// sum mod 11
	var rest = 11 - (sum % 11);
	// si es 11, retorna 0, sino si es 10 retorna K,
	// en caso contrario retorna el numero
	return rest === 11 ? 0 : rest === 10 ? "K" : rest;
};

Su uso es trivial: jQuery.calculaDigitoVerificador(“4678982″) retorna “2″

Igual pueden quitar el namespace “jQuery” de la declaración de la function, no afecta  !.

El código es más confiable bajarlo de aquí (calcula-digito.jquery.js).

$(‘#id’).onInterval(); Nuevo plugin JQuery v0.1 en beta.

Un nuevo plugin para el stack, lo comparto por acá aunque fue escrito hoy día así es que está en Beta, no ha sido probado exigentemente aún.

Sirve para ejecutar una función de callback pasado un intervalo de tiempo en milisegundos sobre un evento que se defina en un elemento.

“Puede ser usado o modificado a voluntad.”

Can be used to execute any callback function on an event after some interval in milliseconds.

(Lo coloque en español e ingles [my so so english :p ]) para que después de indexada en google, búsquedas en español o ingles llegen al post.

Fuente:

Update (02-04-2009): aquí (http://downloads.continuum.cl/downloads/projects/jquery-plugins/oninterval.jquery.js) está el código fuente.

Opciones:

Las opciones que pueden ser pasadas como objeto literal de javascript son:

  1. event. El evento en la forma jQuery. blur, focus, load, resize, scroll, unload, beforeunload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error. Solo ha sido probado con los eventos ‘change’ y ‘keyup’.
  2. interval. El intervalo en milisegundos que demorará la ejecución de la función de callback pasada.
  3. callback: Función que será invocada cuando pase le intervalo de tiempo. A la función le es pasada como argumento el valor del elemento (val() de jQuery) y el objeto evento del DOM. En una versión inicial se pasaba como primer elemento el objeto jQuery que representa el elemento al que se le ejecuta el evento, pero por una razón de fuerza mayor (que solo explicaré si me lo piden porque es extensa) tuve que dejar de hacerlo pasando el valor, no obstante se puede acceder al objeto jQuery en la función de callback.
  4. doNotExecOnRegexp. Expresión reglar que sera testeada contra el valor del elemento, si el test retorna true la funcion de callback no será invocada.
  5. onlyExecOnRegexp: Lo contrario a lo anterior, expresión regular contra la que se testea el valor, solo si el test retorna true entonces, se ejecuta la función de callback.
  6. charNum: Update (02-04-2009). Número de caracteres que deben digitarse antes de gatillar la funcion de callback. Valor default (1).

Nota: Si se especifican las dos expresiones regulares, se hacen ambos chequos, si alguno da false no se ejecuta la función de callback.

Ejemplo del uso:

En cuanto tenga un tiempo escribiré alguna página con ejemplos, por ahora solo la forma de uso.

En este caso se trata de un input text, en el que cuando se escribe texto y se deja de escribir por 2 segundos, se ejecuta la función de callback que en el ejemplo solo escribe en la consola del firebug, pero que puede ejecutar un request Ajax para hacer búsqueda, o lo que se les ocurra. Si el texto del input es ‘Ingrese el nombre’, o se escriben menos de 4 caracteres entonces no se ejecuta la función.

$('#filtro-nombre').onInterval({
    event: 'keyup',
    interval: 2000,
    charNum: 4,
    callback: function (value, ev) {
        console.log(value);
        // do some Ajax here...
    },
    doNotExecOnRegexp: /^Ingrese el nombre$/
});

Nota: No ha sido probado aún para Internet Explorer.

JQuery plugin for Google Map API.

El siguiente código es un plugin escrito[1] para integrar el portal web de un cliente con las API de Google Map[2].

Código Fuente.

/**
 * jquery.gmaps.js
 *
 * Mapas - GoogleMap API plugin for jquery
 *
 * @depends jquery.js
 *
 * @author    Jorge Rodriguez Suarez
 * @copyright (c) Continuum 2008.
 * @version   $Id$
 *
 * All rights reserved by Continuum.
 *
 */
$.gMap = {
	maps: {},
	mapNum: 1
};

$.fn.gMap = function(zoom, options) {

	// If we aren't supported, we're done
	if (!window.GBrowserIsCompatible || !GBrowserIsCompatible())
            return this;

	// Default values make for easy debugging
	var lat = $(this).attr("latitude") || 0;
	var lng = $(this).attr("longitude") || 0;
	if (!zoom) zoom = 15;

	// Sanitize options
	if (!options || typeof options != 'object') options = {};
	options.mapOptions = options.mapOptions || {};
	options.controls = options.controls || {};

	// Map all our elements
	return this.each(function() {
		// Make sure we have a valid id
		if (!this.id) this.id = "gMap" + $.gMap.mapNum++;
		// Create a map and a shortcut to it at the same time
		var map = $.gMap.maps[this.id] = new GMap2(this,
                    options.mapOptions);
		var latitude = parseFloat(lat);
		var longitude = parseFloat(lng);

        var marker = new GMarker(new GLatLng(latitude, longitude));
        var html = '<div style="padding-right:10px;">'
            + $(this).attr("title") + '</div>';

        // Center and zoom the map
       	map.setCenter(new GLatLng(latitude, longitude), zoom);
       	// add the title
        map.addControl(new GSmallMapControl());
        map.addOverlay(marker);

        GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(html);
        });

        marker.openInfoWindowHtml(html);

       	// Add controls to our map
       	for (var i = 0; i < options.controls.length; i++) {
	       	var c = options.controls[i];
	       	eval("map.addControl(new " + c + "());");
       	}
    });

};

Ejemplo del uso:

Un div con la clase ‘gmap’, y los atributos title, latitude y longitude. Además un link con la clase ‘btn-gmap’. A continuación el código.

<a href="javascript:void(0)" class="btn-gmap">Ver mapa</a>

<div style="display:none; border:1px solid gray; height: 300px;
width: 400px;" id="mapa1" class="gmap" title="Ejemplo de Mapa"
latitude="-33.443244"
longitude="-70.633434">
</div>

y por último el código que genera el evento sobre el link para mostrar el mapa en el div…

/**
 * gmaps.achs.js
 *
 * Mapas ACHS - GMaps integration
 *
 * @depends jquery.js, jquery.gmaps.js
 *
 * @author    Jorge Rodriguez Suarez
 * @copyright (c) Continuum 2008.
 * @version   $Id$
 *
 * All right reserved by Continuum.
 *
 */
$(document).ready(function() {
	$('.btn-gmap').click(function (e) {
		$(".gmap").fadeIn('slow').gMap(15, {
			mapOptions: ['enableScrollWheelZoom',
                            'enableDoubleClickZoom',
                            'enableDragging'],
			controls: ['GSmallMapControl',
                            'GMapTypeControl']
		});
		e.preventDefault();
	});
});

[1] Basado en un plugin de http://dyve.net/
[2] http://code.google.com/intl/es-CL/apis/maps/

Conócenos

Tel: +56 2 9341951

e-mail: info@continuum.cl

Copyright © 2010 Continuum Ltda.
Coronel Pereira 72. Oficina 903. Las Condes. Santiago. Chile