var listeMetiers = {
  myConn:      false,
  body:        false,
  control:     false,
  target:      false,
  loader:      false,
  init:        function( controlId, sbmtBtnId, targetIdA, targetIdB, targetIdC ){
    if( !document.getElementById ||
        !document.getElementsByTagName ||
        !document.getElementById( controlId ) ||
        !document.getElementById( sbmtBtnId )  ||
        !document.getElementById( targetIdA )  ||
        !document.getElementById( targetIdB ) ||
        !document.getElementById( targetIdC )  ) return;
    listeMetiers.myConn = new XHConn();
    if( !listeMetiers.myConn ) return;
    listeMetiers.body    = document.getElementsByTagName( 'body' )[0];
    listeMetiers.control = document.getElementById( controlId );
    var sbmtBtn = document.getElementById( sbmtBtnId );
    sbmtBtn.parentNode.removeChild( sbmtBtn );
    listeMetiers.targetA  = document.getElementById( targetIdA );
    listeMetiers.targetB  = document.getElementById( targetIdB );
    listeMetiers.targetC  = document.getElementById( targetIdC );
    listeMetiers.addEvent( listeMetiers.control,
                          'change',
                          function(){
                            if( this.value != '' ){
                              listeMetiers.getAddress( this.value );
                            } else {
                              listeMetiers.targetA.removeChild( listeMetiers.targetA.firstChild );
                              listeMetiers.targetB.removeChild( listeMetiers.targetB.firstChild );
                              listeMetiers.targetC.removeChild( listeMetiers.targetC.firstChild );
                            }
                          } );
  },
  getAddress:  function( id ){
    listeMetiers.buildLoader();
    var fnWhenDone = function(oXML) {
      listeMetiers.killLoader();
      if( listeMetiers.targetA.hasChildNodes() ){
        listeMetiers.targetA.removeChild( listeMetiers.targetA.firstChild );
      }
      if( listeMetiers.targetB.hasChildNodes() ){
        listeMetiers.targetB.removeChild( listeMetiers.targetB.firstChild );
      }
      if( listeMetiers.targetC.hasChildNodes() ){
        listeMetiers.targetC.removeChild( listeMetiers.targetC.firstChild );
      }
      xml = oXML.responseXML;
      var met_nom = listeMetiers.getNodeValue( xml, 'met_nom' );
      var met_texte = listeMetiers.getNodeValue( xml, 'met_texte' );
      var met_lien = listeMetiers.getNodeValue( xml, 'met_lien' );
      var txtA = document.createTextNode( met_nom );
      var txtB = document.createTextNode( met_texte );
      var txtC = document.createTextNode( met_lien );
      listeMetiers.targetA.appendChild( txtA );
      listeMetiers.targetB.appendChild( txtB );
      listeMetiers.targetC.appendChild( txtC );
	  if(document.getElementById("lien").innerHTML=="-")
	  {
		document.getElementById("divlien").style.display="none";
	  }
	  else
	  {
		document.getElementById("divlien").style.display="";
		document.getElementById("lienportraitmetier").href="page.php?portraitmetier="+document.getElementById("metiers").value;
	  }
    };
    listeMetiers.myConn.connect("ajax/metiers.php", "POST", "idMet="+id, fnWhenDone);
  },
  getNodeValue: function(tree, el){
    return tree.getElementsByTagName(el)[0].firstChild.nodeValue;
  },
  buildLoader: function(){
	document.getElementById("metiers").disabled=true;
    listeMetiers.loader = document.createElement( 'div' );
    listeMetiers.loader.setAttribute( 'id', 'loading' );
    listeMetiers.loader.style.position   = 'absolute';
    listeMetiers.loader.style.top        = '50%';
    listeMetiers.loader.style.left       = '50%';
    listeMetiers.loader.style.width      = '300px';
    listeMetiers.loader.style.lineHeight = '100px';
    listeMetiers.loader.style.margin     = '-50px 0 0 -150px';
    listeMetiers.loader.style.textAlign  = 'center';
    listeMetiers.loader.style.border     = '1px solid #870108';
    listeMetiers.loader.style.background = '#fff';
    listeMetiers.loader.appendChild( document.createTextNode( 'Chargement en cours\u2026' ) );
    listeMetiers.body.appendChild( listeMetiers.loader );
  },
  killLoader:  function(){
    listeMetiers.body.removeChild( listeMetiers.loader );
	document.getElementById("metiers").disabled=false;
  },
  addEvent: function( obj, type, fn ){  // the add event function
    if (obj.addEventListener) obj.addEventListener( type, fn, false );
    else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() {
        obj["e"+type+fn]( window.event );
      };
      obj.attachEvent( "on"+type, obj[type+fn] );
    }
  }
};
listeMetiers.addEvent( window, 'load', function(){
                                        listeMetiers.init( 'metiers',
                                                   'submitMetier',
                                                   'nom',
                                                   'address',
                                                   'lien' );
                                      } );