jQuery.fn.debug = function(regex) {
  return this.each(function(){
	var s='Debug info for: ' + this + "\r\n---";
 	var count=1;

	for(var i in this)
   	{
		if(!regex || (i.indexOf && i.indexOf(regex)!=-1))
		{
			s+= "\r\n" + i + " => " + this[i];
			count++;
		}

   		if(count > 10)
   		{
   			if(!confirm(s)) return;

   			count=0;
   			s='';
   		}
   	}

    if(count>0)
    	alert(s);
  });
};

jQuery.fn.dump = function(regex) {
	var s = '';

	for(var oi in this)
	{
		var o = this[oi];

		s+='Debug info for: ' + o + "\r\n---\r\n";

		for(var i in o)
			if(!regex || (i.indexOf && i.indexOf(regex)!=-1))
				s+= i + " => " + o[i] + "\r\n";
	}

	return s;
};