          function myFunc(){
            //frames["info"].location.reload(true);
            //parent.windows.location.reload();
          }

function MM_openBrWindow(theURL,winName,features) { //v2.0
  return  window.open(theURL,winName,features);
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {
    if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
      document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; 
    }
  }else 
    if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) 
      location.reload();
}
MM_reloadPage(true);

// MSIE - document.body.clientWidth, clientHeight 
// Netscape, Mozilla, Opera - innerWidth, innerHeight
 var tim; // òàéìåð

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);



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 getEventTarget(event) {
	var target;
	if (window.event)
		event = window.event;
	if(event.target)
		target = event.target; 
	else
		target = event.srcElement;
	return target;
}

addEvent(window, 'load', 
function() {
	var Items = document.getElementsByTagName('ADDRESS');
	for(var i=0; i<Items.length; i++) {
		var Item = Items[i];
		var Last = Item;
		while(Last = Last.previousSibling) {
			var text = Last.textContent? Last.textContent : Last.innerText;
			text = text.replace(/^\s+|\s+$/g, '');
			if(text)
				break;
		}
		
		if(Last) {
			Last.className+= ' moreBlock';
			addEvent(Last, 'click', 
			function(event) {
				var Target = getEventTarget(event);
				while(Target = Target.nextSibling) {
					if(Target.tagName=='ADDRESS')
						break;
				}
				
				if(Target) {
					var style = Target.style.display;
					var Items = document.getElementsByTagName('ADDRESS');
					for(var i=0; i<Items.length; i++)
						Items[i].style.display = 'none';
					if(style!='block')
						Target.style.display = 'block';
				}
			}
			);
		} else {
			Item.style.display = 'block';
		}
	}
}
);





var onCountClickButton = null;
function onCountClickExecute(val) {
	Button = onCountClickButton;
	val = parseInt(val);
	if(isNaN(val) || val<0 || Button.value==val) {
		onCountClickButton = null;
		return false;
	}
	
	Button.value = val;
	Button.click();
	return true;
}
function onCountClick(Button) {
	if(onCountClickButton)
		return true;
	var old_id = Button.id;
	Button.id = 'onCountClickInputID';
	ae_prompt(onCountClickExecute, 'Ââåäèòå êîëè÷åñòâî', (isNaN(Button.value)? 1: Button.value));
	Button = document.getElementById('onCountClickInputID');
	Button.id = old_id;
	onCountClickButton = Button;
	return false;
}


//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();
	var Items = document.getElementsByTagName('object');
	for(var i=0; i<Items.length; i++)
		Items[i].style.visibility = 'hidden';
	var Items = document.getElementsByTagName('embed');
	for(var i=0; i<Items.length; i++)
		Items[i].style.visibility = 'hidden';
}
 
// 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';
	var Items = document.getElementsByTagName('object');
		for(var i=0; i<Items.length; i++)
			Items[i].style.visibility = 'visible';
	var Items = document.getElementsByTagName('embed');
		for(var i=0; i<Items.length; i++)
			Items[i].style.visibility = 'visible';
	//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 
}


function ShowScroll(block) {
	if(!block.style)
		block = document.getElementById(block);
	//link = document.getElementById(link);
	if(!block.id)
		block.id = Math.random(0,9999999999);
	//if(!link.id)
	//	link.id = Math.random(0,9999999999);
	
	if(!block.step)
		if(block.style.display=='block') {
			block.style.height = block.offsetHeight+'px';
			block.step = -20;
		} else
			block.step = 20;
	//link.className = 'selected';
	block.style.display = 'block';
	block.style.overflow = 'hidden';
	if(!block.height)
		block.height = block.offsetHeight;
	
	var height = parseFloat(block.style.height);
	if(!height)
		height = 0;
	height+= block.step;
	if(height<=0) {
		block.style.display = 'none';
		block.style.overflow = '';
		block.style.height = '';
		block.step = 0;
		//link.className = '';
		return;
	}
	if(height>=block.height) {
		block.style.overflow = '';
		block.style.height = '';
		block.step = 0;
		return;
	}
	block.style.height = height+'px';
	setTimeout('ShowScroll("'+block.id+'")', 100);
}
