//var beitragssatz = 14.6 / 2;
//var ananteil = 0.9;

/*
function checkData() {

    if (document.vorteilsassistent.salary.value != "" && document.vorteilsassistent.versicherungsart.value != "waehlen") {
        getResult();
    } else {
        if (document.vorteilsassistent.salary.value == "") {
            document.getElementById('fehler').className = 'visible';
            document.getElementById('beitrag').className = 'invisible';
        } else {
            document.getElementById('fehler').className = 'invisible';
            validate();
        }
        if (document.vorteilsassistent.versicherungsart.value == "waehlen") {
            document.getElementById('fehler_versicherung').className = 'visible';
            document.getElementById('beitrag').className = 'invisible';
        } else {
            document.getElementById('fehler_versicherung').className = 'invisible';
        }
    }
    return false;
}
*/
/*
function setData(sessionLoaded) {
    document.getElementById('submit').className = 'invisible';
    // Für Button Änderung wieder auskommentieren Anfang
    // document.getElementById('infopost').className = 'visible';
    // document.getElementById('next').className = 'visible';
    // Für Button Änderung wieder auskommentieren Ende

   // Für Button Änderung wieder einkommentieren
    document.getElementById('infopost').className = 'invisible';
    if (sessionLoaded == true) {
        document.getElementById('next').className = 'visible';
    } else {
        document.getElementById('next').className = 'invisible';
    }

    document.getElementById('einfachVorteil').className = 'invisible';
    document.getElementById('labelFlash').className = 'buttonFlash';
    window.setTimeout('slide()', alphaslide);
}
*/

// Validieren der Gehaltseingabe
function validateSalary() {

    var salary = $('#salary').val();
    var type = $('#versicherungsart').val();

    if(salary.match(/^[0-9,.]+$/)) {
        $('#fehler').addClass('hideme');
        if (type != 'waehlen') {
            Betrag();
            viewSubmit();

            $('#fehler').addClass('hideme');
        }

        return true;
    } else {
        $('#fehler').removeClass('hideme');
        $('#beitrag').addClass('hideme');
        $('#beitrag_hinweis').addClass('hideme');
        return false;
    }
}


// Validierung Angabe der Versicherungsart
function validate() {

    var salary = $('#salary').val();
    var type = $('#versicherungsart').val();

    if(type == 'waehlen') {
        $('#fehler_versicherung').removeClass('hideme');
        return false;
    } else {
        $('#fehler_versicherung').addClass('hideme');

        if (salary.match(/^[0-9,.]+$/)) {
            viewSubmit();
        }
        return true;
    }
}

function showBetrag() {
    $('#beitrag_hinweis').addClass('hideme');
    $('#beitrag').removeClass('hideme');
}

// Einblenden von KK-Beitrag und geldwerten Vorteile
function Betrag() {
    var salary = $('#salary').val();
    if (salary !="") {
        if (salary >= 3600) {
            bruttot = 3600;
        } else {
            bruttot = salary;
        }
    }
    showBetrag();
    return false;
}

function viewSubmit() {

    var type = $('#versicherungsart').val();
    var salary = $('#salary').val();

    if (type != 'waehlen' && salary != '' && salary.match(/^[0-9,.]+$/)) {
        $('#VAbutton').removeClass('hideme');
    }
}

function processResultChange(result) {
    if (result) {

        if (result.repayment) {
            var repayment = result.repayment;
            if (repayment == "0,00") {
                repayment = 0;
            }
            $('#repayment').html(repayment + ' &euro;');
        }

        if (result.individual_rate) {
            var individual_rate = result.individual_rate;
            if (individual_rate == "0,00") {
                individual_rate = 0;
            }
            $('#individual_rate').html(individual_rate + ' %');
        }

        if (result.non_cash_benefit) {
            var non_cash_benefit = result.non_cash_benefit;
            if (non_cash_benefit == "0,00") {
                non_cash_benefit = 0;
            }

            $('#non_cash_benefit').html(non_cash_benefit + ' &euro;');
        }

        $('#fehler_versicherung').addClass('hideme');

        if (result.monthly_contribution) {

            var monthly_contribution = result.monthly_contribution;
            if (monthly_contribution != "0,00") {
                $('#ergebnis').removeClass('hideme');
                $('#beitrag').removeClass('hideme');
                $('#beitrag_hinweis').addClass('hideme');
                $('#monthly_contribution').html(monthly_contribution + ' &euro;');
                if (result.min_individual_rate == 1) {
                    individual_rate = '5,0';
                    $('#individual_rate_text').html(persoenlicherBeitragssatzU5Pro + '<strong><span id="individual_rate">' + individual_rate + ' %</span></strong>');
                } else if (result.min_individual_rate == 0) {
                    $('#individual_rate_text').html(persoenlicherBeitragssatz + '<strong><span id="individual_rate">' + individual_rate + ' %</span></strong>');
                }
            }
            else {
                if (result.modus == '1' || result.modus == '3') {
                    $('#beitrag').addClass('hideme');
                    $('#ergebnis').addClass('hideme');
                    $('#beitrag_hinweis').html(gleitzonenGrenzeText);
                    $('#beitrag_hinweis').removeClass('hideme');
                } else if (result.modus == '2') {
                    $('#beitrag').addClass('hideme');
                    $('#ergebnis').addClass('hideme');
                    $('#beitrag_hinweis').html(mindestBeitragsBemessungsGrenzeText);
                    $('#beitrag_hinweis').removeClass('hideme');
                }
            }
        }
    }
}


function setFieldStatusActive(id) {
    $('#next').removeClass('hideme');
    if (id == 1) {
        $('#wahltarif').removeClass('hideme');
        setBenefitMulti("wahltarife", $('#wahltarife').val());
    } else if (id == 10) {
        $('#praevention').removeClass('hideme');
        setBenefitMulti("praeventionkurs", $('#praeventionkurs').val());
    } else if (id == 18) {
        $('#bigselectnature').removeClass('hideme');
        setBenefitMulti("bigselect_nature", $('#bigselect_nature').val());
    } else {
       $('#wahltarif').addClass('hideme');
       $('#praevention').addClass('hideme');
       $('#bigselectnature').addClass('hideme');

       setBenefit(id);
    }

}

function setFieldStatusInactive(id) {

    if (id == 1) {
        $('#wahltarif').addClass('hideme');
    } else if (id == 10)  {
        $('#praevention').addClass('hideme');
    } else if (id == 18) {
        $('#bigselectnature').addClass('hideme');
    } else {
       $('#wahltarif').addClass('hideme');
       $('#praevention').addClass('hideme');
       $('#bigselectnature').addClass('hideme');
    }
    unsetBenefit(id);
}

function setCardActive(id) {
    var url = '/assistant/setid';

    $.ajax({
        type: "POST",
        url: url,
        data: 'id=' + id,
        async: false,
        success: function(msg) {
        }
    });

    getCalc();
    switch (id) {
        case 1:
            getSelectValue(id);
//            $('#wahltarif').removeClass('hideme');
            $('#praevention').addClass('hideme');
            $('#bigselectnature').addClass('hideme');

            break;
        case 10:
            getSelectValue(id);
//            $('#praevention').removeClass('hideme');

            $('#wahltarif').addClass('hideme');
            $('#bigselectnature').addClass('hideme');
            break;
        case 18:
            getSelectValue(id);
//            $('#bigselectnature').removeClass('hideme');

            $('#wahltarif').addClass('hideme');
            $('#praevention').addClass('hideme');

            break;
        default:
            $('#wahltarif').addClass('hideme');
            $('#praevention').addClass('hideme');
            $('#bigselectnature').addClass('hideme');
            break;
    }
}

function getSelectValue(id)
{
    var url = '/assistant/selection';

    $.ajax({
        type: "POST",
        url: url,
        data: 'id=' + id,
        dataType: "json",
        async: false,
        success: function(result) {
            if (result.benefitValue) {
                var value = result.benefitValue;
                if (id == 1) {
                    $('#wahltarif').removeClass('hideme');
                    $('#wahltarife').val(value);
                    setBenefitMulti("wahltarife");
                } else if (id == 10) {
                    $('#praevention').removeClass('hideme');
                    $('#praeventionkurs').val(value);
                    setBenefitMulti("praeventionkurs");
                } else if (id == 18) {
                    $('#bigselectnature').removeClass('hideme');
                    $('#bigselect_nature').val(value);

                    setBenefitMulti("bigselect_nature", value);
                }
            }
        }
    });


    if (id == 1) {
        $('#praevention').addClass('hideme');
        $('#bigselectnature').addClass('hideme');
    } else if (id == 10) {
        $('#wahltarif').addClass('hideme');
        $('#bigselectnature').addClass('hideme');
    } else if (id == 18) {
        $('#wahltarif').addClass('hideme');
        $('#praevention').addClass('hideme');
    }

}


function setBenefit(id) {
    var url = '/assistant/setbenefit';

    $.ajax({
        type: "POST",
        url: url,
        data: 'id=' + id,
        async: false,
        success: function(msg) {
        }
    });
    setAssistantData();

    return true;
}

function setBenefitMulti(idName)
{
    var id;
    if (idName != "versicherungsart") {
        if (idName == "wahltarife") {
            idNr = 1;
            var levelName = $('#wahltarife').val();

            $('#praevention').addClass('hideme');
            $('#bigselectnature').addClass('hideme');
        }
        if (idName == "praeventionkurs") {
            idNr = 10;
            levelName = $('#praeventionkurs').val();

            $('#wahltarif').addClass('hideme');
            $('#bigselectnature').addClass('hideme');
        }

        if (idName == "bigselect_nature") {
            idNr = 18;
            levelName = $('#bigselect_nature').val();

            $('#wahltarif').addClass('hideme');
            $('#praevention').addClass('hideme');
        }

        var url = '/assistant/setmultibenefit';
        $.ajax({
            type: "POST",
            url: url,
            async: false,
            data: 'id=' + idNr + '&level=' + levelName,
            success: function(){
            }
        });

        setAssistantData();
        getCalc();
    }

    return true;
}

function unsetBenefit(id) {
    var url = '/assistant/unsetbenefit';
    $.ajax({
        type: "POST",
        url: url,
        async: false,
        data: 'id=' + id,
        success: function(msg) {
        }
    });

    if (id == 1) {
        $('#wahltarif').val('retention500');
    } else if (id == 10) {
        $('#praeventionkurs').val('prevention_courses_1');
    } else if (id == 18) {
        $('#bigselect_nature').val('adults');
    }

    setAssistantData();
    getCalc();
}

function setInsurant() {

    var type = $('#versicherungsart').val();
    var salary = $('#salary').val();

    if (type != 'waehlen' && salary != '' && salary.match(/^[0-9,.]+$/))
    {
        var url = '/assistant/setinsurant';
        $.ajax({
            type: "POST",
            url: url,
            async: false,
            dataType: "json",
            data: 'salary=' + salary + '&versicherungsart=' + type,
            success: function(result) {
                setAssistantData();
                getCalc();
            }
        });
    }
}

function setFlashResult (value) {
    var movie = window.document.assistent;
    if (movie) {
        movie.SetVariable("calcResult", value);
    }
}

function getCalc() {
    var url = '/assistant/getcalculation';
    $.ajax({
        url: url,
        dataType: "json",
        async: false,
        success: function(response) {
            if (response.amount) {
                setFlashResult(response.amount);
            }
        },
        error: function(a, b, c) {
            setFlashResult('');
        }
    });
}

function setAssistantData() {
    var url = '/assistant/getdata';
    $.ajax({
        url: url,
        type: "GET",
        async: false,
        dataType: "json",
        success: function(result){
            processResultChange(result);
        }
    });
}

function setForms() {
    var url = '/assistant/getinsurant';
    $.ajax({
        url: url,
        type: "POST",
        async: false,
        dataType: "json",
        success: function(result){
            var vabutton = true;

            if (result.salary != '') {
                $("#salary").val(result.salary);
            } else {
                $("#salary").val('');
                vabutton = false;
            }

            if (result.versicherung != '') {
                $("#versicherungsart").val(result.versicherung);
            } else {
                vabutton = false;
            }

            if (vabutton) {
                $('#VAbutton').removeClass('hideme');
            }

        }
    });
    setAssistantData();
}
