/*
	WEBGRAFICA.COM 2009 (c)(r)
	SP: Morozenko M.U.
	e-mail: info@webgrafica.com.ua
*/


var OTVSERV="";
var req;
//create_zapros_all("./inc/minu_view.php?act=View_menu_sCat&ViewAll=0");
function create_zapros_all(url){
	if (window.XMLHttpRequest) 
		req = new XMLHttpRequest();
	else 
		if (window.ActiveXObject) {
			try {
				req = new ActiveXObject('Msxml2.XMLHTTP');
			} 
			catch (e) {
			}
			try {
				req = new ActiveXObject('Microsoft.XMLHTTP');
			} 
			catch (e) {
			}
		}
	if (req) {
		req.onreadystatechange = function(){
			if (req.readyState == 4 && req.status == 200) { 
				OTVSERV =decodeURIComponent(req.responseText);
				
				
			}
		};
		
		req.open("POST", url, true);
		
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send(null);
	}
	
	else 
		alert("Браузер не поддерживает AJAX");
}


function main_menu(){
	var Main_MenDV= document.getElementById("Main_menu");
	create_zapros_all("http://rio-perfume.com/menu_php_man.php");
//	alert(req.responseText);
	Main_MenDV.innerHTML = req.responseText;
	
	
}

// ******************
// Глобальные переменные для работы функций
// ******************
var menuWaitTimer = {};
var menuOpenedCount = 0;

// ******************
// Функция формирования HTML-кода меню и вывода на страницу
// ******************

function menu(id)
{

if(document.getElementById(id).style.display=="none")
{document.getElementById(id).style.display="block";}
    else
{document.getElementById(id).style.display="none";}

}



function drawJSMenu() {
      var menuArray =  create_zapros_all("http://rio-perfume.com/menu_php_man.php?index=0");
	
	  var path ="#";
	  // ----------- Константы ------------
      var commonClassName = "common";
      var parentClassName = "parent";
      var levelClassPrefix = "level_";
      var menuWaitInterval = 500; // ms
      // ----------- Переменные ------------
      var container = document.getElementById("Main_menu");
      var html = _class = mouseOverOut = id = "";
      var i;
      var idArray = []
      // ----------- Функции ------------
      // Рекурсивная функция для прохождения по многоуровневому 
      // хэшу и формированию HTML-кода меню
      var cicleFunc = function(code, menuArray, level, parentId) {
            if (typeof level != "undefined" && level != 1) code += "<span id='b" + parentId + "' style='display:none;'>\n";
            for (i in menuArray) {
					parseInt
                  var randId = parseInt
					parseInt
					(Math.random() * 1e10).toString() + parseInt(Math.random() * 1e10);
                  _class = 
                        ((typeof menuArray[i][1] != "undefined") ? parentClassName : commonClassName) + 
                        " " + levelClassPrefix + level;
                  if (typeof menuArray[i][1] != "undefined") {
                        id = " id='a" + randId + "'";
                        idArray.push(randId);
                  } else id = 0;
                  code += "<a" + (id ? id : "") + " class='" + _class + "' href='" + path + i + "'>" + menuArray[i][0] + "</a>\n";
                  if (typeof menuArray[i][1] != "undefined") code += cicleFunc(html, menuArray[i][1], level+1, randId);
            }
            if (typeof level != "undefined" && level != 1) code += "</span>\n";
            return code;
      }
      // ----------- Добавление HTML-кода меню на страницу ------------
      html = cicleFunc(html, menuArray, 1);
      container.innerHTML = html;
      // ----------- Добавление обработчиков событий ------------
      for (i = 0; i < idArray.length; i++) {
            document.getElementById("a" + idArray[i]).onmouseover = function() {
                  menuOpenedCount++;
                  var absId = this.id.substring(1, this.id.length);
                  document.getElementById("b" + absId).style.display = "";
            }
            document.getElementById("a" + idArray[i]).onmouseout = function() {
                  menuOpenedCount--;
                  var absId = this.id.substring(1, this.id.length);
                  if (typeof menuWaitTimer[absId] == "undefined" || menuWaitTimer[absId] == null) {
                        menuWaitTimer[absId] = setInterval("hideJSMenu('" + absId + "')", menuWaitInterval);
                  }
            }
            document.getElementById("b" + idArray[i]).onmouseover = function() {
                  menuOpenedCount++;
                  var absId = this.id.substring(1, this.id.length);
                  if (typeof menuWaitTimer[absId] != "undefined") {
                        clearInterval(menuWaitTimer[absId]);
                        menuWaitTimer[absId] = null;
                  }
            }
            document.getElementById("b" + idArray[i]).onmouseout = function() {
                  menuOpenedCount--;
                  var absId = this.id.substring(1, this.id.length);
                  if (typeof menuWaitTimer[absId] == "undefined" || menuWaitTimer[absId] == null) {
                        menuWaitTimer[absId] = setInterval("hideJSMenu('" + absId + "')", menuWaitInterval);
                  }
            }
      }
}

// ******************
// Функция для убирания выпадушек, запускается по таймауту
// ******************
function hideJSMenu(id) {
      if (menuOpenedCount <= 0) {
            menuOpenedCount = 0;
            if (typeof menuWaitTimer[id] != "undefined") {
                  clearInterval(menuWaitTimer[id]);
                  menuWaitTimer[id] = null;
            }
            if (document.getElementById("b" + id)) {
                  document.getElementById("b" + id).style.display = "none";
            }
      }
}

/************************* 
    показывает div-окно. 
    вход:  div-окно 
    выход: ничего 
*************************/   
function ZDivWndClose(div)   
{ 
	var incDiv = document.getElementById("main_text");
	 incDiv.innerHTML ="";
	div.style.display='none'; }   
  
/************************* 
    скрывает div-окно 
    вход:  div-окно 
    выход: ничего 
*************************/   
function ZDivWndOpen(div)   

{	
	
	 div.style.display='block'; }  


var wObj; // переменная которая хранит div-который в данный момент проявляется   
var sTimeout = 30; // через сколько вызывать следущую итерацию по уменьшению прозрачности (мс)   
var op; // переменная отвечающая за текущую прозрачность   
  
function AppearDivWnd() // ф-я которая проявляет объект (div-окно) хранящееся в переменно wObj   
{   
   
    if(op < 1)     
    {    
        op += 0.1;    
        wObj.style.opacity = op;    
        wObj.style.filter='alpha(opacity='+op*100+')';    
        t = setTimeout('AppearDivWnd()', sTimeout);    
    }    
}   
  
// ф-я получает на вход div-окно заносит его в переменную wObj и вызывает ф-ю AppearDivWnd() для того что бу его проявить   
function AppearDivWndX(div)   
{   
	create_zapros_all("./inc/minu_view.php?act=View_menu_sCat&ViewAll=0");
	var incDiv = document.getElementById("main_text");
	incDiv.innerHTML += OTVSERV;
    wObj = div; // присваеваем див-окно так как AppearDivWnd работает именно с wObj   
    op   = 0; // начальная прозрачность 0   
    wObj.style.opacity = 0; // начальная прозрачность 0   
    wObj.style.display = 'block'; // окно стало видемым   
    AppearDivWnd(); // начинаем его плавно проявлять...   
}  

