pageEls         = [];
var $this       = 0;
var el_id       = 0;
var el_sub      = 0;
var el_hovering = "FALSE";
var in_sub_nav  = "FALSE";
var $timer      = 0;
var $timeout    = null;

$(document).ready(function(){
    
    pageEls['navigation']     = $("#navigation");
    pageEls['sub_navigation'] = $("#sub_navigation");
    pageEls['navigation_li']  = $("li", pageEls['navigation']);
    pageEls['faq_body']       = $(".faq_body");
    pageEls['faq_link']       = $(".faq_link");
    
    $("#homepage_image ul").cycle({        
        timeout: 4500        
    });
    
    $(".faq_body p:last-child ").addClass("faq_last_p");
    
    /**
    * TinyMCE insists on wrapping strong tags in P tags
    * strong tags are defined as block in the CSS, 
    * so P tags are not needed and this code 
    * fixes them :)
    */
    pageEls['faq_body'].each(function() {
        $this = $(this);
        $("p > strong", $this).unwrap();
    });
    
    $('.faq_heading').click(function(e) {
        
        $this          = $(this);
        var toggle_lnk = $this.find('.faq_link'); 
        var theParent  = $(this).parents('.faq_wrapper');
        
        toggle_lnk.toggleClass('arrow_up');
        toggle_lnk.toggleText('show more', 'show less');
        
        $(theParent).find('.faq_body').slideToggle();

        if ($(theParent).find('.faq_body').is(':visible')) {
            sIFR.replace(museo700, {
              selector: '.faq_body strong',
              fixWrap: true,
              css: ['.sIFR-root  { color: #451D00; font-size: 12px; }'],
              wmode: 'transparent'
            });   
        }
        
        e.preventDefault();
        
    }); 
    
    // On hovering the LI element
    pageEls['navigation_li'].hover(function() {
        $this       = $(this);
        clearTimeout($timeout);
        $("#sub_navigation div").hide();
        el_id       = $this.attr("id").replace("nav_", "");
        el_sub      = $("#sub_navigation_"+el_id+"");
        el_sub.show();
        pageEls['sub_navigation'].slideDown();
        $this.addClass('hovered');
    
    },function(e) {
        clearTimeout($timeout);  	 
        $timeout = setTimeout(menuMouseOut, 300);  
                
    });
    
    pageEls['sub_navigation'].hover(function() { 
        pageEls['navigation_li'].removeClass('hovered');
        $(this).addClass('hovered');        
    }, function() {     
        $(this).removeClass('hovered');  
        clearTimeout($timeout);      
        $timeout = setTimeout(menuMouseOut, 300);        
        
    });
	
});

function menuMouseOut()
{
    // If neither sub navigation or a navigation LI have focus (no class assigned)
    if (!pageEls['sub_navigation'].hasClass('hovered') || pageEls['navigation_li'].hasClass('hovered')) {        
        pageEls['sub_navigation'].slideUp();
        $("#sub_navigation div").hide();        
    } else {        
        $("#sub_navigation div").hide();
        el_sub.show();        
    }
}

jQuery.fn.toggleText = function(a, b) {
    return this.each(function() {
        jQuery(this).text(jQuery(this).text() == a ? b : a);
    });
};

