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 : 0, EOLASFix : 'swf,wmv,fla,flv', overlay : { opacity : 0.7, image : '../root/img/black.png', presetImage : '../root/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>'+ '</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="../root/img/ajax-loading.gif" alt="loading" />'+ '<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 : 'post', 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.25, delay: 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();}
