function selectReplacement(obj) {
      // append a class to the select
      obj.className += ' replaced';

      // create list for styling
      var ul = document.createElement('ul');
      
      // Active l'AutoClose manager
      ul.setAttribute("id", "themeList");
      
      ul.onclick =  function(customEvent) {
        var eventToPass;
        if( customEvent ){
            eventToPass = customEvent; // FF
        }else{
           eventToPass = event;     // IE6
        }
        AutoCloseMgr.init(eventToPass, 'themeList', 'selectOpen');
      }
      
      ul.className = 'selectContactForm';
      var opts = obj.options;
      for (var i=0; i<opts.length; i++) {
        var selectedOpt;
        if (opts[i].selected) {
          selectedOpt = i;
          break;
        } else {
          selectedOpt = 0;
        }
      }
      for (var i=0; i<opts.length; i++) {
        var li = document.createElement('li');
        var txt = document.createTextNode(opts[i].text);
        li.appendChild(txt);
        li.selIndex = opts[i].index;
        li.selectID = obj.id;
        li.onclick = function() {
          selectMe(this);
        }
        
        if (i == selectedOpt) {
          li.className = 'selected';
          li.onclick = function() {
            this.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this);
            }
          }
        }
        if (window.attachEvent) {
          li.onmouseover = function() {
            this.className += ' hover';
          }
          li.onmouseout = function() {
            this.className = 
              this.className.replace(new RegExp(" hover\\b"), '');
          }
        }
        ul.appendChild(li);
      }
      
      var div = document.createElement('div');
      div.className = 'pos_ul';
      obj.parentNode.appendChild(div);
      
      // add the input and the ul
      div.appendChild(ul);
      
    }
    function selectMe(obj) {
      
      // Assure la ré-ouverture d'une liste fermé par AutoClose
      if ( !$(obj.parentNode).hasClassName("selectOpen") ){
        obj.parentNode.className += ' selectOpen';
        return;
        
      }

      var lis = obj.parentNode.getElementsByTagName('li');
      for (var i=0; i<lis.length; i++) {
        if (lis[i] != obj) { // not the selected list item
          lis[i].className='';
          lis[i].onclick = function() {
            selectMe(this);
          }
       } else {
          setVal(obj.selectID, obj.selIndex);
          obj.className='selected';
          obj.parentNode.className = 
          obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
          obj.onclick = function() {
            obj.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this);
            }
          }
        }
      }
    }
    
    function setVal(objID, selIndex) {
      var obj = document.getElementById(objID);
      obj.selectedIndex = selIndex;
    }
    function setForm() {
      var s = document.getElementsByTagName('select');
      for (var i=0; i<s.length; i++) {
        selectReplacement(s[i]);
      }
    }
    
    function closeSel(obj) {
      // close the ul
    }
    
    
    window.onload = function() {
      (document.all && !window.print) ? null : setForm();
    }
    
    
    var inputs;
    var classFalse = 'checkboxText unchecked';
    var classTrue = 'checkboxText checked';
    
    function replaceChecks() {
    
      inputs = document.getElementsByTagName('input');
  
      for(var i=0; i < inputs.length; i++) {
  
          if(inputs[i].getAttribute('type') == 'checkbox') {
              
              inputs[i].className = 'checkReplaced';
              
              var obj = inputs[i].parentNode;
              
              if(inputs[i].checked) {
                  obj.className = classTrue;
              } else {
                  obj.className = classFalse;
              }
  
              
              obj.id = 'checkImage'+i;
              
              obj.onclick = new Function('checkChange('+i+')');
              //place image in front of the checkbox
          }
      }
    }
    
    function checkChange(i) {

        if(inputs[i].checked) {
            inputs[i].checked = '';
            document.getElementById('checkImage'+i).className=classFalse;
        } else {
            inputs[i].checked = 'checked';
            document.getElementById('checkImage'+i).className=classTrue;
        }
    }

    // scripts by SophieWeb http://sophieweb.com unless stated otherwise

function addBehaviour() {
}

function displayLayer(whichLayer) {
  var overlay = $('overlay');
  var layer = document.getElementById(whichLayer);
  
  if (layer.style.display == 'block') {
    overlay.style.display = 'none';
    layer.style.display = 'none';
  } else {
    overlay.style.display = 'block';
    layer.style.display = 'block';
  }
  
  /* faire une routine pour masquer tous les elements de formulaire sous le layer pour IE 6 */
}

function OuvrirPopup(url, height, width) {
    window.open(url,'','scrollbars=yes,height='+height+',width='+width+',resizable=yes,status=yes,toolbar=no,menubar=no,location=no');
}








/**
 * Gestionnaire de fermeture des éléments div. L'activation du gestionnaire
 * de fermeture doit se faire sur chaque div à surveiller à l'aide 
 * du code Javascript suivant : AutoCloseMgr.init(event, "divToWatch", "cssClassToRemove"); 
 * 
 */

if (!window.AutoCloseMgr) {
  var AutoCloseMgr = new Object();
}
  
Object.extend(AutoCloseMgr,{
    
	initDone : false,
	observers: new Object(),
	watchedEltsClass: new Object(), // Class CSS a retirer de l'élément AutoClose	
	lastElt: undefined, // dernier élément mis en surveillance
	
	/**
	* Initialise la surveillance des div
	*/
	init: function(event, eltId, cssClass) {
	  
	  var elt = $(eltId);
	  
	  // Mémorise la class CSS du dernier éléments à surveiller
   	AutoCloseMgr.watchedEltsClass[elt.id] = cssClass;
	  	  
  	// Assure une seule initialisation du AutoCloseMgr
	  if (AutoCloseMgr.initDone){ 
	    // Mémorise le dernier élement mis en surveillance
	    // dès que 2 éléments ou plus sont surveillés
    	AutoCloseMgr.lastElt = elt;
  		return;
	  }

		AutoCloseMgr.initDone = true;
	    
		// Fonction à déclancher  
		AutoCloseMgr.observers['leftClick'] = AutoCloseMgr.doLeftClick.bindAsEventListener(this);

		// On accroche les observers
	  if (JcmsJsContext.isIE){ 
			Event.observe(document, 'click', AutoCloseMgr.observers['leftClick']); // InternetExplorer
	  } else {
			Event.observe(window,  'click', AutoCloseMgr.observers['leftClick']); // FireFox
	  }
    Event.stop(event);
    
	},
	
	
	/**
	* Méthode affectée clic gauche
	*/
	doLeftClick: function(event) {
  		if (JcmsJsContext.isIE || Event.isLeftClick(event)){ // Strange prototype issue
	   		// Désactive la surveillance du clic gauche si aucun élement à surveiller
        if(AutoCloseMgr.lastElt == undefined ){
    		  AutoCloseMgr.destroy();
        }  		  
  		  // Masque les élement
  			AutoCloseMgr.hideElements(event, 'click');
  		}
  },
	
	/**
	* Masque tous les éléments sauf celui en cours d'ouverture
	*/	
	hideElements: function(event, kind) {
	 	 
		// Cache tous les éléments observés sauf le dernier 
		// élément mis en surveillance
		for (var key in AutoCloseMgr.watchedEltsClass){
		  node = $(key);
 		  if (node != undefined && node != AutoCloseMgr.lastElt) {
     		   node.removeClassName(AutoCloseMgr.watchedEltsClass[node.id]);		    
			}
		}
		
    AutoCloseMgr.lastElt = undefined;
		return;
		
	},

	
	/**
	* Ferme le gestionnaire de fermeture des div
	*/	
	destroy: function(){
		// On stope la surveillance du click gauche
		if (JcmsJsContext.isIE) { 
			Event.stopObserving(document, 'click', AutoCloseMgr.observers['leftClick']); // InternetExplorer
		} else {
			Event.stopObserving(window, 'click', AutoCloseMgr.observers['leftClick']); // FireFox
		}
	  	AutoCloseMgr.initDone = false;
	}

});

// Ajoute les iframes dont l'url est src dans le DOM de la page
function addIframe(src, parentEltId, width, height) {
  var parentElt = document.getElementById(parentEltId);
  if (parentElt.getElementsByTagName("iframe").length == 0) {
    var iframe = document.createElement("iframe");
    iframe.setAttribute('frameBorder', '0');
    iframe.setAttribute('src', src);
    iframe.setAttribute('width', width);
    iframe.setAttribute('height', height);
    iframe.setAttribute('scrolling', 'no');
    parentElt.appendChild(iframe);
  }
}


