
var gTurnoverCostCalculator_lang                  = 'eng';
var gTurnoverCostCalculator_title                 = 'How much is a disappearing workforce costing you?';
var gTurnoverCostCalculator_label_calculate       = 'Calculate!';
var gTurnoverCostCalculator_rangeSeparator        = ' to ';
var gTurnoverCostCalculator_replacementMin        = 8000;
var gTurnoverCostCalculator_replacementMax        = 10000;
var gTurnoverCostCalculator_defaultValue          = '?';
var gTurnoverCostCalculator_label_currency        = '$';
var gTurnoverCostCalculator_currencyPostfix       = false;
var gTurnoverCostCalculator_logo_path             = 'turnoverCostCalculator.logo.en.png';
var gTurnoverCostCalculator_logo_width            = 221;
var gTurnoverCostCalculator_logo_height           = 45;

function turnoverCostCalculator_displayCalculator()
{
    var logoWidth = '';
    if( gTurnoverCostCalculator_logo_width )
    {
        logoWidth = ' width="' + gTurnoverCostCalculator_logo_width + '"';
    }

    var logoHeight = '';
    if( gTurnoverCostCalculator_logo_height )
    {
        logoHeight = ' height="' + gTurnoverCostCalculator_logo_height + '"';
    }

    var html =
        '<div id="turnoverCostCalculator_calculatorWrapper">'
      + '<div id="turnoverCostCalculator_calculator">'
      + '<form action="" method="post" id="turnoverCostCalculator_form">'

      + '<div class="turnoverCostCalculator-container-turnoverCount">'
      + '<div class="turnoverCostCalculator-container-turnoverCountField">'
      + '<input type="text" name="turnoverCount" id="turnoverCostCalculator_turnoverCount" />'
      + '</div>'
      + '</div>'

      + '<div class="turnoverCostCalculator-container-turnoverCost">'
      + '<div class="turnoverCostCalculator-container-turnoverCostField">'
      + '<span id="turnoverCostCalculator_turnoverCost">'
      + gTurnoverCostCalculator_defaultValue
      + '</span>'
      + '</div>'
      + '</div>'

      + '<div class="turnoverCostCalculator-container-calculate">'
      + '<div class="turnoverCostCalculator-container-calculateField">'
      + '<input type="button" name="calculate" id="turnoverCostCalculator_calculate" value="' + gTurnoverCostCalculator_label_calculate + '" />'
      + '</div>'
      + '</div>'

      + '</form>'
      + '</div>'
      + '</div>';

    document.write( html );
}

function turnoverCostCalculator_assignEventHandlers()
{
    var e = null;

    if( !document.getElementById )
    {
        return;
    }

    if( (e = document.getElementById( 'turnoverCostCalculator_turnoverCount' )) )
    {
        e.onchange = turnoverCostCalculator_setDefaultValue;
    }

    if( (e = document.getElementById( 'turnoverCostCalculator_calculate' )) )
    {
        e.onclick = turnoverCostCalculator_calculate;
    }

    if( (e = document.getElementById( 'turnoverCostCalculator_form' )) )
    {
        e.onsubmit = turnoverCostCalculator_calculate;
    }
}

function turnoverCostCalculator_strrev( text )
{
    var reversed = '';
    var i = 0;

    text = '' + text;
    for( i = text.length - 1; i >= 0; i-- )
    {
        reversed += text.charAt( i );
    }

    return reversed;
}

function turnoverCostCalculator_asMoney( value )
{
    var part1 = 0;
    var part2 = 0;

    var grouper = ',';
    var decimal = '.';

    if( gTurnoverCostCalculator_lang == 'fra' )
    {
        grouper = ' ';
        decimal = ',';
    }

    part1 = Math.floor( value );
    part2 = value - part1;

    temp = turnoverCostCalculator_strrev( part1 );
    part1 = '';
    for( var i = 0; i < temp.length; i++ )
    {
        part1 += temp.charAt( i );
        if( (i % 3) == 2 )
        {
            part1 += grouper;
        }
    }
    part1 = turnoverCostCalculator_strrev( part1 );
    if( part1.charAt( 0 ) == grouper )
    {
        part1 = part1.substr( 1 );
    }

    part2 = '' + part2;
    part2 = part2.replace( /^[^.]*\./, '' ) + '000';
    part2 = part2.substr( 0, 2 );

    var money = part1; // + '.' + part2;
    if( gTurnoverCostCalculator_currencyPostfix )
    {
        money = '' + money + ' ' + gTurnoverCostCalculator_label_currency;
    }
    else
    {
        money = '' + gTurnoverCostCalculator_label_currency + money;
    }

    return money;
}

function turnoverCostCalculator_setDefaultValue()
{
    var e = null;

    if( (e = document.getElementById( 'turnoverCostCalculator_turnoverCost' )) )
    {
        e.innerHTML = gTurnoverCostCalculator_defaultValue;
    }
}

function turnoverCostCalculator_calculate()
{
    var regexNumber = /^[[:digit:]]*(\.[[:digit:]]*)?/

    var eTurnoverCount   = null;
    var eTurnoverCost    = null;
    var eLabel           = null;

    var errors = '';

    var turnoverCount   = 0.0;
    var turnoverCostMin = 0.0;
    var turnoverCostMax = 0.0;
    var turnoverCost    = 0.0;


    eTurnoverCount = document.getElementById( 'turnoverCostCalculator_turnoverCount' )
    if( eTurnoverCount.value == ''
        ||
        !(turnoverCount = parseFloat( eTurnoverCount.value.replace( /,/g, '' ) )) )
    {
    }

    if( errors == '' )
    {
        turnoverCostMin = turnoverCount * gTurnoverCostCalculator_replacementMin;
        turnoverCostMin = turnoverCostCalculator_asMoney( turnoverCostMin );

        turnoverCostMax = turnoverCount * gTurnoverCostCalculator_replacementMax;
        turnoverCostMax = turnoverCostCalculator_asMoney( turnoverCostMax );

        eTurnoverCost = document.getElementById( 'turnoverCostCalculator_turnoverCost' )

        var sep = gTurnoverCostCalculator_rangeSeparator;
        eTurnoverCost.innerHTML = '' + turnoverCostMin + sep + turnoverCostMax;

        //alert( 'Turnover Cost: ' + turnoverCost );
    }
    else
    {
        alert( errors );
    }

    return false;
}

turnoverCostCalculator_displayCalculator();
turnoverCostCalculator_assignEventHandlers();







