﻿(function($) {
    $.fn.textBoxWM = function(options) {
        // privzeti parametri
        var opts = $.extend({}, $.fn.textBoxWM.defaults, options);
        // za vsak element tipa text
        // ! smiselno razširiti še na textarea
        this.each(function() {
            $el = $(this);
            if ($el.is('input:text') || $el.is('textarea')) {
                // pridobim metadata, če obstajajo
                //var eopts = $.meta ? $.extend({}, opts, $el.data()) : opts;
                var eopts = $.extend({}, opts, $el.data());
                // inicializiram textbox
                $el.removeClass(eopts.onFocusCSSClass);
                $el.addClass(eopts.onBlurCSSClass);
                // ustrezno spremenim vrednost textboxa
                var tbText = $.trim($el.val());
                if (tbText == "") {
                    $el.val(eopts.defaultText);
                }
                else {
                    $el.val(tbText);
                }
                // dodam dogodek ob fokusu elementa
                $el.focus(function() {
                    if ($(this).val() == eopts.defaultText) {
                        $(this).val("");
                    }
                    else {
                        $(this).select();
                    }
                    $(this).addClass(eopts.onFocusCSSClass);
                    $(this).removeClass(eopts.onBlurCSSClass);
                });
                // dodam dogodek ob bluru elementa
                $el.blur(function() {
                    if ($(this).val() == "") {
                        $(this).val(eopts.defaultText);
                    }
                    $(this).removeClass(eopts.onFocusCSSClass);
                    $(this).addClass(eopts.onBlurCSSClass);
                });
            }
        });
        // ne prekini veriženja
        return this;
    };
    // privzete nastavitve
    $.fn.textBoxWM.defaults = {
        defaultText: '',
        onFocusCSSClass: 'tbSIfocus',
        onBlurCSSClass: 'tbSIlost'
    };
})(jQuery);





