/**
 * This jQuery plugin allows switching of text values or class names on text fields
 *
 * @author Dwayne Charrington
 * @version 0.2
 * @param {Object} options, swap can take two values; "text" or "class"
 * @return {Object} jQuery Object
 */
(function($) {
    
    // Function name: Dwaynefield
    $.fn.dwaynefield = function(options) {
        
        // Options array
        // Default swap type is text, but can also be class.
        // Text means text values are only swapped
        // Class means that classes are swapped
        var options = $.extend( {swap: 'text'}, options);
    
        this.each(function() {
            
            var field        = $(this);
            var defaultValue = field.val();
            var currentClass = field.attr('class');
            
            switch(options.swap) {
            
                case 'text':
                    $(field).focus( function () {
                        
                        if(this.value == defaultValue) {
                            this.value = '';
                        }
                        
                        if(this.value == defaultValue) {
                            this.value = '';
                        }
                        
                    });       
            
                    $(field).blur( function () {
                    
                        if(this.value == "") {
                            this.value = defaultValue;
                        }
                        
                    });
                break;
                
                case 'class':
                    
                    $(field).focus( function () {
                    
                        if($(field).attr("class") == currentClass) {
                            $(field).attr('class', 'blurredField');
                        }
                        
                    });   

                    $(field).blur( function () {
                    
                        if($(field).attr('class') != currentClass && field.value == "") {
                            $(field).attr('class', currentClass);
                        }
                        
                    });                         
                break;
                
            }
        
        });
    
        // allow jQuery chaining
        return this;
    
    };

})(jQuery);
