﻿// The sPressionist basic JavaScript 

function $(id) { return document.getElementById(id); }

function toTop()
{
    self.scrollTo(0, 0)
}

function setFlashVisibility(visibility)
{
    objs = document.getElementsByTagName("OBJECT");
    for (var i = 0; i < objs.length; i++)
    {
        if (!visibility)
        {
            objs[i].style.visibility = "hidden";
            objs[i].disabled = true;
            objs[i].style.display = 'none';
        }
        else
        {
            objs[i].style.visibility = "visible";
            objs[i].disabled = false;
            objs[i].style.display = 'block';
        }
    }
    embeds = document.getElementsByTagName("EMBED");
    for (var i = 0; i < embeds.length; i++)
    {
        if (!visibility)
        {
            embeds[i].style.visibility = "hidden";
            embeds[i].disabled = true;
            embeds[i].style.display = 'none';
        }
        else
        {
            embeds[i].style.visibility = "visible";
            embeds[i].disabled = true;
            embeds[i].style.display = 'block';
        }
    }
}

function show(ev, element, elementBg)
{
    if (!ev) ev = window.event;  // IE Event Model
    
    toTop();
    setFlashVisibility(false);
    elementBg.style.display = 'block';
    element.style.display = 'block';

    if (ev.stopPropagation) e.stopPropagation();  // DOM Level 2
    else ev.cancelBubble = true;                  // IE
    
}
function hide(element, elementBg)
{
    toTop();
    setFlashVisibility(true);
    elementBg.style.display = 'none';
    element.style.display = 'none';

}

/* Client-side access to querystring name=value pairs
Version 1.3
28 May 2008
	
License (Simplified BSD):
http://adamv.com/dev/javascript/qslicense.txt
*/
function Querystring(qs)
{ // optionally pass a querystring to parse
    this.params = {};

    if (qs == null) qs = location.search.substring(1, location.search.length);
    if (qs.length == 0) return;

    // Turn <plus> back to <space>
    // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
    qs = qs.replace(/\+/g, ' ');
    var args = qs.split('&'); // parse out name/value pairs separated via &

    // split out each name=value pair
    for (var i = 0; i < args.length; i++)
    {
        var pair = args[i].split('=');
        var name = decodeURIComponent(pair[0]);

        var value = (pair.length == 2)
			? decodeURIComponent(pair[1])
			: name;

        this.params[name] = value;
    }
}

Querystring.prototype.get = function(key, default_)
{
    var value = this.params[key];
    return (value != null) ? value : default_;
}

Querystring.prototype.contains = function(key)
{
    var value = this.params[key];
    return (value != null);
}

