/*
* LiveMediaArchive 1.0
*
* http://media.yask.org
*
* released under the terms of the GPL
* see http://www.fsf.org/licensing/licenses/gpl.txt for details
*
* $Id: tabs.js.php,v 1.3 2006/04/30 19:21:22 rhayader Exp $
*
*/

var tabNames = new Array();
var activeTabID = 0;
var tabCount = 0;
var tabCache = new Array();

function drawTabs(result)
{
    activeTabID = result.ajaxResponse[0].tabID[0].data;
    var tabs = result.ajaxResponse[0].tabs[0].tab;
    var tabs_html = '';
    tabs_html += '<li class="add"><a href="javascript:addTab()" id="addTabBtn">+</a></li>';
    for(var i in tabs)
    {
        tabCount++;
        var tabID2 = tabs[i].tabID[0].data;
        var name = tabs[i].name[0].data;
        if(name == '' || name == '0') name = 'все новости';
        tabNames[tabID2] = name;
        tabs_html += '<li id="tab' + tabID2 + '">';
        if(activeTabID != tabID2) tabs_html += '<a href="javascript:changeTab(' + tabID2 + ')">';
        else
        {
            tabs_html += '<a href="javascript:editTab()" class="active">';
        }
        tabs_html += name;
        tabs_html += '</a>';
        tabs_html += '</li>';
    }
    document.getElementById('tabs').innerHTML = tabs_html;
}

function addTab()
{
    var addTabBtn = document.getElementById('addTabBtn');
    var addTabForm = document.forms.addtabform;
    if(addTabBtn.innerHTML == '+')
    {
        addTabBtn.innerHTML = '-';
        addTabForm.style.display = 'inline';
        addTabForm.tab_name.focus();
        addTabForm.tab_name.select();
    }
    else
    {
        addTabBtn.innerHTML = '+';
        addTabForm.style.display = 'none';
    }
}

function doAddTab()
{
    var addTabForm = document.forms.addtabform;
    document.getElementById('addtabform_progress').innerHTML = 'загрузка...';
    cp.call('backend.php', 'add_tab', tabsChanged, addTabForm.tab_name.value);
    return false;
}

function tabsChanged(result)
{
    activeTabID = result.ajaxResponse[0].tabID[0].data;
    var addTabForm = document.forms.addtabform;
    var addTabBtn = document.getElementById('addTabBtn');
    addTabBtn.innerHTML = '+';
    addTabForm.style.display = 'none';
    document.getElementById('addtabform_progress').innerHTML = '';
    drawTabs(result);
}

function tabSwitched(result)
{
    activeTabID = result.ajaxResponse[0].tabID[0].data;
    var addTabForm = document.forms.addtabform;
    var addTabBtn = document.getElementById('addTabBtn');
    addTabBtn.innerHTML = '+';
    addTabForm.style.display = 'none';
    document.getElementById('addtabform_progress').innerHTML = '';
    settingsResult = null;
    modulesResult = null;
    LoadStrip();
}

function editTab()
{
    var a = document.getElementById('tab' + activeTabID);
    var f = '<form name="editTabForm" onsubmit="return false;" ' +
        'class="editTabForm">';
    f += '<input name="tab_name" class="sff" value="' + tabNames[activeTabID] + '" />';
    f += '<input type="button" class="sfb" value="записать" onclick="doEditTabSave();" />';
    if(tabCount > 1)
        f += '<input type="button" class="sfb" value="удалить" onclick="doEditTabDelete();" />';
    f += '<input type="button" class="sfb" value="отмена" onclick="doEditTabCancel();" />';
    f += '</form>';
    a.innerHTML = f;
}

function doEditTabCancel()
{
    var f = document.forms.editTabForm;
    var a = document.getElementById('tab' + activeTabID);
    a.innerHTML = '<a href="javascript:editTab()" class="active">' +
            tabNames[activeTabID] + '</a>';
}
function doEditTabSave()
{
    var f = document.forms.editTabForm;
    var a = document.getElementById('tab' + activeTabID);
    a.innerHTML = '<a href="javascript:editTab()" class="active">' +
            tabNames[activeTabID] + '</a>';
    cp.call('backend.php', 'save_tab', tabsChanged, activeTabID, f.tab_name.value);
}
function doEditTabDelete()
{
    var a = document.getElementById('tab' + activeTabID);
    a.innerHTML = '<a href="javascript:editTab()" class="active">' +
            tabNames[activeTabID] + '</a>';
    cp.call('backend.php', 'delete_tab', tabsChanged, activeTabID);
}
function changeTab(tid)
{
    var a = document.getElementById('tab' + tid);
    a.innerHTML = '<a href="javascript://">загрузка...</a>';
    tabCache[activeTabID] = new Array();
    tabCache[activeTabID]['html'] = document.getElementById('strip').innerHTML;
    tabCache[activeTabID]['strip'] = st;
    if(tabCache[tid])
    {
        document.getElementById('strip').innerHTML = tabCache[tid]['html'];
        st = tabCache[tid]['strip'];
        cp.call('backend.php', 'set_tab', tabsChanged, tid);
    }
    else
    {
        document.getElementById('strip').innerHTML = '';
        document.getElementById('splash').style.display = 'block';
        cp.call('backend.php', 'set_tab', tabSwitched, tid);
    }
}