var makeblink_classname = "blinking";

var makeblink_steps = 8;			// steps
var makeblink_timeout = 100;		// interval between two steps
var makeblink_color1 = "e48100";	// from color (def: abc2e2)
var makeblink_color2 = "f1ae67";	// to color (def: f1ae67)

var makeblink_k=1;	// do-not-change
var makeblink_l=1;	// do-not-change

var blinkingElements = new Array();

function getBlinkingElements() {

	var allElements = document.getElementsByTagName("*");
	for ( var i=0; i<allElements.length; i++ ){
		if ( allElements[i].className.indexOf(" ") >= 0 ){
			var classes = allElements[i].className.split(" ");
			for ( var j=0; j<classes.length; j++ ){
				if ( classes[j]==makeblink_classname ){
					blinkingElements.push(allElements[i]);
				}
			}
		} else if ( allElements[i].className==makeblink_classname ){
			blinkingElements.push(allElements[i]);
		}
	}

}

function convertToRgb(color) {
	var rgb = 	[
				parseInt(color.substring(0,2),16),
				parseInt(color.substring(2,4),16),
				parseInt(color.substring(4,6),16)
				];
	return rgb;
}

function makeBlink(){

	if ( makeblink_k == 1 ){
		getBlinkingElements();	// setup
	}

	var rgb_col1 = convertToRgb(makeblink_color1);
	var rgb_col2 = convertToRgb(makeblink_color2);

	++makeblink_k;
	if ( makeblink_k>makeblink_steps ){ makeblink_k=1; makeblink_l = 1-makeblink_l; }

	if ( makeblink_l ){
		var tmp = rgb_col1;
		rgb_col1 = rgb_col2;
		rgb_col2 = tmp;
	}

	if ( makeblink_k != 1 ){
		for ( var j=0; j<=2; j++ ){
			rgb_col1[j] = rgb_col1[j] + ( rgb_col2[j] - rgb_col1[j] ) / makeblink_steps * makeblink_k;
			rgb_col1[j] = Math.floor(rgb_col1[j]);
		}
	}

	for ( var i=0; i<blinkingElements.length; i++ ){
		blinkingElements[i].style.color = "rgb(" + rgb_col1[0] + "," + rgb_col1[1] + "," + rgb_col1[2] + ")";
	}

	var t=setTimeout("makeBlink()",makeblink_timeout);

}
