$MainMenu = {
    menuElements : new Array(),
    timeoutElements : new Array(),
    TimeOutValue : 5,
    lastSelected : null,
    addElem : function(mElem) {
        if (mElem == null) return;
        this.menuElements.push(mElem);
        this.timeoutElements.push(null);
    },
    isElemInside : function(mElemId) {
        for(var i = 0; i < this.menuElements.length; i++) {
            if (this.menuElements[i] == mElemId) return true;
        }
        return false;
    },
    preloadImages : function(imagesList)
    {
      for(var i = 0; i<imagesList.length; i++)
      {
        $j("<img>").attr("src", imagesList[i]);
      }
    },
    init : function() {

        var contParent = this;

        $j('.menu_elem_link').focusin(function() {
           $j(this).parent().addClass('menu_elem_hover');

           var menuElemId = $j(this).parent().attr('id').replace('menu_elem','');

           $j(this).addClass('menu_elem' + menuElemId + '_hover');

           var elemId = $j(this).parent().attr('id');
           if (!contParent.isElemInside(elemId)) {
               if (contParent.lastSelected != null) {
                    $j('#' + contParent.lastSelected + ' .menu_elem_span_off').css('top', '0px');
                    $j('#' + contParent.lastSelected + ' .menu_elem_span_on').css('top', '-1000px');
               }
               return false;
           }

           var elemIdx = parseInt(elemId.replace('menu_elem', '')) - 1;

           if (contParent.lastSelected != null) {
                $j('#' + contParent.lastSelected + ' .menu_elem_span_off').css('top', '0px');
                $j('#' + contParent.lastSelected + ' .menu_elem_span_on').css('top', '-1000px');
           }

           contParent.lastSelected = elemId;

           $j(this).children('.menu_elem_span_off').css('top', '-1000px');
           $j(this).children('.menu_elem_span_on').css('top', '0px');
           return false;

        });

        $j('.submenu ul a').focusin(function() {
           $j(this).addClass('submenu_a_hover');
        });

        $j('.submenu ul a').focusout(function() {
           $j(this).removeClass('submenu_a_hover');

           if($j(this).parent().hasClass('submenu_last')) {
               $j(this).parents('.menu_elem').removeClass('menu_elem_hover');

                var menuElemId = $j(this).parents('.menu_elem').attr('id').replace('menu_elem','');
                $j(this).parents('.menu_elem').children('.menu_elem_link').removeClass('menu_elem' + menuElemId + '_hover');
           }
        });

        $j('.menu_elem_link').mouseover(function() {

            $j(this).parent().removeClass('menu_elem_hover');

            var menuElemId = $j(this).parent().attr('id').replace('menu_elem','');
            $j(this).removeClass('menu_elem' + menuElemId + '_hover');

            var elemId = $j(this).parent().attr('id');

            if (!contParent.isElemInside(elemId)) return false;

            var elemIdx = parseInt(elemId.replace('menu_elem', '')) - 1;

            if (contParent.lastSelected != null) {
                $j('#' + contParent.lastSelected + ' .menu_elem_span_off').css('top', '0px');
                $j('#' + contParent.lastSelected + ' .menu_elem_span_on').css('top', '-1000px');
            }

            contParent.lastSelected = elemId;

            $j(this).children('.menu_elem_span_off').css('top', '-1000px');
            $j(this).children('.menu_elem_span_on').css('top', '0px');
            return false;
        });

        $j('li.menu_elem').mouseout(function() {

            
            var elemId = $j(this).attr('id');

            if (!contParent.isElemInside(elemId)) return false;

            var elemIdx = parseInt(elemId.replace('menu_elem', '')) - 1;

            var timeOutElem = contParent.timeoutElements[elemIdx];

            if (timeOutElem != null) {
                clearTimeout(timeOutElem);
                timeOutElem = null;
                contParent.timeoutElements[elemIdx] = null;
            }

            var container = $j(this);

            if($j(this).find('div:first').css('visibility') != 'visible') {
                container.find('.menu_elem_span_off').css('top', '0px');
                container.find('.menu_elem_span_on').css('top', '-1000px');
                return;
            }


            contParent.timeoutElements[elemIdx] = setTimeout(
                function() {
                    if(container.find('div:first').css('visibility') == 'visible') return;
                    container.find('.menu_elem_span_off').css('top', '0px');
                    container.find('.menu_elem_span_on').css('top', '-1000px');
                }
                , contParent.TimeOutValue);
        });

        $j('.menu_elem_link').mouseout(function() {

            var elemId = $j(this).parent().attr('id');

            if (!contParent.isElemInside(elemId)) return false;

            var elemIdx = parseInt(elemId.replace('menu_elem', '')) - 1;

            var timeOutElem = contParent.timeoutElements[elemIdx];

            if (timeOutElem != null) {
                clearTimeout(timeOutElem);
                timeOutElem = null;
                contParent.timeoutElements[elemIdx] = null;
            }

            var container = $j(this);

            if($j(this).parent().find('div:first').css('visibility') != 'visible') {
                container.children('.menu_elem_span_off').css('top', '0px');
                container.children('.menu_elem_span_on').css('top', '-1000px');
                return;
            }


            contParent.timeoutElements[elemIdx] = setTimeout(
                function() {
                    if(container.parent().find('div:first').css('visibility') == 'visible') return;
                    container.children('.menu_elem_span_off').css('top', '0px');
                    container.children('.menu_elem_span_on').css('top', '-1000px');
                }
                , contParent.TimeOutValue);

           return false;
        });
    }
};

$j(document).ready(

    function() {

                $j('#changecountry_link').mouseover(function() {
                    $j('#countries_box').css('display', 'block');
                });

                $j('#changecountry_link').mouseout(function() {
                    $j('#countries_box').css('display', 'none');
                });

        $MainMenu.preloadImages([DOMAIN + "images/menu/submenu_bg.png",
            DOMAIN + "images/menu/menu_elem1_over.png",
            DOMAIN + "images/menu/menu_elem2_over.png",
            DOMAIN + "images/menu/menu_elem3_over.png",
            DOMAIN + "images/menu/menu_elem4_over.png",
            DOMAIN + "images/menu/menu_elem5_over.png",
            DOMAIN + "images/menu/submenu_bottom_162.png",
            DOMAIN + "images/menu/submenu_bottom_182.png",
            DOMAIN + "images/menu/submenu_bottom.png",
            DOMAIN + "images/tabs/tabpanel_tab_bottom.png",
            DOMAIN + "images/tabs/tabpanel_tab_bg.png"]
            );

        $MainMenu.addElem('menu_elem1');
        $MainMenu.addElem('menu_elem2');
        $MainMenu.addElem('menu_elem3');
        $MainMenu.addElem('menu_elem4');
        $MainMenu.addElem('menu_elem5');

        $MainMenu.init();

    }
);
