﻿// JScript File

var req   = null;

var count  = 0; //количество возможных кликов вправо
var moves  = 0; //количество кликов вправо
var onPage = 4; //количество на странице

var arrOfA = null;
var left = null;
var right = null;

var td_center = null;
var td_text = null;

var arrOfRazdel = new Array();
var ul_razdely = null;
var ul_pager = null;

window.onload = function()
{
    td_text = document.getElementById("td_text");
    changeText("0");

    td_center = document.getElementById("td_center");
    left = document.getElementById("div_left");
    right = document.getElementById("div_right");
    
    send();
}
//-------------------------- AJAX -----------------------------
function send()
{
    req = getRequest();
    req.onreadystatechange = stateChange_send;
    req.open("POST", "fotoload.aspx", true);
    req.setRequestHeader("Content-Type", "text/html");
    req.send("");
}
function getRequest()
{
    var xreq = null;
    if(window.XMLHttpRequest)
    {
        xreq = new XMLHttpRequest;
    }
    else if(typeof ActiveXObject != "undefined")
    {
        xreq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xreq;
}
function stateChange_send()
{
    if(req.readyState == 4)
    {
        var i = req.responseText.split("*count*")[1];
        count = parseInt(i/onPage);
        if((i - count*onPage) > 0) count += 1;
        count--;
        if(count > 0) right.style.visibility = "visible";
        InitRazdely();
        parseResponce(req.responseText.split("*send*")[1]);
    }
}
//------------------------------------------------------------
function InitRazdely()
{
    ul_razdely = document.getElementById("ul_razdely");
    var arr = ul_razdely.getElementsByTagName("li");
    for(var i=0;i<arr.length;i++) arrOfRazdel[arrOfRazdel.length] = "<li>" + arr[i].innerHTML + "</li>";
    ul_razdely.innerHTML = "";
    ul_razdely.style.display = "block";
    
    ul_pager = document.getElementById("ul_pager");
}

function fotoleft(n)
{
    if(moves > 0)
    {
        moves -= n;
        formTable(moves);
    }
    if(moves == 0) left.style.visibility = "hidden";
    right.style.visibility = "visible";
}
function fotoright(n)
{
    if(moves < count)
    {
        moves += n;
        formTable(moves);
    }
    if(moves == count) right.style.visibility = "hidden";
    left.style.visibility = "visible";
}
function parseResponce(str)
{
    if(str != null)
    {
        arrOfA = str.split("***");
        arrOfA.length = arrOfA.length - 1;
        formTable(0);
    }
}
function formTable(p)
{
    p = p*onPage;
    var fotos = "";
    var razdely = "";
    for(var i = p; i < onPage + p && i < arrOfA.length; i++)
    {
        var a = new String(arrOfA[i]);
        if(i == onPage + p - 1)
        {
            a = a.split("cls")[0] + "last" + a.split("cls")[1];
        }
        fotos += a;
        razdely += arrOfRazdel[i];
    }
    td_center.innerHTML = fotos;
    ul_razdely.innerHTML = razdely;
    formPager();
}
function formPager()
{
    var pgr = "";
    if(count > 0)
    {
        for(var i=0;i<=count;i++)
        {
            if(i==moves)
            {
                if(i==count) pgr += "<li class='last'>" + (i+1) + "</li>";
                else pgr += "<li>" + (i+1) + "</li>";
            }
            else
            {
                var n = moves - i;
                var e = "right";
                if(i<moves) e = "left";
                else n = n*(-1);
                if(i==count) pgr += "<li class='last'><a onclick='foto"+e+"("+n+")' onfocus='this.blur()'>" + (i+1) + "</a></li>";
                else pgr += "<li><a onclick='foto"+e+"("+n+")' onfocus='this.blur()'>" + (i+1) + "</a></li>";
            }
        }
        ul_pager.innerHTML = pgr;
    }
}

function changeText(id)
{
    var div = document.getElementById("text" + id);
    if(div)
        if(td_text) td_text.innerHTML = div.innerHTML + "&nbsp";
}