//*********************************************************
//Всплывающая подсказка
//************************
sniffer();

function getMouseXY(e) {
   if ( is_ie4up ) {
   	if (div_name != false) {
   		tempX = event.clientX;
   		tempY = event.clientY;
   		if ( (tempX + div_name.clientWidth + 5) > document.body.clientWidth ) {
   		   tempX -= (div_name.clientWidth + 5);
   		} else {
            //tempX += 10;
   		}
   		if ( (tempY + div_name.clientHeight - 50) > document.body.clientHeight ) {
   		   tempY -= (div_name.clientHeight - 10);
   		} else {
            //tempY -= 20;
   		}
   		tempX += document.body.scrollLeft;
   		tempY += document.body.scrollTop;
   	   div_name.style.pixelLeft = tempX;
   	   div_name.style.pixelTop = tempY;
      }
	}
}

function show_div(div_mark) {
   if ( is_ie4up ) {
  	   div_name = document.all(div_mark); // глобальная переменная
      getMouseXY();
  	   div_name.style.visibility = 'visible';
   }
}

function hide_div() {
   if ( is_ie4up ) {
     	if (div_name != false) {
         div_name.style.visibility = 'hidden';
      }
      div_name = false;
   }
}

function sniffer() {
// *** BROWSER VERSION ***
   var agt = navigator.userAgent.toLowerCase();
   
   // Note: On IE5, these return 4, so use is_ie5up to detect IE5.
   var is_major = parseInt(navigator.appVersion);
   var is_minor = parseFloat(navigator.appVersion);

   is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
   is_ie3    = (is_ie && (is_major < 4));
   is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
   is_ie4up  = (is_ie && (is_major >= 4));
   is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
   is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
}



/*********************************************************************
Фреймовые меню
Function to find a spesified frame - loops all frames 3 levels deep 
(should be enough in most cases, I was to lazy to make a proper one)
*********************************************************************/
function cm_findFrame(frameName){
	obj=top; var frameObj=0;
	for(i=0;i<obj.frames.length;i++){
		if(obj.frames[i].name==frameName){frameObj=obj.frames[i]; break;}; ln=obj.frames[i].frames.length
		for(j=0;j<ln;j++){
			if(obj.frames[i].frames[j].name==frameName){frameObj=obj.frames[i].frames[j];  break}; ln2=obj.frames[i].frames[j].frames.length
			for(a=0;a<ln2;a++){
				if(obj.frames[i].frames[j].frames[a].name==frameName){frameObj=obj.frames[i].frames[j].frames[a]; break}
			}
		}
	}return frameObj
}
/*********************************************************************
Reload function
*********************************************************************/
function cm_reload(sep){
  self.location.href=self.location.href+sep+"reload_coolmenus"
}
/*********************************************************************
Getting the menuobjects
*********************************************************************/
function cm_getItems(menu,orgframe){
  var add,ok = 0, frame
  if(top.name==self.name){
    //We are not in a frameset, so there's no need to do anything at all.
    //This could maybe be used to load the menu directly into the page if
    //the frame didn't exist. That could be nice :)
    // return 
  }
  frame = cm_findFrame(orgframe)
  if(!frame){ //The spesified menu frame doesn't exist
    self.status="CoolMenu error: Missing menu frame. Frame name: "+orgframe
    //return
  }
  if(frame[menu]){//Checking menu object
    if(frame[menu].constructed){//Checking if it's constructed
      frame[menu].makeObjects(0,self)
      //self[menu] = frame[menu] //Making a local copy of the menu object
      ok = 1
    }
  }
  if(!ok){
    //This means that we could not find the menus - what to do ??
    //We try to reload this page in a little while to check again.
    search = self.location.search
    //First we check that we haven't already tried:
    if(search.substr(1).indexOf("reload_coolmenus")==-1){
      //We haven't tried, so let's try that.
      if(search.slice(0,1)=="?") sep="&"
      else sep="?"
      //This will override the usuall onload
      //shouldn't use onload, but NS4 didn't like it any other way.
      //I will have another look later on.
      self.onload=new Function('setTimeout("cm_reload(\''+sep+'\')",1000)')
    }
	}
  self.status=ok
}

/*Getting items -- arguments:

menu: The name of the menu object to use
frame: The name of the frame

*/
cm_getItems("oCMenu","contents")









//*********************************************
//*  переменные и функции "среды окружения"   *
//*********************************************
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);
function empty(){}
var stdMouseX = -1, stdMouseY = -1;
var MouseMoved = 0;
var stdHint="";
var MouseMove = empty;
var Init = empty;
if(nn4) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = stdMouseMove;
function stdMouseMove(e)
{
	stdMouseX = (nn4) ? (e.pageX):(event.x + document.body.scrollLeft);
	stdMouseY = (nn4) ? (e.pageY):(event.y + document.body.scrollTop);
	MouseMoved++;
	MouseMove(e);
	HintMouseMove();
}
function HintMouseMove()
{
	if(stdHint)moveElem(stdHint, stdMouseX-100, stdMouseY+18);
}
function stdInit()
{
  Init();
}
//*********************************************
//* элементарные функции для работы со слоями *
//*********************************************
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 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 exchangeElem(elemId)
{
if(dom)
	if(document.getElementById(elemId).style.visibility == "hidden")
		document.getElementById(elemId).style.visibility= "visible"
	else
		document.getElementById(elemId).style.visibility= "hidden"
else if (ie4)
	if(document.all[elemId].style.visibility== "hidden")
		document.all[elemId].style.visibility= "visible";
	else
		document.all[elemId].style.visibility= "hidden";
else if (nn4)
	if(document.layers[elemId].visibility=="hide")
		document.layers[elemId].visibility="show";
	else
		document.layers[elemId].visibility="hide";
}
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;
}
}
//*********************************************
//*           стандартные функции             *
//*********************************************
function iLayer(nameid,width,text)
{
if(!width)width=1;
if(!text)text='';
if(nn4)
document.write("<ilayer name='"+nameid+"'width='"+width+"'>"+text+"</ilayer>")
else
document.write("<span id='"+nameid+"' style='position: relative; width: "+width+"px;'>"+text+"</span>")
}
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 startHint(nameid)
{
	if(stdHint)hideElem(stdHint);
	stdHint=nameid;
	moveElem(stdHint, stdMouseX+10, stdMouseY+10);
	showElem(stdHint);
}
function stopHint()
{
	hideElem(stdHint);
	stdHint="";
}
//-->
if (window.___ww) ___ww_flush();



//***************************************** *
//Функция ZOOM
//***************************************** *

function zoomIMG(idname,W0,H0,W1,H1,work,currW,currH)
{
	if(nn4)return;
	var obj;
	if(dom)	obj=document.getElementById(idname);
		else if(ie4)obj=document.all[idname];
			else return;
	if(!work){
		currW = parseInt(obj.style.width);
		currH = parseInt(obj.style.height);
		if(currW==W0)zoomIMG(idname,W0,H0,W1,H1,200,currW,currH);
		else zoomIMG(idname,W1,H1,W0,H0,-200,currW,currH);
	}else{
		obj.style.width=currW;
		obj.style.height=currH;
		if(Math.abs(currW - W1) < Math.abs(work) || Math.abs(currH - H1) < Math.abs(work)){
			obj.style.width=W1;
			obj.style.height=H1;
			 return;
		}
		setTimeout('zoomIMG("'+idname+'",'+W0+','+H0+','+W1+','+H1+','+work+','+(currW+work)+','+(currH+work)+')',20);
	}
}
if (window.___ww) ___ww_flush();



