// Site Vars
var left_nav_width = 160; 		// px
var left_nav_animate = 200; 	// millisecs
var left_nav_last_opened			// The last open menu item
var left_nav_open_menu = ""; 	// ul#
var left_nav_widths = {};

	Shadowbox.loadSkin('classic', '/js/shadowbox/skin');
	Shadowbox.loadLanguage('en', '/js/shadowbox/lang');
	Shadowbox.loadPlayer(['img'], '/js/shadowbox/player');

$(document).ready(function() {

	bindLeftNav('#left-nav ul li a.animate');
	bindTopNav('#top-nav ul li.animate');

    Shadowbox.init();

	//fixHovers();
	bindInteractions();
	bindCourseFinder();
    //addSmoothMenu();
    
    
    if( "/" == window.location.pathname)
    {
        $('#content').hide();
    }

    if( ("/community/market_day" == window.location.pathname) || ("/community/market_day/supporters_08" == window.location.pathname) )
    {
        bindMarketDayGalleries();
    }
    
    /*$('#FormsCanHelpWith7').bind('click', function(){
        
        if(true == $(this).attr('checked')){
            $('#FormsOther').parent().show();
        }
        
        if(false == $(this).attr('checked')){
            $('#FormsOther').parent().hide();
        }
       
    });*/
    
    
    

});

addSmoothMenu = function(){

    $("#left-nav ul")
        .bind("mouseenter",function(){
            saveMenuState();
        })
        .bind("mouseleave",function(){
            restoreMenuState();
        });

      

    
};

saveMenuState = function(){
    $("#left-nav ul li a.current").next().hide();
}
restoreMenuState = function(){
    $("#left-nav ul li a.current").next().show();
}



showContent = function(){
    $('#content').show();
};

bindCourseFinder = function(){
    //$('#course-finder-days')
    $('#course-finder-mediums').bind('change' , function(){
	    window.location = '/courses/browse_by/medium/'+$(this).val();
    });
    
    $('#course-finder-days').bind('change' , function(){
	    window.location = '/courses/browse_by/day/'+$(this).val();
    });
}

bindMarketDayGalleries = function(){
    
    // find any galleries
    $('.shadow-gallery').each(function(){
    
        // find the <a> trigers for the gallery
        var $_gallery_name = this.id;
        var $_gallery_id = '#'+$_gallery_name;
        
        var $_gallery = $( $_gallery_id+' li a');
        var $trigger = $('#trigger-'+$_gallery_name);

        $trigger.bind('click', function(){
        
            Shadowbox.open($_gallery[0] , {counterType:'skip',continuous:true,animSequence:'sync'}); 
            return false; 
        }); 
        
    });
};


bindTopNav = function ( target ){

    //$('#top-nav ul li ul').hide();
    $('#top-nav ul li').click(function(){
        
        if( $(this).find('ul:visible').length == 1 ){
            
            $x = $(this);
            
            if(1 != $x.find('ul#course-finder').length)
            {
                $x.find('ul').slideUp()
            }
            
        } else {
            $(this).find('ul').slideDown("slow");
        }
    });
    
    $('#top-nav #course-finder .close').bind('click' , function(){
        $(this).parent().parent().parent().slideUp();
    })
}

bindLeftNav = function (target){
	var elements = $( target );

	elements.hover(
		// over
		function(){
			var obj = $(this);
			var name = obj[0].className;
			var classnames = name.split(" "); // fix in case of mutiple classnames
			name = classnames[0];

			// save the widths...
			if(left_nav_widths[name] == null){
				left_nav_widths[name] = obj.width();
			}
			//	open new menu...
			obj.animate({ width: left_nav_width+'px'}, left_nav_animate , 'jswing' );
            
            
            //obj.next().css('display' , 'none').hide();
            //obj.next().css('display' , 'block').show();
                            
            
            
		},
		// out
		function(){
				var obj = $(this);
				var name = obj[0].className;
				var classnames = name.split(" "); // fix in case of mutiple classnames
				name = classnames[0];

				obj.animate( {width: left_nav_widths[name]+'px' } , left_nav_animate , 'jswing'  );
                
                
		}
	);
    
};

fixHovers = function(){
	$('a').hover(
		function(){
			$(this).addClass('hover');
		},
		// out
		function(){
			$(this).removeClass('hover');
		}
	);

};

bindInteractions = function(){

		// if a nav is on a section open that section...
		if($('#left-nav ul li a.current').length)
		{
			$('#left-nav ul li a.current').parent().find('ul')
			    .show()
				.css('visibility' , 'visible');

		}

		$('#content').show();

		/*
		*	 Bind Section Specific JS
		*/
		if('/pages/about' == window.location.href.match('/pages/about'))
		{
			bindAboutPage();
		}

};

bindAboutPage = function(){

    // do the first action!
    $('#nav-about li:first').addClass('current');
    $('#content #about').show();
    
    $('#nav-about li a').bind('click' , function(){
    
        // close any open content...
        $('#content div.copy').children().hide();
        
        // show thew current item
        $('#content '+this.hash).show();
        
        $(this).parent().parent().find('li').removeClass('current');
        $(this).parent().addClass('current');
        
        return false;
    
    });
};


