
// === VARS ===

var timer;
var timerinterval = 5000;

// === STARTUP ===

$(document).ready(function() {  

	prepareSlider();
		
	prepareCommentReplys();
	
	setReplyTo(-1);

} );

//  
// Bereitet die Kommentare vor für den Mouseover undso.
//

function prepareCommentReplys() {
	
	// Sind wir überhaupt auf einer Seite mit Kommentaren?
	if($('div#comments')) {
		
		// Jedem Komment die Funktion zuordnen
		$('div#comments div.comment').hover( function() {
		
			// Nur, wenn es überhaupt einen Reply-Link gibt
			if ($(this).find('div.comment-reply-link').length > 0) 
			{
				// Reply-Link anzeigen
				$(this).find('div.comment-reply-link').css('visibility', 'visible');				
				// Dem Button Funktion zuordnen
				$(this).find('div.comment-reply-link').click( function() {
					setReplyTo($(this).parent(), $(this).find('input').val()); //$(this).find('input').val(), $(this).parent().find('span.author').html());
				} );
			}
			
		}, function () {
			
			// Lässt den Pfeil wieder verschwinden
			$(this).find('div.comment-reply-link').css('visibility', 'hidden');
		} );
	
	}
	
	// den Reply-Abbrechen-Button funktionsfähig machen
	$('button#cancelreplybutton').click( function(event) {
		event.preventDefault();
		setReplyTo(-1, 0);
	}).hide();
}

// Setzt das Reply-Feld auf eine bestimmte KommentarID

function setReplyTo(commentbody, commentID)
{
	
	resp = $('#respond'); // Das Respond-DIV
	prnt = $('div#respond input#comment_parent'); // Das Parent-ID-Input
	cnclbtn = $('div#respond button#cancelreplybutton');

	if (commentbody != -1)
	{
		resp.appendTo(commentbody);
	}
	else
	{
		// Kommentarform rücksetzen
		resp.appendTo('div#comments');
	}
	
	
	
	// Parent-ID setzen
	prnt.val(commentID);
	
	if (commentID > 0) 
		cnclbtn.show(); 
	else
		cnclbtn.hide();

	
}

// Bricht einen Reply ab

function cancelReply(event)
{
	event.preventDefault();
	setReplyTo(0, 0);
}


function prepareSlider() {


	// Nur wenn der Slider überhaupt da ist
	if ($('div#slider')) {
		// Erstmal die Liste auf die Breite setzen, damit die li's nebeneinander sind
		$('div#sliderframe ul').css('width', 800 * $('div#sliderframe ul li').length);
		
		// Dem ersten, sichtbaren Element die selected Klasse geben
		$('div#sliderframe ul li:first').addClass('selected');
		
		// Alle Descriptions der ANDEREN (erstes bleibt) verbergen
		$('div#sliderframe ul li[class!=selected] div.description').fadeOut(1);
		
		// Timer starten
		timer = setInterval('scrollSlider()', timerinterval);
		
		// Mouseover für Slider, dass er anhält
		$('div#sliderframe').hover( 
			function() {
		
				clearInterval(timer);
		
			},
			function() {
			
				timer = setInterval('scrollSlider()', timerinterval);
				
			} );
	}
}



function scrollSlider(direction) {

	var currentli = $('div#sliderframe ul li.selected'); // Aktuelles Frame
	var currentdesc = $('div#sliderframe ul li.selected div.description'); // Aktuelle Beschreibung
	
	var nextli = (currentli.next().length) ? currentli.next() : $('div#sliderframe ul li:first');
	
	// Ausfadenn
	currentdesc.fadeOut(200, function() {
	
		// Bewegen
		$('div#slider div#sliderframe').scrollTo(nextli, 800, {onAfter: function() {
			
			// Einfaden (zuerst: Klassen setzen
			currentli.removeClass('selected');
			nextli.addClass('selected');
			
			// Jetzt aber Faden!
			
			$('div#sliderframe ul li.selected div.description').fadeIn(200);
			
		} } );

	});
}
