v = {
    "mt1": { "left": -480, "top": -430 }, "mt2": { "left": -2350, "top": -430 },
    "mt3": { "left": -4465, "top": -430 }, "mb1": { "left": -480, "top": -2100 },
    "mb2": { "left": -2350, "top": -2100 }, "mb3": { "left": -4465, "top": -2100 },
    "ml2": { "left": -2350, "top": -3730 }, "ml3": { "left": -4465, "top": -3730 },
    "main": { "left": -480, "top": -1100 }, "about": { "left": -2350, "top": -1100 },
    "clients": { "left": -4465, top: -1100 }, "contacts": { "left": -2350, "top": -2580 },
    "portfolio": { "left": -4465, top: -2590 }
}

r = {
    "main_about": ["mt1", "mt2", "about"], "main_contacts": ["mb1", "mb2", "contacts"],
    "main_portfolio": ["mb1", "mb3", "portfolio"], "main_clients": ["mt1", "mt3", "clients"],

    "about_main": ["mt2", "mt1", "main"], "about_contacts": ["contacts"],
    "about_portfolio": ["mb2", "mb3", "portfolio"], "about_clients": ["mt2", "mt3", "clients"],

    "contacts_main": ["mb2", "mb1", "main"], "contacts_about": ["about"],
    "contacts_portfolio": ["ml2", "ml3", "portfolio"], "contacts_clients": ["mb2", "mb3", "clients"],

    "portfolio_main": ["mb3", "mb1", "main"], "portfolio_about": ["mb3", "mb2", "about"],
    "portfolio_contacts": ["ml3", "ml2", "contacts"], "portfolio_clients": ["clients"],

    "clients_main": ["mt3", "mt1", "main"], "clients_about": ["mt3", "mt2", "about"],
    "clients_contacts": ["mb3", "mb2", "contacts"], "clients_portfolio": ["portfolio"]
}

/* get current vect position from <v> array */
function get_vfrom(){
    var lc = $("#layer-content")
    var lv = {"left":parseInt(lc.css("left")), "top":parseInt(lc.css("top"))}

    for (var i in v)
        if (v[i]["left"] == lv["left"] && v[i]["top"] == lv["top"]) return i

    return false
}

function set_active_menu(vto){
    $("#main-menu-items li").removeClass("active"); $("#"+vto).parent().addClass("active");
}

function set_position(){
    var top = (1000 - $(window).height())
    if (top < 0) { top = 0; }
    if (top > 70) { top = 80; }
    $("#itcg-wrapper").css("top", -top)

    $("#layer-wrapper").css("left", ((parseInt($("#logo-itcg").offset().left) - 302)) + "px")
}

function set_height(cslide){
    var slide = get_vfrom()
    if (typeof(cslide) == "string" ) { slide = cslide; }

    if (slide != "main" && slide != "portfolio"){
        var ctop = $("#layer-menu").offset().top + $("#layer-menu").height()
        var ch = $(window).height() - ctop - 50


        if (ch > 200){
            $("div#content-page-"+slide).css({"height": ch, "overflow-y": "auto", "overflow-x": "hidden"})
             $("div#content-page-"+slide).jScrollPane({
                autoReinitialise: true,
                reinitialiseOnImageLoad: true,
                verticalDragMinHeight: 50,
                maintainPosition: false,
                verticalGutter: 15
             });
        }
    } else {
        $("div.content-page").removeAttr("style")
    }
}

function move_route(route){
    for (i in route) $("#layer-content").animate(v[route[i]], 600)
}

function init_layout(vto){
    $("#layer-content").css(v[vto])

    set_active_menu(vto);
    set_height(vto)

    /* start & stop autoslider */
    if (vto == "main") { autoslide = setInterval(autoslidefunc, 7000); } else { clearInterval(autoslide); }

    return false
}

function move_layout(vto){
    vfrom = get_vfrom(); if (vfrom) { set_active_menu(vto); move_route(r[vfrom + "_" + vto]); }

    set_height(vto)

    /* stop video */
    if (vfrom == "about"){callFlashFunction("video", "stop_player"); }

    /* start & stop autoslider */
    if (vfrom == "main"){ clearInterval(autoslide); }
    if (vto == "main") { autoslide = setInterval(autoslidefunc, 7000); }

    return false
}

function init_layout(vto){
    $("#layer-content").css(v[vto])

    set_active_menu(vto);
    set_height(vto)

    /* start & stop autoslider */
    if (vto == "main") { autoslide = setInterval(autoslidefunc, 7000); } else { clearInterval(autoslide); }

    return false
}

autoslidefunc = function(){
    var a = $(".slider-links a.active").parent().next("li").find("a")
    if (!a.length) a = $(".slider-links li:first a")
    change_slide(a)
}
autoslide = setInterval(autoslidefunc, 7000)

function change_slide(el){
    var img = $(el).attr("href")
    $(".slider").find("."+$(el).attr("slide")).fadeOut("800", function(){
        $(".slider div.slide").removeClass("current")
        $(".slider div.slide").css("display", "none")
        $(".slider").find("."+$(el).attr("slide")).fadeIn("800")
        $(".slider").find("."+$(el).attr("slide")).addClass("current")
    })

    $(".slider-links a").removeClass("active")
    $(el).addClass("active")
}

var bNotInited = true;
function callFlashFunction(sFlashID, sFunc, bForce, paramF){
    var oFlash = getFlash(sFlashID);

    if(bNotInited || bForce || oFlash){
        bNotInited = false;

        if(oFlash && oFlash[sFunc]){

            if(paramF){
                oFlash[sFunc](paramF);
            } else {
                oFlash[sFunc]();
            }
        } else {
            setTimeout(function(){callFlashFunction(sFlashID, sFunc, true)}, 1000);
        }
    }
}

function getFlash(sFlashID){
    return (navigator.appName.indexOf("Microsoft") != -1 ? window[sFlashID+"_obj"] : document[sFlashID]);
}

$().ready(function(){
    //init_layout("about")
    
    $("#logo-itcg").click(function(){ return move_layout("main") })
    $("#about").click(function(){ return move_layout("about") })
    $(".goto-about").click(function(){ return move_layout("about") })
    $("#clients").click(function(){ return move_layout("clients") })
    $("#contacts").click(function(){ return move_layout("contacts") })
    $("#portfolio").click(function(){ return move_layout("portfolio") })
    
    /* main page slider */
    $(".slider-links a").click(function(){
        change_slide(this)
        clearInterval(autoslide)
        setTimeout(function(){
            autoslide = setInterval(autoslidefunc, 7000)
        }, 9000)
        return false
    })
    /* main page slider end */

    setTimeout(function(){
        $(".video-block").show();
    }, 1000)

    set_position()
    set_height()
    
    $(window).resize(set_position)
    $(window).resize(set_height)

    /* init portfolio sliders */
    $("#sites-slider").jcarousel()
    //$("#cases-slider").jcarousel()
    /* init portfolio sliders end */
})

