var urllib = importModule("urllib")

function get_el ( el )
{
	return ( typeof(el) == "string" ) ? 
				el = document.getElementById(el) : 
				el
}

function hasClass( el, className )
{
	var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)')

	return re.test( get_el(el).className);
}

function addClass( el, className )
{
	el = get_el(el)
	if ( !hasClass( el, className ) )
	{
		el.className += (" " + className)
	}
}

function removeClass( el, className )
{
	el = get_el(el)
	var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', 'g')
	if ( hasClass( el, className ) )
	{
		el.className = el.className.replace( re, ' ' )

		// in case of duplicates
		if ( hasClass( el, className ) )
			removeClass( el, className );
	}
}


function hide( el )
{
	get_el(el).style.display = 'none' 
}

function show( el )
{
	get_el(el).style.display = '' 
}

function toggle_display( el )
{
	el = get_el(el)
	if ( el.style.display == 'none' )
		show(el)
	else
		hide(el)
}


function getScrollXY() 
{
    var scrOfX = 0, scrOfY = 0;
    if( typeof( window.pageYOffset ) == 'number' ) 
    {
        // Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } 
    else if( document.body && 
             ( document.body.scrollLeft || document.body.scrollTop ) ) 
    {
        // DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } 
    else if( document.documentElement && 
            ( document.documentElement.scrollLeft || 
              document.documentElement.scrollTop ) ) 
    {
        // IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }

    return [ scrOfX, scrOfY ];
}


function getCursorPosition( e ) 
{
    if (e.pageX || e.pageY) 
	{
        x = e.pageX;
        y = e.pageY;
    }
    else if (e.clientX || e.clientY) 
	{
        var scroll = getScrollXY( )
        x = e.clientX + scroll[0];
        y = e.clientY + scroll[1];
    }

    return [x,y]
}

function createLabel( id, text )
{
	var label = document.createElement("label")
	label.control = id
	label.appendChild(document.createTextNode(text))
	return label
}

function sessionUpdate( )
{
	urllib.getURL( "session-update.php" );

	setTimeout( "sessionUpdate()", 5000 );
}
