// DDS Lightbox Effect

var idstohide=new Array(); //TODO!! flash tartalmu elemek id-i.

function showBox(src,fwidth,fheight){
	if (!fwidth) fwidth=500;
	if (!fheight) fheight=360;
	dbox=document.getElementById('box');
	olay=document.getElementById('overlay');
	frame=document.getElementById('lbframe');
	image=document.getElementById('lbimage');
	
	if (src.indexOf('.jpg')!=-1) {
		var pagesize = getPageSize();    
		var arrayPageScroll = getPageScrollTop();
		imgPre=new Image();
		imgPre.onload=function(){
			image.src = src;
			dbox.style.width=imgPre.width+20+'px';
			dbox.style.height=imgPre.height+40+'px';
			overlayReload();
			center('box', imgPre.width+20,imgPre.height+40);
			frame.style.display='none';
			if(document.all) image.style.display='block';
			else image.style.display='inline';
			return false;
		}
		imgPre.src = src;
	} else {
		dbox.style.width=fwidth+'px';
		dbox.style.height=fheight+'px';
		overlayReload();
		center('box', fwidth, fheight);
		if(window.addEventListener) frame.addEventListener('load',resizeLBox,false);
		else frame.attachEvent('onload',resizeLBox);
		frame.src=src;
		image.style.display='none';
		frame.style.display='inline';
	}
	window.onresize=overlayReload;
	visSelectsAndFlash('hidden');
	olay.style.display = 'block';
	dbox.style.display = 'block';
   	return false;
}

function hideBox(){
	dbox=document.getElementById('box');
	olay=document.getElementById('overlay');
	frame=document.getElementById('lbframe');
	visSelectsAndFlash('visible');
	dbox.style.display = 'none';
	olay.style.display = 'none';
	if(window.removeEventListener) frame.removeEventListener('load',resizeLBox,false); 
	else frame.detachEvent('onload',resizeLBox);
	frame.src="blank.htm";
	window.onresize='';
	return false;
}

function overlayReload()
{
	if (window.innerHeight && window.scrollMaxY || window.innerWidth && window.scrollMaxX) {    
		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...would also work in Explorer 6 Strict, Mozilla and Safari
		yScroll = document.body.offsetHeight;
		xScroll = document.body.offsetWidth;
	}
	olay=document.getElementById('overlay');
	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 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 resizeLBox(){
	dbox=document.getElementById('box');
	frame=document.getElementById('lbframe');
	dbox.style.height=getIFrameHeight(frame)+40+'px';
	frame.height=getIFrameHeight(frame);
}

function getIFrameHeight(frame)
{
	if (frame.contentDocument) 
    		cdoc=frame.contentDocument;
	else if(frame.contentWindow)  
		cdoc = frame.contentWindow.document;  
	else if(frame.document)  
		cdoc = frame.document;

	ifrheight = cdoc.body.offsetHeight;
	return ifrheight;
}

function visSelectsAndFlash(visibility){
	selects = document.getElementsByTagName('select');
	for(i = 0; i < selects.length; i++) {
		selects[i].style.visibility = visibility;
	}
	for(i = 0; i < idstohide.length; i++) {
		currentid=document.getElementById(idstohide[i]);
		if(currentid)
			currentid.style.visibility = visibility;
	}
}