﻿var Portfolios = new Array();
function Portfolio(id, url, name) {
    this.ID = id;
    this.URL = url;
    this.Name = name.replace("&#171;", "«").replace("&#187;", "»").replace("&apos;", "'");
    this.toString = function() { return this.ID + " - " + this.Name + "\n"; }
}
$(document).ready(InitPortfolioScrolling);
var CurrentPorfolioID = 0;
var CurrentPosition = -1;
var OverWidth;
var MenuContainer;
function InitPortfolioScrolling() {
    if ($.browser.opera) return;
    OverWidth = $("div.main_wrapper").width();
    $("div.main_wrapper div.menu").append("<img id=\"imgLoading\" src=\"/i/loading.gif\"/>")
 
    CurrentPosition = GetPortfolioPos(CurrentPorfolioID);
    // создаем обрамляющих родителей и добавляем внутрь певый блок с контентом
    var html = $("div.content").attr("id", "divContent_" + CurrentPosition).html();    
    var firstContent = $("#divContent_" + CurrentPosition);
    firstContent.width(OverWidth);
    
    SetCommonStyle(firstContent);
    firstContent.empty();
    firstContent.wrap("<div id='divContainerOver' style=\"overflow:hidden\"><div id='divContainerScroll' style=\"white-space:nowrap;\"></div></div>");
    document.getElementById("divContent_" + CurrentPosition).innerHTML = html;
    $("#divContainerOver").height(firstContent.height());
    FillEmptyContent();
    //меню
    var menu = $("div.menuLevel_3");
    menu.empty();
    var list = "";
    for (var i = 0; i < Portfolios.length; i++)
        list += "<a href='" + Portfolios[i].URL + "'>" + Portfolios[i].Name + "</a>";
    menu.html("<a class='larr' href=''>&larr;</a><div style='overflow:hidden;'><div>" + list + "</div></div><a class='rarr' href=''>&rarr;</a>");
    var hrefs = menu.find("div a");
    jQuery.each(hrefs, function(i) {
        $(this).bind("click", function() { ScrollToPosition(i); return false; });
    });
    menu.find(":first-child").bind("click", function() { if (CurrentPosition > 0) ScrollToPosition(CurrentPosition - 1); return false; });
    menu.find(":last-child").bind("click", function() { if (CurrentPosition < Portfolios.length - 1) ScrollToPosition(CurrentPosition + 1); return false; });
    MenuContainer = menu.find("> div > div");
    //проверяем был ли переход по анкору
    if (document.location.hash) {
        var t = document.location.hash.replace("#", "");
        if (t) {
            CurrentPorfolioID = t;
            CurrentPosition = GetPortfolioPos(CurrentPorfolioID);
        }
    }
    ScrollMenu();
    setTimeout("ScrollToPosition("+CurrentPosition+")", 1500);
    
}
function FillEmptyContent() {
//заполняем предыд-ие страницы
    for (var i = CurrentPosition - 1; i >= 0; i--) {
        $("#divContent_" + (i + 1)).before("<div class='content' id=\"divContent_" + i + "\"></div>");
        var el=$("#divContent_" + i);
        SetCommonStyle(el, true);
        el.html("<img src='/i/portfolioScroll.jpg'/>");
    }
    //заполняем последую-ие страницы
    for (var i = CurrentPosition + 1; i <Portfolios.length; i++) {
        $("#divContent_" + (i - 1)).after("<div class='content' id=\"divContent_" + i + "\"></div>");
        var el = $("#divContent_" + i);
        SetCommonStyle(el, true);
        el.html("<img src='/i/portfolioScroll.jpg'/>");
    }
}
function ScrollToPosition(pos) {
    $("#imgLoading").show();
    //добавляем необходимые div-ы
    //alert($("#divContent_" + pos))
    var newItems = 0;
    var height = $("#divContent_" + CurrentPosition).height();
    var newEl = $("#divContent_" + pos);
    if (newEl.hasClass("portfolioScrollStart")) {
        SetCommonStyle(newEl);
        GetHtmlForDiv(pos);
        CurrentPosition = pos;
        //alert(newItems)
        setTimeout("ScrollContent()", 3000);
    }
    else {
        CurrentPosition = pos;
        ScrollContent();
    }    
    if (pos == Portfolios.length - 1)
        $("div.menuLevel_3").find(".rarr").addClass("notActive")
    else
        $("div.menuLevel_3").find(".rarr").removeClass("notActive")
    if (pos == 0)
        $("div.menuLevel_3").find(".larr").addClass("notActive")
    else
        $("div.menuLevel_3").find(".larr").removeClass("notActive")
        
    ScrollMenu();

}
function ScrollContent() {
    //var realPos = $("#divContainerScroll > div").index($("#divContent_" + CurrentPosition));
    $("#imgLoading").hide();
    $("#divContainerScroll").animate({ "marginLeft": -CurrentPosition * (OverWidth) + "px" }, 1000, null,
        function () {            
            $("#divContainerOver").height($("#divContent_" + CurrentPosition).height());
            document.title = Portfolios[CurrentPosition].Name;
            document.location = "#" + Portfolios[CurrentPosition].ID;
        });
}
function ScrollMenu() {
    var hrefs = MenuContainer.find("a");
    var width = 0;
    jQuery.each(hrefs,
    function(i) {
        if (CurrentPosition > i)
            width += $(this).width();
        if (CurrentPosition == i)
            $(this).addClass("active");
        else
            $(this).removeClass("active");
    }
    );

    MenuContainer.animate({ "marginLeft": (-width - (CurrentPosition * 20)) + "px" }, 500);
}
function SetCommonStyle(el, start) {
    if (start) {
        el.addClass("portfolioScrollStart");
        el.width(OverWidth);
    }
    else {
        el.addClass("portfolioScroll");    
        el.removeClass("portfolioScrollStart");
    }
}
function GetHtmlForDiv(pos) {
    //получаем новые данные
    var div = document.getElementById("divContent_" + pos);
    $.get(Portfolios[pos].URL, function(data) {
        // вырезаем кусок Html
        var posLeft = data.indexOf("<!--start-->", 0);
        var posRight = data.indexOf("<!--end-->", posLeft);
        var html = data.substring(posLeft, posRight + "<!--end-->".length);
        div.innerHTML = html;
    });
}
function GetPortfolioPos(PorfolioID) {
    for (var i = 0; i < Portfolios.length; i++)
        if (Portfolios[i].ID == PorfolioID) return i;
}
function ShowHideImg(ID) {
    if (activeID != ID) {
        var hideImg = GetContainer("img" + activeID);
        var hideSpan = GetContainer("span" + activeID);
        var showImg = GetContainer("img" + ID);
        var showSpan = GetContainer("span" + ID);
        //
        //
        hideImg.style.display = "none";
        hideImg.style.visibility = "hidden";
        hideSpan.className = "";
        //
        showImg.style.display = "block";
        showImg.style.visibility = "visible";
        showSpan.className = "active";
        //
        //
        activeID = ID;
    }
}
//аккордеон для страницы партфолио с бернаром
function accord(sender){
    if ($(sender).hasClass("active")) {
        $(sender).removeClass("active").find(".brief").slideUp("fast");
    }
    else {
        $("#serv > li").removeClass("active");
        $("#serv > li").find(".brief").slideUp("medium");
        $(sender).addClass("active").find(".brief").slideDown("slow");
    }
}
// дополнительные большие стрелки
$(document).ready(function() {
    var viewPortW = document.documentElement.clientWidth;
    var larrBig = $("#arrsBig > .larr");
    var rarrBig = $("#arrsBig > .rarr");
    if(1600 - viewPortW >= 0) {
        var otstup = 20;
        if (viewPortW < 1200) {
            larrBig.width(13);
            rarrBig.width(13);
        }
        larrBig.css("left", otstup);
        rarrBig.css("right", otstup);
    }
})
