﻿/*
* jquery.rotunde.js v.1.0
* by Anders april 2011
*/

var TotalNumberOfItemsInCarousel = 0;
var NumberOfVisibleItemsInCarousel = 3;
var SlideSpeedOfLeftMenuInMilliseconds = 700;
var FadeInSpeedOfViewAreaInMilliseconds = 600;
var speedvalue;
var timeout;
$(document).ready(
    function () {

        /*Event wireup*/
        $('#imgMoveUp').click(imgMoveUp);
        $('#imgMoveDown').click(imgMoveDown);
        $("#ulLeftNavigation li").mouseenter(ulLeftNavigationLiMouseEnter);

        /*Setup properties*/
        TotalNumberOfItemsInCarousel = $("#ulLeftNavigation > li").size()
        SetHtmlContentOfViewArea(1);
        SetLeftMenuCssSelectedClass(1);
        ToggleUpButton(0);
        ToggleDownButton(NumberOfVisibleItemsInCarousel + 1);
        SetCarouselItemCounterText(1);

        var childNumber = 1;
        childNumber = parseInt(childNumber) + 1;
        if ( $("span.hfCarouselSpeedClass input").val() ) {
            speedvalue = $("span.hfCarouselSpeedClass input").val();
            timeout = setTimeout("timeoutcall(2)", speedvalue);
        }
    }
);

    function timeoutcall(counter) {
        if (counter > 4)
            clearTimeout(timeout);
        else {
            RemoveLeftMenuCssSelectedClass();
            SetHtmlContentOfViewArea(counter);
            SetLeftMenuCssSelectedClass(counter);
            var newcount = parseInt(counter) % 3 + 1;
            if ( $("span.hfCarouselSpeedClass input").val() ) {
                timeout = setTimeout("timeoutcall(" + newcount + ")", speedvalue);
            }
            
        }
  }

function ulLeftNavigationLiMouseEnter() {
    clearTimeout(timeout);
    var hoveredLiChildNumber = $(this).index() + 1;

    SetHtmlContentOfViewArea(hoveredLiChildNumber);
    RemoveLeftMenuCssSelectedClass();
    SetLeftMenuCssSelectedClass(hoveredLiChildNumber);
}


function imgMoveUp() {
    clearTimeout(timeout);
    var heightOfOneLi = $('#ulLeftNavigation li').outerHeight();
    var newTopCssPositionIndent = parseInt($('#ulLeftNavigation').css('top')) + (heightOfOneLi * NumberOfVisibleItemsInCarousel);

    var currentFirstElementChildNumber = ((newTopCssPositionIndent / heightOfOneLi) * -1);
    var nextElementChildNumber = currentFirstElementChildNumber + 1;

    if (nextElementChildNumber <= 0) {
        return false;
    }
    SlideLeftMenu(newTopCssPositionIndent, nextElementChildNumber);
}


function imgMoveDown() {
    clearTimeout(timeout);
    var heightOfOneLi = $('#ulLeftNavigation li').outerHeight();
    var newTopCssPositionIndent = parseInt($('#ulLeftNavigation').css('top')) - (heightOfOneLi * NumberOfVisibleItemsInCarousel);

    var currentFirstElementChildNumber = ((newTopCssPositionIndent / heightOfOneLi) * -1);
    var nextTopSelectedChildNumber = currentFirstElementChildNumber + 1;

    var currentLastLiIsTheLastInTotal = NoMoreViews(currentFirstElementChildNumber);
    if (currentLastLiIsTheLastInTotal) {
        return false;
    }
    SlideLeftMenu(newTopCssPositionIndent, nextTopSelectedChildNumber);
}
        

function SlideLeftMenu(cssPositionToSlideTo, childNumber) {
    $('#ulLeftNavigation:not(:animated)').animate({ 'top': cssPositionToSlideTo }, SlideSpeedOfLeftMenuInMilliseconds,
        function () {
            SetHtmlContentOfViewArea(childNumber);
            RemoveLeftMenuCssSelectedClass();
            SetLeftMenuCssSelectedClass(childNumber);
            SetCarouselItemCounterText(childNumber);
            ToggleUpButton(childNumber - NumberOfVisibleItemsInCarousel);
            ToggleDownButton(childNumber + NumberOfVisibleItemsInCarousel);
        }
    );
}
function SetCarouselItemCounterText(childNumber) {
    var viewNumber = parseInt(childNumber / NumberOfVisibleItemsInCarousel);
    var maxViews = parseInt(TotalNumberOfItemsInCarousel / NumberOfVisibleItemsInCarousel);
    $(".carouselItemCounter").text("" + ++viewNumber + " / " + maxViews);
}
function ToggleUpButton(childNumber) {

    if (childNumber <= 0) {
        $('#imgMoveUp').removeClass("arrowActive").addClass("arrowInactive");
        return;
    }
    $('#imgMoveUp').removeClass("arrowInactive").addClass("arrowActive");
}
function ToggleDownButton(childNumber) {

    if (NoMoreViews(childNumber)) {
        $('#imgMoveDown').removeClass("arrowActive").addClass("arrowInactive");
        return;
    }
    $('#imgMoveDown').removeClass("arrowInactive").addClass("arrowActive");
}
function NoMoreViews(childNumber) {

    maxViews = parseInt(TotalNumberOfItemsInCarousel / NumberOfVisibleItemsInCarousel);

    if (TotalNumberOfItemsInCarousel % NumberOfVisibleItemsInCarousel > 0) {
        maxViews += 1;
    }

    var viewNumber = childNumber / NumberOfVisibleItemsInCarousel;

    if (viewNumber >= maxViews) {
        return true;
    }
    return false;
}

function SetHtmlContentOfViewArea(childIdOfDivToUseHtmlFrom) {
    
    $("#divCarouselViewArea").hide();
   // var htmlContent = $("#divCarouselHiddenDivContainer div:eq(" + childIdOfDivToUseHtmlFrom + ")").html();
    // Find the facebook-toolbar area
    var fbtba = $("#divCarouselHiddenDivContainer > div:nth-child(" + childIdOfDivToUseHtmlFrom + ") .carouselItemToolBar");
    if (fbtba.children("iframe").length === 0) {
        // See if it contains an iframe
        // If not, add the facebook iframe setting and the like button text from container.currentpage
        var fbtitlename = $("span.hfFBText input", fbtba).val();
       var fburl = $("span.hfFBUrl input", fbtba).val();
        var fbiframe = $("<iframe>",


         {
             src: "http://www.facebook.com/plugins/like.php?href=" + fburl + "&send=true&layout=button_count&show_faces=false&stream=false&action=" + fbtitlename + "&colorscheme=light",
             style: "border:none; overflow:hidden; width:90px; height:35px;",
             allowTransparency: "true"
             


         }




    );
     
        fbtba.append(fbiframe);
    }
    
    var htmlContent = $("#divCarouselHiddenDivContainer > div:nth-child(" + childIdOfDivToUseHtmlFrom + ")").html();
    $("#divCarouselViewArea").html(htmlContent).fadeIn(FadeInSpeedOfViewAreaInMilliseconds);
    


}
function SetLeftMenuCssSelectedClass(childId) {
    $("#ulLeftNavigation li:nth-child(" + childId + ")").addClass("carouselLeftMenuElementSelected");
}
function RemoveLeftMenuCssSelectedClass() {
    $("#ulLeftNavigation > li").removeClass("carouselLeftMenuElementSelected");
}
