﻿
        if (typeof Prototype == 'undefined')
            alert('prototype.js is not defined !');

        Element.addMethods({
            fadeIn: function(element, args) {
                var args = args || {};
                var begin = args.begin || element.getOpacity();
                var end = args.end || 1.0;
                var delay = args.delay || 8;
                var i = parseFloat(begin);

                element.setOpacity(i);
                if (Object.isUndefined(element.fadeInCreate) ||
              !element.fadeInCreate) {
                    element.fire('fadeIn:onCreate');
                    element.fadeInCreate = false;
                }
                if (i < end)
                    setTimeout(function() {
                        element.fadeIn({ begin: begin + (0.1), end: end, delay: delay });
                    }, delay);
                else {
                    element.fire('fadeIn:onComplete');
                    element.fadeInCreate = true;
                }
                return element;
            },

            fadeOut: function(element, args) {
                var args = args || {};
                var begin = args.begin || element.getOpacity();
                var end = args.end || 0.0;
                var delay = args.delay || 8;
                var i = parseFloat(begin);

                element.setOpacity(i);
                if (Object.isUndefined(element.fadeOutCreate) ||
              !element.fadeOutCreate) {
                    element.fire('fadeOut:onCreate');
                    element.fadeOutCreate = true;
                }
                if (i > end)
                    setTimeout(function() {
                        element.fadeOut({ begin: begin - (0.1), end: end, delay: delay });
                    }, delay);
                else {
                    element.fire('fadeOut:onComplete');
                    element.fadeOutCreate = false;
                }
                return element;
            }
        });