/*
 * Version: $Revision: 42789 $
 * Author: BeSite <info@besite.nl>
 * Copyright 2009 BeSite
 */

var maxStep = 5;

function prevStep( )
{
    var step = getActiveStep( );
    
    if ( step > 1 )
    {
        switchStep( step, step - 1);
    }
    
    // Analytics
    if( typeof( _gaq ) !== 'undefined' )
    {
        var previousStepAnalytics = step - 1;
        var customPageName = '/offerte-aanvragen/stap-' + previousStepAnalytics + '.html';
        _gaq.push(['_trackPageview', customPageName ]);
    }
    // End Analytics
    
    $('html,body').animate({scrollTop: $("#Navigator").offset().top}, 250);
}

function nextStep( )
{
    var step = getActiveStep( );
    if ( step < maxStep )
    {
        switchStep( step, step + 1);
    }
    
    // Analytics
    if( typeof( _gaq ) !== 'undefined' )
    {
        var nextStepAnalytics = step + 1;
        var customPageName = '/offerte-aanvragen/stap-' + nextStepAnalytics + '.html';
        _gaq.push(['_trackPageview', customPageName ]);
    }
    // End Analytics
    
    $('html,body').animate({scrollTop: $("#Progress").offset().top}, 250);
}

function getActiveStep( )
{
    var step = 0;
    
    for ( var i = 1; i <= maxStep; i++ )
    {
        if ( $('TABLE#Step' + i + ':visible').length == 1 )
        {
            step = i;
            break;
        }
    }
    
    return step;
}

function switchStep( from, to )
{
    if ( to < from || checkStep( from ) )
    {
        hideStep( from );
        showStep( to );
        updateNavigator( to );
        updateProgressBar( to );
        $("#Bottom").hide().show(); // force redraw for IE
    }
}

function hideStep( step )
{
    // Hide from
    $("TABLE#Step" + step).hide();
}

function showStep( step )
{
    // Show step
    $("TABLE#Step" + step).show();
}

function updateNavigator( step )
{
    // Hide or show Back
    if ( step == 1 )
    {
        $("#Back").hide();
    }
    else
    {
        $("#Back").show();
    }
    
    // Hide or show Next
    if ( step == maxStep )
    {
        $("#Next").hide();
    }
    else
    {
        $("#Next").show();
    }
}

function updateProgressBar( step )
{
    // Update progressbar
    $("IMG#Progress").get(0).src = '/img/step' + step + '.png';
}

function checkStep( step )
{
    _checkFormFocussed = false;
    _checkFormErrorMsg = "";
    _checkFormErrorElement = "";
    _checkingFormId = 1;
    var checkFormRes = true;
    $("TABLE#Step" + step + " :input:enabled").each( function()
        {
            if ( this.type == 'radio' )
            {
                var radios = new Array();
                for ( var i = 0; i < $("TABLE#Step" + step + " INPUT[type=radio][name=" + this.name + "]:enabled").length; i++ )
                {
                    radios[radios.length] = $("TABLE#Step" + step + " INPUT[type=radio][name=" + this.name + "]:enabled").get( i );
                }
                checkFormRes = _checkRadio( radios ) && checkFormRes;
            }
            else
            {
                checkFormRes = checkField( 1, this ) && checkFormRes;
            }
        } );
    
    if ( !checkFormRes )
    {
        alert( _checkFormErrorMsg + ( Debug() ? " [" + _checkFormErrorElement + "]" : "" ) );
    }
    return checkFormRes;
}
