Index: branches/RC/themes/default2007/platform/inc/jquery/thickbox/thickbox.js =================================================================== diff -u --- branches/RC/themes/default2007/platform/inc/jquery/thickbox/thickbox.js (revision 0) +++ branches/RC/themes/default2007/platform/inc/jquery/thickbox/thickbox.js (revision 11307) @@ -0,0 +1,409 @@ +/* + * Thickbox 3.1 - One Box To Rule Them All. + * By Cody Lindley (http://www.codylindley.com) + * Copyright (c) 2007 cody lindley + * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php +*/ + +// on page load call TB.init +$(document).ready( + function() { + // pass where to apply thickbox + TB.init('a.thickbox, area.thickbox, input.thickbox'); + + // preload image + TB.imgLoader = new Image(); + TB.imgLoader.src = TB.pathToImage; + } +); + +function TB () { + this.imgLoader = null; + this.pathToImage = 'images/loadingAnimation.gif'; + + this.Width = null; + this.Height = null; +} + +//add thickbox to href & area elements that have a class of .thickbox +TB.init = function (domChunk) { + $(domChunk).click( + function() { + var t = this.title || this.name || null; + var a = this.href || this.alt; + var g = this.rel || false; + + TB.show( {caption: t, url: a, imageGroup: g} ); + this.blur(); + return false; + } + ); +} + +// function called when the user clicks on a thickbox link +TB.show = function (params) { + +// caption, url, imageGroup, showCallback, postParams + + try { + if (typeof document.body.style.maxHeight === 'undefined') { + // if IE 6 + $('body', 'html').css( {height: '100%', width: '100%'} ); + $('html').css('overflow', 'hidden'); + + if (document.getElementById('TB_HideSelect') === null) { + // iframe to hide select elements in ie6 + $('body').append("
"); + $('#TB_overlay').click(TB.remove); + } + } else { + // all others + if (document.getElementById('TB_overlay') === null) { + $('body').append(""); + $('#TB_overlay').click(TB.remove); + } + } + + if (TB.detectMacXFF()) { + $('#TB_overlay').addClass('TB_overlayMacFFBGHack'); // use png overlay so hide flash + } else { + $('#TB_overlay').addClass('TB_overlayBG'); // use background and opacity + } + + if (params.caption === null) { + params.caption = ''; + } + + $('body').append(""); // add loader to the page + $('#TB_load').show(); // show loader + + var baseURL; + if (params.url.indexOf('?') !== -1) { + // ff there is a query string involved + baseURL = params.url.substr(0, params.url.indexOf('?')); + } else { + baseURL = params.url; + } + + var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/; + var url_params = {}; + + if ( baseURL.toLowerCase().match(urlString) ) { + TB.processImages(params, urlString); + } else { + var queryString = params.url.replace(/^[^\?]+\??/,''); + url_params = TB.parseQuery(queryString); + + TB.processDialog(params, url_params); + } + + if (url_params['modal'] != 'true') { + $(document).bind( + 'keyup', + function(e){ + if (e.which == 27){ + // close + TB.remove(); + } + } + ); + } + } catch(e) { + //nothing here + } +} + +// helper functions below +TB.processImages = function (params, urlString) { + // code to show images + var TB_PrevCaption = ''; + var TB_PrevURL = ''; + var TB_PrevHTML = ''; + var TB_NextCaption = ''; + var TB_NextURL = ''; + var TB_NextHTML = ''; + var TB_imageCount = ''; + var TB_FoundURL = false; + + if (params.imageGroup) { + // scan images in group to create Prev/Next links + var TB_TempArray = $('a[@rel=' + params.imageGroup + ']').get(); + for (var TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === '')); TB_Counter++) { + var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString); + if (!(TB_TempArray[TB_Counter].href == params.url)) { + if (TB_FoundURL) { + TB_NextCaption = TB_TempArray[TB_Counter].title; + TB_NextURL = TB_TempArray[TB_Counter].href; + TB_NextHTML = " Next >"; + } else { + TB_PrevCaption = TB_TempArray[TB_Counter].title; + TB_PrevURL = TB_TempArray[TB_Counter].href; + TB_PrevHTML = " < Prev"; + } + } else { + TB_FoundURL = true; + TB_imageCount = 'Image ' + (TB_Counter + 1) + ' of ' + TB_TempArray.length; + } + } + } + + var imgPreloader = new Image(); + $(imgPreloader).bind( + 'load', + function() { + $(this).unbind('load'); + var $image_size = TB.scaleImage.call(TB, this); + + TB.Width = $image_size.width + 30; + TB.Height = $image_size.height + 60; + $('#TB_window').append("" + "