$.extend( $.expr[':'],{ "regex": function(a, i, m, r) { var r = new RegExp(m[3], 'i'); return r.test(jQuery(a).text());}});

$().ready(function(){
		t=$("#spielplan");
		function filterTable(suchstr) {
		  if(suchstr.length == 0)	
			$('#spielplan > tbody').each(
				function(){
					$(this).find('td.kuenstlich').remove();
					$(this).show();
					$(this).find('tr').show();
					$(this).find('td[rowspan]').attr("rowspan",$(this).find('tr').length);});
		  //if(suchstr.match(/Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember/)){}	
		  else if(!suchstr.match(/\+$/))
				{	
				suchstr = suchstr.replace(/\+/g,"|");
				$('#spielplan > tbody').hide().each(
					function(){
						var trefferzahl = 0;
						$(this).find('td.kuenstlich').remove(); 
						trefferzahl = $(this).find('tr>td.veranstaltung:regex('+suchstr+')').length;  // SUCHE in tbody
						if(trefferzahl>0){
							$(this).show();
							$(this).prevAll('.monat:first').show();
							if($(this).find('tr').length>1){  
								var datum = $(this).find('td[rowspan]:first').html();
								var monatundwotag = $(this).find('td[rowspan]:eq(1)').html();
								var klasse = $(this).find('td[rowspan]:first').attr('class');
								var ersteristtreffer = false;
								var zweitertreffer = false;
								$.each($(this).find('tr'), 
									function(index,item){
										$(item).find('td[rowspan]').attr("rowspan",trefferzahl); 
										if($(item).find('td.veranstaltung:regex('+suchstr+')').length > 0){ // SUCHE in tr
											$(item).show();
											if(index == 0) ersteristtreffer = true; 
											else {
												if(!ersteristtreffer && !zweitertreffer){ 
													$(item).prepend('<td rowspan="'+trefferzahl+'" class="'+klasse+' kuenstlich">'+datum+'</td><td rowspan="'+trefferzahl+'" class="monatundwochentag kuenstlich">'+monatundwotag+'</td>');
													zweitertreffer = true;
													}
											}
										}
										else $(item).hide(); 
									
									}
								);
							}
						}
					}
				);
				
		    }
		}
		$("#filter").focus(function(){if(this.value == 'suche')this.value = '';})
		$("#filter").keyup(function(){filterTable(this.value);});
		
		});
