/* 
Derived from a script by Alejandro Gervasio. 
Modified to work in FireFox by Stefan Mischook for Killersites.com

How it works: just apply the CSS class of 'column' to your pages' main columns.
*/
matchColumns=function(){ 
	
	var divs,contDivs,maxHeight,divHeight,d; 
	
	// get all <div> elements in the document 

	divs=document.getElementsByTagName('div'); 

	contDivs=[]; 
	 
	// initialize maximum height value 

	maxHeight=0; 

	var bullseyeFixDiv;
	var bullseyeResults;

	// iterate over all <div> elements in the document 

	for(var i=0;i<divs.length;i++){ 

		// make collection with <div> elements with class attribute 'container' 

		if(/\bnav_Bullseye\b/.test(divs[i].className)){ 
			bullseyeFixDiv = divs[i+4];
		}
		if(/\bbullseyeResults\b/.test(divs[i].className)){ 
			bullseyeResults = divs[i];
		}

		if(/\bcolheight\b/.test(divs[i].className)){ 
		    
			 d=divs[i]; 

			 contDivs[contDivs.length]=d; 

			 // determine height for <div> element 

			 if(d.offsetHeight){ 
				 
				 divHeight=d.offsetHeight;

			 } 

			 else if(d.style.pixelHeight){ 

				 divHeight=d.style.pixelHeight;

			 } 

			 // calculate maximum height 

			 maxHeight=Math.max(maxHeight,divHeight); 

		} 

	} 

	// assign maximum height value to all of container <div> elements 

	if (bullseyeFixDiv && bullseyeResults){
		//alert(navigator.appName);
		//alert(navigator.appVersion.substring( navigator.appVersion.indexOf("MSIE") + 5 , navigator.appVersion.indexOf("MSIE") + 5 + 3) );
		if ((navigator.appName == "Microsoft Internet Explorer") && (navigator.appVersion.substring( navigator.appVersion.indexOf("MSIE") + 5 , navigator.appVersion.indexOf("MSIE") + 5 + 3) == "6.0")){
			var newHeight = 0;
			for (var i = 2 ; i < bullseyeFixDiv.childNodes.length ; i++){
				if (bullseyeFixDiv.offsetHeight){
					//alert(bullseyeFixDiv.childNodes[i].offsetHeight + " " + bullseyeFixDiv.childNodes[i].className);			
					newHeight += bullseyeFixDiv.childNodes[i].offsetHeight;
				}
				else if (bullseyeFixDiv.style.pixelHeight){
					//alert(bullseyeFixDiv.childNodes[i].style.pixelHeight + " " + bullseyeFixDiv.childNodes[i].className);
					newHeight += bullseyeFixDiv.childNodes[i].style.pixelHeight;
				}
			}
			maxHeight = newHeight + 402;
			//alert(maxHeight);
		}
	}
	for(var i=0;i<contDivs.length;i++){ 

		contDivs[i].style.height=maxHeight + 0 + "px"; 

	} 

}

//trims white space from beginning and end of word
trim = function (sString) 
{
	//trim from beginning
	while (sString.substring(0,1) == ' ') 
		sString = sString.substring(1, sString.length);
	
	//trim from end
	while (sString.substring(sString.length-1, sString.length) == ' ')
		sString = sString.substring(0,sString.length-1);
	
	return sString;
}

showReferenceMaterial = function ()
{
	var showContainer = false;
	var container = document.getElementById("ref_mat_container");	
	var liList = container.getElementsByTagName("li");
	for (var i=0; i<liList.length; i++)
	{
		var span = liList[i].getElementsByTagName("span")[0];
		if(span.getAttribute("title") != "")
			showContainer = true;
		else
			liList[i].style.display = "none";
	}
	
	if(showContainer) container.style.display = "block";
}

showUsefulLinks = function () 
{
	var showContainer = false;
	var container = document.getElementById("useful_links_container");
	var liList = container.getElementsByTagName("li");
	for (var i=0; i<liList.length; i++)
	{
		var atag = liList[i].getElementsByTagName("a")[0];
		if(atag.innerHTML.replace(/^\s+|\s+$/g, '') != "")
			showContainer = true;
		else
			liList[i].style.display = "none";
	}
	if(showContainer) container.style.display = "block";
}

showDidYouKnow = function () 
{
	var container = document.getElementById("did_you_know_container");
	var knowlist = container.getElementsByTagName("ul");	
	if(knowlist[0].getElementsByTagName("li").length > 0)		
		container.style.display = "block";		
}

latestWinnerTidyUp = function () 
{
	var container = document.getElementById("keno_prize_winner_container");
	var trlist = container.getElementsByTagName("tr");
	if(trlist.length > 0)
		trlist[trlist.length-1].className = 'no_line';
}

showHomepageStory = function()
{
	var container = document.getElementById("story_home_container");
	var aHeading = container.getElementsByTagName("a")[0];
	var aSpan = container.getElementsByTagName("span");
	if (trim(aHeading.innerHTML).length == 0 && ((aSpan.length == 0 ) || (aSpan.length > 0 && trim(aSpan[0].innerHTML).length == 0)))
		container.style.margin = '0';
}

sitemapTidyUp = function ()
{
	var container = document.getElementById("site_map_container");
	var uls = container.getElementsByTagName("ul");
	for(var i=0; i<uls.length; i++)
	{
		var lis = uls[i].getElementsByTagName("li");
		if(lis.length > 0)
			lis[lis.length-1].innerHTML = lis[lis.length-1].innerHTML.replace("&nbsp;|&nbsp;","");
	}
}

// Hides all the sub siteareas under paths specified in the filterPath array (in page js variable) 
filterNavigation = function() 
{
	var leftNav = document.getElementById('left_nav');
	if(leftNav) 
	{
		var alist = leftNav.getElementsByTagName('a');
		for(var i=0; i<filterPath.length; i++)
		{
			var path = filterPath[i].toLowerCase();
			if (path.lastIndexOf('?') > -1)
				path = path.substr(0, path.lastIndexOf('?'));
		
			path = path + (path.charAt(path.length-1) != '/'? '/':''); 
			for(var j=0; j<alist.length; j++)
			{
				var sHref = alist[j].href.toLowerCase();
				var sIdx = sHref.indexOf(path);
				if(sIdx > -1)
				{
					if(sHref.substr(sIdx,path.length) == path)
					{
						var remainder = sHref.substr(sIdx+path.length);
						if(remainder.length > 0)
							alist[j].style.display = 'none';
					}
				}
			}
		}
	}
}

//If urls end in .jsp/ remove trailing /
formatURL = function(list)
{
	var links = list.getElementsByTagName("a");	
	for(var i = 0; i < links.length; i++)
	{
		var href = links[i].href;
		var temphref = href;
		temphref = temphref.substring(temphref.length-5, temphref.length);
		if(temphref == ".jsp/")
		{			
			links[i].href = href.substring(0, href.length-1);
		}
	}
}

//Hide the end vertical line seperator
hideBotNavSeperator = function()
{
	var botNav = document.getElementById("drop_line_nav1");
	var mainList = botNav.getElementsByTagName("ul")[0];
	var sublists = mainList.getElementsByTagName("ul");
	var listItems = mainList.getElementsByTagName("li");
	if(listItems.length > 0)
	{
		var firstItem = listItems[1];
		firstItem.style.background = 'none';
		
		for(var i = 0; i < sublists.length; i++)
		{			                               
			var sublistItems = sublists[i].getElementsByTagName("li");
			if(sublistItems.length > 0)
			{
				var firstSublistItem = sublistItems[0];
				firstSublistItem.style.background = 'none';
			}
		}
	}
	/*var finalList = lists[lists.length - 1];
	var finalNumSpans = finalList.getElementsByTagName("span").length;
	
	var seperators = mainList.getElementsByTagName("span");
	
	if(seperators.length > 0)
	{
		for(var i = 1; i < seperators.length; i++)
		{
			seperators[i].style.display = 'inline';	
		}		
		
		for(var i = 1; i < lists.length; i++)
		{
			var listSeperators = lists[i].getElementsByTagName("span");
			if(listSeperators.length > 0)
				listSeperators[0].style.display = 'none';
		}
	}*/
}

//Hide the final breadcrumb seperator
hideBreadcrumbSeperator = function()
{
	var breadCrumb = document.getElementById("breadcrumb");
	var seperators = breadCrumb.getElementsByTagName("span");
	if(seperators.length > 0)
	{
		seperators[seperators.length - 1].style.display = 'none';
	}
}
hideFooterSeperator = function()
{
	var footer = document.getElementById("footer_nav");
	var navItems = footer.getElementsByTagName("li");
	if(navItems.length > 0)
	{
		navItems[0].style.background = 'none';
	}
	/*
	var navItems = nav.getElementsByTagName("li");
	if(navItems.length > 0)
	{
		var firstNavItem = nav.Items[0];
		firstNavItem.style.background = 'none';
	}
	*/
}

// Runs the script when page loads 
window.onload = function()
{ 
	// Hide the specified site areas from navigation
	try {
		if(eval('filterPath'))
		{
			filterNavigation();
		}
	} catch (e) {}
	
	//Display reference material download links and header where there are files
	if(document.getElementById("ref_mat_container"))
		showReferenceMaterial();
	
	// Hide useful links header if no links available
	if(document.getElementById("useful_links_container"))
		showUsefulLinks();
		
	// Hide did you know header if no info
	if(document.getElementById("did_you_know_container"))
		showDidYouKnow();
	
	if(document.getElementById("site_map_container"))
		sitemapTidyUp();
		
	// Toggle FAQ Blocks	
	try {
		if(document.getElementById("faq_container"))
			initFAQListing();
	} catch (e) {}
	
	if(document.getElementById("keno_prize_winner_container"))
		latestWinnerTidyUp();
		
	//Check urls that end in .jsp/
	if(document.getElementById("latest_news_list"))
	{	
		formatURL(document.getElementById("latest_news_list"));	
	}

	if(document.getElementById("winners_story_list"))
	{		
		formatURL(document.getElementById("winners_story_list"));		
	}
	if(document.getElementById("winners_story_list_right"))
	{		
		formatURL(document.getElementById("winners_story_list_right"));		
	}
	if(document.getElementById("back_to_news_list"))                                    
	{
		formatURL(document.getElementById("back_to_news_list"));		
	}
	if(document.getElementById("story_home_container"))
	{
		showHomepageStory();
	}
	if(document.getElementById("drop_line_nav1"))
	{
		hideBotNavSeperator();	
	}
	if(document.getElementById("breadcrumb"))
	{
		hideBreadcrumbSeperator();
	}
	if(document.getElementById("footer_nav"))
	{
		hideFooterSeperator();	
	}
	// Expand the left nav to full height
	if(document.getElementsByTagName)
	      matchColumns();			 
	
	// Handling PNG transaprency
	try {
		checkPNG();
	} catch (e) {}

	// Populate the news archive dropdown
	try {
		populateFilter();
	} catch (e) {}
	
} 

