//Necessary global variables
var current_color = '';

function initSliders(base_url)
{
    //Start sliders
    $(".slider-value").each(function(index){
        var id = $(this).attr('id');
        var table_id = $(this).attr('tableid');
        var table = $(this).attr('name');
        var container_id = id.substr(7);
        var maxvalue = $(this).attr('maxvalue');
        
        $(this).slider({
            value: parseInt($("#"+container_id).val()),
            min: 0,
            max: maxvalue,
            step: 1,
            slide: function(event, ui) {
                $("#"+container_id).val(ui.value);
            },
            stop: function(event, ui) {
                field_save(base_url, table, ui.value, table_id);
            }
        });
    });
    //Link numeric values with it's slider when necessary
    $('input.numeric').blur(function(){
        var size = parseInt($(this).val());
        if(isNaN(size))
            size = 0;
        $(this).val(size);
        if($('#slider-' + $(this).attr('id').substr()).length > 0)
            $('#slider-' + $(this).attr('id').substr()).slider('value', size);
    });
}

function initAutoSave(base_url)
{
    //Autosave fields
    $('.autosave').blur(function(){
        var table_id = $(this).attr('tableid');
        field_auto_save(base_url, table_id, $(this));
    }).keydown(function(event) {
        if (event.keyCode == '13')
        {
            event.preventDefault();
            $(this).trigger("blur");
        }
    });
    
    //Autosave with no enter key
    $('.autosave-no-enter').blur(function(){
        var table_id = $(this).attr('tableid');
        field_auto_save(base_url, table_id, $(this));
    });
}

function initCKEditor(base_url)
{
    $('.area-text').ckeditor({width: 274, resize_maxWidth: 274}, function(){
        this.on('blur', function() {
            $(this.element.$).blur();
        });
    }).blur(function(){
        var table_id = $(this).attr('tableid');
        field_auto_save(base_url, table_id, $(this));
    });
}

function initCustomDropdown(base_url)
{
    $(".chzn-select").chosen().change(function(){
        var table_id = $(this).attr('tableid');
        field_auto_save(base_url, table_id, $(this));
    });
}

function initInlineCalendar(base_url, autosave)
{
    $('.inline-calendar').each(function(index){
        var table_id;
        if(autosave)
            table_id = $(this).attr('tableid');
        else
            table_id = 0;
        var value = $(this).attr('value');
        var container_id = $(this).attr('id');
        var table = $(this).attr('name');
        var creating = true;
        $(this).after("<input type='hidden' name='"+container_id+"-value' id='"+container_id+"-value' value='d' />");
        
        $(this).datepicker({
        /*$(this).datetimepicker({*/
            changeMonth: true,
            changeYear: true,
            dateFormat: 'dd.mm.yy',
            defaultDate: value,
            onSelect: function(dateTxt, inst)
            {
                dateTxt = dateTxt.split('.');
                dateTxt = dateTxt[2]+'-'+dateTxt[1]+'-'+dateTxt[0]+' 00:00:00';
                
                if(!creating && autosave)
                    field_save(base_url, table, dateTxt, table_id);
                if(!autosave)
                    $('#' + container_id + '-value').val(dateTxt);
            }
        });
        creating = false;
    });
}

function initInlineTimeCalendar(base_url, autosave)
{
    $('.inline-calendar').each(function(index){
        var table_id;
        if(autosave)
            table_id = $(this).attr('tableid');
        else
            table_id = 0;
        var value = $(this).attr('value');
        var date = value.split(' ');
        date[1] = date[1].split(':');
        var container_id = $(this).attr('id');
        var table = $(this).attr('name');
        var creating = true;
        $(this).after("<input type='hidden' name='"+container_id+"-value' id='"+container_id+"-value' value='d' />");
        
        $(this).datetimepicker({
            changeMonth: true,
            changeYear: true,
            dateFormat: 'dd.mm.yy',
            timeFormat: 'h:m',
            separator: ' ',
            defaultDate: (date[0].length>10?'01.01.2010':date[0]),
            hour: date[1][0],
            minute: date[1][1],
            onSelect: function(dateTxt, inst)
            {
                date = dateTxt.split(' ');
                dateTxt = date[0].split('.');
                dateTxt = dateTxt[2]+'-'+dateTxt[1]+'-'+dateTxt[0]+' '+date[1];
                
                if(!creating && autosave)
                    field_save(base_url, table, dateTxt, table_id);
                if(!autosave)
                    $('#' + container_id + '-value').val(dateTxt);
            }
        });
        creating = false;
    });
}

function CKupdate()
{
    for ( instance in CKEDITOR.instances )
        CKEDITOR.instances[instance].updateElement();
}
