/*
////////////////////////////////////////////////////////////////
//
// Allgemeine JavaScript Funktionen
//
// Weblication CMS Strukturdesign Version 5.1.0.0
// erstellt durch Scholl Communications AG, 77694 Kehl, www.scholl.de
// erstellt mit Weblication Content Management Server, www.weblication.de
//
////////////////////////////////////////////////////////////////
*/

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

function wOpenURL(url){
  if(location.pathname.indexOf('/weblication/grid5/') != 0){
    top.location.href = url;
  }
}

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

function wOpenPopupURL(url, width, height, name){

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

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

/*********************************************************************************/
//
// �ffnet ein Fenster
//
// @param string Url
//
// @param string Name des Fensters
//
// @param string Optionen
//
// @return window			
//
/*********************************************************************************/

function openWindow(url, name, options){

  var regWidth = /width=(\d+)/;
  regWidth.exec(options);
  width = RegExp.$1; 
  if(width == ''){   
    width = 640; 
  }

  var regHeight = /height=(\d+)/;
  regHeight.exec(options);
  height = RegExp.$1;       
  if(height == ''){   
    height = 480; 
  }    


  if(!name && !width && !height && !options){
    return window.open(url, name);
    return;
  }
  //Zusaetzliche Optionen angeben
  if(!options){
    options = ',resizable=no,scrollbars=no,status=no';
  }
  //Position zentriert festlegen
  
  var posLeft = (screen.width / 2)  - (width  / 2);
  var posTop  = (screen.height / 2) - (height / 2);
  //alert('top='+posTop+',left='+posLeft+',width='+width+',height='+height+',' + options);<<<
  return 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('|', '@');
}

////////////////////////////////////////////////////////////////
//
// @method void wEmbedNavpoint(id, url, mode)
//
// @desc Öffnet einen eingebetteten Navigationspunkt
//
// @return void
//
////////////////////////////////////////////////////////////////

function wEmbedNavpoint(id, url, mode){

  if(typeof wEditor == 'object'){
    return false;
  }

  if($('#navpoint_' + id).data('hasLoaded') == '1'){             
    $('#navEmbed_' + id).show();
  }
  else{
    if(mode == 'embed'){
      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('left', String(parseInt($('#navEmbed_' + id).css('left')) - (layerRight - blockMainRight)) + '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();
          });          
        }
      });
    }
    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.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() - 2;        
      
      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('left', String(parseInt($('#navEmbed_' + id).css('left')) - (layerRight - blockMainRight)) + '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();
      });  
      
      //jQuery('.blockContentEmbed').attr('id', 'blockContent');  
      //jQuery('.blockContentEmbedInner').attr('id', 'blockContentInner');        
    }  
  }
}

////////////////////////////////////////////////////////////////
//
// @method void wShowLayerBookmarklet()
//
// @desc Schlägt vor, diese Webseite als App abzulegen
//
// @return void
//
////////////////////////////////////////////////////////////////

function wShowLayerBookmarklet(){

  if(/iPhone|iPod/.test(window.navigator.userAgent)){
    if(window.localStorage){             
      if(typeof(window.localStorage['numberBookmarketShown']) == 'undefined' || Number(window.localStorage['numberBookmarketShown']) < 2){
        window.localStorage['numberBookmarketShown'] = String(Number(window.localStorage['numberBookmarketShown'] || 0) + 1);
        var bookmarkletInfo = document.createElement('div');   
        
        bookmarkletInfo.id             = 'wBookmarkletInfo';
        bookmarkletInfo.style.width    = '100%';
        bookmarkletInfo.style.position = 'absolute';
        bookmarkletInfo.style.bottom   = '0';                
        
        var bookmarkletInfoInner = document.createElement('div');
        bookmarkletInfoInner.style.color      = '#ffffff';
        bookmarkletInfoInner.style.border     = 'solid 4px #ffffff';                                                                       
        bookmarkletInfoInner.style.margin     = '20px';
        bookmarkletInfoInner.style.padding    = '8px';
        bookmarkletInfoInner.style.overflow   = 'hidden';
        bookmarkletInfoInner.style.position   = 'relative';                
        bookmarkletInfoInner.style.background = '#cddcf3 -webkit-gradient(linear, left top, left bottom, from(#B5C9D9), to(#6886B0)) no-repeat bottom';                  
        bookmarkletInfoInner.style.WebkitBorderRadius = '8px';
        bookmarkletInfoInner.style.WebkitBoxShadow    = '0 4px 6px #a0a0a0';   
        
        bookmarkletInfo.appendChild(bookmarkletInfoInner);
        
        var bookmarkletInfoIcon = document.createElement('img');
        bookmarkletInfoIcon.style.margin = '8px';
        bookmarkletInfoIcon.style.position = 'absolute';                               
        
        var linkTags = document.getElementsByTagName('link');
        for(var i = 0; i != linkTags.length; i++){
          if(linkTags[i].getAttribute('rel') == 'apple-touch-icon'){
            bookmarkletInfoIcon.src = linkTags[i].getAttribute('href');
          }
        }
        
        bookmarkletInfoInner.appendChild(bookmarkletInfoIcon);
        
        var bookmarkletInfoCloser = document.createElement('img');
        bookmarkletInfoCloser.src = '/weblication/grid5/gui/images/style/bookmarklet_close.png';
        bookmarkletInfoCloser.style.margin = '-4px';
        bookmarkletInfoCloser.style.padding = '2px';
        bookmarkletInfoCloser.style.background = '#ffffff';
        bookmarkletInfoCloser.style.border = 'solid 1px #c0c0c0';
        bookmarkletInfoCloser.style.float  = 'right';
        
        bookmarkletInfoCloser.onclick = function(){document.getElementById('wBookmarkletInfo').parentNode.removeChild(document.getElementById('wBookmarkletInfo'));window.localStorage['numberBookmarketShown'] = '99'};                            
        bookmarkletInfoInner.appendChild(bookmarkletInfoCloser);                
        
        var bookmarkletInfoText = document.createElement('div');
        bookmarkletInfoText.style.margin = '8px 8px 8px 100px';
        bookmarkletInfoText.style.position  = 'left';
        bookmarkletInfoText.style.backgroundColor  = 'none';  
        bookmarkletInfoText.innerHTML    = 'Klicken Sie unten auf das "+" Zeichen und dann auf "Zum Home-Bildschirm hinzufügen", um diese Seiten als App abzulegen.';   
        
        bookmarkletInfoInner.appendChild(bookmarkletInfoText); 
        
        var bookmarkletArrow = document.createElement('div');
        bookmarkletArrow.style.height             = '23px';
        bookmarkletArrow.style.width              = '100%';
        bookmarkletArrow.style.marginTop          = '-23px';
        bookmarkletArrow.style.position           = 'absolute';                         
        bookmarkletArrow.style.zIndex             = '10';        
        bookmarkletArrow.style.backgroundRepeat   = 'no-repeat';
        bookmarkletArrow.style.backgroundPosition = 'center';        
        bookmarkletArrow.style.backgroundImage    = 'url(/weblication/grid5/gui/images/style/arrow_bookmarklet.png)'; 
        
        bookmarkletInfo.appendChild(bookmarkletArrow);                                                               
        
        document.body.appendChild(bookmarkletInfo);
      }
      else{
      }  
    }
  }
}

////////////////////////////////////////////////////////////////
//
// Initialisieren der Seite
//
////////////////////////////////////////////////////////////////

jQuery(document).ready(function(){
  if(typeof wInitBrowseEdit == 'function'){
    wInitBrowseEdit();
  }
});

////////////////////////////////////////////////////////////////
//
// Beschreibung: Zeigt die Druckansicht an
//
////////////////////////////////////////////////////////////////

function wShowPrintpreview(printUrl){  

  var url = location.href;
  if(printUrl != ''){
    url = printUrl;
  }
  var anchor = location.hash;

  url = url.replace(anchor, '');
  
  if(url.indexOf('?') >= 0){
    url += '&viewmode=print';
  }
  else{
    url += '?viewmode=print';    
  }
  
  wOpenPopupURL(url, 768, 520, 'wPrintpreview');
}





////////////////////////////////////////////////////////////////
//
// JQuery-Funktionen
//
////////////////////////////////////////////////////////////////

jQuery.noConflict();
     
 // Use jQuery via jQuery(...)
jQuery(document).ready(function($){
  jQuery("ul.toggle li div.clickable").css('cursor', 'pointer');
  jQuery("ul.toggle li div.clickable").click(function() { 
    
    var hiddenArea = jQuery(this).parent().find('.fadeIn');
    if (hiddenArea.is(":hidden")) {
      if(jQuery(this).parent().is(".first")){
        jQuery(this).parent().css('border-top', '1px solid #ffffff');
      }
      jQuery(this).parent().addClass('grey');
      hiddenArea.slideDown("slow");
    } else {
      if(jQuery(this).parent().is(".first")){
        jQuery(this).css('border-top', '0px none #ffffff');
      }
      hiddenArea.slideUp("slow");
      jQuery(this).parent().removeClass('grey');
    }
  });
  
  jQuery('a.druck').click(function(e) { 
    e.preventDefault();
    wShowPrintpreview(jQuery(this).attr('href'));
  });
  

});



	function trimStr(zeichenkette) {
	  // Erst führende, dann Abschließende Whitespaces entfernen
	  // und das Ergebnis dieser Operationen zurückliefern
	  return zeichenkette.replace (/^\s+/, '').replace (/\s+$/, '');
	}

	function prepareAlert(s) {
		var sendBack = "";
		if(s.indexOf("LINEBREAK") > 0) {
			var sParts = s.split("LINEBREAK");
			for(i=0; i<sParts.length; i++) {
				if(i < (sParts.length-1)) {
					sendBack += sParts[i]+"\n";
				} else {
					sendBack += sParts[i];
				}
			}
		} else {
			sendBack= s;
		}
		return(sendBack);
	}

	function isMail(s){
		var a = false;
		var res = false;
		if(typeof(RegExp) == 'function') {
			var b = new RegExp('abc');
			if(b.test('abc') == true){
				a = true;
			}
		}
		
		if(a == true) {
			reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
			                 '(\\@)([a-zA-Z0-9\\-\\.]+)'+
			                 '(\\.)([a-zA-Z]{2,4})$');
			res = (reg.test(s));
		} else {
			res = (s.search('@') >= 1 &&
			       s.lastIndexOf('.') > s.search('@') &&
			       s.lastIndexOf('.') >= s.length-5)
		}
		return(res);
	}



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

function wInitFontSize(){

  document.write('<div id="fontSizerLeft">Schriftgröße:</div><div id="fontSizerRight">');
  document.write('<a id="defaultFont" href="#" class="fontSizerDefault" onClick="wSetFontSize(\'default\')" title="Schriftgröße zurückstellen">T</a>');
  document.write('<span class="fontSizerSpace">&#160;</span>');  
  document.write('<a id="decrease" href="#" class="fontSizerSmall" onClick="wSetFontSize(\'smaller\')" title="Schrift verkleinern">-</a>');
  document.write('<span class="fontSizerSpace">&#160;</span>');
  document.write('<a id="increase" href="#" class="fontSizerBig" onClick="wSetFontSize(\'bigger\')" title="Schrift vergrößern">+</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'){
    if(fontSizeCur == 's'){
      fontSizeNew = 'm';
    }
    else if(fontSizeCur == 'm'){
      fontSizeNew = 'l';
    }
    else if(fontSizeCur == 'l'){
      fontSizeNew = 'xl';
    }
    else {
      fontSizeNew = 'xl';
    }
  }
  else if(size == 'smaller'){
    if(fontSizeCur == 'xl'){
      fontSizeNew = 'l';
    }
    else if(fontSizeCur == 'l'){
      fontSizeNew = 'm';
    }
    else if(fontSizeCur == 'm'){
      fontSizeNew = 's';
    }
    else {
      fontSizeNew = 's';
    }
  }
  
  document.cookie = "wFontSize=" + fontSizeNew + ";path=/;";

  wSelectStylesheetSize(fontSizeNew)
}

////////////////////////////////////////////////////////////////
//
// 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';
    }
    else if(size == 'l'){
      size = 'xl';
    }
  }
  
  //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/wGlobal/layout/styles/size_' + size + '_ie.css';
        }
        else{
          linkTags[i].href = '/wLayout/wGlobal/layout/styles/size_' + size + '.css';
        }
        return true;
      }
    }
  }
}



////////////////////////////////////////////////////////////////
//
// Beschreibung: Generiert Spam-sichere Email mit frei definierbarer Domain.
// eingesetzt im Modul Mitarbeiterprofil
//
////////////////////////////////////////////////////////////////

function wSendMailNospam2(name, domain){

  location.href = 'mailto:' + name + '@' + domain;
}

