var mnuTemplate = new Array();
var mnuFile     = new Array();

mnuTemplateFlash = "<div id=\"pContentFlash\"><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http:\/\/download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"924\" height=\"519\">";
mnuTemplateFlash+=    "<param name=\"movie\" value=\"%PREF%/images/swf/%FILE%\">";
mnuTemplateFlash+=    "<param name=\"quality\" value=\"high\">"
mnuTemplateFlash+=    "<param name=\"wmode\" value=\"transparent\">"
mnuTemplateFlash+=    "<embed src=\"%PREF%/images/swf/%FILE%\" wmode=\"transparent\" quality=\"high\" pluginspage=\"http:\/\/www.macromedia.com\/go\/getflashplayer\" type=\"application\/x-shockwave-flash\" width=\"924\" height=\"519\"><\/embed>";
mnuTemplateFlash+= "<\/object></div>";

mnuTemplateImg = "<img src=\"%PREF%/images/%FILE%\" alt=\"\" border=\"0\" \/>";

mnuTemplate[0] = mnuTemplateFlash;
mnuFile[0]     = 'default_en.swf';
mnuTemplate[1] = mnuTemplateFlash;
mnuFile[1]     = 'businesses_2009_en.swf';
mnuTemplate[2] = mnuTemplateFlash;
mnuFile[2]     = 'financial_2009_en.swf';
mnuTemplate[3] = mnuTemplateFlash;
mnuFile[3]     = 'sustainability_2009_en.swf';
/*mnuTemplate[4] = mnuTemplateImg;*/
mnuTemplate[4] = mnuTemplateFlash;
mnuFile[4]     = 'corporate_2009_en.swf';

$(function(){
    var pHeadMenu    = $('#pHead');
    var headMenuList = $('#pHead ul.level1 li.level1');
    var wrapElement = $('<div class="wrapListBox"></div>')
    
    var pHeadMenuOffs = null;
    var headMenuOffs  = null;
    var currentSubMenu = null;
    var currentSubMenuOffs = null;
    
    $(document.body).append(wrapElement);
    
    //ebben mentjuk a tartalmat, ha fomenure kattintunk
    $(document.body).append('<div id="contentCache" style="display: none"></div>');
    
    var lastDisplayedElement = null;
    
    $(window).resize(function(evt) { 
        if(currentSubMenu!=null){
            setMenuPosition({
                currentSubMenuP: currentSubMenu,
                headMenuOffsP: headMenuOffs,
                currentSubMenuOffsP: currentSubMenuOffs,
                pHeadMenuOffsP: pHeadMenuOffs,
                pHeadMenuP: pHeadMenu,
                cSHeightP: getCurrentSubmenuHeight({currentSubMenuP: currentSubMenu}),
                wrapElementP: wrapElement
            })
        }
    }); 
    
    $(headMenuList).click(function(){

        pHeadMenuOffs = pHeadMenu.offset();
        headMenuOffs  = $(this).offset();
        currentSubMenu = $(this).find('> ul');
        currentSubMenuOffs = $(this).offset()
        
        var cSHeight = getCurrentSubmenuHeight({
            currentSubMenuP: currentSubMenu
        });
        
        if($(wrapElement).is(':visible') && lastDisplayedElement==this){
            $(lastDisplayedElement).removeClass('menuActive')
            wrapElement.empty().hide();
            lastDisplayedElement = null;
            setDataBack();
            return;
        }
        
        
        if(lastDisplayedElement && lastDisplayedElement!=null){
            $(lastDisplayedElement).removeClass('menuActive');
            wrapElement.empty().hide();
            setDataBack();
            lastDisplayedElement = null;
        }
        
        //megjeloljuk az aktiv menut
        $(this).addClass('menuActive');
        
        setMenuPosition({
            currentSubMenuP: currentSubMenu,
            headMenuOffsP: headMenuOffs,
            currentSubMenuOffsP: currentSubMenuOffs,
            pHeadMenuOffsP: pHeadMenuOffs,
            pHeadMenuP: pHeadMenu,
            cSHeightP: cSHeight,
            wrapElementP: wrapElement
        })
        
        wrapElement.append(currentSubMenu.clone())

        /**
         *  csak akkor nyitjuk le, ha elozoleg nem volt lenyitva
         **/
       
        saveContent();
        $('#pContent').html(mnuTemplate[$(headMenuList).index(this)].replace(/%PREF%/gi, $('#pref').val()).replace(/%FILE%/gi, mnuFile[$(headMenuList).index(this)]))
        //$('#pContent').html('<img src="'+$('#pref').val()+'/images/img_menubg'+$(headMenuList).index(this)+'.jpg" alt="" border="0"/>')
        wrapElement.show()
        
        lastDisplayedElement = this;
    })
    
    /**
      * lapozasok kezelese
      */
    var pagerBoxes = $('div.pagerBox');
    
    var pagerBoxControll = pagerBoxes.length > 1 ? $('<div class="pagerBoxControll"><a class="pagerBoxControllPrev"></a><div class="pagerBoxControllCurrentPosition"></div><a class="pagerBoxControllNext"></a></div>') : null;
    
    
    if(pagerBoxControll!=null){
        $('#toolBoxTop').css('display', 'inline');

        // letrehozzok a lapozo kontrollt
        $('.toolBox').append(pagerBoxControll.clone())  
        // lapozas elore
        $('.pagerBoxControll .pagerBoxControllPrev').click(function(event){
            event.stopPropagation();
            pagerStepper(this, 'prev')
        })
        // lapozas elore
        $('.pagerBoxControll .pagerBoxControllNext').click(function(event){
            event.stopPropagation();
            pagerStepper(this, 'next')
        })
        
        //alapbol megjelenitjuk az elso oldalt
        $(pagerBoxes.get(0)).css('display', 'block');
        
        refreshPagerPosition(1, pagerBoxes.length)
    } 

})

/**
 * lapozas megvalositasa
 */
function pagerStepper(caller, direction){
    var pagerBoxes = $('div.pagerBox');
    
    var currentPage = $('div.pagerBox:visible');
    var currentPageIndex = $(pagerBoxes).index(currentPage);

    switch(direction){
        case 'prev':
            currentPageIndex>0 ? currentPageIndex-- : '';
            break;
        case 'next':
            currentPageIndex+1<pagerBoxes.length ? currentPageIndex++ : '';
            break;
    }
    
    currentPage.hide();
    $(pagerBoxes.get(currentPageIndex)).css('display', 'block')
    
    refreshPagerPosition((currentPageIndex+1), pagerBoxes.length)
}

function refreshPagerPosition(current, all){
    $('.pagerBoxControllCurrentPosition').html(current+' <font style="color:#D0CFCF">- '+all+'</font>')
}

function saveContent() {
    $('#contentCache').text()==""  ? $('#contentCache').html($('#pContent').html()) : ''
}

function setDataBack() {
    $('#pContent').html($('#contentCache').html())
}

function setMenuPosition(params){
        params.currentSubMenuP.css({
            left: (parseInt(params.headMenuOffsP.left) - parseInt(params.pHeadMenuOffsP.left) - 18) + 'px',
            top: (params.currentSubMenuOffsP.top - parseInt(params.pHeadMenuP.css('paddingTop')) - 25) + 'px'
        })
        
        params.wrapElementP.css({
            left: (params.pHeadMenuOffsP.left + 18) + 'px',
            top: (params.pHeadMenuOffsP.top + parseInt(params.pHeadMenuP.height()) + parseInt(params.pHeadMenuP.css('paddingTop')) - 7) + 'px',
            height: (params.cSHeightP + 2) + 'px',
            width: (parseInt(params.pHeadMenuP.width()) + 12) + 'px'
        })
}

function getCurrentSubmenuHeight(params){
        var cSHeight = 0;
        params.currentSubMenuP.find('a').each(function(){
            cSHeight += parseInt($(this).css('height')) - 3;
        });
        
        return cSHeight;
}
