addEvent(window, 'unload', EventCache.flush, false);

function initNavigation() {
  var uls = document.getElementsByTagName('ul');
  for (var u = 0; u < uls.length; u++) {
    if (uls[u].className.search(/\bnavigation\b/) == -1) continue;
    var lis = uls[u].getElementsByTagName('li');
    for (var i = 0; i < lis.length; i++) {
      var node = lis[i];
      if (node.nodeName.toLowerCase() == 'li' && node.getElementsByTagName('ul').length > 0) {
        addEvent(node, 'mouseover', getMoverFor(node), false);
        addEvent(node, 'mouseout', getMoutFor(node), false);
        node.getElementsByTagName('ul')[0].className = 'sub';
      }
    }
  }

}

function initGallery() {
	var imgs = document.getElementsByTagName('a');
	for(var u = 0; u < imgs.length; u++) {
		if (imgs[u].className.search(/\bGaleryPicA\b/) == -1) continue;
		addEvent(imgs[u], 'click', changePic, false);
	}
}

function initNews() {
	var imgs = document.getElementsByTagName('a');
	for(var u = 0; u < imgs.length; u++) {
		if (imgs[u].className.search(/\bNewsA\b/) == -1) continue;
		addEvent(imgs[u], 'click', changeNews, false);
	}
}


addOnLoadListener(initNavigation);
addOnLoadListener(initGallery);
//addOnLoadListener(initNews);

function changeNews(e) {
	var el;
	if(window.event && window.event.srcElement) { el=window.event.srcElement; }
	if(e && e.target) { 	el=e.target; }
	if(!el) return;

	while(el.nodeName.toLowerCase() != 'a' && el.nodeName.toLowerCase() != 'body') {
		el=el.parentNode;
	}

	document.getElementById('GaleryPicName').firstChild.nodeValue = el.firstChild.alt;
	var imgSrc = document.getElementById('GaleryPicSrc');
	imgSrc.src=el.firstChild.src.replace('galery70','galery300');

	if(window.event) { window.event.returnValue=false; }
	if(e && e.preventDefault) { e.preventDefault(); }
}

function changePic(e) {
	var el;
	if(window.event && window.event.srcElement) { el=window.event.srcElement; }
	if(e && e.target) { 	el=e.target; }
	if(!el) return;

	while(el.nodeName.toLowerCase() != 'a' && el.nodeName.toLowerCase() != 'body') {
		el=el.parentNode;
	}

	document.getElementById('GaleryPicName').firstChild.nodeValue = el.firstChild.alt;
	var imgSrc = document.getElementById('GaleryPicSrc');
	imgSrc.src=el.firstChild.src.replace('galery70','galery300');

	if(window.event) { window.event.returnValue=false; }
	if(e && e.preventDefault) { e.preventDefault(); }
}


function getMoverFor(node) {
  return function(e) { mover(e, node); };
}

function getMoutFor(node) {
  return function(e) { mout(e, node); };
}

function mover(e, targetElement) {
  var el = window.event ? targetElement : e ? e.currentTarget : null;
  if (!el) return;
  clearTimeout(el.outTimeout);
  for (var i = 0; i < el.childNodes.length; i++) {
    var node = el.childNodes[i];
    if (node.nodeName.toLowerCase() == 'ul') {
      node.style.display = 'block';
      node.parentNode.getElementsByTagName('a')[0].style.backgroundColor = '#FFCC22';
    }
  }
}

function mout(e, targetElement) {

//alert("mout");

  var el = window.event ? targetElement : e ? e.currentTarget : null;
  if (!el) return;
  el.outTimeout = setTimeout(function() { mout2(el); }, 0);
}

function mout2(el) {
  for (var i = 0; i < el.childNodes.length; i++) {
    var node = el.childNodes[i];
    if (node.nodeName.toLowerCase() == 'ul') {
      node.style.display = 'none';
      node.parentNode.getElementsByTagName('a')[0].style.backgroundColor = 'transparent';
    }
  }
}


/* Меняем стандартное поведение ссылок */
function initLinks() {
	var as=document.getElementsByTagName('a');
	for(i=0; i<as.length; i++) {
		if(as[i].id) addEvent(as[i], 'click', setReference, false);
	}
}

addOnLoadListener(initLinks);


function setReference(e) {
	var curObj = (window.event)? window.event.srcElement : e.target;
	var curEvent = (window.event)? window.event : e;
	alert(curObj);
	curEvent.preventDefault();
	alert(curObj.parentNode);
}

