// MENU (c) CARTO 2010
var newwin= ""
var cMenuHist= ''     // STRING WILL BE FILLED WITH MENU CHOICES SEPARATED BY '_'
var cAchtHist= ''     // STRING WILL BE FILLED WITH ACHTERGROND CHOICES SEPARATED BY '_'
var cMenuLast= '101'
var cAchtLast= '0'
  
// -- BUILD THE MENU WITH LI AND UL BLOCKS FOR SUBMENU
// -- INPUT = ID NUMBER OF MENU-LINE OR SUBMENU LINE TO ACTIVATE
// --         IF ITS A SUBMENU NUMBER, THE WHOLE SUBMENU WILL BE DISPLAYED
// ----------------------------------------------------------------------------------------------------------------
function buildMenu( nMenu) {
  var menu = document.getElementById( "menu");
  var nMenu_1 = 100* nMenu.substr( 0, 1)                   // DERIVE MENU LEVEL 1

  var links = menu.getElementsByTagName( "li");            // GET ALL MENU LI TAGS
  var uls = menu.getElementsByTagName( "ul");              // GET ALL SUBMENU BLOCK UL TAGS  

  for (var i = 0; i < links.length; i++) {                 // SET MENU LI
    if( links[i].id == nMenu_1 || links[i].id== nMenu ){
		    links[i].className = 'active';                 // SET MENU LI ACTIVE               
    }                 
    else   {
      links[ i].className = 'inactive';                    // SET MENU LI INACTIVE
    }
  }

  for (var i = 0; i < uls.length; i++) {                   // SET SUBMENU UL
    if( uls[i].id == ( nMenu_1+'_B' ) )   {
      uls[i].style.display= 'block' ;                      // DISPLAY MENU BLOCK UL  
    }
    else  {
      uls[i].style.display= 'none';                        // HIDE MENU BLOCK
    }
  }	
  
  grabFile( "blok/tekst-"+  nMenu+ ".htm", "main-column-1")          // RETRIEVE A FILE AND LOAD IN COLUMN1
  grabFile( "blok/achtergrond-"+  nMenu+ ".htm", "main-column-2")    // RETRIEVE A FILE AND LOAD IN  COLUMN2

  cMenuHist= cMenuHist+ '_'+ cMenuLast  
  cAchtHist= cAchtHist+ '_'+ cAchtLast
  cMenuLast= nMenu
  cAchtLast= '0'
}


// GRAB A FILE TO LOAD INTO A DOM ELEMENT 
// Function opens the file URL then the parseResponse function is called 
// Once the request state is complete and if the file exists, it grabs the response text and inserts it as  innerHTML
function grabFile( aFile, aDomId) {
   var domId= aDomId;
   var request = getHTTPObject();
   request.onreadystatechange = function() {	
      parseResponse( request, domId);            // what happens once complete
   }
   request.open( 'GET', aFile, true);
   request.send( null);
}

function parseResponse(request, domId) {
	if( request.readyState == 4){

//		if( request.status == 200 || request.status == 304){    // DO NOT USE  THIS TEST IN CASE OF LOCAL DEVELOPMENT
			var results = document.getElementById( domId);
			results.innerHTML = request.responseText;
//		} else {
//			alert( "Even geduld... click nogmaals op het menu van uw keuze.");
//		}
	}
}

function getHTTPObject(){
  var xhr = false;
  if (window.XMLHttpRequest){
    xhr = new XMLHttpRequest();
  }
  else if (window.ActiveXObject) {
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e) {
      try {
	    var ie_versions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
        for(var i=0; i <ie_versions.length; i++) {
          try {
            xhr = new ActiveXObject(ie_versions[i]);
          }
          catch (e) {}
        }
      } catch(e) {
        xhr = false;
      }
    }
  }
  return xhr;
}


//--  SHOW DIFFERENT TABLE BASED ON ID ----------------------------------------------
//  woonwijken per provincie
var newId=  "yes";
var prevId= "";
function showTable( anId)   {
  var thisId= document.getElementById( anId);
  if ( newId== "yes") {
    prevId= document.getElementById( 'GR');
    newId= "no";
   }
  prevId.style.display='none';
  prevId= thisId;
  if ( thisId.style.display== 'none')   {
    thisId.style.display= 'block';
  } else  {
    thisId.style.display= 'none';
  }
}


//-- SPECIAL BACK BUTTON 
function anwBack()   {
  var nPos
  if ( newwin != "" ) {                                  // CHECK FOR OPEN BACKGROUND WINDOW, THEN CLOSE
    newwin.close()
  }
  nPosM= cMenuHist.lastIndexOf( '_' )
  if ( nPosM> -1 )   {                                   // CHECK FOR PREVIOUS MENU CHOICE
    cMenuPrev= cMenuHist.substring( nPosM+ 1 )
    nPosA= cAchtHist.lastIndexOf( '_' )                  // PREVIOUS BACKGROUND CHOICE MUST EXIST BECAUSE OF SAME LENGTH MENU CHOICE
    cAchtPrev= cAchtHist.substring( nPosA+ 1 )
    buildMenu( cMenuPrev)                                // ALSO ADDS NEW HIST THAT WILL BE IGNORED
    if ( cAchtPrev != '0')   {
       openPlusPopA( cAchtPrev )                         // ALSO ADDS NEW HIST THAT WILL BE IGNORED
    }
    cMenuHist= cMenuHist.substring( 0, nPosM )           // JUST TAKE PREVIOUS MENU CHOICES [NOT ADDINGS BY BACKSTEP]
    cAchtHist= cAchtHist.substring( 0, nPosA )           // JUST TAKE PREVIOUS BACKGROUND CHOICES [ ]
  }
}


//-- OPEN A POPUP WITH BACKGROUND TEXT 
//- 
function openPopA( nText )   {
  if ( newwin )  {  
    newwin.close()
  }
  else {
  }
  newwin=  this.window.open( "blok/achtergrond-"+  nText+ ".htm", "eveb", "resizable=yes,menubar=no,scrollbars=yes,status=no,width=480,height=480,left=10,top=10")
  newwin.focus();
  cMenuHist= cMenuHist+ '_'+ cMenuLast  
  cAchtHist= cAchtHist+ '_'+ nText                       // ADD ACTUAL BACKGROUND SO YOU CAN STEP BACK AFTER ITS CLOSED
  cAchtLast= nText
}


//-- OPEN A POPUP WITH BACKGROUND TEXT FROM WITHIN BACKGROUND
//- 
function openPopAa( nText )   {
  if ( newwin )  {  
    newwin.close()
  }
  else {
  }
  newwin=  this.window.open( "../blok/achtergrond-"+  nText+ ".htm", "eveb", "resizable=yes,menubar=no,scrollbars=yes,status=no,width=480,height=480,left=10,top=10")
  newwin.focus();
  cMenuHist= cMenuHist+ '_'+ cMenuLast  
  cAchtHist= cAchtHist+ '_'+ nText                       // ADD ACTUAL BACKGROUND SO YOU CAN STEP BACK AFTER ITS CLOSED
  cAchtLast= nText
}


//-- OPEN A POPUP WITH STANDARD  TEXT 
//- 
function openPop( nText )   {
  if ( newwin )  {  
    newwin.close()
  }
  else {
  }
  newwin=  this.window.open( nText+ ".htm", "eveb", "resizable=yes,menubar=no,scrollbars=yes,status=no,width=480,height=480,left=10,top=10")
  newwin.focus();
}


//-- OPEN A POPUP WITH SOLUTION TEXT - NOT INCLUDED IN ANWBACK FLOW YET
//- 
function openOp( nOp )   {
  if ( newwin )  {  
    newwin.close()
  }
  else {
  }
  newwin=  this.window.open( "blok/oplossing-"+  nOp+ ".htm", "eveb", "resizable=yes,menubar=no,scrollbars=yes,status=no,width=515,height=500,left=120,top=280")
  newwin.focus();
}

