/* this prevents dom flickering, needs to be outside of dom.ready event: */
document.documentElement.className += 'js_active';
/*end dom flickering =) */

jQuery.noConflict();

jQuery.fn.slideFadeToggle = function(speed, easing, callback) {
	return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, callback);  
};


jQuery(document).ready(function(){

	//main_menu();
	suckerfish_menu();
	topnav();
	searchfield();
	
	
});

function suckerfish_menu() {
			
	jQuery(function(){
		jQuery('ul.sf-menu').superfish({ 
            hoverClass:    'sfHover',          // the class applied to hovered list items 
			pathClass:     'overideThisToUse', // the class you have applied to list items that lead to the current page 
			pathLevels:    1,                  // the number of levels of submenus that remain open or are restored using pathClass 
			delay:         800,                // the delay in milliseconds that the mouse can remain outside a submenu without it closing 
			animation:     {opacity: 'toggle', height: 'toggle'},   // an object equivalent to first parameter of jQuery’s .animate() method 
			speed:         'normal',           // speed of the animation. Equivalent to second parameter of jQuery’s .animate() method 
			autoArrows:    true,               // if true, arrow mark-up generated automatically = cleaner source code at expense of initialisation performance 
			dropShadows:   true,               // completely disable drop shadows by setting this to false 
			disableHI:     true,              // set to true to disable hoverIntent detection 
			onInit:        function(){},       // callback function fires once Superfish is initialised – 'this' is the containing ul 
			onBeforeShow:  function(){},       // callback function fires just before reveal animation begins – 'this' is the ul about to open 
			onShow:        function(){},       // callback function fires once reveal animation completed – 'this' is the opened ul 
			onHide:        function(){}        // callback function fires after a sub-menu has closed – 'this' is the ul that just closed 
        }); 
	});
}

function main_menu()
{
	
	jQuery("#nav_main ul ul ul ").css({display: "none"}); // Opera Fix
	
	jQuery("#nav_main ul li").each(function()
	{	
		
		var $list = jQuery(this).find('ul:first');
		
		jQuery(this).hover(function()
		{	
			$list.css({overflow:"hidden", height:"auto", width:"auto", display:"none"}).slideFadeToggle(800, function()
			{ 
				jQuery(this).css({overflow:"visible", width:"auto", height:"auto"});
			});	},function() 	
			{ 
				$list.stop(true, true).delay(200).slideUp(500, function() {	jQuery(this).css({overflow:"hidden", display:"none"});	
			});
			});	
		});
	
	
	jQuery("#nav_main ul li a").focus(function () {
        	jQuery(this).parent().addClass('focus');
    	});
	jQuery("#nav_main ul li a").blur(function () {
        	jQuery(this).parent().removeClass('focus');
   		});
	
}

function topnav(){
	
	jQuery("#topnav .search_field div").css({display: "none"}); // Opera Fix
	
	jQuery("#topnav .search_link").removeAttr("href");

		jQuery("#topnav .search_link").click(function()
		{	
			jQuery("#topnav .search_field div").css({overflow:"hidden", height:"auto", width:"auto", display:"none"}).slideFadeToggle(400, function()
			{ 
				jQuery(this).css({overflow:"visible", width:"auto", height:"auto"});
				jQuery("#topnav input[type=text]").select();   
          
			});	
			
			jQuery("#topnav .search_link").css({overflow:"hidden", height:"auto", width:"auto", display:"none"}).slideUp(500, function() {	jQuery(this).css({overflow:"hidden", display:"none"}); });
		} );

}


function searchfield() {
	
	jQuery("input[type=text]").focus(function()
    {
    	jQuery(this).select();   
	});
}
