// JavaScript Document


<!-- Paste this code into an external JavaScript file named: rainbowLink.js  -->

/* This script and many more are available free online at
The JavaScript Source :: http://javascript.internet.com
Created by: Thái Cao Phong :: http://www.JavaScriptBank.com
*/

var timerID,
	srcElemActive,
	count = 0,
	oldColor;

var clrArray = new Array(
		'D0CBFE', '8C80FD', '5543FC', '1B04E3', // blue
		'E7FFE6', 'B7FFB3', '80FF79', '0AC400', // green
		'FFD6D5', 'FF9693', 'FF3D37', 'EA0600' // red
);

var ie = navigator.appName=='Microsoft Internet Explorer'?true:false,
	op = window.opera?true:false,
	ns = navigator.vendor?true:false;


function ChangeColor() {
	 if(srcElemActive) srcElemActive.style.color = '#' + clrArray[count++];
	if(count == (clrArray.length - 1)) count = 0;
}

// makeRainbow function
function makeRainbow(evt) {
	if(op) 
		return true;
	var srcElem = getObject(evt);
	var temp = "";
	if(srcElem.tagName == "A" && srcElem.href != '') {
 		srcElemActive = srcElem;
 		oldColor = srcElem.style.color;
	 	timerID = setInterval("ChangeColor()", 200);
	}
	return true;
}

// stopRainbow function
function stopRainbow(evt) {
	var srcElem = getObject(evt);
	if(op && srcElem.className != 'rate_item') return;
	if(srcElemActive && srcElem.tagName == "A" && srcElem.href != '') {
 		srcElemActive = null;
 		srcElem.style.color = oldColor;
	 	clearInterval(timerID);
	}
}

// getObject function
function getObject(evt) {
	var srcElem;
	if(ie) {
 		srcElem = event.srcElement;
	} else {
 		srcElem = evt.target;
	}
	return srcElem;
}

document.onmouseover = makeRainbow;
document.onmouseout = stopRainbow;
