var current_idx=-1;

function ShowMenu( tag )
{
    switch( tag )
    {
        case 'nyheter':
            file = 'menu_nyheter.gif';
            break;
        case 'medlemmer':
            file = 'menu_medlemmer.gif';
            break;
        case 'formal':
            file = 'menu_formal.gif';
            break;
        case 'styret':
            file = 'menu_styret.gif';
            break;
        case 'fagutvalg':
            file = 'menu_fagutvalg.gif';
            break;
        case 'about':
            file = 'menu_info.gif';
            break;
        case 'contact':
            file = 'menu_kontakt.gif';
            break;
        case 'register':
            file = 'menu_bli_medlem.gif';
            break;
        case 'vedtekter':
            file = 'menu_vedtekter.gif';
            break;
        default:
            file = 'menu_pionerene.gif';
            break;
    }
    var img = new Image();
    img.onload = function()
    {
        $('image_menu').src = this.src;
        new Effect.Opacity( 'image_menu', { from: 0, to: 1, duration: 0.35 } ); 
    }
    img.src = path + file;
}

function ShowNextImg()
{
    current_idx++; if( current_idx >= members.length ) current_idx = members.length - 1;
    RemoveChildNodes('map');
    //HideNavigation();
    DoEffect( members[current_idx][0], ShowNavigation );
    MakeMap( members[current_idx][1] );
}

function ShowPrevImg()
{
    current_idx--; if( current_idx < 0 ) current_idx = 0;
    RemoveChildNodes('map');
    //HideNavigation();
    DoEffect( members[current_idx][0], ShowNavigation );
    MakeMap( members[current_idx][1] );
}

function Members()
{
    current_idx = -1;
    HideRegisterForm();
    ShowMenu('members');
    ShowNextImg();
}

function Nyheter()
{
    HideRegisterForm();
    ShowMenu('nyheter');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( nyheter[0] );
    MakeMap( nyheter[1] );
}

function Medlemmer()
{
    HideRegisterForm();
    ShowMenu('medlemmer');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( medlemmer[0] );
    MakeMap( medlemmer[1] );
}

function Formal()
{
    HideRegisterForm();
    ShowMenu('formal');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( formal[0] );
    MakeMap( formal[1] );
}

function Styret()
{
    HideRegisterForm();
    ShowMenu('styret');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( styret[0] );
    MakeMap( styret[1] );
}

function Fagutvalg()
{
    HideRegisterForm();
    ShowMenu('fagutvalg');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( fagutvalg[0] );
    MakeMap( fagutvalg[1] );
}

function About()
{
    HideRegisterForm();
    ShowMenu('about');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( about[0] );
    MakeMap( about[1] );
}

function Contact()
{
    HideRegisterForm();
    ShowMenu('contact');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( contact[0] );
    MakeMap( contact[1] );
}

function Medlemmer()
{
    HideRegisterForm();
    ShowMenu('medlemmer');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( medlemmer[0] );
    MakeMap( medlemmer[1] );
}

function Vedtekter()
{
    HideRegisterForm();
    ShowMenu('vedtekter');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( vedtekter[0] );
    MakeMap( vedtekter[1] );
}

function Register()
{
    ShowMenu('register');
    HideNavigation();
    RemoveChildNodes('map');
    DoEffect( 'empty.gif', function() {ShowRegisterForm();} );
}

function HideNavigation()
{
    $('prev').hide();
    $('next').hide();
}

function ShowNavigation()
{
    if( current_idx > 0 ) $('prev').setOpacity(1);
    else $('prev').setOpacity(0.2);
    if( current_idx < (members.length-1) ) $('next').setOpacity(1);
    else $('next').setOpacity(0.2);
    $('prev').show();
    $('next').show();
}

function HideRegisterForm()
{
    $('register').hide();
}

function ShowRegisterForm()
{
    $('register').show();
    ClearRegisterForm();
    ReloadCode();
}

function ReloadCode()
{
    var img = new Image();
    img.onload = function()
    {
        $('protect_image').src = this.src;
    }
    var d = new Date();
    img.src = "?site.protect_image&d"+ d.getTime();
}

function ClearRegisterForm()
{
    $('firm').value = '';
    $('onumber').value = '';
    $('number_employees').value = '';
    $('address').value = '';
    $('zip').value = '';
    $('city').value = '';
    $('contact_person').value = '';
    $('pf_position').value = '';
    $('phone').value = '';
    $('email').value = '';
    $('homepage').value = '';
    $('protect_code').value = '';
    $('message').innerHTML = '';
}

function RegisterCall()
{
    if( CheckupRegisterForm() )
    {
        $('message').innerHTML = '';
        var d = new Date();
        JsHttpRequest.query(
            '?site.register&date='+ d.getTime(),
            {
                firm: $('firm').value,
                onumber: $('onumber').value,
                number_employees: $('number_employees').value,
                address: $('address').value,
                zip: $('zip').value,
                city: $('city').value,
                contact_person: $('contact_person').value,
                pf_position: $('pf_position').value,
                phone: $('phone').value,
                email: $('email').value,
                homepage: $('homepage').value,
                protect_code: $('protect_code').value,
                send_invoice: ($('send_invoice').checked )? 1 : 0,
                category_id: ($('category_id').checked )? 2 : 1
            },
            function( result, txt )
            {
                $('message').innerHTML = txt;
            }
        );
    }
    else
    {
        alert( "Please fill the all necessary fields!" );
    }
}

function CheckupRegisterForm()
{
    retval = true;
    
    //if( $('firm').value == '' ) retval = false;
    //if( $('onumber').value == '' ) retval = false;
    //if( $('number_employees').value == '' ) retval = false;
    if( $('address').value == '' ) retval = false;
    if( $('zip').value == '' ) retval = false;
    if( $('city').value == '' ) retval = false;
    if( $('contact_person').value == '' ) retval = false;
    //if( $('pf_position').value == '' ) retval = false;
    if( $('phone').value == '' ) retval = false;
    if( $('email').value == '' ) retval = false;
    //if( $('homepage').value == '' ) retval = false;
    if( $('protect_code').value == '' ) retval = false;
    
    return( retval );
}

function DoEffect( image, cb )
{
    var eff = new Effect.Opacity( 'img', { from: 1, to: 0, duration: 0.35, afterFinish: function(o) {
        var img = new Image();
        img.onload = function()
        {
            $('img').src = this.src;
            new Effect.Opacity( 'img', { from: 0, to: 1, duration: 0.35, afterFinish: function(o){ if( typeof(cb)=='function' ) cb(); } } );
        }
        img.src = path + image;
    } } ); 
}

function RemoveChildNodes( id )
{
    var nodes = $(id).childNodes;
    var i = nodes.length - 1;
    while( nodes.length > 0 )
    {
        $(id).removeChild( nodes[i] );
        i--;
    }
}

function MakeMap( map_element )
{
    me = map_element;
    el = $('map');
    for( var i=0; i<me.length; i++ )
    {
        n = document.createElement('area');
        n.setAttribute( 'href', me[i][4] );
        n.setAttribute( 'shape', 'rect' );
        n.setAttribute( 'coords', me[i][0] +','+ me[i][1] +','+ me[i][2] +','+ me[i][3] );
        el.appendChild( n );
    }
}
