// POVECAVA FONTOV //

// Copyright 2003 Eddie Traversa
// http://www.dhtmlnirvana.com/
// free to use as long as this copyright notice stays intact
var tags = new Array( 'div','td','tr','p','b','table','strong','span','emphasis','a','h1','h2','h3','pre','sub','sup','i','th','cp','ul','ol','li','dt','dd');
var pixelArray =  new Array('9','10','11','13','15','17','19','21');
var emArray =  new Array('0.7','0.9','1.0','1.5','2.0','2.5','3');
var initSize = parseInt(getCookie("fontsize"));

function getInitSize() {
	if (!initSize) { 
		initSize = 2;
		var now = new Date();
		now.setTime(now.getTime() + 2 * 24 * 60 * 60 * 1000);
		setCookie("fontsize", initSize, now);
	} else if (initSize != 2) {
		tmp = initSize-2;
		initSize = 2;
		fontSizer(tmp, 'px');
	}
}

function fontSizer(inc,unit) {
		
	if (!document.getElementById) 
		return;
	var size = initSize;
		size += inc;
	if (size < 0 ) {
		size = 0;
	}
	if (size > 4 ) {
		size = 4;
	}
		var diff = size - initSize;
		initSize = size;
		var now = new Date();
		now.setTime(now.getTime() + 2 * 24 * 60 * 60 * 1000);
		setCookie("fontsize", initSize, now);
		
		getBody = document.getElementsByTagName('body')[0];
	for (i = 0 ; i < tags.length ; i++ ) {
		getallTags = getBody.getElementsByTagName(tags[i]);
		for (k = 0 ; k < getallTags.length ; k++) {
			if (getallTags[k].className != 'fixed' && getallTags[k].className != 'gl_nav' && getallTags[k].className != 'navbar') {
				if (getallTags[k].style.fontSize.length > 0) {
					px = toInt(getallTags[k].style.fontSize);
					getallTags[k].style.fontSize = (unit=='px') ? (pixelArray[size]*1 + px-pixelArray[size-diff])+unit : (emArray[size]*1 + px-emArray[size-diff])+unit;
				} else
					getallTags[k].style.fontSize = (unit=='px') ? pixelArray[size]+unit : emArray[size]+unit;
			}
		}
	}
}

function toInt(str) {
	for (j = 0; j <= str.length; j++) {
		if (j == str.length || str.charAt(j) < '0' || str.charAt(j) > '9') {
			return str.substring(0,j)*1;
		}
	}
}

/////////////////////

function setCookie(name, value, expires, path, domain, secure) {
  var path = "/";
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=." + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}


/*
  name - name of the desired cookie
  return string containing value of specified cookie or null
  if cookie does not exist
*/

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));
}


/*
   name - name of the cookie
   [path] - path of the cookie (must be same as path used to create cookie)
   [domain] - domain of the cookie (must be same as domain used to
     create cookie)
   path and domain default if assigned null or omitted if no explicit
     argument proceeds
*/

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

// date - any instance of the Date object
// * hand all instances of the Date object to this function for "repairs"

function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

// END cookeis //


/* ajax */
var xmlhttp=false;

///  TA KOMENTIRANA KODA MORA TU OBVEZNO BIT!!!!

/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
  try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (E) {
    xmlhttp = false;
   }
  }
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  xmlhttp = new XMLHttpRequest();
}
/*
function loadFragmentInToElement(fragment_url, element_id) {
    var element = document.getElementById(element_id);
    //element.innerHTML = 'Loading ...';
   xmlhttp.open("GET", fragment_url, true);
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      element.innerHTML = xmlhttp.responseText;
      }
    }
    xmlhttp.send(null);
	return true;
}
*/
function loadFragmentInToElement(fragment_url, element_id) {
    element = document.getElementById(element_id);
    xmlreqGET(fragment_url,element);
  
}

var xmlreqs = new Array(); 
var default_element = '';

function CXMLReq(type, xmlhttp) { 
	this.type = type; 
	this.xmlhttp = xmlhttp; 
} 
function xmlreqGET(url,element) { 
	var xmlhttp=false; 
	default_element = element;
	if (window.XMLHttpRequest) { // Mozilla, etc. 
		xmlhttp=new XMLHttpRequest(); 
		xmlhttp.onreadystatechange = xmlhttpChange; 
		xmlhttp.open("GET",url,true); 
		xmlhttp.send(null); 
	} else if (window.ActiveXObject) { // IE 
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
		if (xmlhttp) { 
			xmlhttp.onreadystatechange = xmlhttpChange; 
			xmlhttp.open("GET",url,true); 
			xmlhttp.send(); 
		} 
	} 
	var xmlreq = new CXMLReq('', xmlhttp); 
	xmlreqs.push(xmlreq); 
} 

function xmlreqPOST(url,data) { 
	var xmlhttp=false; 
	if (window.XMLHttpRequest) { // Mozilla etc. 
		xmlhttp=new XMLHttpRequest(); 
		xmlhttp.onreadystatechange=xmlhttpChange; 
		xmlhttp.open("POST",url,true); 
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
		xmlhttp.send(data); 
	} else if (window.ActiveXObject) { // IE 
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
		if (xmlhttp) { 
			xmlhttp.onreadystatechange=xmlhttpChange; 
			xmlhttp.open("POST",url,true); 
			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
			xmlhttp.send(data); 
		} 
	} 
	var xmlreq = new CXMLReq('', xmlhttp); 
	xmlreqs.push(xmlreq); 
} 

function xmlhttpChange() {
	if (typeof(window['xmlreqs']) == "undefined") return; 
	for (var i=0; i < xmlreqs.length; i++) { 
		if (xmlreqs[i].xmlhttp.readyState == 4) { 
			if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status == 304) { 
				var ajaxout = xmlreqs[i].xmlhttp.responseText;
				xmlreqs.splice(i,1); i--; 
				alert(ajaxout);
				document.getElementById(default_element).innerHTML = ajaxout;
			} else { 
				// error 
				xmlreqs.splice(i,1); i--; 
			} 
		} 
	} 
}


var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 


//////////////////////////////////////////////////////////////



