﻿// JavaScript Document

var menu_0; 
var menu_1; 
var menu_2;
var menu_3;
var menu_4;
var menu_5;

var menu_0_0;
var menu_1_0;
var menu_3_0;
var menu_5_0;

var MenuTimer;

function info(s)
{
    var p =  $('xxxxx');
       
    if(p!=null)
    {
        p.update(s);
    }
}

function InitObservation()
{
	menu_0.observe('mouseover', respondToOver0);
	menu_0.observe('mouseout', respondToOut);
	
	menu_1.observe('mouseover', respondToOver1);
	menu_1.observe('mouseout', respondToOut);
	
	menu_3.observe('mouseover', respondToOver3);
	menu_3.observe('mouseout', respondToOut);

	menu_5.observe('mouseover', respondToOver5);
	menu_5.observe('mouseout', respondToOut);
	
	menu_0_0.observe('mouseover', respondToOverChild);
	menu_0_0.observe('mouseout', respondToOutChild);
	
	menu_1_0.observe('mouseover', respondToOverChild);
	menu_1_0.observe('mouseout', respondToOutChild);
	
	menu_3_0.observe('mouseover', respondToOverChild);
	menu_3_0.observe('mouseout', respondToOutChild);
	
	menu_5_0.observe('mouseover', respondToOverChild);
	menu_5_0.observe('mouseout', respondToOutChild);
	
	
	menu_2.observe('mouseover', respondToOverNoChilds);
	menu_4.observe('mouseover', respondToOverNoChilds);
}

function SetChildMenuPos(e, menu)
{
    var element = e.element();
    var x = Event.pointerX(e);
    var y = Event.pointerY(e);
	
	var vw = document.viewport.getWidth();
    
    HideAllMenuChilds();
   
        
    x = x-50;
	y = y+20;

	var d = $('hn-produkte');
	var c = element.cumulativeOffset();
	var v = element.viewportOffset();
    info(c+" * "+ vw);

	if(false)//(v[0] > (vw/2))
	{
		info("r");
		x = c[0];
		y = c[1] + 20;
		x = x - menu.getWidth() + element.getWidth();
	}
	else
	{
		info("l");
		x = c[0];
		y = c[1] + 20;
		
	}

	menu.setStyle({'right': ''});
	menu.setStyle({'bottom': ''});
	menu.setStyle({'left': x+'px'});
	menu.setStyle({'top': y+'px'});

	
    menu.show();
}

function respondToOverNoChilds(e)
{    
    ClearMenuTimeout();
    HideAllMenuChilds();
}

function respondToOver0(e)
{    
    ClearMenuTimeout();
    SetChildMenuPos(e, menu_0_0);
}

function respondToOver1(e)
{    
    ClearMenuTimeout();
    SetChildMenuPos(e, menu_1_0);
}


function respondToOver3(e)
{
    ClearMenuTimeout();
    SetChildMenuPos(e, menu_3_0);
}

function respondToOver5(e)
{
    ClearMenuTimeout();
    SetChildMenuPos(e, menu_5_0);
}


function respondToOut(event)
{
    //var element = event.element();
    StartMenuTimeout();
}

function HideAllMenuChilds()
{
    menu_0_0.hide();
    menu_1_0.hide();
    menu_3_0.hide();
    menu_5_0.hide();
}


function respondToOverChild(e)
{    info('respondToOverChild');
    ClearMenuTimeout();
}

function respondToOutChild(e)
{    info('respondToOutChild');
    //HideAllMenuChilds();
    StartMenuTimeout();
}


function StartMenuTimeout()
{
    info('StartMenuTimeout');
    MenuTimer = setTimeout("MenuTimeout()", 500);
}

function ClearMenuTimeout()
{
    //$('pimmel').update('ClearMenuTimeout');
    if(MenuTimer != null)
    {
        clearTimeout(MenuTimer);
    }
}

function MenuTimeout()
{
    HideAllMenuChilds();
}




/*
function BuildMenu() {

 var m = document.getElementById('Menu');
 var item, text, link;
 
 window.alert(m);
 window.alert(m.childNodes);
 window.alert(m.childNodes.length);
 
 for(i=0;i<m.childNodes.length;i++)
 {
    alert(m.childNodes.item(i));
 }
 }


function MenuInit() {
var theBody = document.getElementsByTagName('body')[0]; 
var my_div = document.createElement('div');

Element.extend(my_div);
my_div.update('menu active');

//window.alert(my_div);

Element.extend(my_div);
my_div.update("222<a href='hirsch'>hallo<a/>333");

theBody.insertBefore(my_div, theBody.firstChild);

BuildMenu();
}
*/

                    
function MenuInit()
{
    menu_0 = $('hn-produkte');
    menu_1 = $('hn-referenzen');
    menu_2 = $('hn-jobs');
    menu_3 = $('hn-links');
    menu_4 = $('hn-kontakt');
    menu_5 = $('hn-home');

    menu_0_0 = $('menu_0_0');
    menu_1_0 = $('menu_1_0');
    menu_3_0 = $('menu_3_0');
    menu_5_0 = $('menu_5_0');

    InitObservation();
    HideAllMenuChilds();
}


document.observe("dom:loaded", MenuInit);

// -------------------------------------------


