/*** Generate Select ***/
$('.ajax_dropdown').live('change', function() {
    var type = $(this).attr('name');
    var val = $(this).val();
    /* récupéré la config et suppression session */
    $.ajax({
        type: 'POST',
        url: '/calculateur/ajax_init_dropdowns/'+type,
        dataType: 'json',
        data: {
            search : val
        },
        success: function(data){
            $.each(data, function(index, value) {
                $('select[name="'+value+'"]').empty();
                if (index==0 && val != "") {
                    /* première valeur get_dropdown */
                    $.ajax({
                        type: 'POST',
                        url: '/calculateur/ajax_dropdown/'+value,
                        dataType: 'json',
                        success: function(dropdown){
                            $('select[name="'+value+'"]').attr('disabled', '');
                            $.each(dropdown, function (i, obj) {
                                $.each(obj, function (k, v) {
                                    $('select[name="'+value+'"]').attr('options')[i] = new Option(v, k, false, false);
                                });
                            });
                        }
                    });
                } else {
                    /* disabled les autres */
                    $('select[name="'+value+'"]').attr('disabled', 'disabled');
                }

            });
        }
    });
});
function reload_ajax_content(url, target, callback) {
    $(target).animate({
        opacity: 0.5
    }, 200, function() {
        $.ajax({
            type: 'POST',
            url: url,
            data: "ajax=1",
            success: function(data){
                $(target).css('opacity', '1');
                $(target).html(data);
                $(target).fadeIn('slow');
                if (callback)
                    callback(target, data);
            }
        });
    });
}

function check_number() {
    if ($('.check_number:checked').length == 4) {
        $('.check_number').each(function() {
            if(!$(this).is(':checked'))
                $(this).attr('disabled', 'disabled');
        });
    } else if ($('.check_number:checked').length > 4) {
        $('.check_number').each(function() {
            $(this).attr('checked', '');
        });
    } else {
        $('.check_number').each(function() {
            $(this).removeAttr('disabled');
        });
    }
}

$(document).ready(function(){
    $('.ajax_lightbox_link').ready(function() {$.getScript('/javascript/jquery.lightbox_me.js')});
    $('.ajax_lightbox_link').click(function() {
        //$.getScript('/javascript/jquery.lightbox_me.js');
        reload_ajax_content($(this).attr('href'), '#ajax_lightbox', function() {
            $('#ajax_lightbox').lightbox_me({
                centered: true,
                onLoad: function() {
                    $('#ajax_lightbox').find('input:first').focus();
                },
                closeSelector: '.close'
            });
        });
        return false;
    });

    $('.check_number').change(check_number);


    $(".autocomplete_town").live({
        focus : function(){
            if($(this).data('json')) {
                var controller = $(this).data('json').controller;
                var method = $(this).data('json').method;
                var field = $(this).data('json').field;
                var selected = $(this).data('json').selected;
                if ($(this).data('json').label) var label = $(this).data('json').label;
                else var label = field;
                if ($(this).data('json').conditions) var conditions = $(this).data('json').conditions; else var conditions = '';
                
                $(this).autocomplete({
                    autoFocus: true,
                    minLength: 2,
                    source: function(request, response) {
                      $.ajax({
                            type: 'POST',
                            url: '/'+controller+'/'+method,
                            dataType: 'json',
                            data: {
                                search : request.term,
                                field : field,
                                label : label,
                                conditions : conditions,
                                ci_csrf_token : $('input[name=ci_csrf_token]').val()
                            },
                            success: function(data){
                                response(data.message);
                            }
                        })
                    },
                    select: function(event, ui) {
                        $("#"+selected).val(1);
                    },
                    focus : function(event, ui) {
                        //$("#"+selected).val(1);
                    }
                });
            }
        },
        focusout : function() {
            var selected = $(this).data('json').selected;
            if ($(this).val() == '') {
                $("#"+selected).val(0);
            }
            if ($("#"+selected).val()=='' || $("#"+selected).val()==0) {
                $(this).val('');
            }
        },
        keypress : function(e) {
            if (e.keyCode != 9 && e.keyCode != 13) {
                var selected = $(this).data('json').selected;
                $("#"+selected).val(0);
            }
        }
    });
});

$(document).ready(check_number);


