/*
bdGallery 1.1
Copyright by Bogumil Ryt
bogumilryt.com
All rights reserved
*/
var bdgImgDir = '/i/';
var bdgImages = new Array();
var bdgCurrent = 0;
var ie=navigator.appName=="Microsoft Internet Explorer";
var ie_ver = parseInt(navigator.appVersion.substring(navigator.appVersion.indexOf("MSIE")+5,navigator.appVersion.length));
var ie6 = ie && ie_ver<=6;
var bgdClose=true;
function onload(){
	var bdg = document.getElementById('bdGallery');
	if(!bdg)
		return;
	bdgImages = bdg.getElementsByTagName('img');
}
window.onresize = bdg_resize;

function get_size(kind){
	var w = 0;
	var h = 0;
	if(typeof(window.innerWidth) == 'number'){
		w = window.innerWidth;
		h = window.innerHeight;
	}
	else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)){
		w = document.documentElement.clientWidth;
		h = document.documentElement.clientHeight;
	}
	else if(document.body && (document.body.clientWidth || document.body.clientHeight)){
		w = document.body.clientWidth;
		h = document.body.clientHeight;
	}
	if(kind=='h')
		return h;
	else
		return w;
}

function bdg_get_images(img){
	var bdg = img.parentNode;
	while(true){
		if(bdg.id == 'bdGallery')
			break;
		if(bdg.nodeName.toLowerCase()=='body')
			return;
		bdg = bdg.parentNode;
	}

	bdgImages = bdg.getElementsByTagName('img');
	for(var i=0;i<bdgImages.length;i++){
		if(bdgImages[i] == img)
			bdgCurrent = i;
	}
}

function bdg_resize(){
	gallery =  document.getElementById('bdg');
	if(gallery){
		gallery.style.width = get_size('w')+'px';
		gallery.style.height = get_size('h')+'px';
		if(ie6)
			gallery.childNodes[0].style.height = get_size('h')+'px';
	}	
}

function bdg_move(){
	gallery =  document.getElementById('bdg');
	if(gallery)
		gallery.style.top = document.documentElement.scrollTop + 'px';
}

function bdg(imgb,img){
	bdg_get_images(img);
	var gallery = document.createElement('div');
	gallery.style.position = ie6 ? gallery.style.position='absolute' : gallery.style.position = 'fixed';
	//try{gallery.style.position = 'fixed';} catch(e){gallery.style.position='absolute';};
	gallery.style.width = get_size('w')+'px';
	gallery.style.height = get_size('h')+'px';	
	gallery.style.top = 0;
	gallery.style.left = 0;
	gallery.style.zIndex = 2000;
	gallery.id = 'bdg';
	gallery.onclick = function(){
		setTimeout(function(){
			if(bgdClose)
				bdg_close();
			else
				bgdClose=true;
		},10);
	}
		
	if(ie6)
		window.onscroll = bdg_move;
	var h = ie6 ? get_size('h')+'px' : '100%';
	
	if(typeof gallery.style.opacity!='undefined'){
		var image = '<div style="position:absolute;top:0;left:0;width:100%;height:'+h+';background:#000;opacity:0.5;"></div>';
		var img_opacity = 'opacity:0';
		var navi_opacity = 'opacity:0';
	}
	else if(typeof gallery.style.filter!='undefined'){
		var image = '<div style="position:absolute;top:0;left:0;width:100%;height:'+h+';background:#000;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);"></div>';
		var img_opacity = 'filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);';
		var navi_opacity = 'display:none;';
	}
	else{
		var image = '<div style="position:absolute;top:0;left:0;width:100%;height:'+h+';"></div>';
		var img_opacity = '';
		var navi_opacity = '';
	}
	
	var footer = '<div style="background:#fff;padding:7px 3px;line-height:16px;text-align:left;color:#2e3436;">';
	footer += '<a href="javascript:bdg_close();"><img src="'+bdgImgDir+'gal_close.gif" alt="X" style="float:right;border:none;padding:10px;"></a><b>'+img.alt+'</b>';
	if(bdgImages.length>0)
		footer += '<div style="color:#9e9f9f;font-size:10px;">Zdj&#281;cie '+(bdgCurrent+1)+' z '+bdgImages.length+'</div>';
	footer += '</div>';
	
	
	
	var max_w = get_size('w')-70;
	var max_h = get_size('h')-100
	var navi = bdgCurrent>0 ? '<a href="javascript:bdg_prev();" style="display:block;height:100%;width:30%;outline:none;position:absolute;left:0;top:0;background:url(blank.gif);"><img style="position:absolute; left:0; top:50%; margin-top:-15px;" src="'+bdgImgDir+'gal_prev.png" alt="$laquo;"></a>' : '';
	navi += bdgCurrent<bdgImages.length-1 ? '<a href="javascript:bdg_next();" style="display:block;height:100%;width:30%;outline:none;position:absolute;right:0;top:0;background:url(blank.gif);"><img style="position:absolute; right:0; top:50%; margin-top:-15px;" src="'+bdgImgDir+'gal_next.png" alt="$raquo;"></a>' : '';
	image += '<table style="position:relative;width:100%;height:100%;font-size:12px;color:#fff;font-family:arial,sans-serif;" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:middle;">';	
	image += '<table cellpadding="0" cellspacing="5" style="background:#fff;margin:auto;" onclick="bgdClose=false;"><tr><td id="bdgLoader"><div style="position:relative;min-height:100px; min-width:100px;" id="bdgCont"><img style="max-height:'+max_h+'px;max-width:'+max_w+'px;'+img_opacity+'" id="bdgImage" src="'+imgb+'" alt="'+img.alt+'" title="'+img.title+'"/><div id="bdgNavi" style="position:absolute;left:0;top:0;width:100%;height:100%;'+navi_opacity+'">'+navi+'</div></div></td></tr><tr><td>'+footer+'</td></tr></table>';
	image += '</div></td></tr></table>';
	gallery.innerHTML = image;
	
	set_loader = true;
	var temp_image = new Image();
	temp_image.onload = function(){
		var loader = document.getElementById('bdgLoader');
		if(loader)
			loader.style.background='';
		set_loader = false;
		bdg_fadein('bdgImage',0,100,300,20);
	}
	temp_image.src = imgb;
	
	setInterval(function(){
		if(set_loader)
			document.getElementById('bdgLoader').style.background = 'url('+bdgImgDir+'gal_loading.gif) no-repeat center';
	},100);
	
	
	var is_fade=false;
	setInterval(function(){
		var image_cont = document.getElementById('bdgCont');
		image_cont.onmousemove = function(){
			do_fadeout=false;
			if(ie){
				document.getElementById('bdgNavi').style.display='block';
				is_fade = true;
				return;
			}
			if(!is_fade){
				bdg_fadein('bdgNavi',0,100,300,20);
				is_fade = true;
			}
		}
		image_cont.onmouseout = function(){
			do_fadeout=true;
			interval = setTimeout(function(){
				if(ie && do_fadeout && is_fade){
					document.getElementById('bdgNavi').style.display='none';
					return;
				}
				if(do_fadeout && is_fade){
					bdg_fadein('bdgNavi',100,0,300,20);
					is_fade=false;
				}
			},10);
		}		
		
		var navis = document.getElementById('bdgNavi').getElementsByTagName('img');
		for(var i=0;i<navis.length;i++){
			navis[i].onmouseover = function(){
				setTimeout(function(){do_fadeout=false;},5);
			}
		};
	},10);
	
	
	document.body.appendChild(gallery);
	if(ie6)
		bdg_move();
		
	bdg_old_onkeydown = document.onkeydown;
	document.onkeydown = bdg_onkeydown;
}

function bdg_next(){
	if(bdgCurrent!=bdgImages.length-1)
		bdgCurrent++;
	bdg_close();
	bdgImages[bdgCurrent].onclick();
}

function bdg_prev(){
	if(bdgCurrent!=0)
		bdgCurrent--;
	bdg_close();
	bdgImages[bdgCurrent].onclick();
}

function bdg_close(){
	document.getElementById('bdg').parentNode.removeChild(document.getElementById('bdg'));
	document.onkeydown = bdg_old_onkeydown;
}

function bdg_onkeydown(e){
	e = e || window.event;
	var keynum = e.keyCode || e.which;
	if(keynum==37 && bdgCurrent>0) //left
		bdg_prev();
	if(keynum==39 && bdgCurrent<bdgImages.length-1) //right
		bdg_next();
	if(typeof bdg_old_onkeydown=='function')
		bdg_old_onkeydown();	
}

function bdg_opacity(e,op){
	var el = document.getElementById(e);
	if(!el)
		return;
	var es = el.style;

	if(typeof es.opacity!='undefined')
		es.opacity = op/100;
	else if(typeof es.filter!='undefined')
		es.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+op+")"; 
	else if(typeof es.MozOpacity!='undefined')
		es.MozOpacity = op/100;
	else if(typeof es.KhtmlOpacity!='undefined')
		es.KhtmlOpacity = op/100;
}

function bdg_fadein(e,frm,to,spd,fps){
	var steps = Math.ceil(fps * (spd / 1000));
	var delta = (to - frm) / steps; 	
	bdg_fadein_step(e,0,steps,frm,delta,(spd/steps));
}

function bdg_fadein_step(e,step,steps,frm,delta,time){
	bdg_opacity(e, Math.round(parseInt(frm) + (delta * step)));
	if(step<steps)
		setTimeout("bdg_fadein_step('"+e+"',"+(step+1)+","+steps+","+frm+","+delta+","+time+");",time);
}