var initialized = 0;
var newsCounter = 1;
var prevNewsCounter = 1;
var eventsCounter = 0;
var newsHoldHover = 0;
var newsHoldClick = 0;
var newsPause = 5000;
var eventsPause = 3000;
var newsitems = new Array();
var eventitems = new Array();

//Preload Images
imgPause=new Image()
imgPause.src= "site-assets/images/pause.gif"
imgPlay=new Image()
imgPlay.src= "site-assets/images/play.gif"

/* This function opens the specified URL in a new browser window. The size and location of the window can be altered
 * by changing the code below. By specifying the size of the new browser window within this file, new windows will
 * open to a consistent size for any links that make use of this function.
 *
 * The number of child windows for each parent window is limited to one. When a user clicks on an external or PDF link
 * in the parent page a new window is opened. For any subsequent external or PDF link clicks from the parent page, where
 * the child window is still open, the page or PDF will be opened in the existing child window. This functionality keeps
 * new windows under control to limit confusion for the user.
 *
 * Note: "| 0" at the end of the var statements truncates the calculated values to integers.
 *
 * The syntax for calling this function in the in an html document is as follows:
 *
 * <a href="http://www.google.ca" target="_blank" onClick="openNewWindow(this.href); return false">Google Canada</a>
 */
 
function openNewWindow(url) {
	var newWindowWidth = 780;
	var newWindowHeight = (screen.availHeight * 0.6) | 0;
	var newWindowLeftPos = 0;
	var newWindowTopPos = 0;
	var newWindowArgs = "toolbar=yes, location=yes, directories=no, status=yes, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=yes";

	// For small screens use 100% window width.
	if(screen.availWidth < 780) {
		newWindowWidth = screen.availWidth;
	}

// Follow this branch if: A child window object (newWin) does not exist nor has one been created since the parent window was opened.		
	if(typeof(newWin) != "object") {
		newWindowArgs = newWindowArgs + ", width=" + newWindowWidth + ", height=" + newWindowHeight + ", left=" + newWindowLeftPos + ", top=" + newWindowTopPos;
		newWin = window.open(url, "_blank", newWindowArgs);
		/*alert(newWindowArgs); //shows values of 'newWindowArgs' for testing purposes*/
	}

	// Follow this branch if: A child window object (newWin) does exist or has been created since the parent window was opened.
	else {
		// Follow this sub-branch if: A child window is currently open.
		if(!newWin.closed) {
			newWin.location.href=url;
		}
		// Follow this sub-branch if: A child window is not currently open.
		else {
			newWindowArgs = newWindowArgs + ", width=" + newWindowWidth + ", height=" + newWindowHeight + ", left=" + newWindowLeftPos + ", top=" + newWindowTopPos;
			newWin = window.open(url, "_blank", newWindowArgs);
			/*alert(newWindowArgs); //shows values of 'newWindowArgs' for testing purposes*/
		}
	}
	newWin.focus();
}

function newsAndEventsTickers() {
	var i = 1;
	
	while(document.getElementById("newsitem" + i) != null) {
		newsitems[i-1] = document.getElementById("newsitem" + i);
		i++;
	}
	i = 1;
	while(document.getElementById("eventitem" + i) != null) {
		eventitems[i-1] = document.getElementById("eventitem" + i);
		i++;
	}
	eventitems[0].style.display = "block";
}
function switchNews() {
	var prev_item, curr_item;
	var prev_link, curr_link;
	if(initialized == 0) {
		curr_item = "newsitem" + newsCounter;
		curr_link = "newslink" + newsCounter;
		document.getElementById(curr_item).style.display = "block";
		document.getElementById(curr_link).style.fontWeight = "bold";
		prevNewsCounter = newsCounter;
		newsCounter++;
		initialized = 1;
	}
	else if(newsHoldHover == 0 && newsHoldClick == 0) {
		if(newsCounter > 1) {
			prev_item = "newsitem" + prevNewsCounter;
			prev_link = "newslink" + prevNewsCounter;
			opacity(prev_item, 99, 0, 750);
			document.getElementById(prev_item).style.display = "none";
			document.getElementById(prev_link).style.fontWeight = "normal";
		}
		else if(newsCounter == 1) {
			prev_item = "newsitem" + prevNewsCounter;
			prev_link = "newslink" + prevNewsCounter;
			opacity(prev_item, 99, 0, 750);
			document.getElementById(prev_item).style.display = "none";
			document.getElementById(prev_link).style.fontWeight = "normal";
		}
		curr_item = "newsitem" + newsCounter;
		curr_link = "newslink" + newsCounter;
		document.getElementById(curr_item).style.display = "block";
		document.getElementById(curr_link).style.fontWeight = "bold";
		opacity(curr_item, 0, 99, 750);
		prevNewsCounter = newsCounter;
		(newsCounter == (newsitems.length)) ? newsCounter = 1 : newsCounter++;
	}
	setTimeout("switchNews()", newsPause);
}
function selectNews(itemnumber) {
	var prev_item, curr_item;
	var prev_link, curr_link;
	prev_item = "newsitem" + prevNewsCounter;
	prev_link = "newslink" + prevNewsCounter;
	opacity(prev_item, 99, 0, 750);
	document.getElementById(prev_item).style.display = "none";
	document.getElementById(prev_link).style.fontWeight = "normal";

	newsCounter = itemnumber;
	curr_item = "newsitem" + newsCounter;
	curr_link = "newslink" + newsCounter;
	document.getElementById(curr_item).style.display = "block";
	document.getElementById(curr_link).style.fontWeight = "bold";
	opacity(curr_item, 0, 99, 750);
	prevNewsCounter = newsCounter;
	(newsCounter == (newsitems.length)) ? newsCounter = 1 : newsCounter++;
}
function switchEvents() {
	if(eventsCounter > 0) {
		eventitems[eventsCounter-1].style.display = "none";
	}
	else if (eventsCounter == 0) {
		eventitems[eventitems.length - 1].style.display = "none";
	}
	eventitems[eventsCounter].style.display = "block";
	(eventsCounter == (eventitems.length - 1)) ? eventsCounter = 0 : eventsCounter++;
	setTimeout("switchEvents()", eventsPause);
}
function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

function blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}
function hold(type) {
	if(type == "news") {
		if(newsHoldClick == 0) {
			newsHoldClick = 1;
			document.getElementById("hold").style.fontWeight = "bold";
			document.getElementById("pauseButtonNews").src = imgPlay.src;
			document.getElementById("pauseButtonNews").alt = "Click to play.";
		}
		else {
			newsHoldClick = 0;
			document.getElementById("hold").style.fontWeight = "normal";
			document.getElementById("pauseButtonNews").src = imgPause.src;
			document.getElementById("pauseButtonNews").alt = "Click to pause.";
		}
	}
	else if(type == "events") {
		if(eventsHoldClick == 0) {
			eventsHoldClick = 1;
		}
		else {
			eventsHoldClick = 0;
		}
	}
}
//-->