car = new Array ("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F")

function calculcouleur(depart,arrivee){

   d1=hexatodec(depart.substr(0,2));
   d2=hexatodec(depart.substr(2,2));
   d3=hexatodec(depart.substr(4,2));
   if(d1 != a1){
      if(d1 > a1){d1--}
        else{d1++
   	  }
   }
   if(d2 != a2){
      if(d2 > a2){d2--}
        else{d2++
   	  }
   }
   if(d3 != a3){
      if(d3 > a3){d3--}
        else{d3++
   	  }
   }
   d1=dectohexa(d1);
   d2=dectohexa(d2);
   d3=dectohexa(d3);
   depart=String(d1)+String(d2)+String(d3);

   return depart;
}

function dectohexa(val){
   val = parseInt(val)
   premier=Math.floor(val/16);
   premier=String(car[premier]);
   deuxieme=String(val%16);
   deuxieme=car[deuxieme];
   return premier.toString()+deuxieme.toString();
}

function hexatodec(val){
var i;
   premier = val.charAt(0);
   premier = premier.toUpperCase();
   deuxieme = val.charAt(1);
   deuxieme = deuxieme.toUpperCase();
   for (i in car){
      if (premier==car[i]){
	     m=i;
	  }
   }
   i=0
      for (i in car){
      if (deuxieme==car[i]){
	     n=i;
	  }
   }
   premier = String(m * 16);
   deuxieme = String(n);
   return parseInt(premier)+parseInt(deuxieme);
}

function fonducouleur(depart,arrivee){

   a1=hexatodec(arrivee.substr(0,2));
   a2=hexatodec(arrivee.substr(2,2));
   a3=hexatodec(arrivee.substr(4,2));

   for(i=0;i<255;i++){
      depart=calculcouleur(depart,arrivee);
      document.bgColor= "#" + depart;
   }
}
