/*
window.onerror = function() {
	return true;
};
*/

//*****************************************************************************************************************************************************

var doc = document;
var DOM_Level_2 = (doc.getElementById && doc.getElementsByTagName);

var css_hover = true;

//*****************************************************************************************************************************************************

function AVS_Grafika() {
	this.id = '';
	this.vir = '';
}

function loadGfx()
{
	var arg = loadGfx.arguments;
	if (!arg) return;
	var i, arg_len = arg.length;
	var gfx = new Array();
	for (i = 0; i < arg_len; i++) {
		gfx[i] = new Image();
		gfx[i].src = arg[i];
	}
	/*
	for (i = 0; i < arg_len; i++) {
		alert(isImageOk(gfx[i]));
	}
	*/
}
/*
function isImageOk(img) {
	// During the onload event, IE correctly identifies any images
	// that weren't downloaded as not complete. Others should too.
    // Gecko-based browsers act like NS4 in that they report this
	// incorrectly: they always return true.
	if (!img.complete) {
		return false;
	}
	
	// However, they do have two very useful properties: naturalWidth
	// and naturalHeight. These give the true size of the image. If
	// it failed to load, either of these should be zero.
	if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {
		return false;
	}
	
	// No other way of checking: assume it's ok.
	return true;
}
*/

function changeGfx()
{
	if (!DOM_Level_2) return;
	var arg = changeGfx.arguments;
	if (!arg) return;
	var Grafika = new Array(), j = -1;
	var i, dolzina_arg = arg.length;
	var grafika;
	for (i = 0; i < dolzina_arg; i += 2) {
		if (grafika = doc.getElementById(arg[i])) {
			Grafika[++j] = new AVS_Grafika();
			Grafika[j].id = arg[i];
			Grafika[j].vir = arg[i+1];
			if (!grafika.zaklenjeno) {
				if (!grafika.privzeti_vir) grafika.privzeti_vir = grafika.src;
				grafika.src = arg[i+1];
			}
		}
	}
	doc.AVS_Grafika = Grafika;
}

function resetGfx()
{
	if (!DOM_Level_2) return;
	var Grafika = doc.AVS_Grafika;
	if (!Grafika) return;
	var i, dolzina_Grafika = Grafika.length;
	var GrafikaID, grafika;
	for (i = 0; i < dolzina_Grafika; i++) {
		if ((GrafikaID = Grafika[i].id) && (grafika = doc.getElementById(GrafikaID)) && !grafika.zaklenjeno) grafika.src = grafika.privzeti_vir;
	}
	doc.AVS_Grafika = null;
}

//*****************************************************************************************************************************************************

var selected_year = null;
var shown_years_offset = 0;
var news_keyword = null;

function updateNewsArchiveYearsContent(id, start_year, end_year, direction)
{
	if (!DOM_Level_2) return true;
	var obj = doc.getElementById(id);
	if (!obj) return true;
	
	var num_shown_years_max = 6;
	
	var NewsArchiveYearsContentHTML = '';
	
	shown_years_offset = (shown_years_offset + direction);
	
	var first_navi_tab = (shown_years_offset >= 1);
	var last_navi_tab = ((end_year - start_year - shown_years_offset - num_shown_years_max + 1) > 0);
	
	var double_navi = (first_navi_tab && last_navi_tab);
	var any_navi = (first_navi_tab || last_navi_tab);
	
	if (first_navi_tab) NewsArchiveYearsContentHTML += '<td class="news-archive-navigate-years"><a href="' + news_keyword + '?nao=' + shown_years_offset + '" onclick="return updateNewsArchiveYearsContent(\'' + id + '\', ' + start_year + ', ' + end_year + ', -1);">&laquo;</a></td>\n';
	else if (last_navi_tab) NewsArchiveYearsContentHTML += '<td class="news-archive-navigate-years-empty">&nbsp;</td>\n';
	if (any_navi) NewsArchiveYearsContentHTML += '<td width="50%">&nbsp;</td>\n';
	
	var current_year = null;
	for (var i=1; i<(num_shown_years_max + 1); i++) {
		current_year = (end_year - shown_years_offset - i + 1)
		NewsArchiveYearsContentHTML += '<td><a href="' + news_keyword + '?year=' + current_year + '"' + (selected_year == current_year ? ' class="selected"' : '') + '>' + current_year + '</a></td>\n';
	}
	
	if (any_navi) NewsArchiveYearsContentHTML += '<td width="50%">&nbsp;</td>\n';
	if (last_navi_tab) NewsArchiveYearsContentHTML += '<td class="news-archive-navigate-years"><a href="' + news_keyword + '?nao=' + shown_years_offset + '" onclick="return updateNewsArchiveYearsContent(\'' + id + '\', ' + start_year + ', ' + end_year + ', 1);">&raquo;</a></td>\n';
	else if (first_navi_tab) NewsArchiveYearsContentHTML += '<td class="news-archive-navigate-years-empty">&nbsp;</td>\n';
	
	NewsArchiveYearsContentHTML = '' + 
		'<table width="325" border="0" cellspacing="0" cellpadding="0" id="news-archive-years-container">\n' + 
		'<tr valign="bottom">\n' +
		NewsArchiveYearsContentHTML + 
		'</tr>\n' + 
		'</table>\n';
	obj.innerHTML = NewsArchiveYearsContentHTML;
	
	return false;
}

/*
function updateNewsArchiveYearsContent(id, start_year, end_year, direction)
{
	if (!DOM_Level_2) return true;
	var obj = doc.getElementById(id);
	if (!obj) return true;
	var NewsArchiveYearsContentHTML = '';
	shown_years_offset = (shown_years_offset + direction);
	var first_navi_tab = (shown_years_offset >= 1);
	var last_navi_tab = ((end_year - start_year - shown_years_offset - num_shown_years_max) > 0);
	//alert('first_navi_tab = ' + first_navi_tab);
	//alert('last_navi_tab = ' + last_navi_tab);
	//alert(shown_years_offset)
	//if ((end_year - shown_years_offset) == start_year) last_navi_tab = true;
	var double_navi = (first_navi_tab && last_navi_tab);
	if (first_navi_tab) {
		NewsArchiveYearsContentHTML += '<td class="news-archive-navigate-years"><a href="' + news_keyword + '?nao=' + shown_years_offset + '" onclick="return updateNewsArchiveYearsContent(\'' + id + '\', ' + start_year + ', ' + end_year + ', -1);">&laquo;</a></td>\n';
		NewsArchiveYearsContentHTML += '<td width="' + (double_navi ? '50' : '100') + '%">&nbsp;</td>\n';
	}
	var regulation = (first_navi_tab ? 2 : 1);
	var display_num_years = (double_navi ? (num_shown_years_max - 1) : num_shown_years_max) + regulation;
	//alert(display_num_years);
	var current_year = null;
	var i = regulation;
	for (i; i<display_num_years; i++) {
		current_year = (end_year - shown_years_offset - i + 1)
		NewsArchiveYearsContentHTML += '<td><a href="' + news_keyword + '?year=' + current_year + '"' + (selected_year == current_year ? ' class="selected"' : '') + '>' + current_year + '</a></td>\n';
	}
	if (last_navi_tab) {
		NewsArchiveYearsContentHTML += '<td width="' + (double_navi ? '50' : '100') + '%">&nbsp;</td>\n';
		NewsArchiveYearsContentHTML += '<td class="news-archive-navigate-years"><a href="' + news_keyword + '?nao=' + shown_years_offset + '" onclick="return updateNewsArchiveYearsContent(\'' + id + '\', ' + start_year + ', ' + end_year + ', 1);">&raquo;</a></td>\n';
	}
	obj.innerHTML = NewsArchiveYearsContentHTML;
	//alert(NewsArchiveYearsContentHTML);
	return false;
}
*/
/*
							<td class="news-archive-navigate-years"><a href="news?more-dates">&laquo;</a></td>
							<td width="50%">&nbsp;</td>
							<td><a href="news?date=2007" class="selected">2007</a></td>
							<td><a href="news?date=2006">2006</a></td>
							<td><a href="news?date=2005">2005</a></td>
							<td><a href="news?date=2004">2004</a></td>
							<td><a href="news?date=2003">2003</a></td>
							<td><a href="news?date=2002">2002</a></td>
							<td><a href="news?date=2001">2001</a></td>
							<td width="50%">&nbsp;</td>
							<td class="news-archive-navigate-years"><a href="news?more-dates" onclick="return updateNewsArchiveYearsContent('news-archive-years-content', 1995, 2009);">&raquo;</a></td>
*/

//*****************************************************************************************************************************************************

function changeClasses(path, name, exit)
{
	if (!DOM_Level_2 || exit) return;
	var obj = dobiDoloceneObjekte(path);
	if (obj == null) return;
	var obj_len = obj.length;
	if (obj_len) {
		for (var i=0; i<obj_len; i++) {
			if (obj[i].className) obj[i].className = name;
		}
	} else {
		if (obj.className) obj.className = name;
	}
}

/*
function zamenjajStil(pot, lastnost, vrednost)
{
	if (!DOM_Level_2) return;
	var obj = dobiDoloceneObjekte(pot);
	if (obj == null) return;
	var obj_dolzina = obj.length, obj_stil = null;
	if (obj_dolzina) {
		for (var i=0; i<obj_dolzina; i++) {
			obj_stil = obj[i].style;
			if (obj_stil) {
				if (typeof(eval('obj_stil.'+lastnost))!='undefined') {
					eval('obj_stil.'+lastnost+'=\''+vrednost+'\'');
				}
			}
		}
	} else {
		obj_stil = obj.style;
		if (obj_stil) {
			if (typeof(eval('obj_stil.'+lastnost))!='undefined') {
				eval('obj_stil.'+lastnost+'=\''+vrednost+'\'');
			}
		}
	}
}
*/
//*****************************************************************************************************************************************************
/*
function pocistiPrivzetoVrednost(ime, privzeta_vrednost) //odstraniPrivzetoVrednost
{
	if (!DOM_Level_2) return;
	var element;
	if (!(element = doc.getElementById(ime))) return;
	//Odstranimo privzeto vrednost
	if (element.value == privzeta_vrednost) element.value = '';
	//Izberemo besedilo
	else element.select();
}

function ponastaviPrivzetoVrednost(ime, privzeta_vrednost) //dodajPrivzetoVrednost
{
	if (!DOM_Level_2) return;
	var element;
	if (!(element = doc.getElementById(ime))) return;
	if (element.value == '') element.value = privzeta_vrednost;
}
*/
//*****************************************************************************************************************************************************

function setFontSize(id)
{
	if (document.getElementById && document.getElementById(id)) {
		var z_meja = 1.8, s_meja = 0.8;
		velikost_pisave = parseFloat(getCookie('velikost_pisave'));
		if (!isNaN(velikost_pisave) && velikost_pisave <= z_meja && velikost_pisave >= s_meja) document.getElementById(id).style.fontSize = velikost_pisave + 'em';
	}
}

function getFontSize(id)
{
	if (document.getElementById && document.getElementById(id)) {
		var velikost_pisave = document.getElementById(id).style.fontSize;
		velikost_pisave = parseFloat(velikost_pisave);
		if (isNaN(velikost_pisave)) velikost_pisave = 1;
	}
	return velikost_pisave;
}

function increaseFontSize(id)
{
	var interval = 0.2;
	var meja = 1.8;
	if (document.getElementById && document.getElementById(id)) {
		velikost_pisave = getFontSize(id);
		if (velikost_pisave < meja) {
			document.getElementById(id).style.fontSize = ((velikost_pisave * 100 + interval * 100) / 100) + 'em';
			setCookie('velikost_pisave', ((velikost_pisave * 100 + interval * 100) / 100) + 'em', 356);
		}
	}
	//return false;
}

function decreaseFontSize(id)
{
	var interval = 0.2;
	var meja = 0.8;
	if (document.getElementById && document.getElementById(id)) {
		velikost_pisave = getFontSize(id);
		if (velikost_pisave > meja) {
			document.getElementById(id).style.fontSize = ((velikost_pisave * 100 - interval * 100) / 100) + 'em';
			setCookie('velikost_pisave', ((velikost_pisave * 100 - interval * 100) / 100) + 'em', 356);
		}
	}
	//return false;
}

//*****************************************************************************************************************************************************

function setCookie(name, value, expires_days) {
	if (expires_days) {
		var expires_date = new Date();
		expires_date.setTime( expires_date.getTime() + (expires_days * 24 * 60 * 60 * 1000) );
		var expires = "; expires=" + expires_date.toGMTString();
	}
	else var expires = "";
	document.cookie = name + "=" + escape(value) + expires + "; path=/";
}

function getCookie(name) {
	if (document.cookie && document.cookie.length > 0) {
		var start, end;
		start = document.cookie.indexOf(name + "=");
		if (start != -1) {
			start = start + name.length + 1;
			end = document.cookie.indexOf(";", start);
			if (end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(start, end));
		}
	}
	return null;
}

function eraseCookie(name) {
	setCookie(name, "", -1);
}

//*****************************************************************************************************************************************************

function pretvoriZbirkoVrniMnozico(zbirka)
{
	var mnozica = new Array(), i, dolzina_zbirka = zbirka.length;
	for (i = 0; i < dolzina_zbirka; i++) mnozica[i] = zbirka[i];
	return mnozica;
}

function dobiElementePoRazredu(razred, vozel, oznaka)
{
	// Kot zadetek vrne tudi, če je razred najden na vozlu
	if (!DOM_Level_2 || !razred) return;
	if (vozel == null) vozel = doc;
	if (oznaka == null) oznaka = '*';
	var zbirka = vozel.getElementsByTagName(oznaka);
	var zadetki = new Array();
	var vzorec = new RegExp('\\s*' + razred + '\\s*');
	var i, j = -1, dolzina_zbirka = zbirka.length;
	if (vzorec.test(vozel.className)) zadetki[++j] = vozel;
	for (i = 0; i < dolzina_zbirka; i++) {
		if (vzorec.test(zbirka[i].className)) zadetki[++j] = zbirka[i];
	}
	return zadetki;
}


function dobiDoloceneObjekte()
{
	if (!DOM_Level_2) return;
	var arg = dobiDoloceneObjekte.arguments;
	if (!arg) return;
	var i, j, k, dolzina_arg = arg.length, dolzina_navodila, dolzina_obj;
	var zanka_izhod, navodila, obj, nov_obj, indikator_tip, indikator_ime;
	var rezultat = null, je_enako_poz = -1, nabor = false, zbirka = null;
	for (i = 0; i < dolzina_arg; i++) {
		zanka_izhod = false;
		obj = null;
		navodila = arg[i].split('/');
		dolzina_navodila = navodila.length
		for (j = 0; j < dolzina_navodila; j++) {
			if (obj == null) obj = doc;
			je_enako_poz = navodila[j].indexOf('=');
			indikator_tip = navodila[j].substring(0, je_enako_poz);
			indikator_ime = navodila[j].substring(je_enako_poz + 1);
			switch(indikator_tip) {
				case 'element':
					if (nabor) {
						nov_obj = new Array();
						dolzina_obj = obj.length;
						for (k = 0; k < dolzina_obj; k++) nov_obj = nov_obj.concat(pretvoriZbirkoVrniMnozico(obj[k].getElementsByTagName(indikator_ime)));
						if (nov_obj.length) obj = nov_obj;
						else {
							obj = null;
							zanka_izhod = true;
						}
					} else {
						obj = pretvoriZbirkoVrniMnozico(obj.getElementsByTagName(indikator_ime));
						nabor = true;
					}
					break;
				case 'razred':
					if (nabor) {
						nov_obj = new Array();
						dolzina_obj = obj.length;
						for (k = 0; k < dolzina_obj; k++) nov_obj = nov_obj.concat(dobiElementePoRazredu(indikator_ime, obj[k]));
						if (nov_obj.length) obj = nov_obj;
						else {
							obj = null;
							zanka_izhod = true;
						}
					} else {
						nov_obj = dobiElementePoRazredu(indikator_ime, obj);
						if (nov_obj.length) {
							obj = nov_obj;
							nabor = true;
						} else {
							obj = null;
							zanka_izhod = true;
						}
					}
					break;
				default: //case 'id':
					if (nabor) {
						//Ta način je podprt, samo za namen validacije pravilne postavitve id-ja
						//npr. če imamo na eni strani isti id na div-u, na drugi pa na ul-ju, mi pa hočemo
						//dopolniti obnašanje samo tistemu, ki se nahaja na ul elementu
						nov_obj = null;
						dolzina_obj = obj.length;
						for (k = 0; k < dolzina_obj; k++) {
							//Vrnemo samo prvi zadetek
							if (obj[k].id == indikator_ime) { //Preverimo, če je id na trenutnem elementu
								nov_obj = obj[k];
								break;
							}
						}
						if (nov_obj != null) {
							obj = nov_obj;
						} else {
							obj = null;
							zanka_izhod = true;
						}
					} else obj = obj.getElementById(indikator_ime);
					nabor = false;
			}
			if (zanka_izhod) break;
		}
		if (nabor) {
			if (rezultat == null) rezultat = new Array();
			rezultat = rezultat.concat(obj);
		}
		else rezultat = obj;
	}
	return rezultat;
}

//*****************************************************************************************************************************************************

//Advanced Pop Up function
var NewWin = '';
function OpenWindow(URL, Name, Params)
{
	var DefaultLeft = 0;
	var DefaultTop = 0;
	var DefaultWidth = 640;
	var DefaultHeight = 480;
	var DefaultScrollbars = 1;
	var DefaultResizable = 1;
	var CustomWidth = 0, CustomHeight = 0;
	if (!NewWin.closed && NewWin.location) {
		NewWin.location.href = URL;
	}
	else {
		var RegExpr, RegExprMatch;
		var CustomParams = '';
		if (!Params || Params.indexOf('left') == -1) CustomParams += 'left=' + DefaultLeft;
		if (!Params || Params.indexOf('top') == -1) CustomParams += (CustomParams != '' ? ', ' : '') + 'top=' + DefaultTop;
		if (!Params || Params.indexOf('width') == -1) CustomParams += (CustomParams != '' ? ', ' : '') + 'width=' + DefaultWidth;
		if (!Params || Params.indexOf('height') == -1) CustomParams += (CustomParams != '' ? ', ' : '') + 'height=' + DefaultHeight;
		if (!Params || Params.indexOf('scrollbars') == -1) CustomParams += (CustomParams != '' ? ', ' : '') + 'scrollbars=' + DefaultScrollbars;
		if (!Params || Params.indexOf('resizable') == -1) CustomParams += (CustomParams != '' ? ', ' : '') + 'resizable=' + DefaultResizable;
		if (Params && Params != '') CustomParams += (CustomParams != '' ? ', ' : '') + Params;
		RegExpr = /width=\d+/; //width=640
		RegExprMatch = RegExpr.exec(CustomParams);
		if (RegExprMatch) { //null || Array()
			RegExpr = /width=/;
			CustomWidth = RegExprMatch[0].replace(RegExpr, '');
			//alert(CustomWidth);
		}
		RegExpr = /height=\d+/; //height=480
		RegExprMatch = RegExpr.exec(CustomParams);
		if (RegExprMatch) { //null || Array()
			RegExpr = /height=/;
			CustomHeight = RegExprMatch[0].replace(RegExpr, '');
			//alert(CustomHeight);
		}
		//alert(URL+'\n'+Name+'\n'+Params+'\n'+CustomParams);
		NewWin = window.open(URL, Name, CustomParams);
		if (!NewWin) return true;
		if (!NewWin.opener) NewWin.opener = self;
		//NewWin.onload = fitWinToContentAndCenter('PageBorder');
		if (CustomWidth > 0 && CustomHeight > 0) CenterWin(NewWin, CustomWidth, CustomHeight);
		
	}
	if (NewWin.focus) NewWin.focus();
	return false;
}

function GetRefToElement(ElementID, DocObj)
{
	if (!DocObj) DocObj = document;
	if (document.getElementById) return DocObj.getElementById(ElementID);
	if (document.all) return DocObj.all[ElementID];
	if (document.layers) {
		if (DocObj.layers[ElementID]) return DocObj.layers[ElementID];
		else {
			var i, RefObj;
			for (i = 0; !RefObj && i < DocObj.layers.length; i++) {
				RefObj = GetRefToElement(ElementID, DocObj.layers[i].document);
			}
			return RefObj;
		}
	}
	return document[ElementID];
}

//Fit to content and center
function FitWinToContentAndCenter(ElementID)
{
	//Get reference
	var ElementObj = GetRefToElement(ElementID);
	if (!ElementObj) return false;
	window.resizeTo(100, 100);
	//Get element dimensions
	var ElementW, ElementH;
	if (ElementObj.clip) { //NS4
		ElementW = ElementObj.clip.width;
		ElementH = ElementObj.clip.height;
	}
	else { //Others
		ElementW = ElementObj.offsetWidth;
		ElementH = ElementObj.offsetHeight;
	}
	if (!ElementH) return false;
	//alert(ElementW+'\n'+ElementH);
	window.resizeTo(ElementW + 200, ElementH + 200); //200 is ~ max px of toolbars
	var WinW = 0, WinH = 0;
	if (self.innerHeight) { //All except Explorer
		WinW = self.innerWidth;
		WinH = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) { //Explorer 6 Strict Mode
		WinW = document.documentElement.clientWidth;
		WinH = document.documentElement.clientHeight;
	}
	else if (document.body) { //Other Explorers
		WinW = document.body.clientWidth;
		WinH = document.body.clientHeight;
	}
	if (window.opera && !document.childNodes) WinW += 16;
	//alert(WinW+'\n'+WinH);
	window.resizeTo(ElementW = (ElementW + ((ElementW + 200) - WinW)), ElementH = (ElementH + ((ElementH + 200) - WinH)));
	//alert(ElementW+'\n'+ElementH);
	CenterWin(window, ElementW, ElementH);
}

function CenterWin(WinObj, WinW, WinH)
{
	var ScrW, ScrH;
	if (screen.availHeight) {
		ScrW = screen.availWidth;
		ScrH = screen.availHeight;
	}
	else {
		ScrW = screen.width;
		ScrH = screen.height;
	}
	WinObj.moveTo((ScrW - WinW) / 2, (ScrH - WinH) / 2);
}

//*****************************************************************************************************************************************************
