var show = "(show details)"
var hide = "(hide details)"
var keepVenue = new Array()
var fading = new Array()
var venueMap = new Array()
var once = true

function toggleDescription(num)
{
	var desc = document.getElementById("desc"+num)

	if (desc.style.display == "block")
	{
		desc.style.display = "none";
		document.getElementById("toggle"+num).innerHTML = show;		
	}
	else
	{
		desc.style.display = "block";
		document.getElementById("toggle"+num).innerHTML = hide;		
	}
}

function showVenue(event,ref,arr)
{
	var array = String(arr).split(',')
	var id = array[ref];
	var desc = document.getElementById(id);
	var x = 0;
	var y = 0;
	var winX = 640;
	var winY = 480;
	var sizeX = 130;
	var sizeY = 80;
	
	kVenue(ref, true)
	fading[ref] = 10
	for (var i=0; i<array.length; i++)
	{
		if (i != ref)
			document.getElementById(array[i]).style.display = 'none'
	}
	
	if (event.pageX && event.pageY)
	{
		x = event.pageX;
		y = event.pageY;
	}
	else if (event.clientX && event.clientY) 	{
		x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	
	if (navigator.appName=="Netscape")
	{
		winX = window.innerWidth;
		winY = window.innerHeight;
	}
	else if (navigator.appName.indexOf("Microsoft")!=-1)
	{
 		winX = document.documentElement.clientWidth;
 		winY = document.documentElement.clientHeight;
	}
	winX += document.body.scrollLeft + document.documentElement.scrollLeft;
	winY += document.body.scrollTop + document.documentElement.scrollTop;
	
	desc.style.position = "absolute";
	desc.style.left = ""+(Math.min(winX-sizeX-20,x) - 10)+"px";
	if (y < winY-sizeY-20)
		desc.style.top = ""+(y+10)+"px";
	else
		desc.style.top = ""+(y-10-sizeY)+"px";

	desc.style.display = "block";
}

function showMap(ref,arr,mapsArr)
{
	var array = String(arr).split(',')
	var mapsArray = String(mapsArr).split(',')
	var id = array[ref]
	var elem = document.getElementById(id)
	var close = document.getElementById('close'+(ref+1))
	var map = document.getElementById('map'+(ref+1))
	var winX = 640
	var winY = 480
	var oldH = 'auto'
	var oldW = '130px'
	
	venueMap[ref] = true;
	
	if (navigator.appName=="Netscape")
	{
		winX = window.innerWidth;
		winY = window.innerHeight;
	}
	else if (navigator.appName.indexOf("Microsoft")!=-1)
	{
 		winX = document.documentElement.clientWidth;
 		winY = document.documentElement.clientHeight;
	}
	
	close.innerHTML = "X close"
	close.style.display = 'inline'
	close.onclick = function() {resetWindow(ref,oldW,oldH,array.toString())}
	
	document.getElementById('show'+(ref+1)).style.display = 'none'

	elem.style.position = 'fixed'
	elem.style.left = '20px'
	elem.style.top = '20px'
	elem.style.width = (winX-60)+'px'
	elem.style.height = (winY-60)+'px'

	map.innerHTML = '<iframe width="'+(winX-110)+'" height="'+(winY-140)+'" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'+unescape(mapsArray[ref])+'"></iframe><iframe width="0" height="0" style="display:none" src="mapviewed.html"></iframe>'
	map.style.display = 'block'
}

function resetWindow(ref, w, h, arr)
{
	var elem = document.getElementById(String(arr).split(',')[ref])
	var close = document.getElementById('close'+(ref+1))
	var show = document.getElementById('show'+(ref+1))
	var map = document.getElementById('map'+(ref+1))
	
	venueMap[ref] = false
	kVenue(ref, false)
	elem.style.height = h
	elem.style.width = w
	close.style.display = 'none'
	map.style.display = 'none'
	show.style.display = 'inline'
	
	fading[ref]=10
	elem.style.display = 'none'
}

function fadeOut(dec,ref,arr)
{
	var array = String(arr).split(',')
	var id = array[ref]
	var elem = document.getElementById(id)
	
	if ((dec <= 0) || keepVenue[ref] || venueMap[ref])
	{
		if (!keepVenue[ref])
			elem.style.display = "none"
		else if (venueMap[ref])
			;
		else
			setTimeout("hVenue("+ref+",'"+array.toString()+"')",500)	
		elem.style.opacity = ""
		elem.style.MozOpacity = ""
		fading[ref] = 10
	}
	else if (dec < fading[ref])
	{
		elem.style.opacity = dec/10
		elem.style.MozOpacity = dec/10
		setTimeout("fadeOut("+(dec-1)+","+ref+",'"+array.toString()+"')",100)
		fading[ref] = dec
	}
}

function hVenue(ref,arr)
{
	var array = String(arr).split(',')

	if (venueMap[ref])
		;
	else if (!keepVenue[ref])
	{
		setTimeout("fadeOut(9,"+ref+",'"+array.toString()+"')",100)
	}
	else
		setTimeout("hVenue("+ref+",'"+array.toString()+"')",500)
}

function hideVenue(ref,arr)
{
	kVenue(ref,false)
	setTimeout("hVenue("+ref+",'"+arr+"')",500)
}

function kVenue(ref,keep)
{
	keepVenue[ref] = true && keep;
}

function initDescs(num)
{
	for (var i=num; i>0; i--)
	{
		descy = document.getElementById("desc"+i);
		descy.style.display = "none";
		document.getElementById("toggle"+i).innerHTML = show;
		if(-1 != descy.className.indexOf("open"))
			toggleDescription(i);
	}
}

function openNewWindow()
{
	var newWindow = window.open(this.getAttribute('href'), '_blank');
	return false;
}

function initLinks()
{
	if (document.getElementsByTagName)
	{
		var link;
		var links = document.getElementsByTagName("a");
		for (var i=0; i<links.length; i++)
		{
			link = links[i];
			if (/http/.exec(link.getAttribute('href')))
			{
				link.onclick = openNewWindow;
				link.title = link.getAttribute('href');
			}
		}
	}
}

function initPage()
{
	// call whatever we need to call...
	initLinks();
}

function MM_reloadPage(init)
{  //reloads the window if Nav4 resized
	if (init==true) with (navigator)
	{
		if ((appName=="Netscape")&&(parseInt(appVersion)==4))
		{
			document.MM_pgW=innerWidth;
			document.MM_pgH=innerHeight;
			onresize=MM_reloadPage;
		}
	}
	else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
		location.reload();
}

MM_reloadPage(true);
