// Javascript for www.kenkistler.com// by Kenneth Kistlerfunction flasher() {  fade_step = 5 + rand(15);  colorFade('body','background','ECFFFF','000000',40,fade_step)  step1 = rand(5000);  step2 = rand(step1);  step3 = rand(step2);  setTimeout(function(){flasher();},step3);}// The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)// See:  http://www.msc.cornell.edu/~houle/javascript/randomizer.htmlrnd.today=new Date();rnd.seed=rnd.today.getTime();function rnd() {        rnd.seed = (rnd.seed*9301+49297) % 233280;        return rnd.seed/(233280.0);};function rand(number) {        return Math.ceil(rnd()*number);};// end central randomizer. -->// main function to process the fade request //function colorFade(id,element,start,end,steps,speed) {  var startrgb,endrgb,er,eg,eb,step,rint,gint,bint,step;  var target = document.getElementById(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);}//  Color fader script used under creative commons license// http://creativecommons.org/licenses/by/3.0/us/// incrementally close the gap between the two colors //function animateColor(id,element,steps,er,eg,eb,rint,gint,bint) {  var target = document.getElementById(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 + ')';    if(element == 'background') {      target.style.backgroundColor = color;    } else if(element == 'border') {      target.style.borderColor = color;    } else {      target.style.color = color;    }    target.r = r;    target.g = g;    target.b = b;    target.step = target.step + 1;  } else {    clearInterval(target.timer);    color = 'rgb(' + er + ',' + eg + ',' + eb + ')';    if(element == 'background') {      target.style.backgroundColor = color;    } else if(element == 'border') {      target.style.borderColor = color;    } else {      target.style.color = color;    }  }}// 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;}
