	/**
	 * @param		String		Accordion directions
	 * @param		Object		Configureable options to overwritte default settings
	 */
	function accordion_init(direction, options_in){

		var aniArgs = {};
		aniArgs[direction] = 'toggle';

		// Default settings
		var options = {
			animation_time : 400,		// default animation time
			allow_close_current : false		// default flag - if we can close currently open box
		};

		// Overwritte default settings if required
		if ( typeof(options) != 'undefined' ) {
			$.extend(options, options_in);
		}
	
            //main accordion functionality
            $(".acc_toggle").click(function(){
                $('#accordion').trigger('slideStart');
                var selector = $(this).attr("id");
                if(options.allow_close_current==false && $(".acc_toggle ~ ." + selector).hasClass("open")){
                    //if already open do nothing
                }else{
					/*
					 * Do the following steps:
					 * 1: close opened box and remove 'open' class
					 * 2: open closed box and add 'open' class
					 * 3: update 'acc_active' classes on necessary buttons
					 */
					
					var to_close = $(".accordion_pane:not(." + selector + ").open");
					var to_open = $(".acc_toggle ~ ." + selector);

					to_close
						.animate(aniArgs, options.animation_time)
						.toggleClass("open");

					to_open
						.animate(aniArgs, options.animation_time, function(){
							$('#accordion').trigger("slideStop");
						})
						.toggleClass("open");

                    $("#"+selector).toggleClass("acc_active");
                    $(".acc_toggle:not(#" + selector + ").acc_active").toggleClass("acc_active");
                }
            });

            //accordion function of hotlinks use clicked index to trigger relevant accordion click event
            $("#accordion_hotlinks li").click(function(){
                var index = $('#accordion_hotlinks li').index(this);
                $('#accordion h2:eq('+index+')').trigger('click');
            });

    }

    $('#accordion').bind('slideStart', function() {
        $(".acc_toggle").unbind('click');
        $("#accordion_hotlinks li").unbind('click');
    });

    $('#accordion').bind('slideStop', function() {
        accordion_init();
    });


