/*
////////////////////////////////////////////////////////////////
//
// 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);
}

////////////////////////////////////////////////////////////////
//
// @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{
      }  
    }
  }
}
      
////////////////////////////////////////////////////////////////
//
// @method void setViewmode(viewmode)
//
// @desc Setzt den Ansichtsmodus eines Links
//
// @param viewmode Ansichtmodus
//
// @return void
//
////////////////////////////////////////////////////////////////
  
jQuery.fn.setViewmode = function(viewmode){

  jQuery.each($(this), function(){
    var hrefNew = this.getAttribute('href');
    var anchor  = '';
    if(/#[^#]+$/.test(hrefNew)){
      anchor  = hrefNew.replace(/.*#/, '');
      hrefNew = hrefNew.replace(/#.*/, '');
    }

    hrefNew = hrefNew.indexOf('?') != -1 ? hrefNew + '&viewmode=' + viewmode: hrefNew + '?viewmode=' + viewmode;
    
    if(anchor != ''){
      hrefNew += '#' + anchor;
    }

    this.setAttribute('href', hrefNew);   
  });
} 
      
////////////////////////////////////////////////////////////////
//
// @method void addAnalytics()
//
// @desc Überwacht Links mit Google Analytics
//
// @return void
//
////////////////////////////////////////////////////////////////
  
jQuery.fn.addAnalytics = function(){

  jQuery.each($(this), function(){
    var href= this.getAttribute('href');
    this.setAttribute('onclick', 'pageTracker._trackPageview(\'' + href + '\');');
  });
}


////////////////////////////////////////////////////////////////
//
// @method boolean isLoopCookieNotSet()
//
// @desc Prüft ob der Loop-Sound () per Cookie deaktiviert wurde
//
// @return boolean (true: deaktiviert, false: Cookie gefunden, aktiviert)
//
////////////////////////////////////////////////////////////////

function isLoopCookieNotSet() {
	var nameEQ = "loopcokie" + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') {
			c = c.substring(1,c.length);
		}
		if (c.indexOf(nameEQ) == 0) {
			if(c.substring(nameEQ.length,c.length) == 'set') {
				return false;
			}
		}
	}
	return true;
}

////////////////////////////////////////////////////////////////
//
// @method boolean setLoopCookie()
//
// @desc Setzt das Loop-Cookie und deaktiviert den Auto-Loop.
//
// @return boolean (true: erfolgreich, false: fehler);
//
////////////////////////////////////////////////////////////////

function setLoopCookie() {
	var a = new Date();
	a = new Date(a.getTime() + 1000*60*60*24*365); //1 Jhar laufzeit
	document.cookie = 'loopcokie=set; expires='+a.toGMTString()+';'; 
}

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

jQuery(document).ready(function(){
  if(typeof wInitBrowseEdit == 'function'){
    wInitBrowseEdit();
  }
  if(typeof wEditor == 'undefined'){                                                                                                                                                                                                                                      
    jQuery("a.box").fancybox({"type": "iframe", "width": 560, "height": '80%', "titlePosition": "inside", "transitionIn" : "none", "transitionOut" : "none", "hideOnContentClick": true, "zoomOpacity": true, "zoomSpeedChange": 200, "zoomSpeedIn": 400, "zoomSpeedOut": 400, "overlayShow": false, "overlayOpacity": 1});
    jQuery("a.box").setViewmode('blank'); 
    if(typeof pageTracker != 'undefined'){
      jQuery("a.pdf, a.download").addAnalytics();
    }      
  } 
  	
	//PLAYER
		jQuery("#loop_player").jPlayer({
				swfPath: '/wuewewa-global/wGlobal/layout/scripts/jPlayer/',
				ready: function () {
					this.element.jPlayer("setFile", "/wuewewa-assets/mp3/wuewaewa_loop.mp3");
					if(isLoopCookieNotSet()) {
						jQuery("#loop_player").jPlayer("play");
						jQuery("#playerPlay").css("color", "#666");
						jQuery("#playerPause").css("color", "#c92d57");
					}
					else {
						jQuery("#playerPlay").css("color", "#c92d57");
						jQuery("#playerPause").css("color", "#666");
					}
				},
				volume: 90,
				customCssIds: false
			})
			.jPlayer("onSoundComplete", function() {
				this.element.jPlayer("play");
		});
   		
   		
   		function showStrophe1() {
			jQuery("#l2").hide();
			jQuery("#l3").hide();
			jQuery("#l1").fadeIn('normal');
   		}
   		
   		function showStrophe2() {
			jQuery("#l3").hide();
			jQuery("#l1").hide();
			jQuery("#l2").fadeIn('normal');

   		}
   		
   		function showRefrain() {
			jQuery("#l2").hide();
			jQuery("#l1").hide();
			jQuery("#l3").fadeIn('normal');
   		}
   		
			var jpPlayTime = jQuery("#jplayer_play_time");
			var jpTotalTime = jQuery("#jplayer_total_time");
		 
			jQuery("#jquery_jplayer2").jPlayer({
				swfPath: '/wuewewa-global/wGlobal/layout/scripts/jPlayer/',
				ready: function () {		
					this.element.jPlayer("setFile", "/wuewewa-assets/mp3/wuewaewa_final_low.mp3");
				},
				volume: 90,
				customCssIds: true
			})
			.jPlayer("onProgressChange", function(loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime) {
				if (playedTime >= 6000 && playedTime <= 33999) {
					showStrophe1();
				}
				
				if (playedTime >= 59000) {
					showStrophe2();
				}
				
				if (playedTime >= 34000 && playedTime <= 58999) {
					showRefrain();
				}			
				
				jpPlayTime.text(jQuery.jPlayer.convertTime(playedTime));
				jpTotalTime.text(jQuery.jPlayer.convertTime(totalTime));
		 
			})
			.jPlayer("cssId", "play", "jplayer_play2")
			.jPlayer("cssId", "pause", "jplayer_pause2")
			.jPlayer("cssId", "stop", "jplayer_stop2")
			.jPlayer("cssId", "loadBar", "jplayer_load_bar2")
			.jPlayer("cssId", "playBar", "jplayer_play_bar2")
			.jPlayer("cssId", "volumeMin", "jplayer_volume_min2")
			.jPlayer("cssId", "volumeMax", "jplayer_volume_max2")
			.jPlayer("cssId", "volumeBar", "jplayer_volume_bar2")
			.jPlayer("cssId", "volumeBarValue", "jplayer_volume_bar_value2")
			.jPlayer("onSoundComplete", function() {
				if(isLoopCookieNotSet()) {
					jQuery("#loop_player").jPlayer("play");
				}
		});
		
		jQuery("#jplayer_play2").click(function() {
			jQuery("#loop_player").jPlayer("pause");
			jQuery("#playerPause").css("color", "#666");
			jQuery("#playerPlay").css("color", "#c92d57");
		});
		
		jQuery("#jplayer_pause2").click(function() {
			jQuery("#jplayer_play2").jPlayer("pause");
		});
		
		jQuery("#strophe1").click(function() {
			jQuery("#loop_player").jPlayer("pause");
			jQuery("#jquery_jplayer2").jPlayer("play");
			jQuery("#jquery_jplayer2").jPlayer("playHeadTime", 6000);
			showStrophe1();
			return false;
		});
		
		jQuery("#strophe2").click(function() {
			jQuery("#loop_player").jPlayer("pause");
			jQuery("#jquery_jplayer2").jPlayer("play");
			jQuery("#jquery_jplayer2").jPlayer("playHeadTime", 59000);
			showStrophe2();
			return false;
		});
		
		jQuery("#refrain").click(function() {
			jQuery("#loop_player").jPlayer("pause");
			jQuery("#jquery_jplayer2").jPlayer("play");
			jQuery("#jquery_jplayer2").jPlayer("playHeadTime", 34000);
			showRefrain();
			return false;
		});
		
		jQuery("#startPlayer").click(function() {
			jQuery("#player").fadeIn("slow");
			jQuery("#backgroundPlayer").fadeIn("slow");
			jQuery("#loop_player").jPlayer("pause");
			jQuery("#jquery_jplayer2").jPlayer("play");
			jQuery("#playerPause").css("color", "#666");
			jQuery("#playerPlay").css("color", "#c92d57");
		});
		
		jQuery("#aHidePlayer, #backgroundPlayer").live("click", function() {
			jQuery("#player").fadeOut("slow");
			jQuery("#backgroundPlayer").fadeOut("slow");
			return false;
		});
		
		jQuery("#playerPause").click(function() {
			setLoopCookie();
			jQuery("#loop_player").jPlayer("pause");
			jQuery(this).css("color", "#666");
			jQuery("#playerPlay").css("color", "#c92d57");
			return false;
		});
		
		jQuery("#playerPlay").click(function() {
			jQuery("#loop_player").jPlayer("play");
			jQuery(this).css("color", "#666");
			jQuery("#playerPause").css("color", "#c92d57");
			return false;
		});

});
