var Shadowbox = function(){ var ua = navigator.userAgent.toLowerCase(), S = { version: "3.0b", adapter: null, current: -1, gallery: [], cache: [], content: null, dimensions: null, plugins: null, path: '', options: { adapter: null, animate: true, animateFade: true, autoplayMovies: true, autoDimensions: false, continuous: false, counterLimit: 8, counterType: 'thumbskip', displayCounter: true, displayNav: true, ease: function(x){ return 1 + Math.pow(x - 1, 3);}, enableKeys: true, errors: { fla: { name: 'Flash', url: 'http://www.adobe.com/products/flashplayer/'
}, qt: { name: 'QuickTime', url: 'http://www.apple.com/quicktime/download/'
}, wmp: { name: 'Windows Media Player', url: 'http://www.microsoft.com/windows/windowsmedia/'
}, f4m: { name: 'Flip4Mac', url: 'http://www.flip4mac.com/wmv_download.htm'
}
}, ext: { img: ['png', 'jpg', 'jpeg', 'gif', 'bmp'], swf: ['swf'], flv: ['flv'], qt: ['dv', 'mov', 'moov', 'movie', 'mp4'], wmp: ['asf', 'wm', 'wmv'], qtwmp: ['avi', 'mpg', 'mpeg'], iframe: ['asp', 'aspx', 'cgi', 'cfm', 'htm', 'html', 'jsp', 'pl', 'php', 'php3', 'php4', 'php5', 'phtml', 'rb', 'rhtml', 'shtml', 'txt', 'vbs']
}, fadeDuration: 0.35, flashParams: { bgcolor: '#000000', allowFullScreen: true
}, flashVars: {}, flashVersion: '9.0.115', handleOversize: 'resize', handleUnsupported: 'link', initialHeight: 160, initialWidth: 320, language: 'en', modal: false, onChange: null, onClose: null, onFinish: null, onOpen: null, overlayColor: '#000', overlayOpacity: 0.8, players: ['img'], resizeDuration: 0.35, showOverlay: true, showMovieControls: true, skipSetup: false, slideshowDelay: 0, useSizzle: true, viewportPadding: 20
}, client: { isIE: ua.indexOf('msie') > -1, isIE6: ua.indexOf('msie 6') > -1, isIE7: ua.indexOf('msie 7') > -1, isGecko: ua.indexOf('gecko') > -1 && ua.indexOf('safari') == -1, isWebkit: ua.indexOf('applewebkit/') > -1, isWindows: ua.indexOf('windows') > -1 || ua.indexOf('win32') > -1, isMac: ua.indexOf('macintosh') > -1 || ua.indexOf('mac os x') > -1, isLinux: ua.indexOf('linux') > -1
}, regex: { domain: /:\/\/(.*?)[:\/]/, inline: /#(.+)$/, rel: /^(light|shadow)box/i, gallery: /^(light|shadow)box\[(.*?)\]/i, unsupported: /^unsupported-(\w+)/, param: /\s*([a-z_]*?)\s*=\s*(.+)\s*/
}, libraries: { Prototype: 'prototype', jQuery: 'jquery', MooTools: 'mootools', YAHOO: 'yui', dojo: 'dojo', Ext: 'ext'
}, applyOptions: function(opts){ if(opts){ default_options = apply({}, S.options); apply(S.options, opts);}
}, buildCacheObj: function(link, opts){ if(link.firstChild && link.firstChild.src) {var src = link.firstChild.src}
var href = link.href, obj = { el: link, title: link.getAttribute('title'), options: apply({}, opts || {}), content: href, source: src
}; each(['player', 'title', 'height', 'width', 'gallery'], function(o){ if(typeof obj.options[o] != 'undefined'){ obj[o] = obj.options[o]; delete obj.options[o];}
}); if(!obj.player)
obj.player = getPlayer(href); var rel = link.getAttribute('rel'); if(rel){ var m = rel.match(S.regex.gallery); if(m)
obj.gallery = escape(m[2]); each(rel.split(';'), function(p){ m = p.match(S.regex.param); if(m){ if(m[1] == 'options')
eval('apply(obj.options,' + m[2] + ')'); else
obj[m[1]] = m[2];}
});}
return obj;}, change: function(n){ if(!S.gallery) return; if(!S.gallery[n]){ if(!S.options.continuous){ return;}else{ n = n < 0 ? S.gallery.length - 1 : 0;}
}
S.current = n; if(typeof slide_timer == 'number'){ clearTimeout(slide_timer); slide_timer = null; slide_delay = slide_start = 0;}
if(S.options.onChange)
S.options.onChange(); loadContent();}, clearCache: function(){ each(S.cache, function(obj){ if(obj.el)
S.lib.removeEvent(obj.el, 'click', handleClick);}); S.cache = [];}, close: function(){ if(!active) return; active = false; listenKeys(false); if(S.content){ S.content.remove(); S.content = null;}
if(typeof slide_timer == 'number')
clearTimeout(slide_timer); slide_timer = null; slide_delay = 0; if(S.options.onClose)
S.options.onClose(); S.skin.onClose(); S.revertOptions(); each(v_cache, function(c){ c[0].style.visibility = c[1];});}, contentId: function(){ return content_id;}, getCounter: function(){ var len = S.gallery.length; if(S.options.counterType == 'skip' || S.options.counterType == 'thumbskip'){ var c = [], i = 0, end = len, limit = parseInt(S.options.counterLimit) || 0; if(limit < len && limit > 2){ var h = Math.floor(limit / 2); i = S.current - h; if(i < 0) i += len; end = S.current + (limit - h); if(end > len) end -= len;}
if(S.options.counterType == 'thumbskip') { while(i != end){ if(i == len) i = 0; c.push([i, apply({}, S.gallery[i]).source]); i++;}
} else
while(i != end){ if(i == len) i = 0; c.push(i++);}
}else
var c = (S.current + 1) + ' ' + S.lang.of + ' ' + len; return c;}, getCurrent: function(){ return S.current > -1 ? S.gallery[S.current] : null;}, hasNext: function(){ return S.gallery.length > 1 &&
(S.current != S.gallery.length - 1 || S.options.continuous);}, init: function(opts){ if(initialized) return; initialized = true; opts = opts || {}; init_options = opts; if(opts)
apply(S.options, opts); for(var e in S.options.ext)
S.regex[e] = new RegExp('\.(' + S.options.ext[e].join('|') + ')\s*$', 'i'); if(!S.path){ var path_re = /(.+)shadowbox\.js/i, path; each(document.getElementsByTagName('script'), function(s){ if((path = path_re.exec(s.src)) != null){ S.path = path[1]; return false;}
});}
if(S.options.adapter)
S.adapter = S.options.adapter; else{ for(var lib in S.libraries){ if(typeof window[lib] != 'undefined'){ S.adapter = S.libraries[lib]; break;}
}
if(!S.adapter)
S.adapter = 'base';}
if(S.options.useSizzle && !window['Sizzle'])
U.include(S.path + 'libraries/sizzle/sizzle.js'); if(!S.lang)
U.include(S.path + 'languages/shadowbox-' + S.options.language + '.js'); each(S.options.players, function(p){ if((p == 'swf' || p == 'flv') && !window['swfobject'])
U.include(S.path + 'libraries/swfobject/swfobject.js'); if(!S[p])
U.include(S.path + 'players/shadowbox-' + p + '.js');}); if(!S.lib)
U.include(S.path + 'adapters/shadowbox-' + S.adapter + '.js');}, isActive: function(){ return active;}, isPaused: function(){ return slide_timer == 'paused';}, load: function(){ if(S.skin.options){ apply(S.options, S.skin.options); apply(S.options, init_options);}
var markup = S.skin.markup.replace(/\{(\w+)\}/g, function(m, p){ return S.lang[p];}); S.lib.append(document.body, markup); if(S.skin.init)
S.skin.init(); var id; S.lib.addEvent(window, 'resize', function(){ if(id){ clearTimeout(id); id = null;}
if(active){ id = setTimeout(function(){ if(S.skin.onWindowResize)
S.skin.onWindowResize(); var c = S.content; if(c && c.onWindowResize)
c.onWindowResize();}, 50);}
}); if(!S.options.skipSetup)
S.setup();}, next: function(){ S.change(S.current + 1);}, open: function(obj){ if(U.isLink(obj))
obj = S.buildCacheObj(obj); if(obj.constructor == Array){ S.gallery = obj; S.current = 0;}else{ if(!obj.gallery){ S.gallery = [obj]; S.current = 0;}else{ S.current = null; S.gallery = []; each(S.cache, function(c){ if(c.gallery && c.gallery == obj.gallery){ if(S.current == null && c.content == obj.content && c.title == obj.title)
S.current = S.gallery.length; S.gallery.push(c);}
}); if(S.current == null){ S.gallery.unshift(obj); S.current = 0;}
}
}
obj = S.getCurrent(); if(obj.options){ S.revertOptions(); S.applyOptions(obj.options);}
var g, r, m, s, a, oe = S.options.errors, msg, el; for(var i = 0; i < S.gallery.length; ++i){ g = S.gallery[i] = apply({}, S.gallery[i]); r = false; if(g.player == 'unsupported'){ r = true;}else if(m = S.regex.unsupported.exec(g.player)){ if(S.options.handleUnsupported == 'link'){ g.player = 'html'; switch(m[1]){ case 'qtwmp':
s = 'either'; a = [oe.qt.url, oe.qt.name, oe.wmp.url, oe.wmp.name]; break; case 'qtf4m':
s = 'shared'; a = [oe.qt.url, oe.qt.name, oe.f4m.url, oe.f4m.name]; break; default:
s = 'single'; if(m[1] == 'swf' || m[1] == 'flv') m[1] = 'fla'; a = [oe[m[1]].url, oe[m[1]].name];}
msg = S.lang.errors[s].replace(/\{(\d+)\}/g, function(m, n){ return a[n];}); g.content = '<div class="sb-message">' + msg + '</div>';}else
r = true;}else if(g.player == 'inline'){ m = S.regex.inline.exec(g.content); if(m){ var el = U.get(m[1]); if(el)
g.content = el.innerHTML; else
throw 'Cannot find element with id ' + m[1];}else
throw 'Cannot find element id for inline content';}else if(g.player == 'swf' || g.player == 'flv'){ var version = (g.options && g.options.flashVersion) || S.options.flashVersion; if(!swfobject.hasFlashPlayerVersion(version)){ g.width = 310; g.height = 177;}
}
if(r){ S.gallery.splice(i, 1); if(i < S.current) --S.current; else if(i == S.current)
S.current = i > 0 ? i - 1 : i; --i;}
}
if(S.gallery.length){ if(!active){ if(typeof S.options.onOpen == 'function' && S.options.onOpen(obj) === false) return; v_cache = []; each(['select', 'object', 'embed', 'canvas'], function(tag){ each(document.getElementsByTagName(tag), function(el){ v_cache.push([el, el.style.visibility || 'visible']); el.style.visibility = 'hidden';});}); var h = S.options.autoDimensions && 'height' in obj
? obj.height
: S.options.initialHeight; var w = S.options.autoDimensions && 'width' in obj
? obj.width
: S.options.initialWidth; S.skin.onOpen(h, w, loadContent);}else
loadContent(); active = true;}
}, pause: function(){ if(typeof slide_timer != 'number') return; var time = new Date().getTime(); slide_delay = Math.max(0, slide_delay - (time - slide_start)); if(slide_delay){ clearTimeout(slide_timer); slide_timer = 'paused'; if(S.skin.onPause)
S.skin.onPause();}
}, play: function(){ if(!S.hasNext()) return; if(!slide_delay) slide_delay = S.options.slideshowDelay * 1000; if(slide_delay){ slide_start = new Date().getTime(); slide_timer = setTimeout(function(){ slide_delay = slide_start = 0; S.next();}, slide_delay); if(S.skin.onPlay)
S.skin.onPlay();}
}, previous: function(){ S.change(S.current - 1);}, revertOptions: function(){ apply(S.options, default_options);}, setDimensions: function(height, width, max_h, max_w, tb, lr, resizable){ var h = height = parseInt(height), w = width = parseInt(width), pad = parseInt(S.options.viewportPadding) || 0; var extra_h = 2 * pad + tb; if(h + extra_h >= max_h) h = max_h - extra_h; var extra_w = 2 * pad + lr; if(w + extra_w >= max_w) w = max_w - extra_w; var resize_h = height, resize_w = width, change_h = (height - h) / height, change_w = (width - w) / width, oversized = (change_h > 0 || change_w > 0); if(resizable && oversized && S.options.handleOversize == 'resize'){ if(change_h > change_w)
w = Math.round((width / height) * h); else if(change_w > change_h)
h = Math.round((height / width) * w); resize_w = w; resize_h = h;}
S.dimensions = { height: h + tb, width: w + lr, inner_h: h, inner_w: w, top: (max_h - (h + extra_h)) / 2 + pad, left: (max_w - (w + extra_w)) / 2 + pad, oversized: oversized, resize_h: resize_h, resize_w: resize_w
}; return S.dimensions;}, setup: function(links, opts){ if(!links){ var links = [], rel; each(document.getElementsByTagName('a'), function(a){ rel = a.getAttribute('rel'); if(rel && S.regex.rel.test(rel)) links.push(a);});}else{ var len = links.length; if(len){ if(window['Sizzle']){ if(typeof links == 'string')
links = Sizzle(links); else if(len == 2 && links.push && typeof links[0] == 'string' && links[1].nodeType)
links = Sizzle(links[0], links[1]);}
}else
links = [links];}
each(links, function(link){ if(typeof link.shadowboxCacheKey == 'undefined'){ link.shadowboxCacheKey = S.cache.length; S.lib.addEvent(link, 'click', handleClick);}
S.cache[link.shadowboxCacheKey] = S.buildCacheObj(link, opts);});}
}, U = S.util = { animate: function(el, p, to, d, cb){ var from = parseFloat(S.lib.getStyle(el, p)); if(isNaN(from)) from = 0; var delta = to - from; if(delta == 0){ if(cb) cb(); return;}
var op = p == 'opacity'; function fn(ease){ var to = from + ease * delta; if(op)
U.setOpacity(el, to); else
el.style[p] = to + 'px';}
if(!d || (!op && !S.options.animate) || (op && !S.options.animateFade)){ fn(1); if(cb) cb(); return;}
d *= 1000; var begin = new Date().getTime(), end = begin + d, time, timer = setInterval(function(){ time = new Date().getTime(); if(time >= end){ clearInterval(timer); fn(1); if(cb) cb();}else
fn(S.options.ease((time - begin) / d));}, 10);}, apply: function(o, e){ for(var p in e)
o[p] = e[p]; return o;}, clearOpacity: function(el){ var s = el.style; if(window.ActiveXObject){ if(typeof s.filter == 'string' && (/alpha/i).test(s.filter))
s.filter = s.filter.replace(/[\w\.]*alpha\(.*?\);?/i, '');}else
s.opacity = '';}, each: function(obj, fn, scope){ for(var i = 0, len = obj.length; i < len; ++i)
if(fn.call(scope || obj[i], obj[i], i, obj) === false) return;}, get: function(id){ return document.getElementById(id);}, include: function(){ var includes = {}; return function(file){ if(includes[file]) return; includes[file] = true; document.write('<scr' + 'ipt type="text/javascript" src="' + file + '"><\/script>');}
}(), isLink: function(obj){ if(!obj || !obj.tagName) return false; var up = obj.tagName.toUpperCase(); return up == 'A' || up == 'AREA';}, removeChildren: function(el){ while(el.firstChild)
el.removeChild(el.firstChild);}, setOpacity: function(el, o){ var s = el.style; if(window.ActiveXObject){ s.zoom = 1; s.filter = (s.filter || '').replace(/\s*alpha\([^\)]*\)/gi, '') + (o == 1 ? '' : ' alpha(opacity=' + (o * 100) + ')');}else
s.opacity = o;}
}, apply = U.apply, each = U.each, init_options, initialized = false, default_options = {}, content_id = 'sb-content', active = false, slide_timer, slide_start, slide_delay = 0, v_cache = []; if(navigator.plugins && navigator.plugins.length){ var names = []; each(navigator.plugins, function(p){ names.push(p.name);}); names = names.join(); var detectPlugin = function(n){ return names.indexOf(n) > -1;}
var f4m = detectPlugin('Flip4Mac'); S.plugins = { fla: detectPlugin('Shockwave Flash'), qt: detectPlugin('QuickTime'), wmp: !f4m && detectPlugin('Windows Media'), f4m: f4m
}
}else{ function detectPlugin(n){ try{ var axo = new ActiveXObject(n);}catch(e){}
return !!axo;}
S.plugins = { fla: detectPlugin('ShockwaveFlash.ShockwaveFlash'), qt: detectPlugin('QuickTime.QuickTime'), wmp: detectPlugin('wmplayer.ocx'), f4m: false
}
}
function getPlayer(url){ var re = S.regex, p = S.plugins, m = url.match(re.domain), d = m && document.domain == m[1]; if(url.indexOf('#') > -1 && d) return 'inline'; var q = url.indexOf('?'); if(q > -1) url = url.substring(0, q); if(re.img.test(url)) return 'img'; if(re.swf.test(url)) return p.fla ? 'swf' : 'unsupported-swf'; if(re.flv.test(url)) return p.fla ? 'flv' : 'unsupported-flv'; if(re.qt.test(url)) return p.qt ? 'qt' : 'unsupported-qt'; if(re.wmp.test(url)){ if(p.wmp) return 'wmp'; if(p.f4m) return 'qt'; if(S.client.isMac) return p.qt ? 'unsupported-f4m' : 'unsupported-qtf4m'; return 'unsupported-wmp';}
if(re.qtwmp.test(url)){ if(p.qt) return 'qt'; if(p.wmp) return 'wmp'; return S.client.isMac ? 'unsupported-qt' : 'unsupported-qtwmp';}
if(!d || re.iframe.test(url))
return 'iframe'; return 'unsupported';}
function handleClick(e){ var link; if(U.isLink(this)){ link = this;}else{ link = S.lib.getTarget(e); while(!U.isLink(link) && link.parentNode)
link = link.parentNode;}
if(link){ var key = link.shadowboxCacheKey; if(typeof key != 'undefined' && typeof S.cache[key] != 'undefined')
link = S.cache[key]; S.open(link); if(S.gallery.length) S.lib.preventDefault(e);}
}
function listenKeys(on){ if(!S.options.enableKeys) return; S.lib[(on ? 'add' : 'remove') + 'Event'](document, 'keydown', handleKey);}
function handleKey(e){ var code = S.lib.keyCode(e); S.lib.preventDefault(e); switch(code){ case 81:
case 88:
case 27:
S.close(); break; case 37:
S.previous(); break; case 39:
S.next(); break; case 32:
S[(typeof slide_timer == 'number' ? 'pause' : 'play')]();}
}
function loadContent(){ var obj = S.getCurrent(); if(!obj) return; var p = obj.player == 'inline' ? 'html' : obj.player; if(typeof S[p] != 'function')
throw 'Unknown player: ' + p; var change = false; if(S.content){ S.content.remove(); change = true; S.revertOptions(); if(obj.options)
S.applyOptions(obj.options);}
U.removeChildren(S.skin.bodyEl()); S.content = new S[p](obj); listenKeys(false); S.skin.onLoad(S.content, change, function(){ if(!S.content) return; if(typeof S.content.ready != 'undefined'){ var id = setInterval(function(){ if(S.content){ if(S.content.ready){ clearInterval(id); id = null; S.skin.onReady(contentReady);}
}else{ clearInterval(id); id = null;}
}, 100);}else
S.skin.onReady(contentReady);}); if(S.gallery.length > 1){ var next = S.gallery[S.current + 1] || S.gallery[0]; if(next.player == 'img'){ var a = new Image(); a.src = next.content;}
var prev = S.gallery[S.current - 1] || S.gallery[S.gallery.length - 1]; if(prev.player == 'img'){ var b = new Image(); b.src = prev.content;}
}
}
function contentReady(){ if(!S.content) return; S.content.append(S.skin.bodyEl(), content_id, S.dimensions); S.skin.onFinish(finishContent);}
function finishContent(){ if(!S.content) return; if(S.content.onLoad)
S.content.onLoad(); if(S.options.onFinish)
S.options.onFinish(); if(!S.isPaused())
S.play(); listenKeys(true);}
return S;}(); Shadowbox.skin = function(){ var S = Shadowbox, U = S.util, overlay_on = false, png = [ 'sb-nav-close', 'sb-nav-next', 'sb-nav-play', 'sb-nav-pause', 'sb-nav-previous' ]; function fixTop(){ U.get('sb-container').style.top = document.documentElement.scrollTop + 'px';}
function toggleVisible(cb){ var so = U.get('sb-overlay'), sc = U.get('sb-container'), sb = U.get('sb-wrapper'); if(cb){ if(S.client.isIE6){ fixTop(); S.lib.addEvent(window, 'scroll', fixTop);}
if(S.options.showOverlay){ overlay_on = true; so.style.backgroundColor = S.options.overlayColor; U.setOpacity(so, 0); if(!S.options.modal) S.lib.addEvent(so, 'click', S.close); sb.style.display = 'none';}
sc.style.visibility = 'visible'; if(overlay_on){ var op = parseFloat(S.options.overlayOpacity); U.animate(so, 'opacity', op, S.options.fadeDuration, cb);}else
cb();}else{ if(S.client.isIE6)
S.lib.removeEvent(window, 'scroll', fixTop); S.lib.removeEvent(so, 'click', S.close); if(overlay_on){ sb.style.display = 'none'; U.animate(so, 'opacity', 0, S.options.fadeDuration, function(){ sc.style.display = ''; sb.style.display = ''; U.clearOpacity(so);});}else
sc.style.visibility = 'hidden';}
}
function toggleNav(id, on){ var el = U.get('sb-nav-' + id); if(el) el.style.display = on ? '' : 'none';}
function toggleLoading(on, cb){ var ld = U.get('sb-loading'), p = S.getCurrent().player, anim = (p == 'img' || p == 'html'); if(on){ function fn(){ U.clearOpacity(ld); if(cb) cb();}
U.setOpacity(ld, 0); ld.style.display = ''; if(anim)
U.animate(ld, 'opacity', 1, S.options.fadeDuration, fn); else
fn();}else{ function fn(){ ld.style.display = 'none'; U.clearOpacity(ld); if(cb) cb();}
if(anim)
U.animate(ld, 'opacity', 0, S.options.fadeDuration, fn); else
fn();}
}
function buildBars(cb){ var obj = S.getCurrent(); U.get('sb-title-inner').innerHTML = obj.title || ''; var c, n, pl, pa, p; if(S.options.displayNav){ c = true; var len = S.gallery.length; if(len > 1){ if(S.options.continuous)
n = p = true; else{ n = (len - 1) > S.current; p = S.current > 0;}
}
if(S.options.slideshowDelay > 0 && S.hasNext()){ pa = !S.isPaused(); pl = !pa;}
}else{ c = n = pl = pa = p = false;}
toggleNav('close', c); toggleNav('next', n); toggleNav('play', pl); toggleNav('pause', pa); toggleNav('previous', p); var c = ''; if(S.options.displayCounter && S.gallery.length > 1){ var count = S.getCounter(); if(typeof count == 'string') { c = count;}
else if(S.options.counterType == 'thumbskip') { U.each(count, function(i){ c += '<a onclick="Shadowbox.change(' + i[0] + ');"'
if(i[0] == S.current) c += ' class="sb-counter-current"'; c += '>' + '<img src="' + i[1] + '" />' + '</a>';});}
else{ U.each(count, function(i){ c += '<a onclick="Shadowbox.change(' + i + ');"'
if(i == S.current) c += ' class="sb-counter-current"'; c += '>' + (i + 1) + '</a>';});}
}
U.get('sb-counter').innerHTML = c; cb();}
function hideBars(anim, cb){ var sw = U.get('sb-wrapper'), st = U.get('sb-title'), si = U.get('sb-info'), ti = U.get('sb-title-inner'), ii = U.get('sb-info-inner'), t = parseInt(S.lib.getStyle(ti, 'height')) || 0, b = parseInt(S.lib.getStyle(ii, 'height')) || 0; function fn(){ ti.style.visibility = ii.style.visibility = 'hidden'; buildBars(cb);}
if(anim){ U.animate(st, 'height', 0, 0.35); U.animate(si, 'height', 0, 0.35); U.animate(sw, 'paddingTop', t, 0.35); U.animate(sw, 'paddingBottom', b, 0.35, fn);}else{ st.style.height = si.style.height = '0px'; sw.style.paddingTop = t + 'px'; sw.style.paddingBottom = b + 'px'; fn();}
}
function showBars(cb){ var sw = U.get('sb-wrapper'), st = U.get('sb-title'), si = U.get('sb-info'), ti = U.get('sb-title-inner'), ii = U.get('sb-info-inner'), t = parseInt(S.lib.getStyle(ti, 'height')) || 0, b = parseInt(S.lib.getStyle(ii, 'height')) || 0; ti.style.visibility = ii.style.visibility = ''; if(ti.innerHTML != ''){ U.animate(st, 'height', t, 0.35); U.animate(sw, 'paddingTop', 0, 0.35);}
U.animate(si, 'height', b, 0.35); U.animate(sw, 'paddingBottom', 0, 0.35, cb);}
function adjustHeight(height, top, anim, cb){ var sb = U.get('sb-body'), s = U.get('sb-wrapper'), h = parseInt(height), t = parseInt(top); if(anim){ U.animate(sb, 'height', h, S.options.resizeDuration); U.animate(s, 'top', t, S.options.resizeDuration, cb);}else{ sb.style.height = h + 'px'; s.style.top = t + 'px'; if(cb) cb();}
}
function adjustWidth(width, left, anim, cb){ var s = U.get('sb-wrapper'), w = parseInt(width), l = parseInt(left); if(anim){ U.animate(s, 'width', w, S.options.resizeDuration); U.animate(s, 'left', l, S.options.resizeDuration, cb);}else{ s.style.width = w + 'px'; s.style.left = l + 'px'; if(cb) cb();}
}
function resizeContent(cb){ var c = S.content; if(!c) return; var d = setDimensions(c.height, c.width, c.resizable); switch(S.options.animSequence){ case 'hw':
adjustHeight(d.inner_h, d.top, true, function(){ adjustWidth(d.width, d.left, true, cb);}); break; case 'wh':
adjustWidth(d.width, d.left, true, function(){ adjustHeight(d.inner_h, d.top, true, cb);}); break; default:
adjustWidth(d.width, d.left, true); adjustHeight(d.inner_h, d.top, true, cb);}
}
function setDimensions(height, width, resizable){ var sbi = U.get('sb-body-inner')
sw = U.get('sb-wrapper'), so = U.get('sb-overlay'), tb = sw.offsetHeight - sbi.offsetHeight, lr = sw.offsetWidth - sbi.offsetWidth, max_h = so.offsetHeight, max_w = so.offsetWidth; return S.setDimensions(height, width, max_h, max_w, tb, lr, resizable);}
return { markup: '<div id="sb-container">' + '<div id="sb-overlay"></div>' + '<div id="sb-wrapper">' + '<div id="sb-title">' + '<div id="sb-title-inner"></div>' + '</div>' + '<div id="sb-body">' + '<div id="sb-body-inner"></div>' + '<div id="sb-loading">' + '<a onclick="Shadowbox.close()">{cancel}</a>' + '</div>' + '</div>' + '<div id="sb-info">' + '<div id="sb-info-inner">' + '<div id="sb-counter"></div>' + '<div id="sb-nav">' + '<a id="sb-nav-close" title="{close}" onclick="Shadowbox.close()"></a>' + '<a id="sb-nav-next" title="{next}" onclick="Shadowbox.next()"></a>' + '<a id="sb-nav-play" title="{play}" onclick="Shadowbox.play()"></a>' + '<a id="sb-nav-pause" title="{pause}" onclick="Shadowbox.pause()"></a>' + '<a id="sb-nav-previous" title="{previous}" onclick="Shadowbox.previous()"></a>' + '</div>' + '<div style="clear:both"></div>' + '</div>' + '</div>' + '</div>' + '</div>', options: { animSequence: 'sync'
}, init: function(){ if(S.client.isIE6){ U.get('sb-body').style.zoom = 1; var el, m, re = /url\("(.*\.png)"\)/; U.each(png, function(id){ el = U.get(id); if(el){ m = S.lib.getStyle(el, 'backgroundImage').match(re); if(m){ el.style.backgroundImage = 'none'; el.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=' + m[1] + ',sizingMethod=scale);';}
}
});}
}, bodyEl: function(){ return U.get('sb-body-inner');}, onOpen: function(h, w, cb){ U.get('sb-container').style.display = 'block'; var d = setDimensions(h, w); adjustHeight(d.inner_h, d.top, false); adjustWidth(d.width, d.left, false); toggleVisible(cb);}, onLoad: function(content, change, cb){ toggleLoading(true); hideBars(change, function(){ if(!content) return; if(!change) U.get('sb-wrapper').style.display = ''; cb();});}, onReady: function(cb){ resizeContent(function(){ showBars(cb);});}, onFinish: function(cb){ toggleLoading(false, cb);}, onClose: function(){ toggleVisible(false);}, onPlay: function(){ toggleNav('play', false); toggleNav('pause', true);}, onPause: function(){ toggleNav('pause', false); toggleNav('play', true);}, onWindowResize: function(){ var c = S.content; if(!c) return; var d = setDimensions(c.height, c.width, c.resizable); adjustWidth(d.width, d.left, false); adjustHeight(d.inner_h, d.top, false); var el = U.get(S.contentId()); if(el){ if(c.resizable && S.options.handleOversize == 'resize'){ el.height = d.resize_h; el.width = d.resize_w;}
}
}
};}(); 