var submenu_timer = null;

$().ready(function() {
    left_navigation(); // Левая навигация
    right_navigation(); // Правая навигация
    submenu(); // Подменю
    if ($("#news").height()) {
        correct_arrows("news"); // Навигация
    }
    if ($("#receipt").height()) {
        correct_arrows("receipt"); // Навигация
    }
    correct_jobs(); // Вакансии

    $(".web").fancybox({});

    correct_receipt(); // Корректировка переключения фото

    correct_map(); // Корректируем карту комплекса
});

function correct_map() {
    $("#shops-list a").mouseover(function() {
        var rel = $(this).attr("rel").split(":");
        var w = parseInt($("#"+rel[1]).width()/2)*(-1) + "px";
        $("#"+rel[0]).stop(true, true).animate({opacity: 1}, 600);
        $("#"+rel[1]).css({marginLeft: w, display: "block"}).stop(true, true).animate({opacity: 1}, 600);
    }).mouseout(function() {
        var rel = $(this).attr("rel").split(":");
        $("#"+rel[0]).stop(true, true).animate({opacity: 0}, 300);
        $("#"+rel[1]).css({display: "none"}).stop(true, true).animate({opacity: 0}, 300);
    });
}

function correct_receipt() {
    $("#receipt .with-image").bind({
        mouseover: function() {
            if ($(this).attr("rel")) {
                $("#switch_image").attr("src", $(this).attr("rel")).parent().attr("href", $(this).attr("href"));
            }
        }
    });
}

function left_navigation() {
    var left_arrow = $("#left-arrow");
    var position = "";
    if (left_arrow.attr("rel")) {
        position = $("#nav a[rel="+left_arrow.attr("rel")+"]").position().top + 171;
        left_arrow.css({display: "block", top: position});
    } else {
        position = $("#nav a[rel=teorema]").position().top + 171;
        left_arrow.css({display: "block", top: position});
    }

    $("#nav a").mouseover(function(){
        var position = $(this).position().top + 171;
        left_arrow.css({display: "block", top: position});
    }).mouseout(function(){
        if (left_arrow.attr("rel")) {
            var position = $("#nav a[rel="+left_arrow.attr("rel")+"]").position().top + 171;
            left_arrow.css({display: "block", top: position});
        } else {
            position = $("#nav a[rel=teorema]").position().top + 171;
            left_arrow.css({display: "block", top: position});
        }
    });
}

function right_navigation() {
    var right_arrow = $("#right-arrow");
    $("#rnav a").mouseover(function(){
        var position = $(this).position().top + 178;
        right_arrow.css({display: "block", top: position});
    }).mouseout(function(){
        right_arrow.css("display", "none");
    });
}

function submenu() {
    $("#menu td a").hoverIntent({timeout: 500, over: showSubmenu, out: hideSubmenu});
    $("div.submenu").hoverIntent({timeout: 500, over: overSubmenu, out: hideSubmenu2});
}

function showSubmenu() {
    $("div.submenu").removeClass("show");
    var a = $(this).attr("rel");
    if (a) {
        var submenu = $("div.submenu[rel="+a+"]");
        var position= $(this).parent().position();
        var left    = position.left + $("#wrap").position().left - 10;
        var top     = position.top - submenu.height();
        submenu.css({left: left, top: top}).addClass("show");
    }
}

function hideSubmenu() {
    var a = $(this).attr("rel");
    if (a) {
        var sm = $("div.submenu[rel="+a+"]");
        if (!sm.hasClass("over-now")) {
            sm.removeClass("show");
        }
    }
}

function overSubmenu() {
    $(this).addClass("show over-now");
}

function hideSubmenu2() {
    $(this).removeClass("show over-now");
}

function set_arrow(left, right) {
    $("#nav-arrow-left").attr("rel", left);
    $("#nav-arrow-right").attr("rel", right);
}

function correct_arrows(id) {
    $("#"+id+" a[rel=gallery]").fancybox({
        'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	300,
		'speedOut'		:	100,
		'overlayShow'	:	false
    });

    var w   = $("#wrap").width()/2;
    var lm  = "-"+(w+19)+"px";
    var rm  = w+4+"px";
    var nal = $("#nav-arrow-left");
    var nar = $("#nav-arrow-right");
    var loa = $("#loader");

    var lr  = $("#lr");
    if (lr && lr.attr("rel")) {
        lr = lr.attr("rel").split("_");
        set_arrow(lr[0], lr[1]);
    }

    if (!parseInt(nal.attr("rel"))) {
        nal.removeClass("l-on").addClass("l-off").css({marginLeft: lm, display: "block"}).unbind("click");
    } else {
        nal.removeClass("l-off").addClass("l-on").css({marginLeft: lm, display: "block"}).unbind("click").bind({
            click: function() {
                var loc = window.location+"left/";
                $.ajax({
                    type: "POST",
                    url: loc,
                    beforeSend: function() {
                        loa.css("display", "block");
                    },
                    success: function(data) {
                        $("#"+id+" .wrap01").html(data);
                        correct_arrows(id);
                        loa.css("display", "none");
                    }
                });
            }
        });
    }

    if (!parseInt(nar.attr("rel"))) {
        nar.removeClass("r-on").addClass("r-off").css({marginLeft: rm, display: "block"}).unbind("click");
    } else {
        nar.removeClass("r-off").addClass("r-on").css({marginLeft: rm, display: "block"}).unbind("click").bind({
            click: function() {
                var loc = window.location+"right/";
                $.ajax({
                    type: "POST",
                    url: loc,
                    beforeSend: function() {
                        loa.css("display", "block");
                    },
                    success: function(data) {
                        $("#"+id+" .wrap01").html(data);
                        correct_arrows(id);
                        loa.css("display", "none");
                    }
                });
            }
        });
    }
}

function correct_jobs() {
    var loa = $("#loader");
    
    $("#jobs a[rel=ajax]").unbind("click").bind({
        click: function() {
            var a   = $(this);
            var loc = a.attr("href");
            $.ajax({
                type: "POST",
                url: loc,
                beforeSend: function() {
                    loa.css("display", "block");
                },
                success: function(data) {
                    a.parent().after(data);
                    loa.css("display", "none");
                }
            });

            return false;
        }
    });
}
