// CONFIGS
// **********************************************************************
jQuery.noConflict();
var printStyles		= 'style/hertha_print.css';
var isPrintView		= false;
var showPlayerLinks	= true;
var playerDetails 	= [];
//**********************************************************************

// prüfen ob Druckansicht
//**********************************************************************
if (document.location.hash != '' && document.location.hash == '#print') {
	isPrintView = true;
}
//**********************************************************************


// Startup Jobs
//**********************************************************************
jQuery(document).ready(function() {
	
	ie6Info();
	ie7Fixing();
	
	// font replacement
	// **********************************************************************
	Cufon.now();
	Cufon.replace(jQuery('.M501 h1'));
	Cufon.replace(jQuery('.M201 .typeFace-marginalTeaserHeadline span'));
	Cufon.replace(jQuery('.M610 h2'));
	Cufon.replace(jQuery('.M617 h2'));
	Cufon.replace(jQuery('.M611 h2'));
	Cufon.replace(jQuery('.M611 .teaserWrapper a b'));	
	// **********************************************************************
	
	
	// Menu Main
	// **********************************************************************
	jQuery('#msMenuShowMainList > li').each(function(i, jObj) {
		subMenuUL = jQuery(this, jObj).find('ul');
		if (jQuery(this, jObj).find('ul').size() > 0) {
			jQuery(this, jObj).find('ul').show();
			jQuery(subMenuUL).wrap('<div class="subMenuLayer">');
			subMenuLayer = jQuery(this).find('.subMenuLayer');
			jQuery(subMenuLayer).prepend('<div class="top">');
			jQuery(subMenuUL).wrap('<div class="content">');
			
			jQuery(this, jObj).hover(function() {
				jQuery(this, jObj).find('.subMenuLayer').show();
				jQuery('.content ul li a', jObj).each(function(i, jObjInner) {
					if (jQuery(this).height() > 21) {
						jQuery(this).addClass('large');
					}
				});
			}, function() {
				jQuery(this).find('.subMenuLayer').hide();
			});
		}

	});
	// **********************************************************************
	
	
	// Menu Sub - Level 04
	// **********************************************************************
	var L04_activeItem	= jQuery('#mscMenu .level-04.active').text();
	jQuery('#mscMenu .flyout-container .opener b').text(L04_activeItem);	
	
	/*
	if (jQuery('#mscMenu .flyout-container ul li:not(:first)').hasClass('active')) {
		jQuery('#mscMenu .flyout-container .content').hide();
		jQuery('#mscMenu .flyout-container .opener').removeClass('active');
	}
	*/
	
	jQuery('#mscMenu .flyout-container .opener').click(function() {
		jQuery(this).parent().parent().parent().parent().find('.content').slideToggle('', function(){
			if (jQuery(this).is(':visible')) {
				jQuery(this).parent().find('.opener').addClass('active');
			} else {
				jQuery(this).parent().find('.opener').removeClass('active');
			}
		});
		
	});
	// **********************************************************************
	
	
	// Spielernamen automatisch verlinken
	// **********************************************************************
	// prüfen ob Player Links gezeigt werden sollen
	if (jQuery('.noplayerlinks').length){
		showPlayerLinks = false;
	}
	
	if (showPlayerLinks){
		jQuery('.M613 .cell-02').linkPlayer();
		jQuery('.M505 .cell-02').linkPlayer();
	}
	// **********************************************************************
	
	
	// Tooltips
	// **********************************************************************
	jQuery('.btn').not('.btn-tell, .btn-grey, .btn-arrow').tipsy({fade: true, gravity: jQuery.fn.tipsy.autoNS});
	// **********************************************************************
	

	// TEMP
	/*
	jQuery('#mscMenu .level-03 a').each(function(){
		var linkHref = jQuery(this).attr('href');
		jQuery(this).attr('href', linkHref+'#mscMenu');
	});
	
	jQuery('#mscMenu .level-04 a').each(function(){
		var linkHref = jQuery(this).attr('href');
		jQuery(this).attr('href', linkHref+'#mscMenu');
	});
	
	jQuery('#mscMenu .level-05 a').each(function(){
		var linkHref = jQuery(this).attr('href');
		jQuery(this).attr('href', linkHref+'#mscMenu');
	});
	
	jQuery('#mscMenu .level-06 a').each(function(){
		var linkHref = jQuery(this).attr('href');
		jQuery(this).attr('href', linkHref+'#mscMenu');
	});
	*/
	
	// 507 - btn: zum Seitenanfang
	jQuery('.M507 .btn-up').click(function(){
		jQuery(this).parents('body').scrollTo( 0, 800, { queue:true } );
		return false;
	});
	
	// 507 - btn: Seite drucken
	jQuery('.M507 .btn-print').click(function(){
		openPopup(this);
		return false;
	});
		

	// INIT
	// **********************************************************************
	if (!isPrintView) {
		// getabbten Content nur wenn nicht Druckansicht aktiv
		tabbedContent.init();
	}
	bwButtons.init();
	bwTeamMap.init();
	bwGal.init();
	// **********************************************************************
		
	
	
	// 602 + 603 - A-Z Liste
	// **********************************************************************
	jQuery('.M603#modul_A').show();	
	jQuery('div.M602 .cell-02 a').click(function() {
        var modul_ID 	= jQuery(this).attr('href');
        var countContent = jQuery(modul_ID+' div.cell-02').children().size();
        if (countContent === 0) {
        	var cleanModulID = modul_ID.replace('#', '');
    		if (jQuery(modul_ID).size() === 0) {
    			jQuery('.M602').after('<div id="'+cleanModulID+'" class="M603 modulUnit"></div>');
    		}
            jQuery(modul_ID).html('kein Inhalt für den Buchstaben <b>'+cleanModulID.replace('modul_', '')+'</b>');
        }
        jQuery("div.M602 .cell-02 a").removeClass('active');
        jQuery(this).addClass('active');
        jQuery('div.M603:not('+modul_ID+')').hide();
        jQuery(modul_ID).fadeIn();
        return false; 
    });	
    // **********************************************************************
	
	
	// 604
	// **********************************************************************
	var i = 0, org = "";
	jQuery("div.M604 div.cell-02 map area").mouseover(function() {
		// einmalig Originalbild ermitteln
		if (i == 0) {
			org = jQuery("img#deuKarteImg").attr("src");
		}
		i++;

		var club = jQuery(this).attr("alt");
		jQuery("img#deuKarteImg").attr("src",
				"fileadmin/content/image/auswaetsfahrten/deuKarte_" + club + ".png");
		var img = jQuery("img#deuKarteImg").attr("src");
		}).mouseout(function() {
		jQuery("img#deuKarteImg").attr("src", org);
	});
	// **********************************************************************
	
	
	// M609
	// **********************************************************************
	jQuery('.M609').each(function(index, jObj){
		var firstItem = jQuery(this).find('li:first');
        if (firstItem.find('.content .image img').size() > 0) {
            jQuery(firstItem).addClass('hasImage');
        }
        firstItem.addClass('active');
        
        jQuery(this).find('li').click(function(){
			if (jQuery(this).hasClass('active') === false) {
				if (jQuery(this).find('.content .image img').size() > 0) {
					jQuery(this, jObj).addClass('hasImage');
				}
				jQuery(jObj).find('.active').removeClass('active').removeClass('hasImage');
				jQuery(this, jObj).addClass('active');
				return false;
			}
		});
        
        jQuery(this).find('li:not(.active) .newstitle a').live('click', function(){
        	jQuery(this).parent().parent().parent().click();
        	return false;
        });
    });
	// **********************************************************************
	
	
	// M607
	// **********************************************************************
	jQuery('.M607 a').fancybox({
		overlayShow: true,
		zoomSpeedIn : 500,
		zoomSpeedOut : 500,
		overlayOpacity: 0.75,
		overlayColor: '#00519E',
		centerOnScroll:  true
	});
	// **********************************************************************
	
	
	// M611 - vorheriger/nächster Spieler
	// **********************************************************************
	jQuery('.M611 .cell-01').each(function(iIndex, jObj){
		var prevLink	= jQuery('ul.layer li.active', jObj).prev().find('a');
		var nextLink	= jQuery('ul.layer li.active', jObj).next().find('a');
		var prevCount 	= prevLink.size();
		var nextCount 	= nextLink.size();
		
		if (prevCount > 0) {
			jQuery('.prev a', jObj).attr('href', prevLink.attr('href'));
		} else {
			jQuery('.prev a', jObj).hide();
		}
		
		if (nextCount > 0) {
			jQuery('.next a', jObj).attr('href', nextLink.attr('href'));
		} else {
			jQuery('.next a', jObj).hide();
		}
	});
	// **********************************************************************
	
	
	//Druckansicht
	// **********************************************************************
	if (isPrintView) {
			
		jQuery('head').append('<style type="text/css" media="print">.printItTop, .printItBottom{display: none;}</style>'
							+'<link rel="stylesheet" type="text/css" href="'+printStyles+'" media="all" />');
		jQuery('#mainStage').prepend('<div class="printItTop">'+
										'<a href="javascript:window.print()" class="link-doubleArrow">&raquo; Jetzt drucken</a>'+
									'</div>');
		jQuery('#mainStage').append('<div class="printItBottom">'+
										'<a href="javascript:window.print()" class="link-doubleArrow">&raquo; Jetzt drucken</a>'+
									'</div>');
	}
	// **********************************************************************
	
	
});


//**********************************************************************
//**********************************************************************



(function($){
	$.fn.linkPlayer = function() {
	    this.each(function() {
	    	var data 		= $(this).html();
	    	var hasMatches	= false; 
	    	for (i = 0; i < playerDetails.length; i++) {
	    		var regex = new RegExp(playerDetails[i][0], 'gi');	    		
	    		if (data.match(regex)) {
	    			var data = data.replace(regex, '<a href="index.php?id='+playerDetails[i][1]+'">'+playerDetails[i][0]+'</a>');
	    			hasMatches = true;
	    		}
        	}	    	
	    	if (hasMatches) {
	    		$(this).html(data);
	    	}
	    });
	    return $(this);
	}
})(jQuery);


function openPopup (elem) {
	var url				= document.URL+'#print';
	activeTabContent	= jQuery('div.tabContent:visible').html();
	popup				= window.open(url, "_blank", "width=685,height=800,status=yes,scrollbars=yes,resizable=yes");
	popup.focus();
}

var tabbedContent = {
	init : function() {
		var contentContainer;
		jQuery('.M601').each(function(i, jObj) {
			jQuery('ul li:first', jObj).addClass('active');
			contentContainer = jQuery(this, jObj).find('.dynTabContentWrapper');
			jQuery(contentContainer).html(jQuery(this, jObj).find('.dynTabContent'));
			jQuery('.dynTabContentWrapper .dynTabContent:first', jObj).show();
		});
		
		jQuery('.M601 ul li > a').each(function(i, jObj) {
			// setting uniqueTabID
			jQuery(this, jObj).parent().attr('id', 'tab-' + i);
			
			jQuery(this, jObj).click(function() {
				id = jQuery(this, jObj).parent().attr('id');
				//contentContainer = jQuery(this, jObj).parent().parent().parent().find('.dynTabContentWrapper');
				jQuery(this, jObj).parent().parent().parent().find('.dynTabContentWrapper div.dynTabContent:visible').hide(1, function() {
					jQuery(contentContainer).find('#' + id + '-content').show();
				});
				tabUL = jQuery(this).parent().parent();
				jQuery(tabUL).find('li.active').removeClass('active');
				jQuery(this).parent('li').addClass('active');
				return false;
			});
		});

		jQuery('.M601 .dynTabContentWrapper .dynTabContent').each(function(i, jObj) {
			jQuery(this, jObj).attr('id', 'tab-' + i + '-content');
		});
	}
}


var bwButtons = {
	init : function() {

		jQuery('.btnAutoScale').each(function(i, jObj) {			
			if (jQuery(this, jObj).height() > 24) {
				var elemText = jQuery(this).find('b').text();
				elemText = elemText.replace(' ', '<br />');
				jQuery(this).find('b').html(elemText);
				jQuery(this, jObj).addClass('btnAS-big');
			}
		});
	}
}

var bwTeamMap = {	
	init: function() {
		jQuery('.M614').each(function(iModul, jModul) {
			
			jQuery(this, jModul).find('.cell-01').append('<div class="detailLayer"> </div>');			
			dataContainer = jQuery(this, jModul).find('.cell-01 ul');
			
							
				jQuery('area', jModul).flexToolTip({
		            speed: 500	,
		            delay: 0,
		            source: 'area',
		            adjustTopOffset: 20,
		            adjustLeftOffset: 70
		        });
				
		});
	}
}

var bwGal = {
	init: function() {
		jQuery('.M611 .itemBox-galleryImage, .M604 .itemBox-galleryImage').each(function(i, jObj) {
			if (jQuery(this, jObj).next().attr('class') === 'thumbWrapper') {				
				var tW = jQuery(this, jObj).next();
				var firstImgLink = jQuery(tW).find('.itemBox-image:first a');
				var relTag = 'gallery-'+i+'-'+i;
				var imageAndLnk = '';
				tW.find('.itemBox-image').each(function(ii, jSmallGalleryImage) {
					imageThumbLink	= jQuery(this).find('a');
					title			= imageThumbLink.attr('title');
					imageUrl		= imageThumbLink.attr('href');					
					imageThumbLink.attr('id', 'image-'+ii+'_thumb');
					imageAndLnk += '<a href="'+imageUrl+'" id="image-'+ii+'" rel="'+relTag+'"><img src="'+imageUrl+'" title="'+title+'" /></a>';
				});
				jQuery(jObj).append(imageAndLnk);				
				jQuery(this, jObj).parent().find('.itemBox-image a:first').addClass('active');		
				jQuery(jObj).find('a:first').addClass('active');
				jQuery(this, jObj).parent().find('.itemBox-thumbLink a').click(function() {
					jQuery(jObj).find('a.active').click();
					return false;
				});
			}
			jQuery(jObj).parent().find('.itemBox-image a').click(function(){
				var elemID = jQuery(this).attr('id');
				elemID = elemID.replace('_thumb', '');				
				jQuery('a[id!='+elemID+']', jObj).removeClass('active').fadeOut('fast', function(){
					jQuery('#'+elemID, jObj).addClass('active').fadeIn();
				});				
				
				return false;
			});			
			jQuery(jObj).find('a').fancybox({
				overlayShow: true,
				zoomSpeedIn : 500,
				zoomSpeedOut : 500,
				overlayOpacity: 0.75,
				overlayColor: '#00519E',
				centerOnScroll:  true
			});
		});
	}
}

function ie7Fixing() {
	if (jQuery.browser.msie && parseInt(jQuery.browser.version) == 7) {
		jQuery('.subdropdown-container .level-05').css('width', '100%');
		jQuery('.subdropdown-container .level-05').hover(function(){
			jQuery(this).css('z-index', '9999');
		}, function(){
			jQuery(this).css('z-index', '1');
		});
		var listItemCount = jQuery('.subdropdown-container .level-05 > a').size();
		jQuery('.subdropdown-container .level-05 > a').each(function(iCount, jObj){
			var elemWidth 	= jQuery(this).width();
			elemWidth 		= elemWidth+32;
			jQuery(this).parent().css('width', elemWidth+'px');
			if ((iCount+1) == listItemCount) {
				var listHeight = jQuery('.subdropdown-container > ul').height();
				jQuery('.subdropdown-container > ul').height(listHeight+'px');
			}
			var parent		 	= jQuery(this).parent();
			var parentOffset 	= parent.position();
			var parentTop		= parentOffset.top;
			var parentLeft		= parentOffset.left;					
			var newCSS = {						
				'top': parentTop+'px',
				'left': parentLeft+'px'
			};
			parent.css(newCSS);					
		}).parent().css('position', 'absolute');
	}
}

function ie6Info() {	
	if (jQuery.browser.msie && parseInt(jQuery.browser.version) == 6) {
		var infoText = jQuery('<div id="ieonly" class="typeFace-text">'+
								'Die folgende Homepage ist für  den Internet Explorer 7 oder höher optimiert. '+
								'User mit einer älteren Version des Browsers benötigen ein Software-Update, um '+
								'keine Probleme mit der korrekten Darstellung zu erhalten.<br />'+
								'<a href="http://www.microsoft.com/germany/windows/products/winfamily/ie/default.mspx">Hier gehts zum Update.</a>'+
							'</div>').fadeIn('slow');
		jQuery('body').prepend(infoText);
	}
}

// HTTPS-Check
if (window.location.protocol == 'https:') {
// erlaubte PageIDs
  var myIDs = new Array(68,865,1694,2353,1564,2355,1562);
  var isenabled = false;
  for (var i = 0; i < myIDs.length; ++i) {
    if (location.href.toLowerCase().indexOf("id="+myIDs[i]) > -1) {
      isenabled = true;
    }
  }
  if (location.href.toLowerCase().indexOf(".cms.nexum.de") > -1) {
    isenabled = true;
  }
  
  if (isenabled==false) {
    location.href = location.href.replace('https:','http:');
  }
}

