
function addEvent(element, event, func) {
	if(!element)
		return false;
	if(event.substr(0, 2)=='on')
		event = event.substr(2, event.length);
	if (element.addEventListener) {
		element.addEventListener(event, func, false);
	} else if (document.attachEvent) {
		element.attachEvent('on' + event, func);
	} else {
		eval('element.on' + event + ' = func;');
	}
}

function fixPNG(element,method)
{
  //Если браузер IE версии 5.5-6
  if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
    if (method === undefined ) method = '';
    var src;
    
    if (element.tagName=='IMG') //Если текущий элемент картинка (тэг IMG)
    {
      if (/\.png$/.test(element.src)) //Если файл картинки имеет расширение PNG
      {
        src = element.src;
        element.src = "/img/spacer.gif"; //заменяем изображение прозрачным gif-ом
      }
    }
    else //иначе, если это не картинка а другой элемент
    {
      //если у элемента задана фоновая картинка, то присваеваем значение свойства background-шmage переменной src
      src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
      if (src)
      {
        src = src[1]; //берем из значения свойства background-шmage только адрес картинки
        element.runtimeStyle.backgroundImage="none"; //убираем фоновое изображение
      }
    }
    //если, src не пуст, то нужно загрузить изображение с помощью фильтра AlphaImageLoader
    if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='" + method + "')";
  }
}



function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



//ae_prompt
// This is variable for storing callback function
var ae_cb = null;
 
// this is a simple function-shortcut
// to avoid using lengthy document.getElementById
function ae$(a) { return document.getElementById(a); }
 
// This is a main ae_prompt function
// it saves function callback 
// and sets up dialog
function ae_prompt(cb, q, a) {
	if(!ae$('aep_t')) {
		document.body.innerHTML+= '<div id="aep_ovrl" style="display: none;">&nbsp;</div><div id="aep_ww" style="display: none;"><div id="aep_win"><div id="aep_t"></div><div id="aep_w"><span id="aep_prompt"></span><br /><input type="text" id="aep_text" onKeyPress="if((event.keyCode==10)||(event.keyCode==13)) ae_clk(1); if (event.keyCode==27) ae_clk(0);"><br><div><input type="button" id="aep_ok" onclick="ae_clk(1);" value="OK"><input type="button" id="aep_cancel" onclick="ae_clk(0);" value="Отмена"></div></div></div></div>';
	}
	ae_cb = cb;
	ae$('aep_t').innerHTML = document.domain + ' запрашивает данные:';
	ae$('aep_prompt').innerHTML = q;
	ae$('aep_text').value = a;
	ae$('aep_ovrl').style.display = ae$('aep_ww').style.display = '';
	ae$('aep_text').focus();
	ae$('aep_text').select();
}
 
// This function is called when user presses OK(m=0) or Cancel(m=1) button
// in the dialog. You should not call this function directly.
function ae_clk(m) {
	// hide dialog layers 
	ae$('aep_ovrl').style.display = ae$('aep_ww').style.display = 'none';
	//window.status = ae$('aep_ww').style.display+'!!!';
	if (!m)  
		ae_cb(null);  // user pressed cancel, call callback with null
	else
		ae_cb(ae$('aep_text').value); // user pressed OK 
}





addEvent(window, 'load', function() {
	var links = document.getElementsByTagName('A');
	for(var i=0; i<links.length; i++) {
		var a = links[i];
		if(a.className=='_blank') {
			addEvent(a, 'click', function(event) {
				var a;
				if(event.target)
					a = event.target; 
				else
					a = event.srcElement;
				
				if(a.tagName!='A')
					a = a.parentNode;
				if(a.tagName!='A' || !a.href)
					return;
				var popupWin = window.open(a.href, 'elar', 'width=800,height=600,top=5,left=5, scrollbars, resizable');
				popupWin.focus();
				if (window.event) {
					event = window.event;
					event.returnValue = false;
				} else
					event.preventDefault();
			});
		}
	}
	
	var imgs = document.getElementsByTagName('IMG');
	for(var i=0; i<links.length; i++) {
		var img = imgs[i];
		if(img && img.className=='_over') {
			addEvent(img, 'mouseover', function(event) {
				var over;
				if(event.target)
					over = event.target; 
				else
					over = event.srcElement;
				var img = document.getElementById('_overto');
				if(!img)
					return;
				img.src = over.src;
			});
		}
		if(img && img.className=='_overto')
			img.id = img.className;
	}
}
);