/*
 * inputLabel 1.1.1 - jQuery plugin for creating forms which use their input as the label.
 * http://www.alexanderdickson.com/projects/jquery-plugin-newwindow/
 *
 * Copyright (c) 2009 Alex Dickson
 * Licensed under the MIT licenses.
 * See website for more info.
 *
 * Date: 2009-08-22 09:03:00 +1000 (Sunday, 23 Aug 2009)
 */

(function($){  
  $.fn.inputLabel = function(options) {   
    var defaults = {
		defaultLabel: '',
		dullClass: 'dulled',
        labelClass: 'in-use'		
	};	
	var options = $.extend(defaults, options);   
    return this.each(function() {  
	   var obj = $(this);	   
       if ( ! obj.is(':text, :password, textarea')) {
           return;
       };
       if (options.defaultLabel == '' && obj.attr('id')) {
           var inputId = obj.attr('id');
           var inputLabel = $('label[for=' + inputId + ']').addClass(options.labelClass).text();
       } else {
           var inputLabel = options.defaultLabel;
       };
	   if ( ! obj.val() || obj.val() === inputLabel) {
	   		obj.addClass(options.dullClass);
			obj.val(inputLabel);
		};		
		obj.focus(function() {
			if (obj.val() == inputLabel) {
				obj.removeClass(options.dullClass);
				obj.val('');
			};	
		});
		obj.blur(function() {		
			if ($.trim(obj.val()) == '') {
				obj.addClass(options.dullClass);
				obj.val(inputLabel);
			};
		});	   
	 });
  };  
 })(jQuery); 
