/* Scripts for volvosuursaarirace.fi 
 * 
 * NOTE: These scripts require the prototype.js
 * 
 */


/** Invoked when page is loaded */
function pageLoaded() {
    // add something if needed
}

	/** Highlights the currently selected page in menu */
	function highlightMenuActivePage() {
	
		// Parse the document out of current windo href
	    var currentHref = window.location.href;
	    var lastDirSeparator = currentHref.lastIndexOf("/");
	    if (lastDirSeparator  >=0 && lastDirSeparator < currentHref.length) {
	        currentHref = currentHref.substring(lastDirSeparator+1);
	        if (currentHref == "") {
	            currentHref= "index.html";
	        }
	    }
	    
	    // Iterate through the menu and highlight the one(s) that points to
	    // the current page.
	    var menu = document.getElementById("valikko");
	    if (menu) {
	        if (menu.nodeName.indexOf("SITE:") == 0 || menu.nodeName.indexOf("site:") == 0) {
	            menu = menu.parentNode;
	        }
	        var items = menu.getElementsByTagName("div");
	        for (var i=0;i<items.length;i++) {
	            if (items[i].className.indexOf("item")>=0) {
	                var links = items[i].getElementsByTagName("a");
	                for (var j=0;j<links.length;j++) {
	                    if (links[j].href.indexOf(currentHref)>=0) {
	                        Element.addClassName(items[i],"selected")
	                    } else {
	                        Element.removeClassName(items[i],"selected")
	                    }
	                }
	            }
	        }
	    }
	}


/** Calculate the days */
function updateTheRaceCounter() {

    // Ream the parameters
    var title = $("rc-title").innerHTML;
    var nextEventDay = parseInt($("rc-day").innerHTML.stripTags());
    var nextEventMonth= parseInt($("rc-month").innerHTML.stripTags());
    var nextEventYear = parseInt($("rc-year").innerHTML.stripTags());

    // Hide the parameters
    if (!window.editMode) {
        $("rc-params").style.display = 'none';
    }

    // Calculate the time to next event
    var now = new Date();
    var nextRace = new Date();
    var html = "<span class=\"title\">"+title+"</span></br><span class=\"days\">"+daysBetween(nextEventYear, nextEventMonth, nextEventDay )+"</span>";

    // Update the element
    var el = $("race-counter");
    if (el) {
        el.innerHTML = html;
    }
}
	
function daysBetween(yr, mo, dy) {
  var SECOND = 1000; // the number of milliseconds in a second
  var MINUTE = SECOND * 60; // the number of milliseconds in a minute
  var HOUR = MINUTE * 60; // the number of milliseconds in an hour
  var DAY = HOUR * 24; // the number of milliseconds in a day
  var WEEK = DAY * 7; // the number of milliseconds in a week
  var nDate = new Date(); // current date (local)
  var nTime = nDate.getTime(); // current time (UTC)
  var dTime = Date.UTC(yr, mo - 1, dy); // specified time (UTC)
  var bTime = Math.abs(nTime - dTime)  // time difference
  return Math.round(bTime / DAY);
}


