// JavaScript Document

/*
 * t4mImageWechsel
 */
var t4mImageWechselValues = new Object;
function t4mImageWechsel( id, speed, force, interval ) {
	
	// csc-default
	var debug = false;
	var debug_var = '';
	
	if( debug ) {
		debug_var+= '<div class="debug">';
		debug_var+= '</div>';
	}
	
	if( typeof t4mImageWechselValues[id] == 'undefined' )
	{
		t4mImageWechselValues[id] = new Object;
		
		if( typeof $('#' + id + ' div.item').get(0) == 'undefined' )
			t4mImageWechselValues[id]['subEle'] = 'csc-default';	
		else
			t4mImageWechselValues[id]['subEle'] = 'item';
		
		t4mImageWechselValues[id]['num'] = 0;
		t4mImageWechselValues[id]['sum'] = $('#' + id + ' div.'+t4mImageWechselValues[id]['subEle']).length;
		if( t4mImageWechselValues[id]['sum'] > 1 )
			t4mImageWechselValues[id]['Interval'] = window.setInterval( 't4mImageWechsel( "' + id + '", "' + speed + '", "' + force + '", "" )', interval );
		else
			t4mImageWechselValues[id]['Interval'] = '';
		
		var out = ''; 
		out+= $('#'+id).html();
		if( t4mImageWechselValues[id]['sum'] > 1 )
			out+= addNumNavi(id, t4mImageWechselValues[id]['sum'], '' );
		out+= debug_var;
	
		$('#'+id).html( out );
	}
	
	
	if( debug ) {
		debug_var = $('#' + id + ' div.debug').html();
		debug_var = 'id:'+id+', speed:'+speed+', force:'+force+', interval:'+interval+'<br>';
		$('#' + id + ' div.debug').html( debug_var );
	}
	
	
	
	var num    = t4mImageWechselValues[id]['num'];
	var sum    = t4mImageWechselValues[id]['sum'];
	var subEle = t4mImageWechselValues[id]['subEle'];
	var linkId = num-1;
	
	
	if( debug ) {
		debug_var = $('#' + id + ' div.debug').html();
		debug_var+= 'num:'+num+', sum:'+sum+', subEle:'+subEle+', linkId:'+linkId+'<br>';
		$('#' + id + ' div.debug').html( debug_var );
	}
	
	
	
	if( typeof force == 'number' )
	{
		if( typeof t4mImageWechselValues[id]['Interval'] == 'number' )
			window.clearInterval( t4mImageWechselValues[id]['Interval'] );
		
		$('#' + id + ' div.' + subEle).fadeOut(speed);
		var obj = $('#' + id + ' div.' + subEle).get(force);
		$(obj).fadeIn(speed);
		
		num = force+1;
	}
	else if( isNaN(num) || num <= 0 )
	{
		num = sum;
		var obj = $('#' + id + ' div.' + subEle).get( num-1 );
		
		$(obj).fadeIn(speed, function() {
			$('#' + id + ' div.' + subEle).fadeIn(0);
		});
	}
	else {
		var obj = $('#' + id + ' div.' + subEle).get( num );
		$(obj).fadeOut(speed);
	}
	
	// Navi-Buttons
	$('#' + id + ' .numNavi a.aktiv').removeClass('aktiv');
	linkId = sum-num;
	
	if( linkId <= 0 ) linkId = 0;
	
	var objLnk = $('#' + id + ' .numNavi a').get(linkId);
	$(objLnk).addClass('aktiv');
	
	
	if( debug ) {
		debug_var = $('#' + id + ' div.debug').html();
		debug_var+= 'num:'+num+', sum:'+sum+', subEle:'+subEle+', linkId:'+linkId+'<br>';
		$('#' + id + ' div.debug').html( debug_var );
	}
		
	t4mImageWechselValues[id]['num'] = num-1;
}

	function addNumNavi( id, sum, tpl) {
		var out = '<div class="numNavi" style="width: ' + (Math.ceil(sum/2)*20)+'px">';
		for(var i=0; i<sum; i++)
		{
			out+= '<a href="#" onclick="t4mImageWechsel( \''+id+'\', 1000, ' + (sum-i-1) + ', \'\' ); return false;">&nbsp;</a>';
//			out+= '<a href="#" onclick="t4mImageWechsel( \''+id+'\', 1000, ' + (sum-i-1) + ', \'\' ); return false;">' + (i+1) + '</a>';
		}
		out+= '</div>';
		return out;
	}
	
	
	
	
/**
 * Menue
 */
(function($)
{
	$.fn.t4mmenu = function(options)
	{
		// Die Optionen die der Benutzer des Plugins angeben kann
		options = $.extend({
			submenu: '',	// Muss angegeben werden um zu wissen was das SubmenŸ ist
			pxoftime: 250		// Angabe fŸr die Pixel
		}, options);		
		// Wird nur aufgerufen wenn was gefunden worden ist
		$(this).each(function()
		{
			// Die Daten speichern
			var html 		=	new Array();
			var elemente	=	$(this).children('li');	
			for(var i = 0; i < elemente.length ; i++)
			{
				html[i]		=	new Object();
				html[i].element	=	$(elemente[i])
				html[i].html	=	html[i].element.find(options.submenu).html();
				html[i].height	=	html[i].element.find(options.submenu).height()+20;
				
				//html[i].time	=	html[i].height*options.pxoftime/100;
				if(html[i].html != null)
				{
					
					html[i].element.find(options.submenu).css('overflow','hidden');
					html[i].element.find(options.submenu).animate
					(
						{ 
							height: "0"
						}, 
						0,
						function()
						{
							$(this).css('height','0px'); 
							$(this).css('visibility','visible'); 
						}
					);
					html[i].element.attr('pos',i);
					// Das Event wenn die Maus Ÿber den MenŸpunkt geht
					html[i].element.bind
					(
						{
							// Wenn die Maus rŸber geht
							mouseover: function(evt)
							{
								//html[i].height	=	html[i].element.find(options.submenu).height();
								
								var o = html[$(this).attr('pos')];
								
								Animate(this,o, o.height);
							},
							mouseout : function(evt)
							{
								Animate(this,html[$(this).attr('pos')], 0);			
							}
						}
					);
				}
			}
		});
		
		function Animate(root, object, height)
		{	
			$(root).find(options.submenu).stop();
			$(root).find(options.submenu).animate
			(
				{ 	
					height: height+'px'
				}, 
				object.time,
				function()
				{
					  $(this).css('height',height+'px'); 		
				}
			);	
		}
	}
}
)($);
