/* JavaScript fuer die Referenzdatenbank */

var filter = new Array();

$('#filter a').click(
	function() {
		var filter_id = $(this).attr('id');
		// Filter schon aktiv?
		if($(this).hasClass('current')) {
			$(this).removeClass('current');
			removeFilter(filter_id);
		} else {
			$(this).addClass('current');
			filter.push(filter_id);
		}
		
		// alle oder gefilterte Projekte anzeigen
		if(filter.length == 0) {
			showAllProjects();
		} else {
			showFilteredProjects();
		}
		return false;
	}
);

// Entfernen von Filtern
function removeFilter(id) {
	var index = -1;
	for(i=0; i<filter.length; i++) {
		// falls ein Filter gefunden wurde, muss er entfernt werden
		if(filter[i] == id) {
			index = i;
			break;
		}
	}
	if(index != -1) {
		filter.splice(index, 1);
	}
}

// alle Projekte anzeigen
function showAllProjects() {
	for(i=0; i<project_ids.length; i++) {
		showProject(project_ids[i]);
	}
	$('#no_projects').hide();
}

// gefilterte Projekte anzeigen
function showFilteredProjects() {
	var counter = 0;
	for(i=0; i<project_ids.length; i++) {
		var project_filter_counter = 0;
		for(j=0; j<filter.length; j++) {
			if($('#project_'+project_ids[i]).hasClass(filter[j])) {
				project_filter_counter++;
				counter++;
			}
		}

		// falls ein Filter getroffen wurde -> anzeigen
		if(project_filter_counter) {
			showProject(project_ids[i]);
		} else {
			$('#project_'+project_ids[i]).slideUp("slow");
			$('#project_'+project_ids[i]).removeClass('active');
		}
	}
	if(counter == 0) {
		$('#no_projects').show();
	}
}

function showProject(id) {
	if(!$('#project_'+id).hasClass('active')) {
		$('#project_'+id).slideDown("slow");
		$('#project_'+id).addClass('active');
	}
}

$(document).ready(function(){
  // Hover in der Logo-Parade
  $(".logo_parade div").hover(
    function() {
      if($(this).children("p:animated").length != 0) {
        return;
      }
      $(this).children("p").animate({ "top": "0px" });
    },
    function() {
      $(this).children("p").animate({ "top": "100px" });
    }
  );
  
  // Link auf das p-Tag setzen, falls das Logo verlinkt ist
  $(".logo_parade p").each(function() {
    if ($(this).prev().attr('href')) {
      $(this).addClass("has_link").click(
        function() {
          location.href = $(this).prev().attr('href');
        }
      );
    }
  });
});
