$(document).ready(function() {
 $('.selectConv').each(function() {
  /*
   prefix des variables:
   m = variables utilis�es tout du long
   t = variables temporaires
  */
  var mParent = document.createElement('div'); // Div contenant toute la liste
  var mFirst = document.createElement('div'); // Div contenant le 1er element de la liste, l'element selectionn�, ou l'element par defaut
  var mList = document.createElement('div'); // Div contenant la liste des choix disponibles
  var mInput = document.createElement('input'); // Input contenant la valeur (parametre value) de l'element selectionn� dans la liste
  
  /* Styles par defaut */
  $(mParent).css('overflow', 'hidden');
  $(mParent).css('cursor', 'default');
  $(mParent).css('background-repeat', 'no-repeat');
  $(mParent).css('position', 'absolute');
  
  /* Recuperation des options du futur select */
  var tTitle = $(this).attr('title');
  var tOverBgcolor = false;
  var tAttributs = tTitle.split(' ');
  for (i = 0; i < tAttributs.length; i++) {
   var tOptions = tAttributs[i].split(':');
   var v1 = tOptions[0];
   var v2 = tOptions[1];
   if (v1 == 'image') $(mParent).css('background-image', "url('"+v2+"')")
   else if (v1 == 'width') { // Largeur de la liste
    $(mParent).css('width', v2);
    $(mList).css('width', v2);
   }
   else if (v1 == 'height') { // Hauteur de la liste/de chaque cellule
    $(mParent).css('line-height', v2);
    $(mList).css('line-height', v2);
   }
   else if (v1 == 'top') $(mParent).css('top', v2); // position
   else if (v1 == 'left') $(mParent).css('left', v2); // position
   else if (v1 == 'right') $(mParent).css('right', v2); // position
   else if (v1 == 'color') $(mParent).css('color', v2); // Couleur du texte
   else if (v1 == 'bgcolor') { // Couleur de fond des cellules
    $(mParent).css('background-color', v2);
    $(mList).css('background-color', v2);
   }
   else if (v1 == 'size') $(mParent).css('font-size', v2); // Taille du texte
   else if (v1 == 'name') { // Nom du champs cach�
    $(mInput).css('display', 'none');
    $(mInput).attr('type', 'hidden');
    $(mInput).attr('name', unescape(v2));
   }
   else if (v1 == 'margin') {
    //$(mList).css('margin-left', v2);
    $(mFirst).css('margin-left', v2);
   }
   else if (v1 == 'opacity') {
    $(mParent).css('opacity', v2);
    //$(mFirst).css('opacity', v2);
   }
   else if (v1 == 'z-index') {
    $(mParent).css('z-index', v2);
   }
   else if (v1 == 'over-bgcolor') {
    tOverBgcolor = v2;
   }
   else alert((i+1)+'eme argument incorrect : '+v1+'\n> '+v2);
  }
  
  /* Recuperation des items de la liste */
  $(this).children().each(function(id) {
   var tTitle = $(this).attr('title');
   var tAttributs = tTitle.split(' ');
   var tSelected = false;
   var tItem = document.createElement('div');
   var tValue = false;
   var tText = $(this).text();
   var tReadonly = false;
   var tOnclick = $(this).attr('onclick');
   $(tItem).css('width', '100%');
   $(tItem).css('padding-left', '3px');
   for (i = 0; i < tAttributs.length; i++) {
    var tOptions = tAttributs[i].split(':');
    var v1 = tOptions[0];
    var v2 = tOptions[1];
    if (v1 == 'selected') {
     if (v2) tSelected = true;
     if (tValue != false) $(mInput).val(tValue);
     $(mFirst).text(tText);
    }
    else if (v1 == 'readonly') {
     if (v2) {
      tReadonly = true;
      $(tItem).css('text-decoration', 'line-through');
     }
    }
    else if (v1 == 'value') {
     tValue = unescape(v2);
     if (id == 0) {
      $(mFirst).text(tText); // Si c'est le 1er item, le mettre par defaut dans la liste
     }
     if ((tSelected) || (id == 0)) $(mInput).val(tValue);
    }
    else alert((i+1)+'eme argument incorrect : '+v1+'\n> '+v2);
   }
   $(tItem).text(tText);
   if (!tReadonly) {
    $(tItem).click(function() {
     $(mList).fadeOut('fast');
     if (($(tItem).text() != $(mFirst).text()) || ($(mInput).val() != tValue)) {
      $(mFirst).fadeOut('fast', function() {
       $(this).text(tText);
      });
      $(mFirst).fadeIn('slow');
      $(mInput).val(tValue);
     }
    });
    if (tOnclick) {
     $(tItem).click(function() {
      if ($.browser.msie) tOnclick();
      else {
       tOnclick();
       eval(tOnclick); // Au cas où
      }
     });
    }
    if (tOverBgcolor) {
     $(tItem).hover(function() {
      $(tItem).css('background-color', tOverBgcolor);
     },function() {
      $(tItem).css('background-color', '');
     }
     );
    }
   }
   $(mList).append(tItem);
  });
  
  /* On applique les changements */
  $(mFirst).click(function() {
   if ($(mList).css('display') != 'none') $(mList).fadeOut('fast'); // On cache la liste
   else $(mList).fadeIn('fast'); // On affiche la liste
  });
  $(mParent).hover(function(){}, function() {
   $(mList).fadeOut('fast'); // On cache la liste quand la souris n'est plus au dessus
  });
  $(mList).css('display', 'none');
  
  if ($(mInput).attr('name') != '') $(mParent).append(mInput); // On ajoute le champs input cach� SI un nom a �t� donn�
  $(mParent).append(mFirst);
  $(mParent).append(mList);
  
  $(this).replaceWith(mParent); // On remplace la liste ul par les divs..
 });
});