var pc_effect = 0;
var is_busy   = 0;

function let_tabsUpdate(updater_url, params)
{ 
    if (is_busy)
    {
        _loaderHide('tabs_loader');
        _loaderHide('ltabs_loader');
        
        return false;
    }

    var t = params.toQueryParams();
    var l = 'tabs_loader';
    var e = 'let_tabs';
    
    if (!t.start_edit)
    params = params + '&letter_entry=1';
    
    if (!t.form)
    {
        t.form = 'let_form';
        params = params + '&form=' + t.form;
    }

    if ($(t.form))
    {
        params = params + "&" + Form.serialize($(t.form));
        t      = params.toQueryParams();
    }

    if (t.loader)
    l = t.loader;
    
    else if (t.letter_edit)
    l = 'ltabs_loader';
    
    else
    l = 'tabs_loader';
    
    if (t.letter_edit)
    {
        t.element = 'let_tabs';
        e         = 'tab_letters';
        params    = $H(t).toQueryString();
    }
    
    _loaderShow(l);
    
    is_busy = true;
    
    new Ajax.Updater(e, updater_url, { method: 'post', parameters: params, evalScripts: true, onComplete:function()
    {
        _loaderHide(l);
        is_busy = false;
    }
    });
}

function photo_cellUpdate(updater_url, params)
{
    var t = params.toQueryParams();
    
    if (t.self_photo != 1)
    {
        if (pc_effect)
        pc_effect.cancel();
        
        pc_effect = new Effect.Fade('uploader', {duration:'0.5'});
    }
    
    new Ajax.Updater('photo_cell', updater_url, { method: 'post', parameters: params, evalScripts: true, onComplete:function()
    {
        if (t.self_photo == 1)
        {
            if (pc_effect)
            pc_effect.cancel();
            
            pc_effect = new Effect.Appear('uploader', {duration:'0.5'});
        }
    }
    });
}

function add_personUpdate(updater_url, params)
{
    if (is_busy)
    return false;
    
    var t = params.toQueryParams();
    
    is_busy = true;
    
    if (t.loader)
    _loaderShow(t.loader);
    
    if (t.form)
    {
        if ($(t.form))
        params = params + "&" + Form.serialize($(t.form));
        
        $('ResetBtn').disabled     = true;
        $('SearchAddBtn').disabled = true;
    }

    new Ajax.Updater('add_person', updater_url, { method: 'post', parameters: params, evalScripts: true, onComplete:function()
    {
        is_busy = false;
        
        if (t.loader)
        _loaderHide(t.loader);

        $('ResetBtn').disabled     = false;
        $('SearchAddBtn').disabled = false;
    }
    });
}

function let_addPhoto_start()
{
    is_busy = true;
    
    $('status_err').hide();
    $('add_photo_btn').disabled = 1;
    _loaderShow('photo_add_loader');
    $('spr_0').disabled = 1;
    if ($('spr_2'))
    $('spr_2').disabled = 1;
    
    return true;
}

function let_addPhoto_end(response)
{
    is_busy = false;
    
    if (!$('add_photo_btn'))
    return(0);
        
    _loaderHide('photo_add_loader');
    
    $('add_photo_btn').disabled = 0;
    
    $('spr_0').disabled = 0;
    if ($('spr_2'))
    $('spr_2').disabled = 0;
    
    if (response == -2 || response == -3)
    {
        if ($('status_err'))
        {
            $('status_err').hide();
            
            if (document.let_addph.l.value == 0)
            $('status_err').innerHTML = 'Не верный формат файла.';
            
            else
            $('status_err').innerHTML = 'Invalid file format.';
            
            new Effect.Appear('status_err', {duration:'0.7'});
        }
    }
    
    else if (response == -1 || response == 0)
    {
        if ($('status_err'))
        {
            $('status_err').hide();
            
            if (document.let_addph.l.value == 0)
            $('status_err').innerHTML = 'Ошибка при закачке.';
            
            else
            $('status_err').innerHTML = 'File upload error.';
            
            new Effect.Appear('status_err', {duration:'0.7'});
        }
    }
    
    else
    {
        var params = 'self_photo=1&tab=tab_author&let_entry_id='+response;

        updateContent('photo_cell', params);
    }
    
    $('file').value = '';
}

function let_addPhotoP_start()
{
    is_busy = true;
    
    _loaderShow('send_loader');
    $('ResetBtn').disabled     = true;
    $('SearchAddBtn').disabled = true;
    
    return true;
}

function let_addPhotoP_end(response)
{
    is_busy = false;
    
    var ph_error = 0;
    
    if (response == -2 || response == -3)
    ph_error = 1;
    
    else if (response == -1 || response == 0)
    ph_error = 2;
    
    _loaderHide('send_loader');

    updateContent('let_tabs', 'tab=tab_people&form=let_form&edited=1&img_flush=1&ph_error='+ph_error+'&l='+$('ap_photo').l.value);
}
