c24_slider_expert = {

    profile_user_defined : function(mode) {

        if (mode == 'extend' || mode == 'normal' || mode == 'short') {
            $('#profile').val('user-defined');
        } else {

            $("#resultform input[name=profile]").attr('checked', false);
            $("#profile_user-defined").attr('checked', true);

            this.fill_profile_info(5, profile_data['user-defined'], true);

        }

    },

    register_user_defined : function(mode) {

        if (mode == 'expert') {

            $('#resultform input[name!=profile], #resultform select').change(function() {
                c24_slider_expert.profile_user_defined('expert');
            });


        } else if (mode == 'extend' || mode == 'normal' || mode == 'short') {

            $('#resultform input, #resultform select[id!=profile]').change(function() {
                c24_slider_expert.profile_user_defined('extend');
            });

        }

    },

    fill_profile_info : function(index, data, handle_special_sum) {

        for (var d in data) {

            var handle = $("#resultform input[name=" + d + "]");

            if (handle.size() > 0 || (d == 'minutes_mobile' && handle_special_sum == true/* Special sum of all mobile networks */)) {

                if (data[d] == null) {

                    var info = 0;

                    if (handle.size() > 0) {
                        info = handle.val();
                    }

                    if (d == 'minutes_mobile' && handle_special_sum == true /* Special sum of all mobile networks */) {

                        info = parseInt($minutes_tmobile.val());
                        info += parseInt($minutes_vodafone.val());
                        info += parseInt($minutes_eplus.val());
                        info += parseInt($minutes_o2.val());
                        info += parseInt($minutes_providerinternal.val());

                    }

                    $("#profile_" + d).html(info);

                } else {

                    if (handle.attr('type') == 'checkbox') {

                        if (data[d] == 'yes') {
                            handle.attr('checked', true);
                        } else {
                            handle.attr('checked', false);
                        }

                    } else if (handle.attr('type') == 'radio') {

                        handle.attr('checked', false);
                        $("#" + d + "_" + data[d]).attr('checked', true);

                    }  else {

                        handle.val(data[d]);

                        var slider = $("#slider_" + d);

                        if (slider.size() > 0) {

                            var type = slider.slider('option', 'type');

                            if (type == 'linear') {
                                slider.slider('option', 'value', data[d]);
                            } else {
                                slider.slider('option', 'value', c24_slider.calculate_input_to_slider(slider, data[d]));
                            }

                        }

                        if ($("#profile_" + d).size() > 0) {
                            $("#profile_" + d).html(data[d]);
                        }

                    }

                }

            }

        }

        if (index != null) {

            $('.array_selector').hide();
            $('#arrow_' + index).show();

        }

    }

};