var tx_form = function(){

	$$('span > fieldset').each(function(fieldset){
	    
	    var inputs = tx_getInputs(fieldset);
	    var labels = tx_getLabels(fieldset);

	    fieldset.set('html', '');
	    var radiogroupname = '';

	    for(i=0; i<labels.length; i++){

	      var inputID = inputs[i].getProperty('id');
	      radiogroupname = inputs[i].getProperty('name');

	      var newImg1 = new Element( 'img' , {
		'src':'fileadmin/css/img/radio1.gif',
		'alt':'Bouton radio',
		'class':'image_radio',
		'id':'img_radio_' + inputID
	      });
	      var newImg2 = new Element( 'img' , {
		'src':'fileadmin/css/img/radio2.gif',
		'alt':'Bouton radio',
		'class':'image_radio',
		'id':'img_radio_' + inputID + '_2'
	      });

	      var newDiv = new Element( 'div' , {
		'class':'inserteddiv'
	      }) ;

	      inputs[i].setStyle('display', 'none');
	      newImg2.setStyle('display', 'none');

	      newImg1.addEvent('click', function(){
		tx_selectradio(fieldset, this.getProperty('id'));
	      });
	      
	      newDiv.appendChild(labels[i]);
	      newDiv.appendChild(inputs[i]);
	      newDiv.appendChild(newImg1);
	      newDiv.appendChild(newImg2);
	      fieldset.appendChild(newDiv);
	    }

	    var newHidden = new Element( 'input' , {
	      'type':'hidden',
	      'name':radiogroupname,
	      'value':''
	    }) ;
	    fieldset.appendChild(newHidden);
	});
}

var tx_getInputs = function(fieldset){
  var inputs = new Array();
  fieldset.getElements('input').each(function(item, index){
    inputs[index] = new Element( 'input' , {
      'type':'radio',
      'class':item.getProperty('class'),
      'value':item.getProperty('value'),
      'id':item.getProperty('id'),
      'name':item.getProperty('name')
    }) ;
  });
  return inputs;
}

var tx_getLabels = function(fieldset){
  var labels = new Array();
  fieldset.getElements('label').each(function(item, index){
    labels[index] = new Element( 'label' , {
      'type':'radio',
      'for':item.getProperty('for')
    }) ;
    labels[index].set('html', item.get('html'))
  });
  return labels;
}

var tx_selectradio = function(fieldset, idImg){

  // reset inputs + imgs
  fieldset.getElements('img').each(function(item, index){
    var itemid = item.getProperty('id');
    if(itemid.substr(itemid.length-2)=='_2') item.setStyle('display', 'none');
    if(itemid.substr(itemid.length-2)!='_2') item.setStyle('display', '');
  });

  // set right images + select input radio
  $(idImg).setStyle('display', 'none');
  $(idImg + '_2').setStyle('display', '');

  var idInput = idImg.substr(10);
  var newval = $(idInput).getProperty('value');

  fieldset.getElements('input').each(function(item, index){
    if(item.getProperty('type')=='hidden') item.setProperty('value',newval);
  });
}

window.addEvent('domready', function(){
  tx_form();
});