// DDS Galéria + Dialog - 09.02.19.

function showItem(item,opc) {
	obj=document.getElementById(item);
	//alert(obj.id + ' ' + typeof(opc));
	obj.style.display='block';
	if (typeof(opc)=='number') {
		changeOpacity(opc,item);
	}
}

function hideItem(item,opc) {
	obj=document.getElementById(item);
	obj.style.display='none';
	if (typeof(opc)=='number') {
		changeOpacity(opc,item);
	}
}

function showHideItem(item) {
	obj=document.getElementById(item);
	(obj.style.display=='none')?obj.style.display='':obj.style.display='none';
}


function changeOpacity(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 overlayReload()
{
		if (window.innerHeight && window.scrollMaxY>=0 || window.innerWidth && window.scrollMaxX>=0) {
                yScroll = window.innerHeight + window.scrollMaxY;
                xScroll = window.innerWidth + window.scrollMaxX;
                var deff = document.documentElement;
                var wff = (deff&&deff.clientWidth) || document.body.clientWidth || window.innerWidth || self.innerWidth;
                var hff = (deff&&deff.clientHeight) || document.body.clientHeight || window.innerHeight || self.innerHeight;
                xScroll -= (window.innerWidth - wff);
                yScroll -= (window.innerHeight - hff);

        } else if (document.body.scrollHeight > document.body.offsetHeight || document.body.scrollWidth > document.body.offsetWidth){ // all but Explorer Mac
                yScroll = document.body.scrollHeight;
                xScroll = document.body.scrollWidth;
        } else { // Explorer Mac... Explorer 6 Strict, Mozilla, Safari
                yScroll = document.body.offsetHeight;
                xScroll = document.body.offsetWidth;
        }
        olay=document.getElementById('overlay');
        /*var pagesize = getPageSize();
        if(pagesize[1]>yScroll) yScroll=pagesize[1];
        if(pagesize[0]>xScroll) xScroll=pagesize[0];*/
        olay.style.height = yScroll +'px';
        olay.style.width = xScroll +'px';
}

function center(windowname, fwidth, fheight) {
        var successWin = document.getElementById(windowname);
        var pagesize = getPageSize();
        var arrayPageScroll = getPageScrollTop();
        lbtop = (arrayPageScroll[1] + (pagesize[1] - fheight)/3);
        lbleft = (arrayPageScroll[0] + (pagesize[0] - fwidth)/2);
        successWin.style.top = (lbtop < 0) ? "0px" : lbtop + "px";
        successWin.style.left = (lbleft < 0) ? "0px" : lbleft + "px";
}

function getcenter(fwidth,fheight) {
	  var pagesize = getPageSize();
	  var arrayPageScroll = getPageScrollTop();
	  lbtop = (arrayPageScroll[1] + (pagesize[1] - fheight)/3);
	  lbleft = (arrayPageScroll[0] + (pagesize[0] - fwidth)/2);
	  var t = (lbtop < 0) ? "0" : lbtop;
	  var l = (lbleft < 0) ? "0" : lbleft;
	  return [t,l];
}

function getPageSize(){
        var de = document.documentElement;
        var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
        var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight
        arrayPageSize = new Array(w,h)
        return arrayPageSize;
}

function getPageScrollTop(){
        var yScrolltop;
        var xScrollleft;
        if (self.pageYOffset || self.pageXOffset) {
                yScrolltop = self.pageYOffset;
                xScrollleft = self.pageXOffset;
        } else if (document.documentElement && document.documentElement.scrollTop || document.documentElement.scrollLeft ){     // Explorer 6 Strict
                yScrolltop = document.documentElement.scrollTop;
                xScrollleft = document.documentElement.scrollLeft;
        } else if (document.body) {// all other Explorers
                yScrolltop = document.body.scrollTop;
                xScrollleft = document.body.scrollLeft;
        }
        arrayPageScroll = new Array(xScrollleft,yScrolltop)
        return arrayPageScroll;
}


function getImageSizes(xsize,ysize,maxx,maxy) {
	if(xsize>maxx || ysize>maxy) {
		var ax=xsize/maxx;
		var ay=ysize/maxy;
	
		var direction=1;
		if (ay>ax) direction=0;

		if (direction) {
			xsize=Math.floor(xsize/ax);
			ysize=Math.floor(ysize/ax);
		} else {
			xsize=Math.floor(xsize/ay);
			ysize=Math.floor(ysize/ay);
		}
	}
	return [xsize,ysize];
}

function getImageSizes2(img,maxx,maxy) {
	var xsize=img.w;
	var ysize=img.h;
	if(xsize>maxx || ysize>maxy) {
		var ax=xsize/maxx;
		var ay=ysize/maxy;
	
		var direction=1;
		if (ay>ax) direction=0;

		if (direction) {
			xsize=Math.floor(xsize/ax);
			ysize=Math.floor(ysize/ax);
		} else {
			xsize=Math.floor(xsize/ay);
			ysize=Math.floor(ysize/ay);
		}
	}
	return [xsize,ysize];
}
function showHideFlash(s) {
	var elemse = document.getElementsByTagName('embed');
	var elemso = document.getElementsByTagName('object');
	var elemss = document.getElementsByTagName('select');
	for(var i=0;i<elemse.length;i++) {
		elemse[i].style.visibility = (s)?'visible':'hidden';
	}
	for(var i=0;i<elemso.length;i++) {
		elemso[i].style.visibility = (s)?'visible':'hidden';
	}
	for(var i=0;i<elemss.length;i++) {
		elemss[i].style.visibility = (s)?'visible':'hidden';
	}
}

//lightbox
zoomImage = function(img) {
	ajax_load('/zoomlb.php?kep=/'+img);
};

showFullImage = function(img) {
	var pri = new Image();
	var self = this;
	var page = getPageSize();
	//var sizes = getImageSizes2(img,page[0]-100,page[1]-100);
	var sizes = [img.w,img.h];
	var scroll = getPageScrollTop();
	var fimage=document.getElementById('lbimage');
	var box=document.getElementById('box');
	
	pri.onload=function() {

		fimage.src=img.src;
		fimage.width=sizes[0];
		fimage.height=sizes[1];
		var top=scroll[1]+(page[1]-sizes[1])/3;
		box.style.top=top+'px';
		//var p="self.fadeTo('overlay',60,500);";
		//self.fadeIn('box',500);
		//self.fadeTo('overlay',60,750);
		overlayReload();
//		center('lbimage',img.width,fimage.height);
		showItem('overlay');
		showItem('box');
		//window.onresize=overlayReload;
		//document.getElementsByTagName("body")[0].style.overflow = "hidden"; 
	};
	pri.src=img.src;
};

hideFullImage = function() {
	var fimage=document.getElementById('lbimage');
	var self=this;
	//var p="window.onresize=Chameleon.fitSize;;self.showHide('overlay',1);self.fadeOut('box',100);self.showHide('box',1);var fimage=document.getElementById('lbimage');fimage.src='images/sp.gif';document.getElementsByTagName('body')[0].style.overflow = '';";
	//this.animate('box',{'top':['-'+(fimage.height+100),'easeInSine']},500,p);
	//this.fadeTo('overlay',0,500);
	hideItem('overlay');
	hideItem('box');
	var fimage=document.getElementById('lbimage');
	fimage.src='images/sp.gif';
	//document.getElementsByTagName('body')[0].style.overflow = '';
};

DDSDialog = function() {
	var dialogopen = 0;
	var elem = null;
	var dparent = null;
	var dialog = null;
	var title = null;
	var content = null;
	var close = null;
	var error = null;
	this.width = "500";
	this.boxname = "";
	this.onInit = null;
	this.onClose = null;
	
	this.init = function(id,t,box,w) {
	
		dialog = document.getElementById('dds_dialog');
		title = document.getElementById('dds_dialog_title');
		content = document.getElementById('dds_dialog_content');
		close = document.getElementById('dds_dialog_close');
		error = document.getElementById('dds_dialog_error');
		
		this.reset();
		
		/*var dia = this;
		close.onclick= function() {
			dia.hide();
		}*/
		elem = document.getElementById(id);
		if(!elem) return;
		dparent = elem.parentNode;
		var cont = dparent.removeChild(elem);
		content.appendChild(cont);
		cont.style.display = '';
		if(box) this.boxname = box;
		if(w) this.width = w;
		this.show();
		if(typeof(this.onInit) == "function") {
			this.onInit();
			this.onInit=null;
		}
		
	}
	this.show = function() {
		dialog.style.width=this.width+'px';
		dialog.style.display='';
		showItem('overlay');
		center('dds_dialog',this.width,dialog.offsetHeight);
		overlayReload();
		window.onresize=overlayReload;
		showHideFlash();
		this.dialogopen = 1;
	}
	this.hide = function(rl) {
		if(BrowserDetect.browser=="Opera" && rl) {
			window.location.reload();
			return;
		}
		if(typeof(this.onClose) == "function") {
			this.onClose();
			this.onClose=null;
		}
		if(this.boxname) {
			ajax_reload(this.boxname);
		} else {
			var cont = elem;
			if(elem.parentNode) cont = elem.parentNode.removeChild(elem);
			dparent.appendChild(cont);
			cont.style.display = 'none';
		}
		showHideFlash(1);
		dialog.style.display='none';
		hideItem('overlay');
		window.onresize="";
		this.dialogopen = 0;
	}
	this.close = function() {
		this.hide();
	}
	this.setTitle = function(t) {
		//title.innerHTML = t;
	}
	this.setError = function(t) {
		error.innerHTML = t;
		error.style.display = (t=="")?'none':'';
	}
	this.setContent = function(t) {
		content.innerHTML = t;
	}

	this.reset = function() {
		dialogopen = 0;
		this.setTitle("");
		this.setContent("");
		this.setError("");
		this.boxname = "";
		this.width='500';
	}
	this.realign = function() {
		center('dds_dialog',this.width,dialog.offsetHeight);
	}
}

DDSDialog = new DDSDialog();
