var pageAlias = new Array();pageAlias =['Home', 'Work Environment', 'Job List', 'Meet the Team', 'Team Blog'];var pageHrefPane = new Array();pageHrefPane = {'home':1,'work':2,'jobs':3,'team':4,'blog':5};var pageAliasTeam = new Array();pageAliasTeam =['Cristian', 'Vincent', 'Aristides', 'Ben'];// XSS blockgetCampaign();
window.addEvent('domready', function() {
    /* ******** Obfuscated Email Links ********* */
    obfuscateMailLinks('body');
    /* Page Scrolling */
    var currentPane;
    var pageHref = window.location.href;
    if (pageHref.indexOf("#") != -1) {
        pageHref = pageHref.substr(pageHref.indexOf("#") + 1, 4);
        if (pageHrefPane[pageHref]) { currentPane = pageHrefPane[pageHref]; } else { currentPane = 1; }
    } else {
        currentPane = 1;
    }
    var scroll = new Fx.Scroll('viewport', {
        wait: false,
        duration: 600,
        transition: Fx.Transitions.Quad.easeInOut
    });
    /* added by dansteve */
    var scrolljump = new Fx.Scroll('viewport', {
        wait: false,
        duration: 0,
        transition: Fx.Transitions.Quad.easeInOut
    });
    /* ******** Main Navigation ********* */
    var navigationElements = $$('#main_nav li');
    navigationElements.each(function(element) {
        element.addEvent('click', function(event) {
            var liIndex = element.getProperty('id').substring(3);
            var pane = 'page' + liIndex;
            event = new Event(event).stop();
            scroll.toElement(pane);
            currentPane = liIndex;
            initialiseContent();
        });
    });
    /* added by paolosev */
    var newJobsElements = $$('#new_jobs_par a');
    newJobsElements.each(function(element) {
        element.addEvent('click', function(event) {
            var pane = 'page3'; // jobs
            event = new Event(event).stop();
            scroll.toElement(pane);
            currentPane = 3;
            initialiseContent();
        });
    });
    /* ******** Left and right arrows ********* */
    $('right').addEvent('click', function(event) {
        jumpFlag = 0;
        if (currentPane < (navigationElements.length)) { currentPane++; } else { currentPane = 1; jumpFlag = 1; }
        var pane = 'page' + currentPane;
        event = new Event(event).stop();
        /* added by dansteve */
        if (jumpFlag == 1) {
            scrolljump.toElement(pane);
        } else {
            scroll.toElement(pane);
        }
        initialiseContent();
    });
    $('left').addEvent('click', function(event) {
        jumpFlag = 0;
        if (currentPane > 1) { currentPane--; } else { currentPane = navigationElements.length; jumpFlag = 1; }
        var pane = 'page' + currentPane;
        event = new Event(event).stop();
        /* added by dansteve */
        if (jumpFlag == 1) {
            scrolljump.toElement(pane);
        } else {
            scroll.toElement(pane);
        }
        initialiseContent();
    });
    // added by paolosev
    Videobox.init.bind(Videobox);
    /* ******** Ajax Left Nav ******** */
    // * Work Environment Left Nav
    var pageTwoNavEls = $$('#page_two_nav li');
    pageTwoNavEls.each(function(element) {
        element.addEvent('click', function(event) {
            event = new Event(event).stop();
            var url = element.getFirst().getProperty('href');
            var updateElementId = 'page_two_col_1';
            var updateColumn = new Ajax(url, {
                method: 'get',
                update: $(updateElementId)
            });
            updateColumn.addEvent('onComplete', function() {
                window.removeEvents();
                window.addEvent('domready', Lightbox.init.bind(Lightbox));
                breadCrumbLinks(updateElementId);
                obfuscateMailLinks(updateElementId);
                externalLinks(updateElementId);
                assignPage2SubNavCode();
            });
            var pageName = element.innerHTML.substring(element.innerHTML.indexOf(">") + 1, element.innerHTML.indexOf("<", element.innerHTML.indexOf(">")));
            //			pageName.replace("&amp;","&");
            updateColumn.request();
            var analyticsPageName = "Work Environment: " + pageName;
            trackHit(analyticsPageName);
        });
    });
    // * Meet the Team Left Nav
    var pageFourNavEls = $$('#page_four_nav li');
    pageFourNavEls.each(function(element) {
        var liIndex = element.getProperty('id').substring(8);
        element.addEvent('click', function(event) {
            event = new Event(event).stop();
            //initialiseContent();
            var url = element.getFirst().getProperty('href');
            var updateElementId = 'page_four_col_1';
            var loadMemberInfo = new Ajax(url, {
                method: 'get',
                update: $(updateElementId),
                evalScripts: true
            })
            loadMemberInfo.addEvent('onComplete', function() {
                breadCrumbLinks(updateElementId);
                obfuscateMailLinks(updateElementId);
                externalLinks(updateElementId);
                altTranslationLinks(updateElementId, liIndex);
                assignPage4SubNavCode();
            });
            loadMemberInfo.request();
            var analyticsPageName = pageAliasTeam[liIndex - 1];
            trackHit(analyticsPageName);
            //			loadMemberInfo.evalScripts();
            //var fxPhotodrop = new Fx.Styles(memberPhoto, {duration:200,wait:false});
            //fxPhotodrop.start({
            //	'opacity': [0,1]
            //});
        });
    });
    /* ******** Job Spec Page Popups ******** */
    var popupButtons = $$('#clickboxen li');
    popupButtons.each(function(element, index) {
        var liIndex = index + 1;
        var jobUrl = element.getFirst().getProperty('href');
        element.getFirst().addEvent('click', function(event) {
            openPopup(event, liIndex, jobUrl);
        });
        document.addEvent('click', function(event) {
            closePopup(event, liIndex);
        });
    });

    // * Open Job Popup
    function openPopup(event, id, jobUrl) {
        event = new Event(event).stop();
        //		var jobText = 'job_content' + id;
        var popupBoxEl = document.getElementById('popupbox' + id);
        var popupContainerEl = document.getElementById('popup_container' + id);
        var joblistContainerEl = document.getElementById('joblist_container');
        var page3_bottomEl = document.getElementById('page3_bottom');
        for (i = 1; i <= popupButtons.length; i++) {
            if (i != id) { closePopup(event, i); }
        }
        popupBoxEl.style.top = "20px";
        popupContainerEl.style.left = (joblistContainerEl.offsetLeft - 6) + 'px';
        popupContainerEl.style.top = (joblistContainerEl.offsetTop - 158) + 'px';
        popupContainerEl.style.height = "358px";
        page3_bottomEl.appendChild(popupContainerEl);
        popupContainerEl.style.visibility = "visible";
        var analyticsPageName = "Popup job description " + id;
        trackHit(analyticsPageName);
    }
    // * Close Job Popup
    function closePopup(event, id) {
        event = new Event(event);
        var popupBoxEl = document.getElementById('popupbox' + id);
        var popupContainerEl = document.getElementById('popup_container' + id);
        var liEl = document.getElementById('clickbox' + id);
        popupContainerEl.style.visibility = "hidden";
        popupContainerEl.style.top = "32px";
        popupContainerEl.style.height = "2px";
        popupBoxEl.style.top = "374px";
        //        liEl.appendChild(popupContainerEl);
    }
    /* ******** Links to alternate translations ********* */
    function altTranslationLinks(scope, teamIndex) {
        var team_translations = $(scope).getElements('.alt_content');
        team_translations.each(function(element) {
            element.addEvent('click', function(event) {
                event = new Event(event).stop();
                var url = element.getFirst().getProperty('href');
                var updateElementId = 'page_four_col_1';
                var loadMemberInfo = new Ajax(url, {
                    method: 'get',
                    update: $(updateElementId),
                    evalScripts: true
                })
                loadMemberInfo.addEvent('onComplete', function() {
                    breadCrumbLinks(updateElementId);
                    obfuscateMailLinks(updateElementId);
                    externalLinks(updateElementId);
                    altTranslationLinks(updateElementId, teamIndex);
                    assignPage4SubNavCode();
                });
                var lang = url.substr(url.length - url.lastIndexOf("/") + 10, 2);
                if (lang.indexOf("_") != -1) { lang = ""; } else { lang = "-" + lang; }
                loadMemberInfo.request();
                var analyticsPageName = pageAliasTeam[teamIndex - 1] + lang;
                trackHit(analyticsPageName);
            });
        });
    }
    /* ******** External Links ********* */
    function externalLinks(scope) {
        if (scope == 'body') {
            var externalLinks = $$('.externalLink', '.externalLink2');
        } else if (scope == 'blogposts') {
            var externalLinks = $(scope).getElements('a');
        } else {
            var externalLinks = $(scope).getElements('.externalLink');
            externalLinks = externalLinks.concat($(scope).getElements('.externalLink2'));
        }
        externalLinks.each(function(element) {
            var href = element.getProperty('href');
            var width = element.getProperty('width');
            var height = element.getProperty('height');
            var status = element.addEvent('click', function(event) {
                event = new Event(event).stop();
                if (width && height) {
                    window.open(href, '_blank', 'height=' + height + ', width=' + width); // was "extWinGPDE"
                }
                else {
                    window.open(href, '_blank');
                }
            });
        });
    }
    /* ******** Breadcrumb Links ********* */
    function breadCrumbLinks(scope) {
        var breadCrumbLinks = $(scope).getElements('.breadcrumbs');
        breadCrumbLinks.each(function(element) {
            element.addEvent('click', function(event) {
                $(scope).innerHTML = origMainPages[scope];
                externalLinks(scope);
                window.removeEvents();
                window.addEvent('domready', Lightbox.init.bind(Lightbox));
                if (scope == 'page_two_col_1') { var analyticsPageName = "Work Environment"; } else { var analyticsPageName = "Meet the Team"; }
                trackHit(analyticsPageName);
                //				initialiseContent();
            });
        });
    }
    /*******************  page 2 tabbing events *************************/
    // DC :: 13Aug08 :: Set of functions to manage the third level tabs in the Work Environment section
    function assignPage2SubNavCode() {
        var outputStr = "";
        //   Refine        var allElements = $$('*');
        //   Refine        var allElements = $(document.body).getElements('div[id^=pageTab]');
        //   Refine 	    var allElements = $(document.body).getElements('div[id=pageTabControls]');
        var tabElements = $$('#page2 .top_nav tr td')
        tabElements.each(function(element) {
            element.addEvent('click', function(event) {
                event = new Event(event).stop();
                var url = element.getFirst().getProperty('href');
                var targetTextBlock = url.substring(url.indexOf('#') + 1, url.length);
                // hide the existing text blocks.
                clearPage2SubNavs();
                // cleat the tab elements
                clearPage2Tabs();
                // highlight the current element 
                element.setStyle('background-color', '#002858');
                element.getFirst().setStyle('color', '#ffffff');
                // target and show the correspondingText element
                var targetBlock = $(document.body).getElement('div[id=' + targetTextBlock + ']');
                targetBlock.setStyle('display', 'block');
            });
        });
        //check definition  alert("DOES THE RESET EXIST --> " + ($defined($(document.body).getElement('#page2 .breadcrumbs .breadcrumbLinkReset'))));
        //	    if($defined($(document.body).getElement('#page2 .breadcrumbs .breadcrumbLinkReset')))
        //	    {
        //	        var breadcrumbReset = $(document.body).getElement('#page2 .breadcrumbs .breadcrumbLinkReset');
        //	        breadcrumbReset.addEvent('click', function(event)
        //	        {
        //	            event = new Event(event).stop();
        //	            clearPage2SubNavs();
        //	            resetPage2Tabs();
        //	        });
        //	    }
        highlightPage2FirstTab();


    }
    // Clear the Tab contents	
    function clearPage2SubNavs() {
        var tabElements = $$('#page2 .top_nav tr td')
        tabElements.each(function(element) {
            //outputStr += " | " + element.getFirst().getStyle('background-color');
            element.setStyle('background-color', '#004090');
            element.getFirst().setStyle('color', '#c0c0c0');
        });
    }
    // Clear the Tab highlights
    function clearPage2Tabs() {
        var textElements = $$('#page2 .pg2tabText');
        textElements.each(function(element) {
            element.setStyle('display', 'none');
        });
    }
    function highlightPage2FirstTab() {
        var tabElements = $$('#page2 .top_nav tr');
        if (tabElements.length > 0) {
            var firstTabElement = tabElements.getFirst();
            firstTabElement.setStyle('background-color', '#002858');
            firstTabElement.getFirst().setStyle('color', '#ffffff');
            // target and show the correspondingText element
            var url = firstTabElement.getFirst().getProperty('href').toString();
            var targetTextBlock = url.substring(url.indexOf('#') + 1, url.length);
            var targetBlock = $(document.body).getElement('div[id=' + targetTextBlock + ']');
            targetBlock.setStyle('display', 'block');
        }
    }

    // Reset the Tab highlights
    function resetPage2Tabs() {
        var startTextBlock = $(document.body).getElement('#page2 .pg2startText');
        startTextBlock.setStyle('display', 'block');
        var textElements = $$('#page2 .pg2tabText');
        textElements.each(function(element) {
            element.setStyle('display', 'none');
        });
    }

    /*******************  end page 2 tabbing events *************************/

    /*******************  page 4 tabbing events *************************/
    // DC :: 14Aug08 :: Set of functions to manage the third level tabs in the Meet the team section
    function assignPage4SubNavCode() {
        var tabElements = $$('#page4 .top_nav tr td');
        tabElements.each(function(element) {
            element.addEvent('click', function(event) {
                event = new Event(event).stop();
                var url = element.getFirst().getProperty('href');
                var targetTextBlock = url.substring(url.indexOf('#') + 1, url.length);
                // hide the existing text blocks.
                clearPage4SubNavs();
                // cleat the tab elements
                clearPage4Tabs();
                // highlight the current element 
                element.setStyle('background-color', '#502000');
                element.getFirst().setStyle('color', '#ffffff');
                // target and show the correspondingText element
                var targetBlock = $(document.body).getElement('div[id=' + targetTextBlock + ']');
                targetBlock.setStyle('display', 'block');
            });
        });
        highlightPage4FirstTab();
    }
    // Clear the Tab contents	
    function clearPage4SubNavs() {
        var tabElements = $$('#page4 .top_nav tr td')
        tabElements.each(function(element) {
            element.setStyle('background-color', '#903000');
            element.getFirst().setStyle('color', '#c0c0c0');
        });
    }
    // Clear the Tab highlights
    function clearPage4Tabs() {
        var textElements = $$('#page4 .pg4tabText');
        textElements.each(function(element) {
            element.setStyle('display', 'none');
        });
    }

    function highlightPage4FirstTab() {
        var tabElements = $$('#page4 .top_nav tr');
        if (tabElements.length > 0) {
            var firstTabElement = tabElements.getFirst();
            firstTabElement.setStyle('background-color', '#502000');
            firstTabElement.getFirst().setStyle('color', '#ffffff');
            // target and show the correspondingText element
            var url = firstTabElement.getFirst().getProperty('href').toString();
            var targetTextBlock = url.substring(url.indexOf('#') + 1, url.length);
            var targetBlock = $(document.body).getElement('div[id=' + targetTextBlock + ']');
            targetBlock.setStyle('display', 'block');
        }
    }
    /*******************  end page 4 tabbing events *************************/

    /* ********** Initialise content when new page is entered ********** */
    function initialiseContent() {
        // comment next block to preserve pgs 2&4 positions
        $('page_two_col_1').innerHTML = origMainPages['page_two_col_1'];
        $('page_four_col_1').innerHTML = origMainPages['page_four_col_1'];
        externalLinks('page_two_col_1');
        externalLinks('page_four_col_1');
        window.removeEvents();
        window.addEvent('domready', Lightbox.init.bind(Lightbox));
        // currentPane is the number of the current pane
        // 1 = home, etc.
        var analyticsPageName = pageAlias[currentPane - 1];
        trackHit(analyticsPageName);
    }
    externalLinks('body');
    externalLinks('blogposts');
    var origMainPages = new Array();
    origMainPages['page_two_col_1'] = $('page_two_col_1').innerHTML;
    origMainPages['page_two_col_1'] = origMainPages['page_two_col_1'].replace(/\$included=\"null\"/g, "");
    origMainPages['page_four_col_1'] = $('page_four_col_1').innerHTML;
    origMainPages['page_four_col_1'] = origMainPages['page_four_col_1'].replace(/\$included=\"null\"/g, "");
    scrolljump.toElement('page' + currentPane);
    initialiseContent();
});