var HRoll_images = new Array();//images repository

function HRoll_prepare_preload(img){
	img.HRoll_over = new Image();
	img.HRoll_over.src = img.getAttribute("hroll_over");
	img.HRoll_over_src = img.HRoll_over.src;
	img.HRoll_normal_src = img.src;
}

function HRoll_prepare_events(img){
	img.HRoll_onmouseover = img.onmouseover;
	img.onmouseover = HRoll_img_over;
	
	img.HRoll_onmouseout = img.onmouseout;
	img.onmouseout = HRoll_img_out;
}

function InitHRoll(){

	var imgs = document.images;
	for (var i=0; i<imgs.length; i++){
		var img = imgs[i];
		if (img.getAttribute("hroll_over") == null) continue;

		HRoll_prepare_preload(img);
		HRoll_prepare_events(img);
		
		if (img.getAttribute("name") != null && img.getAttribute("name") != "")
			HRoll_images[img.getAttribute("name")] = img;
	}

	initHRoll_fixed();
	initHRoll_links(document.links);
	initHRoll_links(document.getElementsByTagName("TD"));
}

function initHRoll_links(links){
	for (var i=0; i<links.length; i++){
		var link = links[i];
		if (link.getAttribute("hroll_over") == null) continue;

		var imgs = link.getAttribute("hroll_over").split(",");
		link.HRoll_imgs = imgs;
		
		link.HRoll_onmouseover = link.onmouseover;
		link.onmouseover = HRoll_link_over;
		
		link.HRoll_onmouseout = link.onmouseout;
		link.onmouseout = HRoll_link_out;
	}

	if (window.before_HRoll_onload != null) window.before_HRoll_onload();
}

function initHRoll_fixed(){
	if (document.body.getAttribute("hroll_over") == null || document.body.getAttribute("hroll_over") == "") return;
	var fixed = document.body.getAttribute("hroll_over").split(",");
	for (var i=0; i<fixed.length; i++){
		var img = HRoll_images[fixed[i]];
		if (img != null){
			img.HRoll_normal_src = img.HRoll_over_src;
			img.src = img.HRoll_over_src;
		}
	}
}

function HRoll_link_over(){
	for (var i=0; i<this.HRoll_imgs.length; i++){
		var img = HRoll_images[this.HRoll_imgs[i]];
		if (img == null) continue;
		img.onmouseover();
		if (this.HRoll_onmouseover) return this.HRoll_onmouseover();
	}
}

function HRoll_link_out(){
	for (var i=0; i<this.HRoll_imgs.length; i++){
		var img = HRoll_images[this.HRoll_imgs[i]];
		if (img == null) continue;
		img.onmouseout();
		if (this.HRoll_onmouseout) return this.HRoll_onmouseout();
	}
}

function HRoll_img_over(){
	this.src = this.HRoll_over_src;
	if (this.HRoll_onmouseover) return this.HRoll_onmouseover();
}

function HRoll_img_out(){
	this.src = this.HRoll_normal_src;	
	if (this.HRoll_onmouseout) return this.HRoll_onmouseout();
}

if (window.before_HRoll_onload == null){
	window.before_HRoll_onload  = window.onload;
	window.onload = InitHRoll;
}
