﻿//BDT jquerry plugins


//expander
jQuery.fn.expander = function(options) {
    var defaults = {
        speed: 'slow'
    },

	opts = jQuery.extend(defaults, options);

    var getCookie = function(key) {
        if (jQuery.cookie)
            return jQuery.cookie(key);
        return false;
    };
    var setCookie = function(key, value) {
        if (jQuery.cookie)
            jQuery.cookie(key, value)
    };

    return this.each(function() {
        var selector = jQuery(this).attr('detail'),
			cookiename = jQuery(this).attr('cookie'),
			collapse = jQuery(selector),
			doshow = false,
			futurestate,
			clickable;
        if (cookiename) doshow = (getCookie(cookiename) == 'true');
        if (!doshow) collapse.hide();
        futurestate = doshow;
        jQuery(this)
			.css('cursor', 'pointer')
			.css('cursor', 'hand')
			.click(function() {
			    futurestate = !futurestate;
			    collapse.toggle(opts.speed);
			    clickable = jQuery(this);
			    clickable.children('.collapsed').toggle();
			    clickable.children('.expanded').toggle();
			    setCookie(cookiename, futurestate);
			});
        if (!doshow) {
            jQuery(this).children('.expanded').hide()
        } else {
            jQuery(this).children('.collapsed').hide();
        }
    });
};



// hint

jQuery.fn.hint = function(blurClass) {


    if (!blurClass) {
        blurClass = 'blur';
    }

    return this.each(function() {
    // get jQuery version of 'this'
    var $input = $(this),

    // capture the rest of the variable to allow for reuse
    title = $input.attr('title'),
    $form = $(this.form),
    $win = $(window);

        function remove() {
            if ($input.val() === title && $input.hasClass(blurClass)) {
                $input.val('').removeClass(blurClass);
                }
            }

            // only apply logic if the element has the attribute
            if (title) {
                // on blur, set value to title attr if text is blank
                $input.blur(function() {
                    if (this.value === '') {
                        $input.val(title).addClass(blurClass);
                    }
                }).focus(remove).blur(); // now change all inputs to title

                // clear the pre-defined text when form is submitted
                $form.submit(remove);
                $win.unload(remove); // handles Firefox's autocomplete
            }
    });
};



//

