/**
 * Zbirka funkcij
 *
 * @author benjamin.povirk@gmail.com
 */


/**
 * Funkcija za redirect
 *
 */
function redirect(URLStr) { window.location.replace(URLStr); }

/**
 * Funkcija spremeni visibility na divu
 *
 * @param did as div_id
 */
function toggle_visibility(did) {
	var e = document.getElementById(did);
	if(e.style.display == 'none')
		e.style.display = 'block';
	else
		e.style.display = 'none';
}

/**
 * Funkcija togla vrednost hiden polja 0/1
 *
 * @param id as id polja
 */
function toggle_value(id) {
	var e = document.getElementById(id);
	if(e.value == '') {
		e.value = '1';
		
	} else {
		e.value = '';
		set_value('lipicanec2','')		
	}
}

/**
 * Funkcija nastavi vrednost hiden polja
 *
 * @param id as id polja
 */
function set_value(id,val) {
	var e = document.getElementById(id);
	e.value = val;
}

/**
 * Funkcija fokusira objekt
 *
 * @param string id id objekta, ki ga poiscemo med elementi HTML strani.
 */
function moveto(id) {
        if (document.getElementById) {
                var focus_id = document.getElementById(id);
		} else {
				var focus_id = document.all[id];
		}
		// da ne jokajo browserji da je ta objekt skrit in ga ne morejo fokusirat. hack pač ;)
		try {
			focus_id.focus();
		} catch (err) {
			return true;
		}
		return true;
}

/**
 * Funkcija zablokira desen klik
 *
 */
function disableRightClick(e)
{
  var message = "copyright 2006 skylab.si";
  if(!document.rightClickDisabled) // initialize
  {
    if(document.layers) 
    {
      document.captureEvents(Event.MOUSEDOWN);
      document.onmousedown = disableRightClick;
    }
    else document.oncontextmenu = disableRightClick;
    return document.rightClickDisabled = true;
  }
  if(document.layers || (document.getElementById && !document.all))
  {
    if (e.which==2||e.which==3)
    {
      alert(message);
      return false;
    }
  }
  else
  {
    alert(message);
    return false;
  }
  return false;
}

/**
 * Funkcija predlaga bookmark
 *
 * @param title as bookmark title, url as bookmark url
 */
function addBookmark(title,url) {
	if (window.sidebar) { 
		window.sidebar.addPanel(title, url,""); 
	} else if( document.all ) {
		window.external.AddFavorite( url, title);
	} else if( window.opera && window.print ) {
		return false;
	}
	return false;
}

/**
 * Funkcija pobriše vrednost input tagov
 *
 * @param Array, id-ji tagov
 */
function clear_fields(fields) {
	for ( val in fields ) {
		 if (document.getElementById) {
                var field = document.getElementById(fields[val]);
		} else {
				var field = document.all[fields[val]];
		}

		field.value="";
	}
}

/**
 * Funkcija spremeni kurzor na strani
 *
 * @param curtype, v kakšen kurzor spremenim
 */
function curchange(curtype) {
	document.body.style.cursor = curtype;
}

/**
 * Funkcije fejdanja
 */
function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

function blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}