$(document).ready(function()
{
	$.cooperation = {};
	$.cooperation.base = "http://www.cooperation-standard.ch/";
	$.cooperation.sprache = $("#sprache").attr("innerHTML");

	// fixe fehlerhafte Anzeige transparenter .png-Grafiken im IE6
	jQuery.ifixpng("http://www.cooperation-standard.ch/bilder/gestaltung/blank.gif");
	jQuery("img").ifixpng();

	$("li")
		.mouseover(function () {
			if (!$(this).hasClass("selected"))
				$(this).css({background: "none"});
  	})
		.mouseout(function () {
			if (!$(this).hasClass("selected"))
				$(this).css({background: "url(../bilder/gestaltung/matrix-hintergrund.png) no-repeat"});
 	  });

	// Initialisiere das history plugin
	$.historyInit(pageload, "index.php");

	// setze onlick Event für alle <a> Elemente zum Neuladen der Inhalte
	$("a:[rel='history']").live("click", function(){
		// Links, welche die Klasse "gesperrt" haben, werden nicht verfolgt/aufgerufen
		if ($(this).hasClass("gesperrt"))
			return false;
	
		var hash = this.href;
		hash = hash.replace(/^.*#/, '');

		if (hash != $.cooperation.base)
			// gehe zu neuer Seite
			$.historyLoad(hash);

		// track Ding-Klick
		trackDing(hash);

		return false;
	});

	// mouseover und mouseout Event zur Steuerung der Anzeige der Bilder eines Dinges
	$(".bildSteuerung")
		.live("mouseout", function(){
			$("#bildkasten" + this.id.replace(/[a-zA-Z]+/, "")).addClass('hidden');
		})
		.live("mouseover", function(){
			/*
			var fixVertikal = 372;
			var bildBreite = parseInt($("#bildkasten" + this.id.replace(/[a-zA-Z]+/, "") + " img").width());
			var paddingRight = $(window).width() - 372 - bildBreite;
			*/
			var paddingRight = $(window).width() - 816;
						
			$("#bildkasten" + this.id.replace(/[a-zA-Z]+/, "")).css({ "paddingRight": paddingRight });
			$("#bildkasten" + this.id.replace(/[a-zA-Z]+/, "")).removeClass('hidden');
		});
});


// PageLoad function
// This function is called when:
// 1. after calling $.historyInit();
// 2. after calling $.historyLoad();
// 3. after pushing "Go Back" button of a browser
function pageload(hash)
{
	// alert("pageload: " + hash);
	// hash doesn't contain the first # character.
	if (hash)
		buildPage(hash);
	else
		window.location.reload();
//		buildPage("undefined");
}


function buildPage(hash)
{
	if (hash == $.cooperation.base)
		window.location.reload();
//		return false;

	// track Ding-Klick
	trackDing(hash);

	var kategorie = hash.split(",");

 	$("#matrix").addClass('none');
 	
 	$("#ding")
		.empty()
 		.addClass('none');

 	$("#standards")
		.empty()
 		.addClass('none');

 	$("#kontakte")
		.empty()
 		.addClass('none');

	if ((kategorie[1] == "produkte" ||
			kategorie[1] 	== "projekte" ||
			kategorie[1] 	== "aktionen" ||
			kategorie[1] 	== "urheber") && 
			(kategorie[3] == "undefinded" || !kategorie[3]))
	{
	 	$("#matrix").removeClass('none');
	}

	if (kategorie[3])
	{
		$.ajax({
			type: "POST",
			url: "../tpl/ding.tpl.php",
			data: "kategorie1=" + kategorie[1] + "&kategorie2=" + kategorie[2] + "&kategorie3=" + kategorie[3] + "&sprache=" + $.cooperation.sprache,
			cache: false,
			async: false,
			success: function(transport){
				$('#ding').empty();
				$('#ding').html(transport);
  		 	$("#ding").removeClass('none');
			}
		});
		
		return false;
	}
/*
	if (kategorie[3])
	{
		$("#ding").load("../tpl/ding.tpl.php",
			{kategorie1: kategorie[1],
			 kategorie2: kategorie[2],
			 kategorie3: kategorie[3],
			 sprache: $.cooperation.sprache},
  		function() { 
  		 	$("#ding").removeClass('none');
  		}
		);
	}
*/

	if (kategorie[1] == "standard")
	{
		$("#standards").load("../tpl/standard.tpl.php",
			{standard: kategorie[2],
			 sprache: $.cooperation.sprache},
  		function() { 
  		 	$("#standards").removeClass('none');
  		}
		);
	}

	if (kategorie[1] == "kontakt")
	{
		$("#kontakte").load("../tpl/kontakt.tpl.php",
			{sprache: $.cooperation.sprache},
  		function() { 
  		 	$("#kontakte").removeClass('none');
  		}
		);
	}

	// entferne Klasse "selected" von allen li-Elementen erste Ebene
	$("ul#hauptnavigation li")
		.removeClass('selected')
		.css({background: "url(../bilder/gestaltung/matrix-hintergrund.png) no-repeat"});

	// setze Klasse "selected" zu geklicktem li-Element der ersten Ebene
	$("#" + kategorie[1])
		.addClass('selected')
		.css({background: "none"});

	// entferne Klasse "selected" von allen li-Elementen zweiter Ebene
	$("ul.unternavigation li")
		.removeClass('selected')
		.css({background: "url(../bilder/gestaltung/matrix-hintergrund.png) no-repeat"});

	// setze Klasse "selected" zu geklicktem li-Element der zweiten Ebene
	$("." + kategorie[2])
		.addClass('selected')
		.css({background: "none"});

	if (!kategorie[2])
		// setze Klasse "selected" an alle li-Elemente zweiter Ebene
		$("ul.unternavigation li")
			.addClass('selected')
			.css({background: "none"});

	// wenn kein Element der Unternavigation gewählt ist, aber eine Ding geklickt wurde, 
	// müssen alle Elemente der Unternavigation die Klasse "selected" bekommen, 
	// um sichtbar zu sein und somit die Auswählbarkeit zu signalisieren
 	if (kategorie[1] == "undefined")
 	{
		// entferne Klasse "selected" von allen li-Elementen zweiter Ebene
		$("ul#hauptnavigation li:not(#standard, #kontakt)")
			.addClass('selected')
			.css({background: "none"});
	}

 	if (kategorie[2] == "undefined")
 	{
		// entferne Klasse "selected" von allen li-Elementen zweiter Ebene
		$("ul.unternavigation li")
			.addClass('selected')
			.css({background: "none"});
	}

	$("ul.unternavigation").addClass('none');

	if (kategorie[1] == "urheber")
		$("ul.unternavigation.urheber").removeClass('none');

	if (kategorie[1] == "produkte")
		$("ul.unternavigation.produkte").removeClass('none');

	if (kategorie[1] == "standard")
		$("ul.unternavigation.standard").removeClass('none');

	$(".arbeiten").css({
		background: "none"
	});

	$(".arbeiten a").removeClass("gesperrt")

	// blende Schraffur bei allen nicht relevanten Nummern des Nummernblockes ein,
	// und setze Klasse "gesperrt", damit verhindert wird, dass diese Nummer
	// geklickt werden kann
	if (kategorie[1] != "undefined")
	{
		var kategorieArbeit = "." + kategorie[1];
		
		if (kategorie[2])
			kategorieArbeit = kategorie[2];

		$(".arbeiten:not(." + kategorieArbeit + ")").css({
			background: "url(../bilder/gestaltung/matrix-hintergrund.png) no-repeat"
		});

		$(".arbeiten:not(." + kategorieArbeit + ") a")
			.addClass("gesperrt");
	}

	// aktualisiere bei allen a-Elementen des Nummernblockes das href-Attribut
	$("#matrix div.arbeiten a").each(
    function(intIndex)
    {
	    var kat = "";
	
			if (kategorie[1])
				kat += "#cs," + kategorie[1];
			else
				kat += "#cs,undefined";

			if (kategorie[2])
				kat += "," + kategorie[2];
			else
				kat += ",undefined";
				
			if ($(this).attr('href'))
				var ding = $(this).attr("href").substring(strpos($(this).attr("href"), "0"));

       $(this).attr("href", kat + "," + ding);
     }
  );

	// zeige nur die nummern an, welche auf .00 enden (Stammnummern) und 
	// entweder Projekte oder Aktionen sind
	if ((kategorie[1] == "produkte" && kategorie[2] == "serien") ||
			kategorie[1] == "projekte")
	{
		$(".arbeiten").css({
			background: "url(../bilder/gestaltung/matrix-hintergrund.png) no-repeat"
		});

		// Klasse abhängig, in welcher 1. Kategorie man ist
		var thisHasClass = kategorie[2] == "serien"?kategorie[2]:kategorie[1];
	
		$("[id$=.00][class*=" + thisHasClass + "]").css({
			background: "none"
		});
	}

	if (hash == "undefined")
	{
		// setze Klasse "selected" zu geklicktem li-Element der ersten Ebene
		$("#produkte, #projekte, #aktionen, #urheber")
			.addClass('selected')
			.css({background: "none"});
	}
}

/*
 *	TrackDing()
 *	
 *	Google-Tracking des Ding-Klicks
 *	
 *	param hash
 *	
 */
function trackDing(hash) {
	var kategorie = hash.split(",");

	try {
		var dingTracker = _gat._getTracker("UA-7191133-4");
		dingTracker._trackPageview();
		dingTracker._trackEvent("Ding", "Klick", $.cooperation.sprache + "," + kategorie[1] + "," + kategorie[2] + "," + kategorie[3]);
	}	catch(err) {}
}


function UnCryptMailto(s) {
	var n = 0;
  var r = "";
  
  for (var i=0; i<s.length; i++)
  {
		n = s.charCodeAt(i);

    if (n >= 8364)
	    n = 128;

    r += String.fromCharCode(n-1);
  }

  return r;
}


function linkTo_UnCryptMailto(s) {
	location.href = UnCryptMailto(s);
}


function strpos(haystack, needle, offset) {
	// http://kevin.vanzonneveld.net
  // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  // +   improved by: Onno Marsman    
  // +   bugfixed by: Daniel Esteban
  // *     example 1: strpos('Kevin van Zonneveld', 'e', 5);
  // *     returns 1: 14
 
	var i = (haystack+'').indexOf(needle, (offset ? offset : 0));
  return i === -1 ? false : i;
}





