/**
 * Regelt das Verhalten von Tabs
 *
 **/

$(function(){
  $('ul.tabs_navi li a[href^="#"]').click(function(e){
	if ($(this).parent().hasClass('inactive')) {
	  return false;
	}
	var subtab = $(this).attr('href').substring(1);
	if (typeof(window.tabPrefix) != 'undefined' && $('#'+window.tabPrefix + subtab).length == 1 ) {
	  subtab = window.tabPrefix + subtab;
	} else {
	  e.preventDefault();
	}
	if ($('#'+subtab).length > 0) {
	  $(this).parents('ul').children().removeClass('active');
	  $(this).parent().addClass('active');
	  $(this).parents('ul').siblings('.tabs_content').removeClass('active');	
	  $('#'+subtab).addClass('active');
	} else {
	  $(this).parent().addClass('inactive');
	}
	return true;
  });
  
  /**
   * Wenn ein Anker übergeben wurde, prüfen ob es ein Tab ist und dann diesen aktivieren
   */
  var subtab = self.document.location.hash.substring(1);
	
  if ($("ul.tabs_navi li a[href='#"+subtab+"']").length > 0) {
	$("ul.tabs_navi li a[href='#"+subtab+"']").click();
  } else {
	/**
	 * Wenn nicht, dann in jeder tab_navi den ersten Link aktivieren
	 */
        $("ul.tabs_navi").each(
            function(){
                if ($(this).children("li.active").length > 0) {
                    $(this).find("li.active a").click();
                } else {
                    $(this).find("li:first-child a").click();
                }
            }
        );
  }
});


/**
 * Listen filtern
 */
$.expr[':'].contains = function(obj, index, meta, stack){
  try {
    return (
        obj.textContent.replace(/\[[0-9]+\]/g, "") 
        || obj.innerText.replace(/\[[0-9]+\]/g, "") 
        || jQuery(obj).text().replace(/\[[0-9]+\]/g, "") 
        || '').toLowerCase().indexOf(meta[3].toLowerCase()) >= 0;
  } catch(e) {
      return true;
  }
};

/*jQuery.extend(
    jQuery.expr[':'], {
        Contains: "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0"
    }
);
*/
$(function(){
  $('input.autofilter').change(function(e){
      if ($('#'+$(this).attr('rel')).length == 0) {
          return true;
      }
      
      if ($(this).attr('value') == '') {
          $('#'+$(this).attr('rel')+' li').show();
          return true;
      }
      
      $('#'+$(this).attr('rel')+'>li').hide();
      $('#'+$(this).attr('rel')+'>li:contains('+$(this).attr('value')+')').show();
  });
  $('input.autofilter').keyup(function(){$(this).change();});
});
