$.formDialog = function(options)
{
   var dialogDiv = $('<div class="formDialog"></div>').appendTo('body');
   
   if(options.src == undefined)
   {
      return false;
   }

   var width = 800;
   if(options.big != undefined && options.big)
   {
      $(dialogDiv).toggleClass('formDialogbig');
      width = 1050;
   }
   var title = '';
   if(options.title != undefined)
   {
      title = options.title;
   }
   var ajax = false;
   if(options.ajax != undefined)
   {
      ajax = options.ajax;
   }
   
   $(dialogDiv).load(options.src,function()
   {
      $(document).trigger('formDialogLoad',[dialogDiv]);
      if(ajax)
      {
         $('form',dialogDiv).submit(function()
         {
            return false;
         })
      }
   });

   formDialog = $(dialogDiv).dialog({
      'title': title,
      'modal':true,
      'width': width,
      'position':['center',30],
      'buttons': {
         "Schließen": function() {
            if(!$(this).dialog('option','disabled'))
            {
               $(this).dialog( "close" );
               $(dialogDiv).remove();
            }
         }
      },
      close: function()
      {
         $(document).trigger('formDialogClose');
         $(dialogDiv).remove();
      }
   });

   return formDialog;
}

/**
 * Initialisiert die Aufrufe fuer die Form-Dialoge
 */
function initFormDialog()
{
   $('a.formDialog').click(function()
   {
      $.formDialog({
         big:$(this).hasClass('big'),
         ajax:$(this).hasClass('ajax'),
         src:$(this).attr('href')+'show/',
         title:$(this).attr('title')
      });
      return false;
   });
}

/**
 * Holt die Teaserinformationen zu einer bestimmten Arzneipflanze
 * 
 * @var id String Die Id des Datensatzes
 */
function getTeaser(id)
{    
   // HoverIntent Config
   var cfg = {over: getTeaserById, 
               timeout: 500, 
               out: dummy};
  
  // HoverIntent
  $("#gardenPlanMap dd a").hoverIntent(cfg);   
   
   // hoverIntent Funktionen
   function getTeaserById(){
      // Wir müssen die Infos zum Teaser laden
      $.ajax({
         type: "GET",
         url: "/apothekergarten/gartenplan/getTeaser/"+id,
      }).success(function(data){
         $(".teaser .boxBig").html(data);
         $(".teaser").css({'display': 'block'});
      })};
   // Leere Funktion da wir für out Required ist   
   function dummy(){};        
}

$(document).ready(function(){

   // alphabetische Sortierung des zweispaltigen Menüpunkte 
   // unterhalb der Top-Navigation
   $(".sub").each(function(key,value){      
      
      // Liste der (noch falsch sortieren List-Elemente
      var list = $(" > li", this);
      
      // Liste der Inhalte und Sortierung davon
      var values = []; 
      $(list).each(function(k,v){
         values.push(list[k].innerHTML);
      });
      values.sort();
      
      // Zuweisen der sortieren Inhalte an die Menüpunkte
      var length = values.length;
      var offset = Math.ceil(length/2);
      for(var i = 0; i < offset; i++){            
         list[i*2].innerHTML = values[i];
         if (length > i*2+1){            
            list[i*2+1].innerHTML = values[i+offset];
         }
         // Border vom untersten Elmenent entfernen
         if (i==offset-1){            
            $("a",list[i*2]).css("border","none");
            if (length > i*2+1){
               $("a",list[i*2+1]).css("border","none");
            }
         }
      };
      
      
      
      
      
   });   
   
   // Animation der Top-Navigation   
   $(".topNav").hoverIntent(function(event){      
      $(".sub",this).css({visibility: "hidden"});
      $(".sub",this).css({visibility: "visible",display: "none"}).css("margin-top",($(".sub",this).height()/-2)-20).slideDown(400);      
   },function(event){
      $(".sub",this).css({visibility: "hidden"});
   });
      
   // Dialog initialisieren
   initFormDialog();

   if($("#bloomList").length > 0)
   {
      // Datatable für "Was blüht gerade?"
      oTable = $('#bloomList').dataTable({
      
         // Lokalisierung
         oLanguage: {
            oPaginate: {
               sFirst: "Anfang",
               sLast: "Ende",
               sNext: "vor",
               sPrevious: "zurück"
            },
            sInfo: "Eintrag _START_ bis _END_ von _TOTAL_ Einträgen insgesamt",
            sInfoEmpty: "Treffer 0 bis 0 von 0 Treffern",
            sInfoFiltered: " (gefiltert aus _MAX_ Einträgen)",
            sProcessing: "Daten werden geladen...",
            sSearch: "Suche",
            sZeroRecords : "kein Einträge gefunden",
            sLengthMenu: "Zeige _MENU_ Treffer"
         },
      
         // Sortierbarkeit und Breite der einzelnen Spalten
         bAutoWidth: false,
      
         aoColumns: [
                     {"sWidth": "100%"},
                     ],
      
      
         "bJQueryUI": true,
      
         // Pagination
         sPaginationType: "full_numbers",
      
         // Layout
         sDom: '"<"H"flr>t<"F"pi>'
      
      });
   }
});

