/** master js file **/

// Define namespace for mwanz
var MWanz = {};

// Document ready
$(document).ready(function() {
	// Add header homepage link
	MWanz.addHeaderHomepageLink();
	
	// Headerbar weather
	MWanz.weatherHeaderbar();
	
	// Headerbar rss feed
	MWanz.rssHeaderbar();
	
	// Init picflow gallery
	MWanz.initPicflowGallery();
	
	// Fadebox
	MWanz.fadeboxInit();
	
	// Tabbox
	MWanz.Tabbox.init();
	
	// Header teaser
	MWanz.headerTeaserInit();
	
	// Print links
	MWanz.initPrintLinks();
	
	// Article send
	MWanz.Article.articleSendInit();

	// Ads send
	MWanz.Ads.adsSendInit();
	
	// Ads filter
	MWanz.Ads.AdFilter.init();
	
	// Article comment
	MWanz.Article.articleCommentInit();
	
	// Wingame form
	MWanz.Article.wingameformInit();

	// Prospect
	MWanz.Prospect.init();
	
	$(".blue_navi .q-cabl").click(function(){
		$(this).nextAll("ul").slideToggle("fast", function() {
			$(this).prevAll("img.q-cabl").toggleClass("q-exp");
		});
	});
	
	$(".blue_navi .q-cabt").click(function(){
		$(this).parent("div").nextAll("ul").slideToggle("fast", function() {
			$(this).prevAll("img.q-cabl").toggleClass("q-exp");
		});
	});
	
	// Portal map init
	MWanz.Portal.GMap.init();
	
	// Header clock init
	//MWanz.HeaderClock.init();
	
	// Search
	MWanz.Search.init();
	
	// Alph navi
	MWanz.AlphNavi.init();
	
	
	// Init banner height checker
	MWanz.initBannerHeightChecker();
	
	// Init zip chooser
	MWanz.initZipChooser();
	
	MWanz.Archivecontrol.init();
	
	MWanz.NewsTicker.init();
	
	MWanz.Adflow.init();
	
	/* no blue background on load and print */
	if(window.location.href.indexOf("print") == -1) {
		$('body').css('background-color', '#062f47');
	}
	$('a[rel=adimgs]').fancybox({
		'transitionIn': 'none',
		'transitionOut': 'none',
		'titlePosition': 'over',
		'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
			return '<span id="fancybox-title-over">Bild ' +  (currentIndex + 1) + ' / ' + currentArray.length + '</span>';
		}
	});
	
	// Ads print
	if($('.c_ads_print').length != 0) {
		window.setTimeout("window.print()", 2000); // wait 'til everything loaded...
	}
	if($('.ad_print_button').length != 0) {
		$('.ad_print_button').click(function() {
			window.print();
			return false;
		});
	}
	
	// Ads recommend
	if($('.ad_recommend_button').length != 0) {
		var iVal = $('.ad_recommend_button span').text();
		$('.ad_recommend_button').toggle(
			function() {
				$('.ad_recommend_button span').text(iVal + ' (ausblenden)');
				$('.ads_send_container').slideDown(300);
				return false;
			},
			function() {
				$('.ad_recommend_button span').text(iVal);
				$('.ads_send_container').slideUp(300);
				return false;
			}
		);
	}
	
	// Init Issuu
	//MWanz.Issuu.initShelfLinkCapture();
	
	// Img alt tag enhancer
	$('img:not([alt])').each(function() {
		$(this).attr('alt', '');
		//console.log($(this));
	});
	
	// YouTube Fancybox
	$('a.yt_fancybox').click(function() {
		$.fancybox({
			'padding'		: 10,
			'autoScale'		: false,
			'transitionIn'	: 'none',
			'transitionOut'	: 'none',
			//'title'			: this.title,
			'width'			: 680,
			'height'		: 495,
			'href'			: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
			'type'			: 'swf',
			'swf'			: {
			   	 'wmode'		: 'transparent',
				'allowfullscreen'	: 'true'
			}
		});
		
		return false;
	});
	
	// Places map init
	MWanz.Places.GMap.init();
	
	// Places ads init
	MWanz.Places.Ads.init();
	
	// Twitter Anywhere init
	MWanz.TwitterAnywhere.init();
	
	// Wingame redirect
	MWanz.WingameRedirect.init();
});





/* Subnavi */
MWanz.Navi = {}
MWanz.Navi.subBuilder = false;

$(document).ready(function() {
	
	//console.log(jQuery.browser);
	//alert(jQuery.browser.version);
	
	// Keep IE outside!
	//if(jQuery.browser.msie == false) {
		
		// Generate submenu
		if(MWanz.Navi.subBuilder == false) {
			MWanz.Navi.subBuilder = true;
			
			$("ul.navi_main li.main_li").each(function() {
				var sub = $(this).children('.navi_sub');
				var subli = $('li', this);
				if(subli.length != 0) {
					// Append submenu case
					$(this).append('<div class="subcase"><table><tr><td class="sub_top_l"></td><td class="sub_top_m"></td><td class="sub_top_r"></td></tr><tr><td class="sub_middle_l"></td><td class="sub_middle_m"></td><td class="sub_middle_r"></td></tr></table><table><tr><td class="sub_bottom_l"></td><td class="sub_bottom_m"></td><td class="sub_bottom_r"></td></tr></table></div>');
				
					// Get subcase div, append sub ul to sub_middle_m element and make it visible
					$(this).children('.subcase').find('.sub_middle_m').append(sub);
					sub.css('display', 'block');
				}
			});
		}
		
		// Set over and out events
		$("ul.navi_main li.main_li").hover(
			function() {
				$(this).children('.subcase').fadeIn(250);
			},
			function() {
				$(this).children('.subcase').fadeOut(40);
			}
		);
		
		// set over and out events for 3rdlevel navi
		$('ul.navi_main li.thirdlevel').hover(
			function() {
				$(this).children('ul').fadeIn(250);
			},
			function() {
				$(this).children('ul').fadeOut(250);
			}
		);
		
		// A small Safari fix
		if(jQuery.browser.safari == true) {
			$('ul.navi_main .subcase table .sub_bottom_m').css('width', '160px');
		}
	//}
});


/* Weather headerbar */
MWanz.weatherHeaderbar = function() {
	if($('.weather_container').length != 0) {
		$('.weather_container').hover(
			function() {
				$('div.add_weather_container').fadeIn(100);
			},
			function() {
				$('div.add_weather_container').fadeOut(50);
			}
		);
	}
}

/* RSS headerbar */
MWanz.rssHeaderbar = function() {
	if($('.feed_wrapper').length != 0) {
		// Append the data
		//$("link[href^='http://feeds.']").each(function() {
		$("link[type^='application/rss+xml']").each(function() {
			$('<p><a href="' + $(this).attr("href") + '" target="_blank">' + $(this).attr('title') + '</a></p>').appendTo('span.feeds_container');
		});
		
		$('.feed_wrapper').hover(
			function() {
				$('span.feeds_container').fadeIn(100);
			},
			function() {
				$('span.feeds_container').fadeOut(50);
			}
		);
		
		// Disable click event for now
		$('.feed_wrapper a.rss_link').click(function() {
				return false;
			}
		);
	}
}

//Fancybox
$(document).ready(function() {
	 $(".fancybox").fancybox({
		'overlayShow' : true,
		'centerOnScroll' : false,
		'titlePosition' : 'over',
		'zoomSpeedIn' : 600,
		'zoomSpeedOut' : 500,
		'onComplete': function() {
/*
			$("#fancybox-title").animate({
				opacity: 0
			}, 2500, null, function() {
				$(this).css({opacity: 1}).hide();
			});
*/
			$("#fancybox-wrap").hover(function() {
				$("#fancybox-title").hide();
			}, function() {
				$("#fancybox-title").show();
			});
		}
  	 });

	 $(".fancybox.map").fancybox({
		'overlayShow' : true,
		'autoScale' : false,
		'autoDimension' : true,
		'type' : 'iframe'
  	 });
	
	$(".fancybox_notitle").fancybox({
		'overlayShow' : true,
		'centerOnScroll' : false,
		'titleShow' : false,
		'zoomSpeedIn' : 600,
		'zoomSpeedOut' : 500
  	});
});


// Fadebox init
MWanz.fadeboxInit = function() {
	/*
	if($('#fadebox_container').length != 0) {
		$('#fadebox_container').galleryView({
			panel_width: 460,
			panel_height: 260,
			frame_width: 80,
			frame_height: 50,
			pause_on_hover: true,
			border: '1px solid #fff',
			background_color: '#80abcb', //80abcb
			overlay_opacity: 0.75,
			overlay_color: '#000',
			nav_theme: 'light'
		});
	}
	*/
	if($('#gallery2').length != 0) {
		$('#gallery2').galleryView({
				panel_width: 460,
				panel_height: 260,
				frame_width: 80,
				frame_height: 50,
				pause_on_hover: true,
				border: '1px solid #fff',
				background_color: '#80abcb',
				overlay_opacity: 0.75,
				overlay_color: '#000',
				frame_opacity: 0.7,	
				transition_interval: 6000,
				nav_theme: 'light'
		});
	}
}


// Tabbox
MWanz.Tabbox = {};
MWanz.Tabbox.currentTab = 1;
MWanz.Tabbox.tabs = 0;
MWanz.Tabbox.contentWidth = 0;

// Init
MWanz.Tabbox.init = function() {
	if($('.tabbox').length != 0) {
		// Get content width
		MWanz.Tabbox.contentWidth = $('.tabbox .tabcontent_wrapper').width();
		
		// Mark first tab as active
		$('.tabbox ul.tabbar li a:first').addClass('active');
		

		// Click event for tabs
		$('.tabbox ul.tabbar li a').click(function() {
			// Remove active class from current a
			$('.tabbox ul.tabbar li a.active').removeClass('active');
			
			// Add active class to current a
			$(this).addClass('active');
			
		
			// Get current tab
			MWanz.Tabbox.currentTab = $(this).attr('rel');
			
			
			// Calculate x position of content item to show
			var newX = ((MWanz.Tabbox.currentTab - 1) * MWanz.Tabbox.contentWidth);
			
			$('.tabbox .tabcontent_holder').animate({
				left: -newX + 'px'
			});
			
			return false;
		});
	}
}


/** Header teaser **/
MWanz.HeaderTeaser = {};
MWanz.HeaderTeaser.invervalObj = null;
MWanz.HeaderTeaser.interval = 3500; // interval in milliseconds
MWanz.HeaderTeaser.tIndex = 0;
MWanz.HeaderTeaser.transitionSpeed = 500; // in milliseconds

// Teaser init
MWanz.headerTeaserInit = function() {
	if($('.header_teaser_container').length != 0) {
		MWanz.HeaderTeaser.intervalObj = window.setInterval("MWanz.HeaderTeaser.ani()", MWanz.HeaderTeaser.interval);
		
		$('.header_teaser_container').hover(
			function() {
				window.clearInterval(MWanz.HeaderTeaser.intervalObj);
			},
			function() {
				MWanz.HeaderTeaser.intervalObj = window.setInterval("MWanz.HeaderTeaser.ani()", MWanz.HeaderTeaser.interval);
			}
		);
	}
}

// Animation
MWanz.HeaderTeaser.ani = function() {
	// Get teasers
	var t = $('.header_teaser_container .infos a');
	
	if(t.length > 1) {		
		// Calculate next array index
		var nextItemIndex = 0;
		if((MWanz.HeaderTeaser.tIndex + 1) < t.length) {
			nextItemIndex = MWanz.HeaderTeaser.tIndex + 1;
		} else {
			nextItemIndex = 0;
		}
		
		// Fade old one - show new one
		$(t[MWanz.HeaderTeaser.tIndex]).fadeOut(MWanz.HeaderTeaser.transitionSpeed, function() {
			$(t[nextItemIndex]).fadeIn(MWanz.HeaderTeaser.transitionSpeed);
			MWanz.HeaderTeaser.tIndex = nextItemIndex;
		});
	}
}



// Article
MWanz.Article = {};



// Article Google Maps
MWanz.Article.GMap = {};
MWanz.Article.GMap.mapobj = 'mapcontainer';
MWanz.Article.GMap.geoLocation = 'Fuerstenrieder Strasse 5, 80687 Muenchen';
MWanz.Article.GMap.infoBubbleText = '';

MWanz.Article.GMap.showAddress = function() {
	if(GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById(MWanz.Article.GMap.mapobj));
		var themap = document.getElementById(MWanz.Article.GMap.mapobj);
		
		//map.addControl(new GSmallMapControl());
		//map.addControl(new GOverviewMapControl());
		//map.addControl(new GLargeMapControl());
		//map.addControl(new GMapTypeControl());
		
		/*
		var mapTypeControl = new GMapTypeControl();
		var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
		var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));
		map.addControl(mapTypeControl, topRight);
		*/
		
		//map.addControl(new GSmallZoomControl());
		map.setUIToDefault();
		
		map.setCenter(new GLatLng(Number(MWanz.Article.GMap.lat), Number(MWanz.Article.GMap.lng)), 12);
		
		// Create news marker
		var markerIcon = new GIcon(G_DEFAULT_ICON);
		markerIcon.image = "http://www.wochenanzeiger-muenchen.de/misc/pics/gmap/gmap_marker_news.png";
		markerOptions = { icon:markerIcon };
		var point = new GLatLng(Number(MWanz.Article.GMap.lat), Number(MWanz.Article.GMap.lng));
		var marker = new GMarker(point, markerOptions);
		//MWanz.Article.GMap.setMarker(marker, point, map);
		
		map.addOverlay(marker);
		GEvent.addListener(marker, "click", function() {
			$('.c_article_map_info').toggle();
		});
		
		// Init map resizing
		MWanz.Article.GMap.initMapResizingEventListener();
		
	} else {
		//TODO: add error msg
		
	}
}

// Resizing listener
MWanz.Article.GMap.initMapResizingEventListener = function() {
	var obj = $('#' + MWanz.Article.GMap.mapobj);
	var origWidth = obj.width();
	var origHeight = obj.height();
	
	obj.hover(
		function() {
			$(this).animate({
				width: '460px'
				//height: '460px'
			}, 200);
		},
		function() {
			$(this).animate({
				width: origWidth + 'px'
				//height: origHeight + 'px'
			}, 200);
		}
	);
}

// Set marker
MWanz.Article.GMap.setMarker = function(marker, point, map) {
	var html_insert = MWanz.Article.GMap.addressString;
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html_insert, {maxWidth: 400});
	});
	map.addOverlay(marker);
}

// Article send
MWanz.Article.articleSendInit = function() {
	if($('a.send_link').length != 0) {
		$('a.send_link').click(function() {
			$('.article_send_container').slideToggle(800, function() {
				return false;
			});
		})
	}
	
	if($('.c_article_button.send').length != 0) {
		$('.c_article_button.send').click(function() {
			$('.article_send_container').slideToggle(800, function() {
				return false;
			});
		})
	}
	
	if($('.fadeout_asend_msg_box').length != 0) {
		$('.fadeout_asend_msg_box').click(function() {
			$('.article_send_container').slideUp(800);
		});
	}
}

// Ads
MWanz.Ads = {};
MWanz.Ads.adsSendInit = function() {
	if($('a.addon.send_link').length != 0) {
		$('a.addon.send_link').click(function() {
			$('.ads_send_container').slideToggle(800, function() {
				return false;
			});
		})
	}
		
	if($('.fadeout_asend_msg_box').length != 0) {
		$('.fadeout_asend_msg_box').click(function() {
			$('.ads_send_container').slideUp(800);
		});
	}
}

// Article comment
MWanz.Article.articleCommentInit = function() {
	if($('.write_comment_toggle_btn').length != 0) {
		$('.write_comment_toggle_btn').click(function() {
			$('.comment_form_wrapper').slideToggle(800, function() {
				return false;
			});
		})
	}
	
	if($('.fadeout_acomment_msg_box').length != 0) {
		$('.fadeout_acomment_msg_box').click(function() {
			$('.comment_form_wrapper').slideUp(800);
		});
	}
	
	if($('.comment_form_close_button').length != 0) {
		$('.comment_form_close_button').click(function() {
			$('.comment_form_wrapper').slideUp(800);
		});
	}
}

// Wingame container
MWanz.Article.wingameformInit = function() {
	if($('.wingame_togglebutton').length != 0) {
		$('.wingame_togglebutton').click(function() {
			$('.article_wingame_container').slideToggle(800, function() {
				return false;
			});
		})
	}
	
	if($('.fadeout_wingameform_msg_box').length != 0) {
		$('.fadeout_wingameform_msg_box').click(function() {
			$('.article_wingame_container').slideUp(800);
		});
	}
}

/** Print links **/
MWanz.initPrintLinks = function() {
	if($('a.print_link').length != 0) {
		$('a.print_link').click(function() {
			window.print();
			return false;
		});
	}
	
	if($('.c_article_button.print').length != 0) {
		$('.c_article_button.print').click(function() {
			window.print();
			return false;
		});
	}
	
	/*
	if($('.addon.print').length != 0) {
		$('.addon.print').click(function() {
			window.print();
			return false;
		});
	}
	*/
}

/** Prospect **/
MWanz.Prospect = {};

MWanz.Prospect.rightOffset = 20;
MWanz.Prospect.leftOffset = 20;
MWanz.Prospect.heightOffset = 7;

// Init
MWanz.Prospect.init = function() {
	if($('.prospect_container').length != 0) {
		
		// Set height of blank page container
		if($('.blank_page').length != 0) {
			$('.blank_page').css({
				height: $('img.thumb_img').height()
			});
		}
		
		// Set width of ppages
		if($('.blank_ppage').length != 0) {
			$('.blank_ppage').css({
				width: $('img.ppage_img').width()
			});
		}
		
		// Set width of opages
		if($('.blank_opage').length != 0) {
			$('.blank_opage').css({
				width: $('img.opage_img').width()
			});
		}
		
		// Not (yet) for safari :(
		if(!jQuery.browser.safari) {
			
			// Calculate zoom width
			var zoomWidthLeft = $(window).width() - $('.page_right').offset().left - MWanz.Prospect.rightOffset;
			var zoomWidthRight = $('.page').width() + $('.page_left').offset().left - MWanz.Prospect.leftOffset;
			if(zoomWidthLeft > zoomWidthRight) {
				zoomWidthLeft = zoomWidthRight;
			}
			
			// Calculate zoom height
			var zoomHeightLeft = $('.page .thumb_img').height() - MWanz.Prospect.heightOffset;
			var zoomHeightRight = $('.page .thumb_img').height() - MWanz.Prospect.heightOffset;
			
			// Left side
			$('.pzoom_page_left').jqzoom({
				zoomWidth: zoomWidthLeft,
				zoomHeight: zoomHeightLeft,
				xOffset: 0,
				title: false,
				zoomType: 'reverse',
				position: 'right'
			});
			
			// Right side
			$('.pzoom_page_right').jqzoom({
				zoomWidth: zoomWidthRight,
				zoomHeight: zoomHeightRight,
				xOffset: 0,
				title: false,
				zoomType: 'reverse',
				position: 'left'
			});
			
			// Set previous and next links (only for FireFox)
			if(!jQuery.browser.firefox) {
				//MWanz.Prospect.initPreviousAndNextLinks();
			}
			
		}
		
		// Small preview
		MWanz.Prospect.smallPreviewInit();
	}
}

// Init previous and next links
MWanz.Prospect.initPreviousAndNextLinks = function() {
	$('.pzoomlink').each(function() {
		// Url
		var url;
		
		// Right or left side?
		if($(this).parent().hasClass('page_left')) {
			// Try to get url and add it to link
			if($('.left_tools a').length != 0) {
				$(this).click(function() {
					location.href = $('.left_tools a').attr('href');
				});
				// TODO: add hover effect
				$(this).hover(
					function() {
						
					},
					function() {
						
					}
				);
			}
		}
		
		
		
	});
}

// Small preview init
MWanz.Prospect.smallPreviewInit = function() {
	// Get all links in paginator navi
	$('.paginationControl a').hover(
		function() {
			$('#pitem_' + $(this).attr('rel')).animate({
				top: '-' + $('.item_wrapper').height() + 'px'
			}, 100);
		},
		function() {
			$('#pitem_' + $(this).attr('rel')).animate({
				top: '10px'
			}, 100);
		}	
	);
	
	/*
	$('.paginationControl a').each(function() {
		var rel = $(this).attr('rel');
		
	});
	*/
}

MWanz.Branches = {};

// Branchen Google Maps
MWanz.Branches.GMap = {};
MWanz.Branches.GMap.mapobj = 'branches_map';
MWanz.Branches.GMap.geoLocation = 'Fuerstenrieder Strasse 5, 80687 Muenchen';
MWanz.Branches.GMap.infoBubbleText = '';

MWanz.Branches.GMap.showAddress = function() {
	if(GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById(MWanz.Branches.GMap.mapobj));
		var themap = document.getElementById(MWanz.Branches.GMap.mapobj);
		
	
		//map.addControl(new GMapTypeControl());
		//map.addControl(new GLargeMapControl());
		
		map.setCenter(new GLatLng(Number(MWanz.Branches.GMap.lat), Number(MWanz.Branches.GMap.lng)), 15);
		map.setUIToDefault();
		
		// Create news marker
		var markerIcon = new GIcon(G_DEFAULT_ICON);
		markerIcon.image = "http://www.wochenanzeiger-muenchen.de/misc/pics/gmap/gmap_marker_news.png";
		markerOptions = { icon:markerIcon };
		var point = new GLatLng(Number(MWanz.Branches.GMap.lat), Number(MWanz.Branches.GMap.lng));
		var marker = new GMarker(point, markerOptions);

		map.addOverlay(marker);
	
	} else {
		//TODO: add error msg
		
	}
}



/** Portal **/
MWanz.Portal = {};


// Map
MWanz.Portal.GMap = {};
MWanz.Portal.GMap.mapobj = 'pwidget_map';
MWanz.Portal.GMap.map = null;
MWanz.Portal.GMap.bounds = null;
MWanz.Portal.GMap.markerManager = null;
MWanz.Portal.GMap.markers = new Array();
MWanz.Portal.GMap.crntMapType = null;
MWanz.Portal.GMap.zIndexCnt = 1;
MWanz.Portal.GMap.tooltip = null;
MWanz.Portal.GMap.activeJumper = null;
MWanz.Portal.GMap.coverflowAutoPlayInterval = 5000;

// Init
MWanz.Portal.GMap.init = function() {
	if($('#' + MWanz.Portal.GMap.mapobj).length != 0) {
		if(GBrowserIsCompatible()) {
			// Setup map
			MWanz.Portal.GMap.map = new GMap2(document.getElementById(MWanz.Portal.GMap.mapobj));
			//MWanz.Portal.GMap.map.addControl(new GMapTypeControl());
			//MWanz.Portal.GMap.map.addControl(new GSmallMapControl());
			MWanz.Portal.GMap.map.setUIToDefault();
			
			// Enable continuous zoom and scrollwheel zom
			MWanz.Portal.GMap.map.enableContinuousZoom();
			MWanz.Portal.GMap.map.enableScrollWheelZoom();
			
			// Set center
			MWanz.Portal.GMap.map.setCenter(new GLatLng(Number(48.142381), Number(11.503455)), 3);
			
			// Marker manager
			MWanz.Portal.GMap.markerManager = new MarkerManager(MWanz.Portal.GMap.map);
			
			// Bounds
			MWanz.Portal.GMap.bounds = new GLatLngBounds();
			
			// Generate tooltip
			MWanz.Portal.GMap.tooltip = document.createElement("div");
			document.getElementById(MWanz.Portal.GMap.mapobj).appendChild(MWanz.Portal.GMap.tooltip);
			MWanz.Portal.GMap.tooltip.style.visibility="hidden";
			
			// Generate markers for NEWS
			if(window.portalDataNews !== undefined) {
				MWanz.Portal.GMap.generateMarkers(portalDataNews);
			}
			
			// Add markers for ADS
			if(window.portalDataAds !== undefined) {
				MWanz.Portal.GMap.generateMarkers(portalDataAds);
			}
			
			// Add markers for EVENTS
			if(window.portalDataEvents !== undefined) {
				MWanz.Portal.GMap.generateMarkers(portalDataEvents);
			}
			
			// Add markers for PLACES
			if(window.portalDataPlaces !== undefined) {
				MWanz.Portal.GMap.generateMarkers(portalDataPlaces);
			}
			
			// Add weather to map
			if(window.portalDataWeatherMap !== undefined) {
				MWanz.Portal.GMap.addWeatherDataToMap(portalDataWeatherMap);
			}
			
			// Ads coverflow
			if($('ul#portal_ads_coverflow').length > 0) {
				MWanz.Portal.GMap.initAdsCoverflow();
			}
			
			// Push markers to map			
			MWanz.Portal.GMap.markerManager.addMarkers(MWanz.Portal.GMap.markers, 1);
			MWanz.Portal.GMap.markerManager.refresh();
			
			// Zoomfit
			MWanz.Portal.GMap.zoomFit();
			
			// Add external map controller
			//MWanz.Portal.GMap.map.addControl(new ExtLargeMapControl({type : "small"}));
			
			// Map jumpers
			MWanz.Portal.GMap.generateMapJumpers();
			
			// Add center button
			if($('.map_center').length != 0) {
				$('.map_center').click(function(event) {
					MWanz.Portal.GMap.zoomFit();
				});
			}
			
			// Add map resize toggle button
			if($('.map_size_toggle').length != 0) {
				MWanz.Portal.GMap.initMapResizeToggleButton();
			}
		}
	}
}

// Ads coverflow
MWanz.Portal.GMap.initAdsCoverflow = function() {
	var interval;
	
	// Init roundabout
	$('ul#portal_ads_coverflow').roundabout({
		shape: 'teardrop',
		btnPrev: '.ads_cf_prev',
		btnNext: '.ads_cf_next',
		minScale: 0.05,
		duration: 400
	}).hover(
		function() {
			clearInterval(interval);
		},
		function() {
			interval = MWanz.Portal.GMap.intervalStartAutoPlay();
		}
	);
	
	
	
	$('.roundabout-in-focus a.fancybox').fancybox();
	
	
	// Bind keyboard events
	$(window).keyup(function(e) {
		//console.log(e.keyCode);
		
		if(e.keyCode == 37) { // Btn left
			$('.ads_cf_prev').trigger('click');
		} else if(e.keyCode == 39) { // Btn right
			$('.ads_cf_next').trigger('click');
		}
	});
	
	// Autoplay
	interval = MWanz.Portal.GMap.intervalStartAutoPlay();
}

// Start coverflow autoplay
MWanz.Portal.GMap.intervalStartAutoPlay = function() {
	return setInterval(function() {
		$('ul#portal_ads_coverflow').roundabout_animateToNextChild();
	}, MWanz.Portal.GMap.coverflowAutoPlayInterval);
}

// Map resize toggle button
MWanz.Portal.GMap.initMapResizeToggleButton = function() {
	// Get original map width
	var origMapWidth = $('#pwidget_map').width();
	
	// Get max width of map resize
	var maxMapWidth = $('.container_12').width() - 22;
	
	// Calculate new position left
	var posLeft = maxMapWidth - origMapWidth;
	
	$('.map_size_toggle').toggle(
		// Resize to MAX
		function() {
			$(this).html('Karte verkleinern');
			$(this).removeClass('small');
			$(this).addClass('big');
			$('#pwidget_map').parent().css({
				width: maxMapWidth,
				left: -posLeft
			});
			MWanz.Portal.GMap.map.checkResize();
			MWanz.Portal.GMap.zoomFit();
		},
		// Resize to MIN
		function() {
			$(this).html('Karte vergr&ouml;&szlig;ern');
			$(this).removeClass('big');
			$(this).addClass('small');
			$('#pwidget_map').parent().css({
				width: origMapWidth,
				left: 0
			});
			MWanz.Portal.GMap.map.checkResize();
			MWanz.Portal.GMap.zoomFit();
		}
	);
}

// Generate markers
MWanz.Portal.GMap.generateMarkers = function(data) {
	//console.log(data);
	
	// Walk thru data	
	jQuery.each(data, function() {
		// Create marker
		var markerIcon = new GIcon(G_DEFAULT_ICON);
		if(this.map_marker != '') {
			markerIcon.image = this.map_marker;
			markerIcon.iconSize = new GSize(this.map_marker_width, this.map_marker_height);
			markerIcon.shadow = this.map_marker_shadow;
			markerIcon.shadowSize = new GSize(this.map_marker_shadow_width, this.map_marker_shadow_height);
		} else {
			markerIcon.image = "http://www.wochenanzeiger-muenchen.de/misc/pics/gmap/gmap_marker_news.png";
		}
		markerOptions = {
			icon: markerIcon,
			clickable: false,
			zIndexProcess: MWanz.Portal.GMap.calcZIndex
		};
		var point = new GLatLng(Number(this.places_lat), Number(this.places_lng));
		var marker = new GMarker(point, markerOptions);
		
		// Add point to map
		//MWanz.Portal.GMap.map.addOverlay(marker);
		
		// Add marker to markers array
		MWanz.Portal.GMap.markers.push(marker);
		
		// Calc new zoom level to show all markers on map
		MWanz.Portal.GMap.bounds.extend(point);
	});
}

// Zoomfit
MWanz.Portal.GMap.zoomFit = function() {
	MWanz.Portal.GMap.map.setZoom(MWanz.Portal.GMap.map.getBoundsZoomLevel(MWanz.Portal.GMap.bounds));
	MWanz.Portal.GMap.map.setCenter(MWanz.Portal.GMap.bounds.getCenter());
}

// Z-Index calculator
MWanz.Portal.GMap.calcZIndex = function(marker) {
	var zIndex = GOverlay.getZIndex(marker.getPoint().lat()) + MWanz.Portal.GMap.zIndexCnt * 10000;
	//console.log(marker, zIndex, marker.getPoint().lat());
	return zIndex;
}

// Generate map jumpers
MWanz.Portal.GMap.generateMapJumpers = function() {
	if($('.mapjumper').length != 0) {
		MWanz.Portal.GMap.crntMapType = MWanz.Portal.GMap.map.getCurrentMapType();
		
		var crntImage;
		
		$('.mapjumper').hover(
			function() {
				// Get data
				var lat, lng, marker;
				lat = $(this).attr('lat');
				lng = $(this).attr('lng');
				
				// Get marker from marker manager
				marker = MWanz.Portal.GMap.markerManager.getMarker(lat, lng, 1);
				
				// Get data from marker
				var cIcon = marker.getIcon();
				var cLatLng = marker.getLatLng();
				
				//console.log(cIcon, cLatLng);
				
				// Increase zIndex count
				MWanz.Portal.GMap.zIndexCnt++;
				
				var markerOptions = {
					icon: cIcon,
					clickable: false,
					zIndexProcess: MWanz.Portal.GMap.calcZIndex
				}
				var cMarker = new GMarker(cLatLng, markerOptions);
				
				var icon = cMarker.getIcon();
				crntImage = icon.image;
								
				MWanz.Portal.GMap.markerManager.addMarker(cMarker, 1);
				cMarker.setImage(crntImage.replace(/.png/g, '_highlight.png'));
				
				marker.remove();
			},
			function() {
				// Get data
				var lat, lng, marker;
				lat = $(this).attr('lat');
				lng = $(this).attr('lng');
				
				// Get marker from marker manager
				marker = MWanz.Portal.GMap.markerManager.getMarker(lat, lng, 1);
				
				// Reset image				
				marker.setImage(crntImage);
			}
		);
		
		/*
		// Click toggle event for mapjumpers
		$('.mapjumper').toggle(
			function() {
				MWanz.Portal.GMap.activeJumper = $(this);
				console.log($(this));
				$(this).addClass('active_mapjumper');
			},
			function() {
				MWanz.Portal.GMap.activeJumper = null;
				$(this).removeClass('active_mapjumper');
				console.log('madf');
			}
		);
		*/
		
		/*
		$('.mapjumper').hover(
			function() {
				var lat, lng, marker;
				lat = $(this).attr('lat');
				lng = $(this).attr('lng');
				//marker = MWanz.Portal.GMap.markerManager.getMarker(lat, lng, 1);
				
				MWanz.Portal.GMap.map.setCenter(new GLatLng(Number(lat), Number(lng)), 18);
				//MWanz.Portal.GMap.map.setCenter(new GLatLng(Number(lat), Number(lng)), MWanz.Portal.GMap.map.getZoom());
				//MWanz.Portal.GMap.map.panTo(new GLatLng(Number(lat), Number(lng)));
				
				MWanz.Portal.GMap.map.setMapType(G_HYBRID_MAP);
				
				//console.log('in', $(this), lat, lng, marker);
				
				// Append mapjumper marker
				$(this).append('<div class="mapjumper_marker">&nbsp;</div>');
			},
			function() {
				//console.log('out', $(this));
				MWanz.Portal.GMap.map.setMapType(MWanz.Portal.GMap.crntMapType);
				MWanz.Portal.GMap.zoomFit();
				
				// Remove mapjumper marker
				$(this).find('.mapjumper_marker').remove();
			}
		);
		*/
	}
}

// Add weather data to map
MWanz.Portal.GMap.addWeatherDataToMap = function(data) {
	
	// Walk thru data
	jQuery.each(data, function() {
		//console.log(this);
		
		// Just create stuff if we've got a weather icon!
		if(this.icon != '') {
			// Create marker
			var markerIcon = new GIcon(G_DEFAULT_ICON);
			markerIcon.image = this.icon;
			markerIcon.iconSize = new GSize(this.iconw, this.iconh);
			markerIcon.shadow = null;
			var markerOptions = {
				icon: markerIcon,
				//clickable: false,
				zIndexProcess: MWanz.Portal.GMap.calcZIndex
			}
			var point = new GLatLng(Number(this.lat), Number(this.lng));
			var marker = new GMarker(point, markerOptions);
			marker.tooltip = '<div class="gmap_tooltip"><strong>' + this.name + '<\/strong><br \/>' + this.deg + ' &middot; ' + this.info + '<\/div>';
			
			// Add marker to markers array
			MWanz.Portal.GMap.markers.push(marker);
			
			// Calc new zoom level to show all markers on map
			MWanz.Portal.GMap.bounds.extend(point);
			
			GEvent.addListener(marker, 'mouseover', function() {
				MWanz.Portal.GMap.showTooltip(marker);
			});
			GEvent.addListener(marker, 'mouseout', function() {
				MWanz.Portal.GMap.tooltip.style.visibility = 'hidden';
			});
		}
	});
	
	
}

// Tooltip
MWanz.Portal.GMap.showTooltip = function(marker) {
	MWanz.Portal.GMap.tooltip.innerHTML = marker.tooltip;
	var point = MWanz.Portal.GMap.map.getCurrentMapType().getProjection().fromLatLngToPixel(MWanz.Portal.GMap.map.getBounds().getSouthWest(),MWanz.Portal.GMap.map.getZoom());
	var offset = MWanz.Portal.GMap.map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),MWanz.Portal.GMap.map.getZoom());
	var anchor = marker.getIcon().iconAnchor;
	var width = marker.getIcon().iconSize.width;
	var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x - anchor.x + width,- offset.y + point.y +anchor.y)); 
	pos.apply(MWanz.Portal.GMap.tooltip);
	MWanz.Portal.GMap.tooltip.style.visibility = "visible";
}


MWanz.Btn = {
	move: function (dir) {
	
		var div = $(this).parents(".ads-img-wrap").eq(0); 
		if(dir == 'up') {
			if(div.prev(".ads-img-wrap")) {
				div.insertBefore(div.prev(".ads-img-wrap"));
			}
		}
		if(dir == 'down') {
			if(div.next(".ads-img-wrap")) {
				div.insertAfter(div.next(".ads-img-wrap"));
			}
		}
	},
	remove: function (img) {
		var conf = confirm("Bild " + img + " entfernen?");
		if (conf == true) {
			$(this).parents(".ads-img-wrap").eq(0).remove();
		}
	}
		
};



/** Header clock **/
MWanz.HeaderClock = {};

MWanz.HeaderClock.interval = null;
MWanz.HeaderClock.date = null;
MWanz.HeaderClock.secs = 0;
MWanz.HeaderClock.hour = 0;
MWanz.HeaderClock.min = 0;

// Init
MWanz.HeaderClock.init = function() {
	if($('.htime').length != 0) {
		// Get time
		var time = $('.htime').text();
		MWanz.HeaderClock.hour = time.substr(0, 2);
		MWanz.HeaderClock.min = time.substr(3, 2);
		
		// Date object
		MWanz.HeaderClock.date = new Date();
		
		// Get seconds
		MWanz.HeaderClock.secs = MWanz.HeaderClock.date.getSeconds();
		
		MWanz.HeaderClock.interval = window.setInterval('MWanz.HeaderClock.setClock()', 1000);
	}
}

// Interval
MWanz.HeaderClock.setClock = function() {
	//var dateString = MWanz.HeaderClock.date.getHours() + ':' + MWanz.HeaderClock.date.getMinutes();
	//console.log(dateString);
	//$('.htime').text(dateString);
	
	if(MWanz.HeaderClock.secs < 60) {
		MWanz.HeaderClock.secs++;
	} else {
		MWanz.HeaderClock.secs = 0;
		
		// Mins
		if(MWanz.HeaderClock.min < 60) {
			MWanz.HeaderClock.min++;
		} else {
			MWanz.HeaderClock.min = 0;
			// Hours
			if(MWanz.HeaderClock.hour < 24) {
				MWanz.HeaderClock.hour++;
			} else {
				MWanz.HeaderClock.hour = 0;
			}
		}
		
		// Set time
		var setH = (MWanz.HeaderClock.hour >= 0 && MWanz.HeaderClock.hour <= 9) ? '0' + MWanz.HeaderClock.hour.toString() : MWanz.HeaderClock.hour;
		var setM = (MWanz.HeaderClock.min >= 0 && MWanz.HeaderClock.min <= 9) ? '0' + MWanz.HeaderClock.min.toString() : MWanz.HeaderClock.min;
		
		//var setH = (MWanz.HeaderClock.hour != 0) ? MWanz.HeaderClock.hour : '00';
		//var setM = (MWanz.HeaderClock.min != 0) ? MWanz.HeaderClock.min : '00';
		
		$('.htime').text(setH + ':' + setM);
	}
}


/** Search **/
MWanz.Search = {};
MWanz.Search.defaultString = '';

MWanz.Search.init = function() {
	// Set default string
	MWanz.Search.defaultString = $('.nbs_sfield').val();
	
	// Set events on search field
	$('.nbs_sfield').focus(function() {
		if($(this).val() == MWanz.Search.defaultString) {
			$(this).val('');
		}
		$(this).addClass('active');
	}).blur(function() {
		if($(this).val() == '') {
			$(this).val(MWanz.Search.defaultString);
			$(this).removeClass('active');
		}
	});
}

/** Alph navi **/
MWanz.AlphNavi = {};
MWanz.AlphNavi.naviTopOffset = 0;
MWanz.AlphNavi.marginTopOffset = 10;
MWanz.AlphNavi.timeout = null;
MWanz.AlphNavi.waitTimeout = 200;

// Init
MWanz.AlphNavi.init = function() {
	if($('.alph_navi').length != 0) {
		// Initial top position of navi
		MWanz.AlphNavi.naviTopOffset = $('.alph_navi').offset().top;
		
		// Scroll event for navi
		$(window).scroll(function(e) {
			window.clearTimeout(MWanz.AlphNavi.timeout);
			MWanz.AlphNavi.timeout = window.setTimeout('MWanz.AlphNavi.naviPositioner()', MWanz.AlphNavi.waitTimeout);
		});
		
		// Click event on navi items
		$('.alph_navi a').click(function() {
			if($(this).hasClass('active')) {
				return false;
			} else {
				// Show all
				if($(this).text() == 'Alle') {
					// Set link active
					$('.alph_navi a.active').removeClass('active');
					$(this).addClass('active');
					$('.alph_content .alph_box').stop().fadeTo(200, 1.0);
					$(document).stop().scrollTo('h1.list-header', 400);
				} else {
					// Get value
					var val = $(this).text().toLowerCase();
					
					// Set link active
					$('.alph_navi a.active').removeClass('active');
					$(this).addClass('active');
					
					// Manage boxes
					$('.alph_content .alph_box:not(.alph_' + val + ')').stop().fadeTo(200, 0.2);
					$('.alph_content .alph_box.alph_' + val).stop().fadeTo(200, 1.0);
					
					// Scroll to
					$(document).stop().scrollTo('.alph_content .alph_box.alph_' + val, 400);
				}
				return false;
			}
		});
	}
}

// Navi positioner
MWanz.AlphNavi.naviPositioner = function() {
	// Set navi always on top of the screen!
	var winTop = $(window).scrollTop();
	// TODO: -> make this dynamic!!!
	if(winTop > MWanz.AlphNavi.naviTopOffset) {
		//var newPos = winTop - MWanz.AlphNavi.naviTopOffset - MWanz.AlphNavi.marginTopOffset;
		$('.alph_navi').stop().animate({
			top: (winTop - 184 + MWanz.AlphNavi.marginTopOffset)
		}, 100);
	} else {
		$('.alph_navi').stop().animate({
			top: 110
		}, 100);
	}
}


/** Picflow gallery **/
MWanz.initPicflowGallery = function() {
	/*
	if($('.picflow_gallery').length != 0) {
		$('.picflow_gallery').galleryView({
			frame_width: 100,
			frame_height: 100,
			pause_on_hover: true,
			border: '1px solid #fff',
			background_color: 'transparent', //80abcb
			overlay_opacity: 0.75,
			overlay_color: '#000',
			nav_theme: 'dark',
			show_captions: true,
			caption_text_color: '#000',
			panel_width: picflow_width,
			panel_height: 0
		});
	}
	*/
	if($('#gallery3').length != 0) {
		$('#gallery3').galleryView({
			show_panels:false,
			frame_opacity: 1.00,
			frame_width: 105,
			frame_height: 120,
			filmstrip_size:8,
			pause_on_hover: true,
			show_captions: false
		});
	}
}


/** Init banner height checker **/
MWanz.initBannerHeightChecker = function() {
	if($('.bannerposition_left').length != 0 || $('.bannerposition_right').length != 0) {
		if($('.bannerposition_left').height() >= $('#content_container .c_inner').height() + 20) {
			$('#content_container .c_inner').animate({
				height: $('.bannerposition_left').height() + 20
			}, 800);
		} else if($('.bannerposition_right').height() >= $('#content_container .c_inner').height() + 20) {
			$('#content_container .c_inner').animate({
				height: $('.bannerposition_right').height() + 20
			}, 800);
		} 
	}
}

/** Init zip chooser **/
MWanz.initZipChooser = function() {
	if($('#zip_chooser').length != 0) {
		$('#zip_chooser').change(function() {
			//console.log($(this), $(this).val());
			location.href = '?zip=' + $(this).val();
		});
	}
}


/* Archivcontrol */
MWanz.Archivecontrol = {
	init: function() {
		if($('.archive-control').length != 0) {
			$('.archive-control ul li').click(function() {
				$('.archive-control ul li.active').removeClass('active');
				$('.archive-control .archive-weeks div.active').animate({height:'toggle'}, {complete: function() {
						$(this).removeClass('active');
					}
				});
				//$('.archive-control .archive-weeks div.active').hide();
				$(this).addClass('active');
				var tabId = '#' + $(this).children('a').attr('rel');
				$(tabId).animate({height:'toggle'}, {complete: function() {
						$(this).addClass('active');
					}
				});
				//$(tabId).show();
				return false;
			});
		}
	}
}

MWanz.NewsTicker = {
	/* tickerTimeout:null, */
	timeoutLength:15000,
	init: function() {
		if($('#article_ticker_wrapper').length != 0) {
			MWanz.NewsTicker.load();
			MWanz.NewsTicker.start();
			$('#article_ticker_wrapper').hover(MWanz.NewsTicker.stop, MWanz.NewsTicker.start);
			$('#short-ticker-play').click(function(){
				if($(this).css("opacity") == 1.0){
					MWanz.NewsTicker.stop();
				} else {
					MWanz.NewsTicker.start();
				}
			});
		}
	},
	load: function() {
		// see if rubric path is set by short ticker view
		var rubricPath = (typeof short_ticker_path != 'undefined') ? short_ticker_path : '';
		$('#article_ticker_wrapper div.var-height').animate({height:'toggle'}, {duration:1000, complete:function(){
			//$('#article_ticker_wrapper div.var-height').html(data);
			$.get('/ctrl/article/shortticker?path=' + rubricPath, function(data) {
				$('#article_ticker_wrapper div.var-height').html(data);
				$('#article_ticker_wrapper div.var-height').animate({height:'toggle'}, {duration:1000, complete:function(){
					/* MWanz.NewsTicker.start(); */
				}});
			});
		}});

	},
	start: function() {
		$('#short-ticker-play').css("opacity", 1.0);
		$('#article_ticker_wrapper').everyTime(MWanz.NewsTicker.timeoutLength, MWanz.NewsTicker.load, 0);
	},
	stop: function() {
		$('#short-ticker-play').css("opacity", 0.5);
		$('#article_ticker_wrapper').stopTime();
	}
}

MWanz.Adflow = {
	/* tickerTimeout:null, */
	timeoutLength:3000,
	direction:'-',
	skipLength: 105,
	countPics: 0,
	showPics: 6,
	width: null,
	init: function() {
		if($('.mp-flow-wrapper').length != 0) {
			//MWanz.Adflow.load();
			$('.hp_rubric_change a').click(function() {
				$('.hp_rubric_change a').removeClass('active');
				$(this).addClass('active');
				//$('.hp_all_rubric_link span').text($(this).text());
				$('.mp-flow-wrapper .mp-flow-content').empty();
				$('.mp-flow-wrapper .picflow2-loader').show();
				$('.mp-flow-wrapper .mp-flow-content').css('left', '0px');
				MWanz.Adflow.load($(this).attr('rel'));
				return false;
			});
			$('.hp_rubric_change a:first').addClass('active');
			MWanz.Adflow.load($('.hp_rubric_change a:first').attr('rel'));
			//MWanz.Adflow.start();
			$('.mp-flow-wrapper .nav-next').click(MWanz.Adflow.skipRight);
			$('.mp-flow-wrapper .nav-prev').click(MWanz.Adflow.skipLeft);
			$('.mp-flow-wrapper').hover(MWanz.Adflow.stop, MWanz.Adflow.start);
		}
	},
	load: function(path) {
		MWanz.Adflow.stop();
		$('.mp-flow-wrapper .mp-flow-content').load('/ctrl/picflow/ads?path=' + encodeURIComponent(path) , function() {
			$('.mp-flow-wrapper .picflow2-loader').hide();
			MWanz.Adflow.countPics = $(this).children('li').length;
			MWanz.Adflow.skipLength = $(this).children('li:first').outerWidth(true);
			MWanz.Adflow.width = MWanz.Adflow.countPics * MWanz.Adflow.skipLength;
			$(".mp-flow-wrapper .fancybox").fancybox({
				'titlePosition' : 'over',
				'titleShow': false,
				onComplete: MWanz.Adflow.stop,
				onClosed: MWanz.Adflow.start
			});
			MWanz.Adflow.start();
		});
	},
	skipLeft: function() {
		var pos = $('.mp-flow-wrapper .mp-flow-content').position();
		var tmpLength = MWanz.Adflow.skipLength;
		if(pos.left > -10) {
			tmpLength = - (MWanz.Adflow.width - 750);
		}
		$('.mp-flow-wrapper .mp-flow-content').animate({
			left: '+=' + tmpLength
		}); //, {easing:'swing'}
	},
	skipRight: function() {
		var pos = $('.mp-flow-wrapper .mp-flow-content').position();
		//var tmpLength = MWanz.Adflow.skipLength;
		if((Math.abs(pos.left) + 755) > MWanz.Adflow.width) {
			$('.mp-flow-wrapper .mp-flow-content').animate({
				left: '0px'
			}); //, {easing:'swing'}
		} else {
			$('.mp-flow-wrapper .mp-flow-content').animate({
				left: '-=' + MWanz.Adflow.skipLength
			}); //, {easing:'swing'}
		}
	},
	skip: function() {
		var pos = $('.mp-flow-wrapper .mp-flow-content').position();
		if((Math.abs(pos.left) + 755) > MWanz.Adflow.width) {
			MWanz.Adflow.direction = '+';
		} 
		if(pos.left > -10) {
			MWanz.Adflow.direction = '-';
		}
		$('.mp-flow-wrapper .mp-flow-content').animate({
			left: MWanz.Adflow.direction + '=' + MWanz.Adflow.skipLength
		}, {easing:'swing'});
	},
	start: function() {
		if(MWanz.Adflow.countPics > MWanz.Adflow.showPics) {
			$('.mp-flow-wrapper').everyTime(MWanz.Adflow.timeoutLength, MWanz.Adflow.skip, 0);
		}
	},
	stop: function() {
		if(MWanz.Adflow.countPics > MWanz.Adflow.showPics) {
			$('.mp-flow-wrapper').stopTime();
		}
	}
}

// Notdienste
$(document).ready(function() {
	if($('.not_container').length != ''){
		$('.not_container h2').click(function(){
			$(this).next().toggle(500);
		});
	};
});

//About Us Scroll to 
$(document).ready(function() {
	$('.about_us .navi a').click(function(){
		$(document).stop().scrollTo('#' + $(this).attr('class'), 400);
		return false;
	});

	$('.totop a').click(function(){
		$(document).stop().scrollTo('.about_us', 400);
		return false;
	});

});
	
// Ads-Switch
$(document).ready(function() {
	if($('.ads_switch_navi').length != ''){
		$('.ads_switch_navi a').click(function(){
			
			$('.ads_switch_navi a').removeClass('active');
			$(this).addClass('active');
			
			var clickid = $(this).attr('rel');
			$('.grid_6 .small_ads_container').fadeOut(400, function(){
				$('#' + clickid).fadeIn();
			});
			return false;
		});
	};
});


/** Issuu **/
MWanz.Issuu = {};

// Link shelf capture
MWanz.Issuu.initShelfLinkCapture = function() {
	// NOT WORKING!!!
	// -> <http://localhost> wurde die Erlaubnis fuer das Lesen der Eigenschaft HTMLDocument.nodeType von <http://static.issuu.com> verweigert.
	
	//var test = $('#issuu_wsp_iframe');
	//console.log(test.contents().find('body a.issuu-cover-link'));
	//alert(test.contents().find('body a.issuu-cover-link'));
	
	/*
	if($('.issuu_iframe').length != 0) {
		
		//console.log($('.issuu_iframe'));
		$('.issuu_iframe').each(function(i) {
			//console.log("mep", i, $(this), $('issuu_iframe').contents());
			//console.log(i, $(this), $(this).contents());
		});
	}
	*/
}

/** Ads filter **/
MWanz.Ads.AdFilter = {};
MWanz.Ads.AdFilter.timeout = null;
MWanz.Ads.AdFilter.timeoutw = 500;
MWanz.Ads.AdFilter.filterValue = '';

// Init
MWanz.Ads.AdFilter.init = function() {
	if($('#smallad_filter').length != 0) {
		// Input field event
		$('#smallad_filter').keyup(function() {
			// Clear timeout and renew it
			if(MWanz.Ads.AdFilter.timeout) {
				window.clearTimeout(MWanz.Ads.AdFilter.timeout);
			}
			MWanz.Ads.AdFilter.timeout = window.setTimeout("MWanz.Ads.AdFilter.filter()", MWanz.Ads.AdFilter.timeoutw);
		})
		
		// Reset click event
		$('.smallad_filter span').click(function() {
			MWanz.Ads.AdFilter.reset();
		});
	}
}

// Filter
MWanz.Ads.AdFilter.filter = function() {
	/*
	if($('#smallad_filter').val() != MWanz.Ads.AdFilter.filterValue) {
		$.ajax({
			url: 'http://localhost/mwanz_2p0/public' + '/ctrl/adfilter/filter', // remove this later!!!
			cache: false,
			type: 'POST',
			data: ({
				q: $('#smallad_filter').val()
			}),
			success: function(msg) {
				console.log(msg);
			}
		});
		
		MWanz.Ads.AdFilter.filterValue = $('#smallad_filter').val();
	}
	*/
	
	
	///*
	if($('#smallad_filter').val() != MWanz.Ads.AdFilter.filterValue) {
		// Remove err msg if exists
		if($('.errmsg').length != 0) {
			$('.errmsg').remove();
		}
		
		// Build query
		var q = new RegExp($('#smallad_filter').val(), 'i');
		
		// Matches to zero
		var matches = 0;
		
		// Search
		$('.small_ad_simple').each(function() {
			if($(this).children('.small_ad_text').html().search(q) == -1) {
				$(this).css('display', 'none');
			} else {
				$(this).css('display', 'block');
				matches++;
			}
		});
		
		// No result? Show message!
		if(matches == 0) {
			//console.log("no match!");
			$('<div class="small_ad_simple even errmsg">Es konnten keine Anzeigen anhand des Suchbegriffs <strong>' + $('#smallad_filter').val() + '</strong> gefunden werden.</div>').appendTo('#smallads');
		}
		
		MWanz.Ads.AdFilter.filterValue = $('#smallad_filter').val();
	}
	//*/
}

// Reset
MWanz.Ads.AdFilter.reset = function() {
	//$('#smallad_filter').val('').trigger('keyup');
}

// Trikot-Switch
$(document).ready(function() {
	if($('.trikotorder').length != ''){
		$('#trikotmodel').change(function(){
			if($(this).val() == 'Scudo'){
				$('#Londra').stop().fadeOut(200, function(){
					$('#Scudo').stop().fadeIn();
				});
			} else {
				$('#Scudo').stop().fadeOut(200, function(){
					$('#Londra').stop().fadeIn();
				});
			};
		});
	};
});



/** Places **/
MWanz.Places = {};
MWanz.Places.GMap = {};
MWanz.Places.GMap.map = null;
MWanz.Places.GMap.markerManager = null;
MWanz.Places.GMap.bounds = null;
MWanz.Places.GMap.markers = new Array();

// Init
MWanz.Places.GMap.init = function() {
	if($('#places_map').length != 0) {
		//console.log(ads_geo_json);
		
		if(GBrowserIsCompatible()) {
			MWanz.Places.GMap.map = new GMap2(document.getElementById('places_map'));
			MWanz.Places.GMap.map.setUIToDefault();
			
			// Enable continuous zoom and scrollwheel zom
			MWanz.Places.GMap.map.enableContinuousZoom();
			MWanz.Places.GMap.map.disableScrollWheelZoom();
			
			// Initial map center
			MWanz.Places.GMap.map.setCenter(new GLatLng(Number(48.142452), Number(11.503044)), 12);
			
			// Marker manager
			MWanz.Places.GMap.markerManager = new MarkerManager(MWanz.Places.GMap.map);
			
			// Bounds
			MWanz.Places.GMap.bounds = new GLatLngBounds();
			
			// Generate markers
			MWanz.Places.GMap.generateMarkers(places_geo_json);
			
			// Push markers to map			
			MWanz.Places.GMap.markerManager.addMarkers(MWanz.Places.GMap.markers, 1);
			MWanz.Places.GMap.markerManager.refresh();
			
			// Zoomfit
			MWanz.Places.GMap.zoomFit();			
		} else {
			alert("Ihr Browser kann die Google-Maps Karte leider nicht anzeigen.");
		}
	}
}

// Generate markers
MWanz.Places.GMap.generateMarkers = function(data) {
	// Walk thru data	
	jQuery.each(data, function() {
		if(this.q_lat != 0 && this.q_lng != 0) {
			// Create marker
			var markerIcon = new GIcon(G_DEFAULT_ICON);
			markerIcon.image = "http://www.wochenanzeiger-muenchen.de/misc/pics/gmap/gmap_marker_news.png";
			markerOptions = {
				icon: markerIcon,
				clickable: true
				//zIndexProcess: MWanz.Portal.GMap.calcZIndex
			};
			var point = new GLatLng(Number(this.q_lat), Number(this.q_lng));
			var marker = new GMarker(point, markerOptions);
			marker.bindInfoWindowHtml('<h4>' + this.q_title + '</h4><p>' + this.q_url + '</p>');
			
			// Add point to map
			MWanz.Places.GMap.map.addOverlay(marker);
			
			// Add marker to markers array
			MWanz.Places.GMap.markers.push(marker);
			
			// Calc new zoom level to show all markers on map
			MWanz.Places.GMap.bounds.extend(point);
		}
	});
}

// Zoomfit
MWanz.Places.GMap.zoomFit = function() {
	MWanz.Places.GMap.map.setZoom(MWanz.Places.GMap.map.getBoundsZoomLevel(MWanz.Places.GMap.bounds));
	MWanz.Places.GMap.map.setCenter(MWanz.Places.GMap.bounds.getCenter());
}

/* Places ads */
MWanz.Places.Ads = {};

// Ads-Box toggle init
MWanz.Places.Ads.init = function() {
	// Ads toggle
	if($('.ads_toggle_handle').length != 0) {
		$('.ads_toggle_handle').toggle(
			function() {
				$('.ads_more_box').stop().slideDown(300);
				$('.ads_toggle_handle').text('Weitere Anzeigen ausblenden').addClass('active');
				return false;
			},
			function() {
				$('.ads_more_box').stop().slideUp(300);
				$('.ads_toggle_handle').text('Weitere Anzeigen einblenden').removeClass('active');
				return false;
			}
		);
	}
	
	// Smallads toggle
	if($('.smallads_toggle_handle').length != 0) {
		$('.smallads_toggle_handle').toggle(
			function() {
				$('.smallads_more_box').stop().slideDown(300);
				$('.smallads_toggle_handle').text('Weitere Kleinanzeigen ausblenden').addClass('active');
				return false;
			},
			function() {
				$('.smallads_more_box').stop().slideUp(300);
				$('.smallads_toggle_handle').text('Weitere Kleinanzeigen einblenden').removeClass('active');
				return false;
			}
		);
	}
	
	// Events toggle
	if($('.events_toggle_handle').length != 0) {
		$('.events_toggle_handle').toggle(
			function() {
				$('.events_more_box').stop().slideDown(300);
				$('.events_toggle_handle').text('Weitere Termine ausblenden').addClass('active');
				return false;
			},
			function() {
				$('.events_more_box').stop().slideUp(300);
				$('.events_toggle_handle').text('Weitere Termine einblenden').removeClass('active');
				return false;
			}
		);
	}	
}


// add header homepage link
MWanz.addHeaderHomepageLink = function() {
	if($('#header_container .c_inner').length != 0) {
		$('#header_container .c_inner').css({
			position: 'relative'
		});
		$('<a/>').attr({
			href: '/',
			title: 'Startseite Münchner Wochenanzeiger'
		}).css({
			position: 'absolute',
			left: '0px',
			top: '0px',
			background: '#fff',
			opacity: 0,
			width: '305px',
			height: '50px'
		}).appendTo($('#header_container .c_inner'));
	}
}

/** Twitter anywhere **/
MWanz.TwitterAnywhere = {};
MWanz.TwitterAnywhere.documentUrl = document.URL;

// init
MWanz.TwitterAnywhere.init = function() {
	if($('.twitter_anywhere_box').length != 0) {
		// Check if production or local
		var sub = MWanz.TwitterAnywhere.documentUrl.substring(0, 16);
		var preUrl = '';
		if(sub == 'http://localhost') {
			preUrl = 'http://localhost/mwanz_2p0/public';
		} else {
			preUrl = 'http://www.wochenanzeiger-muenchen.de';
		}
		
		// Shorten the url
		$.ajax({
			url: preUrl + '/ctrl/urlshortener/shortenurl',
			cache: false,
			type: 'POST',
			data: ({
				q: document.URL
			}),
			success: function(msg) {
				if(msg) {
					MWanz.TwitterAnywhere.documentUrl = msg;
				}
				
				twttr.anywhere(function(T) {
					T("#tbox").tweetBox({
						height: 100,
				    	width: 460,
				    	label: "Jetzt direkt Twittern!",
				    	defaultContent: "@Anzeigen_Blatt: " + MWanz.TwitterAnywhere.documentUrl,
				    	onTweet: function(plain, html) {
							alert('Vielen Dank!');
						}
				    });
				});
			}
		});
	}
}


/** Bit.ly **/
MWanz.Bitly = {};
MWanz.shortUrl = '';

// Shorten URL
MWanz.Bitly.shortenUrl = function(url) {
	BitlyClient.shorten(url, 'MWanz.Bitly.shortenResponse');
	return (MWanz.shortUrl != '') ? MWanz.shortUrl : url;
}

// Shorten response
MWanz.Bitly.shortenResponse = function(data) {
	var first_result;
    // Results are keyed by longUrl, so we need to grab the first one.
	for(var r in data.results) {
    	first_result = data.results[r]; break;
	}
	
	MWanz.shortUrl = first_result.shortUrl;
}

/** Wingame redirect **/
MWanz.WingameRedirect = {};

// init
MWanz.WingameRedirect.init = function() {
	if($('#redirector').length != 0) {
		window.setTimeout(function() {
			location.href = 'http://www.wochenanzeiger-muenchen.de/kontakt/zustellservice'; //TODO: add zip to url!
		}, 5000);
	}
}