/**
 *	jQuery Plugin for dynamic horizontal Navigation with vertical Menues.
 *	@name		cmHorizonNavigation
 *	@type		jQuery
 *	@cat		Plugins/ListNavigation
 *	@author		Christian Würker <Christian.Wuerker@CeuS-Media.de>
 *	@copyright	2007 Christian Würker <Christian.Wuerker@CeuS-Media.de> (http://ceus-media.de)
 *	@license	LGPL/CC
 *	@param		Object		settings (optional) Customize your Horizon Navigation
 *	@option		string		classChildList		CSS Class of Child Menues
 *	@option		string		classExpandable		CSS Class of expandable Parent Menu Items
 *	@option		string		classHover			CSS Class of hovered Parent Menu Items
 *	@option		string		classParentList		CSS Class of Parent Menu
 *	@option		string		classClearFix		CSS Class of float clear after Navigation
 *	@option		boolean		disableParents		Flag: remove Link Relation from Parent Menu Items
 *	@option		string		fadeSpeed			Speed of Child Menu Fade Effect
 */
(function($){
    jQuery.fn.cmHorizonNavigation = function(settings){
      var containers = this;
      //  options and defaults
      settings = jQuery.extend({
        classChildList	: "child",
        classExpandable	: "expandable",
        classHover		: "hover",
        classParentList	: "parent",
        classClearFix	: "clearfix",
        disableParents	: false,
        fadeSpeed		: "fast"
       }, settings);

      containers.each( function(e){

        $("ul>li>ul",this).hide();
        $("ul",this).addClass(settings.classParentList);
        $("ul li ul",this).removeClass(settings.classParentList).addClass(settings.classChildList);
//        $("#navigation").html($("ul.mainlist").parent().html());

        $("ul>li>ul",this).css('position','absolute');
        $("ul>li",this).hover(function(){
            $(this).toggleClass(settings.classHover);
          }, function(){
            $(this).toggleClass(settings.classHover);
        });
        $("ul>li",this).hover(function(){
            $("ul",$(this)).fadeIn(settings.fadeSpeed);
          },function(){
            $("ul",$(this)).fadeOut(settings.fadeSpeed);
        });
        $("ul."+settings.classParentList,this).parent().parent().addClass(settings.classClearFix);
        $("ul>li>ul",this).parent().addClass(settings.classExpandable);

        if(settings.disableParents){
          $("ul>li."+settings.classExpandable+">a",this).each(function(){
            $(this).attr('href',"javascript: void(0);");
          });
        }
      });
      $(document).ready(function(){
        $("ul."+settings.classChildList).bgiframe();
      });
      return this;
    }
  }
)(jQuery);

