﻿/*
* jQuery UI Effects Highlight 1.7.2
*
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Effects/Highlight
*
* Depends:
*	effects.core.js
*/
(function($) {

    $.effects.highlight = function(o) {

        return this.queue(function() {

            // Create element
            var el = $(this), props = ['backgroundImage', 'backgroundColor', 'opacity'];

            // Set options
            var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
            var color = o.options.color || "#ffff99"; // Default highlight color
            var oldColor = el.css("backgroundColor");

            // Adjust
            $.effects.save(el, props); el.show(); // Save & Show
            el.css({ backgroundImage: 'none', backgroundColor: color }); // Shift

            // Animation
            var animation = { backgroundColor: oldColor };
            if (mode == "hide") animation['opacity'] = 0;

            // Animate
            el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
                if (mode == "hide") el.hide();
                $.effects.restore(el, props);
                if (mode == "show" && $.browser.msie) this.style.removeAttribute('filter');
                if (o.callback) o.callback.apply(this, arguments);
                el.dequeue();
            } 
            });

        });

    };

})(jQuery);

