var eHeight = 120;
var eInterval = 6000;
var vDays = new Array();
var isHome = false, isEvents = false;

function ShowEvent()
{
	var obj = document.getElementById('events'); if(!obj) return;
	
	obj.style.height = eHeight;
	obj.style.filter = 'revealTrans(DURATION=1, TRANSITION=12)';
	if(obj.style && obj.filters)
	{
		obj.filters[0].Apply();
		obj.filters[0].Play();
	}
	
	obj.innerHTML = vDays[Math.floor(Math.random()*vDays.length)];
}

function InitEvents()
{
	var obj = new XHConn();
	if(!obj) return;
	obj.connect('events.xml', 'GET', '', ArrangeEventsData);
}

var ArrangeEventsData = function (eXML)
{
	var days = eXML.responseXML.getElementsByTagName("ITEM");

	for(var i=0; i<days.length; i++)
	{
		var name='', place='', provider='', time='', events=null;
		
		var vHTML = '<table border="0" cellpadding="0" cellspacing="0" width="100%">';
		vHTML += '<tr><td colspan="2"><b><u>' + days[i].getElementsByTagName("DAY")[0].firstChild.nodeValue + '</u></b></td></tr>';

		events = days[i].getElementsByTagName("EVENT");

		for(var j=0; j<events.length; j++)
		{
			name = events[j].getElementsByTagName("DETAILS")[0].getElementsByTagName("NAME")[0].firstChild.nodeValue;
			if(events[j].getElementsByTagName("DETAILS")[0].getElementsByTagName("PROVIDER")[0].hasChildNodes) provider = events[j].getElementsByTagName("DETAILS")[0].getElementsByTagName("PROVIDER")[0].firstChild.nodeValue;
			if(events[j].getElementsByTagName("PLACE")[0].childNodes.length) place = events[j].getElementsByTagName("PLACE")[0].firstChild.nodeValue;
			if(events[j].getElementsByTagName("TIME")[0].childNodes.length) time = events[j].getElementsByTagName("TIME")[0].firstChild.nodeValue;
			
			vHTML += '<tr><td colspan="2">&nbsp;</td></tr>';
			vHTML += '<tr><td colspan="2"><b>' + name + '</u></td></tr>';
			if(provider!='') vHTML += '<tr><td colspan="2" style="font-size:95%">Provider Code: ' + provider + '</td></tr>';
			if(time=='') vHTML += '<tr><td colspan="2">' + place + '</td></tr>';
			else vHTML += '<tr><td colspan="2">' + place + ' (' + time + ')</td></tr>';
		}

		vHTML += '</table>';

		vDays[i] = vHTML;
	}
		
	if(isHome)
	{
		InitHomeEvents();
	}
	else
	{
		ShowEvent();
		window.setInterval(ShowEvent, eInterval);
	}

	if(isEvents)
	{
		var obj = document.getElementById('events1'); if(!obj) return;
		for(var i=0; i<vDays.length; i++)
		obj.innerHTML += vDays[i] + '<br/>';
	}
}

if(window.attachEvent) window.attachEvent('onload', InitEvents);
else window.addEventListener('load', InitEvents, false);

var pauseit=1;					
var scrollerspeed=1;
var scrollerwidth="95%";
var scrollerheight="310px";

scrollerspeed : Math.max(1, scrollerspeed-1) ;
copyspeed=scrollerspeed; 

var cross_scroller, ns_scroller; 
var pausespeed=(pauseit==0)? copyspeed: 0; 
var iedom=document.all||document.getElementById; var actualheight='';

function populate(scrollercontent)
{ 
	if (iedom)
	{ 
		cross_scroller=document.getElementById? document.getElementById("iescroller"): document.all.iescroller;
		cross_scroller.style.top=parseInt(scrollerheight)+8+"px"; 
		cross_scroller.innerHTML=scrollercontent;
		actualheight=cross_scroller.offsetHeight;
	} 
	else if (document.layers)
	{ 
		ns_scroller=document.ns_scroller.document.ns_scroller2;
		ns_scroller.top=parseInt(scrollerheight)+8;
		ns_scroller.document.write(scrollercontent);
		ns_scroller.document.close();
		actualheight=ns_scroller.document.height 
	}
	
	if(iedom) cross_scroller.style.top = 0; else ns_scroller.top = 0;
	
	lefttime=setInterval("scrollscroller()",50);
} 

function scrollscroller()
{ 
	if (iedom)
	{ 
		if (parseInt(cross_scroller.style.top)>(actualheight*(-1)+8)) 
			cross_scroller.style.top=parseInt(cross_scroller.style.top)-copyspeed+"px";
		else 
			cross_scroller.style.top=parseInt(scrollerheight)+8+"px" ;
	} 
	else if (document.layers)
	{ 
		if (ns_scroller.top>(actualheight*(-1)+8)) 
			ns_scroller.top-=copyspeed;
		else 
			ns_scroller.top=parseInt(scrollerheight)+8 
	} 
} 

function InitHomeEvents()
{
	var vHTML = '';
	var obj = document.getElementById('events'); if(!obj) return;
	if(obj.childNodes.length>1) obj = obj.childNodes[1]; else return;
	
	if (iedom||document.layers)
	{ 
		with (document)
		{ 
			if (iedom)
			{ 
				vHTML += '<div style="position:relative;width:'+scrollerwidth+';height:'+scrollerheight+';overflow:hidden" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=scrollerspeed">';
				vHTML += '<div id="iescroller" style="position:absolute;left:0px;top:0px;width:100%;">';
				vHTML += '</div></div>';
			} 
			else if (document.layers)
			{ 
				vHTML += '<ilayer width='+scrollerwidth+' height='+scrollerheight+' name="ns_scroller">';
				vHTML += '<layer name="ns_scroller2" width='+scrollerwidth+' height='+scrollerheight+' left=0 top=0 onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=scrollerspeed"></layer>';
				vHTML += '</ilayer>';
			} 
		} 
		obj.innerHTML = vHTML;
		
		vHTML = '';
		for(var i=0; i<vDays.length; i++) vHTML += vDays[i] + '<hr/>';
		populate(vHTML);
	}
}

// FOR AJAX

function XHConn()
{
	var xmlhttp, bComplete = false;
	
	try
	{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{
		try
		{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xmlhttp = new XMLHttpRequest();
			}
 			catch(e)
 			{
 				xmlhttp = false;
 			}
 		}
 	}
 	
	if (!xmlhttp) return null;
	
	this.connect = function(sURL, sMethod, sVars, fnDone)
	{
		if (!xmlhttp) return false;
		bComplete = false;
		sMethod = sMethod.toUpperCase();

		try 
		{
  			if(sMethod == "GET")
  			{
    			xmlhttp.open(sMethod, sURL, true);
    			sVars = "";
  			}
  			else
  			{
    			xmlhttp.open(sMethod, sURL, true);
    			xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
    			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  			}
  			
  			xmlhttp.onreadystatechange = function()
  			{
    			if(xmlhttp.readyState==4 && !bComplete)
    			{
      				bComplete = true;
      				fnDone(xmlhttp);
    			}
    		};
    		
  			xmlhttp.send(sVars);
		}
		catch(z)
		{
			return false;
		}
		
		return true;
	};
	
	return this;
}
