/* adds a function to the onload event handler */
function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else
	{
		window.onload = function()
		{
			oldonload();
			func();
		}
	}
}

/*	Detects the browser */
function detectBrowser()
{
	var browser = navigator.appName;
	return browser;
}

var activeSectionMenu = null;
var activePageMenu = null;
var onSection = false;
var onPage = false;

setInterval("menuCleaner()",500);

function menuCleaner()
{
	if(onSection == false) deactivateSectionMenu();
	if(onPage == false) deactivatePageMenu();
}
	
function leftSection()
{
	onSection = false;
}

function leftPage()
{
	onPage = false;
}

function overPage()
{
	onPage = true;
}

function overSection()
{
	onSection = true;
}

function activateSectionMenu(submenuId)
{
	//debug("activate section: " + submenuId);
	
	if(activeSectionMenu != null) deactivateSectionMenu();
	
	var element = document.getElementById(submenuId);
	if(element == null){ return; } //If menu has no submenu
	
	if(detectBrowser() == "Microsoft Internet Explorer")
	{
		element.style.display = "block";
	}
	else
	{
		element.style.setProperty("display","block","");
	}
	
	onSection = true;
	activeSectionMenu = element;
}
	
function activatePageMenu(submenuId)
{
	if(activePageMenu != null) deactivatePageMenu();

	var element = document.getElementById(submenuId);
	if(element == null){ return; } //If submenu has no sub-submenu
	
	if(detectBrowser() == "Microsoft Internet Explorer")
	{
		element.style.display = "block";
	}
	else
	{
		element.style.setProperty("display","block","");
	}
	
	onPage = true;
	activePageMenu = element;
}

function deactivateSectionMenu()
{

	if(detectBrowser() == "Microsoft Internet Explorer")
	{
		if(activeSectionMenu != null) activeSectionMenu.style.display = "none";
	}
	else
	{
		if(activeSectionMenu != null) activeSectionMenu.style.setProperty("display","none","");
	}
}

function deactivatePageMenu()
{
	if(detectBrowser() == "Microsoft Internet Explorer")
	{
		if(activePageMenu != null){activePageMenu.style.display = "none";}
	}
	else
	{
		if(activePageMenu != null){activePageMenu.style.setProperty("display","none","");}
	}
}


function changeClass(element,class_name)
{
	
	//Accept objects and id's of objects
	if(typeof(element) != "object")
		element = document.getElementById(element);
	
	element.className = class_name;
}

function hideframe(hideThumbs)
{
	var tvframeon = document.getElementById("tvframeon");
	var tvframeoff = document.getElementById("tvframeoff");
	
	
	if(hideThumbs)
	{
		if(detectBrowser() == "Microsoft Internet Explorer")
		{
			tvframeon.style.display = "none";
			tvframeoff.style.display = "block";
		}
		else
		{
			tvframeon.style.setProperty("display","none","");
			tvframeoff.style.setProperty("display","block","");
		}
	}
	
	else
	{
		if(detectBrowser() == "Microsoft Internet Explorer")
		{
			tvframeon.style.display = "block";
			tvframeoff.style.display = "none";
		}
		else
		{
			tvframeon.style.setProperty("display","block","");
			tvframeoff.style.setProperty("display","none","");
		}
	}
}

var imagesInterval;
var startTime;

//Careful with these, they depend on processor speed.
var timeToMove = 500; //milliseconds
var distanceToMove = 50; //pixels
////////////////////////////////////////////////////

var visibleWidth = 830; //the visible area of the scroller. (might have to add a margin)
var left = 0; //initial left value of the scroller.

var ScrollerWidth = 0; //can be set inside the script.

function moveImages(direction)
{
	//clearInterval(imagesInterval);
	var holder = document.getElementById("highlight_service_holder");
	var d = new Date();;
	startTime = d.getTime();
	imagesInterval = setInterval(function(){moveByOne(holder,direction);},Math.round(timeToMove/distanceToMove));
} 

function stopImages()
{
	clearInterval(imagesInterval);
}

function moveByOne(element, direction)
{
	var d2 = new Date();
	var now = d2.getTime();
	var end = parseFloat(startTime) + parseFloat(timeToMove);
	
	var leftTemp;
	if(direction == "right") leftTemp = left + 2;
	else leftTemp = left - 2;
	
	//leftTemp >= 0 -> left:0 is the left edge. If left becomes more than 0 this means that
	//we will leave blank area on the left of the images and we don't want that;
	//visibleWidth - ScrollerWidth will be the value from which we cannot scroll more to the
	//right; //now >= end ||
	if(leftTemp <= (visibleWidth - ScrollerWidth) ||  leftTemp >= 0)
	{
		clearInterval(imagesInterval);
		return;
	}
	
	left = leftTemp;
	element.style.left = leftTemp + "px";
}