




var onloadHandlers = [];
var onresizeHandlers = [];
window.onload = function(){
    for(var i=0;i<onloadHandlers.length;i++){
        eval(onloadHandlers[i]);
    }
}
window.onresize = function(){
    for(var i=0;i<onresizeHandlers.length;i++){
        eval(onresizeHandlers[i]);
    }
}

onresizeHandlers[onresizeHandlers.length] = 'sizeDropshadow()';

var galliardSifrFont = '/en/media/swf/fonts/galliard.swf';
var nimbusSifrFont = '/en/media/swf/fonts/nimbus-reg.swf';

function swapSifr() {

    if(typeof sIFR == 'function') {
        //Generic sifr replacement
        sIFR.replaceElement(named({sSelector:'.banner-text .banner-title', sFlashSrc: galliardSifrFont, sColor:'#FFFFFF', sWmode:'transparent'}));
        
        //News section sifr replacement
        sIFR.replaceElement(named({sSelector:'.news-header .header-copy .header-copy-line-1', sFlashSrc: galliardSifrFont, sFlashVars: "textalign=left", sColor:'#FFFFFF', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.news-header .header-copy .header-copy-line-2', sFlashSrc: galliardSifrFont, sFlashVars: "textalign=left", sColor:'#FFFFFF', sWmode:'transparent'}));
    }
}onloadHandlers[onloadHandlers.length] = 'swapSifr()';

function sizeDropshadow(){
    if (window.ActiveXObject && $('container-shadow')){
        $('wrapper').style.background = 'none';
        $('container-shadow').style.height = $('container').offsetHeight+'px';
    }
}onloadHandlers[onloadHandlers.length] = 'sizeDropshadow()';

function embedMedia() {
    var mediaPlayerSwf = '/en/media/swf/mediaplayer.swf';
    var swfFileContainers;
    var flashMediaControlHeight = 19; //control height is 19px

    if(swfFileContainers = document.getElementsByClassName('flash-media')) {
        for(var i=0; i < swfFileContainers.length;i++) {
            var videoAreaHeight = swfFileContainers[i].getHeight() - flashMediaControlHeight;
            if(swfFileContainers[i].hasClassName('audio-player')) {
                var newMediaContainerHeight = flashMediaControlHeight * 2;
                swfFileContainers[i].setStyle({height: newMediaContainerHeight+'px'});
                videoAreaHeight = 0;
            }
            var so = new SWFObject(mediaPlayerSwf+"?mediaID="+swfFileContainers[i].id+"&noPreload=true&buffer=5&showTimer=true&pausedOnStart=true&mediaW="+swfFileContainers[i].getWidth()+"&mediaH="+videoAreaHeight, "rmpvideo", "100%", "100%", "8", "#000000");
            so.addParam("wmode", "transparent");
            so.addParam("allowScriptAccess", "sameDomain");
            so.write(swfFileContainers[i].id);
        }
    }
}onloadHandlers[onloadHandlers.length] = 'embedMedia()';

function mediaHasChapterLinks(mediaID, adjustedHeight) {
    var mediaContainer = $(mediaID);
    var mediaObject = Element.extend(mediaContainer.firstChild);
    if(!mediaContainer.mediaHeight) {
        var newMediaContainerHeight = mediaContainer.getHeight() + 29 + parseInt(adjustedHeight);
        mediaContainer.setStyle({height: newMediaContainerHeight+'px'});
        mediaObject.setStyle({height: newMediaContainerHeight+'px'});
        mediaContainer.mediaHeight = true;
    }
}

// wait until the XiTi hit has been completed before changing window location
function redirectAfterXiti(url){
    var img_is_loaded = 0;
    var redirect = function() {
        if (img_is_loaded==0){
            document.location = url;
            img_is_loaded = 1;
        }
    }
    xt_img.onload = function(){redirect;}
    self.setTimeout(redirect, 2000)
}

function xitiDownloadClick(section, url, popup) {
    if ((popup) && (popup!="'false'")) {
        xt_med("C", section, url, "T", url, 1, null, null);
    }
    else {
        xt_med("C", section, url, "T", null, null, null, null);
        redirectAfterXiti(url);
        if (window.ActiveXObject){ // if this IE6 or IE 7, do not wait for the XiTi request to be completed
            document.location = url;
        } else {
            redirectAfterXiti(url);
        }
    }
}

function xitiExitClick(section, clickName, url, popup) {
    if ((popup) && (popup!="'false'")) {
        xt_med("C", section, clickName, "S", url, 1, null, null);
    }
    else {
        xt_med("C", section, clickName, "S", url, null, null, null);
        redirectAfterXiti(url);
    }
}

function xitiNavClick(section, name, url) {
    xt_med("C", section, name, "N", null, null, null, null);
    redirectAfterXiti(url);
}

function xitiFlashMediaEvent(medianame, control, seconds) {
    var mediaformat = parseInt(xiti_section_id) + 100;
    xt_med("M", mediaformat, medianame, control, seconds, "4", "2", "5");
}

function setupXitiOnclicks(){
    if (!document.getElementsByTagName) return;
    var anchors = document.getElementsByTagName("a");
    for (var i=0; i<anchors.length; i++) {
        var anchor = anchors[i];
        if(anchor.getAttribute("href") && anchor.getAttribute("rel") && 
            anchor.getAttribute("rel").split("-",1)[0] == "xt") {            
                var clickType = anchor.getAttribute("rel").split("-")[1];
                anchor.clickName = anchor.getAttribute("rel").split("-")[2];
                switch(clickType) {
                    case "exitclick":
                        anchor.onclick = function(){
                            xitiExitClick(xiti_section_id, this.clickName, this.href, 1);
                            return false;
                        }
                        break;
                    case "downloadclick":
                        anchor.onclick = function(){
                            xitiDownloadClick(xiti_section_id, this.href, 1);
                            return false;
                        }
                        break;
                    case "navclick":
                        anchor.onclick = function(){
                            if(hrefLang = this.hreflang) setLangCookie(hrefLang); //Language switching
                            xitiNavClick(xiti_section_id, this.clickName, this.href);
                            return false;
                        }
                        break;
                }
        }
    }
}onloadHandlers[onloadHandlers.length] = 'setupXitiOnclicks()';

/* Share with a friend functions */
function setupShareLinks() {
    if(shareAnchor = $("share-link")) {        
        var url = shareAnchor.href;
        var regexp = /\/en\//g;
        url = url.replace(regexp,'/en/includes/');
        shareAnchor.onclick = function() {
            new Ajax.Updater('share-container', url, {
                method: 'post',
                evalScripts: true,
                onComplete: function(transport) {
                    showForm();
                    enableAjaxShareForm(url);
                }
            });
            return false;
        }
    }
}onloadHandlers[onloadHandlers.length] = 'setupShareLinks()';

function enableAjaxShareForm(url) {
    $('send').onclick = function() {
        new Ajax.Updater('share-container', url, {
            method: 'post',
            evalScripts: true,
            parameters: $('share-with-friend-form').serialize(true),
            onComplete: function(transport) {
                showForm();
                enableAjaxShareForm(url);
            }
        });
        return false;
    }
}

/*Cookie Redirects*/
var expireOffset = new Date(new Date().getTime()+(365*24*60*60*1000)).toGMTString();

function getCookie(c_name) {
    if (document.cookie.length>0){
          c_start=document.cookie.indexOf(c_name + "=")
        if (c_start!=-1){ 
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1){
                c_end=document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start,c_end));
        } 
    }
    return null;
}

function goLocation(lang) {
    if(lang)
        document.location.href= '/'+lang+'/';
}

function setLangCookie(me){
    document.cookie = "lang="+me+"; expires="+expireOffset+"; path=/;";
}


function swapSifrDisciplines() {
    if(typeof sIFR == 'function') {
        //Artist pages
        sIFR.replaceElement(named({sSelector:'.artist-gold .artist-role', sFlashSrc: galliardSifrFont, sColor:'#A2821E', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-gold .artist-name', sFlashSrc: galliardSifrFont, sColor:'#A2821E', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-light .artist-role', sFlashSrc: galliardSifrFont, sColor:'#FFFFFF', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-light .artist-name', sFlashSrc: galliardSifrFont, sColor:'#FFFFFF', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-dark .artist-role', sFlashSrc: galliardSifrFont, sColor:'#403B2D', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-dark .artist-name', sFlashSrc: galliardSifrFont, sColor:'#403B2D', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-black .artist-role', sFlashSrc: galliardSifrFont, sColor:'#000000', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-black .artist-name', sFlashSrc: galliardSifrFont, sColor:'#000000', sWmode:'transparent'}));
        
        sIFR.replaceElement(named({sSelector:'.artist-light .artist-role-right', sFlashSrc: galliardSifrFont, sFlashVars: "textalign=right", sColor:'#FFFFFF', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-dark .artist-role-right', sFlashSrc: galliardSifrFont, sFlashVars: "textalign=right", sColor:'#403B2D', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-gold .artist-role-right', sFlashSrc: galliardSifrFont, sFlashVars: "textalign=right", sColor:'#A2821E', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-light .artist-name-right', sFlashSrc: galliardSifrFont, sFlashVars: "textalign=right", sColor:'#FFFFFF', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-dark .artist-name-right', sFlashSrc: galliardSifrFont, sFlashVars: "textalign=right", sColor:'#403B2D', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-gold .artist-name-right', sFlashSrc: galliardSifrFont, sFlashVars: "textalign=right", sColor:'#A2821E', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-black .artist-name-right', sFlashSrc: galliardSifrFont, sFlashVars: "textalign=right", sColor:'#000000', sWmode:'transparent'}));
        
        sIFR.replaceElement(named({sSelector:'.artist-pullquote-bright-gold span.pullquote', sFlashSrc: galliardSifrFont, sColor:'#DDA526', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-pullquote-gold span.pullquote', sFlashSrc: galliardSifrFont, sColor:'#926B1E', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-pullquote-light span.pullquote', sFlashSrc: galliardSifrFont, sColor:'#FFFFFF', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.artist-pullquote-dark span.pullquote', sFlashSrc: galliardSifrFont, sColor:'#403B2D', sWmode:'transparent'})); 
        sIFR.replaceElement(named({sSelector:'.artist-pullquote-black span.pullquote', sFlashSrc: galliardSifrFont, sColor:'#000000', sWmode:'transparent'})); 
        
        //Year of Mentoring title
        sIFR.replaceElement(named({sSelector:'.year-of-mentoring-line-1', sFlashSrc: galliardSifrFont, sColor:'#FFFFFF', sWmode:'transparent'}));
        sIFR.replaceElement(named({sSelector:'.year-of-mentoring-line-2', sFlashSrc: galliardSifrFont, sColor:'#FFFFFF', sWmode:'transparent'}));
     }
}onloadHandlers[onloadHandlers.length] = 'swapSifrDisciplines()';
 


function urlGetImageNumber(urlNumber){
  var url = window.location.href;
  var qparts = url.split("#");
  if(qparts.length > 1) {
      var query = qparts[1];
      var vars = query.split("&");
      var value = "";
      for (i=0;i<vars.length;i++){
        var parts = vars[i].split("-");
        if (parts[0] == urlNumber){
          value = parts[1];
          break;
        }
      }
      value = unescape(value);
      value.replace(/\+/g," ");
      return value;
  }
  return 1;
}
function changeImgFromUrl(){
    var urlImgNumber = urlGetImageNumber("img");
    if(urlImgNumber){
        gallery.showImage(urlImgNumber);
        
        var prev = parseInt(gallery.currentImg)-1;
        if(prev < 1) prev = 1;
        var next = parseInt(gallery.currentImg)+1;
        var allPhotos = $('pagination').getElementsByTagName('li').length;
        if(next > allPhotos) next = allPhotos;
        $('prev').getElementsByTagName('a')[0].href = "#img-"+prev;
        $('next').getElementsByTagName('a')[0].href = "#img-"+next;
    }
}
function resizeGalleryHolder(imageNumber) {
    $('img-holder').style.paddingTop = '0px';
    $('img-holder').style.height = '423px';
    galleryImage = $('img-holder').getElementsByTagName('img')[imageNumber-1];
    imageHeight = galleryImage.offsetHeight;
    var imgHolder = $('img-holder').offsetHeight - 1;
    if(imageHeight < imgHolder) {
        var imageHolderTopPadding;
        var calcTopPadding;
        imageHolderTopPadding = imgHolder - imageHeight;
        calcTopPadding = Math.round(imageHolderTopPadding / 2);
        $('img-holder').style.paddingTop = calcTopPadding + 'px';
        $('img-holder').style.height = imgHolder - calcTopPadding + 'px';
    }
}
function resizeImgDescription(){
    var articleWrapper = $('gallery').getElementsByClassName('article-wrapper-no-border');
    var largestHeight = 0;
    for(var i=0; i < articleWrapper.length; i++) {
        currentHeight = articleWrapper[i].getHeight();
        if(currentHeight > largestHeight){
            largestHeight = currentHeight;
        }
    }
    
    $('img-description').style.height = largestHeight + 'px';
}
function Gallery(galleryId, imagesPerPage) {
    this.galleryId = galleryId;
    this.imagesPerPage = imagesPerPage;
    this.currentImg = 1;
    this.pages = 0;
    this.inited = false;
    this.showImages = function(from, to) {
        var elements = $(galleryId).getElementsByTagName('li');
        for (var i = 0; i < elements.length; i++) {
            if (i < from || i > to) {
                elements[i].style.display = 'none';
            }
            else {
                var imageTitle;
                var imageDescription;
                if(elements[i].getElementsByTagName('div').length != 0) {
                    imageTitle = elements[i].getElementsByTagName('div')[0];
                }
                
                elements[i].getElementsByTagName('img')[0].style.margin = "0px auto";
                elements[i].getElementsByTagName('img')[0].style.textAlign = "center";
                if(imageTitle != undefined) {
                    imageTitle.style.display = "none";
                    $('img-description').innerHTML = imageTitle.innerHTML;
                }else{
                    $('img-description').innerHTML = "";
                }
                elements[i].style.display = '';
            }            
        }
    }
    this.enableCss = function() {
        $('img-holder').style.borderTop = "1px solid #4d4d4d";
        $('gallery').style.background = "#000000";
        $('gallery').style.borderBottom = "1px solid #4d4d4d";
        $('gallery-nav').style.display = "block";
        $('img-holder').textAlign = "center";
    }
    this.removeJumpLinks = function(){
        var anchor = document.getElementsByClassName('jump-link');
        for (i=0; i < anchor.length; i++){
            anchor[i].parentNode.removeChild(anchor[i]);
        }
    }
    this.showImage = function(imgNumber) {
        if (! this.inited) {
            return;
        }
        var normalPageAnchor = $('pg'+this.currentImg);
        normalPageAnchor.className = 'pg-normal';
        this.currentImg = imgNumber;
        var newPageAnchor = $('pg'+this.currentImg);
        newPageAnchor.className = 'current';
        var from = (imgNumber - 1) * imagesPerPage;
        var to = from + imagesPerPage - 1;
        this.showImages(from, to);
        resizeGalleryHolder(this.currentImg);
    }
    this.init = function() {
        resizeImgDescription();
        this.enableCss();
        this.removeJumpLinks();
        var elements = $(galleryId).getElementsByTagName('li');
        var records = (elements.length); 
        this.pages = Math.ceil(records / imagesPerPage);
        this.inited = true;
        this.showPageNav("gallery", "gallery-nav");
        this.showImage(1);
    }
    this.next = function() {
        if (this.currentImg < this.pages) {
            this.showImage(parseInt(this.currentImg) + 1);
            $("next").getElementsByTagName('a')[0].href = "#img-" + this.currentImg;
        }
        else {
            this.showImage(1);
            $("next").getElementsByTagName('a')[0].href = "#img-1";
        }
    }
    this.prev = function() {
        if (this.currentImg > 1) {
            this.showImage(parseInt(this.currentImg) - 1);
            $("prev").getElementsByTagName('a')[0].href = "#img-" + this.currentImg;
        }
        else {
            this.showImage(this.pages);
            $("prev").getElementsByTagName('a')[0].href = "#img-" + this.pages;
        }
    }
    this.showPageNav = function(paginationName, positionId) {
        if (! this.inited) {
            return;
        }
        var element = $(positionId);
        var paginationHtml = "\n" + '<div id="prev"><a a href="#" onclick="' + paginationName + '.prev();">Previous</a></div>' + "\n" + '<ul id="pagination">';
        for (var page = 1; page <= this.pages; page++) {
                paginationHtml += "\n" + '<li id="pg' + page + '" onclick="' + paginationName + '.showImage(' + page + ');"><a href="#img-'+page+'">' + page + '</a></li>';
            }
        paginationHtml += "\n" + '</ul>' + "\n" + '<div id="next"><a href="#" onclick="'+ paginationName +'.next();">Next</a></div></ul>' + "\n";
        element.innerHTML = paginationHtml;
    }
}
var gallery;
onloadHandlers[onloadHandlers.length] = 'if($("img-holder")) {gallery = new Gallery("img-holder", 1); gallery.init(); changeImgFromUrl();}';
