var sportnewsClass = function() {
	var self = this;
	var active = '';
	
	this.headliner = function() {
		jQuery('#news-slider').cycle({ 
			fx:      'fade', 
			timeout:  10000,
			before:	 function(currSlideElement, nextSlideElement, options, forwardFlag) {
				// Mark curent slide-item as active
				$('.slide-panel a.active', '#news-slider').removeClass('active');
				$('.slide-panel a', '#news-slider').eq($(nextSlideElement).index()).addClass('active');
			}
		});
		self.initSlidePanel();
	};
	
	// Create slide-panel
	this.initSlidePanel = function() {
		if($('.news-object', '#news-slider').length > 1) {
			$('#news-slider').append('<div class="slide-panel"><div class="slide-wrapper clearfix"><div class="left"></div><div class="right"></div></div></div>');
			// Create items
			for(var $i = 0; $i < $('.news-object', '#news-slider').length; ++$i) {
				var $class = ($i === 0) ? ' active' : '';
				$('.slide-wrapper', '#news-slider').append('<a class="slide-item' + $class + '" href="javascript:void(null);">' + $i + '</a>');
			}
			// Append Click-Events
			$('.slide-wrapper', '#news-slider').children('a.slide-item').click(function() {
				$('#news-slider').cycle($(this).index() - 2);
				return false;
			});
		}		
	};
	
	// Create text-zoom-functions
	this.initZoomOptions = function() {
		// Increase Font Size
		var limit = 5;
		var current = 3;
		
		jQuery('#zoom-in', '#newsdetail-header').click(function() {
			if(current != limit) {
				var currentFontSize = $('#news-details').css('font-size');
				var currentFontSizeNum = parseFloat(currentFontSize, 10);
				var newFontSize = currentFontSizeNum+1;
				$('#news-details').css('font-size', newFontSize);
				current++;
			}
			return false;
		});
		
		// Decrease Font Size
		jQuery('#zoom-out', '#newsdetail-header').click(function() {
			if(current != 0) {
				var currentFontSize = $('#news-details').css('font-size');
				var currentFontSizeNum = parseFloat(currentFontSize, 10);
				var newFontSize = currentFontSizeNum-1;
				$('#news-details').css('font-size', newFontSize);
				current--;
			}
			return false;
		});
	};
	
	// Initialize map
	this.initMap = function() {
		var cache = [];
		var images = ["norden_hover.png","osten_hover.png","sueden_hover.png","westen_hover.png"];
		
		// Image cache
		$.preLoadImages = function() {
		    for (var i = images.length; i--;) {
		    	var cacheImage = document.createElement('img');
		    	cacheImage.src = 'fileadmin/templates/standard/img/' + images[i];
		    	cache.push(cacheImage);
		    }
		}

		$('area').click(function() {
					$('#ttnews_region').val($(this).attr('region'));
					$('#tx_ttnews_form').submit();
					return false;
				  })
				 .hover(
					 function() {
					     $('#deutschlandkarte', '.map').attr('src', 'fileadmin/templates/standard/img/'+$(this).attr('class')+'_hover.png');
						 $(this).css('cursor', 'pointer');
				     },
				     function() {
				    	 if(self.active != '' && self.active !== undefined) {
				    		 $('#deutschlandkarte', '.map').attr('src', 'fileadmin/templates/standard/img/'+$('area[region=' + self.active + ']').attr('class')+'_active.png')
				    	 } else {
				    		 $('#deutschlandkarte', '.map').attr('src', 'fileadmin/templates/standard/img/pixel_trans.png');
				    	 }
				    	 $(this).css('cursor', 'default');
				     }
				 );
		
		if(self.active !== undefined) {
			$('#deutschlandkarte', '.map').attr('src', 'fileadmin/templates/standard/img/'+$('area[region=' + self.active + ']').attr('class')+'_active.png')
			  							  .attr('active', 'active');
		}
	};
};

var sportnews = new sportnewsClass();

jQuery(function() {	
	sportnews.headliner();
	sportnews.initZoomOptions();
	sportnews.initMap();
});
