﻿var map_toggle_initial_top;
var menu_heights;
var map_img;
var stadion_html;
var bg_img;
var resetTimer = null;
var untoggleMap = null;

$(document).ready(function() {

	var numOfBanner = 4;
	var banner = Math.ceil(Math.random() * numOfBanner);
	var bannerElement =  document.getElementById('banner' + banner);
	if(bannerElement && bannerElement!=null){
		bannerElement.style.display = 'block';
	}
	$('.banner' + banner).each( 
		function() {
			$(this).css('display','block');
		}
	);	
	if(banner==7){
       ord=Math.random(); 
       ord=ord*10000000000000000000; 
       $(document).append('<IMG SRC="http://ad-emea.doubleclick.net/ad/N1657.389584.B2RUN.DE/B5514512.3;sz=1x1;ord='+ord+'?" WIDTH="1" HEIGHT="1" BORDER="0">'); 
  }
	
	/* GET URLVARS AND SAVE SOCKE-COOKIE */
	if ($.url.param('id') == '250' && (window.location+'').indexOf('=view') > -1) {
		$.cookie('socke', window.location);
		$('#head_teaser').css('background-image','url(./fileadmin/template/content-images/header-fs.jpg)');
	}	
	else if ($.cookie('socke') != null) {	/* GET COOKIE (IF SET) */
		$('#map_toggle_left_start').append('<div id="header-socke-link"><a href="'+$.cookie('socke')+'" title="faule Socke!">Zurück zur faulen Socke</a></div>');		
	}
	
	/* rotate Banner */
	
	

	 

	/* MAKE VALID LINK FOR tt_news LATEST */
	var elem = $('#map-info-right .latestHeader .description');
	var link = $(elem).parent().children('.caption').children('a');	
	$(elem).children('p').innerWrap('<a href="'+$(link).attr('href')+'" title="'+$(link).attr('title')+'" />');
	
	/* QUICK BROWSE */
	
	$('#quick_browse').change(function() {
		window.location = $(this).val();
	});
	
	/* D KARTE */
	
	bg_img = $('#head_teaser').css('background-image');
	map_img = $('#card-image').attr('src');
	if ($('#map-info2').length > 0) stadion_html = $('#map-info2').html();
	else { 
		stadion_html = '<div style="padding:10px">'+$('#map-info').html()+'</div>';
		$('#map-info').html(stadion_html);
		$('#map-info').attr('id','map-info2');
		}
		
	$('#card-toggler a').click(function() {
		
		window.clearTimeout(untoggleMap);
		if ($('.b2RunSubMenu').length > 0) {				
				untoggleMap = window.setTimeout('retractMap()',5000);				
		}
			
		if (!$('#toggle').hasClass('max')) {
			$('#toggle').css('display','block');
			$('#toggle').animate({
				queue:false,
				height: '420px'
			}, 1500, function() {
				$('#toggle').removeClass('min');
				$('#toggle').addClass('max');
				$('#card-toggler a').text('Deutschlandkarte minimieren');
				$('#card-toggler a').addClass('min');
			});
		}
		else {
		
				retractMap();
			
			}
			
		return false;
	});
		
	$('#b2run-card area').hover( function() {		
		
		window.clearTimeout(resetTimer);
		window.clearTimeout(untoggleMap);
		
		if ($(this).attr('id') == 'schland') return false;
		else if ($(this).attr('id') == 'backhover') {			
			resetHeader();
			return;
			}
			
		src = './fileadmin/Pics/header/karte/'+$(this).attr('alt')+'.png';
		$('#card-image').attr('src',src);		
		
		if (!$('#headerhover').attr('src').match('blank.gif')) $('#head_teaser').css('background-image','url('+$('#headerhover').attr('src')+')');		
		$('#headerhover').hide();
		src = './fileadmin/Pics/header/'+$(this).attr('alt')+'/'+$(this).attr('alt')+'.jpg';
		$('#headerhover').attr('src',src);	
		$('#headerhover').fadeIn('slow', function() {      });
		
		html = '<img src="./fileadmin/Pics/header/stadien/'+$(this).attr('alt')+'.jpg" alt="" />';
		$('#map-info2').html(html);
				
	}, function() {
			window.clearTimeout(resetTimer);
			resetTimer = window.setTimeout('resetHeader()', 500);
	});
	
	$('#b2run-card area').click( function() {
		if ($(this).attr('id') == 'backhover' || $(this).attr('id') == 'schland') {
			window.clearTimeout(resetTimer);
			return false;
			}
	});
	$('#b2run-card area').each( function() {
		if ($(this).attr('id') != 'backhover') {
			$.preLoadImages('./fileadmin/Pics/header/stadien/'+$(this).attr('alt')+'.jpg');
			$.preLoadImages('./fileadmin/Pics/header/karte/'+$(this).attr('alt')+'.png');
			$.preLoadImages('./fileadmin/Pics/header/'+$(this).attr('alt')+'/'+$(this).attr('alt')+'.jpg');
			}
	});
		
	/* CAT SELECT */
	
	$('.cat_select_list ul').hide();
	$('#cat_select').removeClass('max').addClass('min');
	$('#runner_small').show();
	$('.cat_select_list h1').css('cursor','pointer');
	
	$('.clickmap').click( function() {
		if ($('#cat_select').hasClass('max')) {
			$('.cat_select_list ul').hide();
			$('#cat_select').removeClass('max').addClass('min');
			$('#runner_small').show();	
		}
		else {
			$('.cat_select_list ul').show('slow');
			$('#cat_select').removeClass('min').addClass('max');
			$('#runner_small').hide();	
		}		
	});
	
	/* MENU */
	
	var menuItems = $('.menu li span');
	menu_heights = new Array(menuItems.length);
	
	for (i = 0; i < menuItems.length; i++) {
		menu_heights[i] = $(menuItems[i]).parent().parent().children('ul').height();
		}
	
	$('.menu li span').each( function(intIndex) {
	
		if ($(this).parent().parent().children('ul').length == 0) return;
	
		$(this).parent().parent().children('ul').css('height','0px');
		$(this).parent().removeClass('menu-hover');
		$(this).parent().parent().children('ul').removeClass('submenu-hover');
		$(this).parent().parent().bind('mouseover', function() {			
			$(this).children('ul').css('top','22px');
			$(this).children('ul').css('display','block');
			$(this).children('ul').stop().animate({height:menu_heights[intIndex]+'px'},{queue:false, duration:600 });
		});		
		$(this).parent().parent().bind('mouseout', function() {				
			$(this).children('ul').stop().animate({height:'0px'},{queue:false, duration:600, complete: $(this).children('ul').css('display','none') });
		});
		
	});
	
	$('.menu ul li a').css('background-image','none');
	
	$('.menu ul li').hover(function() {
			if ($(this).hasClass('selected')) return;
			$(this).children('a').stop().animate({ backgroundColor: '#F58025', opacity: 1, color: '#FFFFFF' }, 1000);
		},
		function() {
			if ($(this).hasClass('selected')) return;
			$(this).children('a').stop().animate({ backgroundColor: '#E2EBF0', opacity: 0.85, color: '#929497', jumpToEnd: true }, 'slow');
		}
	);
	
	/* NEWS */
	 
	$('#text-region').hover( function() {
    $(this).css('cursor', 'pointer');
  });
	$('#text-region').click( function() {
    $('#region-items').show('fast');
    $(this).css('font-weight', 'bold');
  });
		
	/* LIGHTBOX */

	$('.lightbox').colorbox();
	
	$('.lightbox-container a').colorbox({rel:'news-images'});
	
	/* BACK-LINK */
	if ($.isUrlInternal(document.referrer)) $('.runnerbar-back-link').attr('href','javascript:history.back()');	
	$('h1.contentBoxHeader').each( function() {	
		var anc = $(this).attr('id');
		var lastAnc = window.location.hash.replace('#', '');
		$(this).parent().find('a').each( function() {
			if ( !$(this).hasClass('cboxElement') && !$(this).hasClass('runnerbar-back-link') && ! $(this).hasClass('runnerbar') && $.isUrlInternal($(this).attr('href') ) ) $(this).attr('href', $(this).attr('href')+'#'+anc);
			else if ( lastAnc.length > 0 && $(this).hasClass('runnerbar') ) $(this).attr('href', $(this).attr('href')+'#'+lastAnc);
		});	
	});
	
	/* INFOBOX BAROMETER */
	
	$('a.startvideo').click( function() {
		
		openLightBoxMovie($(this).attr('href'),$(this).attr('title'),$(this).children('img').attr('src'));
		return false;
		
	});
	
	var cityurl = './fileadmin/template/php/citydata.php?url='+$('#city-url').attr('href');
	var html = "";
	var show = false;
	
	if (cityurl.indexOf('#') < 0 && $('#city-url').length > 0 && $('.ort-in-zahlen').length > 0) { //TEST: valid url? existing url? box on page?

		$.ajax({
			type: "GET",
			url: cityurl,
			cache: false,
			dataType: "xml",
			async: true,
			success: function(xml) {
				$(xml).find('contingent').each(function() {
					
					show = true;
					
					var tuning = new Array();
					
					tuning[0] = new Object();					
					tuning[0]['B2RUN_Berlin_2010'] = 1384;
					tuning[0]['B2RUN_Hamburg_2010'] = 1436;
					tuning[0]['B2RUN_Hannover_2010'] = 445;
					tuning[0]['B2RUN_Karlsruhe_2010'] = 1399;
					tuning[0]['B2RUN_Duesseldorf_2010'] = 438;
					tuning[0]['B2RUN_Muenchen_2010'] = 1009;
					tuning[0]['B2RUN_Dortmund_2010'] = 438;
					
					tuning[1] = new Object();
					tuning[1]['B2RUN_Berlin_2010'] = 2500;
					tuning[1]['B2RUN_Hamburg_2010'] = 1500;
					tuning[1]['B2RUN_Hannover_2010'] = 4500;
					tuning[1]['B2RUN_Karlsruhe_2010'] = 1500;
					tuning[1]['B2RUN_Duesseldorf_2010'] = 1500;
					tuning[1]['B2RUN_Muenchen_2010'] = 2000;
					tuning[1]['B2RUN_Dortmund_2010'] = 1500;
					
					var totalTunning = 100000000;
					var availTunning = 100000000;
					if(tuning[0][$('#b2run-city').text()])
						availTunning = parseFloat(tuning[0][$('#b2run-city').text()]);					
					var totalTunning = 100000000;
					if(tuning[1][$('#b2run-city').text()])
						totalTunning = parseFloat(tuning[1][$('#b2run-city').text()]);	
						
					if(false && $('#b2run-city').text()=='B2RUN_Berlin_2010'){
								html += '<div class="left">';
								html += '<h2>Teilnehmer</h2>';
								html += '<p><span class="orange">'+3023+'</span> Registrierungen</p>';
								html += '<p><span class="orange">'+212+'</span> Teams</p>';
								html += '</div>';					
					}
					else{

						if ($(this).attr('type') == "DS") {

							if (parseFloat($(this).attr('availabletickets')) > 0) {

								var avail = Math.min(availTunning, parseFloat($(this).attr('availabletickets')) );
								var total = Math.min(totalTunning, parseFloat($(this).attr('totaltickets')) );

								html += '<div class="left">';
								html += '<h2>'+$(this).attr('name')+'</h2>';
								/*html += '<p><span class="orange">'+total+'</span> Tickets gesamt</p>';*/
								html += '<p><span class="orange">'+avail+'</span> Tickets verfügbar</p>';
								html += '</div>';

							}

						}
						else if ($(this).attr('type') == "FS"){	

							var cnt = 0;

							$(this).find('detail').each(function() {

								if (parseFloat($(this).attr('availabletickets')) > 0) {
									if (cnt++ < 2) {

										var avail = Math.min(availTunning, parseFloat($(this).attr('availabletickets')) );
										var total = Math.min(totalTunning, parseFloat($(this).attr('totaltickets')) );

										if (cnt > 1) html += '<div class="right">';
										else html += '<div class="left">';								
										if ($(this).attr('name') != undefined) html += '<h2>'+$(this).attr('name')+'</h2>';
									/*	html += '<p><span class="orange">'+total+'</span> Tickets gesamt</p>';		*/
										html += '<p><span class="orange">'+avail+'</span> Tickets verfügbar</p>';
										html += '</div>';

									}
								}

							});						
						}
					}
				});
				if (show) {
					if (html.length > 0) $('.ort-in-zahlen').html(html);
					else $('.ort-in-zahlen').html('<div class="left"><p><span class="orange">ausverkauft</span></p></div>');
					$('#map-info-right .latestHeader').css('width','140px');
					$('#ticketinfo').show();
					}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				 $('.ort-in-zahlen').hide();
			}
		});
				
	}
	
	
});

function resetHeader() {

			$('#head_teaser').css('background-image',bg_img);		
			
			$('#headerhover').fadeOut('slow', function() { $('#card-image').attr('src',map_img); $('#headerhover').attr('src','./fileadmin/template/images/blank.gif'); $('#headerhover').css('display','none'); });
			
			$('#map-info2').html(stadion_html);	
			
			if ($('.b2RunSubMenu').length > 0) {
				window.clearTimeout(untoggleMap);
				untoggleMap = window.setTimeout('retractMap()',5000);				
			}
			
}

function retractMap() {

			window.clearTimeout(untoggleMap);

			resetHeader();
		
			$('#toggle').animate({
				queue:false,
				height: '0px'
			}, 1000, function() {
				$('#toggle').removeClass('max');
				$('#toggle').addClass('min');
				$('#card-toggler a').text('Zur Deutschlandkarte');
				$('#card-toggler a').removeClass('min');
			});

}

function updateCountdown(targetTime) {	
	
	var timediff=(new Date(targetTime) - new Date())/1000;
	
	if (timediff<0){ return }
	
	var oneMinute=60;
	var oneHour=60*60;
	var oneDay=60*60*24;
	
	var days=Math.floor(timediff/oneDay);
	var hours=Math.floor((timediff-days*oneDay)/oneHour);
	var minutes=Math.floor((timediff-days*oneDay-hours*oneHour)/oneMinute);
	var seconds=Math.floor((timediff-days*oneDay-hours*oneHour-minutes*oneMinute));

	$('#countdown').html('<p><span class="orange">'+days+'</span> Tage</p><p><span class="orange">'+hours+'</span>Stunden</p><p><span class="orange">'+minutes+'</span>Minuten</p><p><span class="orange">'+seconds+'</span>Sekunden</p>');
	$('#countdown').next().text('bis zum Start am:');

}
function openLightBox(img, title) {
			 			 
			 $.fn.colorbox({href: img, title: '', open: true, maxWidth: '90%', maxHeight: '90%'});

		}
		
function openLightBoxMovie(src,title,img) {
			if ($('#hidden-area').length == 0) {
				$("body").append('<div id="hidden-area"> </div>');
				$('#hidden-area').css('display','none');
				}
			else $('#hidden-area').html('');
			
			$("#hidden-area").append('<div id="dummy"> </div>');
			$("#hidden-area").append('<a href="'+src+'" title="'+title+'" id="lightbox"><img src="'+img+'" alt="'+title+'" /></a>');
						 			 
			$('#dummy').html('<embed height="350" width="535" flashvars="file=http://www.b2run.de/'+src+'&amp;width=535&amp;height=350&amp;backcolor=0xc7d8e2&amp;frontcolor=0xf58025&amp;lightcolor=0xF58025&amp;image=http://www.b2run.de/'+img+'&amp;showstop=true" wmode="transparent" allowfullscreen="true" allowscriptaccess="always" quality="high" name="mpl" id="mpl" src="http://www.b2run.de/typo3conf/ext/rgmediaimages/res/mediaplayer.swf" type="application/x-shockwave-flash">');			 

			var so = new SWFObject("http://www.b2run.de/typo3conf/ext/rgmediaimages/res/mediaplayer.swf","mpl","535","350","8");
			so.addParam("allowscriptaccess","always");
			so.addParam("allowfullscreen","true");
			so.addParam("wmode", "transparent");
			so.addVariable("file","http://www.b2run.de/"+src);
			so.addVariable('width','535');
			so.addVariable('height','350');
			so.addVariable('backcolor','0xc7d8e2');
			so.addVariable('frontcolor','0xf58025');
			so.addVariable('lightcolor','0xF58025');
			so.addVariable('image','http://www.b2run.de/'+img);
			so.addVariable('showstop','true');
			so.write("dummy");
			 
			$('a#lightbox').colorbox({inline: true, href:'#dummy', title: title});
			$('a#lightbox').trigger("click");
		}

function partnerinfo (uid,pid,link) {
		
		if (link.length == 0) return;
		
		try { 
			link.replace('http://','');
			test = parseFloat(link);
			if (test > 0) window.location = 'index.php?id='+link; 
			else window.open('http://'+link,'_blank');
			}
			catch (e)  {
				window.open('http://'+link,'_blank');
			}
		
}		

/* MEDIA GALLERY */
var ratingIds = new Array();
function loadRatingImages(pid, id) {
	
	var cnt = 1;
	var display = '';
	
	$.ajax({
			type: "GET",
			url: 'index.php?id='+pid+'&type=21',
			cache: true,
			dataType: "xml",
			async: true,
			success: function(xml) {
				var html = '<div class="teamRatingBox" style="position:relative;height:410px;left:25px">'
				html += '<div style="cursor:pointer;position:absolute;top:30px;width:20px;height:300px;float:left;background:url(./fileadmin/template/images/rating_button_left.png) no-repeat 50% 50% scroll transparent" id="teamRatingsPrev" onclick="showRatingTeam(currentIdx-1)"></div>'
				html += '<div style="position:absolute;left:20px">'
				$('#'+id).removeClass('loading');
				
				$(xml).find('photo').each( 
					function() {
						var teamId = $(this).attr('ref').replace(/\./g,'_');
						var sharelink = $(this).attr('link');
						var sharehtml = '';
						if(sharelink && sharelink!=''){
							sharehtml = '<div style="float:right"><a href="#" onclick="window.open(\'http://www.facebook.com/sharer.php?u='+encodeURIComponent((sharelink))+'\',\'sharer\',\'dependent=1,toolbar=0,status=0,resizable=1,width=626,height=436\');return false;"><img title="Gewiin deine Freunde für dieses Team" src="/fileadmin/template/images/facebookshare.jpg"></a></div>';
						}
						ratingIds.push(teamId);
						
						html +=
							'<div id="teamRating'+teamId+'" style="display:none">'
								+'<div class="teamTitle" style="width:450px;text-align:center;font-size:18px;font-weight:bold;height:30px;vertical-align:top">'+$(this).text()+'</div>'
								+'<div class="teamImage" onclick="openLightBox(\'./uploads/pics/'+$(this).attr('ref')+'\',\''+$(this).text()+'\')'+'" title="Bild vergrößern" style="cursor:pointer;height:300px;width:450px;background: url('+$(this).attr('image')+') no-repeat 50% 50% scroll transparent;">'

								+'</div>'
								
								+'<div class="teamRating" style="padding-top:20px">'
									+ sharehtml
									+'<div id="tx-ratings-'+teamId+'"></div>'
								+'</div>'	
							+'</div>'
						;
						
						cnt++;



					}
				);	
				html += '</div>';
				html += '<div style="cursor:pointer;position:absolute;left:470px;top:30px;width:20px;height:300px;float:left;background:url(./fileadmin/template/images/rating_button_right.png) no-repeat 50% 50% scroll transparent" id="teamRatingsNext" onclick="showRatingTeam(currentIdx+1)"></div>'
				html += '</div>';
				cnt--;
				$('#'+id).html(html);
				showRatingTeam(0);
			
			}
	});
		
		
}



var currentIdx = -1;
function showRatingTeam(idx){
	if(idx<0 || idx>=ratingIds.length)
		return;
	if(currentIdx!=-1){
		var teamId = ratingIds[currentIdx];
		$('#teamRating'+teamId).css('display','none');
	}
	currentIdx = idx;
	if(currentIdx==0){
		$('#teamRatingsPrev').css('display','none');
	}
	else{
		$('#teamRatingsPrev').css('display','block');
	}
	if(currentIdx==ratingIds.length-1){
		$('#teamRatingsNext').css('display','none');
	}
	else{
		$('#teamRatingsNext').css('display','block');
	}	
	var teamId = ratingIds[currentIdx];
	//alert(teamId)
	$('#teamRating'+teamId).css('display','block');
	tx_ratings_get(teamId, 'YTozOntzOjM6InBpZCI7aToxMzM7czo0OiJjb25mIjthOjk6e3M6MTE6ImluY2x1ZGVMaWJzIjtzOjQwOiJFWFQ6cmF0aW5ncy9waTEvY2xhc3MudHhfcmF0aW5nc19waTEucGhwIjtzOjEwOiJzdG9yYWdlUGlkIjtpOjEzMztzOjEyOiJ0ZW1wbGF0ZUZpbGUiO3M6Mzg6InR5cG8zY29uZi9leHQvcmF0aW5ncy9yZXMvcmF0aW5ncy5odG1sIjtzOjg6Im1pblZhbHVlIjtzOjE6IjEiO3M6ODoibWF4VmFsdWUiO3M6MToiNSI7czoxNjoicmF0aW5nSW1hZ2VXaWR0aCI7czoyOiIxMSI7czoxMzoiYWRkaXRpb25hbENTUyI7czowOiIiO3M6NDoibW9kZSI7czo0OiJhdXRvIjtzOjE0OiJkaXNhYmxlSXBDaGVjayI7czoxOiIwIjt9czo0OiJsYW5nIjtzOjI6ImRlIjt9') 
	//alert($('#teamRating'+teamId).css('display'));
}

function loadRatingImagesTopThree(pid, id) {
	
	var cnt = 1;
	var display = '';

	$.ajax({
			type: "GET",
			url: 'index.php?id='+pid+'&type=21',
			cache: true,
			dataType: "xml",
			async: true,
			success: function(xmlPhotos) {
				$.ajax({
					type: "GET",
					url: 'index.php?eID=tx_ratings_ajax_get_top',
					cache: true,
					dataType: "xml",
					async: true,
					error: function(XMLHttpRequest, textStatus, errorThrown){
						alert('ERROR: '+textStatus+' / '+errorThrown);
					},
					success: function(xmlRatings) {	
						var maxEntrys = 3;
						var count = 0;
						var ttRefs = new Array(maxEntrys);
						var ttTitles = new Array(maxEntrys);
						var ttImages = new Array(maxEntrys);
						
						$(xmlRatings).find('rating').each( 
							function() {
								if(count<maxEntrys){
									
									ttRefs[count] = $(this).attr('reference');
									
									count++;
								}
							}
						);
						$(xmlPhotos).find('photo').each( 
							function() {
								var idx = -1;
								var teamId = $(this).attr('ref').replace(/\./g,'_');
								for(var i=0;i<maxEntrys;i++){
									if(ttRefs[i]==teamId)
										idx = i;
								}
								if(idx!=-1){
									ttTitles[idx] = $(this).text();
									ttImages[idx] = $(this).attr('image');
								}
							}
						);	
						html = '<div>'
						for(var i=0;i<maxEntrys;i++){
							html += '<div style="border-bottom: 1px solid #aaa">';
							html += '<div style="height:100px;width:150px;text-align:center;float:left"><img src="'+ttImages[i]+'" height="100" ></img></div>';
							html += '<div style="padding:5px 0px;margin-left:155px;font-weight:bold">'+ttTitles[i]+'</div>';
							html += '<div style="clear:left"></div>';
							html += '</div>';
						}
						$('#'+id).html(html);
					}
				});
			
			}
	});
		
}

function loadMedia(pid, id) {
	
	var cnt = 1;
	var display = '';
	
	$.ajax({
			type: "GET",
			url: 'index.php?id='+pid+'&type=21',
			cache: true,
			dataType: "xml",
			async: true,
			success: function(xml) {
			
				$('#'+id).html('<ul class="mediaBox"></ul>');
				$('#'+id).removeClass('loading');
				
				$(xml).find('photo').each( function() {
										
					if (cnt > 16) display = 'display: none;';
					
					pageClass = 'page'+Math.ceil(cnt/16);
					
					$($('#'+id).children('ul')[0]).append('<li style="background: url('+$(this).attr('image')+') no-repeat 50% 50% scroll transparent; '+ display +'" class="'+pageClass+'" ><a rel="group_'+id+'" href="'+$(this).attr('url').replace('javascript:openLightBox(','').split(',')[0].replace(/\'/g,'')+'"> </a><span>'+$(this).text()+'</span></li>');
					
					cnt++;
					
					
														
				});			
			
			cnt--;
			var maxPages = Math.ceil(cnt/16);
			var browse = '<a class="back current" href="#page1" title="Zurück">&lt;&lt;</a><a class="current" href="#page1" title="Seite 1">1</a>';
			if(maxPages>1){
				try { for (i = 2; i <= Math.min(maxPages,3); i++) {
					browse += '<a href="#page'+i+'" title="Seite '+i+'">'+i+'</a>'; 
					}
				} catch (e) {}
				
				$('#'+id).append('<div class="pageBrowser"><div class="browseLinks">'+browse+' <a class="forward" href="#page2" title="Weiter">&gt;&gt;</a></div></div>');
			}
			$('#'+id+' .browseLinks a').click( function() {
				
				if ($(this).hasClass('current')) return false;
				
				$('#'+id+' .mediaBox li').hide();
				
				var curPage = parseFloat($(this).attr('href').split('#page')[1]);
				var prevPage = curPage - 1;
				if (curPage == 1) prevPage = 1; 
				var nextPage = curPage + 1;
				if (curPage == Math.ceil(cnt/16)) nextPage = curPage;

				//$('#'+id+' .browseLinks').html('<a class="back" href="#page'+prevPage+'" title="Zurück">&lt;&lt;</a><a href="#page'+prevPage+'" title="Seite '+prevPage+'">'+prevPage+'</a><a class="current" href="#page'+curPage+'" title="Seite '+curPage+'">'+curPage+'</a><a href="#page'+nextPage+'" title="Seite '+nextPage+'">'+nextPage+'</a><a class="forward" href="#page'+nextPage+'" title="Weiter">&gt;&gt;</a>');
								
				$('#'+id+' .mediaBox .page'+curPage).fadeIn();
				if(maxPages>2){
					$(this).parent().children('a').removeClass('current');
					if (curPage == Math.ceil(cnt/16)) {
						$($(this).parent().children('a')[3]).addClass('current');
						$($(this).parent().children('a')[4]).addClass('current');
						
						$($(this).parent().children('a')[0]).attr('href','#page'+(prevPage-1));
						$($(this).parent().children('a')[1]).attr('href','#page'+(prevPage-1));
						$($(this).parent().children('a')[2]).attr('href','#page'+prevPage);
						$($(this).parent().children('a')[3]).attr('href','#page'+curPage);
						$($(this).parent().children('a')[4]).attr('href','#page'+curPage);
						
						$($(this).parent().children('a')[1]).attr('title','Seite '+(prevPage-1));
						$($(this).parent().children('a')[2]).attr('title','Seite '+prevPage);
						$($(this).parent().children('a')[3]).attr('title','Seite '+curPage);
						
						$($(this).parent().children('a')[1]).html(prevPage-1);
						$($(this).parent().children('a')[2]).html(prevPage);
						$($(this).parent().children('a')[3]).html(curPage);
					}
					if (curPage == 1) {
						$($(this).parent().children('a')[0]).addClass('current');
						$($(this).parent().children('a')[1]).addClass('current');
						
						$($(this).parent().children('a')[0]).attr('href','#page1');
						$($(this).parent().children('a')[1]).attr('href','#page1');
						$($(this).parent().children('a')[2]).attr('href','#page2');
						$($(this).parent().children('a')[3]).attr('href','#page3');
						$($(this).parent().children('a')[4]).attr('href','#page3');
						
						$($(this).parent().children('a')[1]).attr('title','Seite 1');
						$($(this).parent().children('a')[2]).attr('title','Seite 2');
						$($(this).parent().children('a')[3]).attr('title','Seite 3');
					}
					if (!(curPage == Math.ceil(cnt/16)) && !(curPage == 1)) {
						$($(this).parent().children('a')[2]).addClass('current');
						
						$($(this).parent().children('a')[0]).attr('href','#page'+prevPage);
						$($(this).parent().children('a')[1]).attr('href','#page'+prevPage);
						$($(this).parent().children('a')[2]).attr('href','#page'+curPage);
						$($(this).parent().children('a')[3]).attr('href','#page'+nextPage);
						$($(this).parent().children('a')[4]).attr('href','#page'+nextPage);
						
						$($(this).parent().children('a')[1]).attr('title','Seite '+prevPage);
						$($(this).parent().children('a')[2]).attr('title','Seite '+curPage);
						$($(this).parent().children('a')[3]).attr('title','Seite '+nextPage);
						
						$($(this).parent().children('a')[1]).html(prevPage);
						$($(this).parent().children('a')[2]).html(curPage);
						$($(this).parent().children('a')[3]).html(nextPage);
					}
				}
				else if (curPage == 1) {
					$($(this).parent().children('a')[0]).addClass('current');
					$($(this).parent().children('a')[1]).addClass('current');
					if(maxPages>1){
						$($(this).parent().children('a')[2]).removeClass('current');
						$($(this).parent().children('a')[3]).removeClass('current');
					}
				}
				else if (curPage == 2) {
					$($(this).parent().children('a')[0]).removeClass('current');
					$($(this).parent().children('a')[1]).removeClass('current');
					$($(this).parent().children('a')[2]).addClass('current');
					$($(this).parent().children('a')[3]).addClass('current');
				}
				

				return false;
			
			});
			
			$('#'+id+' .mediaBox a').colorbox({rel:'group_'+id, title: '', maxWidth: '90%', maxHeight: '90%'});
			
			$('#mediasearchform').submit( function() {
				var str = $($('#mediasearchword')).val();
				if (str == 'Suche') return false;
				mediaSearch(id,str);
				return false;
			});
			
			$('#region-items a').click( function() {
				var str = $(this).attr('href').replace('#','');
				mediaSearch(id,str);
				return false;
			});
			
			$('#media-years a').click( function() {
				var str = $(this).attr('href').replace('#','');
				mediaSearch(id,str);
				return false;
			});
			
			}
		});
		
		
}

/* MEDIA GALLERY SEARCH */

function mediaSearch(id,str) {
	var foundin = $('#'+id+' li span:contains('+str+')').parent('li');
	
	$('#'+id+' li').attr('class','').hide();
	
	if (foundin.length < 1) {
		$('#'+id+' .mediaBox').hide('slow');
		$('#'+id+' .pageBrowser').html('<h3>Keine Treffer zu <i>'+str+'</i></h3>');
		return false;
	}
	else {
		if (! $('#'+id+' .mediaBox').is(':visible'))  $('#'+id+' .mediaBox').show('slow');
	}
	var elems = $(foundin);
	
	for (i = 0; i < elems.length; i++) {
							
		pageClass = 'page'+Math.ceil(i/16);
					
		$(elems[i]).addClass(pageClass);
					
	}
	
	$('#'+id+' .page1').show('slow');
	
	$('#'+id+' .browseLinks a').unbind('click');
		
	var browse = '<a class="back current" href="#page1" title="Zurück">Zurück</a><a class="current" href="#page1" title="Seite 1">1</a>';
			
	for (i = 2; i <= Math.ceil(foundin.length/16); i++) browse += '<a href="#page'+i+'" title="Seite '+i+'">'+i+'</a>';
			
	$('#'+id+' .pageBrowser').html('<div class="browseLinks">'+browse+' <a class="forward" href="#page2" title="Weiter">Vorwärts</a></div>');
	
		$('#'+id+' .browseLinks a').click( function() {
				
		if ($(this).hasClass('current')) return false;
				
		$('#'+id+' .mediaBox li').hide();
				
		var curPage = parseFloat($(this).attr('href').split('#page')[1]);
				
		$('#'+id+' .mediaBox .page'+curPage).show('slow');
			
		$(this).parent().children('a').removeClass('current');
		$($(this).parent().children('a')[curPage]).addClass('current');
				
		if (curPage > 1) $(this).parent().children('.back').removeClass('current').attr('href','#page'+(curPage-1));
		else $(this).parent().children('.back').addClass('current').attr('href','#page1');
				
		if (curPage < $(this).parent().children('a').length - 2 ) $(this).parent().children('.forward').removeClass('current').attr('href','#page'+(curPage+1));
		else $(this).parent().children('.forward').addClass('current').attr('href','#page'+$(this).parent().children('a').length - 2);
			
		return false;
			
	});
	
}

jQuery.fn.innerWrap = function() {
    var a, args = arguments;
    return this.each(function() {
        if (!a) a = jQuery.clean(args, this.ownerDocument);
        var b = a[0].cloneNode(true),
        c = b; 
        while (b.firstChild) b = b.firstChild; 
        jQuery.each(this.childNodes,
        function(i, node) {
            b.appendChild(node);
        });
        jQuery(this) 
        .empty() 
        .append(c);
    });
};	

 (function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)
