/**
 * @author marcg
 * Accordion plugin based in jquery javascript library
 * Necessary structure to make this accordion work
 *   <ul>
 *    <li>
 *     <h4>Menu item</h4>
 *     <ul>
 *      <li>Submenu item</li>
 *     </ul>
 *    </li>
 *    <li>
 *     <h4>Menu item</h4>
 *     <ul>
 *      <li>Submenu item</li>
 *     </ul>
 *    </li>
 *   </ul>
 */

(function($) {
  $.fn.Accordion = function(settings){
	
 	contBox = this;
	settings = $.extend({}, arguments.callee.defaults, settings);
		/* send settings to each function */
	$(this).each(function(){
	 tSettings = settings;
	});
	
	$(this).find(" h4")
         .parent()
         .addClass("collapsed")
  
	$(this).find(" li h4")
         .css("cursor","pointer")
         .bind(settings.event,toggleElements);
	 
	 	// has cookie ?
	var c = readCookie('tabOpened');
	if( c ){
	  $(contBox).find("h4").each(function(i,el){
            $(el).parent().addClass("collapsed").removeClass("expanded");
	    if($(el).attr("title") == c){
	      $(el).parent().removeClass("collapsed").addClass("expanded")
	      .find(" ul").toggle()
	    }
	  })
	}
	
	return this;
	
  };
	
 function toggleElements(event){ 
  createCookie('tabOpened', $(this).attr("title"), 365);
  /* Inside click event ! */
  var speed = tSettings.speed;
  if( $(this).parent().attr("class") != "expanded"){
     $(contBox).find(" li.expanded")
               .addClass("collapsed")
               .removeClass("expanded")
               .find(" ul")
               .slideToggle(speed);
	       
     $(this).parent()
            .addClass('expanded')
            .removeClass('collapsed')
            .find(" ul")
            .slideToggle(speed);
  }else{
     $(this).parent()
            .addClass("collapsed")
            .removeClass("expanded")
            .find(" ul")
            .slideToggle(speed);		
  };		
 }
	
 $.fn.Accordion.defaults = {
  delay: 250,
  event: "click",
  speed: 500
 };
})(jQuery);
