var tempLinkObj = null;

var submenuNode = null;
var submenuLayer = null;

var submenuPos = {x1:0, y1:0, x2:0, y2:0} 
var mousePos = {x:0, y:0};
var t = null;

var timeout = 500;
var menuHeight = 63;
var submenuWidth = 960;
var menuOffsetTop = 67;
var leftOffset = 100;


var prefix = "_a";

var defaultItem = null;
var defaultSubmenuNode = null;

function load_banner(n) {
	if(!n) {n = 1;}
	document.banner = document.getElementById('main_banner');
	document.banner.src = '/images/banner'+n+'.jpg';
	
	var links = Array;
	links[1] = '/video/rinoplastika/';
	links[2] = '/services/medical/plastic_surgery/face/smas_podtjazhka_lica/';
	links[3] = '/services/medical/plastic_surgery/endotine/';
	links[4] = '/news/list/224/';
	links[5] = '/services/medical/kosmetologiya/fraktsionnaya_lazernaya_shlifovka/';
	links[6] = '/services/medical/plastic_surgery/face/intemporalnyy_lifting_litsa/';
	links[7] = '/services/medical/SPA/vampire-facelift-plazmolifting/';
	document.banner.parentNode.href = links[n];
}

function highlight(img) {
	unhighlight();
	
	tempLinkObj = img;
	tempLinkImgSrc = img.src;
	if(img.src.indexOf(prefix + '.') == -1) {
		img.src = img.src.substring(0,img.src.length-4) + prefix + '.gif';
	}
}

function unhighlight(img) {
	if(img && prefix) {
		img.src = img.src.replace(prefix,'');
	} else if(tempLinkObj) {		
		tempLinkObj.src = tempLinkImgSrc;
	}
}

function show(node) {	

	if(node && node.type) {
		node = this;
	} else if(!node) {
		node = this;
	}	

	hidePrev();	
	
	var sTop = (document.body.scrollTop >= 0) ? document.body.scrollTop : window.scrollY;
	var sLeft = (document.body.scrollLeft >= 0) ? document.body.scrollLeft : window.scrollX;
	var submenuLeftOffset = document.body.clientWidth/2-960/2;
	
	if(node.parentNode.getElementsByTagName('DIV')[this.num]) {

		submenuNode = node.parentNode.getElementsByTagName('DIV')[this.num];
		submenuNode.style.display = 'block';
		submenuNode.style.left = submenuLeftOffset;
		if(window.phpVars !== undefined) {submenuNode.style.top = '174';} // если осуществлен вход в панель управления
	
						
		submenuPos.x1 = submenuNode.offsetLeft - sLeft;
		submenuPos.y1 = menuOffsetTop - sTop;
		submenuPos.x2 = submenuPos.x1 + submenuWidth;
		submenuPos.y2 = submenuNode.offsetHeight + submenuPos.y1 + menuHeight;
	}	
	else {		

		submenuLayer = node.parentNode.parentNode;
		
		submenuPos.x1 = leftOffset - sLeft;
		submenuPos.y1 = menuOffsetTop - sTop;
		submenuPos.x2 = submenuPos.x1 + submenuLayer.offsetLeft + node.offsetWidth;
		submenuPos.y2 = submenuPos.y1 + menuHeight;
	}		
}

function hidePrev() {	
	if(submenuNode && !submenuNode.parentNode.getAttribute("DEFAULT")) { 
		submenuNode.style.display = 'none';	
		unhighlight();				
		submenuNode = null;			
	}	
	if(submenuLayer && !submenuLayer.getAttribute("DEFAULT")) {
		unhighlight();
		submenuLayer = null;
	}	
}

function hideDef() {	
	if(defaultSubmenuNode) {
		defaultSubmenuNode.style.display = 'none';	
		unhighlight(defaultItem.getElementsByTagName('A')[0].getElementsByTagName('IMG')[0]);				
	}
}

function inRect() {	
	if(((mousePos.x < submenuPos.x1 || mousePos.x > submenuPos.x2) || (mousePos.y < submenuPos.y1 || mousePos.y > submenuPos.y2)) && submenuPos) {
		return false;
	} else {
		return true;
	}
}

function tryHide() {	
	clearTimeout(t);
	t = null;

	if(!inRect()) {
		if(defaultSubmenuNode && defaultSubmenuNode.style.display == 'none') {			
			show(defaultItem.getElementsByTagName('A')[0]);
		} else if(!defaultSubmenuNode && defaultItem && defaultItem.getElementsByTagName('A')[0].getElementsByTagName('IMG')[0].src.indexOf(prefix) == -1) {
			show(defaultItem.getElementsByTagName('A')[0]);
		}
		hidePrev();		
	}	
}

function checkTarget(e) {	
	e = (e) ? e : window.event;
	mousePos.x = e.clientX;
	mousePos.y = e.clientY;
	
	if(!inRect()) {		
		if(!t)	t = setTimeout(tryHide, timeout);
	}
}

/* LANGUAGE SELECTION */
function langshow(){
	document.langblock.style.display = 'block';
}

function langhide(){
	document.langblock.style.display = 'none';
}

function langout(){
	document.timer = setTimeout(langhide, 500);
}

function langin(){
	clearTimeout(document.timer);
}
/* LANGUAGE SELECTION */

function init() {
	
	/* LANGUAGE SELECTION */
	document.langblock = document.getElementById('lang');
	

	/* LANGUAGE SELECTION */

	document.body.onmousemove = checkTarget;
	
	/*---------- Error Hanlers ----------*/
	function getTimeout() {
		if(menu.getAttribute("TIMEOUT") && parseInt(menu.getAttribute("TIMEOUT"))) {
			return parseInt(menu.getAttribute("TIMEOUT"));
		} else {return 0;}
	}
	function getPrefix() {
		if(menu.getAttribute("PREFIX")) {
			return menu.getAttribute("PREFIX"); alert();
		} else { return '_a'; }	
	}
	function getMenuAttribute(name) {
		var errMsg = "Error getting attribute " + name + " in menu node!\nMenu initialization faild.\n\n";
		if(menu.getAttribute(name)) {	
			var val = menu.getAttribute(name);
			if(parseInt(val) >= 0 && val.indexOf('#') == -1) {			
				return parseInt(menu.getAttribute(name));
			} else if(val.indexOf('#') != -1) {
				try {
					return parseInt(eval(val.replace('#','')));
				} catch(e) {
					throw errMsg + "Can't exec expression.";
				}
			} else {
				throw errMsg + "This attribute must be numeric.";
			}
		} else {
			throw errMsg + "This attribute not found.";
		}				
	}
	/*---------- /Error Hanlers ----------*/	
	
	/*---------- INITIALIZATION ----------*/		
	try {var menu = document.getElementById('menu');}	
	catch(e) { return false; }
	
	var menuNodes = menu.childNodes;
	
	timeout=500;
    menuHeight = 26;
	submenuWidth = 960;
	menuOffsetTop = 40;
	if(window.phpVars !== undefined) {menuOffsetTop = 147;}
	leftOffset = 0;
	//leftOffset = document.body.clientWidth/2-970/2
	prefix = '_a';
	subnum=0;

	for(var i=0; i<menuNodes.length; i++) {
		if(menuNodes[i].nodeName == 'A') {
			menuNodes[i].onmouseover = show;
			menuNodes[i].num = subnum;
			subnum++;
		}
	}
	/*---------- /INITIALIZATION ----------*/		
	
}

