transitioning = false;

var Browser = {
	a : navigator.userAgent.toLowerCase()
}
Browser = {
	ie : /*@cc_on true || @*/ false,
	ie6 : Browser.a.indexOf('msie 6') != -1,
	ie7 : Browser.a.indexOf('msie 7') != -1,
	opera : !!window.opera,
	safari : Browser.a.indexOf('safari') != -1,
	safari3 : Browser.a.indexOf('applewebkit/5') != -1,
	mac : Browser.a.indexOf('mac') != -1
}

function addStylesheet(href, media) {
				alert("adStyle");
                document.getElementsByTagName("head")[0].appendChild(createElement('link', {
                                'rel': 'stylesheet',
                                'type': 'text/css',
                                'media': media || 'screen, projection',
                                'href': href
                }));
}

function sizetext(action) {    
        var newsize, body, size, value, increase;
        var reset = 100;
        body = document.getElementById('content');
        size = (body.style.fontSize != null) ? body.style.fontSize : '';
        value = size == '' ? "100" : splitup(size, "%", 0);
 
        switch(action) {
               case "up":
                       newsize = parseInt(value) + 10;
                       break;
               case "down":
                       newsize = parseInt(value) - 10;
                       break;
               case "reset":
                       newsize = reset;
                       break;
        } //increase or decrease according to given action
 
        increase = newsize + "%";
        currentsize = newsize;
        body.style.fontSize = increase;
        return false;
}

function splitup(value, separator, part) {
	value = value.split(separator);
	
	return value[part];
}


var MM_contentVersion = 6;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if ( plugin ) {
		var words = navigator.plugins["Shockwave Flash"].description.split(" ");
	    for (var i = 0; i < words.length; ++i)
	    {
		if (isNaN(parseInt(words[i])))
		continue;
		var MM_PluginVersion = words[i]; 
	    }
	var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 
   && (navigator.appVersion.indexOf("Win") != -1)) {
	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); //FS hide this from IE4.5 Mac by splitting the tag
	document.write('on error resume next \n');
	document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
	document.write('</SCR' + 'IPT\> \n');
}

//printFlash uses innerHTML to render flash objs to get around the IE flash rendering issue
function printFlash(id, src, wmode, menu, bgcolor, width, height, quality, base, flashvars, noflash){
	
	if(MM_FlashCanPlay){
		flashString = '<object id= "' + id + 'Flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + width + '" height="' + height + '">\
				            <param name="movie" value="' + src + '"/>\
				            <param name="quality" value="' + quality + '"/>';
		if(base){
		flashString+='<param name="base" value="' + base + '"/>';
		}
		
		flashString+='		<param name="flashvars" value="' + flashvars + '"/>\
							<param name="bgcolor" value="' + bgcolor + '" />\
							<param name="menu" value="' + menu + '"/>\
							<param name="wmode" value="' + wmode + '"/>\
							<param name="salign" value="l" />\
				         <embed name= "' + id + 'Flash" src="' + src + '" wmode="' + wmode + '" menu="' + menu + '" bgcolor="' + bgcolor + '" width="' + width + '" height="' + height + '" quality="' + quality + '" pluginspage="http://www.macromedia.com/go/getflash" type="application/x-shockwave-flash" salign="l" base="' + base + '" flashvars="' + flashvars + '" />\
						</object>';
	}else{
		flashString=noflash;
	}
	if(Browser.ie6)
		document.write(flashString);
	else
		document.getElementById('logo').innerHTML = flashString;
}

function $(e) {
	if(typeof e == 'string')
    	return document.getElementById(e);
	return e;
}

// IR - Functions for navigation
function goHome() {
	if (Browser.ie) {
		location.href = "index.xml";
	} else {
		//fadeOut();
		//fadeOutAds();
		//setTimeout("fadeInBlurbs()", 600);
		//document.getElementById("blurbs").style.zIndex = "10000";
		//document.getElementById("adverts").style.zIndex = "1";
		location.href = "index.xml";
		
	}
}

// Globals (ewww)
var articleCount = 0;
var articlePrefix = "hiddenArticleColumn";
var linkNextPageArticle = "linkNextPageArticle";
var linkPreviousPageArticle = "linkPreviousPageArticle";
var currentMaxCol = 0;
var currentMinCol = 0;
var leftCol = null;
var centerCol = null;
var rightCol = null;
var filled = 0;
var intervalID = 0;
var articleID = null;

function resetGlobals(artID) {
	articleCount = 0;
	articlePrefix = "hiddenArticleColumn";
	linkNextPageArticle = "linkNextPageArticle";
	linkPreviousPageArticle = "linkPreviousPageArticle";
	currentMaxCol = 0;
	currentMinCol = 0;
	leftCol = null;
	centerCol = null;
	rightCol = null;
	filled = 0;
	intervalID = 0;
	articleID = artID;
}

function showAds() {
	document.getElementById("adLeftColumn").innerHTML = document.getElementById("hiddenAdvertColumn1").innerHTML;
	document.getElementById("adCenterColumn").innerHTML = document.getElementById("hiddenAdvertColumn2").innerHTML;
	document.getElementById("adRightColumn").innerHTML = document.getElementById("hiddenAdvertColumn3").innerHTML;
	if (Browser.ie) {
		document.getElementById("anims").style.display = "none";
		document.getElementById("blurbs").style.display = "none";
	} else {
		fadeOutBlurbs();
		setTimeout("fadeInAds()", 600);
		document.getElementById("adverts").style.zIndex = "10000";
	}
}

function stubLoader(articleID) {
		resetGlobals(articleID);
		if (Browser.ie) {
			document.getElementById("anims").style.display = "none";
			document.getElementById("blurbs").style.display = "none";
		} else {
			fader("leftColumn", 100,0,1);
			fader("centerColumn", 100,0,1);
			fader("rightColumn", 100,0,1);
			fader("extraHome",100,0,1);
			fadeOutBlurbs();
		}
	
		
		
		loadContent(articleID);
}

function loadContent(articleID){
	// Here we will clone our link buttons into the initial columns
	// and count to see how many columns we actually have
	
	document.getElementById("blurbs").style.zIndex = "-1";
	document.getElementById("adverts").style.zIndex = "-1";
	
	leftCol = document.getElementById("leftColumn");
	centerCol = document.getElementById("centerColumn");
	rightCol = document.getElementById("rightColumn");
	
	var article;
	
	currentMaxCol = 0;
	currentMinCol = 0;
	
	do { // Count article columns, always assumes there is at least 1 column
		articleCount++;
		article = document.getElementById(articleID + "_" + articlePrefix + articleCount);
	} while (article != null)
	articleCount--;
	
	if (articleCount > 0) { // First article column
		leftCol.innerHTML = document.getElementById(articleID + "_" + articlePrefix + "1").innerHTML;
	}
	
	if (articleCount > 1) { // second article column
		centerCol.innerHTML = document.getElementById(articleID + "_" + articlePrefix + "2").innerHTML;
	}
	
	if (articleCount > 2) { // second article column
		rightCol.innerHTML = document.getElementById(articleID + "_" + articlePrefix + "3").innerHTML;
	}
	
	if (articleCount > 2) {
		rightCol.innerHTML = document.getElementById(linkNextPageArticle).innerHTML +rightCol.innerHTML + document.getElementById(linkNextPageArticle).innerHTML;
	}
	
	if (Browser.ie) {
		
	} else {
		setTimeout("fadeIn()", 600);
	}
}

function goNextPage_Editor()
{
	if(!transitioning)
	{
		transitioning = true;
		if (Browser.ie)
		{
			loadNextPage_Editor();
			transitioning = false;
		}
		else
		{
			fadeOutLeftOnly();
			setTimeout("loadNextPage_Editor()", 550);
			setTimeout("fadeInLeftOnly()", 600);
		}
	}
}

function loadNextPage_Editor() {

	clearContentLeftOnly();
	
	if (currentMaxColEditor <= 0) { currentMaxColEditor = 1; }
	
	currentMaxColEditor++;
	var left = document.getElementById(editorPrefix + (currentMaxColEditor));
	
	leftCol.innerHTML = left.innerHTML;
	
	if (currentMaxColEditor > 1) {
		leftCol.innerHTML = document.getElementById(linkPreviousPageEditor).innerHTML + leftCol.innerHTML + document.getElementById(linkPreviousPageEditor).innerHTML;
	}
	
	if (editorCount > currentMaxColEditor) {
			leftCol.innerHTML = document.getElementById(linkNextPageEditor).innerHTML + leftCol.innerHTML + document.getElementById(linkNextPageEditor).innerHTML;
	}
}

function goPreviousPage_Editor()
{
	if(!transitioning)
	{
		transitioning = true;
		if (Browser.ie)
		{
			loadPreviousPage_Editor();
			transitioning = false;
		}
		else
		{
			fadeOutLeftOnly();
			setTimeout("loadPreviousPage_Editor()", 550);
			setTimeout("fadeInLeftOnly()", 800);
		}
	}
}

function loadPreviousPage_Editor() {

	clearContentLeftOnly();
	
	currentMaxColEditor--;
	var left = document.getElementById(editorPrefix + (currentMaxColEditor));
	
	leftCol.innerHTML = left.innerHTML;
	
	if (currentMaxColEditor > 1) {
		leftCol.innerHTML = document.getElementById(linkPreviousPageEditor).innerHTML + leftCol.innerHTML + document.getElementById(linkPreviousPageEditor).innerHTML;
	}
	
	if (editorCount > currentMaxColEditor) {
		if (currentMaxColEditor > 1) {
			leftCol.innerHTML = document.getElementById(linkNextPageEditor).innerHTML + leftCol.innerHTML + document.getElementById(linkNextPageEditor).innerHTML;
		} else {
			leftCol.innerHTML =  leftCol.innerHTML + document.getElementById(linkNextPageEditor).innerHTML;
		}
	}
}

function goNextPage_Article()
{
	if(!transitioning)
	{
		transitioning = true;
		if (Browser.ie)
		{
			loadNextPage_Article();
			transitioning = false;
		}
		else
		{
			fadeOut();
			setTimeout("loadNextPage_Article()", 550);
			setTimeout("fadeIn()", 600);
		}
	}
}

function loadNextPage_Article() {
	clearContent();
	if (currentMaxCol == 0) { currentMaxCol = 2; currentMinCol = 2;}
	var left = document.getElementById(articleID + "_" + articlePrefix + (currentMaxCol + 1));
	var center = document.getElementById(articleID + "_" + articlePrefix + (currentMaxCol + 2));
	var right = document.getElementById(articleID + "_" + articlePrefix + (currentMaxCol + 3));
	
	var doubleFill = document.getElementById("hiddenDoubleColumn");
	var singleFill = document.getElementById("hiddenSingleColumn");
	
	if (left != null) { 
		leftCol.innerHTML = left.innerHTML; 
		leftCol.innerHTML = document.getElementById(linkPreviousPageArticle).innerHTML + leftCol.innerHTML + document.getElementById(linkPreviousPageArticle).innerHTML;
		currentMaxCol += 1;
	}
	if (center != null) { centerCol.innerHTML = center.innerHTML; currentMaxCol += 1; }
	if (right != null) { 
		rightCol.innerHTML = right.innerHTML; 
		currentMaxCol += 1;
		if (articleCount > currentMaxCol) {
			rightCol.innerHTML = document.getElementById(linkNextPageArticle).innerHTML + rightCol.innerHTML + document.getElementById(linkNextPageArticle).innerHTML;
		}
	}
	if ((center == null) & (right == null)) {
		centerCol.innerHTML = doubleFill.innerHTML;
		findNode("DIV",centerCol)[0].style.height = leftCol.offsetHeight+"px";
		filled = 2;
	} else if ((center != null) & (right == null)) {
		rightCol.innerHTML = singleFill.innerHTML;
		filled = 1;
	} else {
		filled = 0;
	}

}

function goPreviousPage_Article()
{
	if(!transitioning)
	{
		transitioning = true;
		if (Browser.ie)
		{
			loadPreviousPage_Article();
			transitioning = false;
		}
		else
		{
			fadeOut();
			setTimeout("loadPreviousPage_Article()", 550);
			if ((currentMaxCol - 3 ) > 2) { setTimeout("fadeIn()", 600); }
		}
	}
}

function loadPreviousPage_Article() {
	clearContent();
	if ((currentMaxCol - 3 ) <= 2) { loadContent(articleID); } else {
	
		var left = document.getElementById(articleID + "_" + articlePrefix + (currentMaxCol - (5 - filled)));
		var center = document.getElementById(articleID + "_" + articlePrefix + (currentMaxCol - (4 - filled)));
		var right = document.getElementById(articleID + "_" + articlePrefix + (currentMaxCol - (3 - filled)));
	
		if (right != null) { 
			rightCol.innerHTML = right.innerHTML; 
			rightCol.innerHTML = document.getElementById(linkNextPageArticle).innerHTML + rightCol.innerHTML + document.getElementById(linkNextPageArticle).innerHTML;
			currentMaxCol -= 1;
		}
		
		if (center != null) { centerCol.innerHTML = center.innerHTML; currentMaxCol -= 1;}
	
		if (left != null) { 
			leftCol.innerHTML = left.innerHTML; 
			leftCol.innerHTML = document.getElementById(linkPreviousPageArticle).innerHTML + leftCol.innerHTML + document.getElementById(linkPreviousPageArticle).innerHTML;
		}
		if (filled == 2) { currentMaxCol += 1; }
		else if ( filled == 0 ) {
			currentMaxCol -= 1; 
		}
	}
}

function fadeOutLeftOnly() {
	fader("leftColumn", 100,0,500);
}

function fadeInLeftOnly() {
	fader("leftColumn", 0,100,500);
	setTimeout("transitioning = false",550);
}

function fadeOut() {
	fader("leftColumn", 100,0,500);
	fader("centerColumn", 100,0,500);
	fader("rightColumn", 100,0,500);
}

function fadeOutAds() {
	fader("adLeftColumn", 100,0,500);
	fader("adCenterColumn", 100,0,500);
	fader("adRightColumn", 100,0,500);
}

function fadeIn() {
	fader("leftColumn", 0,100,500);
	fader("centerColumn", 0,100,500);
	fader("rightColumn", 0,100,500);
	fader("extraHome",0,100,500);
	setTimeout("transitioning = false",550);
}

function fadeInAds() {
	fader("adLeftColumn", 0,100,500);
	fader("adCenterColumn", 0,100,500);
	fader("adRightColumn", 0,100,500);
	setTimeout("transitioning = false",550);
}

function fadeOutBlurbs() {
	fader("anims",100,0,500);
	fader("blurbs",100,0,500);
	
}

function fadeInBlurbs() {
	fader("anims",0,100,500);
	fader("blurbs",0,100,500);
	
}

function clearContent() {
	intervalID = setInterval("scrollUp()", 2);
	leftCol.innerHTML = "";
	leftCol.className = "";
	rightCol.innerHTML = "";
	centerCol.innerHTML = "";
}
function clearContentLeftOnly() {
	intervalID = setInterval("scrollUp()", 2);
	leftCol.innerHTML = "";
}

function fader(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 scrollUp() {
	i = returnCurrent();
	window.scrollTo(0,i - 50);
	if (i < 10) {
		clearInterval(intervalID);
	}
}
// return current scroll position
function returnCurrent() {
	body=document.body;
    d=document.documentElement;
    if (body && body.scrollTop) return body.scrollTop;
    if (d && d.scrollTop) return d.scrollTop;
    if (window.pageYOffset) return window.pageYOffset;
    return 0;
}

// END IR

function findNode(thisNode,hayStack)
{
	var foundNodes = new Array();
	var errorArray = new Array();
	var nodeIndex = 0;
	var hayLength = hayStack.childNodes.length;
	for(nodeFinder=0; nodeFinder < hayLength; nodeFinder++)
	{
		if(hayStack.childNodes[nodeFinder].nodeName == thisNode)
		{
			foundNodes[nodeIndex++] = hayStack.childNodes[nodeFinder];
		}
	}
	if(foundNodes[0]) return foundNodes;
	else return false;
}

function dropdownToggle()  
{
	document.getElementById("languageDropdown").style.overflow = (document.getElementById("languageDropdown").style.overflow == "hidden") ? "visible" : "hidden";
	document.getElementById("languageDropdown").style.height = (document.getElementById("languageDropdown").style.height == "11px") ? document.getElementById("dropdownContent").scrollHeight+"px" : "11px";
}