//title=gopic.js;version=0.0.0.8;date=2008-11-15
function go_pic(xxx){/////////////////////////////////////////////////////////////////////////////
	var selects = document.getElementsByTagName("select"); //ховаємо випадаючий хлам
	for (i = 0; i != selects.length; i++) {selects[i].style.visibility = "hidden";}
	var flashObjects = document.getElementsByTagName("object"); //ховаємо всілякі активні компоненти
	for (i = 0; i < flashObjects.length; i++) {flashObjects[i].style.visibility = "hidden";}
	var flashEmbeds = document.getElementsByTagName("embed");
	for (i = 0; i < flashEmbeds.length; i++) {flashEmbeds[i].style.visibility = "hidden";}
	var yScroll; //обчислення розмірів і простору для компонентів перегляду картинки
	if (window.innerHeight && window.scrollMaxY) {yScroll = window.innerHeight + window.scrollMaxY;}
	else if (document.body.scrollHeight > document.body.offsetHeight){yScroll = document.body.scrollHeight;}
	else {yScroll = document.body.offsetHeight;}
	var windowHeight;
	if (self.innerHeight) {windowHeight = self.innerHeight;}
	else if (document.documentElement && document.documentElement.clientHeight) {windowHeight = document.documentElement.clientHeight;}
	else if (document.body) {windowHeight = document.body.clientHeight;}
	if(yScroll < windowHeight){pageHeight = windowHeight;}
	else {pageHeight = yScroll;}
	document.getElementById('overlay').style.height=pageHeight+"px";
	var yScroll;
	if (self.pageYOffset) {yScroll = self.pageYOffset;}
	else if (document.documentElement && document.documentElement.scrollTop){yScroll = document.documentElement.scrollTop;}
	else if (document.body) {yScroll = document.body.scrollTop;}
	var lightboxTop = yScroll + (windowHeight / 10);
	document.getElementById('lightbox').style.top=lightboxTop+"px";
	//опис попереднього підвантаження картинки і обчислення її розміщення
	imgPreloader = new Image();
	imgPreloader.onload=function(){
		document.getElementById('lightboxImage').src=imgPreloader.src;
		document.getElementById('outerImageContainer').style.width=(imgPreloader.width+20)+"px";
		document.getElementById('outerImageContainer').style.height=(imgPreloader.height+20)+"px";
		document.getElementById('overlay').style.display=''; //показати темний контейнер-фон
		document.getElementById('lightbox').style.display=''; //показати білий контейнер
		imgPreloader.onload=function(){}; //пуста функція-заглушка для попередження багів
	};
	
	imgPreloader.src=xxx; //запуск завантаження картинки
}
// створення структури для відображення картинок
// стилі інтегровано в хтмл
// по-замовчуванню контейнери невидимі
if(!document.getElementById("overlay")){
	document.write("<div id=\"overlay\" style=\"position:absolute; top:0; left:0; z-index:90; width:100%; height:500px; background-color: #000; opacity: 0.7; filter: alpha(style=0, opacity=70, finishopacity=70); display: none;\"></div><div id=\"lightbox\" style=\"position:absolute; left:0; width:100%; z-index:100; text-align:center; line-height:0; display:none\"><div id=\"outerImageContainer\" style=\"position:relative; background-color:#FFFFFF; width:1px; height:1px; margin:0 auto;\"><div id=\"imageContainer\" style=\"padding: 10px 10px 10px 10px;\"><img id=\"lightboxImage\"></div></div></div>");
	//реакція темного на на клікання мишкою - сховати перегляд
	document.getElementById("overlay").onclick = function() {
		document.getElementById('lightbox').style.display='none';
		document.getElementById('overlay').style.display='none';
		var selects = document.getElementsByTagName("select"); //відновлення прихованих раніше "шкідливих" компонентів сторінки
		for (i = 0; i != selects.length; i++) {selects[i].style.visibility = "visible";}
		var flashObjects = document.getElementsByTagName("object");
		for (i = 0; i < flashObjects.length; i++) {flashObjects[i].style.visibility = "visible";}
		var flashEmbeds = document.getElementsByTagName("embed");
		for (i = 0; i < flashEmbeds.length; i++) {flashEmbeds[i].style.visibility = "visible";}
	};
	//аналогічна реакція білого контейнера на клік мишки - сховати перегляд
	document.getElementById("lightbox").onclick = function() {
		document.getElementById('lightbox').style.display='none';
		document.getElementById('overlay').style.display='none';
		var selects = document.getElementsByTagName("select");
		for (i = 0; i != selects.length; i++) {selects[i].style.visibility = "visible";}
		var flashObjects = document.getElementsByTagName("object");
		for (i = 0; i < flashObjects.length; i++) {flashObjects[i].style.visibility = "visible";}
		var flashEmbeds = document.getElementsByTagName("embed");
		for (i = 0; i < flashEmbeds.length; i++) {flashEmbeds[i].style.visibility = "visible";}
	};
}
//перехоплення подій клікання для документу
document.onmousedown=function(e){
	if(typeof(e)!="undefined") but=e.which; 
		else but=event.button;
	if(but!=1) return true; else return false;	
};

document.onclick=function(e){
	var z=((e = e || window.event).target || e.srcElement); //отримувач події
	var s; var m; var n;
	//якщо клікнули над картинкою котра обрамлена в посилання на файл ДЖПЕГ, то...
	if(z.tagName.toLowerCase()=="img" && z.parentNode.tagName.toLowerCase()=="a")
	{	
		z=z.parentNode;
		s=z.href;//отримуємо лінк який існує навколо картинки
		if(s.indexOf('.jpg')<0) return true; //якщо посилання не на джпег-файл, то не перехоплювати клікання
		
		go_pic(s); //показати картинку на яку посилався лінк
		return false;//клікання перехоплене і опрацьоване
	}
	//якщо клікнули над картинкою і вона не є результатом попереднього перегляду даного скрипта, то....
	if(z.tagName.toLowerCase()=="img" && z.id!='lightboxImage')
	{	
		s=z.src;
		m=s.indexOf('_i.jpg'); //чи картинка відповідає формату назви тематичної картинки
		if(m<0) {
			m=s.indexOf('_s.jpg');
			if(m<0) return true;//якщо дана картинка не схожа на тематичну картинку котру можна збільшити, то не перехоплювати клікання
		}
		n=s.length;
		s=s.substring(0,m)+'_b.jpg';//формування лінка для великої тематичної картинки
		go_pic(s);//відображення картинки
		return false;//клікання перехоплене і опрацьоване
	}

	return true;//клікання не задовольнило правилам реагування даного скрипта, клікання не перехоплене
};


