var garrClickedMenues = new Array();
var garrOLDClickedMenues = new Array();
var gintOLDClickedRowIndex;
var gstrDisplay;
var gblnCloseMenu = '';
var gPos=0;
var gblnHasBlinked = false;


var sSiteRootURL;
				
if( document.location.hostname.indexOf( "." ) == -1 && ( document.location.pathname.indexOf( "/" ) != document.location.pathname.lastIndexOf( "/" ) ) )
	sSiteRootURL = "http://" + document.location.hostname + document.location.pathname.substr( 0, document.location.pathname.indexOf( "/", 1 ) ) + "/";
else
	sSiteRootURL = "http://" + document.location.hostname + "/";
	

function llr_open(objTR){	

var i;
var intLevelOffset = parseInt(objTR.id);
var objRowCollection = document.getElementById('tblMenu').rows;
var intClickedRowIndex = objTR.rowIndex;
gblnCloseMenu = false;



//Om menyn är öppen och du klickar igen så blir detta sant
if(intClickedRowIndex == gintOLDClickedRowIndex && objRowCollection[intClickedRowIndex+1].style.display == ''){
	gblnCloseMenu = true;
}

//rensa upp i menyn, stäng ner de menyer som inte skall vara öppna.
for(i=0; i<=objRowCollection.length - 1; i++){	
	if(parseInt(objRowCollection[i].id) >= intLevelOffset + 1){
		objRowCollection[i].style.display = 'none';	
	}	
}

//Fixar till meny bilderna och avbryter
if(gblnCloseMenu){

	fixImages(garrClickedMenues);
	
	return;
}

//avbryt om det är sista raden
if((intClickedRowIndex + 1) == objRowCollection.length){
	return;
}

//Vilka menyer klickar jag på?
if(garrClickedMenues.length > 0){
	
	var intLastClickedRowIndex = garrClickedMenues[garrClickedMenues.length-1];
	var intLastLevelOffset = objRowCollection[intLastClickedRowIndex].id;
	if(intLevelOffset == intLastLevelOffset){
		garrClickedMenues.length = garrClickedMenues.length - 1;
		garrClickedMenues[garrClickedMenues.length] = intClickedRowIndex;
	}
	else if(intLevelOffset > intLastLevelOffset){
		garrClickedMenues[garrClickedMenues.length] = intClickedRowIndex;
	}
	else{
		garrClickedMenues.length = intLevelOffset;
		garrClickedMenues[garrClickedMenues.length] = intClickedRowIndex;
	}
}
else{

	garrClickedMenues[garrClickedMenues.length] = intClickedRowIndex;
}

//Skicka resultatet till behandling
fixImages(garrClickedMenues);

//kontrollerar om meny alternativet skall visas eller döljas
if(objRowCollection[intClickedRowIndex + 1].style.display == 'none'){
	gstrDisplay = ''; //obs!!! måste bli tom..(inte 'block') buggar i ns annars.
}
else{
	gstrDisplay = 'none';
}


//visar döljer meny alternativen
for(i=intClickedRowIndex + 1; i<=objRowCollection.length - 1; i++){	
	if(parseInt(objRowCollection[i].id) == intLevelOffset + 1){
			objRowCollection[i].style.display = gstrDisplay;			
	}		
	if(parseInt(objRowCollection[i].id) <= intLevelOffset){
		break;
	}
}
gintOLDClickedRowIndex = intClickedRowIndex;

}


function fixImages(garrClickedMenues){
	/*
	Viktigt!!
	Namngivning av bildobjekte måste göras med name="".
	Fungerar inte i ns annars.
	
	En av s.gifarna i första TR skall också ha namnet "objTRImages".
	Räknar fel annars.
	*/

	//Återställer alla bilder
	if(garrOLDClickedMenues.length > 0){
		
		for(i=0 ; i < garrOLDClickedMenues.length ; i++){
		
		
			if(document.objTRImages[garrOLDClickedMenues[i]].src == sSiteRootURL + 'images/menu/arrowdown.gif'){
				document.objTRImages[garrOLDClickedMenues[i]].src = 'images/menu/children.gif';
			}
		}
	}
	//Ser till att pilen pekar till höger på det meny alternativ man stängde
	if(gblnCloseMenu){
	
		for(i=0 ; i < garrClickedMenues.length - 1 ; i++){
			if(document.objTRImages[garrClickedMenues[i]].src == sSiteRootURL + 'images/menu/children.gif'){
				document.objTRImages[garrClickedMenues[i]].src = 'images/menu/arrowdown.gif';
			}
		}	
		return;
	}
	//Sätter de bilder som skall ha pil neråt
	for(i=0 ; i < garrClickedMenues.length ; i++){
	
		if(document.objTRImages[garrClickedMenues[i]].src == sSiteRootURL + 'images/menu/children.gif'){
		
			document.objTRImages[garrClickedMenues[i]].src = 'images/menu/arrowdown.gif';
		}
	}
	
	
	//Kom ihåg vilka som öppnades
	garrOLDClickedMenues.length = 0
	for(i=0 ; i < garrClickedMenues.length ; i++){
		garrOLDClickedMenues[garrOLDClickedMenues.length] = garrClickedMenues[i]
	}

}

