$(document).ready(function(){
    var myCarousel = null;
    $("#neCarouselWrapper").hide();
    hideNewsEvents();
    var neCarousel = "";
    var neCarousel_itemList = new Array();
    var eventType, eventId;
    var data = [];
    
    //NEWS//
    $("#newsItems>div").css("cursor", "pointer");
    //klick på nyhetslistan
    $("#newsItems>div").click(function(event){
        event.stopPropagation();
	    hideNewsEvents();
        var nid = $(this).attr("id");
        nid = nid.substr(8, nid.length);
	    eventType = "news";
        eventId = nid;

        $("#newsMain>div[id^='news']").each(function(){
            $(this).hide();
        });
        //Gråa ut det klickade newsItemet
        $("#newsItems>div[id^='newsItem']").each(function(){
	        $(this).removeClass("grayedOutNewsItem");
        });
        $("#newsItems>div[id^='newsItem" + nid + "']").addClass("grayedOutNewsItem");

        //Visa nyheten
        $("#newsMain>div[id='news" + nid + "']").show();
	    $("#newsMain>div[id='news" + nid + "']").css({"borderBottom":"1px solid black", "paddingBottom":"40px"});

        initCarousel();
        $("#neCarouselList li").click(function(event){
            event.stopPropagation();
            var cid = setCarouselClickEvent($(this));
            var largeImage = getData(eventType,'largeImage',  eventId, cid);
            var downloadImage = getData(eventType,'downloadImage', eventId, cid);
            var imageText = getData(eventType,'imageText', eventId, cid);
            setLargeImage(largeImage);
            setDownloadImage(downloadImage);
            setImageText(imageText);
        });
        setListClass();
        setHover();
        window.scroll(0,0);
    });
    $("#newsItems>div:gt(1)").hide();
    $("#moreNews").click(function(event){
        event.stopPropagation();
        $("#newsItems>div:gt(1)").toggle();
        if($("#newsArrow").attr("src") == "/Content/images/smallDownArrow.png"){
            $("#newsArrow").attr("src", "/Content/images/smallUpArrow.png")
        }else{
            $("#newsArrow").attr("src", "/Content/images/smallDownArrow.png")
        }
    });
    //END NEWS//
    //EVENTS//
    $("#eventItems>div").css("cursor", "pointer");
    //klick på eventlistan
    $("#eventItems>div").click(function(event){
        event.stopPropagation();
	    hideNewsEvents();
        var eid = $(this).attr("id");
        eid = eid.substr(9, eid.length);
	    eventType = "events";
        eventId = eid;
        $("#eventMain>div[id^='event']").each(function(){
            $(this).hide();
        });
        //Gråa ut det klickade eventItemet
        $("#eventItems>div[id^='eventItem']").each(function(){
	        $(this).removeClass("grayedOutEventItem");
        });
        $("#eventItems>div[id^='eventItem" + eid + "']").addClass("grayedOutEventItem");
        //Visa eventet
        $("#eventMain>div[id='event" + eid + "']").show();
	    $("#eventMain>div[id='event" + eid + "']").css({"borderBottom":"1px solid black", "paddingBottom":"40px"});
	  
        initCarousel();
        $("#neCarouselList li").click(function(event){
            event.stopPropagation();
            var cid = setCarouselClickEvent($(this));
            var largeImage = getData(eventType,'largeImage',  eventId, cid);
            var downloadImage = getData(eventType,'downloadImage',  eventId, cid);
            var imageText = getData(eventType,'imageText',  eventId, cid);
            setLargeImage(largeImage);
            setDownloadImage(downloadImage);
            setImageText(imageText);
        });
        setListClass();
        setHover();
        window.scroll(0,0);
    });
    $("#eventItems>div:gt(1)").hide();
    $("#moreEvents").click(function(event){
        event.stopPropagation();
        $("#eventItems>div:gt(1)").toggle();
        if($("#eventArrow").attr("src") == "/Content/images/smallDownArrow.png"){
            $("#eventArrow").attr("src", "/Content/images/smallUpArrow.png")
        }else{
            $("#eventArrow").attr("src", "/Content/images/smallDownArrow.png")
        }
    });
    //END EVENTS//
    //PAST EVENTS//
    $("#pastEventItems>div").css("cursor", "pointer");
    //klick på pasteventlistan
    $("#pastEventItems>div").click(function(event){
        event.stopPropagation();
	    hideNewsEvents();
        var peid = $(this).attr("id");
        peid = peid.substr(13, peid.length);
	    eventType = "pastevents";
        eventId = peid;
        $("#pastEventMain>div[id^='pastEvent']").each(function(){
            $(this).hide();
        });
        //Gråa ut det klickade pastEventItemet
        $("#pastEventItems>div[id^='pastEventItem']").each(function(){
	        $(this).removeClass("grayedOutPastEventItem");
        });
        $("#pastEventItems>div[id^='pastEventItem" + peid + "']").addClass("grayedOutPastEventItem");
        //Visa pastEventet
        $("#pastEventMain>div[id='pastEvent" + peid + "']").show();
	    $("#pastEventMain>div[id='pastEvent" + peid + "']").css({"borderBottom":"1px solid black", "paddingBottom":"40px"});
	    
        initCarousel();
        $("#neCarouselList li").click(function(event){
            event.stopPropagation();
            var cid = setCarouselClickEvent($(this));
            var largeImage = getData(eventType,'largeImage', eventId, cid);
            var downloadImage = getData(eventType,'downloadImage', eventId, cid);
            var imageText = getData(eventType,'imageText', eventId, cid);
            setLargeImage(largeImage);
            setDownloadImage(downloadImage);
            setImageText(imageText);
        });
        setListClass();
        setHover();
        window.scroll(0,0);
    });
    $("#pastEventItems>div:gt(1)").hide();
    $("#morePastEvents").click(function(event){
        event.stopPropagation();
        $("#pastEventItems>div:gt(1)").toggle();
        if($("#pastEventArrow").attr("src") == "/Content/images/smallDownArrow.png"){
            $("#pastEventArrow").attr("src", "/Content/images/smallUpArrow.png")
        }else{
            $("#pastEventArrow").attr("src", "/Content/images/smallDownArrow.png")
        }
    });
    //END PAST EVENTS//
   
    function setLargeImage(data){
       $("#mainImage").attr("src", data);
    }
    function setDownloadImage(data){
	     $("#downloadImageLink").attr("href", data)
    }
     function setImageText(data){
        $("#imageOver span").text(data)
    }

   function setCarouselClickEvent(clickedElement){
        var cid = $(clickedElement).find("a[id^='carouselThumbnails']").attr("id");
        cid = cid.substr(18, cid.length);
        return cid;
    }

    function initCarousel(){
        $("#neCarouselWrapper").show();
        if(myCarousel == null){
            $("#neCarouselList").jcarousel({
                btnNextHTML: '<div></div>',
                btnPrevHTML: '<div></div>',
                scroll: 1,
//                visible: 5,
                initCallback: neCarousel_initCallback,
//                wrap: 'circular',
                itemLoadCallback: {onBeforeAnimation: neCarousel_itemLoadCallback}
//                itemVisibleInCallback: {onBeforeAnimation: neCarousel_itemVisibleInCallback},
//                itemVisibleOutCallback: {onAfterAnimation: neCarousel_itemVisibleOutCallback}
            });
        }else{
            myCarousel.reset();
        }
    }
    function neCarousel_itemVisibleInCallback(carousel, item, i, state, evt){
        if (state != 'prev' && state != 'next')
            return;
        var idx = carousel.index(i, neCarousel_itemList.length);
        var newItem = carousel.add(i, neCarousel_itemList[idx - 1]);
        $(newItem).unbind('click');
        $(newItem).click(function(event){
            event.stopPropagation();
            var cid = setCarouselClickEvent($(this));
            var largeImage = getData(eventType,'largeImage',  eventId, cid);
            var downloadImage = getData(eventType,'downloadImage', eventId, cid);
            var imageText = getData(eventType,'imageText', eventId, cid);
            setLargeImage(largeImage);
            setDownloadImage(downloadImage);
            setImageText(imageText);
        });
    };
    function neCarousel_itemVisibleOutCallback(carousel, item, i, state, evt){
        if (state != 'prev' && state != 'next')
            return;
        carousel.remove(i);
    };
    $(".jcarousel-next").click(function(event){
        event.stopPropagation();
        neCarousel_itemVisibleInCallback(myCarousel);
        neCarousel_itemVisibleOutCallback();
    });
    function neCarousel_itemLoadCallback(carousel, state){
        if (state != 'init')
            return;
        var carouselThumbnails = [];
        carouselThumbnails = getData(eventType,'thumbnails', eventId, null);
        var carouselItemArr = [];
        carouselItemArr = getHtml(carouselThumbnails);
        setRotation(carouselItemArr);
        neCarousel_itemAddCallback(carousel, carousel.first, carousel.last, carouselItemArr);
            var cid = setCarouselClickEvent($(".jcarousel-item-1"));
            var largeImage = getData(eventType,'largeImage',  eventId, cid);
            var downloadImage = getData(eventType,'downloadImage', eventId, cid);
            var imageText = getData(eventType,'imageText', eventId, cid);
            setLargeImage(largeImage);
            setDownloadImage(downloadImage);
            setImageText(imageText);
    };
    function getHtml(carouselThumbnails){
        var carouselItem;
        var carouselItemArr = [];
        var ct;
        for(var x=0;x<carouselThumbnails.length;x++){
            id = "carouselThumbnails" + (x+1);
            carouselItem = '<a id="' + id + '" href="javascript:void(0);"><img width="155" height="87" src="' + carouselThumbnails[x] + '" alt="" /></a>';
            carouselItemArr[x] = carouselItem;
        }
        return carouselItemArr;
    }
    
    function neCarousel_itemAddCallback(carousel, first, last, carouselThumbnails){
        for (var i = 0; i<carouselThumbnails.length; i++){
            carousel.add(i+1, carouselThumbnails[i]);
        }
        carousel.size(carouselThumbnails.length);
    };
    function neCarousel_initCallback(carousel, state){
        if(state == "init" || state=="reset"){
            myCarousel = carousel;
            myCarousel.reload();
        }
    }
    function setRotation(carouselThumbs){
        neCarousel_itemList = new Array();
        for(var x=0;x<carouselThumbs.length;x++){
            var item = carouselThumbs[x];
            neCarousel_itemList.push(item);
        }
    }

   function setListClass(){
        $("#neCarouselList li").each(function(){
            $(this).addClass("neCarouselItem");
        });
    }
    
    function setHover(){
        $(".neCarouselItem").hover(
		    function(){
			    $(this).children().prepend('<div class="neCarouselItemOverLay" style="position: absolute; top: 0px; left: 0px; z-index: 90; background-color: #fff; display: none;"></div>');
			    $(".neCarouselItemOverLay").css({ opacity: 0.24, width: '100%', height: '100%' });
			    $(".neCarouselItemOverLay").fadeIn(300);
		    },
		    function(){
			    $(".neCarouselItemOverLay").fadeOut(300, removeOverlay(".neCarouselItemOverLay"));
		    }
	    );
    }
});
function hideNewsEvents(){
    $("#newsMain>div[id^='news']").each(function(){
        $(this).hide();
    });
    $("#eventMain>div[id^='event']").each(function(){
        $(this).hide();
    });
    $("#pastEventMain>div[id^='pastEvent']").each(function(){
        $(this).hide();
    });
}