function newWin(url) {
	window.open(url, '_blank');
	return false;
}

function mOpen(image_url, width, height) {

	var ajmo = window.open(image_url, 'popup_win', 'width='+width+',height='+height+',top='+(screen.height/2-(height/2))+',left='+(screen.width/2-(width/2)));
	ajmo.document.write('<html>\n<head>\n<title>Preview</title>\n</head>\n');
	ajmo.document.write('<body marginwidth=0 marginheight=0 topmargin=0 leftmargin=0 onBlur="window.close()">\n<img src="'+image_url+'" width='+width+' height'+height+' border=0>\n</body>\n');
	ajmo.document.write('</html>\n');
	ajmo.document.close();

}

function toggleVisibility(vis,hid) {
	layerstoshow = vis.split(',');
	for (i=0; i<layerstoshow.length; i+=1)
	{
		if (selectedlayer = document.getElementById(layerstoshow[i]))
		{
			selectedlayer.style.visibility = 'visible';
		}
	}
	layerstohide = hid.split(',');
	for (i=0; i<layerstohide.length; i+=1)
	{
		if (selectedlayer = document.getElementById(layerstohide[i]))
		{
			selectedlayer.style.visibility = 'hidden';
		}
	}
}

function preloadImages() {
  if (document.images) { 
    if (typeof(document.lupiga) == 'undefined'){
      document.lupiga = new Object();
    }
    document.lupiga.loadedImages = new Array();
   
    var argLength = preloadImages.arguments.length;
    for(arg=0;arg<argLength;arg++) {
     
      document.lupiga.loadedImages[arg] = new Image();
     
      document.lupiga.loadedImages[arg].src = preloadImages.arguments[arg];
    }
  }
}

function swapImages(imageName, imageUrl){ 
  if(document.images){
		if(eval(imageName + ".complete")) {
				document.images[imageName].src = imageUrl;
		}
	}
}

function swapImageButton(imageID, imageUrl){ 
  document.getElementById(imageID).src = imageUrl;
}

/******************************************************************
 * BEGIN Cookie library
 ******************************************************************/
// utility function to retrieve an expiration date in proper
// format; pass three integer parameters for the number of days, hours,
// and minutes from now you want the cookie to expire (or negative
// values for a past date); all three parameters are required,
// so use zeros where appropriate
function getExpDate(days, hours, minutes) {
    var expDate = new Date( );
    if (typeof days == "number" && typeof hours == "number" && 
        typeof hours == "number") {
        expDate.setDate(expDate.getDate( ) + parseInt(days));
        expDate.setHours(expDate.getHours( ) + parseInt(hours));
        expDate.setMinutes(expDate.getMinutes( ) + parseInt(minutes));
        return expDate.toGMTString( );
    }
}
   
// utility function called by getCookie( )
function getCookieVal(offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) {
        endstr = document.cookie.length;
    }
    return unescape(document.cookie.substring(offset, endstr));
}
   
// primary function to retrieve cookie by name
function getCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) {
            return getCookieVal(j);
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break; 
    }
    return "";
}
   
// store cookie value with optional details as needed
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape (value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
   
// remove the cookie by setting ancient expiration date
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";
    }
}
/******************************************************************
 * END Cookie library
 ******************************************************************/

/******************************************************************
 * BEGIN Add event methods
 ******************************************************************/
function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}
var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
/******************************************************************
 * END Add event methods
 ******************************************************************/

/**************************************************
 * Quick links to jump to galleries in site header
 **************************************************/
var QuickLinkToGallery = {
  ddlGaleries: null,
	init: function() {
  	QuickLinkToGallery.ddlGalleries = document.getElementById('galerije');
		QuickLinkToGallery.ddlGalleries.onchange = QuickLinkToGallery.goto;
	},
	goto: function() {
		document.location.href = '/galerije/items/'+ QuickLinkToGallery.ddlGalleries.value +'/';
	}
}

/**************************************************
 * Filter galleries by gender
 **************************************************/
var FilterGallery = {
  ddlGaleries: null,
	init: function() {
  	FilterGallery.ddlGalleries = document.getElementById('glazbeniRodovi');
		FilterGallery.ddlGalleries.onchange = FilterGallery.goto;
	},
	goto: function() {
		document.location.href = '/?g='+ FilterGallery.ddlGalleries.value +'';
	}
}

/**************************************************
 * Toggles show/hide of form
 **************************************************/
var ToggleFormBox = {
  divFrmBox: null,
	btnToggleForm: null,
	
	init: function() {
		if(document.getElementById && document.getElementById('frmBox')) {
			ToggleFormBox.divFrmBox = document.getElementById('frmBox');
			var divButton = document.createElement('div');
			divButton.className = 'toggleButton';
			ToggleFormBox.btnToggleForm = document.createElement('button');
			ToggleFormBox.btnToggleForm.id = 'btnToggleForm';
			ToggleFormBox.divFrmBox.parentNode.insertBefore(divButton, ToggleFormBox.divFrmBox);
			divButton.appendChild(ToggleFormBox.btnToggleForm);
			if( getCookie('display')=='' || getCookie('display')=='none' ) {
				ToggleFormBox.hideForm();
			} else {
				ToggleFormBox.showForm();
			}
		} else {
			deleteCookie('display');
		}
	}, 
	
	showForm: function() {
		ToggleFormBox.divFrmBox.style.display = 'block';
		if(ToggleFormBox.btnToggleForm.firstChild) {
			ToggleFormBox.btnToggleForm.removeChild(ToggleFormBox.btnToggleForm.firstChild);
		}
		ToggleFormBox.btnToggleForm.onclick = ToggleFormBox.hideForm;
		ToggleFormBox.btnToggleForm.appendChild(document.createTextNode('Sakrij formu za unos'));
		setCookie('display', 'block', '', '/');
	}, 
	
	hideForm: function() {
		var strText;
		if( ToggleFormBox.divFrmBox.className=='frmBox-adresar' ) {
			strText = 'Upišite novog stanara';
		} else {
			strText = 'Unos novog komentara';
		}
		ToggleFormBox.divFrmBox.style.display = 'none';
		if(ToggleFormBox.btnToggleForm.firstChild) {
			ToggleFormBox.btnToggleForm.removeChild(ToggleFormBox.btnToggleForm.firstChild);
		}
		ToggleFormBox.btnToggleForm.onclick = ToggleFormBox.showForm;
		ToggleFormBox.btnToggleForm.appendChild(document.createTextNode(strText));
		setCookie('display', 'none', '', '/');
	}
}

addEvent(window,'unload',EventCache.flush);
addEvent(window,'load',ToggleFormBox.init);
addEvent(window,'load',QuickLinkToGallery.init);
addEvent(window,'load',FilterGallery.init);
