/*
	A galéria léptetéséhez használt,
	a thumb lista kirakásához és a listában szereplő kis képek css osztályát módosító függvényeket tartalmazó file.
*/

var kepek_elem_azonszam = Array();
var elore = 0;
var hatra = 0;
var max_kep_szam = 0;
var thumb_lista_magassag = 110;
var thumb_lista_takaro_magassag = 133;
var next_aktualis = 0;

// Az img html elemnél megadott alt és title attributumok kiszedése
function altAttributumkiszedese(adiv,sorszam) {
	var j = 0;
	var belso_div = 0;
	var ret_array = Array();
	for (var i=0;i<adiv.childNodes.length;i++) {
		if (adiv.childNodes[i].nodeName == 'DIV') {
			j = j + 1;
			if(j == sorszam){
				var a_elem = adiv.childNodes[i];
				for (var ii=0;ii<a_elem.childNodes.length;ii++) {
					if (a_elem.childNodes[ii].nodeName == 'DIV') {
						var img_elem = a_elem.childNodes[ii];
						for (var iii=0;iii<img_elem.childNodes.length;iii++) {
							if (img_elem.childNodes[iii].nodeName == 'IMG') {
								ret_array[0] = img_elem.childNodes[iii].getAttribute("alt");
								ret_array[1] = img_elem.childNodes[iii].getAttribute("title");
								ret_array[2] = img_elem.childNodes[iii].offsetHeight;
								ret_array[3] = img_elem.childNodes[iii].offsetWidth;
							}
						}
					}
				}
			}
		}	
	}
	return ret_array;
}

// A thumb listát elkészítő függvény
function thumbListaFelparameterezese(div_id) {
	var thumb_szelesseg = 0;
	kepek_elem_azonszam = Array();
	var j;
	var adiv = document.getElementById(div_id);
	if (adiv == undefined) return;
	var adiv_pager = document.getElementById(div_id + '_pager');
	if (adiv_pager != undefined) {
		var ul = adiv_pager.firstChild;
		j = 0;
		
		//kiszedem a paraméterként megadott értéken lévő kép alt és title attributumát
		var alt_erteke = altAttributumkiszedese(adiv,1);
		
		//böngészőtől függően beállítom a html_elemszam_parameter-t, mert az egyes böngészők máshogy kezelik az elemekben lécő childNode-okat.
		var html_elemszam_parameter = 1;
		if(navigator.appName=='Netscape') html_elemszam_parameter = 2;
		
		//a thumb listában lévő képekhez és <a> elemekhez hozzáadom a szükséges kezdő attributumokat
		for (var i=0;i<adiv.childNodes.length;i++) {
			if (adiv.childNodes[i].nodeName == 'DIV' && adiv.childNodes[i].id != div_id + '_pager') {
				var a_elem = ul.childNodes[j];
				for (var ii=0;ii<a_elem.childNodes.length;ii++) {
					if (a_elem.childNodes[ii].nodeName == 'A') {
						a_elem.childNodes[ii].div_id = div_id;
						a_elem.childNodes[ii].i = i;
						a_elem.childNodes[ii].onclick = function() { kepLeptet(this.div_id, this.i); classBeallitas(this.i,this.div_id); return false; };
						
						var img_elem = a_elem.childNodes[ii];
						for (var iii=0;iii<img_elem.childNodes.length;iii++) {
							if (img_elem.childNodes[iii].nodeName == 'IMG') {
								if((navigator.appName=='Netscape' && i==1) || (navigator.appName!='Netscape' && i==0) || (navigator.appName == 'Microsoft Internet Explorer' && i == 1)){
									//6 és 7 explorer-nél szükség van rá, hogy induláskor direktben adjam meg az első thumb kép keretét
									img_elem.childNodes[iii].style.border="2px solid #e05620";
									img_elem.childNodes[iii].setAttribute('id','elso_thumb_kep');
								}
								thumb_szelesseg = thumb_szelesseg + (img_elem.childNodes[iii].offsetWidth) + 4;
							}
						}
					}
				}
				
				kepek_elem_azonszam[j] = i;
				j = j +1;
				max_kep_szam = max_kep_szam + 1;
			}
		}
		adiv_pager.style.display = '';
		
		// beállítom a thumb képeket tartalmazó doboz szélességét
		document.getElementById('slideshow_pager').style.width = thumb_szelesseg + "px";
		
		// beállítom a nagykép melletti lapozók kezdő eseményeit
		elore = kepek_elem_azonszam[(kepek_elem_azonszam.length-1)];
		hatra = kepek_elem_azonszam[1];
		document.getElementById('step_left').onclick = function () { kepLeptet(div_id, elore); classBeallitas(elore,div_id); return false; }
		document.getElementById('step_right').onclick = function () { kepLeptet(div_id, hatra); classBeallitas(hatra,div_id); return false; }
		
		// a kép mezőbe belerakom a képek számát és az elsőhöz tartozó szöveget
		if(alt_erteke[0] == "") {
			alt_erteke[0] = globalcaption;
		}
		document.getElementById('kep_szoveg').innerHTML = '<div class="kep_sorszama">1/' + max_kep_szam + '</div><div class="kep_cim">' + alt_erteke[1] + '</div><div class="kep_komment">' + alt_erteke[0] + '</div>';
	}
}

// a thumb listában szereplő kis képek css osztályát módoítom, a kép körüli keret végett
function classBeallitas(next,div_id) {
	if (next != undefined) {
	next = next_aktualis;
	
	// megkeresem, hogy melyik képen állok
	for (var j=0; j<kepek_elem_azonszam.length; j++) {
		if (kepek_elem_azonszam[j] == next) {
			break;
		}
	}
	
	// leszedem a direktben hozzáadott style attributumot, amit kezdéskor adtam hozzá a border végett
	document.getElementById('elso_thumb_kep').removeAttribute("style");
	
	// amelyiken állok, annak adok css osztályt, a többiről leveszem
	var adiv_pager = document.getElementById(div_id + '_pager');
	var ul = adiv_pager.firstChild;
	var k = 0;
	for (var i=0;i<ul.childNodes.length;i++) {
		if (ul.childNodes[i].nodeName == 'LI') {
			k = k+1;
			if(k==(j+1)){
				//a kiválasztott elemnél beállítom a class-t, a border miatt
				var a_elem = ul.childNodes[i];
				for (var ii=0;ii<a_elem.childNodes.length;ii++) {
					if (a_elem.childNodes[ii].nodeName == 'A') {
						var img_elem = a_elem.childNodes[ii];
						for (var iii=0;iii<img_elem.childNodes.length;iii++) {
							if (img_elem.childNodes[iii].nodeName == 'IMG') {
								img_elem.childNodes[iii].style.border="2px solid #e05620";
							}
						}
					}
				}
				
				var alt_erteke = altAttributumkiszedese(document.getElementById('slideshow'),j+1);
				var viewCookie = document.cookie;
				if(viewCookie.indexOf("2~")!=0){
					var ii = viewCookie.indexOf("2~");
					var jj = viewCookie.indexOf("~2");
					var view = viewCookie.substring(ii+2,jj);
					
					// a kép magasságától függően módosítom a thumb lista pozícióját
					if( view == "hide"){
						document.getElementById('thumb').style.top=(Number(alt_erteke[2])+(thumb_lista_magassag))+"px";
					}
					else{
						document.getElementById('thumb').style.top=(alt_erteke[2]-20)+"px";
					}
					
					// beállítom a lapozók méretét
					document.getElementById('step_left').style.height=Number(alt_erteke[2])+"px";
					document.getElementById('step_right').style.height=Number(alt_erteke[2])+"px";
					
					// beállítom a thumb takaró és a annak az elemnek a pozícióját, amibe a képhez tartózó szövegeket írom
					document.getElementById('kep_szoveg').style.top=(Number(alt_erteke[2])+(thumb_lista_takaro_magassag))+"px";
					document.getElementById('thumb_out').style.top=(Number(alt_erteke[2])+(thumb_lista_takaro_magassag))+"px";
					
					// az aktuális kép szélességét és magasságát értékül adom egy hidden elemnek, a thumb fel és le mozgatásának pozicionálásához
					document.getElementById('slideshow_aktualis_kep_magassag').value = (alt_erteke[2]-20) + '_' + (Number(alt_erteke[2])+(thumb_lista_magassag));
				}
			}
			else{
				// ha az elem nem kiválasztott, akkor a sima szürke border-t kapja meg
				var a_elem = ul.childNodes[i];
				for (var ii=0;ii<a_elem.childNodes.length;ii++) {
					if (a_elem.childNodes[ii].nodeName == 'A') {
						var img_elem = a_elem.childNodes[ii];
						for (var iii=0;iii<img_elem.childNodes.length;iii++) {
							if (img_elem.childNodes[iii].nodeName == 'IMG') {
								img_elem.childNodes[iii].style.border="2px solid #656565";
							}
						}
					}
				}
			}
		}
	}
	
	// a thumb lista alatti mezőbe beírom a képhez megadott alt és title attributumokban levő értéket, és módosítom a számlálót
	var alt_erteke = altAttributumkiszedese(document.getElementById(div_id),(j+1));
	if(alt_erteke[0] == "") {
		alt_erteke[0] = globalcaption;
	}
	document.getElementById('kep_szoveg').innerHTML = '<div class="kep_sorszama">' + (j+1) + '/' + max_kep_szam + '</div><div class="kep_cim">' + alt_erteke[1] + '</div><div class="kep_komment">' + alt_erteke[0] + '</div>';
	}
}

// a normál képek léptetése
function kepLeptet(div_id, next) {
	if (next != undefined) {
		// az összes normál képet láthatóságát kikapcsolom
		var acontainer = document.getElementById(div_id);
		for (var i=0;i<acontainer.childNodes.length;i++) {
			if (acontainer.childNodes[i].nodeName == 'DIV' && acontainer.childNodes[i].id != div_id + '_pager') {
				acontainer.childNodes[i].style.display = 'none';
			}
		}
	
		next_aktualis = next;
	
		// amelyik képre mentem, annak a láthatóságát bekapcsolom és a lapozóhoz szükséges paramétereket beállítom az előtte és utánna levő képekre
		var obj = acontainer.childNodes[next];
		if ( obj != undefined ) obj.style.display = '';
		for (var i=0;i<kepek_elem_azonszam.length;i++) {
			if (kepek_elem_azonszam[i]==next){
				if ( i == 0 ) {
					elore = kepek_elem_azonszam[(kepek_elem_azonszam.length-1)];
				} else {
					elore = kepek_elem_azonszam[(i-1)];
				}
				
				if ( i == (kepek_elem_azonszam.length-1) ) {
					hatra = kepek_elem_azonszam[0];
				} else {
					hatra = kepek_elem_azonszam[(i+1)];
				}
			}
		}
    }
}

function autoKepLeptet(div_id) {
	var url = window.location.href.split("/");
	if (url[4] == "show") {
		var kepId = url[6];
		var tmp_imgs = $$('.slide_item div img');
		var imgs = Array(tmp_imgs.length / 2);
		var j = 0;
		for (var i=1; i<=tmp_imgs.length; i+=2) {
			imgs[j] = tmp_imgs[i];
			j++;
		}
		index = 0;
		var leptet = null;
		var kep_elem_azonszam = null;
		if (Prototype.Browser.IE) {
			leptet = 1;
			kep_elem_azonszam = 1;
		} else {
			leptet = 2;
			kep_elem_azonszam = 3;
		}
		while (getKepId(imgs, index) != kepId && getKepId(imgs, index) != null) {
			kepLeptet(div_id, kep_elem_azonszam);
			classBeallitas(kep_elem_azonszam,div_id);
			kep_elem_azonszam += leptet;
			index++;
		}
	}
}

function getKepId(imgs, index) {
	var images_array = imgs[index];
	if (images_array != undefined) {
		var splitSrc = imgs[index].src.split("/");
		var splitKepNev = splitSrc[8].split("_");
		return splitKepNev[1];
	} else return null;
}


