/* NOTE: Requires jQuery now */

var bboxes    = new Array(); /* Array av html elementer, div'er med klasse bbox */
var boxstate  = new Array(); /* Array som holder rede p 'state' i bboxene (auto eller manuell) */
var boxbilder = new Array(); /* 2 dimensjonal array som holder bildene i hver bbox */
var boxtrack  = new Array(); /* Array som holder rede p hvilket bilde som vises i hver bbox */

var pause     = 10000;        /* Pausen mellom hver gang bboxene skifter */
var t;

if(is.ie6)
{
	/*
	 * This variable keeps track of ie6_hide() calls. So that
	 * even if we've got multiple ie6_hide() timers running, only
	 * the last one will actually be executed. The others will simply
	 * be ignored
	 */
	var ie6hideno = 0;
}

/* Setter opp bboxene (og andre ting som må  gjøres) */
function init() {
	bboxes = getElementsByClassName(document, 'div', 'bbox*');

	// Lager knappene
	for (var i in bboxes) {
	
		var farge = (bboxes[i].className === 'bbox_b') ? '_b' : '';
	
		var knapper = document.createElement("p");
		/* Lag en array av bildene i hver bbox, gj¿r dette f¿r vi legger til knappene for  unng "forurensning" */
		boxbilder[i] = getElementsByClassName(bboxes[i], 'img', '*');

		knapper.innerHTML = ('<a href="javascript:;" onClick="return shift(-1,' + i + ');"><img src="images/bakover' + farge + '.gif"></a><a href="javascript:;" onClick="return shift(1,' + i + ');"><img src="images/forover' + farge + '.gif"></a>');
		/* Legger knappene inn i bbox */
		bboxes[i].appendChild(knapper);
	
		/* Gj¿r klar for animasjonen. Skjul f¿rste bilde og bruk src som bakgrunn i bbox */
		boxbilder[i][0].style.display = 'none';
		bboxes[i].style.backgroundImage = ('url(' + boxbilder[i][0].src + ')');
		
		boxtrack[i] = 0;
		boxstate[i] = 'auto';
			
		}
	t = setTimeout("play()",pause);	
	}

function shift (retning, box) {
	var vis;
	boxstate[box] = 'man';
	vis = boxtrack[box] + retning;
	/* modulo brekker ved negative verdier */
	if (vis < 0) { vis = (boxbilder[box].length -1); }
	vis = vis % boxbilder[box].length;
	boxtrack[box] = vis;
	bboxes[box].style.backgroundImage = ('url(' + boxbilder[box][vis].src + ')');
	/* ugyldiggj¿r href */
	// return false;
	}
	
function play () {
	for (var j in bboxes) {
	if (boxstate[j] == 'auto') { shift(1, j); boxstate[j] = 'auto'; }
		}
	t = setTimeout("play()",pause);
	}


function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
/*	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)"); */
	var oRegExp = new RegExp("(^|\\s)" + strClassName);
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

/*
 * Enable or disable the horizontal scrollbar in IE6
 */
function setOverflowX(overflow)
{
	if(overflow == true)
	{
		for (var i = 0; i < document.styleSheets.length; i++)
		{
			document.styleSheets[i].rules[0].style.overflowX = 'auto';
		}
	}
	else
	{
		for (var i = 0; i < document.styleSheets.length; i++)
		{
			document.styleSheets[i].rules[0].style.overflowX = 'hidden';
		}
	}
}


function show_menu(menuid){
	/* IE6 doesn't seem to handle display: none; properly along with our background image.
	 * Therefore use visibility instead in the IE6 CSS and JS */
	if (is.ie6)
	{
		/*
		 * Since we're IE6 we hide all menus before displaying this one.
		 * This is because menu hiding is on a timer in IE6 to work around
		 * yet another IE6 bug.
		 */
		ie6_hide(ie6hideno);
		ie6hideno++; // Invalidate any running timers
		setOverflowX(true);
		document.getElementById('submenu_' + menuid).style.visibility = 'visible';
	}
	else
	{
		$('.submeny').css({'display':'none'});
		$('#submenu_'+menuid).css({'display':'block'});
	}
}

function ie6_hide(hideno)
{
	if (!hideno == ie6hideno)
	{
		return;
	}
	ie6hideno++;
	/* IE6 doesn't seem to handle display: none; properly along with our background image.
	 * Therefore use visibility instead in the IE6 CSS and JS */
	setOverflowX(false);
	$('.submeny').css({'visibility':'hidden'});
}

function hide_menu()
{
	return; // Disabled
	if(is.ie6 || is.ie7 || is.ie)
	{
		return;
	}
	else
	{
		var arr = getElementsByClassName(document, 'div', 'submeny');
		for (key in arr)
		{
			arr[key].style.display = 'none';
		}
	}
}
