// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function openWindow(url) {
    newWindow = window.open (url,'myWindow','width=1400,height=1000');  
}

function tick_announcement(announcement){
	Effect.BlindDown(announcement, {duration: .9})
}
function ticker(){
	n=-1;
	//$('announcement-arrow').hide();
	
	var announcements = $('announcement').select('.announcement-link')
	announcements.each( function(a) {
		if (a.getStyle('display') == "block") {
			var thisObj = this;
			var moveTo = announcements.indexOf(a) + 1
			if (moveTo >= announcements.size()) moveTo = 0
			Effect.Fade( a, {duration:.2, queue:'front'});
			var nextElem = announcements[moveTo]
			var nextText = announcements[moveTo].innerHTML
			Effect.Appear( nextElem, {duration:0.2, queue:'end'} )
			//tick_announcement(announcements);
			var divId = 'mssg'
			//tmr = setInterval("typ('" + dv + "','Welcome To My Web Site!')",50) 
			// turn this into a loop for an array:
			tmr = setInterval(function() { thisObj.typ(divId, nextText); }, 50);
		  
			//tick_announcement(announcements[moveTo])
		}
	})
}
function fadeText(o,m) {}
function typ(o,m) { 
  n++; 
	if(m.substr(n - 1, 1) == "<"){
		n = m.substr(n + 1).indexOf('>') + n + 2
	}
  if(document.getElementById(o).childNodes.length == 0) { 
    document.getElementById(o).appendChild(document.createTextNode("")); 
  } 
  if(n == m.length) { 
    clearInterval(tmr); 
		//Effect.Appear('announcement-arrow', {duration: 0});
		setTimeout("ticker()", 2000);	
  } 
  //document.getElementById(o).innerHTML = m.substr(0,n); 
} 
		
function randOrd(){
	return (Math.round(Math.random())-0.5); 
}

var tmr = -1;
var n=-1; 
var timeOut     = '';
var idling = false;

function onIdleFunction(){
	$('screencover').show();
}

function resetIdle(){
    window.clearTimeout( timeOut );
		//if ($('screensaver').getStyle('display') != 'none') $('screensaver').hide();
    setIdle();
}

function wakeUp(){
	resetIdle()
	currentScreensaver++
	if(currentScreensaver >= screensaverImages.size()) currentScreensaver = 0;
	//setIdle()
	screensaverHTML = '<div id="screencover" style="display:none;"><img id="screensaver" style="" onclick="wakeUp();" src="' + screensaverImages[currentScreensaver] + '"/></div>'
	$('screencover').replace(screensaverHTML);
}

function setIdle(){
	timeOut = window.setTimeout( "onIdleFunction()", idleTime );
}


function insertScreensaver(){
	$('ubiquitous-left-column').insert({'before': screensaverHTML});
}

function updateClock(){
	var currentTime = new Date ( );

	var currentHours = currentTime.getHours ( );
	var currentMinutes = currentTime.getMinutes ( );
	var currentSeconds = currentTime.getSeconds ( );
	currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
	currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;
	var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";
	currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;
	currentHours = ( currentHours == 0 ) ? 12 : currentHours;
	var currentTimeString = currentHours + ":" + currentMinutes;
	$("clock-time").firstChild.nodeValue = currentTimeString;
	var weekday=new Array(7);
	weekday[0]="SUN";
	weekday[1]="MON";
	weekday[2]="TUE";
	weekday[3]="WED";
	weekday[4]="THU";
	weekday[5]="FRI";
	weekday[6]="SAT";

	$("clock-day").firstChild.nodeValue = weekday[currentTime.getDay()] + ", " + currentTime.getDate();
	
}

function getXmlNodeValue(xmlNode){
	return Try.these(
		function() {return xmlNode.text;},
		function() {return xmlNode.textContent;}
	);
}


function weather_request() {
	new Ajax.Request('/frontend/weather',
	  {
	    method:'get',
	    onSuccess: function(transport){
	      var resp = transport.responseXML;
				var fahrenheit_temp = resp.childNodes[0].childNodes[0].childNodes[1].childNodes[1].getAttribute("data");
			  $("temperature").replace( "<span id='temperature'>" + fahrenheit_temp + "&deg; F</span>" );
				
	    },
	    onFailure: function(){  }
	  });
}


Event.observe(window, 'load', function() {
	weather_request();
	updateClock(); 
	setInterval('updateClock()', 1000 );
	setTimeout('ticker()', 6000);
	//setInterval("ticker()", 30000);	
	setIdle();
	
	//screensaver -- disable for ie6
	if (showingScreensaver){
		Event.observe(document.body, 'mousemove', resetIdle, true);
		insertScreensaver();
	}
});