/**
 * rollover (mouseover) for
 * hotelhnedyvrch.cz
 * @link http://www.codeLab.cz
 * @version $Id: mouse.js,v 1.2 2003/10/06 14:21:19 quip Exp $
 * @copyright 2003
 * @author Miroslav Lachman <ml@quip.cz>
 * @access public
 * @since 06.10.2003
 *
 **/
 
/* event attacher se vola jiz ze souboru menu.js

// Scott Andrew's event attacher
function addEvent(obj, evType, fn){
	// for NN and Mozilla
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, true);
		return true;
	// for MSIE
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		alert("Handler could not be attached");
		return false;
	}
}
*/
addEvent(window, "load", initmenu);

var preloaded = false;
var preloadedPics = new Array();

function initmenu() {
	// inicializace polozek menu - pridani EventListeneru a preload
	var m = document.getElementById("navigace").getElementsByTagName("img");
	var n = document.getElementById("dmenu").getElementsByTagName("img");

	for (var i = 0; i < m.length; i++) {
		// preload obrazku
		var re = /_0\.png$/;	// regExp
		var s = m[i].src;		// originalni src obrazku
		newimg = s.replace(re, '_1.png');	// src noveho obrazku pro preload

		preload(newimg);

		addEvent(m[i], "mouseover", swapImg);
		addEvent(m[i], "mouseout", swapImg);
	}
	
	for (var i = 0; i < n.length; i++) {
		// preload obrazku
		
		var re = /_0\.png$/;	// regExp
		var s = n[i].src;		// originalni src obrazku
		var newimg = s.replace(re, '_1.png');	// src noveho obrazku pro preload

		preload(newimg);

		addEvent(n[i], "mouseover", swapImg);
		addEvent(n[i], "mouseout", swapImg);
	}
	
	preloaded = true;	
}

function preload(file) {
	if (file && document.images) {
		var pic = new Image();
		pic.src = file;
		preloadedPics[preloadedPics.length] = pic;
		return true;
	} else {
		return false;
	}
}

function swapImg(e) {
	if (preloaded) {
		e = fixE(e);
		var s = e.target.src;
		var t = e.type;
		/*
		nutne prelozit jmena eventu podle toho, jak se jmenuji obrazky
		pokud obrazky maji jmeno b_nazev_over.png b_nazev_out.png atd.
		neni pak nutne prekladat nazvy
		
		substr(5) odrizne prvnich 5 znaku (tedy mouse)
		*/
		var suf = "";
		var re = /(_\d\.png)$/;		// regExp = \d je jakekoliv jednociferne cislo
		if (t.substr(5) == "over") {
			suf = "1";
		} 
		if (t.substr(5) == "out") {
			suf = "0";
		}	

//		if (s) {
			e.target.src = s.replace(re, "_" + suf + ".png");	// nahrazeni _0.png a _1.png podle eventu
//		}

		return false;
	} else {
		return false;
	}
}

function fixE(e) {
	if (!e && window.event) e = window.event;
	if (!e.target) e.target = e.srcElement;
	return e;
}
