function switch_form(marque,modele,type,energie){

  var body_trans = new Array(11); 
  body_trans["Ber"] = "Berline, 4 ou 5P";
  body_trans["Cpe"] = "Coupé, 2 ou 3P";
  body_trans["Mon"] = "Monospace";
  body_trans["Cab"] = "Cabriolet";
  body_trans["Utl"] = "Utilitaire";
  body_trans["4x4"] = "4x4";
  body_trans["Brk"] = "Break";
  body_trans["Es"] = "Essence";
  body_trans["D"] = "Diesel";
  body_trans["G"] = "GPL";
  body_trans["El"] = "Electrique";

  if(marque=="" && document.searchForm.marque.selectedIndex > -1)
  {
  marque=document.searchForm.marque.options[document.searchForm.marque.selectedIndex].value;
  }
  if(modele==""){
    if(document.searchForm.modele.selectedIndex > -1){
      modele=document.searchForm.modele.options[document.searchForm.modele.selectedIndex].value;
    }else{
      document.searchForm.energie.options[0].selected=true;
    }
  }
  if(type=="" && document.searchForm.type.selectedIndex > -1){type=document.searchForm.type.options[document.searchForm.type.selectedIndex].value;}
  if(energie=="" && document.searchForm.energie.selectedIndex > -1) {energie=document.searchForm.energie.options[document.searchForm.energie.selectedIndex].value};
  marque=marque.toLowerCase();
  modele=modele.toLowerCase();
  type=type.toLowerCase();
  energie=energie.toLowerCase();

  for(ind=0;ind<document.searchForm.marque.length;ind++){
	if(marque==(document.searchForm.marque.options[ind].value).toLowerCase()){
		document.searchForm.marque.options[ind].selected=true;
		break;	
       }
  }

// model
  if(marque==""){
    document.searchForm.modele.options.length=1;
    document.searchForm.modele.options[0] = new Option('Tous','');
  }else{
    document.searchForm.modele.options[0] = new Option('Tous','');
    var k=2;
    for(i=0;i<products.length;i+=4){
      if(products[i].toLowerCase()==marque){
        j=i;
	oldModel=products[j+1];
        document.searchForm.modele.options[1] = new Option(oldModel,oldModel);
        for(j=i;j<products.length;j+=4){
                if(!(products[j].toLowerCase()==marque)){break;}
		newModel=products[j+1];
		if(newModel!=oldModel){
                  document.searchForm.modele.options[k] = new Option(newModel,newModel);
                  k++;
		  oldModel=newModel;
                }
        }
        break;
      }
    }  
    document.searchForm.modele.options.length=k;
  }
  document.searchForm.modele.options[0].selected=true;
  for(ind=0;ind<document.searchForm.modele.length;ind++){
	if(modele==(document.searchForm.modele.options[ind].value).toLowerCase()){
		document.searchForm.modele.options[ind].selected=true;
		break;	
       }
  }
  if(document.searchForm.modele.options[document.searchForm.modele.selectedIndex].value=="") modele="";

// Type
  if(marque==""){
    document.searchForm.type.options.length=8;
    document.searchForm.type.options[0] = new Option('Tous','');
    document.searchForm.type.options[1] = new Option('Berline, 4 ou 5P','Ber');
    document.searchForm.type.options[2] = new Option('Coupé, 2 ou 3P','Cpe');
    document.searchForm.type.options[3] = new Option('Monospaces','Mon');
    document.searchForm.type.options[4] = new Option('Cabriolet','Cab');
    document.searchForm.type.options[5] = new Option('Utilitaire','Utl');
    document.searchForm.type.options[6] = new Option('4x4','4x4');
    document.searchForm.type.options[7] = new Option('Break','Brk');
  }else{
    document.searchForm.type.options[0] = new Option('Tous','');
    var oldBody = new Array(1);
    k=0;
    for(i=0;i<products.length;i+=4){
      if( ( modele!="" && products[i].toLowerCase()==marque && products[i+1].toLowerCase()==modele) || ( modele=="" && products[i].toLowerCase()==marque) ){
        j=i;
	oldBody[k]=products[j+2];
        if( (oldBody[k]=="2P") || (oldBody[k]=="3P") || (oldBody[k]=="4P") || (oldBody[k]=="5P") ) {oldBody[k]="Ber";}
        k+=1;
        for(j=i;j < products.length;j+=4){
          if ( !((modele!="" && products[j].toLowerCase()==marque && products[j+1].toLowerCase()==modele) || (modele=="" && products[j].toLowerCase()==marque)) ) {break;}
          newBody=products[j+2];
         // if( (newBody=="2P") || (newBody=="3P") || (newBody=="4P") || (newBody=="5P") ) {newBody="Ber";}
          foundBody = false;
          for(l=0;l<oldBody.length;l++){
	     if(newBody==oldBody[l]){
	       foundBody=true;
               break;
             }
          }
          if(foundBody == false){
            oldBody[k]=newBody;
            k+=1;
          } 
        }
        break;
      }
    } 
    if(k>0){
      oldBody.sort();
      for(m=0;m<k;m++){
        document.searchForm.type.options[m+1] = new Option(body_trans[oldBody[m]],oldBody[m]);
      }
    }
    document.searchForm.type.options.length=k+1;
  }
  document.searchForm.type.options[0].selected=true;
  for(ind=0;ind<document.searchForm.type.length;ind++){
    if(type==(document.searchForm.type.options[ind].value).toLowerCase()){
      document.searchForm.type.options[ind].selected=true;
      break;	
    }
  }

// energie

  if(marque==""){
    document.searchForm.energie.options.length=5;
    document.searchForm.energie.options[0] = new Option('Indifférent','');
    document.searchForm.energie.options[1] = new Option('Essence','Es');
    document.searchForm.energie.options[2] = new Option('Diesel','D');
    document.searchForm.energie.options[3] = new Option('GPL','G');
    document.searchForm.energie.options[4] = new Option('Electrique','El');
  }else{
    if(marque!="" && modele != "" && type != "") {
      document.searchForm.energie.options[0] = new Option('Indifférent','');
      var k=2;
      for(i=0;i<products.length;i+=4){
        if(products[i].toLowerCase()==marque && products[i+1].toLowerCase()==modele && products[i+2].toLowerCase()==type){
          j=i;
	  oldEnergy=products[j+3];
          document.searchForm.energie.options[1] = new Option(body_trans[oldEnergy],oldEnergy);
          for(j=i;j < products.length;j+=4){
            if(!(products[j].toLowerCase()==marque && products[j+1].toLowerCase()==modele && products[j+2].toLowerCase()==type)){break;}
	    newEnergy=products[j+3];
	    if(newEnergy!=oldEnergy){
              document.searchForm.energie.options[k] = new Option(body_trans[newEnergy],newEnergy);
              k++;
              oldEnergy=newEnergy;
            }
          }
          break;
        }
      }  
      document.searchForm.energie.options.length=k;
    }else{ // end of : if(marque!="" && modele != "" && type != "")
      document.searchForm.energie.options[0] = new Option('Indifférent','');
      var oldEnergy = new Array(1);
      k=0;
      for(i=0;i<products.length;i+=4){
        j=i;
        if( ((marque!="" && modele != "" && type == "") && (products[i].toLowerCase()==marque && products[i+1].toLowerCase()==modele)) ||
            ((marque!="" && modele == "" && type != "" ) && (products[i].toLowerCase()==marque &&  products[i+2].toLowerCase()==type)) ||
            ((marque!="" && modele == "" && type == "") && (products[j].toLowerCase()== marque)) 
        ){
	  oldEnergy[k]=products[j+3];
          k+=1;
          for(j=i;j < products.length;j+=4){
           if(!( ((marque!="" && modele != "" && type == "") && (products[j].toLowerCase()==marque && products[j+1].toLowerCase()==modele)) ||
                 ((marque!="" && modele == "" && type != "" ) && (products[j].toLowerCase()==marque)) || 
                 ((marque!="" && modele == "" && type == "") && (products[j].toLowerCase()==marque)) 
              )) {break;}
            newEnergy=products[j+3];
            foundEnergy = false;
            if( ((type != "")&&(products[j+2].toLowerCase()== type)) || (type == "") ) {
              for(l=0;l<oldEnergy.length;l++){
	         if(newEnergy==oldEnergy[l]){
	           foundEnergy=true;
                   break;
                 }
              }
              if(foundEnergy == false){
               oldEnergy[k]=newEnergy;
               k+=1;
              } 
            }
          }
            break;
        }
      } // end of for
      if(k>0){
        for(m=0;m<k;m++){
          document.searchForm.energie.options[m+1] = new Option(body_trans[oldEnergy[m]],oldEnergy[m]);
        }
      }
      document.searchForm.energie.options.length=k+1;
    }
  } // end of else of : if(marque=="")
  document.searchForm.energie.options[0].selected=true;
  for(ind=0;ind<document.searchForm.energie.length;ind++){
    if(energie==(document.searchForm.energie.options[ind].value).toLowerCase()){
      document.searchForm.energie.options[ind].selected=true;
      break;	
    }
  }
}
