;(function($)
{
	
$.fn.extend(
{
	autoclean: function(options)
    {
		return this.each(function() 
        {
			new $.AutoClean(this, options);
		});
	}
});

$.AutoClean = function(input, options)
{
    // Create a link to self
    var self = input[0];
    input = $(input);

    options = $.extend(
    {
        color: '#999999',
        onFocus: function(){},
        onBlur: function(){},

        onClean: function(){},
        onRestore: function(){}

    }, options);

    var temp = [];
    temp['color'] = input.css('color');
    temp['value'] = input.val();

    if(options.color)
    {
        input.css('color', options.color);
    }
    
    input.focus(function()
    {
        if(input.val() == temp['value'])
        {
            input.val('');
            input.css('color', temp['color']);
            options.onClean.apply(this);
        }

        options.onFocus.apply(this);
    })
    .blur(function()
    {
        if(input.val() == "")
        {
            input.val(temp['value']);
            input.css('color', options.color);
            options.onRestore.apply(this);
        }

        options.onBlur.apply(this);

    });
};

})(jQuery);