﻿numberOfButtons = 9;
numberOfVisibleButtons = 5;
carouselDiv = "divCarouselNavigation";
marginLeft = 5;
marginRight = 5;
var running = false;
var next = false;
var flashMovie;
var offset = "30px";
var isAnimated;

    var textArray_BottomText= [];

        textArray_BottomText["WMC"] = "“Zorg dat gebruikers in vogelvlucht op de hoogte zijn van de aanwezigheid en (nieuwe) mogelijkheden van Windows Media Center.” Wij ontwikkelden een visuele demonstratie ondersteund met een informatieve website. De opgeleverde visuele demonstratie wordt vertoond in retail en via kanalen zoals MSN Video en YouTube.";
        textArray_BottomText["ABN"] = "ABN AMRO TV biedt uiteenlopende videocontent via meerdere kanalen, zoals de eigen website, de Financial Centers en kanalen van derde partijen. Uitdaging is om een dialoog te laten ontstaan tussen de kijker en de redactie, en niet alleen te zenden. GANDA heeft ABN AMRO TV van interactieve concepten voorzien die helpen deze doelstellingen te behalen.";
        textArray_BottomText["DynamicIT"] = "“Verschaf de TDM (Technical Decision Maker) aansprekende achtergrondinformatie over Dynamic IT.” GANDA produceerde een dvd waarop de content van Dynamic IT op een gestructureerde en overzichtelijke wijze is ondergebracht. De content op de dvd is toegankelijk via een geanimeerde Flash-interface. Na afloop van een 16-tal evenementen heeft de bezoeker de dvd ontvangen.";
        textArray_BottomText["hawanedo"] = "HaWaNeDo brengt als softwarepakket de financiële situatie en behoeften van de consument inzichtelijk in kaart. GANDA verzorgde de online video-introductie van HaWaNeDo en produceerde een videotour die potentiële partners een beeld geeft van de mogelijkheden.";
        textArray_BottomText["TechNet"] = "“Op de markt zetten van de Nederlandse editie van TechNet Magazine, een magazine voor de IT-professional.” Door gedegen projectplanning en kwaliteitsbewaking is het resultaat een professioneel magazine met een hoog kwaliteitsgehalte. Een totale oplage van 55.000 stuks en zesmaal per jaar een uitgave.";
        textArray_BottomText["ImagineCup"] = "“Creëer meer awareness rondom de Imagine Cup, een softwarecompetitie die Microsoft uitschrijft onder technologiestudenten.” We hebben een op Silverlight-gebaseerde viral marketing campagne ontwikkeld die de doelgroep aanspreekt en op hilarische wijze aanspoort om deel te nemen. Schakel de webcam in en dans de gastheer Odji na. Hoe beter je moves, hoe hoger de score.";
        textArray_BottomText["UC"] = "“Breng de nieuwe mogelijkheden en voordelen van Exchange Server 2007 onder de aandacht.” Zien is geloven. Jouw persoonlijke assistente Saskia neemt je mee op rondleiding door de functionaliteit. En nog belangrijker, jou deze zelf laat ervaren. Ze belt je op, spreekt je toe en leest onder mee je e-mail voor. Net als in de echte wereld. 73% van de bezoekers die de experience start, doorloopt deze helemaal.";
        textArray_BottomText["WindowsLive"] = "“Ontwikkel een platform waarmee we de doelgroep kunnen helpen meer uit Windows Live te halen.” GANDA heeft een platform ontwikkeld waar doelgroep wordt geïnformeerd, geholpen en geïnspireerd. Dit gebeurt op verschillende manieren, zoals het aanbieden van demovideo’s voor elk product, maar ook via twee lifestyle commercials die zijn gepubliceerd op meerdere kanalen. Verder zijn we verantwoordelijk voor alle communicatie rondom het platform, waaronder banners, mailings en CRM ads.";
        textArray_BottomText["WLMailings"] = "“Spreek de doelgroep op een relevante manier aan via een kanaal dat het beste aansluiting vindt bij de ontvanger.” GANDA verzorgde de productie van de Windows Live-nieuwsbrieven, waaronder een tweemaandelijkse nieuwsbrief naar ruim 7 miljoen gebruikers, vol wetenswaardigheden en acties, interessant voor de doelgroep. Een andere aansprekende nieuwsbrief is de MTV mailing, waarbij we het aantal streams van MTV content hebben vergroot.";

    var textArray_ProjectName = [];

        textArray_ProjectName["WMC"] = "Windows Media Center";
        textArray_ProjectName["ABN"] = "ABN AMRO TV";
        textArray_ProjectName["DynamicIT"] = "Resource DVD Dynamic IT";
        textArray_ProjectName["hawanedo"] = "HaWaNeDo";
        textArray_ProjectName["TechNet"] = "TechNet Magazine";
        textArray_ProjectName["ImagineCup"] = "Imagine Cup";
        textArray_ProjectName["UC"] = "Jouw assistente";
        textArray_ProjectName["WindowsLive"] = "Windows Live";
        textArray_ProjectName["WLMailings"] = "Windows Live Member letters";
    
    var hrefs = [];
        hrefs["ABN"] = "";
        hrefs["DynamicIT"] = "";
        hrefs["hawanedo"] = "";
        hrefs["TechNet"] = "";
        hrefs["ImagineCup"] = "www.imaginecup.nl ";
        hrefs["UC"] = "www.jouwassistente.nl ";
        hrefs["WindowsLive"] = "www.microsoft.nl/windowslive";
        hrefs["WLMailings"] = "";

function getMyApp(appName) {
    var flexApp;
    if (navigator.userAgent.indexOf("MSIE") != -1) {
        flexApp = document.getElementById(appName);
        if (!flexApp) {
            flexApp = window[appName];
        }
    } else {
        flexApp = document[appName];
    }
    return flexApp;
}

function LoadProjectCarousel(StrProject) {
    if (ProjectBDArray[StrProject] != null) {       
        callFlash(ProjectBDArray[StrProject]);
        UpLoadBottomTextBlock(StrProject);
    }
}

function callFlash(str) {
    flashMovie = getMyApp("ImageCarousel");
    var str2 = 'xml/' + str;
    flashMovie.sendTextToFlash(str2);
}
function UpLoadBottomTextBlock(str) {
    var textBlock = document.getElementById("BottomTextBlock");
    var ProjectName = document.getElementById("ProjectName");
    var ProjectUrl = document.getElementById("ProjectUrl");
    if (typeof (textBlock.innerText) != 'undefined') {
        textBlock.innerText = textArray_BottomText[str];
        ProjectName.innerText = textArray_ProjectName[str];
        if (hrefs[str].length > 0) {
            ProjectUrl.innerText = hrefs[str];
            ProjectUrl.href = "http://" + hrefs[str];
        } 
    } else {
    textBlock.textContent = textArray_BottomText[str];
    ProjectName.textContent = textArray_ProjectName[str];
    if (hrefs[str].length > 0) {
        ProjectUrl.textContent = hrefs[str];
        ProjectUrl.href = "http://" + hrefs[str];
    } 
    }
}
function prevClick() {
    noMoreAnimation = false;
    next = false;
    if (isAnimated) return false;
    var ul = getElement(carouselDiv).getElementsByTagName('ul')[0];
    if (ul.getElementsByTagName("li")[0].innerHTML.indexOf("HaWaNeDo") == -1) {
        document.getElementById("btnNext").style.visibility = "visible";
    }
    else {
        document.getElementById("btnPrev").style.visibility = "hidden";
    }
    return go();
};

function nextClick() {
    next = true;
    if (isAnimated) return false;
    var ul = getElement(carouselDiv).getElementsByTagName('ul')[0];
    return go();
};

function init() {
    var divSize = 0;
    var div1 = getElement(carouselDiv).getElementsByTagName('div')[0];
    var div2 = getElement(carouselDiv).getElementsByTagName('div')[1];
    var ul = getElement(carouselDiv).getElementsByTagName('ul')[0];
    var count = 0;
    for (var i = 0; i < div1.childNodes.length; i++) {
        if (div1.childNodes[i].nodeName == "A") {
            count++;
        }
    }
    for (var i = 0; i < count; i++) {
        divSize += width(div1.getElementsByTagName('a')[i]);
    }

    div1.style.width = divSize + "px";
    div2.style.width = (950 - divSize) + "px";
    numberOfButtons = 0;
    for (var i = 0; i < ul.childNodes.length; i++) {
        if (ul.childNodes[i].nodeName == "LI") {
            numberOfButtons++;
        }
    }

    divSize = 0;
    var position = CurentProjectNumber();
    var displasment= 0;
    if (numberOfVisibleButtons > numberOfButtons - position + numberOfVisibleButtons % 2) {
        
            displasment = numberOfButtons - numberOfVisibleButtons;
    }
    else {
        if (position > numberOfVisibleButtons % 2) {
            displasment = position - numberOfVisibleButtons % 2-1;
        }
        else {
            displasment = 0;
        }
    }
    for (var i = displasment; i < numberOfVisibleButtons + displasment; i++) {
        var li = ul.getElementsByTagName('li')[i];
        li.style.opacity = 1.0;
        li.style.filter = 'alpha(opacity=' + 100 + ')';
    }
    for (var i = numberOfVisibleButtons + displasment; i < numberOfButtons; i++) {
        var li = ul.getElementsByTagName('li')[i];
        li.style.opacity = 0.0;
        li.style.filter = 'alpha(opacity=' + 0 + ')';
    }
    for (var i = 0; i < displasment; i++) {
        var li = ul.getElementsByTagName('li')[0];
        li.style.opacity = 0.0;
        li.style.filter = 'alpha(opacity=' + 0 + ')';
        insertAfter(li, ul.getElementsByTagName('li')[numberOfButtons - 1]);
    }
    if (ul.getElementsByTagName("li")[0].innerHTML.indexOf("WindowsLive") != -1) {
        document.getElementById("btnPrev").style.visibility = "hidden";
    }
    if (ul.getElementsByTagName("li")[numberOfVisibleButtons-1].innerHTML.indexOf("WMC") != -1) {
        document.getElementById("btnNext").style.visibility = "hidden";
    }
};
function CurentProjectNumber() {
    var ProjectParam = $.getURLParam("project");
    var ul1 = $("li>a");
    for (var i = 0; i < ul1.length; i++) {
        var Id = ul1.get(i).id;
        if ( Id == ProjectParam)
            return i;
    }
        return 0;
};
function insertAfter(newElm, elm) {
    var clone = elm.cloneNode(true);
    elm.parentNode.insertBefore(clone, elm);
    elm.parentNode.replaceChild(newElm, elm);
}

var noMoreAnimation = false;

function animate(elm, liSize) {
    if (noMoreAnimation) return;
    var duration = 500;
    var fps = 10;
    var interval = duration / fps;
    var totalframes = duration / interval;

    var step = liSize / fps;

    for (var i = 1; i <= totalframes; i++) {
        (function() {
            var frame = i;
            var setAnimation = function() {
                var left = elm.style.left ? parseFloat(elm.style.left) : 0;
                var ul = getElement(carouselDiv).getElementsByTagName('ul')[0];
                var liHide;
                var liShow;
                var opacity;

                if (next) {

                    var liHide = elm.getElementsByTagName('li')[0];
                    var liShow = elm.getElementsByTagName('li')[numberOfVisibleButtons];
                    elm.style.left = (left - step) + "px";
                    if (liShow.innerHTML.indexOf("WMC") == -1) {
                        document.getElementById("btnPrev").style.visibility = "visible";
                    }
                    else {

                        document.getElementById("btnNext").style.visibility = "hidden";
                        noMoreAnimation = true;
                    }
                }
                else {
                    var liHide = elm.getElementsByTagName('li')[numberOfVisibleButtons];
                    var liShow = elm.getElementsByTagName('li')[0];
                    elm.style.left = (left + step) + "px";
                }

                opacity = (liHide.style.opacity) ? parseFloat(liHide.style.opacity) : parseInt(liHide.filters.opacity) / 100;
                opacity -= 0.1;
                liHide.style.opacity = opacity.toFixed(1);
                liHide.style.filter = 'alpha(opacity=' + opacity.toFixed(1) * 100 + ')';
                opacity = (liShow.style.opacity) ? parseFloat(liShow.style.opacity) : parseInt(liShow.filters[0].opacity) / 100;
                opacity += 0.1;
                liShow.style.opacity = opacity.toFixed(1);
                liShow.style.filter = 'alpha(opacity=' + opacity.toFixed(1) * 100 + ')';
            }

            setTimeout(setAnimation, interval * frame);
        })();
    }

    var endAnimation = function() {
        if (next) {
            var left = elm.style.left ? parseFloat(elm.style.left) : 0;
            var li = elm.getElementsByTagName('li')[0];
            insertAfter(li, elm.getElementsByTagName('li')[numberOfButtons - 1]);

            if (navigator.appName == "Microsoft Internet Explorer") {
                elm.style.left = (left - (liSize + left)) + "px";
                left = parseFloat(elm.style.left);
            }

            elm.style.left = (left + liSize) + "px";
        }
        else {
            if (navigator.appName == "Microsoft Internet Explorer") {
                elm.style.left = 0 + "px";
            }
        }
        isAnimated = false;
    }

    setTimeout(endAnimation, interval * totalframes);
}

function go() {
    isAnimated = true;
    var div = getElement(carouselDiv).getElementsByTagName('div')[1];
    var ul = getElement(carouselDiv).getElementsByTagName('ul')[0];

    var divSize = 0;
    var liSize = 0;

    if (next) {
        var li = ul.getElementsByTagName('li')[0];
        liSize = width(li);
    }
    else {
        var li = ul.getElementsByTagName('li')[numberOfButtons - 1];
        ul.insertBefore(li, ul.getElementsByTagName("li")[0]);

        var left = ul.style.left ? parseFloat(ul.style.left) : 0;
        liSize = width(li);
        ul.style.left = (left - liSize) + "px";
    }

    animate(ul, liSize);

    return false;
};

function width(el) {
    return el.offsetWidth + marginLeft + marginRight;
};

function getElement(id) {
    return document.getElementById(id);
};