$(document).ready(function() {
	
	/* jquery.tablesorter START */
	$.tablesorter.addParser({
		id:     'twDatum',
		is:     function(s) {return false;},
		format: function(s) {
			var a = s.split('.');
			a[1] = a[1].replace(/^[0]+/g,"");
			return new Date(a.reverse().join("/")).getTime();
		},
		type: 'numeric'
	});
	
	$.tablesorter.addParser({
		id:    'twColPreis',
		is:     function(s) {return false;},
		format: function(s) {
			/* <dfn>-Inhalt rausnehmen (falls damit ein twTooltip übergeben werden sollte...) */
			var index = s.search(/<dfn>/);
			if (index != -1) {s = s.substring(0, index);}
			/* <img>-Inhalt rausnehmen (falls Icons verwendet wurden) */
			var index2 = s.search(/<img /);
			if (index2 != -1) {s = s.substring(0, index2);}
			/* evtl sonstigen dahinter befindlichen Text rausnehmen */
			///var index3 = s.search(/ /);
			///if (index3 != -1) {s = s.substring(0, index3);}
			
			/* wenn zwei Preise angegeben wurden, Mittelpreis ermitteln */
			var index4 = s.search('br');  // (is zwar ne Krücke, aber <br /> findet er nich...)
			if (index4 != -1) {
				var preisVon = s.substring(0, index4-1);
				/*var preisBis = s.substring(index4+3);
				preisVon = preisVon.replace(/,/,'.') * 100;
				preisBis = preisBis.replace(/,/,'.') * 100;
				var preisMittel = preisBis - preisVon;
				preisMittel = preisMittel / 2;
				s = preisVon + preisMittel; 
				s = s / 100;
				s = s.toString();
				///console.log(preisBis+'---'+preisVon+'+++'+preisMittel+'==='+s);*/
				s = preisVon;
			}

			s = s.replace(/[^0-9,.]/g, '');     // alles raus außer Zahlen, Komma und Punkt			
			if (s == '') {s = '9999999999,-';}  // wenn leer, dann ganz hinten dran...
			
			s = s.replace(/-/,'00');         // bsp. mach aus 24,- ein 24,00
			s = s.replace(/,/,'.');          // macht aus einem eventuellen Komma einen Punkt
			s = s.replace(/€/,'');           // entfernt evtl Eurozeichen
			///console.log(s);
			return s;
		},
		type:   'numeric' // diese Tabellenzelle als Zahl formatieren
	});

	$("#twTabelleSortierbar01").tablesorter({
		sortList: [[0,0]],
		headers:  {
			1: {sorter: 'twColPreis'},
			13: {sorter: false}
		},
		widgets:  ['zebra']
	}); 

	$("#twTabelleSortierbar02").tablesorter({
		sortList: [[0,0]],
		headers:  {
			1: {sorter: 'twColPreis'},
			13: {sorter: false}
		},
		widgets:  ['zebra']
	}); 
	/* jquery.tablesorter END */
	
	
	
	
	// bei aktiviertem Javascript: beim Start Zeug verbergen oder anzeigen
	$('.twToggleboxInhaltV').hide();
	$('.twToggleboxInhaltP').hide();
	$('.twToggleboxInhaltA').hide();
	$('.twToggleboxInhaltK').hide();
	$('.twToggleboxBtnShowV').show().css('display', 'inline').css('line-height', '1.6em');   // steht im css mit display:none
	$('.twToggleboxBtnShowP').show().css('display', 'inline').css('line-height', '1.6em');
	$('.twToggleboxBtnShowA').show().css('display', 'inline').css('line-height', '1.6em');
	$('.twToggleboxBtnShowK').show().css('display', 'inline').css('line-height', '1.6em');
	$('#box01Wrapper .box01Inhalt').hide();
	$('#box01Wrapper .box01BtnShow').show().css('display', 'inline');
	///$('#twTabelleSortierbar01 .preis dfn').hide();
	$('#twTabelleSortierbar01 dfn').hide();
	///$('#twTabelleSortierbar02 .preis dfn').hide();
	$('#twTabelleSortierbar02 dfn').hide();
	
	// Cursor-Zeug
	$('.twToggleboxBtnShowV').css('cursor', 'pointer');
	$('.twToggleboxBtnShowP').css('cursor', 'pointer');
	$('.twToggleboxBtnShowA').css('cursor', 'pointer');
	$('.twToggleboxBtnShowK').css('cursor', 'pointer');
	$('#box01BtnShow').css('cursor', 'pointer');
	
	// box01: Inhalt ein- und ausblenden
	$('#box01Wrapper .box01BtnShow').toggle(
		function () {
			$(this).html('&uarr; Info ausblenden');
			$(this).next().slideDown(1000);
			$(this).next().css('display', 'block'); // wegen IE8
		},
		function () {
			$(this).html('&darr; Info zur Liste anzeigen');
			$(this).next().slideUp(300);
		}
	);
	
	// Spalte Informationen ein- und ausblenden
	$('.twToggleboxBtnShowV').toggle(
		function () {
			///console.log($(this).parent().siblings('p.twToggleboxInhaltV').text());
			$(this).html('&uarr;&nbsp;ausblenden');
			$(this).css('background-color', '#ddffdd');
			$(this).parent().siblings('div.twToggleboxInhaltV').slideDown(300).css({'background-color':'#ddffdd', 'border':'1px solid #009900', 'border-top':'0', 'padding':'4px'});
			//$(this).parent().siblings('p.twToggleboxInhaltV').css('display', 'block'); // wegen IE8
		},
		function () {
			$(this).html('&darr;&nbsp;Vorauss.');
			$(this).css('background-color', '#ffffbb');
			$(this).parent().siblings('div.twToggleboxInhaltV').slideUp(300);
		}
	);
	$('.twToggleboxBtnShowP').toggle(
			function () {
				$(this).html('&uarr;&nbsp;ausblenden');
				$(this).css('background-color', '#ddffdd');
				$(this).parent().siblings('div.twToggleboxInhaltP').slideDown(300).css({'background-color':'#ddffdd', 'border':'1px solid #009900', 'border-top':'0', 'padding':'4px'});
			},
			function () {
				$(this).html('&darr;&nbsp;ProgInfo.');
				$(this).css('background-color', '#ffff88');
				$(this).parent().siblings('div.twToggleboxInhaltP').slideUp(300);
			}
		);
	$('.twToggleboxBtnShowA').toggle(
			function () {
				$(this).html('&uarr;&nbsp;ausblenden');
				$(this).css('background-color', '#ddffdd');
				$(this).parent().siblings('div.twToggleboxInhaltA').slideDown(300).css({'background-color':'#ddffdd', 'border':'1px solid #009900', 'border-top':'0', 'padding':'4px'});
			},
			function () {
				$(this).html('&darr;&nbsp;Anm.');
				$(this).css('background-color', '#ffff55');
				$(this).parent().siblings('div.twToggleboxInhaltA').slideUp(300);
			}
		);
	$('.twToggleboxBtnShowK').toggle(
			function () {
				$(this).html('&uarr;&nbsp;ausblenden');
				$(this).css('background-color', '#ddffdd');
				$(this).parent().siblings('div.twToggleboxInhaltK').slideDown(300).css({'background-color':'#ddffdd', 'border':'1px solid #009900', 'border-top':'0'});
			},
			function () {
				$(this).html('&darr;&nbsp;Komment');
				$(this).css('background-color', '#ffff22');
				$(this).parent().siblings('div.twToggleboxInhaltK').slideUp(300);
			}
		);
	
	 
	// Tooltips in den Tabellenüberschriften (siehe: http://code.reduxo.de/tooltipps-mit-jquery/)
  $(".tooltip").mouseover(
  	function (e) {
  		///console.log($(this).next('dfn').html());
  		var text = $(this).next('dfn').html(); // (der ToolTipText muss in <dfn>...</dfn> stehen)
  		var x = e.pageX+20;
  		var y = e.pageY-56;
  		$("body").append("<div id='tooltip'>"+text+"</div>");
  		$("#tooltip").css({'position':'absolute', 'left':x, 'top':y, 'padding':'4px', 'border':'3px double green', 'background-color':'#ddffdd'});
  	}
  );
  $(".tooltip").mouseout(
  	function (e) {
  		$("#tooltip").remove();
  	}
  );
	
	// Tooltips in der Spalte 'Preis'
  $(".preis").mouseover(
  	function (e) {
  		var text = $(this).children('dfn').html(); // (der Text wird im title-Tag mitgegeben)
  		if (text == '' || text == null) {return;}
  		var x = e.pageX+40;
  		var y = e.pageY-40;
  		$("body").append("<div id='preis'>"+text+"</div>");
  		$("#preis").css({'position':'absolute', 'left':x, 'top':y, 'padding':'4px', 'border':'3px double green', 'background-color':'#ddffdd'});
  	}
  );
  $(".preis").mouseout(
  	function (e) {
  		$("#preis").remove();
  	}
  );
  
  
  // Hover im Kommentarformular das Icon mit dem Fragezeichen
  $(".twToggleboxInhaltK form .re p img").hover(
		function (e) {
			var x = e.pageX-200;
  		var y = e.pageY+20;
			$('body').append($("<div id='hinweis'>Diese Liste soll möglichst auch anbieterunabhängige Meinungen widerspiegeln. Deshalb freuen wir uns über jeden Kommentar, der hier abgegeben wird. Um die Sache einigermaßen glaubwürdig zu gestalten, müssen wir darauf bestehen, dass Sie Ihren Name und Emailadresse mit angeben, wenn Sie einen Kommentar zu dieser Software hinterlassen.</div>"));
			$('#hinweis').css({'position':'absolute', 'left':x, 'top':y, 'padding':'4px', 'border':'3px double green', 'background-color':'#ddffdd'}); 
			//$('#hinweis').css("left", x).css("top", y).css("position", "absolute").css("border", "3px double green").css("background-color", "#ddffdd");
		}, 
		function (e) {
			$('#hinweis').remove();
		}
	);

	
});
