// Global variables
var selectedNodeNum; // Integer that is the index of the current node in the navigation tree
var nodeArray;       // Array containing all the nodes in the navigation tree.

// Settings. Initialized in the init() function below.
var iconBase;               // Point to the base URL of the icons used to show position.
var iconName;               // Name attribute of the icon image tag. An integer is appended to this to indicate level of depth.
var iconMap;                // Default name of the icon map. An integer is appended to this to indicate level of depth.
var maxIconNum;             // The highest node number. Used to initialize the array of nodes.
var maxDepth;               // max depth of the navigation tree.
var nodeNavigationTimeStamp //timestamp used to genrate image views.
var globalSelectedArea      // Global areakey for forecast maps
var arbTimeStep	= 0;	       // Def tidsteg
var selectedPlaceMemory;   // tweak to fix submit button remembering what option was chosen!
var vDagArr = new Array(phraseArray[10],phraseArray[11],phraseArray[12],phraseArray[13],phraseArray[14],phraseArray[15],phraseArray[16]);
var dagsMarkeringar = new Array();

dagsMarkeringar['mo']=phraseArray[21];
dagsMarkeringar['em']=phraseArray[22];
dagsMarkeringar['kv']=phraseArray[23];
dagsMarkeringar['na']=phraseArray[24];
dagsMarkeringar['da']=phraseArray[25];




/*
 * Set the icon representing the indicated navigation
 * level to the image indicated by iconSrc.
 *
 * The icons are assumed to be named "level" plus an integer
 * indicating depth.
 */


function setIcon(level, iconSrc, mapName) {
//alert("set icon");
  var image = document.images[iconName + level];
  var iconLocation;

  if (iconSrc != null) {
    iconLocation = iconBase + iconSrc;
  } else {
    iconLocation = "img/trans.gif";
  }

  if (image != null) {
     image.src = iconLocation;

     if (mapName != null) {
       image.useMap = "#" + mapName;
     } else {
       image.useMap = "#" + iconMap + level;
     }
  }
}

/*
 * Update the view to reflect the current navigation
 * status (i.e. which node is in selectedNodeNum).
 */

function updateNavigationView() {
  // Runs every time
   //alert( "updateNavigationView: "+nodeArray[selectedNodeNum].nodeName+"  "+nodeArray[selectedNodeNum].placeId);
   var selectedNode = nodeArray[selectedNodeNum];
   document.forms.navigationForm.selectedNum.value  = selectedNodeNum;
   document.forms.navigationForm.selectedName.value = selectedNode.nodeName;
   document.forms.navigationForm.placeId.value      = selectedNode.placeId;

   updateMainView(selectedNode, arbTimeStep);
   updateParentView(selectedNode);
   updateChildView(selectedNode);
}

/*
 * Update the view of the main image
 */

function updateMainView(selectedNode, arbTimeStep)
{
   if(smhiavailabledates.length > 0)
   {
     //alert("updateMainView "+selectedNode.nodeName);
     var placeId = selectedNode.placeId;
     var currParents = selectedNode.parents;

     var mainSrc = getMainSrc(placeId, arbTimeStep, currParents);
     var mapName = selectedNode.imgMap;
     mapName = "null";

     var image = document.images[mainImageName];


     if (document.forms.time != 'undefined')
  	 {
  		var selMap;
  		var btnTemp;
  		var currMapDates = new Array();
  		if(smhiavailabledates[globalSelectedArea] !== undefined)
      {
  		  currMapDates = smhiavailabledates[globalSelectedArea];
  		}
  		if (currMapDates.length>=35)
      {

  			selMap=selMaps22;
  			btnTemp=btnTimArr22;
  		}
  		else
      {
        selMap=selMaps5;
  			btnTemp=btnTimArr5;
  		}
  		for (var i=0; i<selMap.length; i++)
  		{
  			if (arbTimeStep==selMap[i]){break};
  		}
  		var tempday = extractFormatDate(arbTimeStep,currMapDates);
  		document.forms.time.forcasttime.value=tempday+' '+dagsMarkeringar[btnTemp[i]];

     }


     if (image != null)
     {
       image.src = mainSrc;

       if (mapName != null) {
         image.useMap = "#" + mapName;
       } else {
         image.useMap = null;
       }
     }
   }
}

function smhicheckExist(inVal, inArr) {
	var arbVal;
  if(inArr  !== undefined)
  {
  	for (arbVal=0;arbVal<inArr.length;arbVal++)
    {
  		if (inArr[arbVal]==inVal) {
  			return true;
  		}
  	}
  }
	return false;
}

/*
 * Get the src for main image, based on SMHI placeId;
 * NOTE: ADAPT THIS!!
 */

function getMainSrc(placeId, inTimeStep, currParents) {
   //alert("getMainSrc: pi"+placeId);
	var parentArr = new Array();
	parentArr = String(currParents).split(",");

	var tmpCnt;
	var tmpArea = String(placeId);
  if (showingHasRegions() && tmpArea.length <=4)
   {
    //Avkom. Mårten 20050401
		//tmpArea=tmpArea+"1";
	}
	else
  {
		if (!smhicheckExist(tmpArea,smhiavailableareas) && (tmpArea>1))
    {
			for (tmpCnt=0;tmpCnt<parentArr.length;tmpCnt++)
      {
				if (smhicheckExist(nodeArray[parentArr[tmpCnt]].placeId,smhiavailableareas))
        {
					tmpArea = nodeArray[parentArr[tmpCnt]].placeId+"0";
					//tmpArea = nodeArray[parentArr[tmpCnt]].placeId;
				}
			}
		}
	}

   globalSelectedArea = tmpArea;

	if (smhicheckExist(tmpArea,smhiavailableareas)) {
		timeStamp = smhiavailabledates[tmpArea][(inTimeStep*2)]+" "+smhiavailabledates[tmpArea][(inTimeStep*2)+1];

		var dateString = timeStamp.substr(0,10);
		var timeString = timeStamp.substr(11,2);



		return smhilandimages[tmpArea+"_"+dateString+"_"+timeString][0];
	}
  else
  {
		return "./img/datamissing.gif";
	}
}


/*
 * Update the view to reflect the parents of the currently selected node
 */

function updateParentView(selectedNode) {
   //alert("updateParentView: "+selectedNode);
   var parents = selectedNode.parents;
   //var parents = sortNodeArray(selectedNode.parents);
   parents[parents.length]=selectedNodeNum;
	var temp = document.forms.navigationForm.subSelectLevel1;
	if (temp != undefined)
	{
    var childArr = sortNodeArray(nodeArray[parents[1]].children);
		//childArr=nodeArray[parents[1]].children;
		temp.length=0;
		temp.length++;
		temp[0].value = '0';
		temp[0].text = 'Välj land';
		for (var i = 0; i < childArr.length; i++)
		{
			temp.length++;
			temp[i+1].value = childArr[i];
			temp[i+1].text = nodeArray[childArr[i]].nodeName;
		}
	}

	var parents = selectedNode.parents;
	var temp = document.forms.navigationForm.subSelectLevel2;
	if (temp != undefined)
	{
		childArr=nodeArray[parents[2]].children;
		temp.length=0;
		temp.length++;
		temp[0].value = '0';
		temp[0].text = 'Välj landsdel';
		for (var i = 0; i < childArr.length; i++)
		{
			temp.length++;
			temp[i+1].value = childArr[i];
			temp[i+1].text = nodeArray[childArr[i]].nodeName;
		}
	}
	nodeArray[selectedNodeNum].parents.pop();


}

/*
 * Update the view to reflect the children of the currently selected node
 */
function updateChildView(selectedNode) {
  //alert("updateChildView: " + selectedNode.nodeName);
  //var children = selectedNode.children;
  var children = sortNodeArray(selectedNode.children);
  //alert (children.length);
	if (children != null)
	{
		if (nodeArray[children[0]].children == null)
		{
		   var subSelect = document.forms.navigationForm.subSelect;
		   var opts = subSelect.options;

		   opts.length = 0;

		   if (children != null)
		   {
		   	for (var i = 0; i < children.length; i++)
		   	{
					opts.length++;
			 		opts[i].value = children[i];
		      opts[i].text = nodeArray[children[i]].nodeName;
		      }
		   }
	   }
	}
	else
	{
		var parents = selectedNode.parents;
	   if (parents != null) {
	     var parentsLength = parents.length;
	     updateChildView(nodeArray[parents[parents.length - 1]]);
	    }
	}

}

/*
 * Check if the node with the indicated number is a leaf in the navigation tree.
 */

//Sorterar nodnamnen
function sortNodeArray(inputNodeArr)
{
   var workingArr = new Array();

   if(inputNodeArr==null)
      return null;
      
   for(var cnt=0; cnt<inputNodeArr.length;cnt++)
   {
    var node = inputNodeArr[cnt];
    var nName = nodeArray[node].nodeName;
    //Fixar JS-bug för att Ä ska komma efter Å
    nName = nName.replace(/Ä/i,"Åö");
    workingArr[cnt] = new Array(nName, node);
   }
   
   workingArr.sort();
   
   var sortedArray = new Array();
   for(var cnt=0; cnt<workingArr.length;cnt++)
   {
    var node = workingArr[cnt][1];
    sortedArray[cnt] = node;
   }
   return sortedArray;
}

function isLeafNode(nodeNum) {
   var selectedNode = nodeArray[nodeNum];

   if (!selectedNode) {
     return false;
   } else if (selectedNode.children && selectedNode.children.length > 0) {
     return false;
   } else {
     return true;
   }
}

/*
 * Test if the current page should be reloaded with a new query string.
 * !ADAPT THIS!
 */

function checkReload(selectedValue) {
   //alert("checkReload: "+selectedValue);
   var selectedNode = nodeArray[selectedValue];

   if (!selectedNode) {
     return false;
   //} else if (selectedNode.children && selectedNode.children.length > 0) {
   //  return false;
   } else {
     return true;
   }
}



function handleChildSelect(selectValue) {
// TEST OK
//alert("handleChildSelect: " + selectValue);

doReload(selectValue);
return;

   if (selectValue > 0)
   {
      selectedNodeNum=selectValue;
      if (checkReload(selectedNodeNum))
      {
        doReload(selectedNodeNum);
	     return;
      }
      updateNavigationView();
   }
   
}


/*
 * Handle that a child of the current node has been chosen through a map
 */

function handleChildMapSelect(selectValue) {
//alert("handleChildMapSelect: "+selectValue);
   if (selectValue > 0) {
// TEST OK
doReload(selectValue);return;

      selectedNodeNum=selectValue;
      if (checkReload(selectedNodeNum)) {
        doReload(selectedNodeNum);
	return;
      }
      updateNavigationView();
   }
}

/*
 * Handle that a parent of the current node has been chosen.
 * The parent is indicated indirectly by its depth, not by its node number.
 * The depth is used to look it up in the current node's navigational
 * data.
 */

function handleParentSelectByDepth(depth) {
   //alert("handleParentsSelectByDepth: "+depth);
   var selectedNode = nodeArray[selectedNodeNum];
   var parents = selectedNode.parents;

   if (parents != null) {
      if (depth < parents.length) {
         selectedNodeNum = parents[depth];
	// TEST OK
//	doReload(selectedNodeNum);return;

         if (checkReload(selectedNodeNum)) {
          doReload(selectedNodeNum);
            return;
         }
         updateNavigationView();
      }
   }

}

/*
 * Try to lookup the name given by the event. If incomplete, try to make it complete.
 */

function handleNameKey(txtInput, event) {

	if (browserIsIE || browserIsMoz)
	{
		if (event == null) {
  			nameCheck(txtInput.value, true);
  		}
		else if (event != null && event.keyCode > 64) {
  			nameCheck(txtInput.value, false);
  		}
  	}
	if (event.keyCode == 13)
	{
			nameCheck(txtInput.value, true);
	}



}

/*
 * Try to lookup the name given by the string. If incomplete, try to make it complete.
 */


function nameCheck(value, reload)
{

  value = String(value).toUpperCase();
  var foundCount = 0;
  var lastFoundNodeNum;
  var inlength=value.length;

	var saveName="";
	var foundName = false;

   //alert(value);

  	for (i = 0; i <= maxIconNum; i++) {
    	var node = nodeArray[i];

    	if (node != null) {
      	var name = node.nodeName.toUpperCase();

     		if (name.substring(0, value.length) == value) {
      		if (!foundName)
      		{
      			saveName=name;
      			lastFoundNodeNum = i;
      			foundName = true;
      		}
      		else if (name < saveName){
      			saveName=name;
        			lastFoundNodeNum = i;
        		}
      	}
  		}

	}

  //Autocomplete för sökning av ort
	if (foundName)
	{
    //Fyller endast ut om autocomplete är 'yes'.
    //Var. autocomplete sätts i konfig-filen
	 if(autocomplete == 'yes')
   {
   		document.forms.navigationForm.selectedName.value = nodeArray[lastFoundNodeNum].nodeName;
   		if (browserIsIE)
   		{
     			var oRange = document.forms.navigationForm.selectedName.createTextRange();
      		oRange.moveStart("character", inlength);
      		oRange.moveEnd("character", nodeArray[lastFoundNodeNum].nodeName.length);
      		oRange.select();
      	}
      	if (browserIsMoz)
      	{
      		document.forms.navigationForm.selectedName.setSelectionRange(inlength, nodeArray[lastFoundNodeNum].nodeName.length);
      	}
 	  }
	}

	if (reload)
	{
		if (foundName)
		{
  			selectedNodeNum = lastFoundNodeNum;
  			if (checkReload(selectedNodeNum))
        {
  				doReload(selectedNodeNum);
   			  return;
  			}
  			window.location=menuArray[currMenu][1]+"?placeId="+nodeArray[selectedNodeNum].placeId;
  		}
		else
		{
		 	document.forms.navigationForm.selectedName.value = "Ingen träff";
		}
	}
}



/*
 * Get the node number correspinding to the given placeId.
 */

 //Död kod?? //Mårten
function findPlaceId(placeId){
  for (i = 0; i <= maxIconNum; i++) {
    var node = nodeArray[i];

    if (node != null) {
      if (node.placeId == placeId) {
        return i;
      }
    }
  }
  return null;
}

/*
 * Helper function: parse the query string from this page's URL.
 */

function parseQueryString() {
//  var tmpDelAncors = location.search.substring(0).split("#");
//  var querySubStrings = tmpDelAncors[0].split("&");
  var querySubStrings = location.search.substring(1).split("&");
  var queryVars = new Array();

  for (i = 0; i <querySubStrings.length; i++) {
    var keyValPair = querySubStrings[i].split("=")
    if (keyValPair[0] && keyValPair[1]) {
      queryVars[keyValPair[0]] = unescape(keyValPair[1]);
    }
  }

  return queryVars;
}

/*
 * Get the name of the currently selected node
 */

function getCurrentName()
{
   var selectedNode = nodeArray[selectedNodeNum];

   if (selectedNode)
   {
    var name = selectedNode.nodeName;

    if (name)
    {
      return name;
    }
   }
   return "ORTNAMN";
}


function getCurrentMapName() {

   var selectedNode = nodeArray[selectedNodeNum];
   placeId = selectedNode.placeId;
   currParents = selectedNode.parents;

	 var parentArr = new Array();
	 parentArr = String(currParents).split(",");

	 var tmpCnt;
	 var tmpArea = String(placeId);
	 if (!smhicheckExist(tmpArea,smhiavailableareas) && (tmpArea>1))
   {
	   for (tmpCnt=0;tmpCnt<parentArr.length;tmpCnt++)
     {
			if (smhicheckExist(nodeArray[parentArr[tmpCnt]].placeId,smhiavailableareas))
      {
			 tmpArea = nodeArray[parentArr[tmpCnt]].nodeName;
		  }
	   }
	 }
	 else
	 {
	   tmpArea = selectedNode.nodeName;
	 }
	 
	 return tmpArea;

}


function showKeys(arr) {
  for (var key in arr) {
    alert(key + " => " + arr[key]);
  }
}

/*
 * Make timeline for current area
 */

// document.write('<td bgcolor="#FFFFFF" align="left"><a href="javascript://" onMouseOver="updateMainView(nodeArray[selectedNodeNum], \''+valuesArray[datArr[aktTidsteg]+"-datum"]+'_'+valuesArray[datArr[aktTidsteg]+"-tidsteg"]+'\');"><img border="0" src="img/'+colArr[aktTidsteg]+'.gif" name="imgtimesel'+aktTidsteg+'"></a></td>');

var btnColArr22 = new Array('big','small','small','small','big','small','small','small','big','small','small','small','big','small','big','small');
var btnTimArr22 = new Array('na','mo','em','kv','na','mo','em','kv','na','mo','em','kv','na','da','na','da');
var selMaps22 = new Array(-1,0,1,2,3,4,5,6,7,8,9,10,11,13,15,17);
var selMaps5 = new Array(0,1,2,3,4);
var btnColArr5 = new Array('big','small','big','small','big');
var btnTimArr5 = new Array('em','em','em','em','em');
var latestTouch = 0;
var latestCol = 'big';
var latestOver = 0;
var latestOverCol = 'big';

function btnOver(inBtnNr,inCol)
{
	if (inBtnNr != latestTouch) {
		var restoreSrc = 'time/'+latestOverCol+'.gif';
		var image = document.images["slidebtn"+latestOver];
		if (image != null) {
			image.src = restoreSrc;
		}

		var btnSrc = 'time/'+inCol+'_over.gif';
		var image = document.images["slidebtn"+inBtnNr];
		if (image != null) {
			image.src = btnSrc;
		}
		latestOver = inBtnNr;
		latestOverCol = inCol;
	}
}

function btnTouch(inBtnNr,inCol)
{
	var restoreSrc = 'time/'+latestCol+'.gif';
	var image = document.images["slidebtn"+latestTouch];
	if (image != null) {
		image.src = restoreSrc;
	}

	var btnSrc = 'time/'+inCol+'_sel.gif';
	var image = document.images["slidebtn"+inBtnNr];
	if (image != null) {
		image.src = btnSrc;
	}
	latestTouch = inBtnNr;
	latestCol = inCol;
	latestOver = -1;
}


function changeTimeStep(inPlaceId,inTimeStep,inParents)
{
   var mainSrc = getMainSrc(inPlaceId, inTimeStep, inParents);
   var image = document.images[mainImageName];
   if (image != null) {
     image.src = mainSrc;
   }

	if (typeof(document.forms.time) != 'undefined')
	{
		var selMap;
		var btnTemp;
		currMapDates = smhiavailabledates[globalSelectedArea];
		if (currMapDates.length>=35) {
			selMap=selMaps22;
			btnTemp=btnTimArr22;
		}
		else{
			selMap=selMaps5;
			btnTemp=btnTimArr5;
		}
		for (var i=0; i<selMap.length; i++)
		{
			if (inTimeStep==selMap[i]){break};
		}

		var tempday = extractFormatDate(inTimeStep,currMapDates);
	  	document.forms.time.forcasttime.value=tempday+' '+dagsMarkeringar[btnTemp[i]];

	}
   return;
}


function extractFormatDate(intimestep, inArr)
{
	var arbDateArr = new Array();
	arbDateArr = inArr[intimestep*2].split("-");
	if (setDayFormat == 'date')
	{
		return (Math.round(arbDateArr[2])+'/'+Math.round(arbDateArr[1]));
	}
	else if (setDayFormat == 'weekdays')
	{
		weekDaysArr = new Array(phraseArray[37], phraseArray[38], phraseArray[39], phraseArray[40], phraseArray[41], phraseArray[42], phraseArray[43]);

		printDate = new Date(arbDateArr[0],arbDateArr[1]-1,arbDateArr[2]);


		return (weekDaysArr[printDate.getDay()]);
	}

}



function doReload(selectedValue)
{

   var selectedNode = nodeArray[selectedValue];
   if (selectedNode)
   {
      placeId = selectedNode.placeId;
      window.location.search = "?keyId=" + selectedValue;
   }
}



function putIntoMemory(input)
{
   selectedPlaceMemory = input;
}

function getFromMemory()
{
   //alert (selectedPlaceMemory);
   return selectedPlaceMemory;
}


function printMainNavigation()
{
      //<!-- Navigation -->
         document.write("<div id=\"ntv_geonavigation\" style='"+divBorder+"'>");
         document.write("<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">");
				document.write("<tr>");
					document.write("<td valign=\"top\" bgcolor=\"#FFFFFF\">");
						document.write("<form name=navigationForm onSubmit='nameCheck(this.selectedName.value, true);return false;'>");
							document.write("<table border=0 cellpadding=0 cellspacing=0 width=100%>");
								document.write("<tr>");
									document.write("<td rowspan=1 valign=top height=\"60\">");
										document.write("<table border=0 cellpadding=0 cellspacing=0 width=100%>");
											document.write("<tr>");
												document.write("<td>");
												document.write("</td>");
												document.write("<td valign='bottom' align='left' class='ntv_smallerAB'>");
                        if (nodeArray[selectedNodeNum].children != null)
												{
                          if (nodeArray[nodeArray[selectedNodeNum].children[0]].children == null)
													{
														document.write("V&auml;lj ort:");
													}
												}
												else
												{
													document.write("V&auml;lj ort:");
												}
												document.write("&nbsp;");
												document.write("</td>");
												document.write("<td>");
												document.write("</td>");
											document.write("</tr>");
											document.write("<tr>");
												document.write("<td height='20' valign='top'>");
													document.write("<select class=\"ntv_searcharea\" style=\"font-size: 10px;\"  name=subSelectWorld onChange='handleChildSelect(this.options[this.selectedIndex].value);'>");
														document.write("<option>V&auml;lj v&auml;rldsdel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>");
														document.write("<option value='1'>Europa</option>");
														document.write("<option value='2'>Afrika</option>");
														document.write("<option value='3'>Asien</option>");
														document.write("<option value='4'>Nordamerika</option>");
														document.write("<option value='1733'>Centralamerika</option>");
														document.write("<option value='5'>Sydamerika</option>");
														document.write("<option value='6'>Oceanien</option>");
													document.write("</select>");
												document.write("</td>");
												document.write("<td rowspan='3' valign='top' align='left'>");
                             if (nodeArray[selectedNodeNum].children != null)
													   {

														   if (nodeArray[nodeArray[selectedNodeNum].children[0]].children == null)
														   {
															  // document.write(phraseArray[6]+"<br>");
																document.write("<select class=\"ntv_searcharea\" style=\"font-size: 10px;\" name='subSelect' onChange='handleChildSelect(this.options[this.selectedIndex].value);' size=4>");
																document.write("<option>-----------------------------</option>"); //<!--placeholder - to make select box wide enough in Netscape 4.xx -->
																document.write("</select>");

															}
														}
														else
														{
															 //  document.write(phraseArray[6]+"<br>");
																document.write("<select class=\"ntv_searcharea\" style=\"font-size: 10px;\" name='subSelect' onChange='handleChildSelect(this.options[this.selectedIndex].value);' size=4>");
																   document.write("<option>-----------------------------</option>"); //<!--placeholder - to make select box wide enough in Netscape 4.xx -->
																document.write("</select>");

														}
												document.write("</td>");
												document.write("<td rowspan='3' valign=bottom width=80 class='ntv_smallerAB'>");
													document.write(phraseArray[5]);
                                       document.write("<br>");
                                       document.write("<input type=hidden name=selectedNum value='' size=3>");
													document.write("<input type=hidden name=placeId value='' size=3>");
													document.write("<input class=\"ntv_searcharea\" style=\"font-size: 10px;\" type=text size=15 name=selectedName value='' onkeyup='handleNameKey(this, event);'>");
													document.write("<INPUT TYPE=\"image\" SRC=\"img/search.gif\" BORDER=\"0\" align=\"middle\" ALT=\"S&ouml;k\" onclick='handleNameKey(document.forms.navigationForm.selectedName, null);'>");
												document.write("</td>");
											document.write("</tr>");
											document.write("<tr>");
												document.write("<td height=20 width=135 valign='top'>");

														var cnt=1;
													 	var parentsTemp = nodeArray[selectedNodeNum].parents;
													 	parentsTemp[parentsTemp.length]=selectedNodeNum;
														if (parentsTemp.length > cnt)
														{

															var curr = nodeArray[nodeArray[parentsTemp[cnt]].children[0]].placeId;
															curr = new String (curr);
															if (curr.length==4)
															{
																document.write("<select class=\"ntv_searcharea\" style=\"font-size: 10px;\" name=\"subSelectLevel1\" onChange='handleChildSelect(this.options[this.selectedIndex].value);' size=1>");
																   document.write("<option>---------------</option>"); //<!--placeholder - to make select box wide enough in Netscape 4.xx -->
																document.write("</select>");
															}
														}
														nodeArray[selectedNodeNum].parents = nodeArray[selectedNodeNum].parents.slice(0,nodeArray[selectedNodeNum].parents.length-1);
												document.write("</td>");
											document.write("</tr>");
											document.write("<tr>");
												document.write("<td valign='top' height='20'>");
														var parentsTemp = nodeArray[selectedNodeNum].parents;
													 	parentsTemp[parentsTemp.length]=selectedNodeNum;
														cnt=2;
														if (parentsTemp.length > cnt)
														{

														if (nodeArray[parentsTemp[cnt]].children != 'undefined' && nodeArray[parentsTemp[cnt]].children != null && nodeArray[parentsTemp[cnt]].children != '')
															{

																var curr = nodeArray[nodeArray[parentsTemp[cnt]].children[0]].placeId;
																curr = new String (curr);
																if (curr.length==6)
																{
																	//document.write("V&auml;lj landsdel:<br>");
																	document.write("<select class=\"ntv_searcharea\" style=\"font-size: 10px;\" name=\"subSelectLevel2\" onChange='handleChildSelect(this.options[this.selectedIndex].value);' size=1>");
																	   document.write("<option>----------------------</option>"); //<!--placeholder - to make select box wide enough in Netscape 4.xx -->
																	document.write("</select>");
																}
															}
														}
														nodeArray[selectedNodeNum].parents = nodeArray[selectedNodeNum].parents.slice(0,nodeArray[selectedNodeNum].parents.length-1);
											document.write("</tr>");
										document.write("</table>");
									document.write("</td>");
								document.write("</tr>");
							document.write("</table>");
					document.write("</td>");
					document.write("</form>");
				document.write("</tr>");
				document.write("</table>");
				document.write("</div>");
}

/*
function printSelectBox()
{
// Fett omskriven metod för att visa boxen med städer / länder i; before
// it was madness, now it is tao...
   var currentNode = nodeArray[selectedNodeNum];
   if (isDomestic())
   {
      switch (getCurrentLevel(currentNode))
      {
         case 2:
            parseYesNo(ortlistaAutoSubmit) ? printOnChange() : printOnSuibmit();
         break;
         case 1:
            parseYesNo(ortlistaAutoSubmit) ? printOnChange() : printOnSuibmit();
         break;
      }
   }
   else
   {
      //alert("utomrikes  at lvl: "+getCurrentLevel(currentNode));
      switch (getCurrentLevel(currentNode))
      {
         case 3:
            parseYesNo(ortlistaAutoSubmit) ? printOnChangeLvl3() : printOnSuibmitLvl3();
         break;
         case 2:
            parseYesNo(ortlistaAutoSubmit) ? printOnChange() : printOnSuibmit();
         break;
         case 1:
            parseYesNo(ortlistaAutoSubmit) ? printOnChange() : printOnSuibmit();
         break;
      }
   }
}


function printOnChange()
{
   document.write("<br><br>"+phraseArray[6]+"<br>");
   document.write("<select class=\"ntv_searcharea\" name=subSelect onChange='handleChildSelect(this.options[this.selectedIndex].value);' size=6>");
	document.write("</select>");
}
function printOnSubmit()
{
   document.write("<br><br>"+phraseArray[6]+"<br>");
   document.write("<select class=\"ntv_searcharea\" name=subSelect onChange='putIntoMemory(this.options[this.selectedIndex].value);' size=6>");
	document.write("</select>");
   document.write("<INPUT TYPE=\"button\" onclick='handleChildSelect(getFromMemory());' value=\"Visa\" style='width: 100px; height20px; font-size: 1em; border: 1px solid black;'><br>");
}
function printOnChangeLvl3()
{
   document.write("<br><br>*"+phraseArray[6]+"<br>");
   document.write("<select class=\"ntv_searcharea\" name=subSelect onChange='handleChildSelect(this.options[this.selectedIndex].value);' size=6>");
	document.write("</select>");
}
function printOnSubmitLvl3()
{
   document.write("<br><br>*"+phraseArray[6]+"<br>");
   document.write("<select class=\"ntv_searcharea\" name=subSelect onChange='putIntoMemory(this.options[this.selectedIndex].value);' size=6>");
	document.write("</select>");
   document.write("<INPUT TYPE=\"button\" onclick='handleChildSelect(getFromMemory());' value=\"Visa\" style='width: 100px; height20px; font-size: 1em; border: 1px solid black;'><br>");
}

function parseYesNo(arg)
{
   if(arg=='yes')
   {
      return 1;
   }
   return 0;
}
function isDomestic()
{
   var locationString = "1001"; // wh have to get this from which node tree is used!
      var placeId = nodeArray[selectedNodeNum].placeId;
   if(String(placeId).substring(0, 4) === locationString)
   {
     return 1;
   }
   return 0;
}
*/

