if (typeof Effect == 'undefined')     throw ("lightwindow.js requires including script.aculo.us' effects.js library!");try {    document.execCommand("BackgroundImageCache", false, true);} catch (e) {}var lightwindow = Class.create();lightwindow.prototype = {    element: null,    contentToFetch: null,    windowActive: false,    dataEffects: [],    dimensions: {        cruft: null,        container: null,        viewport: {            height: null,            width: null,            offsetTop: null,            offsetLeft: null        }    },    pagePosition: {        x: 0,        y: 0    },    pageDimensions: {        width: null,        height: null    },    preloadImage: [],    preloadedImage: [],    galleries: [],    resizeTo: {        height: null,        heightPercent: null,        width: null,        widthPercent: null,        fixedTop: null,        fixedLeft: null    },    scrollbarOffset: 18,    navigationObservers: {        previous: null,        next: null    },    containerChange: {        height: 0,        width: 0    },    activeGallery: false,    galleryLocation: {        current: 0,        total: 0    },    initialize: function(options){        this.options = Object.extend({            resizeSpeed: 8,            contentOffset: {                height: 20,                width: 20            },            dimensions: {                image: {                    height: 250,                    width: 250                },                page: {                    height: 250,                    width: 250                },                inline: {                    height: 250,                    width: 250                },                media: {                    height: 250,                    width: 250                },                external: {                    height: 250,                    width: 250                },                titleHeight: 25            },            classNames: {                standard: 'lightwindow',                action: 'lightwindow_action'            },            fileTypes: {                page: ['asp', 'aspx', 'cgi', 'cfm', 'htm', 'html', 'pl', 'php4', 'php3', 'php', 'php5', 'phtml', 'rhtml', 'shtml', 'txt', 'vbs', 'rb'],                media: ['aif', 'aiff', 'asf', 'avi', 'divx', 'm1v', 'm2a', 'm2v', 'm3u', 'mid', 'midi', 'mov', 'moov', 'movie', 'mp2', 'mp3', 'mpa', 'mpa', 'mpe', 'mpeg', 'mpg', 'mpg', 'mpga', 'pps', 'qt', 'rm', 'ram', 'swf', 'viv', 'vivo', 'wav'],                image: ['bmp', 'gif', 'jpg', 'png', 'tiff']            },            mimeTypes: {                avi: 'video/avi',                aif: 'audio/aiff',                aiff: 'audio/aiff',                gif: 'image/gif',                bmp: 'image/bmp',                jpeg: 'image/jpeg',                m1v: 'video/mpeg',                m2a: 'audio/mpeg',                m2v: 'video/mpeg',                m3u: 'audio/x-mpequrl',                mid: 'audio/x-midi',                midi: 'audio/x-midi',                mjpg: 'video/x-motion-jpeg',                moov: 'video/quicktime',                mov: 'video/quicktime',                movie: 'video/x-sgi-movie',                mp2: 'audio/mpeg',                mp3: 'audio/mpeg3',                mpa: 'audio/mpeg',                mpa: 'video/mpeg',                mpe: 'video/mpeg',                mpeg: 'video/mpeg',                mpg: 'audio/mpeg',                mpg: 'video/mpeg',                mpga: 'audio/mpeg',                pdf: 'application/pdf',                png: 'image/png',                pps: 'application/mspowerpoint',                qt: 'video/quicktime',                ram: 'audio/x-pn-realaudio-plugin',                rm: 'application/vnd.rn-realmedia',                swf: 'application/x-shockwave-flash',                tiff: 'image/tiff',                viv: 'video/vivo',                vivo: 'video/vivo',                wav: 'audio/wav',                wmv: 'application/x-mplayer2'            },            classids: {                mov: 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',                swf: 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000',                wmv: 'clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6'            },            codebases: {                mov: 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',                swf: 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0',                wmv: 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715'            },            viewportPadding: 10,            EOLASFix: 'swf,wmv,fla,flv',            overlay: {                opacity: 0.7,                image: '/imgs/black.png',                presetImage: '/img/black-70.png'            },            skin: {                main: '<div id="lightwindow_container" >' +                '<div id="lightwindow_title_bar" >' +                '<div id="lightwindow_title_bar_inner" >' +                '<span id="lightwindow_title_bar_title"></span>' +                '<a id="lightwindow_title_bar_close_link" >close</a>' +                '</div>' +                '</div>' +                '<div id="lightwindow_stage" >' +                '<div id="lightwindow_contents" >' +                '</div>' +                '<div id="lightwindow_navigation" >' +                '<a href="#" id="lightwindow_previous" >' +                '<span id="lightwindow_previous_title"></span>' +                '</a>' +                '<a href="#" id="lightwindow_next" >' +                '<span id="lightwindow_next_title"></span>' +                '</a>' +                '<iframe name="lightwindow_navigation_shim" id="lightwindow_navigation_shim" src="javascript:false;" frameBorder="0" scrolling="no"></iframe>' +                '</div>' +                '<div id="lightwindow_galleries">' +                '<div id="lightwindow_galleries_tab_container" >' +                '<a href="#" id="lightwindow_galleries_tab" >' +                '<span id="lightwindow_galleries_tab_span" class="up" >Galleries</span>' +                '</a>' +                '</div>' +                '<div id="lightwindow_galleries_list" >' +                '</div>' +                '</div>' +                '</div>' +                '<div id="lightwindow_data_slide" >' +                '<div id="lightwindow_data_slide_inner" >' +                '<div id="lightwindow_data_details" >' +                '<div id="lightwindow_data_gallery_container" >' +                '<span id="lightwindow_data_gallery_current"></span>' +                ' of ' +                '<span id="lightwindow_data_gallery_total"></span>' +                '</div>' +                '<div id="lightwindow_data_author_container" >' +                'by <span id="lightwindow_data_author"></span>' +                '</div>' +                '</div>' +                '<div id="lightwindow_data_caption" >' +                '</div>' +                '</div>' +                '</div>' +                '</div>',                loading: '<div id="lightwindow_loading" >' +                '<img src="/img/ajax-loading.gif" alt="loading" />' +                '<span>Loading or <a href="javascript: myLightWindow.deactivate();">Cancel</a></span>' +                '<iframe name="lightwindow_loading_shim" id="lightwindow_loading_shim" src="javascript:false;" frameBorder="0" scrolling="no"></iframe>' +                '</div>',                iframe: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' +                '<html xmlns="http://www.w3.org/1999/xhtml">' +                '<body>' +                '{body_replace}' +                '</body>' +                '</html>',                gallery: {                    top: '<div class="lightwindow_galleries_list">' + '<h1>{gallery_title_replace}</h1>' + '<ul>',                    middle: '<li>' + '{gallery_link_replace}' + '</li>',                    bottom: '</ul>' + '</div>'                }            },            formMethod: 'get',            hideFlash: false,            hideGalleryTab: false,            showTitleBar: true,            animationHandler: false,            navigationHandler: false,            transitionHandler: false,            finalAnimationHandler: false,            formHandler: false,            galleryAnimationHandler: false,            showGalleryCount: true        }, options || {});        this.duration = ((11 - this.options.resizeSpeed) * 0.15);        this._setupLinks();        this._getScroll();        this._getPageDimensions();        this._browserDimensions();        this._addLightWindowMarkup(false);        this._setupDimensions();        this.buildGalleryList();    },    activate: function(e, link){        this._clearWindowContents(true);        this._addLoadingWindowMarkup();        this._setupWindowElements(link);        this._getScroll();        this._browserDimensions();        this._setupDimensions();        this._toggleTroubleElements('hidden', false);        this._displayLightWindow('block', 'hidden');        this._setStatus(true);        this._monitorKeyboard(true);        this._prepareIE(true);        this._loadWindow();    },    deactivate: function(){        this.windowActive = false;        this.activeGallery = false;        if (!this.options.hideGalleryTab) {            this._handleGalleryAnimation(false);        }        this.animating = false;        this.element = null;        this._displayLightWindow('none', 'visible');        this._clearWindowContents(false);        var queue = Effect.Queues.get('lightwindowAnimation').each(function(e){            e.cancel();        });        this._prepareIE(false);        this._setupDimensions();        this._toggleTroubleElements('visible', false);        this._monitorKeyboard(false);    },    createWindow: function(element, attributes){        this._processLink($(element));    },    activateWindow: function(options){        this.element = Object.extend({            href: null,            title: null,            author: null,            caption: null,            rel: null,            top: null,            left: null,            type: null,            showImages: null,            height: null,            width: null,            loadingAnimation: null,            iframeEmbed: null,            form: null        }, options || {});        this.contentToFetch = this.element.href;        this.windowType = this.element.type ? this.element.type : this._fileType(this.element.href);        this._clearWindowContents(true);        this._addLoadingWindowMarkup();        this._getScroll();        this._browserDimensions();        this._setupDimensions();        this._toggleTroubleElements('hidden', false);        this._displayLightWindow('block', 'hidden');        this._setStatus(true);        this._monitorKeyboard(true);        this._prepareIE(true);        this._loadWindow();    },    submitForm: function(e){        if (this.options.formHandler) {            this.options.formHandler(e);        }        else {            this._defaultFormHandler(e);        }    },    openWindow: function(element){        var element = $(element);        this.windowActive = true;        this._clearWindowContents(true);        this._addLoadingWindowMarkup();        this._setupWindowElements(element);        this._setStatus(true);        this._handleTransition();    },    navigateWindow: function(direction){        this._handleNavigation(false);        if (direction == 'previous') {            this.openWindow(this.navigationObservers.previous);        }        else             if (direction == 'next') {                this.openWindow(this.navigationObservers.next);            }    },    buildGalleryList: function(){        var output = '';        var galleryLink;        for (i in this.galleries) {            if (typeof this.galleries[i] == 'object') {                output += (this.options.skin.gallery.top).replace('{gallery_title_replace}', unescape(i));                for (j in this.galleries[i]) {                    if (typeof this.galleries[i][j] == 'object') {                        galleryLink = '<a href="#" id="lightwindow_gallery_' + i + '_' + j + '" >' + unescape(j) + '</a>';                        output += (this.options.skin.gallery.middle).replace('{gallery_link_replace}', galleryLink);                    }                }                output += this.options.skin.gallery.bottom;            }        }        new Insertion.Top('lightwindow_galleries_list', output);        for (i in this.galleries) {            if (typeof this.galleries[i] == 'object') {                for (j in this.galleries[i]) {                    if (typeof this.galleries[i][j] == 'object') {                        Event.observe($('lightwindow_gallery_' + i + '_' + j), 'click', this.openWindow.bind(this, this.galleries[i][j][0]), false);                        $('lightwindow_gallery_' + i + '_' + j).onclick = function(){                            return false;                        };                    }                }            }        }    },    _setupLinks: function(){        var links = $$('.' + this.options.classNames.standard);        links.each(function(link){            this._processLink(link);        }.bind(this));    },    _processLink: function(link){        if ((this._fileType(link.getAttribute('href')) == 'image' || this._fileType(link.getAttribute('href')) == 'media')) {            if (gallery = this._getGalleryInfo(link.rel)) {                if (!this.galleries[gallery[0]]) {                    this.galleries[gallery[0]] = new Array();                }                if (!this.galleries[gallery[0]][gallery[1]]) {                    this.galleries[gallery[0]][gallery[1]] = new Array();                }                this.galleries[gallery[0]][gallery[1]].push(link);            }        }        var url = link.getAttribute('href');        if (url.indexOf('?') > -1) {            url = url.substring(0, url.indexOf('?'));        }        var container = url.substring(url.indexOf('#') + 1);        if ($(container)) {            $(container).setStyle({                display: 'none'            });        }        Event.observe(link, 'click', this.activate.bindAsEventListener(this, link), false);        link.onclick = function(){            return false;        };    },    _setupActions: function(){        var links = $$('#lightwindow_container .' + this.options.classNames.action);        links.each(function(link){            Event.observe(link, 'click', this[link.getAttribute('rel')].bindAsEventListener(this, link), false);            link.onclick = function(){                return false;            };        }.bind(this));    },    _addLightWindowMarkup: function(rebuild){        var overlay = Element.extend(document.createElement('div'));        overlay.setAttribute('id', 'lightwindow_overlay');        if (Prototype.Browser.Gecko) {            overlay.setStyle({                backgroundImage: 'url(' + this.options.overlay.presetImage + ')',                backgroundRepeat: 'repeat',                height: this.pageDimensions.height + 'px'            });        }        else {            overlay.setStyle({                opacity: this.options.overlay.opacity,                backgroundImage: 'url(' + this.options.overlay.image + ')',                backgroundRepeat: 'repeat',                height: this.pageDimensions.height + 'px'            });        }        var lw = document.createElement('div');        lw.setAttribute('id', 'lightwindow');        lw.innerHTML = this.options.skin.main;        var body = document.getElementsByTagName('body')[0];        body.appendChild(overlay);        body.appendChild(lw);        if ($('lightwindow_title_bar_close_link')) {            Event.observe('lightwindow_title_bar_close_link', 'click', this.deactivate.bindAsEventListener(this));            $('lightwindow_title_bar_close_link').onclick = function(){                return false;            };        }        Event.observe($('lightwindow_previous'), 'click', this.navigateWindow.bind(this, 'previous'), false);        $('lightwindow_previous').onclick = function(){            return false;        };        Event.observe($('lightwindow_next'), 'click', this.navigateWindow.bind(this, 'next'), false);        $('lightwindow_next').onclick = function(){            return false;        };        if (!this.options.hideGalleryTab) {            Event.observe($('lightwindow_galleries_tab'), 'click', this._handleGalleryAnimation.bind(this, true), false);            $('lightwindow_galleries_tab').onclick = function(){                return false;            };        }        if (Prototype.Browser.IE) {            Event.observe(document, 'mousewheel', this._stopScrolling.bindAsEventListener(this), false);        }        else {            Event.observe(window, 'DOMMouseScroll', this._stopScrolling.bindAsEventListener(this), false);        }        Event.observe(overlay, 'click', this.deactivate.bindAsEventListener(this), false);        overlay.onclick = function(){            return false;        };    },    _addLoadingWindowMarkup: function(){        $('lightwindow_contents').innerHTML += this.options.skin.loading;    },    _setupWindowElements: function(link){        this.element = link;        this.element.title = null ? '' : link.getAttribute('title');        this.element.author = null ? '' : link.getAttribute('author');        this.element.caption = null ? '' : link.getAttribute('caption');        this.element.rel = null ? '' : link.getAttribute('rel');        this.element.params = null ? '' : link.getAttribute('params');        this.contentToFetch = this.element.href;        this.windowType = this._getParameter('lightwindow_type') ? this._getParameter('lightwindow_type') : this._fileType(this.contentToFetch);    },    _clearWindowContents: function(contents){        if ($('lightwindow_iframe')) {            Element.remove($('lightwindow_iframe'));        }        if ($('lightwindow_media_primary')) {            try {                $('lightwindow_media_primary').Stop();            }             catch (e) {            }            Element.remove($('lightwindow_media_primary'));        }        if ($('lightwindow_media_secondary')) {            try {                $('lightwindow_media_secondary').Stop();            }             catch (e) {            }            Element.remove($('lightwindow_media_secondary'));        }        this.activeGallery = false;        this._handleNavigation(this.activeGallery);        if (contents) {            $('lightwindow_contents').innerHTML = '';            $('lightwindow_contents').setStyle({                overflow: 'hidden'            });            if (!this.windowActive) {                $('lightwindow_data_slide_inner').setStyle({                    display: 'none'                });                $('lightwindow_title_bar_title').innerHTML = '';            }            $('lightwindow_data_slide').setStyle({                height: 'auto'            });        }        this.resizeTo.height = null;        this.resizeTo.width = null;    },    _setStatus: function(status){        this.animating = status;        if (status) {            Element.show('lightwindow_loading');        }        if (!(/MSIE 6./i.test(navigator.userAgent))) {            this._fixedWindow(status);        }    },    _fixedWindow: function(status){        if (status) {            if (this.windowActive) {                this._getScroll();                $('lightwindow').setStyle({                    position: 'absolute',                    top: parseFloat($('lightwindow').getStyle('top')) + this.pagePosition.y + 'px',                    left: parseFloat($('lightwindow').getStyle('left')) + this.pagePosition.x + 'px'                });            }            else {                $('lightwindow').setStyle({                    position: 'absolute'                });            }        }        else {            if (this.windowActive) {                this._getScroll();                $('lightwindow').setStyle({                    position: 'fixed',                    top: parseFloat($('lightwindow').getStyle('top')) - this.pagePosition.y + 'px',                    left: parseFloat($('lightwindow').getStyle('left')) - this.pagePosition.x + 'px'                });            }            else {                if ($('lightwindow_iframe')) {                    this._browserDimensions();                }                $('lightwindow').setStyle({                    position: 'fixed',                    top: (parseFloat(this._getParameter('lightwindow_top')) ? parseFloat(this._getParameter('lightwindow_top')) + 'px' : this.dimensions.viewport.height / 2 + 'px'),                    left: (parseFloat(this._getParameter('lightwindow_left')) ? parseFloat(this._getParameter('lightwindow_left')) + 'px' : this.dimensions.viewport.width / 2 + 'px')                });            }        }    },    _prepareIE: function(setup){        if (Prototype.Browser.IE) {            var height, overflowX, overflowY;            if (setup) {                var height = '100%';            }            else {                var height = 'auto';            }            var body = document.getElementsByTagName('body')[0];            var html = document.getElementsByTagName('html')[0];            html.style.height = body.style.height = height;        }    },    _stopScrolling: function(e){        if (this.animating) {            if (e.preventDefault) {                e.preventDefault();            }            e.returnValue = false;        }    },    _getScroll: function(){        if (typeof(window.pageYOffset) == 'number') {            this.pagePosition.x = window.pageXOffset;            this.pagePosition.y = window.pageYOffset;        }        else             if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {                this.pagePosition.x = document.body.scrollLeft;                this.pagePosition.y = document.body.scrollTop;            }            else                 if (document.documentElement) {                    this.pagePosition.x = document.documentElement.scrollLeft;                    this.pagePosition.y = document.documentElement.scrollTop;                }    },    _setScroll: function(x, y){        document.documentElement.scrollLeft = x;        document.documentElement.scrollTop = y;    },    _toggleTroubleElements: function(visibility, content){        if (content) {            var selects = $('lightwindow_contents').getElementsByTagName('select');        }        else {            var selects = document.getElementsByTagName('select');        }        for (var i = 0; i < selects.length; i++) {            selects[i].style.visibility = visibility;        }        if (!content) {            if (this.options.hideFlash) {                var objects = document.getElementsByTagName('object');                for (i = 0; i != objects.length; i++) {                    objects[i].style.visibility = visibility;                }                var embeds = document.getElementsByTagName('embed');                for (i = 0; i != embeds.length; i++) {                    embeds[i].style.visibility = visibility;                }            }            var iframes = document.getElementsByTagName('iframe');            for (i = 0; i != iframes.length; i++) {                iframes[i].style.visibility = visibility;            }        }    },    _getPageDimensions: function(){        var xScroll, yScroll;        if (window.innerHeight && window.scrollMaxY) {            xScroll = document.body.scrollWidth;            yScroll = window.innerHeight + window.scrollMaxY;        }        else             if (document.body.scrollHeight > document.body.offsetHeight) {                xScroll = document.body.scrollWidth;                yScroll = document.body.scrollHeight;            }            else {                xScroll = document.body.offsetWidth;                yScroll = document.body.offsetHeight;            }        var windowWidth, windowHeight;        if (self.innerHeight) {            windowWidth = self.innerWidth;            windowHeight = self.innerHeight;        }        else             if (document.documentElement && document.documentElement.clientHeight) {                windowWidth = document.documentElement.clientWidth;                windowHeight = document.documentElement.clientHeight;            }            else                 if (document.body) {                    windowWidth = document.body.clientWidth;                    windowHeight = document.body.clientHeight;                }        if (yScroll < windowHeight) {            this.pageDimensions.height = windowHeight;        }        else {            this.pageDimensions.height = yScroll;        }        if (xScroll < windowWidth) {            this.pageDimensions.width = windowWidth;        }        else {            this.pageDimensions.width = xScroll;        }    },    _displayLightWindow: function(display, visibility){        $('lightwindow_overlay').style.display = $('lightwindow').style.display = $('lightwindow_container').style.display = display;        $('lightwindow_overlay').style.visibility = $('lightwindow').style.visibility = $('lightwindow_container').style.visibility = visibility;    },    _setupDimensions: function(){        var originalHeight, originalWidth;        switch (this.windowType) {            case 'page':                originalHeight = this.options.dimensions.page.height;                originalWidth = this.options.dimensions.page.width;                break;            case 'image':                originalHeight = this.options.dimensions.image.height;                originalWidth = this.options.dimensions.image.width;                break;            case 'media':                originalHeight = this.options.dimensions.media.height;                originalWidth = this.options.dimensions.media.width;                break;            case 'external':                originalHeight = this.options.dimensions.external.height;                originalWidth = this.options.dimensions.external.width;                break;            case 'inline':                originalHeight = this.options.dimensions.inline.height;                originalWidth = this.options.dimensions.inline.width;                break;            default:                originalHeight = this.options.dimensions.page.height;                originalWidth = this.options.dimensions.page.width;                break;        }        var offsetHeight = this._getParameter('lightwindow_top') ? parseFloat(this._getParameter('lightwindow_top')) + this.pagePosition.y : this.dimensions.viewport.height / 2 + this.pagePosition.y;        var offsetWidth = this._getParameter('lightwindow_left') ? parseFloat(this._getParameter('lightwindow_left')) + this.pagePosition.x : this.dimensions.viewport.width / 2 + this.pagePosition.x;        $('lightwindow').setStyle({            top: offsetHeight + 'px',            left: offsetWidth + 'px'        });        $('lightwindow_container').setStyle({            height: originalHeight + 'px',            width: originalWidth + 'px',            left: -(originalWidth / 2) + 'px',            top: -(originalHeight / 2) + 'px'        });        $('lightwindow_contents').setStyle({            height: originalHeight + 'px',            width: originalWidth + 'px'        });    },    _fileType: function(url){        var image = new RegExp("[^\.]\.(" + this.options.fileTypes.image.join('|') + ")\s*$", "i");        if (image.test(url))             return 'image';        if (url.indexOf('#') > -1 && (document.domain == this._getDomain(url)))             return 'inline';        if (url.indexOf('?') > -1)             url = url.substring(0, url.indexOf('?'));        var type = 'unknown';        var page = new RegExp("[^\.]\.(" + this.options.fileTypes.page.join('|') + ")\s*$", "i");        var media = new RegExp("[^\.]\.(" + this.options.fileTypes.media.join('|') + ")\s*$", "i");        if (document.domain != this._getDomain(url))             type = 'external';        if (media.test(url))             type = 'media';        if (type == 'external' || type == 'media')             return type;        if (page.test(url) || url.substr((url.length - 1), url.length) == '/')             type = 'page';        return type;    },    _fileExtension: function(url){        if (url.indexOf('?') > -1) {            url = url.substring(0, url.indexOf('?'));        }        var extenstion = '';        for (var x = (url.length - 1); x > -1; x--) {            if (url.charAt(x) == '.') {                return extenstion;            }            extenstion = url.charAt(x) + extenstion;        }    },    _monitorKeyboard: function(status){        if (status)             document.onkeydown = this._eventKeypress.bind(this);        else             document.onkeydown = '';    },    _eventKeypress: function(e){        if (e == null) {            var keycode = event.keyCode;        }        else {            var keycode = e.which;        }        switch (keycode) {            case 27:                this.deactivate();                break;            case 13:                return;default:                break;        }        if (this.animating) {            return false;        }        switch (String.fromCharCode(keycode).toLowerCase()) {            case 'p':                if (this.navigationObservers.previous) {                    this.navigateWindow('previous');                }                break;            case 'n':                if (this.navigationObservers.next) {                    this.navigateWindow('next');                }                break;            default:                break;        }    },    _getGalleryInfo: function(rel){        if (!rel)             return false;        if (rel.indexOf('[') > -1) {            return new Array(escape(rel.substring(0, rel.indexOf('['))), escape(rel.substring(rel.indexOf('[') + 1, rel.indexOf(']'))));        }        else {            return false;        }    },    _getDomain: function(url){        var leadSlashes = url.indexOf('//');        var domainStart = leadSlashes + 2;        var withoutResource = url.substring(domainStart, url.length);        var nextSlash = withoutResource.indexOf('/');        var domain = withoutResource.substring(0, nextSlash);        if (domain.indexOf(':') > -1) {            var portColon = domain.indexOf(':');            domain = domain.substring(0, portColon);        }        return domain;    },    _getParameter: function(parameter, parameters){        if (!this.element)             return false;        if (parameter == 'lightwindow_top' && this.element.top) {            return unescape(this.element.top);        }        else             if (parameter == 'lightwindow_left' && this.element.left) {                return unescape(this.element.left);            }            else                 if (parameter == 'lightwindow_type' && this.element.type) {                    return unescape(this.element.type);                }                else                     if (parameter == 'lightwindow_show_images' && this.element.showImages) {                        return unescape(this.element.showImages);                    }                    else                         if (parameter == 'lightwindow_height' && this.element.height) {                            return unescape(this.element.height);                        }                        else                             if (parameter == 'lightwindow_width' && this.element.width) {                                return unescape(this.element.width);                            }                            else                                 if (parameter == 'lightwindow_loading_animation' && this.element.loadingAnimation) {                                    return unescape(this.element.loadingAnimation);                                }                                else                                     if (parameter == 'lightwindow_iframe_embed' && this.element.iframeEmbed) {                                        return unescape(this.element.iframeEmbed);                                    }                                    else                                         if (parameter == 'lightwindow_form' && this.element.form) {                                            return unescape(this.element.form);                                        }                                        else {                                            if (!parameters) {                                                if (this.element.params)                                                     parameters = this.element.params;                                                else                                                     return;                                            }                                            var value;                                            var parameterArray = parameters.split(',');                                            var compareString = parameter + '=';                                            var compareLength = compareString.length;                                            for (var i = 0; i < parameterArray.length; i++) {                                                if (parameterArray[i].substr(0, compareLength) == compareString) {                                                    var currentParameter = parameterArray[i].split('=');                                                    value = currentParameter[1];                                                    break;                                                }                                            }                                            if (!value)                                                 return false;                                            else                                                 return unescape(value);                                        }    },    _browserDimensions: function(){        if (Prototype.Browser.IE) {            this.dimensions.viewport.height = document.documentElement.clientHeight;            this.dimensions.viewport.width = document.documentElement.clientWidth;        }        else {            this.dimensions.viewport.height = window.innerHeight;            this.dimensions.viewport.width = document.width || document.body.offsetWidth;        }    },    _getScrollerWidth: function(){        var scrollDiv = Element.extend(document.createElement('div'));        scrollDiv.setAttribute('id', 'lightwindow_scroll_div');        scrollDiv.setStyle({            position: 'absolute',            top: '-10000px',            left: '-10000px',            width: '100px',            height: '100px',            overflow: 'hidden'        });        var contentDiv = Element.extend(document.createElement('div'));        contentDiv.setAttribute('id', 'lightwindow_content_scroll_div');        contentDiv.setStyle({            width: '100%',            height: '200px'        });        scrollDiv.appendChild(contentDiv);        var body = document.getElementsByTagName('body')[0];        body.appendChild(scrollDiv);        var noScroll = $('lightwindow_content_scroll_div').offsetWidth;        scrollDiv.style.overflow = 'auto';        var withScroll = $('lightwindow_content_scroll_div').offsetWidth;        Element.remove($('lightwindow_scroll_div'));        this.scrollbarOffset = noScroll - withScroll;    },    _addParamToObject: function(name, value, object, id){        var param = document.createElement('param');        param.setAttribute('value', value);        param.setAttribute('name', name);        if (id) {            param.setAttribute('id', id);        }        object.appendChild(param);        return object;    },    _outerHTML: function(object){        if (Prototype.Browser.IE) {            return object.outerHTML;        }        else {            var clone = object.cloneNode(true);            var cloneDiv = document.createElement('div');            cloneDiv.appendChild(clone);            return cloneDiv.innerHTML;        }    },    _convertToMarkup: function(object, closeTag){        var markup = this._outerHTML(object).replace('</' + closeTag + '>', '');        if (Prototype.Browser.IE) {            for (var i = 0; i < object.childNodes.length; i++) {                markup += this._outerHTML(object.childNodes[i]);            }            markup += '</' + closeTag + '>';        }        return markup;    },    _appendObject: function(object, closeTag, appendTo){        if (Prototype.Browser.IE) {            appendTo.innerHTML += this._convertToMarkup(object, closeTag);            if (this.options.EOLASFix.indexOf(this._fileType(this.element.href)) > -1) {                var objectElements = document.getElementsByTagName('object');                for (var i = 0; i < objectElements.length; i++) {                    if (objectElements[i].getAttribute("data"))                         objectElements[i].removeAttribute('data');                    objectElements[i].outerHTML = objectElements[i].outerHTML;                    objectElements[i].style.visibility = "visible";                }            }        }        else {            appendTo.appendChild(object);        }    },    _appendIframe: function(scroll){        var iframe = document.createElement('iframe');        iframe.setAttribute('id', 'lightwindow_iframe');        iframe.setAttribute('name', 'lightwindow_iframe');        iframe.setAttribute('src', 'about:blank');        iframe.setAttribute('height', '100%');        iframe.setAttribute('width', '100%');        iframe.setAttribute('frameborder', '0');        iframe.setAttribute('marginwidth', '0');        iframe.setAttribute('marginheight', '0');        iframe.setAttribute('scrolling', scroll);        this._appendObject(iframe, 'iframe', $('lightwindow_contents'));    },    _writeToIframe: function(content){        var template = this.options.skin.iframe;        template = template.replace('{body_replace}', content);        if ($('lightwindow_iframe').contentWindow) {            $('lightwindow_iframe').contentWindow.document.open();            $('lightwindow_iframe').contentWindow.document.write(template);            $('lightwindow_iframe').contentWindow.document.close();        }        else {            $('lightwindow_iframe').contentDocument.open();            $('lightwindow_iframe').contentDocument.write(template);            $('lightwindow_iframe').contentDocument.close();        }    },    _loadWindow: function(){        switch (this.windowType) {            case 'image':                var current = 0;                var images = [];                this.checkImage = [];                this.resizeTo.height = this.resizeTo.width = 0;                this.imageCount = this._getParameter('lightwindow_show_images') ? parseInt(this._getParameter('lightwindow_show_images')) : 1;                if (gallery = this._getGalleryInfo(this.element.rel)) {                    for (current = 0; current < this.galleries[gallery[0]][gallery[1]].length; current++) {                        if (this.contentToFetch.indexOf(this.galleries[gallery[0]][gallery[1]][current].href) > -1) {                            break;                        }                    }                    if (this.galleries[gallery[0]][gallery[1]][current - this.imageCount]) {                        this.navigationObservers.previous = this.galleries[gallery[0]][gallery[1]][current - this.imageCount];                    }                    else {                        this.navigationObservers.previous = false;                    }                    if (this.galleries[gallery[0]][gallery[1]][current + this.imageCount]) {                        this.navigationObservers.next = this.galleries[gallery[0]][gallery[1]][current + this.imageCount];                    }                    else {                        this.navigationObservers.next = false;                    }                    this.activeGallery = true;                }                else {                    this.navigationObservers.previous = false;                    this.navigationObservers.next = false;                    this.activeGallery = false;                }                for (var i = current; i < (current + this.imageCount); i++) {                    if (gallery && this.galleries[gallery[0]][gallery[1]][i]) {                        this.contentToFetch = this.galleries[gallery[0]][gallery[1]][i].href;                        this.galleryLocation = {                            current: (i + 1) / this.imageCount,                            total: (this.galleries[gallery[0]][gallery[1]].length) / this.imageCount                        };                        if (!this.galleries[gallery[0]][gallery[1]][i + this.imageCount]) {                            $('lightwindow_next').setStyle({                                display: 'none'                            });                        }                        else {                            $('lightwindow_next').setStyle({                                display: 'block'                            });                            $('lightwindow_next_title').innerHTML = this.galleries[gallery[0]][gallery[1]][i + this.imageCount].title;                        }                        if (!this.galleries[gallery[0]][gallery[1]][i - this.imageCount]) {                            $('lightwindow_previous').setStyle({                                display: 'none'                            });                        }                        else {                            $('lightwindow_previous').setStyle({                                display: 'block'                            });                            $('lightwindow_previous_title').innerHTML = this.galleries[gallery[0]][gallery[1]][i - this.imageCount].title;                        }                    }                    images[i] = document.createElement('img');                    images[i].setAttribute('id', 'lightwindow_image_' + i);                    images[i].setAttribute('border', '0');                    images[i].setAttribute('src', this.contentToFetch);                    $('lightwindow_contents').appendChild(images[i]);                    this.checkImage[i] = new PeriodicalExecuter(function(i){                        if (!(typeof $('lightwindow_image_' + i).naturalWidth != "undefined" && $('lightwindow_image_' + i).naturalWidth == 0)) {                            this.checkImage[i].stop();                            var imageHeight = $('lightwindow_image_' + i).getHeight();                            if (imageHeight > this.resizeTo.height) {                                this.resizeTo.height = imageHeight;                            }                            this.resizeTo.width += $('lightwindow_image_' + i).getWidth();                            this.imageCount--;                            $('lightwindow_image_' + i).setStyle({                                height: '100%'                            });                            if (this.imageCount == 0) {                                this._processWindow();                            }                        }                    }.bind(this, i), 1);                }                break;            case 'media':                var current = 0;                this.resizeTo.height = this.resizeTo.width = 0;                if (gallery = this._getGalleryInfo(this.element.rel)) {                    for (current = 0; current < this.galleries[gallery[0]][gallery[1]].length; current++) {                        if (this.contentToFetch.indexOf(this.galleries[gallery[0]][gallery[1]][current].href) > -1) {                            break;                        }                    }                    if (this.galleries[gallery[0]][gallery[1]][current - 1]) {                        this.navigationObservers.previous = this.galleries[gallery[0]][gallery[1]][current - 1];                    }                    else {                        this.navigationObservers.previous = false;                    }                    if (this.galleries[gallery[0]][gallery[1]][current + 1]) {                        this.navigationObservers.next = this.galleries[gallery[0]][gallery[1]][current + 1];                    }                    else {                        this.navigationObservers.next = false;                    }                    this.activeGallery = true;                }                else {                    this.navigationObservers.previous = false;                    this.navigationObservers.next = false;                    this.activeGallery = false;                }                if (gallery && this.galleries[gallery[0]][gallery[1]][current]) {                    this.contentToFetch = this.galleries[gallery[0]][gallery[1]][current].href;                    this.galleryLocation = {                        current: current + 1,                        total: this.galleries[gallery[0]][gallery[1]].length                    };                    if (!this.galleries[gallery[0]][gallery[1]][current + 1]) {                        $('lightwindow_next').setStyle({                            display: 'none'                        });                    }                    else {                        $('lightwindow_next').setStyle({                            display: 'block'                        });                        $('lightwindow_next_title').innerHTML = this.galleries[gallery[0]][gallery[1]][current + 1].title;                    }                    if (!this.galleries[gallery[0]][gallery[1]][current - 1]) {                        $('lightwindow_previous').setStyle({                            display: 'none'                        });                    }                    else {                        $('lightwindow_previous').setStyle({                            display: 'block'                        });                        $('lightwindow_previous_title').innerHTML = this.galleries[gallery[0]][gallery[1]][current - 1].title;                    }                }                if (this._getParameter('lightwindow_iframe_embed')) {                    this.resizeTo.height = this.dimensions.viewport.height;                    this.resizeTo.width = this.dimensions.viewport.width;                }                else {                    this.resizeTo.height = this._getParameter('lightwindow_height');                    this.resizeTo.width = this._getParameter('lightwindow_width');                }                this._processWindow();                break;            case 'external':                this._appendIframe('auto');                this.resizeTo.height = this.dimensions.viewport.height;                this.resizeTo.width = this.dimensions.viewport.width;                this._processWindow();                break;            case 'page':                var newAJAX = new Ajax.Request(this.contentToFetch, {                    method: 'get',                    parameters: '',                    onComplete: function(response){                        $('lightwindow_contents').innerHTML += response.responseText;                        this.resizeTo.height = $('lightwindow_contents').scrollHeight + (this.options.contentOffset.height);                        this.resizeTo.width = $('lightwindow_contents').scrollWidth + (this.options.contentOffset.width);                        this._processWindow();                    }.bind(this)                });                break;            case 'inline':                var content = this.contentToFetch;                if (content.indexOf('?') > -1) {                    content = content.substring(0, content.indexOf('?'));                }                content = content.substring(content.indexOf('#') + 1);                new Insertion.Top($('lightwindow_contents'), $(content).innerHTML);                this.resizeTo.height = $('lightwindow_contents').scrollHeight + (this.options.contentOffset.height);                this.resizeTo.width = $('lightwindow_contents').scrollWidth + (this.options.contentOffset.width);                this._toggleTroubleElements('hidden', true);                this._processWindow();                break;            default:                throw ("Page Type could not be determined, please amend this lightwindow URL " + this.contentToFetch);                break;        }    },    _resizeWindowToFit: function(){        if (this.resizeTo.height + this.dimensions.cruft.height > this.dimensions.viewport.height) {            var heightRatio = this.resizeTo.height / this.resizeTo.width;            this.resizeTo.height = this.dimensions.viewport.height - this.dimensions.cruft.height - (2 * this.options.viewportPadding);            if (this.windowType == 'image' || (this.windowType == 'media' && !this._getParameter('lightwindow_iframe_embed'))) {                this.resizeTo.width = this.resizeTo.height / heightRatio;                $('lightwindow_data_slide_inner').setStyle({                    width: this.resizeTo.width + 'px'                });            }        }        if (this.resizeTo.width + this.dimensions.cruft.width > this.dimensions.viewport.width) {            var widthRatio = this.resizeTo.width / this.resizeTo.height;            this.resizeTo.width = this.dimensions.viewport.width - 2 * this.dimensions.cruft.width - (2 * this.options.viewportPadding);            if (this.windowType == 'image' || (this.windowType == 'media' && !this._getParameter('lightwindow_iframe_embed'))) {                this.resizeTo.height = this.resizeTo.width / widthRatio;                $('lightwindow_data_slide_inner').setStyle({                    height: this.resizeTo.height + 'px'                });            }        }    },    _presetWindowSize: function(){        if (this._getParameter('lightwindow_height')) {            this.resizeTo.height = parseFloat(this._getParameter('lightwindow_height'));        }        if (this._getParameter('lightwindow_width')) {            this.resizeTo.width = parseFloat(this._getParameter('lightwindow_width'));        }    },    _processWindow: function(){        this.dimensions.dataEffects = [];        if (this.element.caption || this.element.author || (this.activeGallery && this.options.showGalleryCount)) {            if (this.element.caption) {                $('lightwindow_data_caption').innerHTML = this.element.caption;                $('lightwindow_data_caption').setStyle({                    display: 'block'                });            }            else {                $('lightwindow_data_caption').setStyle({                    display: 'none'                });            }            if (this.element.author) {                $('lightwindow_data_author').innerHTML = this.element.author;                $('lightwindow_data_author_container').setStyle({                    display: 'block'                });            }            else {                $('lightwindow_data_author_container').setStyle({                    display: 'none'                });            }            if (this.activeGallery && this.options.showGalleryCount) {                $('lightwindow_data_gallery_current').innerHTML = this.galleryLocation.current;                $('lightwindow_data_gallery_total').innerHTML = this.galleryLocation.total;                $('lightwindow_data_gallery_container').setStyle({                    display: 'block'                });            }            else {                $('lightwindow_data_gallery_container').setStyle({                    display: 'none'                });            }            $('lightwindow_data_slide_inner').setStyle({                width: this.resizeTo.width + 'px',                height: 'auto',                visibility: 'visible',                display: 'block'            });            $('lightwindow_data_slide').setStyle({                height: $('lightwindow_data_slide').getHeight() + 'px',                width: '1px',                overflow: 'hidden',                display: 'block'            });        }        else {            $('lightwindow_data_slide').setStyle({                display: 'none',                width: 'auto'            });            $('lightwindow_data_slide_inner').setStyle({                display: 'none',                visibility: 'hidden',                width: this.resizeTo.width + 'px',                height: '0px'            });        }        if (this.element.title != 'null') {            $('lightwindow_title_bar_title').innerHTML = this.element.title;        }        else {            $('lightwindow_title_bar_title').innerHTML = '';        }        var originalContainerDimensions = {            height: $('lightwindow_container').getHeight(),            width: $('lightwindow_container').getWidth()        };        $('lightwindow_container').setStyle({            height: 'auto',            width: $('lightwindow_container').getWidth() + this.options.contentOffset.width - (this.windowActive ? this.options.contentOffset.width : 0) + 'px'        });        var newContainerDimensions = {            height: $('lightwindow_container').getHeight(),            width: $('lightwindow_container').getWidth()        };        this.containerChange = {            height: originalContainerDimensions.height - newContainerDimensions.height,            width: originalContainerDimensions.width - newContainerDimensions.width        };        this.dimensions.container = {            height: $('lightwindow_container').getHeight(),            width: $('lightwindow_container').getWidth()        };        this.dimensions.cruft = {            height: this.dimensions.container.height - $('lightwindow_contents').getHeight() + this.options.contentOffset.height,            width: this.dimensions.container.width - $('lightwindow_contents').getWidth() + this.options.contentOffset.width        };        this._presetWindowSize();        this._resizeWindowToFit();        if (!this.windowActive) {            $('lightwindow_container').setStyle({                left: -(this.dimensions.container.width / 2) + 'px',                top: -(this.dimensions.container.height / 2) + 'px'            });        }        $('lightwindow_container').setStyle({            height: this.dimensions.container.height + 'px',            width: this.dimensions.container.width + 'px'        });        this._displayLightWindow('block', 'visible');        this._animateLightWindow();    },    _animateLightWindow: function(){        if (this.options.animationHandler) {            this.options.animationHandler().bind(this);        }        else {            this._defaultAnimationHandler();        }    },    _handleNavigation: function(display){        if (this.options.navigationHandler) {            this.options.navigationHandler().bind(this, display);        }        else {            this._defaultDisplayNavigation(display);        }    },    _handleTransition: function(){        if (this.options.transitionHandler) {            this.options.transitionHandler().bind(this);        }        else {            this._defaultTransitionHandler();        }    },    _handleFinalWindowAnimation: function(delay){        if (this.options.finalAnimationHandler) {            this.options.finalAnimationHandler().bind(this, delay);        }        else {            this._defaultfinalWindowAnimationHandler(delay);        }    },    _handleGalleryAnimation: function(list){        if (this.options.galleryAnimationHandler) {            this.options.galleryAnimationHandler().bind(this, list);        }        else {            this._defaultGalleryAnimationHandler(list);        }    },    _defaultDisplayNavigation: function(display){        if (display) {            $('lightwindow_navigation').setStyle({                display: 'block',                height: $('lightwindow_contents').getHeight() + 'px',                width: '100%',                marginTop: this.options.dimensions.titleHeight + 'px'            });        }        else {            $('lightwindow_navigation').setStyle({                display: 'none',                height: 'auto',                width: 'auto'            });        }    },    _defaultAnimationHandler: function(){        if (this.element.caption || this.element.author || (this.activeGallery && this.options.showGalleryCount)) {            $('lightwindow_data_slide').setStyle({                display: 'none',                width: 'auto'            });            this.dimensions.dataEffects.push(new Effect.SlideDown('lightwindow_data_slide', {                sync: true            }), new Effect.Appear('lightwindow_data_slide', {                sync: true,                from: 0.0,                to: 1.0            }));        }        $('lightwindow_title_bar_inner').setStyle({            height: '0px',            marginTop: this.options.dimensions.titleHeight + 'px'        });        this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_title_bar_inner', {            sync: true,            style: {                height: this.options.dimensions.titleHeight + 'px',                marginTop: '0px'            }        }), new Effect.Appear('lightwindow_title_bar_inner', {            sync: true,            from: 0.0,            to: 1.0        }));        if (!this.options.hideGalleryTab) {            this._handleGalleryAnimation(false);            if ($('lightwindow_galleries_tab_container').getHeight() == 0) {                this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_galleries_tab_container', {                    sync: true,                    style: {                        height: '20px',                        marginTop: '0px'                    }                }));                $('lightwindow_galleries').setStyle({                    width: '0px'                });            }        }        var resized = false;        var ratio = this.dimensions.container.width - $('lightwindow_contents').getWidth() + this.resizeTo.width + this.options.contentOffset.width;        if (ratio != $('lightwindow_container').getWidth()) {            new Effect.Parallel([new Effect.Scale('lightwindow_contents', 100 * (this.resizeTo.width / $('lightwindow_contents').getWidth()), {                scaleFrom: 100 * ($('lightwindow_contents').getWidth() / ($('lightwindow_contents').getWidth() + (this.options.contentOffset.width))),                sync: true,                scaleY: false,                scaleContent: false            }), new Effect.Scale('lightwindow_container', 100 * (ratio / (this.dimensions.container.width)), {                sync: true,                scaleY: false,                scaleFromCenter: true,                scaleContent: false            })], {                duration: this.duration,                delay: 0.25,                queue: {                    position: 'end',                    scope: 'lightwindowAnimation'                }            });        }        ratio = this.dimensions.container.height - $('lightwindow_contents').getHeight() + this.resizeTo.height + this.options.contentOffset.height;        if (ratio != $('lightwindow_container').getHeight()) {            new Effect.Parallel([new Effect.Scale('lightwindow_contents', 100 * (this.resizeTo.height / $('lightwindow_contents').getHeight()), {                scaleFrom: 100 * ($('lightwindow_contents').getHeight() / ($('lightwindow_contents').getHeight() + (this.options.contentOffset.height))),                sync: true,                scaleX: false,                scaleContent: false            }), new Effect.Scale('lightwindow_container', 100 * (ratio / (this.dimensions.container.height)), {                sync: true,                scaleX: false,                scaleFromCenter: true,                scaleContent: false            })], {                duration: this.duration,                afterFinish: function(){                    if (this.dimensions.dataEffects.length > 0) {                        if (!this.options.hideGalleryTab) {                            $('lightwindow_galleries').setStyle({                                width: this.resizeTo.width + 'px'                            });                        }                        new Effect.Parallel(this.dimensions.dataEffects, {                            duration: this.duration,                            afterFinish: function(){                                this._finishWindow();                            }.bind(this)                            ,                            queue: {                                position: 'end',                                scope: 'lightwindowAnimation'                            }                        });                    }                }.bind(this)                ,                queue: {                    position: 'end',                    scope: 'lightwindowAnimation'                }            });            resized = true;        }        if (!resized && this.dimensions.dataEffects.length > 0) {            new Effect.Parallel(this.dimensions.dataEffects, {                duration: this.duration,                beforeStart: function(){                    if (!this.options.hideGalleryTab) {                        $('lightwindow_galleries').setStyle({                            width: this.resizeTo.width + 'px'                        });                    }                    if (this.containerChange.height != 0 || this.containerChange.width != 0) {                        new Effect.MoveBy('lightwindow_container', this.containerChange.height, this.containerChange.width, {                            transition: Effect.Transitions.sinoidal                        });                    }                }.bind(this)                ,                afterFinish: function(){                    this._finishWindow();                }.bind(this)                ,                queue: {                    position: 'end',                    scope: 'lightwindowAnimation'                }            });        }    },    _defaultfinalWindowAnimationHandler: function(delay){        if (this.windowType == 'media' || this._getParameter('lightwindow_loading_animation')) {            Element.hide('lightwindow_loading');            this._handleNavigation(this.activeGallery);            this._setStatus(false);        }        else {            Effect.Fade('lightwindow_loading', {                duration: 0.75,                delay: 1.0,                afterFinish: function(){                    if (this.windowType != 'image' && this.windowType != 'media' && this.windowType != 'external') {                        $('lightwindow_contents').setStyle({                            overflow: 'auto'                        });                    }                    this._handleNavigation(this.activeGallery);                    this._defaultGalleryAnimationHandler();                    this._setStatus(false);                }.bind(this)                ,                queue: {                    position: 'end',                    scope: 'lightwindowAnimation'                }            });        }    },    _defaultGalleryAnimationHandler: function(list){        if (this.activeGallery) {            $('lightwindow_galleries').setStyle({                display: 'block',                marginBottom: $('lightwindow_data_slide').getHeight() + this.options.contentOffset.height / 2 + 'px'            });            $('lightwindow_navigation').setStyle({                height: $('lightwindow_contents').getHeight() - 20 + 'px'            });        }        else {            $('lightwindow_galleries').setStyle({                display: 'none'            });            $('lightwindow_galleries_tab_container').setStyle({                height: '0px',                marginTop: '20px'            });            $('lightwindow_galleries_list').setStyle({                height: '0px'            });            return false;        }        if (list) {            if ($('lightwindow_galleries_list').getHeight() == 0) {                var height = $('lightwindow_contents').getHeight() * 0.80;                $('lightwindow_galleries_tab_span').className = 'down';            }            else {                var height = 0;                $('lightwindow_galleries_tab_span').className = 'up';            }            new Effect.Morph('lightwindow_galleries_list', {                duration: this.duration,                transition: Effect.Transitions.sinoidal,                style: {                    height: height + 'px'                },                beforeStart: function(){                    $('lightwindow_galleries_list').setStyle({                        overflow: 'hidden'                    });                },                afterFinish: function(){                    $('lightwindow_galleries_list').setStyle({                        overflow: 'auto'                    });                },                queue: {                    position: 'end',                    scope: 'lightwindowAnimation'                }            });        }    },    _defaultTransitionHandler: function(){        this.dimensions.dataEffects = [];        if ($('lightwindow_data_slide').getStyle('display') != 'none') {            this.dimensions.dataEffects.push(new Effect.SlideUp('lightwindow_data_slide', {                sync: true            }), new Effect.Fade('lightwindow_data_slide', {                sync: true,                from: 1.0,                to: 0.0            }));        }        if (!this.options.hideGalleryTab) {            if ($('lightwindow_galleries').getHeight() != 0 && !this.options.hideGalleryTab) {                this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_galleries_tab_container', {                    sync: true,                    style: {                        height: '0px',                        marginTop: '20px'                    }                }));            }            if ($('lightwindow_galleries_list').getHeight() != 0) {                $('lightwindow_galleries_tab_span').className = 'up';                this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_galleries_list', {                    sync: true,                    style: {                        height: '0px'                    },                    transition: Effect.Transitions.sinoidal,                    beforeStart: function(){                        $('lightwindow_galleries_list').setStyle({                            overflow: 'hidden'                        });                    },                    afterFinish: function(){                        $('lightwindow_galleries_list').setStyle({                            overflow: 'auto'                        });                    }                }));            }        }        this.dimensions.dataEffects.push(new Effect.Morph('lightwindow_title_bar_inner', {            sync: true,            style: {                height: '0px',                marginTop: this.options.dimensions.titleHeight + 'px'            }        }), new Effect.Fade('lightwindow_title_bar_inner', {            sync: true,            from: 1.0,            to: 0.0        }));        new Effect.Parallel(this.dimensions.dataEffects, {            duration: this.duration,            afterFinish: function(){                this._loadWindow();            }.bind(this)            ,            queue: {                position: 'end',                scope: 'lightwindowAnimation'            }        });    },    _defaultFormHandler: function(e){        var element = Event.element(e).parentNode;        var parameterString = Form.serialize(this._getParameter('lightwindow_form', element.getAttribute('params')));        if (this.options.formMethod == 'post') {            var newAJAX = new Ajax.Request(element.href, {                method: 'post',                postBody: parameterString,                onComplete: this.openWindow.bind(this, element)            });        }        else             if (this.options.formMethod == 'get') {                var newAJAX = new Ajax.Request(element.href, {                    method: 'get',                    parameters: parameterString,                    onComplete: this.openWindow.bind(this, element)                });            }    },    _finishWindow: function(){        if (this.windowType == 'external') {            $('lightwindow_iframe').setAttribute('src', this.element.href);            this._handleFinalWindowAnimation(1);        }        else             if (this.windowType == 'media') {                var outerObject = document.createElement('object');                outerObject.setAttribute('classid', this.options.classids[this._fileExtension(this.contentToFetch)]);                outerObject.setAttribute('codebase', this.options.codebases[this._fileExtension(this.contentToFetch)]);                outerObject.setAttribute('id', 'lightwindow_media_primary');                outerObject.setAttribute('name', 'lightwindow_media_primary');                outerObject.setAttribute('width', this.resizeTo.width);                outerObject.setAttribute('height', this.resizeTo.height);                outerObject = this._addParamToObject('movie', this.contentToFetch, outerObject);                outerObject = this._addParamToObject('src', this.contentToFetch, outerObject);                outerObject = this._addParamToObject('controller', 'true', outerObject);                outerObject = this._addParamToObject('wmode', 'transparent', outerObject);                outerObject = this._addParamToObject('cache', 'false', outerObject);                outerObject = this._addParamToObject('quality', 'high', outerObject);                if (!Prototype.Browser.IE) {                    var innerObject = document.createElement('object');                    innerObject.setAttribute('type', this.options.mimeTypes[this._fileExtension(this.contentToFetch)]);                    innerObject.setAttribute('data', this.contentToFetch);                    innerObject.setAttribute('id', 'lightwindow_media_secondary');                    innerObject.setAttribute('name', 'lightwindow_media_secondary');                    innerObject.setAttribute('width', this.resizeTo.width);                    innerObject.setAttribute('height', this.resizeTo.height);                    innerObject = this._addParamToObject('controller', 'true', innerObject);                    innerObject = this._addParamToObject('wmode', 'transparent', innerObject);                    innerObject = this._addParamToObject('cache', 'false', innerObject);                    innerObject = this._addParamToObject('quality', 'high', innerObject);                    outerObject.appendChild(innerObject);                }                if (this._getParameter('lightwindow_iframe_embed')) {                    this._appendIframe('no');                    this._writeToIframe(this._convertToMarkup(outerObject, 'object'));                }                else {                    this._appendObject(outerObject, 'object', $('lightwindow_contents'));                }                this._handleFinalWindowAnimation(0);            }            else {                this._handleFinalWindowAnimation(0);            }        this._setupActions();    }}Event.observe(window, 'load', lightwindowInit, false);var myLightWindow = null;function lightwindowInit(){    myLightWindow = new lightwindow();}