/* COMMENTS */
function popUpComment(){
	$(".commentLink").hide("slow");

	$("#leaveComment").addClass("leaveCommentLayer").show("slow");
	
	$("#postcomment").before("<p id=\"closeCommentX\" class=\"closeComment\">X</p>"); 
	$("#submit").after("<input name=\"abbrechen\" class=\"closeComment\"type=\"button\" value=\"Abbrechen\"/>");
	
	$(".closeComment").click( function() { closeCommentLayer();} );
}
function closeCommentLayer(){
		$("#leaveComment").hide("slow");
		$(".closeComment").hide("slow").remove();
		$(".commentLink").show("slow");

		$("#leaveComment").removeClass("leaveCommentLayer").hide("slow");
}
function viewComments(){
	$("#readComment").show("slow");
	$("#leaveComment").show("slow");
	$(".commentLink").hide("slow");
}


/* SHOW-IMAGE  */

/** John Resig, erklärt bei quirksmode */
function addEvent( obj, type, fn )
{
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
	} else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener) {
		obj.removeEventListener( type, fn, false );
	} else if (obj.detachEvent && obj[type+fn]) { 
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

addEvent (window, "load", pulldownRight);


var me_bb = new Array();
var growTo = 280;
var shrinkTo = 40;

function pulldownRight()
{
	var borderlines = document.getElementById('bilderstrecke').getElementsByTagName('div');
	var index = 0;
	var online = false; 
	var out = 0; 
	for (var i=0, borderline; borderline=borderlines[i]; i++) {
		if (/borderline/.test(borderline.className)) {
			if (borderline.getElementsByTagName('a')[0].href == location.href) {
				borderline.style.height = growTo + "px"; 
				online = true; 
				out = index; 
			} else {
				borderline.style.height = shrinkTo + "px"; 
			} 
			me_bb[index] = borderline;
			index++;
		}
	}
	if (online == false) {
		me_bb[out].style.height = growTo + "px";  
	}
	for (var j=1; j<me_bb.length; j++) {
		if (j != out)
		addEvent(me_bb[j], "mouseover", exchange);
	}
}

function exchange() 
{
	var timer; 
	toGrow = this;
	var time = 25;var step = 10;var toGrow;var toShrink;var notThis = 0; 
	for (var i=0, loop; loop=me_bb[i]; i++) {
		if (parseInt(loop.style.height) == growTo) { 
			toShrink = loop;
			notThis = i; 
		}
		removeEvent(loop, "mouseover", exchange);
	}

	timer = window.setInterval(
	function() {
		
		if (parseInt(toGrow.style.height) < growTo) {
			toGrow.style.height = (parseInt(toGrow.style.height) + step ) + 'px';
		}
		if (parseInt(toShrink.style.height) > shrinkTo) {
			toShrink.style.height = (parseInt(toShrink.style.height) - step) + 'px';
		}
		if (parseInt(toGrow.style.height) == growTo) { // Zielgröße erreicht
			window.clearInterval (timer);
			for (var i=0, loop; loop=me_bb[i]; i++) {	
				if (loop != toGrow) {
					addEvent(loop, "mouseover", exchange);
				}
			}
		}
	}
	, time);
}

addEvent (window, "load", initGalery);
var gal_stripeH = 105; 

function initGalery ()
{
	var divs = document.getElementsByTagName('div');
	var first = false;
	var galleryNum = 0;
	for (var i=0; i<divs.length; i++) {
		var children = new Array();
		if (/wrapStripe/.test(divs[i].className)) {
			var boxes = divs[i].getElementsByTagName('div');
			for (var j=0; j<boxes.length; j++) {
				if (/stripe/.test(boxes[j].className)) {
					boxes[j].style.height = gal_stripeH + 'px';
					boxes[j].style.backgroundColor = 'white';
					boxes[j].style.overflow = 'hidden';
					children = boxes[j].getElementsByTagName('img');
					for (var l=0; l<children.length; l++) {
						var dif = (gal_stripeH - children[l].getAttribute('height')) / 2;
						children[l].style.marginBottom = dif + 'px';
					}

					var original = boxes[j].getElementsByTagName('a');
					var rows = boxes[j].getElementsByTagName('div');
					rows[0].style.marginTop = "0px";

					for (var k=0; k<original.length; k++) {
						original[k].onclick = showPic;
					}
				}
				if (/numRows/.test(boxes[j].className)) {
					boxes[j].style.display = 'block';
					var initNums = boxes[j].getElementsByTagName('span');
					for (var k=0; k<initNums.length; k++) {
						//addEvent (initNums[k], "click", scrollToRow);
						initNums[k].onclick = scrollToRow;
					}
				}
				if (/fullImage/.test(boxes[j].className)) {
					//boxes[j].style.height = '500px';
					boxes[j].innerHTML = '<img src="' + children[0].getAttribute ('src').replace('snaps', 'thumbs') + '" />';
				}
			}
			galleryNum = galleryNum + 1;
		}
	}
}

function showPic()
{
	var imgBox = this.parentNode.parentNode.parentNode.getElementsByTagName('div');
	for (var i=0; i<imgBox.length; i++) {
		if (/fullImage/.test(imgBox[i].className)) {
			$alt = this.getElementsByTagName('img')[0].getAttribute('alt');
			imgBox[i].innerHTML = '<img src="' + this.href.replace('snaps', 'thumbs') + '" /><p>' + $alt + '</p>';
		}
	}
	return false;
}

function scrollToRow (evt) {
	evt = (evt) ? evt : window.event;
	var elem = (evt.target) ? evt.target : evt.srcElement;

	var timer;
	var scrollTo = 0;
	var scrollFrom = 0;

	var wrapStripe;
	var rowToShow;
	if (elem.nodeType == 3) { // Textknoten
		wrapStripe = elem.parentNode.parentNode.parentNode;
		rowToShow = elem.parentNode.innerHTML;

	} else {
		wrapStripe = elem.parentNode.parentNode;
		rowToShow = elem.innerHTML;
	}

	var stripes = wrapStripe.getElementsByTagName('div');
	var rows = stripes[0].getElementsByTagName('div'); 
	var firstRow = rows[0];

	firstRow.scrollFrom = parseInt(firstRow.style.marginTop);
	firstRow.scrollTo = (parseInt(rowToShow) - 1) * -120; 

	firstRow.timer = window.setInterval(
	function() {
		if (firstRow.scrollFrom == firstRow.scrollTo) {
			window.clearInterval(firstRow.timer);
			return;
		}	
		if (firstRow.scrollFrom < firstRow.scrollTo) {
			firstRow.scrollFrom = firstRow.scrollFrom + 10;
		}
		if (firstRow.scrollFrom > firstRow.scrollTo) {
			firstRow.scrollFrom = firstRow.scrollFrom - 10;
		}
		firstRow.style.marginTop = firstRow.scrollFrom + "px";
	}
	, 100);
	return false;
}

$(function() {
    $('a.film').click (function(event) {
    	var winURL = $(this).attr('href');
		var winName = 'win1';
		var winSize = 'width=960,height=625,scrollbars=no,resizeable=no';
		var ref = window.open(winURL, winName, winSize);
  		return false;
    });
});


addEvent(window, "load", initSort);

function initSort()
{
	var table = document.getElementsByTagName('table');

	for (var i=0; i<table.length; i++) {
		if (/sortable/.test(table[i].className)) {
			var tableHeader = table[i].getElementsByTagName('th');
			for (var j=0; j<tableHeader.length; j++) {
				tableHeader[j].style.cursor = "pointer";
				tableHeader[j].onclick = sortCol; 
			}
		}	
	}
}

function numSort(a, b)
{
	return a[0] - b[0];
}

function sortCol(evt) 
{
	/* Berechnet den Index der geklickten Spalte */
	var index = 0;
	var run = this; 
	while (run.previousSibling) {
		if (run.previousSibling.nodeName == "TH") {
			index++;
		} 
		run = run.previousSibling;
	}

	/* Erfasst die Tabelle mit Zeilen und Spalte */
	var table = this.parentNode.parentNode.parentNode;
	var numCols = this.parentNode.getElementsByTagName('th').length;
	var rows = table.getElementsByTagName('tr');

	/* Löscht das Sortiersymbol aus allen Spalten außer der aktuellen */
	var th = table.getElementsByTagName('th');
	for (var i=0; i<numCols; i++) {
		if (i == index) {
			continue;
		}
		if (th[i].getElementsByTagName("img").length != 0) {
			var lastImg = th[i].getElementsByTagName("img")[0];
			lastImg.parentNode.removeChild(lastImg);
		}
	}

	var sortOrder = "up";
	if (this.getElementsByTagName("img").length != 0) {
		var img = this.getElementsByTagName("img")[0];
		if (img.getAttribute("src") == "/wp-content/themes/lux/images/pu.gif") {
			sortOrder = "down";
			img.setAttribute("src", "/wp-content/themes/lux/images/po.gif");
		} else {
			sortOrder = "up";
			img.setAttribute("src", "/wp-content/themes/lux/images/pu.gif");
		}
	} else {
		var img = document.createElement('img');
		this.insertBefore(img, this.firstChild);
		img.setAttribute("src", "/wp-content/themes/lux/images/pu.gif");
		sortOrder = "up";
		img.style.cssFloat = "right";
		img.style.paddingTop = "2px";
	}

	/* Isoliert die Spalte, nach der sortiert werden soll */
	var j = 0;
	var littleOne = new Array();
	var cells = table.getElementsByTagName('td');
	for (var i=index; i<cells.length; i+=numCols) {   // alle Zeilen ab 1
		var two = new Array(cells[i].innerHTML, j);
		littleOne.push(two);
 		j++;
	}

	if (/\d+[\.|,]?\d*/.test(littleOne[0][0])) {
		littleOne.sort(numSort);
	} else {
		littleOne.sort();
	}
	
	if (sortOrder == "down") {
		littleOne.reverse();
	} 
	
	/* Eine Kopie der Tabelle, aus der gleich die Zeilen geklont werden */
	var newTable = table.cloneNode(true);
	var newRows = newTable.getElementsByTagName('tr');
	
	/* Die Zeilen der ursprünglichen Tabelle bis auf den Tabellenkopf löschen */
	var numRows = rows.length;
	for (var i=1; i<numRows; i++) {
		rows[1].parentNode.removeChild(rows[1]);
	}

	/* Das tbody-Element isolieren, um die Zeilen neu einzuhängen */
	var tbody = table.getElementsByTagName('tbody')[0];
	
	for (var i=1; i<numRows; i++) {
		var clone = newRows[littleOne[i-1][1] + 1].cloneNode(true);
		tbody.appendChild(clone);
	}
}

