(function($){

    $.fn.serializeObject = function() {
        var o = {};
        var a = this.serializeArray();
        $.each(a, function() {
            if (o[this.name]) {
                if (!o[this.name].push) {
                    o[this.name] = [o[this.name]];
                }
                o[this.name].push(this.value || '');
            } else {
                o[this.name] = this.value || '';
            }
        });
        return o;
    }
    
    $.fn.subMenu = function() {
        
        var sliding = false;
        var slideIn = function(elm) {
            elm.addClass('hover');
            elm.height('auto');
            if(elm.is(':hidden') && !sliding) {
                sliding = true;
                elm.slideDown(500, 'swing', function() {
                    $(this).width($(this).width());
                    sliding = false;
                    if($('#pageNavi .hover').parent().find('ul').is(':hidden')) {
                        slideIn($('#pageNavi .hover').parent().find('ul'));
                    }
                });
            }
        }
        var slideOut = function(elm)  {
            elm.removeClass('hover');
            
            // workaround für IE
            if($.browser.msie) {
                elm.animate({ height: '1px' }, 500, function() { 
                    elm.hide();
                    elm.height('auto');
                    elm.css({height: 'auto'});
                });
            } else {
                elm.slideUp(500, function() {});
            }
            elm.removeClass('out');
        }
        
        this.each(function() {
            
            var $this = $(this);
            var $sub = $this.find('ul');
            
            $sub.addClass('jsSlide');
            
            $sub.css({display: 'block'});
            $sub.height($sub.height());
            $sub.find('li').each(function() {
                $(this).height($(this).find('a').height()+6);
            });
            $sub.css({display: 'none'});
            
            $this.hover(function() {
                slideIn($sub);
            }, function() {
                slideOut($sub);
            });
        });
    }

})(jQuery);

function updateIFrame( height ) {
    var iframe = document.getElementById('recruitmentPortal');
    iframe.setAttribute('height', height);
}

function receiveMessage(event) {
   
   if (event.origin == "http://097.rexx-server.com" || event.origin == "https://097.rexx-server.com") {
      updateIFrame(event.data);
   } else {
      return false;
   }

}

if (typeof window.addEventListener != "undefined") {
	  window.addEventListener("message", receiveMessage, false);
}

$(document).ready(function() {
    $('#pageNavi > ul > li').subMenu();
});
