jQuery.fn.instructionText = function(instruction, opts)
{
  
  var options = {
    instructionColor: "#AAAAAA",
    clearOnClick: jQuery(this).parents("form").find("input[type='submit']")
  };
  jQuery.extend(options, opts);
  
  instruction = instruction || "Enter value";
  instructionColor = options.instructionColor || "#AAAAAA";
  return this.each(function(){
    var defaultColor = jQuery(this).css("color");
    
    if (jQuery(this).val() == "")
    {
      jQuery(this)
        .css("color", options.instructionColor)
        .val(instruction);
    }
    
    jQuery(this)
      .focus(function(){
        if (jQuery(this).val() == instruction)
        {
          jQuery(this).css("color", defaultColor).val("");
        }
      })
      .blur(function(){
        if (jQuery(this).val() == "")
        {
          jQuery(this).css("color", options.instructionColor).val(instruction);
        }
      })
      .change(function(){
        var val = jQuery(this).val();
        if (val == instruction)
        {
          return;
        }
        if (val == "")
        {
          jQuery(this).css("color", options.instructionColor).val(instruction);
        }
        else
        {
          jQuery(this).css("color", defaultColor);
        }
      });
    var thisInstruction = jQuery(this);
    options.clearOnClick.click(function(){
      if (thisInstruction.val() == instruction)
      {
        thisInstruction.css("color", defaultColor).val("");
      }
    });
  });
};
