/** =====================================================
	Scriptsammlung Kästorf
	klartxt.de - Daniel Schmidt
	
	Funktionen:
	
	1. Usability - Anpassen von Schriftgröße und Kontrast über Schaltflächen
	2. ....
	3. ....
	
========================================================*/



/* ==== 1. Usabilty ==========================*/
/**
 * Cookie lesen
 * @param name Name des Cookie-Parameters
 * @returns Wert
 */
function getCookie(name) {
	name = name + "=";														// Cookie-Name definieren
	var cookieArray = document.cookie.split(';');							// Cookie in Array aufteilen
	for(var i=0;i < cookieArray.length;i++) {								// Array durchgehen
		var aktCookie = cookieArray[i];										// Aktuelles Cookie schreiben
		while (aktCookie.charAt(0) ==' ') 									// Leerzeichen entfernen
			aktCookie = aktCookie.substring(1,aktCookie.length);
				
		if (aktCookie.indexOf(name) == 0) 									// Richtiges Cookie finden  	
			return aktCookie.substring(name.length,aktCookie.length);		// Schriftgröße zurückgeben
	}
	return 0;			
}

/**
 * Cookie schreiben
 * @param name Name des Cookie-Parameters
 * @param wert Wert
 */
function setCookie(name,wert) {
	name = name + "=";														// Cookie-Name definieren
	document.cookie = name+wert+"; path=/";									// Cookie schreiben
}

/**
 * Lädt zweites Stylesheet mit erhöhten Kontrastwerten nach und wechselt die Funktion der Schaltfläche
 */
function highContrast() {
	$.get("fileadmin/templates_stephansstift/css/style_invertiert.css", function(css) {		// CSS nachladen
		$("head").append("<style>"+css+"</style>");											
		$("#kontrastbild").attr("src", "fileadmin/templates_stephansstift/images/contrast_back.gif");	// Bild wechseln
		$("#kontrastbild").attr("alt", "Weniger Kontraste");								// Attribute ändern
		$("#kontrastbild").attr("title", "Weniger Kontraste");
		$("#change_contrast").attr("id", "change_contrast_back");							// Schaltflächenfunktion ändern
		$("div>*,table,tr,td").not("img").css({"background-color":"#000","color":"#fff"});
		$("a.navactive").css({"color":"#000"});
	});
}

/* bugfixing ul abstand nach h1 ausschalten, durch p-attribute auf margin-top:-10px gesetzt */
function bugfix_ULtag() {
	if( $('div#content').find('h1').next().find('ul').size() == 1){
		$('div#content').find('h1').next().find('ul').css("margin","0");
	}
}


jQuery(document).ready(function(){

	// Wenn Kontrastansicht angeschaltet ist, passe diverse Farben an
	
	
	bugfix_ULtag();
	
	var defFont = 12;
	
	var contentarea = jQuery('div#content,div#content h2,a.navigation');					// Welche Content-Bereiche sollen verändert werden?
	var currentSize = contentarea.css('font-size');							// Aktuelle Schriftgröße aus CSS auslesen
	var unit = currentSize.slice(-2);										// Schriftgrößen-Einheit auslesen
	currentSize = parseFloat(currentSize);
	var cookieSize = getCookie("schrift");									// Cookie holen
	if(cookieSize != 0) {													// Cookie ist nicht leer
		var setting = parseFloat(cookieSize);									// Schriftgröße auslesen
		if(setting == 1) num = currentSize;
		else num = currentSize + setting * 2; 
		contentarea.css({"font-size": num + unit});							// Schriftgröße verändern
	} else {																// Cookie ist leer
		var setting = 1;													// Aktuelle Größe zwischenspeichern
	}
	
	if(getCookie("kontrast") != 0) {										// Existiert ein Cookie-Parameter mit Kontrastdaten
		var inv = parseFloat(getCookie("kontrast"));						// Hole das Cookie und wandle in einen Zahlenwert um
		if(inv == 1) {														// Wenn 1
			highContrast();													// Erhöhe den Kontrast
		}
	}
	
	jQuery("a.fchange").click(function() {									// Geklickt	
		if (this.id == 'linkLarge'){										// Größer-Button
			if(setting < 3)
				setting++;												// Schriftgröße erhöhen
		} else if (this.id == 'linkSmall') {								// Kleiner-Button
			if(setting > 1)
				setting--;											// Schriftgröße verkleinern
		} else if (this.id == 'change_contrast') {
			setCookie("kontrast", 1);
			highContrast();
		} else if (this.id == 'change_contrast_back') {
			setCookie("kontrast",0);
			$("body").removeClass("kontrast");
			location.reload();
		}
		if(setting == 1) num = defFont;
		else num = currentSize + setting * 2; 
		
		contentarea.css({"font-size": num + unit});				// Schriftgröße im DOM verändern
		setCookie("schrift", setting);											// Cookie mit neuer Größe setzen
   		return false;
	});
	
	
	/* // Plus Icons auf Lightbox Bildern
	var plus = '<div class="img_plus"></div>';
	$("a[rel*='light']").append(plus); */
	
	// Sidebar: Klickbare Bildunterschriften in den Sidebar-Contentboxen
	$('.sidebar-content-box dd.csc-textpic-caption').click(function() {
		var link = $(this).prev('dt').find('a').attr('href');
		window.location = link;
	});
});
