document.createElement('img').setAttribute('src','../pict/gen/photo_big.jpg'); 
/*
    Функция findOdds(node, arr) разыскивает в поддереве узла node «паразитные» текстовые узлы (состоящие только из пробелов и переводов строки) и помещает эти узлы в массив arr
*/

function findOdds(node, arr) {
  var space = /^[^\u0021-\uffff]*$/g;
  if(node.nodeType == 3) {
    if(node.nodeValue.match(space)) {
      arr.push(node);
    }
  }
  else if(node.nodeType == 1) {
    for(var n = node.firstChild; n; n = n.nextSibling) {
      findOdds(n, arr);
    }
  }
}


/*
    Функция removeOdds(node) удаляет из поддерева узла node «паразитные» текстовые узлы (состоящие только из пробелов и переводов строки)
*/

function removeOdds(node) {
  var odds = new Array();
  findOdds(node, odds);
  for(var i = 0; i < odds.length; i++) {
    odds[i].parentNode.removeChild(odds[i]);
  }
}


/*
    Функция placeDiv(div) размещает элемент div в центре окна браузера и делает его видимым
*/

function placeDiv(div, brows) {
	  var w = div.offsetWidth;
	  var W = document.documentElement.offsetWidth;
	  var left = Math.round(W/2 - w+450);
	  if(brows=='win'){
		  var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]);
		  if(win_ie_ver<7){
		 	 left = Math.round(W/2 - w+440);
		  }
	  }
	  div.style.left = left + 'px';
	  var top =152;
	  div.style.top = top + 'px';
	  div.style.visibility = 'visible';
}

function placeLoad(loading) {
	var W = document.documentElement.offsetWidth;
	var H = document.documentElement.offsetHeight;
	loading.style.top =(H/2-200)+'px';
	loading.style.left =Math.round(W/2+200)+'px';
	loading.style.display = 'block';
}

/*
    Функция makeDiv(imgSrc, alt) создаёт элемент div с изображением, заголовком и крестиком для закрытия. Аргументы: imgSrc — адрес изображения, alt — альтернативное описание изображения
*/

function makeDiv(imgSrc, div, img, brows) {
   img.setAttribute('src', imgSrc);
  	placeDiv(div, brows);

}


/*
    Функция checkImg(imgSrc, alt) каждые 50 мс проверяет, загрузилось ли изображение с адресом imgSrc. Если оно загрузилось, вызывается функция makeDiv для отображения соответствующего элемента div на странице
*/

function checkImg(imgSrc, div, img, brows) {
  var loading = document.getElementById('loading');
  placeLoad(loading);

  var pic = new Image();
  pic.src = imgSrc;
  if(pic.complete) {
    makeDiv(imgSrc, div, img, brows);
   	loading.style.display = 'none';
  }
}


function handler(brows) {

  removeOdds(document.documentElement);
  // удалить со страницы «паразитные» текстовые узлы (состоящие только из пробелов и переводов строки)

  var pictures = document.getElementById('gall');
  // таблица, в ячейках которой находятся миниатюры изображений

  var links = pictures.getElementsByTagName('a');
  // массив гиперссылок внутри таблицы pictures
  var div=document.getElementById('popup');
  var img=div.getElementsByTagName('img')[0];

  for(var i = 0; i < links.length; i++) {
    links[i].onmouseover = function(e) {
      var imgSrc = this.getAttribute('href');
	   if(!e){
			var e=window.event;//  если не работает в IE
		}
		 checkImg(imgSrc, div, img, brows);
    }
	div.onmouseout = function() {
		if(div.style.visibility=='visible'){
				div.style.visibility = 'hidden';
		}
 	}
	links[i].onclick = function() {
		return false;
	}
  }
}

if(window.addEventListener){
	var brows='ff';
	window.addEventListener('load',function() {handler(brows); }, false);

}else if(window.attachEvent){
	var brows='win';
	window.attachEvent('onload', function() {handler(brows); }); 
}

