////////////////////////////////////////////////////////////////
//
// @method void wOpenURL(url)
//
// @desc Öffnet eine Seite
//
// @return void
//
////////////////////////////////////////////////////////////////

function wOpenURL(url){
  if(location.pathname.indexOf('/weblication/grid5/') != 0){
    if(url.match(/\.php$/) || url.match(/\/[^\.]+$/)){
      top.location.href = url;    
    }
    else{
      window.open(url);
    }
  }
}

////////////////////////////////////////////////////////////////
//
// @method void wOpenPopupURL(url, width, height)
//
// @desc Öffnet eine Seite in einem Popup
//
// @return void
//
////////////////////////////////////////////////////////////////

function wOpenPopupURL(url, width, height){

  var name = '';
  
  if(width == '' || width == ' '){
    width = 786;
  }
  if(height == '' || height == ' '){
    height = 677;
  }
  
  url = url.replace(/&amp;/g, '&');
  options = ',location=no, menubar=no,toolbar=no,resizable=no,scrollbars=no,status=no';
  width   = parseInt(width);
  height  = parseInt(height);

  var posLeft = (screen.width / 2)  - (width  / 2);
  var posTop  = (screen.height / 2) - (height / 2);
  window.open(url, name, 'top='+posTop+',left='+posLeft+',width='+width+',height='+height+',' + options);
}

////////////////////////////////////////////////////////////////
//
// @method void wSendMailNospam(data)
//
// @desc Öffnet eine E-Mail zum Versenden
//
// @return void
//
////////////////////////////////////////////////////////////////

function wSendMailNospam(data){
  location.href = 'mailto:' + data.replace('|', '@');
}

function wEmbedNavpoint(id, url, mode){

  if(typeof wEditor == 'object'){
    return false;
  }         
 
  if(mode == 'embed'){ 
    if($('#navpoint_' + id).data('hasLoaded') == '1'){             
      $('#navEmbed_' + id).show();                                    
    }
    else{        
      jQuery('#navpoint_' + id).mouseout(function(){
        $('#navEmbed_' + id).hide();
      });    
       
      url = url.indexOf('?') == -1 ? url + '?viewmode=embed' : url + '&viewmode=embed';
      url = url.replace('[URL]', location.pathname + location.search);
      $.ajax({
        type: "GET",
        url: url,
        success: function(result){
        
          result = result.replace(/\n/g, '_wNL-').replace(/\s+id="[^"]+"/gim, '').replace(/_wNL-/g, "\n");
  
          $('#navpoint_' + id).data('hasLoaded', '1');                  
          $('#navEmbed_' + id).html(result);
          
          var navpointLeft = $('#navpoint_' + id).offset().left;
          
          $('#navEmbed_' + id).show();
          
          var layerLeft = $('#navEmbed_' + id).offset().left;
          
          var blockMainRight = $('#blockMain').offset().left + $('#blockMain').width();        
          
          if(layerLeft < navpointLeft){
            $('#navEmbed_' + id).css('left', String(navpointLeft - layerLeft - 6) + 'px');
          }
          
          var layerRight = $('#navEmbed_' + id).offset().left + $('#navEmbed_' + id).width();
                       
          if(layerRight > blockMainRight){
            $('#navEmbed_' + id).css('marginLeft', String( - (layerRight - blockMainRight) - 22) + 'px');
          }          
          
          jQuery('#navEmbed_' + id).mouseover(function(){
            $('#navEmbed_' + id).show();
          });
          
          jQuery('#navEmbed_' + id).mouseout(function(){
            $('#navEmbed_' + id).hide();
          });          
        }
      });
    }  
  }
  else{ 
    if($('#navpoint_' + id).data('hasLoaded') == '1'){             
      $('#navEmbed_' + id).show();                                 
      try{$('#navEmbedIframe_' + id).height(frames['navEmbedIframe_' + id].$('#blockContent').height() + 50);}catch(e){}
      $('#navEmbed_' + id).height(frames['navEmbedIframe_' + id].$('#blockContent').height() + 60);            
    }
    else{                      
      url = url.indexOf('?') == -1 ? url + '?viewmode=blank&parentIframeId=navEmbedIframe_'+id : url + '&viewmode=blank&parentIframeId=navEmbedIframe_'+id;
      url = url.replace('[URL]', location.pathname + location.search);
      $('#navpoint_' + id).data('hasLoaded', '1');                  
      
      var iframeEmbed    = document.createElement('iframe');

      iframeEmbed.id        = 'navEmbedIframe_' + id;
      iframeEmbed.name      = 'navEmbedIframe_' + id;
      iframeEmbed.className = 'navLevel1Embed';
      iframeEmbed.frameBorder = '0';
      iframeEmbed.scrolling   = 'no';
      iframeEmbed.src       = url;
             
      var embedContainer = document.getElementById('navEmbed_' + id);                
      embedContainer.appendChild(iframeEmbed);
      
      var navpointLeft = $('#navpoint_' + id).offset().left;
      
      $('#navEmbed_' + id).show();
      
      var layerLeft = $('#navEmbed_' + id).offset().left;
      
      var blockMainRight = $('#blockMain').offset().left + $('#blockMain').width();        
                      
      if(layerLeft < navpointLeft){
        $('#navEmbed_' + id).css('left', String(navpointLeft - layerLeft - 1) + 'px');
      }
      
      var layerRight = $('#navEmbed_' + id).offset().left + $('#navEmbed_' + id).width();
                   
      if(layerRight > blockMainRight){
        //$('#navEmbed_' + id).css('left', String(parseInt($('#navEmbed_' + id).css('left')) - (layerRight - blockMainRight)) + 'px');
        $('#navEmbed_' + id).css('marginLeft', String( - (layerRight - blockMainRight) - 22) + 'px');
      }
      
      jQuery('#navpoint_' + id).mouseout(function(){
        $('#navEmbed_' + id).hide();
      });
      
      jQuery('#navEmbed_' + id).mouseover(function(){
        $('#navEmbed_' + id).show();
      });
      
      jQuery('#navEmbed_' + id).mouseout(function(){
        $('#navEmbed_' + id).hide();
      });        
    }       
  }  
}

$(document).ready(function(){

    //Banner-Slider Elemente einblenden
   $('.stripViewer .panelContainer .panel').show();

  // Leeren des Eingabefeldes
  $('#stichwort').click(function(){
    $(this).val('');
  })

  /* Toggle der Spacer für NavLevel1 bei Mouseover
  $('ul.navLevel1Container > li').children('a:not([class *= "Selected"])').parent().hover(function(){
    $(this).next().children('a').addClass('noSpacer');
    // Trenner falls Mouseover auf NavPoint, dessen Nachfolger aktiv ist 
    if($(this).next().children('a[class *= "Selected"]').length != 0){
      $(this).next().children('a').addClass('borderActiveLeft');
    }
    // Trenner falls Mouseover auf NavPoint, dessen Vorgänger aktiv ist 
    if($(this).prev().children('a[class *= "Selected"]').length != 0){
      $(this).prev().children('a').addClass('borderActiveRight');
    }
    $(this).addClass('active');
  }, function(){
    //$(this).css('background', '0 none');
    $(this).removeClass('active');
    // Trenner entfernen falls Mouseover auf NavPoint, dessen Nachfolger aktiv ist 
    if($(this).next().children('a[class *= "Selected"]').length != 0){
      $(this).next().children('a').removeClass('borderActiveLeft');
    }
    // Trenner falls Mouseover auf NavPoint, dessen Vorgänger aktiv ist 
    if($(this).prev().children('a[class *= "Selected"]').length != 0){
      $(this).prev().children('a').removeClass('borderActiveRight');
    }
    if($(this).next().children('a[class *= "Selected"]').length == 0){
      $(this).next().children('a').removeClass('noSpacer');
    }
  });
  */

  // Einblenden zweites NavLevel bei Hover
  $('#navigationFullLayer li[class ^= "navLevel1"]').hover(function(){
    var navLevel2Container = $(this).children('div.navLevel2Container');
    $(this).children('div.navLevel2Container').show();
    var height = navLevel2Container.height() - 6;
    navLevel2Container.children('.navLevel2Border').height(height+'px');
  },function(){
    $(this).children('div.navLevel2Container').hide();
  })

  // Schnellfinder auf Startseite
  $('#quickfinder').change(function(){
    location.href = $(this).val();
  })

})



////////////////////////////////////////////////////////////////
//
// Schriftgrößen steuern
//
////////////////////////////////////////////////////////////////

function wInitFontSize(){
  document.write('<a id="defaultFont" href="#" class="fontSizerDefault" onClick="wSetFontSize(\'default\')" title="Standardschrift">&#8195;</a>');
  document.write('<span class="fontSizerSpace">&#160;</span>');
  document.write('<a id="decrease" href="#" class="fontSizerSmall" onClick="wSetFontSize(\'smaller\')" title="Schriftgrad mittel">&#8195;</a>');
  document.write('<span class="fontSizerSpace">&#160;</span>');
  document.write('<a id="increase" href="#" class="fontSizerBig" onClick="wSetFontSize(\'bigger\')" title="Schriftgrad groß">&#8195;</a>');
  document.write('</div>');

  var cookieStr    = document.cookie;
  var fontSizeBody = 's';

  var getFontSizeRegExpr = /wFontSize=(\w+)/;
  if(getFontSizeRegExpr.test(cookieStr) == true){
    fontSizeBody = RegExp.$1;
  }

  wSelectStylesheetSize(fontSizeBody);
}

var isEasy = 0;



////////////////////////////////////////////////////////////////
//
// Vergrößert oder verkleinert die Schriftgröße
//
////////////////////////////////////////////////////////////////

function wSetFontSize(size){

  var cookieStr    = document.cookie;

  var fontSizeCur = 's';
  var fontSizeNew = 's';
  
  var linkTags = document.getElementsByTagName('LINK');
  for(var i = 0; i < linkTags.length; ++i){
    if(linkTags[i].rel == 'stylesheet'){
      var getFontSizeRegExpr = /\/size_(\w)\.css$/;
      if(getFontSizeRegExpr.test(linkTags[i].href) == true){
        fontSizeCur = RegExp.$1;
      }
    }
  }
  
  var getFontSizeRegExpr = /wFontSize=(\w+)/;
  if(getFontSizeRegExpr.test(cookieStr) == true){
    fontSizeCur = RegExp.$1;
  }

  if(size == 'bigger'){
    fontSizeNew = 'l';
  }
  else if(size == 'smaller'){
      fontSizeNew = 'm';
  }
  
  document.cookie = "wFontSize=" + fontSizeNew + ";path=/;";

  wSelectStylesheetSize(fontSizeNew);
  
  jQuery(document).ready(function(){
    location.reload();
  });

}

////////////////////////////////////////////////////////////////
//
// Setzt die Schriftgröße neu
//
////////////////////////////////////////////////////////////////

function wSelectStylesheetSize(size){

  //document.write('<div style="position:absolute;margin-left:0px">' + size + ':</div>');
  
  if(size == ''){
    var cookieStr    = document.cookie;
    var getFontSizeRegExpr = /wFontSize=(\w+)/;
    if(getFontSizeRegExpr.test(cookieStr) == true){
      size = RegExp.$1;
    }
    if(size == ''){
      size = 's';
    }
  }
  
  //document.write('<div style="position:absolute;margin-left:10px">' + size + ':</div>');
  
  if(isEasy == 1){
    if(size == 's'){
      size = 'm';
    }
    else if(size == 'm'){
      size = 'l';
    }
  }
  
  //document.write('<div style="position:absolute;margin-left:20px">' + size + '</div>');
  
  var linkTags = document.getElementsByTagName('LINK');
  for(var i = 0; i < linkTags.length; ++i){
    if(linkTags[i].rel == 'stylesheet'){
      var getFontSizeRegExpr = /\/size_(\w+)\.css$/;
      //alert(size + ' : ' + linkTags[i].href +  ' . ' +  getFontSizeRegExpr.test(linkTags[i].href) );
      if(getFontSizeRegExpr.test(linkTags[i].href) == true){
        //alert('/wDeutsch/wGlobal/layout/styles/size_' + size + '.css');
        if(document.all && size == 'xl'){
          linkTags[i].href = '/wLayout-de/wGlobal/layout/styles/size_' + size + '_ie.css';
        }
        else{
          linkTags[i].href = '/wLayout-de/wGlobal/layout/styles/size_' + size + '.css';
        }
        
        return true;
      }
    }
  }
}


