//<!-- stdlib.js | Определение стандартных констант и функций

dom = (document.getElementById) ? true : false;
nn4 = (document.layers) ? true : false;
ie = (document.all) ? true : false;
ie4 = ie && !dom;
Mac = (navigator.appVersion.indexOf("Mac") != -1);
ie4mac = ie4 && Mac;
opera = (navigator.userAgent.indexOf("Opera")!=-1);
Konqueror = (navigator.userAgent.indexOf("Konqueror")!=-1);

var stdSaveMouseMove, stdMovingLayer=null, stdHintOffsetX, stdHintOffsetY; 

function checkmail(email)
{if (email == "") return(false);
 if (email.indexOf(".") == -1) return(false);
 dog = email.indexOf("@");
 if (dog == -1) return(false);
 if ( (dog < 1) || (dog > email.length - 5))return(false);
 if ((email.charAt(dog - 1) == '.') || (email.charAt(dog + 1) == '.')) return(false);
 if (email.charAt(email.length - 1) == '.') return(false);
 return true;
}

function showElem(elemId) {
if (dom) document.getElementById(elemId).style.visibility = "visible";
	else if (ie4) document.all[elemId].style.visibility = "visible";
		else if (nn4) document.layers[elemId].visibility = "show";
}

function hideElem(elemId) {
if (dom) document.getElementById(elemId).style.visibility = "hidden";
	else if (ie4) document.all[elemId].style.visibility = "hidden";
		else if (nn4) document.layers[elemId].visibility = "hide";
}

function putElem(elemId) {
if (dom) document.getElementById(elemId).style.display = "block";
	else if (ie4) document.all[elemId].style.display = "block";
}

function removeElem(elemId) {
if (dom) document.getElementById(elemId).style.display = "none";
	else if (ie4) document.all[elemId].style.display = "none";
}

function moveElem(idname,x,y)
{
if (dom)
	with(eval(idname)){
		style.left = x;
		style.top = y;
	}
else if(nn4){
		document.layers[idname].left=x;
		document.layers[idname].top=y;
	}
}

function getMouseX(e)
{
if(nn4)
	if(e) return e.pageX;
	else  return null;
else
	if(document.all) return event.x + document.body.scrollLeft;
	else return null;
}

function getMouseY(e)
{
if(nn4)
	if(e) return e.pageY;
	else  return null;
else
	if(document.all) return event.y + document.body.scrollTop;
	else return null;
}

function HintMouseMove(e)
{
if(stdMovingLayer)
	moveElem(stdMovingLayer,getMouseX(e)+stdHintOffsetX,getMouseY(e)+stdHintOffsetY);
}

function startHint(idname,x,y){
stdMovingLayer=idname;
stdHintOffsetX = x;
stdHintOffsetY = y;
stdSaveMouseMove = document.onmousemove; 
if(nn4) document.captureEvents(Event.MOUSEMOVE); 
document.onmousemove = HintMouseMove; 
if(ie) moveElem(stdMovingLayer,getMouseX()+stdHintOffsetX,getMouseY()+stdHintOffsetY);
showElem(idname);
}

function stopHint(){
if(nn4) document.releaseEvents(Event.MOUSEMOVE);
document.onmousemove = stdSaveMouseMove;
hideElem(stdMovingLayer); 
stdMovingLayer = null;
}

function changeElem(elemId)
{
if(dom) 
	if(document.getElementById(elemId).style.display == "block")
		document.getElementById(elemId).style.display = "none"
	else
		document.getElementById(elemId).style.display = "block"

else if (ie4) 
	if(document.all[elemId].style.display == "block")
		document.all[elemId].style.display = "none";
	else
		document.all[elemId].style.display = "block";
}


function relPosX(which) {
if (nn4) {
return document.layers[which].pageX;
} else {
var elem = (dom)? document.getElementById(which) : document.all[which];
var pos = elem.offsetLeft;
while (elem.offsetParent != null) {
elem = elem.offsetParent;
pos += elem.offsetLeft;
if (elem.tagName == 'BODY') break;
} return pos;
}
}

function relPosY(which) {
if (nn4) {
return document.layers[which].pageY;
} else {
var elem = (dom)? document.getElementById(which) : document.all[which];
var pos = elem.offsetTop;
while (elem.offsetParent != null) {
elem = elem.offsetParent;
pos += elem.offsetTop;
if (elem.tagName == 'BODY') break;
} return pos;
}
}

//-->
