/* Misc scripts */

/* Switch tab content */

var currentTabID = false;

function switchTabContent( tabID )
{
    if ( !currentTabID )
    {
        currentTabID = document.getElementById( tabID ).parentNode.getElementsByTagName( 'LI' )[0].id;
    }

    document.getElementById( currentTabID ).className = '';
    document.getElementById( currentTabID + '-content' ).className = 'hide';
    document.getElementById( tabID ).className = 'selected';
    document.getElementById( tabID + '-content' ).className = '';
    currentTabID = tabID;
}

/* Anti spam e-mail replacement link */

function insertEmailLink( element )
{
    var emailAddress = '';

    while ( element.childNodes.length > 0 )
    {
        if ( element.firstChild.nodeType == 3 ) 
        {
            emailAddress += element.firstChild.nodeValue;
        }
        element.removeChild( element.firstChild );
    }
    
    var newLink = document.createElement('a');
    newLink.href = 'mailto:' + emailAddress;
    newLink.appendChild( document.createTextNode( emailAddress ) );
    element.parentNode.replaceChild( newLink, element );

    location.href = 'mailto:' + emailAddress;
}

/* Open in new window */

function openInNewWindow( event )
{
    if ( !event )
    {
        event = window.event;
    }
    var target = ( event.target )? event.target: event.srcElement;
    var width = 600;
    var height = 400;
    var sx = screen.width / 2 - width / 2;
    var sy = screen.height / 2 - height / 2;
    var win = window.open( target.href, '_blank', 'width=' + width + ',height=' + height + ',location=0,scrollbars=1,menu=0,status=0,titlebar=0,title=0,toolbar=0,screenx='
        + sx +',left=' + sx + ',screeny=' + sy + ',top=' + sy );
    return ( win )? false: true;
}


/* AJAX Functions */

function toggleContent( id, url )
{
    var element = $(id);
    if ( !element )
    {
        return true;
    }

    if ( element.hasClassName( 'not-loaded' ) )
    {
        element.removeClassName( 'not-loaded' );
        element.addClassName( 'visible' );
        new Ajax.Updater( element, url, { method: 'get' } );
    }
    else
    {
        element.toggle();
    }

    return false;
}

function formSubmit( id, url, form )
{
    var element = $(id);
    if ( !element )
    {
        return true;
    }

    new Ajax.Updater( element, url, { parameters: Form.serialize( form, true ) } );
    return false; 
}
