<!--
    jQuery.fn.center = function() {
        this.css("top", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + "px");
        this.css("left", ($(window).width() - this.width()) / 2 + $(window).scrollLeft() + "px");
        return this;
    }
    
    
    jQuery.fn.removeBackgroundColor = function () {
        this.css('background-color', '');
    }
    
    jQuery.fn.setBackgroundColor = function () {
        this.css('background-color', 'silver');
    }

    jQuery.fn.enable = function (status) {
        if(status) this.attr('disabled', '');
        else this.attr('disabled', 'disabled');
    }

    jQuery.fn.sort = function() {
        return this.pushStack([].sort.apply(this, arguments), []);
    }

    jQuery.fn.sortOptions = function(sortCallback) {
        jQuery('option', this).sort(sortCallback).appendTo(this);
        return this;
    }

    jQuery.fn.sortOptionsByText = function() {
        var byTextSortCallback = function(x, y) {
            var xText = jQuery(x).text().toUpperCase();
            var yText = jQuery(y).text().toUpperCase();
            //return (xText < yText) ? -1 : (xText > yText) ? 1 : 0;
            return xText.toString().localeCompare(yText.toString());	
        };
        return this.sortOptions(byTextSortCallback);
    }

    jQuery.fn.sortOptionsByValue = function() {
        var byValueSortCallback = function(x, y) {
            var xVal = jQuery(x).val();
            var yVal = jQuery(y).val();
            return (xVal < yVal) ? -1 : (xVal > yVal) ? 1 : 0;
        };
        return this.sortOptions(byValueSortCallback);
    }
    //usage: $("#controlId").sortOptionsByText();
        
//-->
