var classFixe="aaaaa";
function colorFade(id,element,start,end,steps,speed) {
  var startrgb,endrgb,er,eg,eb,step,rint,gint,bint,step;
  var target = id;
  steps = steps || 20;
  speed = speed || 20;
  clearInterval(target.timer);
  endrgb = colorConv(end);
  er = endrgb[0];
  eg = endrgb[1];
  eb = endrgb[2];
  if(!target.r) {
    startrgb = colorConv(start);
    r = startrgb[0];
    g = startrgb[1];
    b = startrgb[2];
    target.r = r;
    target.g = g;
    target.b = b;
  }
  rint = Math.round(Math.abs(target.r-er)/steps);
  gint = Math.round(Math.abs(target.g-eg)/steps);
  bint = Math.round(Math.abs(target.b-eb)/steps);
  if(rint == 0) { rint = 1 }
  if(gint == 0) { gint = 1 }
  if(bint == 0) { bint = 1 }
  target.step = 1;
  target.timer = setInterval( function() { animateColor(id,element,steps,er,eg,eb,rint,gint,bint) }, speed);
}

// incrementally close the gap between the two colors //
function animateColor(id,element,steps,er,eg,eb,rint,gint,bint) {
  var target = id;
  var color;
  if(target.step <= steps) {
    var r = target.r;
    var g = target.g;
    var b = target.b;
    if(r >= er) {
      r = r - rint;
    } else {
      r = parseInt(r) + parseInt(rint);
    }
    if(g >= eg) {
      g = g - gint;
    } else {
      g = parseInt(g) + parseInt(gint);
    }
    if(b >= eb) {
      b = b - bint;
    } else {
      b = parseInt(b) + parseInt(bint);
    }
    color = 'rgb(' + r + ',' + g + ',' + b + ')';

    target.r = r;
    target.g = g;
    target.b = b;
    target.step = target.step + 1;
  } else {
    clearInterval(target.timer);
    color = 'rgb(' + er + ',' + eg + ',' + eb + ')';
  }
  target.style[element] = color;//background, color, borderColor, ...
}

// convert the color to rgb from hex //
function colorConv(color) {
  var rgb = [parseInt(color.substring(0,2),16), 
    parseInt(color.substring(2,4),16), 
    parseInt(color.substring(4,6),16)];
  return rgb;
}
function domouseover(e){
    var srcE;
    if (document.all){//ie
        srcE = event.srcElement;
    }
    else
    {
        srcE = e.target;
    }
    if((srcE.tagName == fadeTypeElement)&&(srcE.className != classFixe)){
        colorFade(srcE,fadeAttribut,fadeCoulDeb,fadeCoulFin,2,1)
    }
} 
function domouseout(e){
    var srcE;
    if (document.all){//ie
        srcE = event.srcElement;
    }
    else
    {
        srcE = e.target;
    }
    if((srcE.tagName == fadeTypeElement)&&(srcE.className != classFixe)){
        colorFade(srcE,fadeAttribut,fadeCoulFin,fadeCoulDeb,25,30)
    }
}
function open_ext_link(){
	var domaine='http://smoking.xig.fr';
	var liens = document.getElementsByTagName('a');
	for (var i = 0 ; i < liens.length ; ++i){
		if ((liens[i].href.substr(0,domaine.length) != domaine)&&(liens[i].href.substr(0,11) != "javascript:")){
			liens[i].onclick = function(){
				window.open(this.href);
				return false;
			};
		}
	}
}
document.onmouseover = domouseover; 
document.onmouseout = domouseout;
window.onload = open_ext_link;
