function ajax_data(page, container)
{
    // создаем и загружаем обьект для подгрузки данных
    var req = null;
    // Mozilla, Safari, ...
    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/plain');
        }
    }
    else if (window.ActiveXObject)
    { // IE
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
            req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    // callback-функция при получении данных
    req.onreadystatechange = function()
    {
        // если данные уже есть
        if(req.readyState == 4)
        {
            // и это не ошибка
            if(req.status == 200)
            {
                if (container == 'content')
                {
                    document.getElementById('container').innerHTML = '<div id="content">&nbsp;</div>';
                    document.getElementById(container).innerHTML = req.responseText;
                    delete scroller;
                    scroller.init();
                }
                else document.getElementById(container).innerHTML = req.responseText;
            }
            else
            {
                // иначе возвращаем код и описание ошибки
                document.getElementById(container).innerHTML = "Error: returned status code " + req.status + " " + req.statusText;
            }
        }
    }


    // устанавливаем тип запроса и заголовки
    if (container == 'content') {
        // пишем "Loading..."
        document.getElementById(container).innerHTML = "<div id='loading'><img src=\"./_images/loading.gif\"></div>";
        req.open("GET", './ajax.php?page='+page+'&t='+new Date(), true);
    }
    if (container == 'xtabs') { req.open("GET", './ajax.php?page='+page+'&t='+new Date()+'&tabs=1', true); }
    if (container == 'xmenu') { req.open("GET", './ajax.php?page='+page+'&t='+new Date()+'&menu=1', true); }
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");

    // запрашиваем данные
    req.send(null);
}

function ajax_tabs(page)
{
    ajax_data(page, 'xtabs');
}

function ajax_menu(page)
{
    ajax_data(page, 'xmenu');
}

function ajax_title(page)
{
    var req = null;
    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/plain');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
            req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    req.onreadystatechange = function()
    {
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                document.title = req.responseText;
            }
        }
    }

    req.open("GET", './titles.php?page='+page, true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    req.send(null);
}

function ajax_url(url)
{
    var req = null;
    if (window.XMLHttpRequest)
    {
        req = new XMLHttpRequest();
        if (req.overrideMimeType)
        {
            req.overrideMimeType('text/plain');
        }
    }
    else if (window.ActiveXObject)
    {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
            req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    req.onreadystatechange = function()
    {
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                // то выводим их
                document.getElementById('container').innerHTML = '<div id="content">&nbsp;</div>';
                document.getElementById('content').innerHTML = req.responseText;
                delete scroller;
                scroller.init();
            }
            else {
                document.getElementById('content').innerHTML = "Error: returned status code " + req.status + " " + req.statusText;}
        }
    }

    document.getElementById('content').innerHTML = "<div id='loading'><img src=\"./_images/loading.gif\"></div>";
    req.open("GET", './ajax_'+url, true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    req.send(null);
}

function preview_image(url, x, y)
{
    pw = open("","displayWindow","width="+x+",height="+y+",resizable=yes,status=no,toolbar=no,scrollbars=no");
    pw.document.write('<html><body style="padding:0;margin:0;"><a href="#" OnClick="window.close();return false;" title="Click to close"><img src="'+url+'" alt="Click to close" style="width:100%;height:100%;" border=0></a></body></html>');
    pw.document.close();
}

function hide_image()
{
}

function ajax_music(file, artist, xloop)
{
    var data = '';
    document.getElementById('xmp3player').innerHTML = '';
    data += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="144" height="56" id="mp3player" align="">';
    data += '<param name="movie" value="./mp3player.swf?loop='+xloop+'&n='+file+'&artist='+artist+'">';
    data += '<param name="quality" value="high">';
    data += '<param name=bgcolor value="#9A9A9A">';
    data += '<embed src="./mp3player.swf?loop='+xloop+'&n='+file+'&artist='+artist+'" quality="high" bgcolor="#9A9A9A" width="144" height="56" name="mp3player" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
    data += '</object>';
    document.getElementById('xmp3player').innerHTML = data;
}