function DynMenu(param0,param1,param2){
	this._nom              = param0;
  this._data             = (param1 == null ? {} : param1);
  this._lien_selectionne = (param2 == null ? '' : param2);
  this._html             = '';
  
  this.dm_construire = dm_construire;
  this.dm_ouvrir = dm_ouvrir;
  this.dm_selectionne = dm_selectionne;
  this.dm_construire();
  //alert(this._html);
}

function dm_ouvrir(objet){
  var i = 0;
  while(document.getElementById(objet.id+'_'+i+'_tr')){
    if(document.getElementById(objet.id+'_'+i+'_tr').style.display == 'none')
      document.getElementById(objet.id+'_'+i+'_tr').style.display = '';
    else
    	document.getElementById(objet.id+'_'+i+'_tr').style.display = 'none';
    i++;	
  }
}
function dm_selectionne(objet){
	var action = '';
	var lien = objet.innerText;
	var menu_id = objet.id.match(/^dynmenu_\d+/)[0];
	var menu = document.getElementById(menu_id).innerText;
	if(this._data[menu][lien] == "") reloadEnPostant({"lien" : lien});
}

function dm_construire(){
  //Cette fonction permet de créer le menu en html et de le placer dans l'attibut this._html
  this._html = '<table cellspacing="0" class="dynmenu">';
  var i = 0;
  var id_menu_a_ouvrir = '';
  for(var label in this._data){
    this._html += '<tr><td id="dynmenu_'+i+'" class="dynmenu_titre" onMouseOver="this.className=\'dynmenu_titre_hover\';" onMouseOut="this.className=\'dynmenu_titre\';" onMouseDown="this.className=\'dynmenu_titre_click\';" onMouseUp="this.className=\'dynmenu_titre_hover\';" onClick="'+this._nom+'.dm_ouvrir(this);">'+label+'</td></tr>';
    var j = 0;
    for(var lien in this._data[label]){
    	var action = (this._data[label][lien] != '' ? this._data[label][lien] : "redirigeVers('"+lien+"',{});");
    	
    	if(this._lien_selectionne != lien){
    	  this._html += '<tr id="dynmenu_'+i+'_'+j+'_tr" style="display : none;"><td id="dynmenu_'+i+'_'+j+'_td" class="dynmenu_lien" onMouseOver="this.className=\'dynmenu_lien_hover\';" onMouseOut="this.className=\'dynmenu_lien\';" onMouseDown="this.className=\'dynmenu_lien_click\';" onMouseUp="this.className=\'dynmenu_lien_hover\';" onClick="this.className=\'dynmenu_lien_click\';'+action+'">'+lien+'</td></tr>';
      }
      else{
        this._html += '<tr id="dynmenu_'+i+'_'+j+'_tr" style="display : none;"><td id="dynmenu_'+i+'_'+j+'_td" class="dynmenu_lien_selectionne" onClick="'+action+'">'+lien+'</td></tr>';
        id_menu_a_ouvrir = 'dynmenu_'+i;
      }
      j++;
    }
    i++;
  }
  this._html += '</table>';
  document.write(this._html);
  if(id_menu_a_ouvrir != "") this.dm_ouvrir(document.getElementById(id_menu_a_ouvrir));
}