/**
 * Created with JetBrains PhpStorm.
 * User: sidchik
 * Date: 08.07.13
 * Time: 13:01
 * To change this template use File | Settings | File Templates.
 */



$(document).ready(function(){

    var $credPro = $(".credit_program");
    var $maxPrice = $("#max_price");
    var $months = $(".months");
    var $credSum = $("#credit_sum");
    var $doCalc = $(".doCalc");
    var creditID = 0, credit = {};

    var active_city = $(".your-city").attr('data-city');

    // Change Program
    function load_programm(){
        creditID = $credPro.select2('val');
        $(".result, .result_bar").addClass('hidden');
        $.ajax({
            url: '/private/loans/load_programm',
            data: {'credit_id': creditID},
            dataType: 'json',
            success: function(data){

                $(".vars .factor").remove();

                credit = data;

                $credSum.val(credit.money_min);
                $credSum.attr('data-max', credit.money_max);
                //Month Range
                var months = [];

                for(var i = credit.month_min; i<=credit.month_max; i++){
                    months.push({id:i, text: i+''})

                }
                $months.select2({'data': months});
                $months.select2("data", {id: credit.month_max, text: credit.month_max+''});

                if (data.factors.length){
                    for (var i=0; i<data.factors.length;i++){
                        var factor_data = data.factors[i];
                        var factor = $("<div/>").addClass('factor');
                        $(".vars").append(factor);
                        var popup_name='factor_'+factor_data.id;
                        factor.append($('<input type="checkbox" hidden/>').attr('id', 'factor'+factor_data.id));
                        factor.append($('<label/>').attr('for', 'factor'+factor_data.id).html(factor_data.name));
                        factor.append($('<a/>').addClass('more').attr('data-popup', popup_name).html('Подробнее'));
                        factor.append($('<div/>').attr('id', popup_name).addClass('popup factor_popup format_text').append($("<div/>").addClass('cont').html(factor_data['text'])));
//                        factor.append($('<p/>').html(factor_data['text']));
                    }
                }


            },
            error: function(){
                alert('В данный момент калькулятор недоступен, попробуйте обновить страницу чуть позже.');
            }
        });
    }

    $doCalc.click(function(){

        //Check Errors
        if ($("#income").length){
            if (!$("#income").val()){
                alert('Укажите размер вашего дохода');
                return false;
            }
        }else{
            if (!$("#credit_sum").val()){
                alert('Укажите желаемую сумму кредита');
                return false;
            }
        }


        $('.result_bar, .result, .result .loading').show();
        $('.result .results').hide();
        var sum = 0;
        if (! $maxPrice.is(':checked')){
            sum = $credSum.val();
        }
        var is_annuit = false;
        if ($("#annuit").length){is_annuit = $("#annuit").is(':checked');}
        $.ajax({
            url: '/private/loans/result',
            data:{
                    'credit_id': $credPro.select2('val'),
                    'city_id': active_city,
                    'sum': sum,

                    'months': $months.select2('val'),
                    'income': $("#income").val(),
                    'coincome': $("#coincome").val(),
                    'bride': $("#bride").is(':checked'),
                    'arenda': $("#arenda").val(),
                    'loans': $("#loans").val(),
                    'miscs': $("#miscs").val(),
                    'factor1': $("#factor1").is(':checked'),
                    'factor2': $("#factor2").is(':checked'),
                    'factor3': $("#factor3").is(':checked'),
                    'factor4': $("#factor4").is(':checked'),
                    'is_annuit': is_annuit,
                    'tax': $("#tax").val()
            },
            success: function(data){
                $('.result .loading').hide();
                $('.result .results').html(data);
                $('.result .results').show();
                reset_tooltips();
            },
            error: function(){
                alert('В данный момент расчет не возможен, повторите попытку чуть позже');
                $('.result, .result_bar').hide();
            }
        })
    });

    $credSum.change(function(){
        var val = parseInt($(this).val());
        if (val < credit.money_min){
            $(this).val(credit.money_min);
        }
        if (val > credit.money_max){
            $(this).val(credit.money_max);
        }
    });
    $maxPrice.change(function(){
        if ($maxPrice.is(':checked')){
            $credSum.attr('disabled', true);
        }else{
            $credSum.attr('disabled', false);
        }
    });

    $("#bride").change(function(){
        if ($(this).is(':checked')){
            $("#coincome").attr('disabled', false).parent().removeClass('grey');
        }else{
            $("#coincome").attr('disabled', true).parent().addClass('grey');
        }
    });



    $credPro.on('change',function(){
       load_programm()
    });



    load_programm();
});