evt.add(window, 'load', prevent_form_reset, false); // reverse order for IE
evt.add(window, 'load', login_focus, false);


function reload() {
	window.location.href = window.location.href;
	// window.location.reload(); // znovu nacitava obrazky atd. ako F5
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function e(id) {
	return document.getElementById(id);
}

function isEmail(str) {
	return !str.search(/^[^.]+(\.[^.]+)*@([^.]+[\.])+[a-z]{2,4}$/);
}

function checkExt(str, ext) {
	return str.substr(str.lastIndexOf('.')+1).toLowerCase() == ext;
}

function hide(id) {
	var el = e(id);
	if (el) {
		el.style.display = 'none';
	}
}

function show(id) {
	var el = e(id);
	if (el) {
		el.style.display = 'block';
	}
}

function collapse(id) {
	var el = e(id);
	if (el) {
		el.style.display = (el.style.display == 'block') ? 'none' : 'block';
	}
}

function destroy(id) {
	var el = e(id);
	if (el) el.parentNode.removeChild(el);
}

// Schova element el a nastavi do odkazu re navratovu hodnotu, ktora znovu element el ukaze po kliknuti
function schovaj(el, re) {
	var d = e(el);
	var a = e(re);
	if (d && a) {
		d.style.display = 'none'; // hide(d);
		a.onclick = function() {
			d.style.display = 'block';
			return false;
		}
	}
}


/* CUSTOM */
function prevent_form_reset() {
	var forms = document.getElementsByTagName('form');
	for (var i=0; i < forms.length; i++) {
		forms[i].onreset = function() {return confirm_abort();};
	}
}

function confirm_abort() {
	return confirm('Naozaj chcete resetovať formulár?\nZmažú sa všetky vyplnené údaje.');
}

/* LOGIN */
function login_focus() {
	var login_form = document.getElementById('login'); // IE problem: nenacitana funckia e()
	if (login_form) {
		try {
			var elemenyty = login_form.elements;
			if (elemenyty) {
				login_form.elements[1].focus();
			}
		} catch(e) {
			alert(e.name + ': ' + e.message);
		}
	}
}

var skusToRaz = false;
function kontrola_login(t) {
	if (!t.elements[1].value.trim().length) {
		alert('Pre prihlásenie prosím zadajte email, ktorý ste uviedli pri registráci.');
		t.elements[1].focus();
		return false;
	}
	if (!t.elements[2].value.trim().length) {
		if(skusToRaz) alert('Zadajte prosím heslo.');
		else skusToRaz = true;
		t.elements[2].focus();
		return false;
	}
}

function needLogin() {
	alert('Táto funkcia je prístupná iba registrovaným členom.\nAk ste registrovaný, prihláste sa prosím. Ak nie ste registrovaný, zaregistrujte sa.');
}

// profil info
function piNeedLogin() {
	alert('Rozšírené informácie o členovi sú k dispozící len pre prihlásených členov.\nAk ste registrovaný, prihláste sa prosím. Ak nie ste registrovaný, zaregistrujte sa.');
	return true;
}

/* AKCIE */
// dlasie admin funkcie v poradie.js
function ukaz_pobocky(id_firmy) {
	var firmy = e('pobocky').getElementsByTagName('DIV');
	for (var i=0; i < firmy.length; i++) {
		if (firmy[i].id == 'pobocky_'+id_firmy) {
			firmy[i].style.display = 'block';
		} else {
			firmy[i].style.display = 'none';
		}
	}
}

function akcie_redirect(t) {
	destroy('rozsirene');
	destroy('rozsirene_2');
	var url_kat = Array('/akcie/','/akcie/letaky');
	for (var i=0; i<t.length; i++) {
		if (t.options[i].selected) {
			window.location = url_kat[i];
		}
	}
}


/* TOVAR */
function ukaz_pobocky_kategorie(id_firmy) {
	var firmy;

	firmy = e('pobocky').getElementsByTagName('DIV');
	for (var i=0; i < firmy.length; i++) {
		if (firmy[i].id == 'pobocky_'+id_firmy) {
			firmy[i].style.display = 'block';
		} else {
			firmy[i].style.display = 'none';
		}
	}

	firmy = e('kategorie').getElementsByTagName('DIV');
	for (var i=0; i < firmy.length; i++) {
		if (firmy[i].id.indexOf('kategorie_') != -1) {
			if (firmy[i].id == 'kategorie_'+id_firmy) {
				firmy[i].style.display = 'block';
			} else {
				firmy[i].style.display = 'none';
			}
		}
	}

	destroy('step_2');
	var submit_button = e('submit');
	if (submit_button) {
		submit_button.innerHTML = 'Odoslať';
	}
}

function kontrola_nova_polozka(t) {
	var error = null;

	if (t.firma) {
		var id_firmy = t.firma.options[t.firma.selectedIndex].value * 1;
		if (id_firmy == 0) {
			error = 'Pred odoslaním musíte vybrať firmu.';
		} else {
			var selected = false;
			var kategorie = e('kategorie_'+id_firmy).getElementsByTagName('INPUT');
			if (kategorie) {
				for (var i=0; i < kategorie.length; i++) {
					if (kategorie[i].type == 'checkbox' && kategorie[i].checked) {
						selected = true;
						break;
					}
				}
			}
			if (!selected) {
				error = 'Vyznačte všetky kategórie do ktorých spadá tovar, ktorý chcete pridať.';
			}
		}
	}

	if (t.cena && !isInt(t.cena.value)) {
		error = 'Cena musí byť celé číslo (v Eurách).';		
	}

	if (t.tovar) {
		selected = false;
		if (t.tovar.type == 'radio') {
			selected = t.tovar.checked;
		} else {
			// node list
			for (var i=0; i < t.tovar.length; i++) {
				if (t.tovar[i].checked) {
					selected = true;
					break;
				}
			}
		}
		if (!selected) {
			error = 'Nevybrali ste žiadny tovar.';
		}
	}

	if (t.poznamka && t.poznamka.value.length > 250) {
		error = 'Poznámka môže obsahovať najviac 250 znakov. (znakov navyše: '+ (t.poznamka.value.length - 250) +')';
	}

	if (error) {
		alert(error);
		return false;
	} else {
		return true;
	}
}

/* POSTA */
function vymaz_konverzacie(t) {
	nic = true;
	for(var i=0; i < t.elements.length; i++) {if(t.elements[i].checked) {nic = false; break;}}
	if(nic) {alert('Neoznačili ste žiadnu konverzáciu.'); return false;}
	return confirm('Naozaj si prajete zmazať označené konverzácie?\nZmazané budú všetky prijaté aj odoslané pošty v konverzácii.');
}

function oznac_vsetko(id, stav) {
	var el = e(id);
	if (el) {
		var inputs = el.getElementsByTagName('INPUT');
		for (var i=0; i < inputs.length; i++) {
			if (inputs[i].type == 'checkbox') inputs[i].checked = stav;
		}
	}
}

function oznac_inverzne(id) {
	var el = e(id);
	if (el) {
		var inputs = el.getElementsByTagName('INPUT');
		for (var i=0; i < inputs.length; i++) {
			if (inputs[i].type == 'checkbox') inputs[i].checked = !inputs[i].checked;
		}
	}
}

/* zatial nikde nepouzite :
function kontrola(t) {
	for(var i=0; i < t.elements.length; i++) {
		if(t.elements[i].value.trim().length < 1) {
			alert('Pred odoslaním prosím vypľnte všetky polia.');
			return false;
		}
	}
}
*/

function kontrola_vyhladavanie(t) {
	dlzka = t.elements[1].value.trim().length;
	if (dlzka < 3 || dlzka > 15 || t.elements[1].value == 'Vyhľadaj v konverzácii') {
		alert('Musíte zadať minimálne 3 znaky, maximálne 15.\nPodrobnosti o tom ako funguje toto vyhľadávanie nájdete v sekcii nápoveda.');
		return false;
	}
}

function kv_posta(t) {
	if (t.zoradit.value == 0) {
		if (t.poradie.value == 0) {
			alert('Vyberte prosím kritérium, podľa ktorého si prajete konverzácie zoradiť.');
			return false;
		}
		if (t.fulltext.value.trim == '' || t.fulltext.value.length > 11) {
			alert('Zadajte prosím ste kritéria pre vyhľadávanie. \n(Nick člena môže mať najviac 12 znakov.)');
			return false;
		}
	}
	return true;
}

var odoslane = false;
function kontrola_posta(t, limit) {
	if(odoslane) {
		alert('Poštu ste už raz odoslali.');
		return false;
	}
	znakov = t.text_posta.value.trim().length;
	if (znakov < 1) {
		alert('Nevyplnili ste text na odoslanie.');
		e('text_posta').focus();
		return false;
	}
	if (znakov > limit) {
		znaky(e('text_posta'), limit);
		return false;
	}
	odoslane = true;
	return true;
}

function ce(t,e) {
	if(e.ctrlKey && e.keyCode == 13) if(kontrola_posta(t.parentNode)) t.parentNode.submit();
}

var znakov = 0;
var znakov_zapisanych = 0;

function vypis() {
	e('pocet_znakov').innerHTML = znakov_zapisanych = znakov;
}

function debug(str) {
	e('infobox').innerHTML += str + ' ';
}

function znaky(t, limit) {
	if (t.value.length > limit) {
		alert('Text môže obsahovať iba '+limit+' znakov.');
		t.value = t.value.substr(0, limit);
		t.focus();
		znakov = limit;
	} else {
		znakov = t.value.length;
	}
	if (znakov != znakov_zapisanych) {
		vypis();
	}
}

var p1 = Array('najnovšie','najnovšie','abc...','ženy','najviac','online');
var p0 = Array('najstaršie','najstaršie','zyx...','muži','najmenej','offline');
function poradie_text(id) {
	id = id*1; // prevent bad argument
	e('por_1').innerHTML = p1[id];
	e('por_0').innerHTML = p0[id];
}

function addSmile(code) {
	var t = e('text_posta');
	if (t) {
		t.value += ' {'+code+'} ';
		t.focus();
	}
}

function preventMessageLoose() {
	var t = e('text_posta');
	if (t && t.value != '') {
		return confirm('Máte rozpísanú poštu. Ak odídete zo stránky, napísaný text stratíte. Pokračovať?');
	} else {
		return true;
	}
}

/* FOTKY */
function confirm_delete_album() {
	return confirm('Naozaj si prejete vymazať celý album?\nVymazané budú aj všetky fotografie, ktoré obsahuje a všetky ich komentáre.');
}

function confirm_delete_foto() {
	return confirm('Naozaj si prejete vymazať fotografiu?\nVymazané budú aj všetky komentáre. Táto akcia je nevratná.');
}

function passform(t) {
	var action = t.href;
	var h4 = t.parentNode.parentNode.getElementsByTagName('h4')[0];
	if (h4) {
		var clasa = h4.className;
		var ikona = h4.innerHTML;
		var theData = '<h4 class="'+clasa+'">'+ikona+'</h4><h5>Pre prístup k albumu musíte zadať heslo!</h5><div class="info">Heslo Vám poskytne vlastník albumu.</div><form action="'+action+'" method="post"><small>ZADAJTE HESLO</small><br /><input type="password" name="apass" /><br /><input type="submit" class="button" value="potvrdiť" /></form>';
		t.parentNode.parentNode.innerHTML = theData;
	}
}

function komentuj() {
	e('a_komentuj').style.display = 'none';
	e('form_komentuj').style.display = 'block';
	e('text_posta').focus();
}

function uzJeKoment() {
	alert('Poveolený počet komentárov ste už vyčerpali. Viac krát môžete komentovať iba vlastné fotografie.');
}

function kontrola_vymaz_komenty() {
	nic = true;
	var inputy = e('komenty').getElementsByTagName('INPUT');
	for(var i=0; i < inputy.length-2; i++) {if(inputy[i].checked) {nic = false; break;}}
	if (nic) {alert('Neoznačili ste žiadny komentár na vymazanie.'); return false;}
	var q = 'Naozaj si prajete zmazať všetky označené komentáre?';
	if (e('blacklist').checked) {
		q += '\n\nVybraní členovia budú pridaní na čiernu listinu a nebude im viac povolené komentovať\nžiadne Vaše fotografie.';
	}
	return confirm(q);
}

function check_all() {
	var vsetky = e('oznac_vsetky').checked;
	var inputy = e('komenty').getElementsByTagName('INPUT');
	for(var i=0; i < inputy.length-2; i++) if (inputy[i].type == 'checkbox') inputy[i].checked = vsetky;
}

function vypisLokality(t) {
	var vypis = '<strong>Vyznačené lokality:</strong>';
	var pocet = 4;
	if (t.options[0].selected) {
		vypis += '<br />' + t.options[0].text;
	} else {
		for (var i=1; i < t.options.length; i++) {
			if (t.options[i].selected) {
				vypis += '<br />' + t.options[i].text;
				pocet++;
			}
		}
		if (t.size < pocet) {
			t.size = pocet;
		}
	}
	e('vyznacene_lokality').innerHTML = vypis;
}

function zvacsit() {
	e('lokalita').size += 5;
	return false;
}

/* burza */
function setFoto(t) {
	e('main_foto').src = t.src.replace('_small','');
}

function burza_redirect(t) {
	var url_kat = Array('','auto-moto','reality','elektro','rozne','cestovanie','sluzby');
	for (var i=0; i<t.length; i++) {
		if (t.options[i].selected) {
			window.location = '/burza/'+url_kat[i];
		}
	}
}

/* praca */

function praca_redirect(t) {
	var url_kat = Array('','ponuka','brigada');
	for (var i=0; i<t.length; i++) {
		if (t.options[i].selected) {
			window.location = '/praca/'+url_kat[i];
		}
	}
}

function kontrola_nova_praca() {
	var err = '';

	if (!e('firma').value)
		err += '\n - Nie je zvolená firma.';

	if (e('pracovne_miesto').value.trim().length < 5)
		err += '\n - Nie je korektne vyplnené pracovné miesto. (min. 5 zn.)';

	if (e('napln_prace').value.trim().length < 5)
		err += '\n - Nie je korektne vyplnená náplň práce. (min. 5 zn.)';

	if (!e('lokalita').value)
		err += '\n - Nie je zvolená žiadna lokalita';


	if (err != '') {
		alert('Pred odoslaním prosím opravte tieto chyby:\n\n' + err);
		return false;
	}
	return true;
}

function kontrola_nova_brigada() {
	return kontrola_nova_praca();
}

function check_date() {
	
}

function isInt(str) {
	var reg = /^\d+$/;
	return reg.test(str);
}

// overovanie vstupu pre INPUT ak ma byt integer
function jeCislo(t) {
	if (!isInt(t.value)) {
		alert('"'+t.value+'" nie je celé číslo.\nPovolená je iba numerická hodnota, bez medzier či čiarok.');
		new_val = parseInt(t.value.replace(/\s/g, ''));
		t.value = isNaN(new_val) ? '' : new_val;	
	} else {
		t.value = t.value * 1;
	}
}

// kontrola formularov
function kontrola_novy_album(t) {
	if (t.nazov.value.trim().length < 2) {
		alert('Nevyplnili ste názov albumu korektne.\nJe potrebné zadať minimálne 2 znaky.');
		return false;
	} else if (t.kategoria.value == 0) {
		alert('Nevybrali ste kategóriu.');
		return false;
	} else {
		return true;	
	}
}

function kontrola_novy_inzerat(t) {
	var n = "\n";
	var c = 0;
	var err = [];

	for (var i=0; i<t.elements.length; i++) {
		switch (t.elements[i].name) {
			case 'data[lokalita]':
				if (t.elements[i].value == 0) err[c++] = '- Nebola zvolená lokalita.';	
				break;
			case 'data[podkat]':
				if (t.elements[i].value == 0) err[c++] = '- Nebola zvolená podkategória.';	
				break;
			case 'data[nadpis]':
				if (t.elements[i].value.trim().length < 3) err[c++] = '- Nebol zadaný nadpis (typ). Zadajte minimálne 3 znaky.';
				break;
			case 'data[cena]':
				if (t.elements[i].value != '' && !isInt(t.elements[i].value)) err[c++] = '- Zadaná cena nie je celé číslo.';
				break;
			case 'data[21][0]':
				if (t.elements[i].value < 1) err[c++] = '- Nebola zvolená transakcia.';
				break;
		}
	}

	if (err.length) {
		alert('Pri vyplňovaní nastali tieto chyby:' + n + n + err.join(n));
		return false;
	} else {
		return true;
	}
}

function kontrola_novy_tovar(t) {
	var c = 0;
	var err = ['Pri vyplňovaní nastali tieto chyby:'];

	if (t.nazov.value.trim().length < 3 || t.nazov.value.trim().length > 100) {
		err[++c] = ' - Názov tovaru musí mať aspoň 3 znaky, najviac 100.';
	}

	var category_selected = false;
	var ch = e('vyber_kategorii').getElementsByTagName('INPUT');
	for (var i=0; i<ch.length; i++) {
		if (ch[i].checked) {
			category_selected = true;
			break;
		}
	}
	if (!category_selected) {
		err[++c] = ' - Musíte vybrať aspoň 1 kategóriu.';
	}

	/*
	// files

	var pdf = t.binary_pdf.value;
	if (pdf != '' && !checkExt(pdf,'pdf')) {
		err[++c] = ' - Brožúra musí byť typu PDF.';
	}

	if (t.binary_img_0.value == '') {
		err[++c] = ' - Hlavný obrázok musí byť zadaný.';
	}

	for (var i=1; i<6; i++) {
		var src = eval('t.binary_img_'+i+'.value');
		if (src != '' && !checkExt(src,'jpg') && !checkExt(pdf,'jpeg')) {
			err[++c] = ' - Obrázok musí byť typu JPG / JPEG.';
		}
	}
	*/

	if (c) {
		alert(err.join("\n"));
		return false;
	} else {
		return true;
	}
}

