//Ajax Aufruf

//<a class="ajax" rel="ajax Path, pos Mod, pos Mod Value,ajax class,Title"></a>
//pos Mods: aRel, aAbs, aId



(function($) {
    $.fn.extend({
        pbMultiMenu: function(options) {

        	var defaults = {
            hoverClass:'pb_hover',
            arrowClass:'pb_sub',
            ulClass:'hasChildren',
            fadeIn:400,
            fadeOut:150,
            goOnClass:'goOn',
            absolutePath:'',
            genHeadClass:'heading_menu',
            custMod:true
            }


	        var opt = $.extend(defaults, options);
	        return this.each(function() {
		        var obj = $(this);


            $('li',obj).each(function(i){

            //Einbindung der Pfeile

            if($(this).children('ul').length >0 || $(this).children('a').hasClass('ajax')){
             if(opt.arrowClass != false){$(this).addClass(opt.arrowClass+' '+opt.ulClass)
             $(this).children('a').addClass(opt.arrowClass);
             }else{$(this).addClass(opt.ulClass)}}
            if($(this).children('a').attr('rel').length > 0 &&$(this).children('a').attr('rel') !='width:950,height:710'){
                          var rel =$(this).children('a').attr('rel')
            var relArr = rel.split(';')
            if (opt.genHeadClass !=''){var hdClass='class="'+opt.genHeadClass+'"'}else{var hdClass=''}
            if(relArr[4]!=''){$(this).before('<li '+hdClass+' style="cursor: default;"><h3>'+relArr[4]+'</h3></li>')}
            }
            //Einbindung Ajax Konstrukt
            if($(this).children('a').hasClass('ajax')){
            var relArr = $(this).children('a').attr('rel')
            var relArr= relArr.split(';');
            var divId=''
            if(relArr[3]!=''){
              var divId=relArr[3]
              var divIdTest= divId.split('')
              var idAttr=''
              for(i=0; i<=divIdTest.length-1;i++){
              if(divIdTest[i]=='#'){var idAttr=' id='}else
              if(divIdTest[i]=='.'){var idAttr=' class='}
              }
              if(idAttr != ''){
              var divId = divId.replace('.','')
              var divId = divId.replace('#','')
              var divId = idAttr+'"'+divId+'" '

              }
              }
            $(this).append('<ul style="width:285px; border-top:none;"><li'+divId+' style="width:285px;"><div style="width:285px;"></div></li></ul>')
            }



            })

            //EInfaches Ajax Menu
            function ajax(target,left,top){


            var relArr = $(target).children('a').attr('rel');
            var relArr = relArr.split(';')
            if(opt.absolutePaht !=''){
            var ajaxDest = opt.absolutePath+relArr[0];
            }else{
            var ajaxDest = relArr[0];}
            if(relArr[1] !=''){
            var heightMod = parseInt(relArr[1]);
            var top = top + heightMod;

            }
            $(target).children('ul').css({'left':left+'px', 'top':0})
            $(target).find('.ajax_include div').append('<center><img style="margin-top:10px;" src="images/loader_menu.gif" /></center>');
            $(target).children('ul').fadeIn('slow', function(){
            $(target).find('.ajax_include div').fadeIn('slow')});
            $.ajax({
            type: "POST",
            url:ajaxDest,
            dataType: "html",
            success: function(html) {

            $('div',target).html('');
            $('div',target).html(html).end()






            }
         });
         return false;
}



              //hover Sub Anzeigen
            function makeTall(){

            $(this).children('a').addClass('goOn')
            var ind=$(this).parent('ul').children('li').index(this);
            $(this).parent('ul').children('li:not(:eq('+ind+'))').children('a').removeClass('goOn')



            if($(this).hasClass('pb_sub')){
            //Offset errechnen
            var aId=''
            var aAbs=''
            var aRel=''


            if($(this).children('a').hasClass('ajax')){
            if($(this).children('a').attr('rel')>0){
            var aArr = $(this).children('a').attr('rel');
            var aArr = aArr.split(';')
            if(aArr[1] !=''){
            switch(aArr[1]){
            case 'aRel':
            break;

            case 'aAbs':
            break;

            case 'aId':
            break;



            }
            }
            }
            }
            var parWidth =parseFloat($(this).outerWidth());
            var currPos = $(this).position();
            var currPosL = parseFloat(currPos.left);
            var cust = 0;
            if(opt.custMod ===true){var cust=3}
            var newPosL = currPosL+parWidth+cust;
            if($(this).children('a').html() =='Hengste'){
            var parHeight =parseFloat($(this).position().top);
            var parHeight=parHeight-140;
            } else if($(this).children('a').html() =='Stallions'){
            var parHeight =parseFloat($(this).position().top);
            var parHeight=parHeight-140;
            }else{
            var parHeight =parseFloat($(this).position().top);}
            if($(this).children('a').hasClass('ajax')){ajax(this,newPosL,parHeight)}else{
            $(this).children('ul').css({'left':newPosL+'px', 'top':parHeight})
            $(this).children('ul').fadeIn(opt.fadeIn);
            }
            }
            }
            //hoverOut Sub Schließen
            function makeShort(){
            $(this).children('ul').children('li').children('a').removeClass('goOn')
            var indOut=$(this).parent('ul').index('ul')
            $(this).children('a').removeClass('goOn')
            $(this).children('ul').fadeOut(opt.fadeOut,function(){
            $(this).children('ul').hide();
            $(this).find('.ajax_include div').hide();
            });
            }

            //Ausführen
            var target = '#pop_menu li';
            var config = {over: makeTall,timeout: 400,out: makeShort};
            exe(target,config)



            //Ausführungsfunktion
            function exe(target,config){
            $(target).hoverIntent(config)}



            })
        }
    })
})(jQuery)

