(function($) {
$.fn.dynamicField = function(o) {
	o = $.extend({
        defaultValue: ''
    }, o || {});
	
	jQuery(this).each(function() {
		dynamicFields.register(jQuery(this).attr("id"),o);
		jQuery(this).focus(dynamicFields.focus).blur(dynamicFields.blur);
		dynamicFields.doBlur(jQuery(this).attr("id"));
		
		jQuery('form').submit(dynamicFields.resetFields);
	})
};
})(jQuery);

dynamicFields = {
	defaultValues: new Array(),
	register: function(id,o)
	{
		el = jQuery('#'+id);
		dynamicFields.defaultValues[id]=o.defaultValue==''?el.val():o.defaultValue;		
	},
	doBlur: function(id)
	{
		obj = jQuery('#'+id);
		
		
		if(obj.val()=='' || obj.val()==dynamicFields.defaultValues[id]) 
		{
			obj.val(dynamicFields.defaultValues[id]);
			obj.css('color', '#656565');
		}
	},
	doFocus: function(id)
	{
		obj = jQuery('#'+id);
		if(obj.val()==dynamicFields.defaultValues[id]) 
		{
			obj.val('');
			obj.css('color', '#000000');
		}
	},
	blur: function()
	{
		dynamicFields.doBlur(jQuery(this).attr("id"))
	},
	focus: function()
	{
		dynamicFields.doFocus(jQuery(this).attr("id"))
	},
	resetFields: function()
	{
		jQuery(".dynamicField").each(function() {
			el = jQuery(this);
			
			if(el.val()==dynamicFields.defaultValues[el.attr('name')])
			{
				el.val('');
			}
		})
		
	}
}

jQuery(function() {
	jQuery('.dynamicField').dynamicField();	
	jQuery('.dynamicKeyword').dynamicField({defaultValue: 'Stock # or Keywords'})
})