var $j = jQuery.noConflict();

(
	function ($j) 
	{
		var class1,class2,overrideClass=null;
		$j.fn.switchClass = function()
		{
			if(arguments.length<2)
			{
				alert("Illegal usage. switchClass requires at least 2 parameters, containing the class names to toggle.");
				return this;
			}
			class1=arguments[0];
			class2=arguments[1];
			overrideClass=null;
			
			if(arguments.length==3)
				overrideClass=arguments[2];
				
			return this.each(function(){
				$j.fn.switchClass.process($j(this));
			});
		};
		
		$j.fn.switchClass.process=function(el)
		{
			if(overrideClass!=null)
			{
				if(overrideClass==class1&&el.hasClass(class2))
				{
					el.removeClass(class2);
					el.addClass(class1);
				}
				else if(overrideClass==class2&&el.hasClass(class1))
				{
					el.removeClass(class1);
					el.addClass(class2);
				}
			}
			else
			{
				if(el.hasClass(class1))
				{
					el.removeClass(class1);
					el.addClass(class2);
				}
				else if(el.hasClass(class2))
				{
					el.removeClass(class2);
					el.addClass(class1);
				}
			}
		};
	}
)(jQuery);

    /*** Accordion ***/
var currentOpen         = false;

$j(document).ready(function(){

        // Add click functions to all categories
    $j('div.accordion_title').click(function ()
    {
    	
            // Start the slideToggle effect
        $j(this).next().slideToggle('fast');
        
		if (currentOpen == this)
		{
				// Closing the currentley opened item, so, everything is closed now
			currentOpen = false;
			$j(this).switchClass('Closed', 'Open');
		}
		else
		{
				// Change classes
			$j(currentOpen).switchClass('Open', 'Closed');;
			$j(this).switchClass('Closed', 'Open');
			
				// Hide current open item
			$j(currentOpen).next().slideToggle('fast');
			currentOpen = this;		
		}
    });
    
    $j('div.accordion_title:eq(0)').click();
});
