var shimmer_me = null;

function shimmer(obj) {
	this.containing_node = document.getElementById(obj);	
	this.first_node = this.containing_node.firstChild;
	this.text = this.first_node.nodeValue;
	this.char_index = 0;
	this.shimmer_color = "white";
	this.shimmer_timer = null;	
	this.shimmer_interval = 80;
	this.pause_interval = 10000;
	
	this.second_node = this.containing_node.appendChild(document.createElement("span"));
	this.second_node.style.color = this.shimmer_color;
	this.second_node = this.second_node.appendChild(document.createTextNode(" "));
	this.third_node = this.containing_node.appendChild(document.createTextNode(" "));
}

shimmer.prototype.start = function () {
	shimmer_me = this;
	this.shimmer_timer = setInterval(color_char, this.shimmer_interval);
};

shimmer.prototype.stop = function () {
 	clearInterval(shimmer_me.shimmer_timer);
};

function color_char() {
	var initial_text = shimmer_me.text.substring(
		0, shimmer_me.char_index
	);
	var shimmer_char = shimmer_me.text.charAt(
		shimmer_me.char_index
	);	
	var final_text = shimmer_me.text.substring(
		shimmer_me.char_index + 1, shimmer_me.text.length
	);
	
	shimmer_me.containing_node.replaceChild(
		document.createTextNode(initial_text), 
		shimmer_me.first_node
	);
	shimmer_me.first_node = shimmer_me.containing_node.childNodes[0];
	 
	shimmer_me.containing_node.childNodes[1].replaceChild(
		document.createTextNode(shimmer_char), 
		shimmer_me.second_node
	);
	shimmer_me.second_node = shimmer_me.containing_node.childNodes[1].firstChild;
	
	shimmer_me.containing_node.replaceChild(
		document.createTextNode(final_text), 
		shimmer_me.third_node
	);
	shimmer_me.third_node = shimmer_me.containing_node.childNodes[2];
	
	if (shimmer_me.char_index < shimmer_me.text.length) 
		shimmer_me.char_index++;
	else {						  
		shimmer_me.stop()
		setTimeout("shimmer_me.start()", shimmer_me.pause_interval);
		shimmer_me.char_index = 0; 
	}
}