// spica javascript libraries - spica.js -- version 0.05
// == written by Takuya Otani <takuya.otani@gmail.com> ===
// == Copyright (C) 2006 SimpleBoxes/SerendipityNZ Ltd. ==

// === array ===
if (!Array.prototype.pop)
{
    Array.prototype.pop = function()
    {
        if (!this.length) return null;
        var last = this[this.length - 1];
        --this.length;
        return last;
    }
}
if (!Array.prototype.push)
{
    Array.prototype.push = function()
    {
        for (var i=0,n=arguments.length;i<n;i++)
            this[this.length] = arguments[i];
        return this.length;
    }
}
if (!Array.prototype.indexOf)
{
    Array.prototype.indexOf = function(value,idx)
    {
        if (typeof(idx) != 'number') idx = 0;
        else if (idx < 0) idx = this.length + idx;
        for (var i=idx,n=this.length;i<n;i++)
            if (this[i] === value) return i;
        return -1;
    }
}
// === browser ===
function Browser()
{
    this.name = navigator.userAgent;
    this.isWinIE = this.isMacIE = false;
    this.isGecko  = this.name.match(/Gecko\//);
    this.isSafari = this.name.match(/AppleWebKit/);
    this.isKHTML  = this.isSafari || navigator.appVersion.match(/Konqueror|KHTML/);
    this.isOpera  = window.opera;
    if (document.all && !this.isGecko && !this.isSafari && !this.isOpera)
    {
        this.isWinIE = this.name.match(/Win/);
        this.isMacIE = this.name.match(/Mac/);
    }
}
var Browser = new Browser();
// === event ===
if (!window.Event) var Event = new Object;
Event = {
    cache : false,
    getEvent : function(evnt)
    {
        return (evnt) ? evnt : ((window.event) ? window.event : null);
    },
    getKey : function(evnt)
    {
        evnt = this.getEvent(evnt);
        return (evnt.which) ? evnt.which : evnt.keyCode;
    },
    stop : function(evnt)
    {
        try{ evnt.stopPropagation() } catch(err){};
        evnt.cancelBubble = true;
        try{ evnt.preventDefault() } catch(err){};
        return (evnt.returnValue = false);
    },
    register : function(object, type, handler)
    {
        if (type == 'keypress' && (Browser.isKHTML || object.attachEvent)) type = 'keydown';
        if (type == 'mousewheel' && Browser.isGecko) type = 'DOMMouseScroll';
        if (!this.cache) this.cache = [];
        if (object.addEventListener)
        {
            this.cache.push([object,type,handler]);
            object.addEventListener(type, handler, false);
        }
        else if (object.attachEvent)
        {
            this.cache.push([object,type,handler]);
            object.attachEvent(['on',type].join(''),handler);
        }
        else
        {
            object[['on',type].join('')] = handler;
        }
    },
    deregister : function(object, type, handler)
    {
        if (type == 'keypress' && (Browser.isKHTML || object.attachEvent)) type = 'keydown';
        if (type == 'mousewheel' && Browser.isGecko) type = 'DOMMouseScroll';
        if (object.removeEventListener)
            object.removeEventListener(type, handler, false);
        else if (object.detachEvent)
            object.detachEvent(['on',type].join(''), handler);
        else
            object[['on',type].join('')] = null;
    },
    deregisterAll : function()
    {
        if (!Event.cache) return
        for (var i=0,n=Event.cache.length;i<n;i++)
        {
            Event.deregister(Event.cache[i]);
            Event.cache[i][0] = null;
        }
        Event.cache = false;
    }
};
Event.register(window, 'unload', Event.deregisterAll);
// === dom ===
document.getElemetsByClassName = function(name,target)
{
    var result = [];
    var object  = null;
    var search = new RegExp(['(^|\\s)',name,'(\\s|$)'].join(''));
    if (target && target.getElementsByTagName)
        object = target.getElementsByTagName('*');
    if (!object)
        object = document.getElementsByTagName ? document.getElementsByTagName('*') : document.all;
    for (var i=0,n=object.length;i<n;i++)
    {
        var check = object[i].getAttribute('class') || object[i].className;
        if (check.match(search)) result.push(object[i]);
    }
    return result;
}
// === library ===
function Library()
{
    this._path = '';
    this._cache = [];
    this.lang = '';
    this.base = '';
    return this._init();
}
Library.prototype = {
    _init : function()
    {
        var rs_path = document.getElementsByName('X-Resource-Dir')[0];
        var js_path = document.getElementsByName('X-Script-Dir')[0];
        if (rs_path)
        {
            this.base = this._check_path(rs_path.getAttribute('content'));
            if (!js_path) this._path = [this.base,'js/'].join('');
        }
        if (js_path)
            this._path = this._check_path(js_path.getAttribute('content'));
        return this;
    },
    _initLang : function()
    {
        var html = document.getElementsByTagName('html')[0];
        if (!html) return;
        this.lang = html.getAttribute('xml:lang') || html.getAttribute('lang');
    },
    _check_path : function(path)
    {
        if (!path) return '';
        if (!path.match(/\/$/)) path = [path,'/'].join('');
        return path;
    },
    require : function(libs)
    {
        var pre  = '\n<script type="text/javascript" src="';
        var post = '.js"></script>';
        for (var i=0,n=libs.length;i<n;i++)
        {
            if (this._cache.indexOf(libs[i]) > -1) continue;
            document.write([pre,this._path,libs[i],post].join(''));
            this._cache.push(libs[i]);
        }
    },
    path : function(path)
    {
        this._path = this._check_path(path);
    }
}
var Library = new Library();
Event.register(window,'load',function() { Library._initLang() });


// lightbox_plus.js
/*
    == written by Takuya Otani <takuya.otani@gmail.com> ===
    == Copyright (C) 2006 SimpleBoxes/SerendipityNZ Ltd. ==

    Copyright (C) 2006 Takuya Otani/SimpleBoxes - http://serennz.cool.ne.jp/sb/
    Copyright (C) 2006 SerendipityNZ - http://serennz.cool.ne.jp/snz/
    
    This script is licensed under the Creative Commons Attribution 2.5 License
    http://creativecommons.org/licenses/by/2.5/
    ----    
    Original script : Lightbox JS : Fullsize Image Overlays
    Copyright (C) 2005 Lokesh Dhakar - http://www.huddletogether.com
    For more information on this script, visit:
    http://huddletogether.com/projects/lightbox/
*/

function WindowSize()
{ // window size object
    this.w = 0;
    this.h = 0;
    return this.update();
}
WindowSize.prototype.update = function()
{
    var d = document;
    this.w = 
      (window.innerWidth) ? window.innerWidth
    : (d.documentElement && d.documentElement.clientWidth) ? d.documentElement.clientWidth
    : d.body.clientWidth;
    this.h = 
      (window.innerHeight) ? window.innerHeight
    : (d.documentElement && d.documentElement.clientHeight) ? d.documentElement.clientHeight
    : d.body.clientHeight;
    return this;
};
function PageSize()
{ // page size object
    this.win = new WindowSize();
    this.w = 0;
    this.h = 0;
    return this.update();
}
PageSize.prototype.update = function()
{
    var d = document;
    this.w = 
      (window.innerWidth && window.scrollMaxX) ? window.innerWidth + window.scrollMaxX
    : (d.body.scrollWidth > d.body.offsetWidth) ? d.body.scrollWidth
    : d.body.offsetWidt;
    this.h = 
      (window.innerHeight && window.scrollMaxY) ? window.innerHeight + window.scrollMaxY
    : (d.body.scrollHeight > d.body.offsetHeight) ? d.body.scrollHeight
    : d.body.offsetHeight;
    this.win.update();
    if (this.w < this.win.w) this.w = this.win.w;
    if (this.h < this.win.h) this.h = this.win.h;
    return this;
};
function PagePos()
{ // page position object
    this.x = 0;
    this.y = 0;
    return this.update();
}
PagePos.prototype.update = function()
{
    var d = document;
    this.x =
      (window.pageXOffset) ? window.pageXOffset
    : (d.documentElement && d.documentElement.scrollLeft) ? d.documentElement.scrollLeft
    : (d.body) ? d.body.scrollLeft
    : 0;
    this.y =
      (window.pageYOffset) ? window.pageYOffset
    : (d.documentElement && d.documentElement.scrollTop) ? d.documentElement.scrollTop
    : (d.body) ? d.body.scrollTop
    : 0;
    return this;
};
function LightBox(option)
{
    var self = this;
    self._imgs = new Array();
    self._wrap = null;
    self._box  = null;
    self._img  = null;
    self._open = -1;
    self._page = new PageSize();
    self._pos  = new PagePos();
    self._zoomimg = null;
    self._expandable = false;
    self._expanded = false;
    self._funcs = {'move':null,'up':null,'drag':null,'wheel':null,'dbl':null};
    self._level = 1;
    self._curpos = {x:0,y:0};
    self._imgpos = {x:0,y:0};
    self._minpos = {x:0,y:0};
    self._expand = option.expandimg;
    self._shrink = option.shrinkimg;
    self._resizable = option.resizable;
    self._timer = null;
    self._indicator = null;
    self._overall = null;
    return self._init(option);
}
LightBox.prototype = {
    _init : function(option)
    {
        var self = this;
        var d = document;
        if (!d.getElementsByTagName) return;
        if (Browser.isMacIE) return self;
        var links = d.getElementsByTagName("a");
        for (var i=0;i<links.length;i++)
        {
            var anchor = links[i];
            var num = self._imgs.length;
            if (!anchor.getAttribute("href")
              || anchor.getAttribute("rel") != "lightbox") continue;
            // initialize item
            self._imgs[num] = {
                src:anchor.getAttribute("href"),
                w:-1,
                h:-1,
                title:'',
                cls:anchor.className
            };
            if (anchor.getAttribute("title"))
                self._imgs[num].title = anchor.getAttribute("title");
            else if ( anchor.firstChild 
                   && anchor.firstChild.getAttribute 
                   && anchor.firstChild.getAttribute("title"))
                self._imgs[num].title = anchor.firstChild.getAttribute("title");
            anchor.onclick = self._genOpener(num); // set closure to onclick event
        }
        var body = d.getElementsByTagName("body")[0];
        self._wrap = self._createWrapOn(body,option.loadingimg);
        self._box  = self._createBoxOn(body,option);
        self._img  = self._box.firstChild;
        self._zoomimg = d.getElementById('actionImage');
        return self;
    },
    _genOpener : function(num)
    {
        var self = this;
        return function() { self._show(num); return false; }
    },
    _createWrapOn : function(obj,imagePath)
    {
        var self = this;
        if (!obj) return null;
        // create wrapper object, translucent background
        var wrap = document.createElement('div');
        obj.appendChild(wrap);
        wrap.id = 'overlay';
        wrap.style.display = 'none';
        wrap.style.position = 'fixed';
        wrap.style.top = '0px';
        wrap.style.left = '0px';
        wrap.style.zIndex = '50';
        wrap.style.width = '100%';
        wrap.style.height = '100%';
        if (Browser.isWinIE) wrap.style.position = 'absolute';
        Event.register(wrap,"click",function(evt) { self._close(evt); });
        // create loading image, animated image
        var imag = new Image;
        imag.onload = function() {
            var spin = document.createElement('img');
            wrap.appendChild(spin);
            spin.id = 'loadingImage';
            spin.src = imag.src;
            spin.style.position = 'relative';
            self._set_cursor(spin);
            Event.register(spin,'click',function(evt) { self._close(evt); });
            imag.onload = function(){};
        };
        if (imagePath != '') imag.src = imagePath;
        return wrap;
    },
    _createBoxOn : function(obj,option)
    {
        var self = this;
        if (!obj) return null;
        // create lightbox object, frame rectangle
        var box = document.createElement('div');
        obj.appendChild(box);
        box.id = 'lightbox';
        box.style.display = 'none';
        box.style.position = 'absolute';
        box.style.zIndex = '60';
        // create image object to display a target image
        var img = document.createElement('img');
        box.appendChild(img);
        img.id = 'lightboxImage';
        self._set_cursor(img);
        Event.register(img,'mouseover',function() { self._show_action(); });
        Event.register(img,'mouseout',function() { self._hide_action(); });
        Event.register(img,'click',function(evt) { self._close(evt); });
        var zoom = document.createElement('img');
        box.appendChild(zoom);
        zoom.id = 'actionImage';
        zoom.style.display = 'none';
        zoom.style.position = 'absolute';
        zoom.style.top = '15px';
        zoom.style.left = '15px';
        zoom.style.zIndex = '70';
        self._set_cursor(zoom);
        zoom.src = self._expand;
        Event.register(zoom,'mouseover',function() { self._show_action(); });
        Event.register(zoom,'click', function() { self._zoom(); });
        Event.register(window,'resize',function() { self._set_size(true); });
        // close button
        if (option.closeimg)
        {
            var btn = document.createElement('img');
            box.appendChild(btn);
            btn.id = 'closeButton';
            btn.style.display = 'inline';
            btn.style.position = 'absolute';
            btn.style.right = '9px';
            btn.style.top = '10px';
            btn.style.zIndex = '80';
            btn.src = option.closeimg;
            self._set_cursor(btn);
            Event.register(btn,'click',function(evt) { self._close(evt); });
        }
        // caption text
        var caption = document.createElement('span');
        box.appendChild(caption);
        caption.id = 'lightboxCaption';
        caption.style.display = 'none';
        caption.style.position = 'absolute';
        caption.style.zIndex = '80';
        if (self._resizable)
        {
            var overall = document.createElement('div');
            obj.appendChild(overall);
            overall.id = 'lightboxOverallView';
            overall.style.display = 'none';
            overall.style.position = 'absolute';
            overall.style.zIndex = '70';
            self._overall = overall;
            var indicator = document.createElement('div');
            obj.appendChild(indicator);
            indicator.id = 'lightboxIndicator';
            indicator.style.display = 'none';
            indicator.style.position = 'absolute';
            indicator.style.zIndex = '80';
            self._indicator = indicator;
        }
        return box;
    },
    _set_photo_size : function()
    {
        var self = this;
        if (self._open == -1) return;
        var targ = { w:self._page.win.w - 30, h:self._page.win.h - 30 };
        var zoom = { x:15, y:15 };
        if (!self._expanded)
        { // shrink image with the same aspect
            var orig = { w:self._imgs[self._open].w, h:self._imgs[self._open].h };
            var ratio = 1.0;
            if ((orig.w >= targ.w || orig.h >= targ.h) && orig.h && orig.w)
                ratio = ((targ.w / orig.w) < (targ.h / orig.h)) ? targ.w / orig.w : targ.h / orig.h;
            self._img.width  = Math.floor(orig.w * ratio);
            self._img.height = Math.floor(orig.h * ratio);
            self._expandable = (ratio < 1.0) ? true : false;
            if (self._resizable) self._expandable = true;
            if (Browser.isWinIE) self._box.style.display = "block";
            self._imgpos.x = self._pos.x + (self._page.win.w - self._img.width - 30) / 2;
            self._imgpos.y = self._pos.y + (self._page.win.h - self._img.height - 30) / 2;
            self._show_caption(true);
            self._show_overall(false);
        }
        else
        { // zoomed or actual sized image
            var width  = parseInt(self._imgs[self._open].w * self._level);
            var height = parseInt(self._imgs[self._open].h * self._level);
            self._minpos.x = self._pos.x + self._page.win.w - width - 30;
            self._minpos.y = self._pos.y + self._page.win.h - height - 30;
            if (width <= targ.w)
                self._imgpos.x = self._pos.x + (self._page.win.w - width - 30) / 2;
            else
            {
                if (self._imgpos.x > self._pos.x) self._imgpos.x = self._pos.x;
                else if (self._imgpos.x < self._minpos.x) self._imgpos.x = self._minpos.x;
                zoom.x = 15 + self._pos.x - self._imgpos.x;
            }
            if (height <= targ.h)
                self._imgpos.y = self._pos.y + (self._page.win.h - height - 30) / 2;
            else
            {
                if (self._imgpos.y > self._pos.y) self._imgpos.y = self._pos.y;
                else if (self._imgpos.y < self._minpos.y) self._imgpos.y = self._minpos.y;
                zoom.y = 15 + self._pos.y - self._imgpos.y;
            }
            self._img.width  = width;
            self._img.height = height;
            self._show_caption(false);
            self._show_overall(true);
        }
        self._box.style.left = [self._imgpos.x,'px'].join('');
        self._box.style.top  = [self._imgpos.y,'px'].join('');
        self._zoomimg.style.left = [zoom.x,'px'].join('');
        self._zoomimg.style.top  = [zoom.y,'px'].join('');
        self._wrap.style.left = self._pos.x;
    },
    _show_overall : function(visible)
    {
        var self = this;
        if (self._overall == null) return;
        if (visible)
        {
            if (self._open == -1) return;
            var base = 100;
            var outer = { w:0, h:0, x:0, y:0 };
            var inner = { w:0, h:0, x:0, y:0 };
            var orig = { w:self._img.width , h:self._img.height };
            var targ = { w:self._page.win.w - 30, h:self._page.win.h - 30 };
            var max = orig.w;
            if (max < orig.h) max = orig.h;
            if (max < targ.w) max = targ.w;
            if (max < targ.h) max = targ.h;
            if (max < 1) return;
            outer.w = parseInt(orig.w / max * base);
            outer.h = parseInt(orig.h / max * base);
            inner.w = parseInt(targ.w / max * base);
            inner.h = parseInt(targ.h / max * base);
            outer.x = self._pos.x + targ.w - base - 20;
            outer.y = self._pos.y + targ.h - base - 20;
            inner.x = outer.x - parseInt((self._imgpos.x - self._pos.x) / max * base);
            inner.y = outer.y - parseInt((self._imgpos.y - self._pos.y) / max * base);
            self._overall.style.left = [outer.x,'px'].join('');
            self._overall.style.top  = [outer.y,'px'].join('');
            self._overall.style.width  = [outer.w,'px'].join('');
            self._overall.style.height = [outer.h,'px'].join('');
            self._indicator.style.left = [inner.x,'px'].join('');
            self._indicator.style.top  = [inner.y,'px'].join('');
            self._indicator.style.width  = [inner.w,'px'].join('');
            self._indicator.style.height = [inner.h,'px'].join('');
            self._overall.style.display = 'block'
            self._indicator.style.display = 'block';
        }
        else
        {
            self._overall.style.display = 'none';
            self._indicator.style.display = 'none';
        }
    },
    _set_size : function(onResize)
    {
        var self = this;
        if (self._open == -1) return;
        self._page.update();
        self._pos.update();
        var spin = self._wrap.firstChild;
        if (spin)
        {
            var top = (self._page.win.h - spin.height) / 2;
            if (self._wrap.style.position == 'absolute') top += self._pos.y;
            spin.style.top  = [top,'px'].join('');
            spin.style.left = [(self._page.win.w - spin.width - 30) / 2,'px'].join('');
        }
        if (Browser.isWinIE)
        {
            self._wrap.style.width  = [self._page.win.w,'px'].join('');
            self._wrap.style.height = [self._page.h,'px'].join('');
        }
        if (onResize) self._set_photo_size();
    },
    _show_action : function()
    {
        var self = this;
        if (self._open == -1 || !self._expandable) return;
        var obj = document.getElementById('actionImage');
        if (!obj) return;
        obj.src = (self._expanded) ? self._shrink : self._expand;
        obj.style.display = 'inline';
    },
    _hide_action : function()
    {
        var self = this;
        var obj = document.getElementById('actionImage');
        if (obj) obj.style.display = 'none';
        if (self._open > -1 && self._expanded) self._dragstop(null);
    },
    _zoom : function()
    {
        var self = this;
        if (self._expanded)
        {
            self._reset_func();
            self._expanded = false;
        }
        else if (self._open > -1)
        {
            self._level = 1;
            self._imgpos.x = self._pos.x;
            self._imgpos.y = self._pos.y;
            self._expanded = true;
            self._funcs.drag  = function(evt) { self._dragstart(evt) };
            self._funcs.dbl   = function(evt) { self._close(null) };
            if (self._resizable)
            {
                self._funcs.wheel = function(evt) { self._onwheel(evt) };
                Event.register(self._box,'mousewheel',self._funcs.wheel);
            }
            Event.register(self._img,'mousedown',self._funcs.drag);
            Event.register(self._img,'dblclick',self._funcs.dbl);
        }
        self._set_photo_size();
        self._show_action();
    },
    _reset_func : function()
    {
        var self = this;
        if (self._funcs.wheel != null) Event.deregister(self._box,'mousewheel',self._funcs.wheel);
        if (self._funcs.move  != null) Event.deregister(self._img,'mousemove',self._funcs.move);
        if (self._funcs.up    != null) Event.deregister(self._img,'mouseup',self._funcs.up);
        if (self._funcs.drag  != null) Event.deregister(self._img,'mousedown',self._funcs.drag);
        if (self._funcs.dbl   != null) Event.deregister(self._img,'dblclick',self._funcs.dbl);
        self._funcs = {'move':null,'up':null,'drag':null,'wheel':null,'dbl':null};
    },
    _onwheel : function(evt)
    {
        var self = this;
        var delta = 0;
        evt = Event.getEvent(evt);
        if (evt.wheelDelta)  delta = event.wheelDelta/-120;
        else if (evt.detail) delta = evt.detail/3;
        if (Browser.isOpera) delta = - delta;
        var step =
              (self._level < 1) ? 0.1
            : (self._level < 2) ? 0.25
            : (self._level < 4) ? 0.5
            : 1;
        self._level = (delta > 0) ? self._level + step : self._level - step;
        if (self._level > 8) self._level = 8;
        else if (self._level < 0.5) self._level = 0.5;
        self._set_photo_size();
        return Event.stop(evt);
    },
    _dragstart : function(evt)
    {
        var self = this;
        evt = Event.getEvent(evt);
        self._curpos.x = evt.screenX;
        self._curpos.y = evt.screenY;
        self._funcs.move = function(evnt) { self._dragging(evnt); };
        self._funcs.up   = function(evnt) { self._dragstop(evnt); };
        Event.register(self._img,'mousemove',self._funcs.move);
        Event.register(self._img,'mouseup',self._funcs.up);
        return Event.stop(evt);
    },
    _dragging : function(evt)
    {
        var self = this;
        evt = Event.getEvent(evt);
        self._imgpos.x += evt.screenX - self._curpos.x;
        self._imgpos.y += evt.screenY - self._curpos.y;
        self._curpos.x = evt.screenX;
        self._curpos.y = evt.screenY;
        self._set_photo_size();
        return Event.stop(evt);
    },
    _dragstop : function(evt)
    {
        var self = this;
        evt = Event.getEvent(evt);
        if (self._funcs.move  != null) Event.deregister(self._img,'mousemove',self._funcs.move);
        if (self._funcs.up    != null) Event.deregister(self._img,'mouseup',self._funcs.up);
        self._funcs.move = null;
        self._funcs.up   = null;
        self._set_photo_size();
        return (evt) ? Event.stop(evt) : false;
    },
    _show_caption : function(enable)
    {
        var self = this;
        var caption = document.getElementById('lightboxCaption');
        if (!caption) return;
        if (caption.innerHTML.length == 0 || !enable)
        {
            caption.style.display = 'none';
        }
        else
        { // now display caption
            caption.style.top = [self._img.height + 10,'px'].join(''); // 10 is top margin of lightbox
            caption.style.left = '0px';
            caption.style.width = [self._img.width + 20,'px'].join(''); // 20 is total side margin of lightbox
            caption.style.height = '1.2em';
            caption.style.display = 'block';
        }
    },
    _show : function(num)
    {
        var self = this;
        var imag = new Image;
        if (num < 0 || num >= self._imgs.length) return;
        var loading = document.getElementById('loadingImage');
        var caption = document.getElementById('lightboxCaption');
        self._open = num; // set opened image number
        self._set_size(false); // calc and set wrapper size
        self._wrap.style.display = "block";
        if (loading) loading.style.display = 'inline';
        imag.onload = function() {
            if (self._imgs[self._open].w == -1)
            { // store original image width and height
                self._imgs[self._open].w = imag.width;
                self._imgs[self._open].h = imag.height;
            }
            if (caption) caption.innerHTML = self._imgs[self._open].title;
            self._set_photo_size(); // calc and set lightbox size
            self._hide_action();
            self._box.style.display = "block";
            self._img.src = imag.src;
            self._img.setAttribute('title',self._imgs[self._open].title);
            self._timer = window.setInterval( function() { self._set_size(true) } , 100);
            if (loading) loading.style.display = 'none';
        };
        self._expandable = false;
        self._expanded = false;
        imag.src = self._imgs[self._open].src;
    },
    _set_cursor : function(obj)
    {
        var self = this;
        if (Browser.isWinIE && !Browser.isNewIE) return;
        obj.style.cursor = 'pointer';
    },
    _close : function(evt)
    {
        var self = this;
        if (evt != null)
        {
            evt = Event.getEvent(evt);
            var targ = evt.target || evt.srcElement;
            if (targ && targ.getAttribute('id') == 'lightboxImage' && self._expanded) return;
        }
        self._open = -1;
        self._hide_action();
        self._wrap.style.display = "none";
        self._box.style.display  = "none";
        self._reset_func();
        self._show_overall(false);
        if (self._timer != null)
        {
             window.clearInterval(self._timer);
             self._timer = null;
        }
    }
};
Event.register(window,"load",function() {
    var lightbox = new LightBox({
        loadingimg:'http://hulan.cz/styles/hulan.cz/lightbox/loading.gif',
        expandimg:'http://hulan.cz/styles/hulan.cz/lightbox/expand.gif',
        shrinkimg:'http://hulan.cz/styles/hulan.cz/lightbox/shrink.gif',
        closeimg:'http://hulan.cz/styles/hulan.cz/lightbox/close.gif',
        resizable:true
    });
});
