/*
		Aleksander Domagala
		09.2009
*/

var EuroGlass = {};

//
//		Animacja przyciskow
//
EuroGlass.Button = function () {
	var IE = document.all ? true : false;
	var CLASS_NAME = "cFadingBtn"					// elementy takiej klasy bedziemy 'animowac'
	var ALPHA_STEP = IE ? 10 : 0.05;
	var ALPHA_MAX = IE ? 100 : 1;
	var DELAY = 15;									// opoznienie przy zmianach przezroczystosci w ms
	var POSY_DELTA = 38;								// o ile chcemy przesunac nasz buton
	var POSY_STEP = 4; // parseInt(POSY_DELTA / (ALPHA_MAX / ALPHA_STEP));
	
	var tNodes = [];		// tu beda po inicie() wszystkie nasze buttony
	
	function animate (nodeIndex, direction)
	{
		var node = tNodes[nodeIndex];
		node.EGAlpha += ALPHA_STEP * direction;
		node.EGYPos += POSY_STEP * (-direction);
		
		if (node.EGAlpha < 1.3877787807814458e-16)
		{
			node.EGAlpha = 0;
			clearInterval(node.EGTimer);
			node.EGTimer = null;
		}
		else if (node.EGAlpha > ALPHA_MAX)
		{
			node.EGAlpha = ALPHA_MAX;
			clearInterval(node.EGTimer);
			node.EGTimer = null;
		}

		if (node.EGYPos < 0)
			node.EGYPos = 0;
		else if (node.EGYPos > POSY_DELTA)
			node.EGYPos = POSY_DELTA;
			
		node.style.opacity = node.EGAlpha;
		node.style.filter = "alpha(opacity=" + node.EGAlpha + ")";
		node.style.backgroundPosition = "0 " + node.EGYPos + "px";
	}
	
	function resetBtn (nodeIndex)
	{
		var node = tNodes[nodeIndex];
		
		clearInterval(node.EGTimer);
		node.EGAlpha = 0;
		node.EGTimer = null;
		node.EGYPos = 38;
		
		node.style.opacity = 0;
		node.style.filter = "alpha(opacity=0)";
		node.style.backgroundPosition = "0 38px";
	}
	
	return {
		init: function ()
		{
			tNodes = Skela.getElementsByClassName(CLASS_NAME);

			for (var i=0; i<tNodes.length; i++)
			{
				tNodes[i].EGAlpha = 0;		// dokladamy do kazdego elementu zmienna EGAlpha i ustawiamy ja na 0
				tNodes[i].EGTimer = null;	// dokladamy tez EGTimer ktory bedzie zawieral timer dla tego elementu
				tNodes[i].EGYPos = 38;
				Skela.addEventHandler(tNodes[i], "mouseover", function() { var node = i; return function(){ EuroGlass.Button.mouseOver(node); }; }(), false);
				Skela.addEventHandler(tNodes[i], "mouseout", function() { var node = i; return function(){ EuroGlass.Button.mouseOut(node); }; }(), false);
				//
				// opera10, ie8 i firefox3.0 zapamietuja DOM'a dla przycisku back, ale najwyrazniej
				// wszelkie setInterval() zostaja wykastrowane.
				// jesli nie zresetujemy butona po jego kliknieciu, ale jeszcze przed przejsciem na
				// nowa strone to po kliknieciu back bedziemy mieli butona w stanie mouseover
				// (czyli podswietlonego), ale nie zanimuje sie on automatycznie do stanu mouseout.
				//
				Skela.addEventHandler(tNodes[i], "click", function() { var node = i; return function() { resetBtn(node); }; }(), false );
			}
		},
		
		mouseOver: function (nodeIndex)
		{
			clearInterval(tNodes[nodeIndex].EGTimer);
			tNodes[nodeIndex].EGTimer = setInterval(function() { animate(nodeIndex, 1); }, DELAY);
		},
		
		mouseOut: function (nodeIndex)
		{
			clearInterval(tNodes[nodeIndex].EGTimer);
			tNodes[nodeIndex].EGTimer = setInterval(function() { animate(nodeIndex, -1); }, DELAY);
		}
	};
} (); ///////////////////////////////////////////////////////////////////////////////////


//
//		Animacja tekstu
//
//			
//
EuroGlass.AnimText = function() {
	var IE = document.all ? true : false;
	var ALPHA_MAX = IE ? 100 : 1;
	var ALPHA_STEP = IE ? 10 : 0.05;
	var ALPHA_DELAY = 20;					// opoznienie w zmianach przezroczystosci tekstu
	var MOVE_DELAY = 20;						// opoznienie ruchu tekstu
	var VISIBLE_DELAY = 20;					// tyle bedzie widoczny tekst po osiagnieciu docelowej poz.
	
	var tNodes = [];							// te elementy beda animowane
	
	return {
		init: function ()
		{
			tNodes['swidnica'] = getElementById('idSwidnica');
			tNodes['zabkowice'] = getElementById('idZabkowice');
			tNodes['zabkowice'] = getElementById('idZabkowice');
			tNodes['zabkowice'] = getElementById('idZabkowice');
		},
		
		animL2R: function ()
		{
		},
		
		animR2L: function ()
		{
		},
		
		animate: function ()
		{
		}
	};

} (); ///////////////////////////////////////////////////////////////////////////////////


EuroGlass.init = function()
{
	EuroGlass.Button.init();

	// Inicjujemy GoogleMapsy
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("idMapaSwidnica"));
		var location = new GLatLng(50.844482,16.505112)
		var marker = new GMarker(location);
		
		map.setCenter(location, 15);
		map.addOverlay(marker);
		
		var map2 = new GMap2(document.getElementById("idMapaZabkowice"));
		var location2 = new GLatLng(50.592446,16.826334)
		var marker2 = new GMarker(location2);
		
		map2.setCenter(location2, 15);
		map2.addOverlay(marker2);
	}
}

window.onload = EuroGlass.init;
window.onunload = GUnload;




















