// QUESTION: why is this (global) variable set to 'HCP'??
user='HCP';

var activeYear = new Date().getFullYear();
var years = Array();
var dcsAlreadySend = false;
var openedElement = null;



//toggle individual toggle group within a given year
var activeEvent = 0;
var animationStarted = false;

if((window.XMLHttpRequest == undefined) && (ActiveXObject != undefined)) {
	//embed eventcalendar flash
	var flashvars = {
		basePath:'/html/xml/', 
		activeYear:activeYear, 
		xml_path:'/html/xml/eventcalendar.xml'
	};
	var flashparams = { wmode:'transparent' };

	swfobject.embedSWF( '/html/flash/events_calendar/xarelto.swf', 'events_flash', '950', '760', '8', '', flashvars, flashparams );
	if (!swfobject.hasFlashPlayerVersion("8.0.0")) { GetEvents(); }

	function GetEvents()
	{
		new Ajax.Request('/html/xml/eventcalendar.xml',{
			method:'get',
			onSuccess: function(transport){
				var response = transport.responseText || "failed";
				try {
					xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
					xmlDoc.async=false;
					xmlDoc.loadXML(response);
				}
				catch(e){
					try {
						parser = new DOMParser();
						xmlDoc=parser.parseFromString(response,"text/xml");
					}
					catch(e){}
				}

				var startYear;
				for(i=1;i<xmlDoc.documentElement.childNodes.length;i++){
					var node = xmlDoc.documentElement.childNodes[i].nodeName;
					if (node.indexOf("year_")>-1){
						years.push(node.replace("year_",""));
						if ((activeYear+'') == years[years.length-1]) {
							startYear = activeYear;
						}
					}
				}

				if(startYear==null){
					startYear = years[years.length-1];
				}
				setupButtons(startYear,1);

			},
			onFailure: function(){
				alert('Failed to get event list');
			}
		});
	}
 }

function setupButtons( selectedYear, initialsetup )
{
    var nextButton = $('next');
    var prevButton = $('prev');

    var foundYear = false;
    for (i=0;i<years.length;i++) {
        if (years[i] == selectedYear) {
            foundYear = true;
            if (i > 0) {
                //show back year
                prevButton.show();
                prevButton.observe('click', function(){
                    setupButtons( years[i-1], 0);
                });
                prevButton.value = years[i-1];
            }
            else {
                prevButton.hide();
            }

            if (i < (years.length-1)){
                nextButton.show();
                nextButton.observe('click', function(){
                    setupButtons( years[i+1], 0);
                });
                nextButton.value = years[i+1];
            }
            else {
                nextButton.hide();
            }

            if (initialsetup == 0){
                showYear(selectedYear);
            }
        }
    }
}

//toggle year from 2007,2008,2009 etc
function showYear(year)
{
    activeYear = year;
    $$(".year").each( function(item){
        item.hide();
    });
    $("events_"+year).show();
    dcsMultiTrack('WT.cusEventCalendar', activeYear);
    dcsAlreadySend = true;
}

function showEvent(shortname)
{
    var queueOption = {
        position : 'end',
        scope    : 'events'
    };
    var idPart = activeYear+'_'+shortname;
    var eventElement = $('heading_' + idPart);
    if (!eventElement || (animationStarted === true)){
        return;
    }
    animationStarted = true;
    
    if (!eventElement.hasClassName('closed')) {
        if (eventElement.hasClassName('open')) {
            //if already open
            var effectScrollToAnch = new Effect.ScrollTo(eventElement, {
                queue: queueOption
            });
            animationStarted = false;
        }
    }
    else {
        $$("h4.toggle").each(function(item){
            item.removeClassName('open');
            item.addClassName('closed');
        });
        $$("div.toggle").each( function(item){
            item.hide();
        });

        eventElement.removeClassName('closed');
        new Effect.ScrollTo(eventElement, {
            queue: queueOption,
            afterFinish:function() {
                new Effect.BlindDown( $('content_' + idPart), {
                    queue: queueOption,
                    afterFinish:function() {
                        new Effect.ScrollTo($('heading_' + idPart), { queue: queueOption });
                        $('heading_' + idPart).addClassName('open');
                        activeEvent = idPart;
                        animationStarted = false;
                    }
                });
            }
        });
    }

    //alert('DCS.dcsuri, '+window.location.pathname+', WT.ti, '+document.title+',WT.cusEventCalendar, '+activeYear);
    dcsMultiTrack('WT.cusEventCalendar', activeYear+'/'+shortname,'WT.cusEngage','Engagement','WT.cusEPoint','2');
	openedElement = shortname;
}

function toggleEvent(shortname)
{
	var queue =  { position: 'end', scope: 'events'};
    var eventElement = $('heading_'+activeYear+'_'+shortname);
    if (eventElement.hasClassName('open')) {
        animationStarted = true;
        eventElement.removeClassName('open');
        var hideEvent = new Effect.BlindUp( $('content_'+activeYear+'_'+shortname) , {
            queue: queue,
            afterFinish: function() {
                $('heading_'+activeYear+'_'+shortname).addClassName('closed');
                animationStarted = false;
            }
        });
    }
    else if (eventElement.hasClassName('closed')) {
        if(openedElement != null) {
            animationStarted = true;
            var hideEvent = new Effect.BlindUp( $('content_'+activeYear+'_'+openedElement) , {
                queue: queue,
                afterFinish: function() {
                    $('heading_'+activeYear+'_'+openedElement).addClassName('closed');
                    animationStarted = false;
                    showEvent(shortname);
                }
            });
        } else {
            showEvent(shortname);
        }
    }
}



document.observe('dom:loaded', function() {
    // if not IE6 - load new JavaScript Eventcalendar
    if(typeof activeYear == 'undefined') {

	var activeYear = new Date().getFullYear();

	}
	
	if(!((window.XMLHttpRequest == undefined) && (ActiveXObject != undefined))) {
        debug("--program started--");
        //http://www.xarelto.com/html/xml/eventcalendar.xml
        window.eventCalendar = new EventCalendar ({
           xml: '/html/xml/eventcalendar.xml',
           id:'eventcalendar',
           duration: 0.5,
           startYear: activeYear
        });
        debug("--program end--");	
        // End new JS event calendar
    }

    showYear(activeYear);
    //toggle event based on xml positioning
    $$("h4.toggle").each( function(item) {
        item.addClassName('closed');
    });
    
    $$("div.toggle").each( function(item) {
        item.hide();
    });
    
});

