/// <reference path="jquery-1.4.4.min.js" />
/// <reference path="jquery-1.3.2.min-vsdoc.js" />

var MainNav = {

    InitEvents: function () {

        $("#nav-tabs li a").not("li.active a").not("li.hover a").mouseenter(
        function () {
            var theLI = $(this).closest("li");
            theLI.addClass("hover");
            $("div", theLI).animate({
                marginLeft: "40px",
                width: "120px"
            }, 200, function () {
                $(this).dequeue();
            });
        });

        $("#nav-tabs li a").not("li.active a").mouseleave(
        function () {
            var theLI = $(this).closest("li");
            $("div", theLI).animate({
                marginLeft: "0px",
                width: "40px"
            }, 350, function () {
                theLI.removeClass("hover");
                $(this).dequeue();
            });
        });

        $(document).scroll(function (e) {
            //alert($(window).pageYOffset);
            //$("#smiley-holder").animate({ top: window.pageYOffset + window.scrollY });
            //$("#left-bar").height($(window).height() + window.pageYOffset);
            //console.log(window.pageYOffset);
        });

    }
}

var SubNav = {

    CurrentSlideNo: 1,
    SlidesOnPage: 1,

    InitEvents: function () {

        SubNav.SlidesOnPage = $(".slide").length;

//        $(".slides").cycle({
//            "fx": "scrollHorz",
//            "next": "a.next",
//            "prev": "a.prev",
//            "timeout": 0
//        });

        function onAfter(curr, next, opts, fwd) {
        var $ht = $(this).height();

      //set the container's height to that of the current slide
      $(this).parent().animate({height: $ht});
    }


        $("#sub-nav li a").click(function () {
            if ($(this).parent("li").hasClass("disabled"))
                return;
                    
            $("#sub-nav .attention").hide("slow");

            var animateOptions = {};
            var incrementor = 1;
            if ($("#sub-nav li a").index(this) == 0) {
                incrementor = -1;
                animateOptions = { left: "+=100%" };
            } else {
                animateOptions = { left: "-=100%" };
            }

            var nextSlideNo = SubNav.CurrentSlideNo + incrementor;
            var currentSlide = $(".slide" + SubNav.CurrentSlideNo);
            var nextSlide = $(".slide" + (nextSlideNo));

            $("body").css("overflow", "hidden");
            nextSlide.show();

            $(".slides").animate(animateOptions, 1000, function () {
                $("body").css("overflow", "auto");
                currentSlide.hide();

                SubNav.CurrentSlideNo = nextSlideNo;
                // Set sub-nav buttons
                if (incrementor == 1)
                    SubNav.EnableButton(0);
                if (SubNav.CurrentSlideNo == SubNav.SlidesOnPage) {
                    SubNav.DisableButton(1);
                } else {
                    SubNav.EnableButton(1);
                }
                if (SubNav.CurrentSlideNo == 1) {
                    SubNav.DisableButton(0);
                    SubNav.EnableButton(1);
                }
                SubNav.TrackSlide();
            });

        });

    },

    DisableButton: function (index) {
        var li = $("#sub-nav li").eq(index);
        li.addClass("disabled");
    },

    EnableButton: function (index) {
        var li = $("#sub-nav li").eq(index);
        li.removeClass("disabled");
    },

    // TODO: Abstraher ud til brug for andre sider end "Om N�RD"
    TrackSlide: function () {
        try {
            var pageTracker = _gat._getTracker("UA-10300032-1");
            pageTracker._trackPageview("/om-noerd/slide" + SubNav.CurrentSlideNo);
        } catch (err) { }
    }

}

var UI = {
    
    Map: {},
    Points: [],

    InitEvents: function () {

        $(".tab.inactive").live("click", function () {
            UI.SwitchMapTabs(this);
        });

        $(".about-content .slide1 .footlines1 span").mouseover(function() {
            console.log($(this).closest(".footlines1"));
            $(this).closest(".footlines1").css("background-image", "url(/data/images/about/slide1/krea-tek.png)");
        });
        $(".about-content .slide1 .footlines1").mouseleave(function() {
            $(this).closest(".footlines1").css("background-image", "url(/data/images/about/slide1/krea-tek-without.png)");
            console.log("out");
        });

    },

    SwitchMapTabs: function (sender) {
        var indexClicked = $(".tab").index(sender);
        $(".tab").not(".inactive").addClass("inactive");
        $(sender).removeClass("inactive");
        $("#map0").attr("src", "http://maps.google.dk/maps?f=q&amp;source=s_q&amp;hl=da&amp;geocode=&amp;q=Enghavevej+40,+1674+K%C3%B8benhavn&amp;sll=55.714735,12.253876&amp;sspn=0.460285,1.208496&amp;ie=UTF8&amp;hq=&amp;hnear=Enghavevej+40,+1674+K%C3%B8benhavn+V,+K%C3%B8benhavn&amp;ll=55.677488,12.518406&amp;spn=0.021294,0.062571&amp;z=14&amp;iwloc=A&amp;output=embed");
        UI.Map.setCenter(UI.Points[indexClicked]);
    },

    InitMap: function() {
        var mapOptions = {
            zoom: 15,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        UI.Map = new google.maps.Map(document.getElementById("map"), mapOptions);
        var point1 = new google.maps.LatLng(56.155519, 10.203555);
        var marker1 = new google.maps.Marker({
            map: UI.Map, 
            position: point1,
            title: "NöRD Vest!"
           });
           var point2 = new google.maps.LatLng(55.68241, 12.580835);
        var marker2 = new google.maps.Marker({
            map: UI.Map, 
            position: point2,
            title: "NöRD Öst!"
        });

        UI.Points = [point1, point2];
        UI.Map.setCenter(point1);
    }
}

var Clouds = {
    AnimateCloud: function (selector) {
        $(selector)
    .animate(
      {
          left: $("body").width()
      },
      123000,
      "linear",
      function () {
          $(this).css("left", -parseInt($(this).css("width")));
          //Clouds.AnimateCloud(selector);
      }
    );

    }
}

var Article = {
    InitEvents: function () {
        $(".gallery").cycle({
            "fx": "scrollHorz",
            "next": "a.next",
            "prev": "a.prev",
            "timeout": 0
        });
    }
}

var FrontpageTeasers = {
    Init: function () {
        $(".case-teasers").bxSlider({
            auto: true,
            autoHover: true,
            displaySlideQty: 3,
            moveSlideQty: 3,
            speed: 1000,
            pause: 4000,
            prevImage: "/data/images/frontpage/case-teaser-page-left.png",
            nextImage: "/data/images/frontpage/case-teaser-page-right.png",
            onAfterSlide: function () { Cufon.refresh() }
        });
    },

    SetColor: function (color) {
        $(".bx-prev img").attr("src", "/data/images/frontpage/case-teaser-page-left-" + color + ".png");
        $(".bx-next img").attr("src", "/data/images/frontpage/case-teaser-page-right-" + color + ".png");
    }
}

$(document).ready(function () {

    if (!window.console) {
        window.console = {};
        methods = ['trace', 'log', 'info', 'debug', 'warn', 'error'];
        for (var key in methods) {
            window.console[methods[key]] = function (msg) { };
        };
    };

    MainNav.InitEvents();
    SubNav.InitEvents();
    UI.InitEvents();
    //Clouds.AnimateCloud(".cloud1");
    Article.InitEvents();
    FrontpageTeasers.Init();
});
