// JavaScript Document
// OPIS DATOTEKE: Javascript funkcije, ki jih uporabljam na celotni spletni strani

// SKUPNE SPREMENLJIVKE


// FUNKCIJE
// FUNKCIJA: vrne referenco na objekt z id-jem id. Funkcija je nastala zaradi nekompatibilnosti browserjev, nadomesti getElementById
function getElement(id) {
	if(document.all) {
		return document.all[id];
	} else {
		return document.getElementById(id);
	}
}


// FUNKCIJA: vrne x položaj objekta glede na dokument
function findPosX(obj) {
	var curleft = 0;
	if(obj.offsetParent)
			while(1) 
			{
				curleft += obj.offsetLeft;
				if(!obj.offsetParent)
					break;
				obj = obj.offsetParent;
			}
	else if(obj.x)
			curleft += obj.x;
	return curleft;
}


// FUNKCIJA: vrne y položaj objekta glede na dokument
function findPosY(obj) {
	var curtop = 0;
	if(obj.offsetParent)
			while(1)
			{
				curtop += obj.offsetTop;
				if(!obj.offsetParent)
					break;
				obj = obj.offsetParent;
			}
	else if(obj.y)
			curtop += obj.y;
	return curtop;
}


// FUNKCIJA: Skrije oz. prikaže element. Parameter show_hide je lahko "show", da element prikaže, ali hide, da ga skrije. Če ne podaš parametra, element skrije ali prikaže glede na to, ali je že skrit ali prikazan
function ShowHide(ImePolja, show_hide) {
	if(show_hide=="show") {
		getElement(ImePolja).style.display = ""
	} else if(show_hide=="hide") {
		getElement(ImePolja).style.display = "none"
	} else {
		if(getElement(ImePolja).style.display == "none") {
			getElement(ImePolja).style.display = ""
		} else {
			getElement(ImePolja).style.display = "none"
		}
	}
}


// FUNKCIJA: od-označi označeno besedilo na strani
function deselect_text() {
	if (document.selection) document.selection.empty(); 
	else if (window.getSelection) window.getSelection().removeAllRanges();
}


// FUNKCIJA: označi nek element, da ga uporabnik lahko prekopira v clipboard
function select_object(object) {
	// najprej odznači morebitno označeno besedilo
	deselect_text();
	// potem označi besedilo
	if (document.selection) {
		var range = document.body.createTextRange();
		range.moveToElementText(object);
		range.select();
	} else if (window.getSelection) {
		var range = document.createRange();
		range.selectNode(object);
		window.getSelection().addRange(range);
	}
}







// STARA KODA

/* Skupne spremenljivke */
var v_innerHTML = "";  // potrebno za razdelitev na dva stolpca

// funkcija za začetek urejanja 
var edit_object = 0;  // če čaka na klik za urejanje, je to vrednost setIntervala
var edit_color = "#FFFFFF";  

function edit_start() {
	document.body.style.cursor="default";
	getElement("edit_za_urejanje").innerHTML = '<strong>Zdaj kliknite na elementu, ki ga želite urediti.</strong> <a class="text_small" href="javascript:edit_stop()">(prekliči)</a>';
	getElement("edit_za_urejanje").style.display="";
	edit_object=setInterval("edit_blink()", 800);
}

function edit_stop() {
	clearInterval(edit_object);
	edit_object=0;
	document.body.style.cursor="auto";
	getElement("edit_za_urejanje").innerHTML = '<a href="javascript:edit_start();" title="Urejanje levega in desnega stolpca, glave, noge in ostalih delov strani.">uredi ostale dele strani</a>';
	getElement("edit_za_urejanje").style.color="#FFFFFF";
	getElement("edit_za_urejanje").style.display="none";
}

function edit_hide() {
	clearInterval(edit_object);
	edit_object=0;
	document.body.style.cursor="auto";
	ShowHide('edit_box');
	ShowHide('edit_podlaga');
}

function edit_blink() {
	if(edit_color=="#000000") {
		edit_color="#BBBBBB";
	} else {
		edit_color="#000000";
	}
	getElement("edit_za_urejanje").style.color=edit_color;
}

function edit_cancel(link, target) {
	if(!target) {
		target = "_parent";
	}
	// zaključi urejanje in se vrni na stran 'link'
	window.open(link, target);
}

function edit_dodatne_nast() {
	if(getElement("edit_dodatne_nast").style.display == "none") {
		getElement("edit_dodatne_nast").style.display = "";
	} else {
		getElement("edit_dodatne_nast").style.display = "none";
	}
}


// Skrije oz. prikaže element. show_hide je lahko "show", da element prikaže, ali hide, da ga skrije. Če ne podaš parametra, element skrije ali prikaže glede na to, ali je že skrit ali prikazan
function ShowHide(ImePolja, show_hide) {
	if(show_hide=="show") {
		getElement(ImePolja).style.display = ""
	} else if(show_hide=="hide") {
		getElement(ImePolja).style.display = "none"
	} else {
		if(getElement(ImePolja).style.display == "none") {
			getElement(ImePolja).style.display = ""
		} else {
			getElement(ImePolja).style.display = "none"
		}
	}
}

// Preveri veljavnost e-mail naslova
function veljaven_email(email) {
	if (email==null || email.length < 5) {  // preveri dolžino podatka, mora biti vsaj 5 znakov (a@b.c)
		return false;
	} else if (email.indexOf("@") < 1 || email.indexOf("@") != email.lastIndexOf("@")) { // vsebovati mora natančno eno afno in ta ne sme biti na prvem mestu
		return false;
	} else if (email.lastIndexOf(".") < email.indexOf("@") + 2 ) {  // zadnja pika mora biti vsaj dva znaka za afno, kar hkrati pomeni, da afna ne more biti zadnji znak
		return false;
	} else if (email.indexOf("..") >= 0) { // ne sme vseboviti dveh zaporednih pik
		return false;
	} else if (email.indexOf(".") == email.length) {  // pika ne sme biti zadnji znak
		return false;
	} else {
		return email_veljavni_znaki(email);
	}
}

function email_veljavni_znaki(email) {
  var veljaven = true;
  var veljavni_znaki = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var v_i = 0; v_i < email.length; v_i++) {
    var v_znak = email.charAt(v_i).toLowerCase();
    if(veljavni_znaki.indexOf(v_znak) == -1) {
			veljaven = false;
			break;
		}
  }
  return veljaven;
}


function split( delimiter, string ) {
	// prepisano iz bivše __php.js
  return explode( delimiter, string );
}

function strip_tags(str, allowed_tags) {
    // prepisano iz bivše __php.js
    // 
    var key = '', allowed = false;
    var matches = [];
    var allowed_array = [];
    var allowed_tag = '';
    var i = 0;
    var k = '';
    var html = '';

    var replacer = function(search, replace, str) {
        return str.split(search).join(replace);
    };

    // Build allowes tags associative array
    if (allowed_tags) {
        allowed_array = allowed_tags.match(/([a-zA-Z]+)/gi);
    }
	
    str += '';

    // Match tags
    matches = str.match(/(<\/?[\S][^>]*>)/gi);

    // Go through all HTML tags
    for (key in matches) {
        if (isNaN(key)) {
            // IE7 Hack
            continue;
        }

        // Save HTML tag
        html = matches[key].toString();

        // Is tag not in allowed list? Remove from str!
        allowed = false;

        // Go through all allowed tags
        for (k in allowed_array) {
            // Init
            allowed_tag = allowed_array[k];
            i = -1;

            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
            if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}

            // Determine
            if (i == 0) {
                allowed = true;
                break;
            }
        }

        if (!allowed) {
            str = replacer(html, "", str); // Custom replace. No regexing
        }
    }

    return str;
}


// Razdeli besedilo v dva stolpca. Pogoji: 
//	- tabela z eno vrstico in dvema stolpcema, 
//  - td drugega stolpca mora biti prazen (niti nbsp-ja ne sme biti v njem).
// Funkcija se kliče iz definicije <body onresize="dva_stolpca('leviStolpec', 'desniStolpec', 'tabela')" onload="dva_stolpca('leviStolpec', 'desniStolpec', 'tabela')"> in v tej definiciji moraš napisati id levega stolpca, ki vsebuje besedilo (leviStolpec), lahko pa tudi id desnega stolpca (default = "desniStolpec") in ime tabele (default="tabela").
function dva_stolpca(leviStolpec, desniStolpec, tabela) {
	if(desniStolpec==null || desniStolpec=='') {desniStolpec = "desniStolpec"; }
	if(tabela==null || tabela=='') {tabela = "tabela"; }
	
	var v_min_sirina = 800; // najmanjša širina, da se izpišeta dva stolpca
	var v_min_znakov_clear_text = 150 // najmanjše število čistega besedila, da se sploh opravi deljenje
	var v_min_znakov_v_levem = 150 // najmanjše število znakov, ki se še lahko pojavi v levem stolpcu
	var v_min_znakov_v_desnem = v_min_znakov_v_levem * 0.75 // najmanjše število znakov, ki se še lahko pojavi v desnem stolpcu
	if(v_innerHTML=="") {
		v_innerHTML = getElement(leviStolpec).innerHTML; // v_innerHTML je vedno lahko samo vsebina levega stolpca, ker v trenutku, ko se ta spremenljivka polni, v desnem ni nič
	}
	var v_dolzina = v_innerHTML.length;
	var v_dolzina_clear_text = strip_tags(v_innerHTML).length;
	var v_sredina = parseInt(v_dolzina * 0.42); // v osnovi naj bo manj kot polovica, ker od te točke naprej išče konec odstavka
	var v_dolzina_prvi = -1;
	var v_zakljucek = "";
	if(getElement(tabela).offsetWidth > v_min_sirina && v_dolzina > v_min_znakov_v_levem * 2 && v_dolzina_clear_text >= v_min_znakov_clear_text) {
		// poišči elemente, kjer bi lahko zaključil prvi del

		v_zakljucek = "<p>&nbsp;</p>";
		v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_sredina) + v_zakljucek.length;
		if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
			
		if(v_dolzina_prvi == -1) {
			v_zakljucek = "</p>";
			v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_sredina) + v_zakljucek.length;
			if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
		}

		if(v_dolzina_prvi == -1) { 
			v_zakljucek = "<br><br>";
			v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_sredina) + v_zakljucek.length;
			if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
		}

		if(v_dolzina_prvi == -1) { 
			v_zakljucek = "<br>";
			v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_sredina) + v_zakljucek.length;
			if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
		}

		if(v_dolzina_prvi == -1) { 
			v_zakljucek = "<br/>";
			v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_sredina) + v_zakljucek.length;
			if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
		}

		if(v_dolzina_prvi == -1) { 
			v_zakljucek = "<br />";
			v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_sredina) + v_zakljucek.length;
			if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
		}

		if(v_dolzina_prvi == -1) { 
			v_zakljucek = ". ";
			v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_sredina) + v_zakljucek.length;
			if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
		}

		if(v_dolzina_prvi == -1) { 
			v_zakljucek = " ";
			v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_sredina) + v_zakljucek.length;
			if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
		}
	}
		
	// preveri, ali je sredina slučajno sredi seznama - v tem primeru postavi delitev na konec seznama
	if(v_dolzina_prvi > -1) { 
		v_zacetek = "<ul>";
		v_zakljucek = "</ul>";
		if(   v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_dolzina_prvi) > 0 ) {
			// obstaja v_zakljucek, preveri, ali obstaja tudi v_zacetek in ali je v_zakljucek pred v_zacetek
			if(v_innerHTML.toLowerCase().indexOf(v_zacetek, v_dolzina_prvi) > 0) {
				// v_zacetek obstaja
				if(v_innerHTML.toLowerCase().indexOf(v_zacetek, v_dolzina_prvi) < v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_dolzina_prvi) ) {
					// v_zacetek je v kodi pred v_zakljucek, torej taga ni potrebno zaključiti
				} else {
					// v_zacetek je v kodi ZA v_zakljucek, torej gre za nov v_zacetek in je prejsnji tag potrebno zaključiti
					v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_dolzina_prvi) + v_zakljucek.length;
					if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
				}
			} else {
				// v_zacetek ne obstaja, torej je potrebno tag zakljuciti
				v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_dolzina_prvi) + v_zakljucek.length;
				if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
			}
		}
	}
	if(v_dolzina_prvi > -1) { 
		v_zacetek = "<ol>";
		v_zakljucek = "</ol>";
		if(   v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_dolzina_prvi) > 0 ) {
			// obstaja v_zakljucek, preveri, ali obstaja tudi v_zacetek in ali je v_zakljucek pred v_zacetek
			if(v_innerHTML.toLowerCase().indexOf(v_zacetek, v_dolzina_prvi) > 0) {
				// v_zacetek obstaja
				if(v_innerHTML.toLowerCase().indexOf(v_zacetek, v_dolzina_prvi) < v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_dolzina_prvi) ) {
					// v_zacetek je v kodi pred v_zakljucek, torej taga ni potrebno zaključiti
				} else {
					// v_zacetek je v kodi ZA v_zakljucek, torej gre za nov v_zacetek in je prejsnji tag potrebno zaključiti
					v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_dolzina_prvi) + v_zakljucek.length;
					if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
				}
			} else {
				// v_zacetek ne obstaja, torej je potrebno tag zakljuciti
				v_dolzina_prvi = v_innerHTML.toLowerCase().indexOf(v_zakljucek, v_dolzina_prvi) + v_zakljucek.length;
				if(v_dolzina_prvi < v_min_znakov_v_levem || (v_dolzina - v_dolzina_prvi) < v_min_znakov_v_desnem) {v_dolzina_prvi = -1;}
			}
		}
	}
	
	
	if(v_dolzina_prvi!=-1) {
		// prestavi del besedila v desni stolpec
		getElement(desniStolpec).innerHTML = v_innerHTML.substr(v_dolzina_prvi);
		getElement(leviStolpec).innerHTML = v_innerHTML.substr(0, v_dolzina_prvi);
		// nastavi širino levega in desnega stolpca na 50%
		getElement(desniStolpec).width = "50%";
		getElement(leviStolpec).width = "50%";
		// nastavi navpišno poravnavo stolpev na top, če slučajno še ni bila
		getElement(desniStolpec).valign = "top";
		getElement(leviStolpec).valign = "top";
		// nastavi razmik med stolpcema
		getElement(desniStolpec).style.paddingLeft = "8px";
		getElement(leviStolpec).style.paddingRight = "8px";
	} else {
		// Prestavi vso besedilo iz desnega stolpca v levega
		getElement(leviStolpec).innerHTML = v_innerHTML;
		getElement(desniStolpec).innerHTML = "";
		// nastavi širino levega in desnega stolpca
		getElement(leviStolpec).width = "100%";
		getElement(desniStolpec).width = "";
		// nastavi razmik med stolpcema
		getElement(desniStolpec).style.paddingLeft = "0px";
		getElement(leviStolpec).style.paddingRight = "0px";
	}
}

// odpošlje formo, če pritisneš enter
function submit_on_enter(forma,e) {
	var keycode;
	if (window.event) {
		keycode = window.event.keyCode;
	} else if (e) {
		keycode = e.which;
	} else {
		return true;
	}
	
	if (keycode == 13) {
	 forma.submit();
	 return false;
	} else {
	 return true;
	}
}

function link_prefix() {
	// doda prefix v vsak <a> element, ki ne vsebuje <img taga in ni classa no_prefix, hkrati pa tudi noben od njegovih staršev ni classa no_prefix
	var links=document.getElementsByTagName('a') 
	for (var i=0;i<links.length;i++){ 
		var link_HTML = links[i].innerHTML
		no_prefix = false;
		if(links[i].className=="no_prefix") {
			no_prefix = true;
		} else {
			stars=links[i];
			while(stars=stars.parentNode) {
				if(stars.className=="no_prefix") {
					no_prefix = true;
					break;
				}
			}
		}
		
		if(link_HTML.match(/<img/i)==null && no_prefix==false && links[i].innerHTML!="") {
			links[i].innerHTML = $link_prefix + links[i].innerHTML + $link_suffix;
		}
	}
}

function follow_link(link) {
	window.location = link;
	// window.open(link);
	return false;
}

function format_currency(objekt) {
	objekt.value = objekt.value.replace(/\./g, ",");	
}

// stara funkcija trim
// function trim(str) {
	// funkcija je prepisana funkcija trim12 iz http://blog.stevenlevithan.com/archives/faster-trim-javascript
	// var	str = str.replace(/^\s\s*/, ''),
		// ws = /\s/,
		// i = str.length;
	// while (ws.test(str.charAt(--i)));
	// return str.slice(0, i + 1);
// }

// nove funkcije trim prepisane iz http://www.webtoolkit.info/javascript-trim.html
function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function scroll_object_to(smer, scrl, object_id) {
	// smer je lahko "x" za vodoravno ali karkoli drugega za navpično. scrl je vrednost, za koliko se naj dokument zascrolla
	if(smer!="x") {smer = "y";}
	if(scrl==null || scrl=='') {scrl = 0;}
	if(object_id==null || object_id == '') {
		object_id = '';
		objekt = document.documentElement;
	} else {
		objekt = getElement(object_id);
	}
	
	if(smer=="x") {
		objekt.scrollLeft = scrl;
	} else {
		objekt.scrollTop = scrl;
	}
}

function set_scroll_cookie(smer, object_id, expires) { // object_id = ID!!!!, če ne podaš, potem velja za document.documentElement
	var objekt = document.documentElement;
	if(expires==null) { expires = 5; }
	if(smer!="x") {smer = "y";}
	if(object_id==null || object_id == '') {
		object_id = '';
		objekt = document.documentElement;
	} else {
		objekt = getElement(object_id);
	}

	if(smer=="x") {
		setCookie(object_id+"_scroll_"+smer, objekt.scrollLeft, expires, $root_prefix);
	} else {
		setCookie(object_id+"_scroll_"+smer, objekt.scrollTop, expires, $root_prefix);
	}
}

function setCookie(name, value, expires, path, domain, secure) {
  // name = ime cookieja, value = vrednost, ki se shrani
	// expires = čas, ko cookie poteče, od zdaj v sekundah
	// path, domain in secure so opcijski
	var potece = new Date();
	potece.setTime(potece.getTime() + expires * 1000);
	var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + potece.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "") ;
  document.cookie = curCookie;
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name) {
  document.cookie = name + "=" + "; expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function opacity(objekt, opacity) {
	objekt.style.filter="Alpha(Opacity="+opacity+")";
	objekt.style.opacity=opacity/100;
}


// avtomatsko pošiljanje neshranjenih polj
var forms_to_submit = new Array();
var forms_to_submit_warning = true;
var submited_form="";

function submit_forms() {
  if(forms_to_submit.length>0) {
		confirmation = true;
		if(forms_to_submit_warning) {
			confirmation = confirm("Ali shranim spremembe, ki ste jih naredili na tej strani?");
		}
		if(confirmation) {
			for(i=0; i<forms_to_submit.length; i++) {
				if(forms_to_submit[i]!=submited_form) { // ne smeš odposlati tistega obrazca, na katerem si kliknil submit button, sicer se odpošlje dvakrat
					getElement(forms_to_submit[i]).submit();
				}
			}
		}
	}
}

function forms_to_submit_add(form_name) {
	var already_there = false;
	for(i=0; i<forms_to_submit.length; i++) {
		if(forms_to_submit[i]==form_name) { already_there=true; i=forms_to_submit.length}
	}
	if(!already_there) {
		forms_to_submit[forms_to_submit.length]=form_name;
	}
}

function getStyle(el,styleProp)
{
	var x = document.getElementById(el);
	if (x.currentStyle)
		var y = x.currentStyle[styleProp];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
	return y;
}


// eventi za forme - vpiši v vsak objekt posebej naslednje: onfocus="field_on_focus(this);" onblur="field_on_blur(this);"
function field_on_focus(objekt) {
	objekt.style.backgroundColor = "#E6E7E8";
	return true;
}

function field_on_blur(objekt) {
	objekt.style.backgroundColor = "";
	return true;
}


function formIsDirty(form) {
	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		var type = element.type;
		if (type == "checkbox" || type == "radio") {
			if (element.checked != element.defaultChecked) {
				return true;
			}
		} else if (type == "hidden" || type == "password" || type == "text" || type == "textarea") {
			if (element.value != element.defaultValue) {
				return true;
			}
		} else if (type == "select-one" || type == "select-multiple") {
			for (var j = 0; j < element.options.length; j++) {
				if (element.options[j].selected != element.options[j].defaultSelected) {
					return true;
				}
			}
		}
	}
	return false;
}

function translate(stran, jezik) {
	if(jezik!="") {
		window.open("http://translate.google.com/translate?hl=sl&u="+stran+"&sl=auto&tl="+jezik, "_self");
	}
}

// Funkcija fade_out počasi skrije element tako, da mu nastavi tranparency filter proti ničli, na koncu postavi visibility na hidden in opacity spet na 100.
// POZOR: fade out ne deluje v IE, če element nima določene širine - predlagam nastavitev width:auto
var fade_out_interval_id, fade_out_interval = 0, fade_out_opacity = 100, fade_out_objekt;

function fade_out(objekt, fade_out_time) { // fade_out_time je v milisekundah
	fade_out_interval = fade_out_time / 100;
	fade_out_opacity = 100;
	fade_out_objekt = objekt;
	fade_out_interval_id = setInterval("fade_out_int();", fade_out_interval)
}

function fade_out_int() {
	fade_out_opacity = fade_out_opacity - 1;
	if(fade_out_opacity<0) {
		fade_out_opacity = 0; 
		clearInterval(fade_out_interval_id);
		fade_out_objekt.style.visibility = "hidden";
		fade_out_objekt.style.filter = "";
		fade_out_objekt.style.opacity = "";
		fade_out_objekt.style.mozOpacity = "";
	}
	fade_out_objekt.style.filter = "Alpha(Opacity=" + fade_out_opacity + ")";
	// alert(fade_out_objekt.style.filter);
	fade_out_objekt.style.opacity = fade_out_opacity / 100;
	fade_out_objekt.style.mozOpacity = fade_out_opacity / 100;
}


// FUNKCIJA: doda funkcijo k onload eventu
// funkcijo lahko kličeš na dva načina:
// 1. 
// addLoadEvent(func1);   
// 2.
// addLoadEvent(
// 	function() {   
//		document.body.style.backgroundColor = '#EFDF95';   
// 	}
// )   
function addLoadEvent(func) {   
	var oldonload = window.onload;   
	if (typeof window.onload != 'function') {   
	 window.onload = func;   
	} else {   
	 window.onload = function() {   
		 if (oldonload) {   
			 oldonload();   
		 }   
		 func();   
	 }   
	}   
}


// FUNKCIJA: vrne pozicijo kurzorja v objektu (text, textarea); funkcija je potrebna, ker IE ne podpira selectionStart 
function getCursorPosition (obj) {
	var CaretPos = 0;	
	if (document.selection) { // IE Support
		obj.focus ();
		var Sel = document.selection.createRange();
		Sel.moveStart ('character', -obj.value.length);
		CaretPos = Sel.text.length;
	} else if (obj.selectionStart || obj.selectionStart == '0') { // Firefox support
		CaretPos = obj.selectionStart;
	}
	return (CaretPos);
}


// FUNKCIJA: postavi kurzor na določeno pozicijo v objektu (text, textarea); funkcija je potrebna, ker IE ne podpira selectionStart 
function setCursorPosition(obj, pos){
	if(obj.setSelectionRange)	{
		obj.selectionStart = pos;
		obj.selectionEnd = pos;
	}	else if (obj.createTextRange) {
		var range = obj.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}   

