$.extend($.expr[':'], {
  'containsi': function(elem, i, match, array)
  {
    return (elem.textContent || elem.innerText || '').toLowerCase()
    .indexOf((match[3] || "").toLowerCase()) >= 0;
  }
});

$(function() {
    $(".showhide .showhide-head").click(function() {
	$(".boxcontent", $(this).parent()).slideToggle("normal", function() {
	    $(this).parent().toggleClass("showhide-open");
	});
    })
    $("#menu-login a").click(function() {
	$("#login").fadeToggle();
	return false;
    })
})

var cat = 0;
var search = "";

$(function() {
    $("#topic-search input").focus(function() {
	if(this.value=="Suchen...")
	    this.value="";
	hideCats();
    }).blur(function() {
	if(this.value=="") {
	   this.value="Suchen...";
	   showCats();
	}
    }).keyup(function() {
	search = this.value;
	searchTopics();
    })
    
    $(".catlist a").click(function() {
	//$(".cathead").html(this.html());
	selectCat($(this).data("cat"), $(this).html());
	hideCats();
	searchTopics();
	return false;
    });
    
    $(".cathead").click(function() {
	showhideCats();	
	return false;
    })
    $(".secret .switch").click(function() {
	$(this).siblings(".secret-text").fadeIn();
    })
    $(".moreinfo .switch").click(function() {
	$(this).siblings(".info").fadeToggle();
	$(this).hide();
    })
});

function searchTopics() {
    if(cat == 0 && search == "") {
	$(".topic-results").hide();
    } else {	
	results = $(".topic-results li").hide();
	if(cat != 0)
	    results = results.filter("[data-cat="+cat+"]");
	if(search != "") {
	    //console.log(search);
	    results = results.filter(":containsi('"+search+"')");
	}
	
	results.show();
	
	$(".topic-results").show();
    }
}

function showCats() {
    $(".catlist:hidden").slideDown();
    $(".catlist").parent().addClass("catlist-open");
}

function hideCats() {
    $(".catlist:visible").slideUp();
    $(".catlist").parent().removeClass("catlist-open");
}

function showhideCats() {
    $(".catlist").slideToggle();
    $(".catlist").parent().toggleClass("catlist-open");
}

function selectCat(id, name) {
    cat = id;
    $(".cathead").html(name);
}
