document.onkeyup = KeyCheck; 

function KeyCheck(e) {
	//distinguish between IE's explicit event object (window.event) and Firefox's implicit.
	var evtobj = window.event? event : e 
	var keyID = evtobj.charCode? evtobj.charCode : evtobj.keyCode

	switch(keyID) {

    	case 80: //p
      		doPause();
      		break;
      		
      	case 112: //firefox p
     	 	doPause();
      		break;
      	
      	case 27: //esc
     	 	doPause();
      		break;
		
		default:
		break;
    }
}

function go(select) {
	var menu = document.theform.elements[select];
	var dest = menu.options[menu.selectedIndex].value
	if (dest == "pause") {
		doPause(1);
	}
	else if (dest == "") {
		menu.selectedIndex = selectIndex;
		if (pause) doPause();
	}	
	else {
		selectIndex = menu.options.selectedIndex;
		url=location.href.split("?");
		location.href=url[0]+"?filter=" + dest
		if (pause) doPause();
	}
}


var pause = false;
var selectIndex;

function doPause(menu) {
	
	if (!menu && !pause) {
		selectIndex = document.theform.activity.options.selectedIndex;
		
	}
	
	if (!pause) {
		if (menu) document.getElementById("pausenote").style.display = "inline";
		document.getElementById("notice").style.display = "inline";
		document.theform.activity.options.selectedIndex = document.theform.activity.options.length-1;
		
		showLoading(0);
		
		pause = true;
	}
	else {
		document.getElementById("pausenote").style.display = "none";
		document.getElementById("notice").style.display = "none";
		document.theform.activity.options.selectedIndex = selectIndex;
		
		pause = false;
		setTimeout("addEvent('table_activity')",500);
	}


}




function pollEvents() {

	polling = 5000 + Math.floor(Math.random()*5000);

	if (!loading && !parsing && !pause) {
		retrieveEvents('events');
		updateTime();
	}
	else setTimeout("pollEvents()",polling);
}





var parsing = false;
function addEvent(tbody) {
		if (temp_events.length==0 || pause) return;
		parsing = true;
		
		showLoading(1);
		
		
		
		tbody = document.getElementById(tbody);
		newTR = document.createElement("TR");
		
		today = new Date()
		newTR.id = "event" + today.getTime();
		
		TRs = tbody.getElementsByTagName("TR");
		
		if (TRs.length>0) {
		tbody.insertBefore(newTR,TRs[0]);
		tbody.removeChild(TRs[TRs.length-1]);
		}
		
		else
		tbody.appendChild(newTR);
		
		var now = new Date();
		var nowdate = now.getDate();
		
		for (i=0; i<5; i++) {
			
			newTD = document.createElement("TD");
			newTR.appendChild(newTD);
			
			
			if (temp_events[0].reason.length<3) temp_events[0].reason = "";
			
			switch (i) {
			case 0:
				c = (temp_events[0].reason.length<3)? "<span class=hidden>okay<\/span>":"<span class=hidden>exception<\/span><img src='img/i_alert.gif' border='0' alt='Access Exception'>";
				break;a
			case 1:
				if (temp_events[0].person.length > 1)
				c = "<a href='#'><b><span class='hidden'>"+temp_events[0].sortname + "<\/span>" +temp_events[0].person + "<\/b><\/a><br><a href='#'>" + temp_events[0].group + "<\/a>";
				else
				c = "<span class='hidden'>~<\/span>--";
				
				break;
			case 2:
				c = (temp_events[0].event=="Access")?"Access":temp_events[0].event+"<br>"+temp_events[0].reason;
				break;
			case 3:
				c = "<a href='#'>" + temp_events[0].location + "<\/a><br><a href='#'>" + temp_events[0].building + "<\/a>";
				break;
			case 4:
				

				if (temp_events[0].date) {
					evdt = temp_events[0].date; 
					if (evdt.indexOf("/"+nowdate)>-1) {
						datetype = "hidden";
						timetype = "today";			
					}
					else { 
						datetype = "";
						timetype = ""	
					}
				}
			
			
				c = "<span class='"+timetype+"'>" + "<span class='"+datetype+"'>" + temp_events[0].date + " <\/span>" + temp_events[0].time + "<\/span>";
				break;
			default:
				c = "&nbsp";
				break;
			}
			
			newTD.innerHTML = c;
			
			//fadeIn(newTD,0);
		}
		// remove from the array now that we've added it
		array_events[array_events.length] = new eventids(temp_events[0].uqid);
		temp_events.shift();
		
		
		
		//fix Opera rendering bug
		document.body.className = document.body.className;
		
		fadeIn(newTR.id,0)
		
		if (temp_events.length>0 && !pause) setTimeout("addEvent('"+tbody.id+"')",5000);
		
		else {
			//alert(array_events.length);
			parsing = false;
			showLoading(0);
		}
		
		table_init(tbody.id)
}



function showLoading(flip) {
if (document.getElementById("loading")) {
	ld = document.getElementById("loading")
	if (flip==1) {
		ld.style.display="block";
	}
	else {
		ld.style.display="none";
	}
}
}




function fadeIn(elm,num) {
	elm = document.getElementById(elm);
	//elm.className = "translucent";
	//alert(elm);
	
	if (num<gray.length) {
		clr = gray[num];
	}
	
	else {
		clr = "#000";
	}
	
	elm.style.color = clr;//"#F0DE38";
	
	if (document.all) {
		children = elm.getElementsByTagName("A");
		for (i=0; i<children.length; i++) {
			children[i].style.color = clr;
		}
	}
	
	children = elm.getElementsByTagName("B");
	for (i=0; i<children.length; i++) {
		if (num==gray.length) clr = "#333";
		
		children[i].style.color = clr;
		
		
	}	
	
	
	
	
	//delay = (num==0) ? 1000:50;
	delay = 50;
	num++
	
	
	if (num<=gray.length) {
	elm = elm.id
	setTimeout("fadeIn('"+elm+"',"+num+")",delay);
	}
	else {
		updateTime();
	}
	
	
}

gray = new Array("#EDEDED", "#DADADA", "#CACACA", "#A3A3A3", "#999999", "#919191", "#767676", "#696969", "#4C4C4C", "#454545", "#333333");

