

/**
 * Menue Type 1
 * @version 1.0
 */
function SX_MenuT1()
{
 var Obj = this;
 var _pri = {};

 Obj.config =
   {
     period:500
   };


 Obj.start = function()
  {
    $('div.menue a').bind('click',function(e){
      var vlxSub = $(e.target).next();
      if($(vlxSub).is('ul'))
        {
          if($(vlxSub).is(':hidden'))
            {
              $(vlxSub).css({opacity: 0.0});
              $(vlxSub).show(Obj.config.period, function(){$(vlxSub).animate({opacity: 1.0})});
              if($(e.target).parent('li').hasClass('offen')){$(e.target).removeClass('foldactive');}
            }
          else
            {
              $(vlxSub).animate({opacity: 0.0},Obj.config.period,function(){$(vlxSub).hide(Obj.config.period);});
              if($(e.target).parent('li').hasClass('offen')){$(e.target).addClass('foldactive');}
            }
          e.preventDefault();
          $(e.target).blur(); // WA
        }
      });
  }
}

/**
 * Ein-/Ausblenden von Sitemap-Ebenen
 * @version 1.0
 */
function SX_Sitemap()
{
  var Obj = this;
  var _pri = {};

  Obj.config = {
    root: '.sitemap'
  };

  Obj.show = function(vlxEb)
  {
    $(Obj.config.root + ' ul').css({display:'block'});
    var vlxI, vlxStr = "";
    for(vlxI=0;vlxI<vlxEb;vlxI++)
      { vlxStr += '>li>ul'; }
    $(Obj.config.root + '>ul' + vlxStr).css({display:'none'});
  }
}

function CbxFilter ()
  {
    var Obj = this;
    var _pri = {};

    Obj.config = {
      version:1
    }

    _pri.version1 = function()
      {
        $('.filter button').css('display', 'none');
        $('.filter :input').bind('change', {}, function(){$('.filter').submit();});
      }

    Obj.use = function()
    {
      switch(Obj.config.version)
      {
        case 1: _pri.version1(); break;
      }
    }
  }

/**
 * Security Token wird angefuegt und externe Links mit targer=_blank geoeffnet
 * 
 * Auswirkung auf a-/img-Tags
 */
function CbxContLinx()
{
  var Obj = this;
  var _pri = {};

  Obj.config = {
    uris: false,
    box: false,
    st: 'sc',
    val: false,  // Wert des security Token
    extarg: true // externe URIs in neuem Fenster oeffnen (EXternes TARGet)
  }
  
  _pri.clutter = function(vlxStart)
  {
    var vlxZiel, vlxAnker = "";
    var vlxSplitQM, vlxSplitAk, vlxSplitAMP, vlxSplitEQ;
    var vlxI, vlxGetCha = false;    
    
    vlxSplitAk = vlxStart.split('#'); // Anker
    if(vlxSplitAk.length > 1)
      {
        vlxAnker = '#' + vlxSplitAk[vlxSplitAk.length - 1];
        vlxSplitAk.pop();
        vlxStart = vlxSplitAk.join();
      }                        

    vlxSplitQM = vlxStart.split('?'); // Path?Parameter
    vlxZiel = vlxSplitQM[0];  

    if(vlxSplitQM.length < 2)
      {vlxZiel += '?' + Obj.config.st + '=' + Obj.config.val + '&'}
    else
      {
        vlxSplitAMP = vlxSplitQM[1].split('&');
        if(vlxSplitAMP.length > 1)
          {
            for(vlxI=0; vlxI < vlxSplitAMP.length; vlxI++)
              {
                vlxSplitEQ = vlxSplitAMP[vlxI].split('=');
                if(vlxSplitEQ.length == 2 && vlxSplitEQ[0] == Obj.config.st)
                  {vlxSplitAMP[vlxI] = Obj.config.st + '=' + Obj.config.val; vlxGetCha = true;}
              }
            if(!vlxGetCha) {vlxSplitAMP.push(Obj.config.st + '=' + Obj.config.val);}
          }
        vlxZiel += '?' + (vlxSplitAMP.join('&'));
      }
    vlxZiel += vlxAnker;
    
    return vlxZiel;
  }

  Obj.transform = function()
  {
    if(Obj.config.uris === false) {alert("Fehlermeldung: Es wurden keine URIs definiert.");}

    if(Obj.config.val || Obj.config.extarg)
      {  
        var vlxFilter1 = 'a:not([href^="http://"]):not([href^="ftp://"]):not([href^="mailto:"])';        
        var vlxFilter2 = 'img:not([src^="http://"])';        
        for(var vlxI = 0; vlxI < Obj.config.uris.length; vlxI++)
          {
            vlxFilter1 += ', a[href^="'  + Obj.config.uris[vlxI] + '"]';
            vlxFilter2 += ', img[src^="' + Obj.config.uris[vlxI] + '"]';
          }

        $('a,img', Obj.config.box).each(function(vlxIdx,vlxElem){
          if((vlxElem.tagName).toLowerCase() == 'a') // Links
            {
              if($(vlxElem).filter(vlxFilter1).length != 0) // falls intern
                {
                  if(Obj.config.val) // falls SecToken
                    {$(vlxElem).attr('href',_pri.clutter($(vlxElem).attr('href')));};
                }
              else // falls extern, Links ggf. in neuem Fenster oeffnen
                {if(Obj.config.extarg){ $(vlxElem).attr('target','_blank'); }}
            }
          else if((vlxElem.tagName).toLowerCase() == 'img') // Bilder
            {
              if($(vlxElem).filter(vlxFilter2).length != 0 && Obj.config.val) // falls intern und SecToken
                {$(vlxElem).attr('src',_pri.clutter($(vlxElem).attr('src')));}                
            }          
          });
      }
  }  
}



