jQuery.fn.vibrate = function() {
	
    this.each(function(intI) {
		var jNode = $(this);
		var blnVibrate = false;
		var intLeft = parseInt(jNode.css('left'));
		var intTop = parseInt(jNode.css('top'));
		
		var fnUpdatePosition = function() {
			var intCurrentLeft = parseInt(jNode.css('left'));            
			var intCurrentTop = parseInt(jNode.css('top'));

			if (blnVibrate) {
				if (Math.random() > .5) {
					if (intCurrentTop > intTop) {
						intCurrentTop = (intTop - 1);
					} else {
						intCurrentTop = (intTop + 1);
					}                    
				} else {
					if (intCurrentLeft > intLeft) {
						intCurrentLeft = (intLeft - 1);
					} else {
						intCurrentLeft = (intLeft + 1);
					}                    
				}
				
				setTimeout(fnUpdatePosition, 40);                
			} else {
				intCurrentLeft = intLeft;
				intCurrentTop = intTop;                
			}

			jNode.css('top', (intCurrentTop + 'px'));            
			jNode.css('left', (intCurrentLeft + 'px'));
		}

		jNode.parent().mouseover(function() {	
			blnVibrate = true;			
			
			fnUpdatePosition();
		});
		
		jNode.parent().mouseout(function() {	
			blnVibrate = false;
		});        
	});
    
	return (this);
}
