// Copyright (c) 2004 Ben Schumacher. All Rights Reserved.
// URL: http://blog.benschumacher.com/index.rb
if (document.getElementById)
{
    var back_link = '<a href="#" onClick="return(screen_back());" style="white-space: nowrap;" id="screen_nav_back">&lt;&lt; back</a>';
    var next_link = '<a href="#" onClick="return(screen_next());" style="white-space: nowrap;" id="screen_nav_next">more &gt;&gt;</a>';
    var nbsp = '&nbsp;';

    var td_elem = document.createElement('td');
    var td_left = null;
    var td_right = null;

    function screen_preload()
    {
        for (c = 0; c < screens.length; ++c)
        {
            screens[c]['preload'] = new Image();
            screens[c]['preload'].src = screens[c]['image'];
        }
    }

    function screen_nav()
    {
        if (td_left == null && td_right == null)
        {
            var screen_tr = document.getElementById('_screen_nav');
            if (screen_tr)
            {
                while (screen_tr.hasChildNodes())
                {
                    screen_tr.removeChild(screen_tr.firstChild);
                }

                td_left = td_elem.cloneNode(false);
                td_left.setAttribute('style', 'text-align: left; white-space: nowrap;');
                td_left.setAttribute('width', '50%');

                td_right = td_elem.cloneNode(false);
                td_right.setAttribute('style', 'text-align: right; white-space: nowrap;');
                td_right.setAttribute('width', '50%');
                td_right.setAttribute('align', 'right');

                screen_tr.appendChild(td_left);
                screen_tr.appendChild(td_right);
            }
        }

        td_left.innerHTML = ((screen_cur - 2) > -1 ? back_link : nbsp);
        td_right.innerHTML = ((screen_cur + 2) < screen_num ? next_link : nbsp)

        var current_href = window.location.toString();
        var base_href = current_href.split('?')[0];
        if (screen_cur - 2 > -1)
        {
            var href = base_href;
            href += (screen_cur - 2 > 0 ? '?SSMin=' + (screen_cur - 2) : '');
            a_back = document.getElementById('screen_nav_back');
            a_back.setAttribute('href', href);
        }
        else if (screen_cur + 2 < screen_num)
        {
            var href = base_href;
            href += '?SSMin=' + (screen_cur + 2);
            a_next = document.getElementById('screen_nav_next');
            a_next.setAttribute('href', href);
        }
    }

    function screen_back()
    {
        var new_base = screen_cur - 2;

        if (new_base + 1 < screen_num)
        {
            // this little trick allows us to create container 1 if
            // it doesn't exist
            var span = document.getElementById('img_1_container');
            if (span)
            {
                span.style.display = 'inline';
            }
            else
            {
                var sibling = document.getElementById('img_0_container');
                span = sibling.cloneNode(true);
                span.id = 'img_1_container';

                var html = span.innerHTML;
                span.innerHTML = html.replace(/img_0/g, 'img_1');
                sibling.parentNode.appendChild(span);
            }
        }

        screen_update(new_base);

        return(false);
    }

    function screen_next()
    {
        var new_base = screen_cur + 2;
        
        if (new_base + 1 >= screen_num)
        {
            var span = document.getElementById('img_1_container');
            span.style.display = 'none';
        }

        screen_update(new_base);

        return(false);
    }

    function screen_update(base)
    {
        for (var c = 0; c < 2; ++c)
        {
            if (base + c >= screen_num)
            {
                continue;
            }

            var link_elem = document.getElementById('img_' + c + '_link');
            var image_elem = document.getElementById('img_' + c);
            
            var screen = screens[base + c];
            var img = (screen['preload'] ? screen['preload'] : new Image());
            if (img.src == null || !img.src)
            {
                img.src = screen['image'];
            }

            link_elem.href = screen['link'];
            image_elem.src = img.src;
            image_elem.title = screen['title'];
        }

        screen_cur = base;
        screen_nav();
    }

    if (window.onload)
    {
        var closure = window.onload;
        window.onload = function(evt)
        {
            closure(evt);
            screen_preload();
            screen_nav();
        }
    }
    else
    {
        window.onload = function(evt)
        {
            screen_preload();
            screen_nav();
        }
    }
}

