/************************************************\
' Qbrix software menu object                    '
'************************************************'
' All code is made and owned by Qbrix software.  '
' You are not allowed to change the code or to   '
' copy it to your own server.                    '
'                                                '
' All rights reserved by Qbrix software 2007     '
\************************************************/
 
// Declare a single namespace in the global scope
var dk;
if (!dk) dk = {};
else if (typeof(dk) != 'object')
	throw new Error('Der findes allerede en global variabel ved navn \u0027dk\u0027, som ikke er et object');
if (!dk.solbjergkirke) dk.solbjergkirke = { };
else if (typeof(dk.solbjergkirke) != 'object')
	throw new Error('Der findes allerede en global variabel ved navn \u0027dk.solbjergkirke\u0027, som ikke er et object');

dk.solbjergkirke.KirkeAvis = 'http://folkekirken-frederiksberg.dk/upload/2012kirkesiderne_52.pdf';

/************************************************************
* Relies on:
*
*************************************************************
* æ      ø      å
* Æ      Ø      Å
* \u00E6 \u00F8 \u00E5
* \u00C6 \u00D8 \u00C5
************************************************************/
dk.solbjergkirke.Menu = 
{
    Create : function(div_id)
    {
        var div = document.getElementById(div_id);
        var ul_top, li;
        
        if (div == null) return;

		ul_top = document.createElement('ul');
		ul_top.id = 'ulMenuTop';
		ul_top.className = 'menu-top';

        // Top element 1
        li = new dk.solbjergkirke.MenuElement('Velkommen', 'index.htm');
        li.AppendSubMenuElement('Forside',    'index.htm', 'Forside');
        ul_top.appendChild(li.GetListElement());

        // Top element 2
        // HUSK at opdatere 02-0-gudstjenester.htm!!!!!!!!!!!!!!!!!!!!!!
        li = new dk.solbjergkirke.MenuElement('Gudstjenester', '02-0-gudstjenester.htm');
        //li.AppendSubMenuElement('Juli - August', '02-1-gudstjenester2011-07.htm', 'Juli 2011 - August 2011');
        //li.AppendSubMenuElement('September - Oktober', '02-1-gudstjenester2011-09.htm', 'September 2011 - Oktober 2011');
        //li.AppendSubMenuElement('November - December', '02-1-gudstjenester2011-11.htm', 'November 2011 - December 2011');
        li.AppendSubMenuElement('Januar - Februar', '02-1-gudstjenester2012-01.htm', 'Januar 2012 - Februar 2012');
        li.AppendSubMenuElement('Marts - April', '02-1-gudstjenester2012-03.htm', 'Marts 2012 - April 2012');
        li.AppendSubMenuElement('Musikgudstjenester', '02-x-tirsdagstjenester2012.htm', 'Musikgudstjenester 2012');
        //li.AppendSubMenuElement('Pinse gudstjeneste',    '02-x-pinsegudstjeneste2009.htm', '');
        ul_top.appendChild(li.GetListElement());

        // Top element 3
        li = new dk.solbjergkirke.MenuElement('Kirkelig vejviser');
        li.AppendSubMenuElement('F\u00F8dsel',  '03-1-foedsel.htm');
        li.AppendSubMenuElement('D\u00E5b',     '03-2-daab.htm');
        li.AppendSubMenuElement('Konfirmation', '03-3a-konfirmation.htm');
        //li.AppendSubMenuElement('Junior konfirmander', '03-3b-juniorkonfirmander.htm');
        li.AppendSubMenuElement('Vielse',       '03-4-vielse.htm');
        li.AppendSubMenuElement('Begravelse og bis\u00E6ttelse', '03-5-begravelse.htm');
        ul_top.appendChild(li.GetListElement());

        // Top element 4
        li = new dk.solbjergkirke.MenuElement('Aktiviteter');
        //li.AppendSubMenuElement('Sommerudflugt 2011', '04-x-sommerudflugt-2011.htm');
        //li.AppendSubMenuElement('Kultur Cafe', '04-x-kulturcafe-2011-11.htm');
        //li.AppendSubMenuElement('3 søndage - 3 biskopper', '04-x-3biskopper-2011.htm');
        //li.AppendSubMenuElement('Adventsandagter 2011', '04-x-adventsandagter-2011.htm');
        //li.AppendSubMenuElement('Menighedens adventsfest', '04-x-adventsfest-2011.htm', 'Menighedens adventsfest');
        
        li.AppendSubMenuElement('Solbjerg lag', '04-2-solbjerg_lag.htm');
        li.AppendSubMenuElement('Babysalmesang',            '04-x-babysalmesang.htm');
        li.AppendSubMenuElement('Solbjerg Kirke fik besøg af 2.C', '04-x-besoeg-2010.htm');
        li.AppendSubMenuElement('For b\u00F8rn og familier', '04-4-forboern.htm');
        li.AppendSubMenuElement('Bes\u00F8gstjeneste',      '04-5-aktiviteter.htm');
        //li.AppendSubMenuElement('Sogneeftermiddage',        '04-x-sogneeftermiddage2010.htm');
        li.AppendSubMenuElement('100-års jubilæum',         '04-x-jubilaeum.htm');
        ul_top.appendChild(li.GetListElement());

        // Top element 5
        li = new dk.solbjergkirke.MenuElement('Kirkeavis', '05-kirkeavis.htm');
        li.AppendSubMenuElement('Frb. kirkeavis',      '05-kirkeavis.htm');
        li.AppendSubMenuElement('Download som PDF', dk.solbjergkirke.KirkeAvis);
        ul_top.appendChild(li.GetListElement());

        // Top element 6
        li = new dk.solbjergkirke.MenuElement('Om Solbjerg Kirke');
        li.AppendSubMenuElement('Kontakt info',     '06-1-kontakt.htm');
        li.AppendSubMenuElement('Kirkeg\u00E5rde',        '06-2-kirkegaard.htm');
        li.AppendSubMenuElement('Menighedsr\u00E5d','06-menighedsraad.htm');
        li.AppendSubMenuElement('Kirkens historie', '06-3-historie.htm');
        li.AppendSubMenuElement('Links',            '06-4-links.htm');
        //li.AppendSubMenuElement('Orientering',      '06-5-orientering.htm');
        li.GetListElement().style['borderRightStyle'] = 'none';
        
        ul_top.appendChild(li.GetListElement());

		div.appendChild(ul_top);

        // Make sure this isn't called twice		
		delete dk.solbjergkirke.Menu;
		delete dk.solbjergkirke.MenuElement;
    }
}

dk.solbjergkirke.MenuElement = function(top_text, top_link, top_class_name)
{
    var _counter = 0;
    var _timer = null;
    var _div = null;
    var _submenu = null;
    var _li = null;
    var _a = null;
    var _height = 0;
    var that = this;
    var _ShowSubMenu, _MouseIn, _MouseOut;

    top_class_name = top_class_name || 'menu-top-element';
    top_link = top_link || '#';
    
	_li = document.createElement('li');
	_li.className = top_class_name;
	_a = document.createElement('a');
	_a.href = top_link;
	_a.appendChild(document.createTextNode(top_text));
	_li.appendChild(_a);
	
	this.GetListElement = function()
	{
	    return _li;
	}
	_ShowSubMenu = function(decreasing)
	{
	    if (_submenu == null) return;
	    
	    if (_counter > 0)
	    {
	        if (decreasing) return;
	        
	        _div.style['display'] = 'block';
	        /*_div.style['height'] = '0px';
	        _height = QB.Object.GetSize(_submenu)[1];
	        var f1 = function()
	        {
	            _div.style['height'] = (_timer.getCounter() * _height/20)+2 + 'px';
	        }
	        _timer = new dk.qbrix.Timer(200, 20, f1, null);
            _timer.start();*/
	    }
	    else
	    {
	        /*_div.style['height'] = '0px';*/
	        _div.style['display'] = 'none';
	    }
	}
	
    _MouseIn = function()
    {
        _counter++;
        _ShowSubMenu(false);
    }
    _MouseOut = function()
    {
        _counter--;
	    if (_counter < 0) _counter = 0;
        _ShowSubMenu(true);
    }
    
    QB.Object.AttachEvent(_a, 'mouseover', _MouseIn);
    QB.Object.AttachEvent(_a, 'mouseout', function(){setTimeout(_MouseOut, 100);});

	this.AppendSubMenuElement = function(sub_text, sub_link, tooltip, styleclass)
	{
	    if (arguments.length < 4) styleclass = '';
        if (arguments.length < 3) tooltip = '';
        
	    var li, a;
	    var f1, f2;

        if (_submenu == null)
        {
		    _div = document.createElement('div');
		    _div.className = 'menu-sub';// + niveau.toString();
		    _submenu = document.createElement('ul');
		    _submenu.className = 'menu-sub';// + niveau.toString();
		    _div.appendChild(_submenu);
		    _li.appendChild(_div);
		}

    	li = document.createElement('li');
	    li.className = 'menu-sub-element';

	    a = document.createElement('a');
	    a.href = sub_link;
	    a.title = tooltip;
	    a.className = styleclass;
	    a.appendChild(document.createTextNode(sub_text));
	    //if (sub_link.toString().indexOf('http') >= 0)
	    //    a.type = 'attachment;filename=' + sub_link.toString();
	    
        QB.Object.AttachEvent(a, 'mouseover', function(){_counter++;});
        QB.Object.AttachEvent(a, 'mouseout', function(){setTimeout(_MouseOut, 100);});

	    li.appendChild(a);
	    _submenu.appendChild(li);
    }
}

