/*
 * type = week, midweek or weekend
 * 
 */

function reserveer( object, year, week, type ) {
    var form = object.form;
    var selection = false;
    var firstselected = 'none';
    var lastselected = 'none';
    // WHAT IS SELECTED?
    for( i = 0; i < form.length; i++ ) {
        if( form.elements[i].type == 'checkbox' ) {
            if( form.elements[i].checked ) {
                if( firstselected == 'none' ) {
                    firstselected = form.elements[i].id;
                }
                lastselected = form.elements[i].id;                
            }
        }
    }
    // WHICH SHOULD BE ENABLED?
    if( lastselected != 'none' ) {
        var split = lastselected.split('-');
        var lastyear = parseInt(split[1]); 
        var lastweek = parseInt(split[2]);
        var lasttype = split[3];
        // MULTIPLE SELECTED && CLICK ON SELECTED (NOT LAST) RETURN (DO NOTHING)
        if( lastyear > year || ( lastyear == year && lastweek > week ) ) {
            object.checked = true;
            return;
        }
        // CALCULATE WHICH TO ENABLE        
        if( lasttype == 'weekend' ) {
            var enable1 = 'reserveer-' + lastyear + '-' + lastweek + '-midweek';
            var enable2 = 'reserveer-' + lastyear + '-' + lastweek + '-midweek';
        } else {
            var nextweek = lastweek + 1;
            var nextyear = lastyear;
            if( nextyear == 2004 && nextweek == 54 ) {
                nextyear = 2005;
                nextweek = 1;
            } else if( nextweek == 53 ) {
                nextyear = (lastyear + 1);
                nextweek = 1;
            }
            var enable1 = 'reserveer-' + nextyear + '-' + nextweek + '-week';
            var enable2 = 'reserveer-' + nextyear + '-' + nextweek + '-weekend';
        }
    }
    // IF NONE SELECTED 
    if( firstselected == 'none' ) {
        for( i = 0; i < form.length; i++ ) {
            if( form.elements[i].type == 'checkbox' ) {
                form.elements[i].checked = false;
                form.elements[i].style.visibility = 'visible';
            }
        }
    // IF FIRST SELECTION            
    } else if( firstselected == object.id ) {
        if( object.checked ) {
            var before = true;
            for( i = 0; i < form.length; i++ ) {
                if( form.elements[i].type == 'checkbox' ) {
                    if( before ) {
                        // DISABLE ALL BEFORE FIRST SELECTEd'
                        if( form.elements[i].id != object.id ) {
                            form.elements[i].checked = false;
                            form.elements[i].style.visibility = 'hidden';
                        } else {
                            before = false;
                        }
                    } else {
                        // DISABLE ITEMS AFTER FIRST SELECTED
                        if( form.elements[i].id != enable1 && form.elements[i].id != enable2 ) {
                            form.elements[i].checked = false;
                            form.elements[i].style.visibility = 'hidden';
                        }                            
                    }
                } 
            }            
        } else {
            for( i = 0; i < form.length; i++ ) {
                form.elements[i].style.visibility = 'visible';
            }
        }
    // NOT THE FIRST SELECTION
    } else {
        // WHICHT TO ENABLE AFTER LAST SELECTION
        var after = false;
        for( i = 0; i < form.length; i++ ) {
            if( form.elements[i].type == 'checkbox' ) {
                if( after ) {
                    if( form.elements[i].id == enable1 || form.elements[i].id == enable2 ) {
                        form.elements[i].checked = false;
                        form.elements[i].style.visibility = 'visible';
                    } else {
                        form.elements[i].checked = false;
                        form.elements[i].style.visibility = 'hidden';
                    }
                } else {
                    if( form.elements[i].id == object.id ) {
                        after = true;
                    }
                }
            }
        }
    }
}

function DeleteChild( iIdx )
{
    var number = document.getElementById( "ChildNumberSelect" ).options[document.getElementById( "ChildNumberSelect" ).selectedIndex].value;
    for( var i = iIdx; i < number; i++ )
    {
        var next = i + 1;
        document.LocalPriceForm.elements["child[" + i + "][name]"].value = document.LocalPriceForm.elements["child[" + next + "][name]"].value;
        document.LocalPriceForm.elements["child[" + i + "][voorletters]"].value = document.LocalPriceForm.elements["child[" + next + "][voorletters]"].value;
        document.LocalPriceForm.elements["date_day[" + i + "]"].value = document.LocalPriceForm.elements["date_day[" + next + "]"].value;
        document.LocalPriceForm.elements["date_month[" + i + "]"].value = document.LocalPriceForm.elements["date_month[" + next + "]"].value;
        document.LocalPriceForm.elements["date_year[" + i + "]"].value = document.LocalPriceForm.elements["date_year[" + next + "]"].value;        
    }
    document.getElementById( 'Child' + number ).style.display = DisplayValue( "none" );
    setDisableAllContainingFields( document.getElementById( 'Child' + number ), true );
    document.LocalPriceForm.elements["child[" + number + "][name]"].value = "";
    document.LocalPriceForm.elements["child[" + number + "][voorletters]"].value = "";
    document.LocalPriceForm.elements["date_day[" + i + "]"].value = "1";
    document.LocalPriceForm.elements["date_month[" + i + "]"].value = "1";
    document.LocalPriceForm.elements["date_year[" + i + "]"].value = "2000";
    document.getElementById( "ChildNumberSelect" ).selectedIndex = document.getElementById( "ChildNumberSelect" ).selectedIndex - 1;
}

function ChildNumberChange()
{
    var number = document.getElementById( "ChildNumberSelect" ).options[document.getElementById( "ChildNumberSelect" ).selectedIndex].value;
    for( var i = 1; i <= 7; i++ )
    {
        if( i <= number )
        {
            document.getElementById( "Child" + i ).style.display = DisplayValue( "table-row" );
            setDisableAllContainingFields( document.getElementById( "Child" + i ), false );
        }
        else
        {
            document.getElementById( "Child" + i ).style.display = DisplayValue( "none" );
            setDisableAllContainingFields( document.getElementById( "Child" + i ), true );
        }
    }
}

function ChildCalculateCosts( iIdx )
{
    var hours = document.getElementById( 'ChildHours' + iIdx ).value;
    var value = 0;
    if( formatToNumber( hours ) > 0 )
    {
        value = formatToNumber( hours ) * 6.1;
    }
    
    document.getElementById( 'ChildCosts' + iIdx ).innerHTML = '&euro; ' + formatToString( value );
}

function formatToNumber( string )
{
    var value = string.replace( ',', '.' );
    return parseFloat( value );
}

function formatToString( number )
{
    var string = number.toString();
    string = string.replace( '.', ',' );
    var index = string.lastIndexOf( ',' );
    if( index < 0 )
    {
        index = index * -1;
    }
    for( i = string.length - index; i <= 2; i++ )
    {
        if( string.lastIndexOf( ',' ) == -1 )
        {
            string = string + ',';
        }
        string = string + '0';
    }
    return string;
}

function applierIsGuest()
{
    var checkbox = document.getElementById( 'applier_is_guest' );
    
    var applier_initials = document.getElementsByName( 'voorletters' );
    var applier_name = document.getElementsByName( 'naam' );
    var applier_gender = document.getElementsByName( 'geslacht' );
    var applier_date_day = document.getElementsByName( 'date_day[0]' );
    var applier_date_month = document.getElementsByName( 'date_month[0]' );
    var applier_date_year = document.getElementsByName( 'date_year[0]' );
        
    var guest_initials = document.getElementsByName( 'child[1][voorletters]' );
    var guest_name = document.getElementsByName( 'child[1][name]' );
    var guest_gender = document.getElementsByName( 'child[1][gender]' );
    var guest_date_day = document.getElementsByName( 'date_day[1]' );
    var guest_date_month = document.getElementsByName( 'date_month[1]' );
    var guest_date_year = document.getElementsByName( 'date_year[1]' );
    
    var num_of_years = guest_date_year[0].options.length;
    for( i = 0; i <= num_of_years -1; i++ )
    {
        if( guest_date_year[0].options[i].value == applier_date_year[0].value )
        {
            var year_index = i;
        }
    }
    
    var num_of_days = guest_date_day[0].options.length;
    for( i = 0; i <= num_of_days -1; i++ )
    {
        if( guest_date_day[0].options[i].value == applier_date_day[0].value )
        {
            var day_index = i;
        }
    }
    
    var num_of_months = guest_date_month[0].options.length;
    for( i = 0; i <= num_of_months -1; i++ )
    {
        if( guest_date_month[0].options[i].value == applier_date_month[0].value )
        {
            var month_index = i;
        }
    }
    
    if( checkbox.checked === true )
    {
        guest_initials[0].value = applier_initials[0].value;
        guest_name[0].value = applier_name[0].value;
        guest_gender[0].selectedIndex = applier_gender[0].selectedIndex;
        guest_date_day[0].selectedIndex = day_index;
        guest_date_month[0].selectedIndex = month_index;
        guest_date_year[0].selectedIndex = year_index;
        
    }
    else
    {
        guest_initials[0].value = '';
        guest_name[0].value = '';
        guest_gender[0].selectedIndex = 0;
        guest_date_day[0].selectedIndex = 0;
        guest_date_month[0].selectedIndex = 0;
        guest_date_year[0].selectedIndex = 0;
    }
}

function OpenPopupPage( page )
{
    document.getElementById( "PopupPageFrame" ).src = "/pagina/" + page + ".html?layout=popup";
    $( '#PopupPage' ).fadeIn('slow');
}

function PopupClose()
{
    $( '#PopupPage' ).fadeOut('slow');
}

// handle terms and conditions logic
$(document).ready( function() { 

    if( $('#step3_submit_button').length >  0 )
    {
        $('#step3_submit_button').hide();
        $('#agree_terms_conditions').bind( 'change.r', function() 
        {
            $('#step3_submit_button').toggle();
        });
    }

    if( $('#step2countryselect').length > 0 )
    {
        if (document.getElementById('step2countryselect').value != 25) 
        {
            $('#step2annuleringsverzekering').hide();
            $('#step2annuleringsverzekering').val( 'nee' );
        }
        else
        {
            $('#step2annuleringsverzekering').show();
        }
        
        $('#step2countryselect').bind('change.r', function() 
        {
            if( document.getElementById( 'step2countryselect' ).value != 25 )
            {
                $('#step2annuleringsverzekering').hide();
                $('#step2annuleringsverzekering').val( 'nee' );
            }
            else
            {
                $('#step2annuleringsverzekering').show();
            }
        });
    }

});

