var iMapX = 0;
var iMapY = 0;
var iMapWidth = 0;
var iMapHeight = 0;

var iUpcomingEvent = -1;

var iCurrentEvent = -1;
var sCurrentEventOrigImg = -1;

var eX = new Array();
var eY = new Array();
var eName = new Array();
var eLocation = new Array();
var eLink = new Array();
var eImg = new Array();
var eType = new Array();

function loadEventPinPoints()
{
	getMapLocation();
	for (var iEventID in eX)
    {
        var oImg = getElement('eventpinpoint' + iEventID);
        if(oImg != null)
        {
	        oImg.style.left = iMapX + eX[iEventID] - 9;
	        oImg.style.top = iMapY + eY[iEventID] - 35;
	        oImg.alt = eName[iEventID];
        }
        if(iUpcomingEvent < 1) iUpcomingEvent = iEventID;
    }
	setCurrentEvent(iUpcomingEvent);
}

function setCurrentEvent(iEventID)
{
	if(eType[iCurrentEvent] == 0) {
	    document.getElementById('EventContainer').className = "EventBoxSynergy2";
	    document.getElementById('EventContainer').style.backgroundImage = "url(./Themes/Default/container1_bg.gif)";
    }
	if(eType[iCurrentEvent] == 1) {
	    document.getElementById('EventContainer').className = "EventBoxConference2";
	    document.getElementById('EventContainer').style.backgroundImage = "url(./Themes/Default/container2_bg.gif)";
    }
	if(iCurrentEvent == iEventID)
		return;
		
	//reset current pinpoint
	if(iCurrentEvent > -1)
		changeImage('eventpinpoint' + iCurrentEvent, sCurrentEventOrigImg);
	
	iCurrentEvent = iEventID;
	var oTitle = getElement('spanEventTitle');
	var oLocation = getElement('spanEventLocation');
	var oLink = getElement('lnkEventLink');
	var oImg = getElement('imgEventImage');
	
	// Set current eventtype color (0 = Synergy, 1 = Conference).
	if(eType[iCurrentEvent] == 0) {
	    document.getElementById('EventContainer').className = "EventBoxSynergy2";
	    document.getElementById('EventContainer').style.backgroundImage = "url(./Themes/Default/container1_bg.gif)";
    }
	if(eType[iCurrentEvent] == 1) {
	    document.getElementById('EventContainer').className = "EventBoxConference2";
	    document.getElementById('EventContainer').style.backgroundImage = "url(./Themes/Default/container2_bg.gif)";
    }
	    
	
	
	sCurrentEventOrigImg = changeImage('eventpinpoint' + iCurrentEvent, './Themes/WorldMap/map_location_sel.gif');
	
	changeImage('imgEventImage', eImg[iCurrentEvent], eName[iCurrentEvent]);
	if(eImg[iCurrentEvent] == '') hideImage('imgEventImage');
	if(oTitle != null)
		oTitle.innerHTML = eName[iCurrentEvent];
	if(oLocation != null)
		oLocation.innerHTML = eLocation[iCurrentEvent];
	if(oLink != null)
	{
		oLink.href = eLink[iCurrentEvent];
		oLink.alt = oTitle[iCurrentEvent];
    }

    window.open(eLink[iCurrentEvent], oTitle[iCurrentEvent]);
}

function showUpcomingEvents(sYear)
{
    hideUpcomingEvents()
    
	var oTable = getElement('tblUpcomingEvents' + sYear);
	var oImg = getElement('imgUpcomingEvents' + sYear);
	iImgX = findPosX(oImg);
	iImgY = findPosY(oImg);
	iImgWidth = getElementWidth(oImg);
	iImgHeight = getElementHeight(oImg);
	
	oTable.style.display = 'block';
	iTableWidth = getElementWidth(oTable);
	iTableHeight = getElementHeight(oTable);
	oTable.style.left = iImgX + iImgWidth - iTableWidth + 4;
	oTable.style.top = iImgY + iImgHeight - iTableHeight;
}
function hideUpcomingEvents()
{
	var oTable = getElement('tblUpcomingEventsNow');
	oTable.style.display = 'none';
	var oTable = getElement('tblUpcomingEventsNext');
	oTable.style.display = 'none';
	var oTable = getElement('tblUpcomingEventsPrevious');
	oTable.style.display = 'none';
}

function showManagedEvents()
{
	var oTable = getElement('tblManagedEvents');
	var oImg = getElement('imgManagedEvents');
	iImgX = findPosX(oImg);
	iImgY = findPosY(oImg);
	iImgWidth = getElementWidth(oImg);
	iImgHeight = getElementHeight(oImg);
	
	oTable.style.display = 'block';
	iTableWidth = getElementWidth(oTable);
	iTableHeight = getElementHeight(oTable);
	oTable.style.left = iImgX + iImgWidth - iTableWidth + 4;
	oTable.style.top = iImgY + iImgHeight - iTableHeight;
}
function hideManagedEvents()
{
	var oTable = getElement('tblManagedEvents');
	oTable.style.display = 'none';
}

function changeImage(objName, newSrc, newAlt)
{
	var img = getElement(objName);
	var oldSrc = '';
	
	if(img != null)
	{
	    img.style.display = 'block';
		img.style.filter="blendTrans(duration=0.5)";
		if(img.filters != null)
		{
			img.filters.blendTrans(duration=0.5).Apply();
			img.filters.blendTrans.Play();
		}
		if(newAlt != null && newAlt != '') img.alt = newAlt;
		oldSrc = img.src;
		img.src = newSrc;
	}
	return oldSrc;
}

function hideImage(objName)
{
	var img = getElement(objName);
	if(img != null)
	{
		img.style.display = 'none';
	}
}

function getMapLocation()
{
	var oMap = getElement('map');
	if( oMap != null )
	{
		iMapX = findPosX(oMap);
		iMapY = findPosY(oMap);
		iMapWidth = getElementWidth(oMap);
		iMapHeight = getElementHeight(oMap);
	}
}
	
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function getElement(name)
{
	if(document.getElementById) {
		return document.getElementById(name);
	} else if (document.all){
		return document.all[name];
	}
}

function getElementHeight(elem) 
{
	if (elem.style.pixelHeight != null && elem.style.pixelHeight > 0) 
		return elem.style.pixelHeight;
	else
		return elem.offsetHeight;
}

function getElementWidth(elem) 
{
	if (elem.style.pixelWidth != null && elem.style.pixelWidth > 0) 
		return elem.style.pixelWidth;
	else
		return elem.offsetWidth;
}