﻿

/**
 * jQuery in den Kompatibiltätsmodus versetzen.
 * Wichtig, da sonst Konflikte mit anderen JS-Libs
 * wie z.B. Prototype für die EXT:powermail.
 *
 * Die Variable muß vor jede jQery-Anweisung gesetzt werden.
 * Anstatt $(... ist $jQ(... zu notieren.
 * Quelle: http://www.typo3forum.net/forum/powermail/30411-jquery-powermail-rgslideshow-vertragen.html
 */
var $jQ = jQuery.noConflict();

$jQ(document).ready(function() {
	/**
	 * fontScaler (Schrift größer/ kleiner machen)
	 * Cookie-Lifetime in minutes: 60(minutes)*24(hours)*7(days) = 1 week from now!
	 */
	var strFontSizerHml = '';
	strFontSizerHml += '<h6 title="Durch Anklicken der [A]-Symbole wird die Schriftgröße geändert.">';
	strFontSizerHml += 'Schriftgröße<span class="inv">:</span>';
	strFontSizerHml += '</h6>';
	strFontSizerHml += '<div id="fontSizer"></div>';

	$jQ("#boxFontSizer").html(strFontSizerHml);

	$jQ("#fontSizer").fontScaler({
		target: '#header #topnav, #col1_content, #col2_content, #col3_content, #footer',
		containerclass: 'fontScaler',
		store: true,
		storetime: 60*24*7,
		fx: 'smooth',
		fxspeed: 50,
		fixed:{
			size1: '95',
			id1: 'fs_small',
			title1: 'Schriftgröße klein',
			size2: '100',
			id2: 'fs_normal',
			title2: 'Schriftgröße normal',
			size3: '125',
			id3: 'fs_large',
			title3: 'Schriftgröße groß'
		}
	});
	// Zustand beim Laden.
	if( $jQ.cookie("fontScalerFixed") == 1 ){
		$jQ("#fs_small").addClass("fs_selected");
		$jQ("#fs_normal").removeClass("fs_selected");
		$jQ("#fs_large").removeClass("fs_selected");
	}else if( $jQ.cookie("fontScalerFixed") == 3 ){
		$jQ("#fs_small").removeClass("fs_selected");
		$jQ("#fs_normal").removeClass("fs_selected");
		$jQ("#fs_large").addClass("fs_selected");
	}else{
		$jQ("#fs_small").removeClass("fs_selected");
		$jQ("#fs_normal").addClass("fs_selected");
		$jQ("#fs_large").removeClass("fs_selected");
	}
	// Zustand nach dem Anklicken.
	$jQ("#fs_small,#fs_normal,#fs_large").click(function () {
		if( $jQ.cookie("fontScalerFixed") == 1 ){
			$jQ("#fs_small").addClass("fs_selected");
			$jQ("#fs_normal").removeClass("fs_selected");
			$jQ("#fs_large").removeClass("fs_selected");
		}else if( $jQ.cookie("fontScalerFixed") == 2 ){
			$jQ("#fs_small").removeClass("fs_selected");
			$jQ("#fs_normal").addClass("fs_selected");
			$jQ("#fs_large").removeClass("fs_selected");
		}else if( $jQ.cookie("fontScalerFixed") == 3 ){
			$jQ("#fs_small").removeClass("fs_selected");
			$jQ("#fs_normal").removeClass("fs_selected");
			$jQ("#fs_large").addClass("fs_selected");
		}
		this.blur();
	});

	/**
	 * Einfügen eines Symbols für externe Links.
	 */
	$jQ("body").link_external_icon({
		icon_path:"fileadmin/system_eab-berlin.de/medias/icons/link-external.png"
	});

	/**
	 * Anstatt normale Popups hier die unobstruive jQuery-Variante.
	 */
		$jQ('A[rel="external Window"], A[target="_blank"]').click( function() {
		window.open( $jQ(this).attr('href') );
				return false;
		});
});



/**
 * Anstatt normale Popups hier die unobstruive jQuery-Variante.
 */
$jQ(document).ready( function() {
		$jQ('A[rel="external Window"]').click( function() {
				window.open( $jQ(this).attr('href') );
				return false;
		});
});




/**
	* Google Analytics
	* ================
	*/

// Seitenspezifische Werte:
var GA_ACCOUNT 			= 'UA-21263882-1';
var GA_PRIVACY_URL 		= '/?id=310';
var GA_URL_PATTERN_1	= 'webspaceconfig';
var GA_URL_PATTERN_2	= 'p100812';
var GA_PREPEND_TAG_ID	= '#boxGoogleAnalytics';
var GA_COOKIE_NAME		= 'logGoogleAnalytics';
var GA_COOKIE_EXPIRES	= 365;
var GA_OPTOUT_LABEL		= 'Anonyme Datenaufzeichnung';
var GA_OPTOUT_TITLE		= 'Was bedeutet diese Einstellung';
var GA_OPTOUT_HELP		= '[ Mehr Info ]';
var GA_ADMIN_LABEL 		= 'Redaktionsmodus: User-Tracking aus!';


/**
 * Ausgabe des GA-Staus in auf der Website:
 * Diesen HTML-Code in die Privacy Seite einfügen.

<p><br />Info: Ihr Besuch wird derzeit mit Google Analytics anonymisiert aufgezeichet:<b>
<script type="text/javascript">
if( $jQ.cookie(GA_COOKIE_NAME) == 'false' || $jQ.cookie(GA_COOKIE_NAME) == null ){
	document.write(' Nein.');
}else{
	document.write(' Ja.');
}
</script>
<noscript>
Nein.
</noscript>
</b></p>

 *
 */


$jQ(document).ready(function() {
	var strGALabel = ' <label>' + GA_OPTOUT_LABEL + ' <a href="' + GA_PRIVACY_URL + '" title="' + GA_OPTOUT_TITLE + '">' + GA_OPTOUT_HELP + '</a></label>';
	var strGADev = ' <lable style="color:red!important;">' + GA_ADMIN_LABEL + '</lable>';

	if (window.location.href.indexOf(GA_URL_PATTERN_1) > 0 ||
		window.location.href.indexOf('typo3server') > 0 ||
		window.location.href.indexOf(GA_URL_PATTERN_2) > 0 ||
		$jQ.cookie('be_typo_user') > ''
		) {
		var fAdminMode = true;	// Tracking: OFF.
	}else{
		var fAdminMode = false;	// Tracking: ON.
	}

	if( fAdminMode == true ){
		// Tracking: OFF!
		var strGACheckbox = '<input type="checkbox" id="gaOptOut" value="true" disabled="disabled" />';
		$jQ(GA_PREPEND_TAG_ID).prepend(strGACheckbox + strGADev);
	}else{
		// Tracking: ON!
		var strGACheckbox = '<input type="checkbox" id="gaOptOut" value="true" />';
		$jQ(GA_PREPEND_TAG_ID).prepend(strGACheckbox + strGALabel);
	}

	if( $jQ.cookie(GA_COOKIE_NAME) == 'false' || fAdminMode == true ){
		// Tracking: OFF!
		$jQ('#gaOptOut').removeAttr('checked');
		$jQ.cookie(GA_COOKIE_NAME, false, {expires:GA_COOKIE_EXPIRES});
	}else{
		// Tracking: ON.
		$jQ('#gaOptOut').attr('checked','checked');
		$jQ.cookie(GA_COOKIE_NAME, true, {expires:GA_COOKIE_EXPIRES});
	}

	// Auswertung der OptIn/OptOut-Checkbox.
	$jQ('#gaOptOut').click( function() {
		$jQ.cookie(GA_COOKIE_NAME, $jQ(this).attr('checked'), {expires:GA_COOKIE_EXPIRES});
	});
});


// Google-Analytics aktivieren/deaktivieren.
// Original-Code von Google.
// =========================================
if( $jQ.cookie(GA_COOKIE_NAME) == 'true' ) {
	var _gaq = _gaq || [];
	_gaq.push(['_setAccount', GA_ACCOUNT]);
	_gaq.push(['_gat._anonymizeIp']);
	_gaq.push(['_trackPageview']);

	(function(){
		var ga = document.createElement('script');
		ga.type = 'text/javascript';
		ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0];
		s.parentNode.insertBefore(ga, s);
	})();
}
// ============================


/**
 * Bisheriger Teil des JS-Funkionen
 * ________________________________
 */








// JavaScript Document

function fnOpenNewWindow(oLink) {
	oWin = window.open(oLink.href);
	if( oWin ){
		oWin.focus();
		return false;
	} else {
		return true;
	}
}


var g_setupOk = false;
function setup(){
	if( g_setupOk == false ){
		setupPictureShow();
		// alert(g_setupOk);
	}
	return true;
}


function trim(s) {
	while (s.substring(0,1) == ' ') {
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' ') {
		s = s.substring(0,s.length-1);
	}
	return s;
}

/*
	Markiert ein Feld wenn es den Focus hat.
	*/
function markInput(formElement, status) {
	var MARK_ON  = "#F9F3A8";
	var MARK_OFF = "#FFFFFF";
	var MARK_ERR = "#FF6347";

	if( status == 1 ){
		formElement.style.backgroundColor = MARK_ON;
	} else if( status == 0 ){
		formElement.style.backgroundColor = MARK_OFF;
	} else if( status == -1 ){
		formElement.style.backgroundColor = MARK_ERR;
	}
}


/*
	MAKZ Pictureshow
	----------------
	Funktion für Extension: 	makz_pictureshow
	Aufruf in Designtemplate: 	makz_pictureshow.html
	*/
var g_lastSlideID = 0; // ID des zuletzt gewählten Bildes. Default = 0 per setupPictureShow().


function setupPictureShow(){
	var key = '';
	if( document.getElementById ){								// DOM-Browser?
		for( i=0; i<100; i++ ){
			key = 'pictureshowPic'+i;
			//alert(key);
			if( document.getElementById(key) ){					// Vorhanden?
				//alert(key);
				g_lastSlideID = key;
				g_setupOk = true;
				return;
			}
		}
	}
}
/*
	Parameter:
		linkID	= ID des <a>-Elements;
		picID	= ID des aktuellen Bildes;
		picSrc	= Url des aktuellen Bildes;
		textID	= ID des HTML-Elementes, in dem der Bildtext ausgegeben wird;
		picTitle= Title des Bildes und
		picDescr= Bildbeschreibung.

	Hinweis: Title und Beschreibung wurden per 'urlencode' kodiert, um in den Parametern des
	JS-Aufrufes untergebracht werden zu können. 'htmlspecialchars' funktioniert NICHT(!), da
	z.B. '&quot;' als '"' interpretiert wird, was dann Fehler verursacht.
	*/
function showPictureshow(linkID, picID, picSrc, textID){
	if( document.getElementById ){								// DOM-Browser?

		// Bilderrahmen mit dem angeforderten Bild als Hintergrund versehen.
		document.getElementById(picID).style.backgroundImage = "url(" + picSrc + ")";

		if( g_lastSlideID != '' ){								// Keine Bild-Id übergeben?
			document.getElementById(g_lastSlideID).className = 'isDefault';
		}
		g_lastSlideID = linkID;									// Aktuelle Bild-Id merken.
		document.getElementById(linkID).className = "isActive";	// Klasse des <a>-Elements ändern.
		document.getElementById(linkID).blur()					// Focus von Link entfernen (Nur Optik!).

		if( document.getElementById('makz_pictureshow_picture_zoom') ){
			document.getElementById('makz_pictureshow_picture_zoom').href = picSrc;
		}
		return false;
	}
	return true;
}
function showSinglePicture(picUrl, winWidth, winHeight){

	// CaricaFoto(picUrl);
	// return false;

	var windowParameters = new Array();
	windowParameters["width"] 		= winWidth;
	windowParameters["height"]		= winHeight;
	windowParameters["menubar"]		= "no";
	windowParameters["toolbar"]		= "no";
	windowParameters["location"]	= "no";
	windowParameters["scrollbars"]	= "no";
	windowParameters["dependent"]	= "yes";	// Eltern-Kind Handling Close Popup on Close Parent (NC, FF)
	windowParameters["resizable"]	= "yes";		// Wenn "resizable=yes" status weglassen.
	windowParameters["status"]		= "no";

	var allParameters = "";
	for (var arrKeys in windowParameters){
		allParameters += arrKeys + "=" + windowParameters[arrKeys] + ",";
	}
	// var oWindow = window.open( "typo3conf/ext/makz_pictureshow/res/showSinglePicture.php?picSrc="+picUrl, "Pictureshow", allParameters );

	picUrl = picUrl.replace(/preview/,"showcase");	// Ersetzt den Preview-Pfad durch den Showcase-Pfad (Großes statt kleines Bild!).

	var oWindow = window.open( picUrl, "Pictureshow", allParameters );
	if( oWindow ){
		oWindow.focus();
		//oWindow.focus(); // Twice for IE.
		return false;
	} else {
		return true;
	}
}




function CaricaFoto(img){
foto1= new Image();

img = img.replace(/preview/,"showcase");

foto1.src=(img);
Controlla(img);
}
function Controlla(img){
if((foto1.width!=0)&&(foto1.height!=0)){
viewFoto(img);
}
else{
funzione="Controlla('"+img+"')";
intervallo=setTimeout(funzione,20);
}
}
function viewFoto(img){
largh=foto1.width+20;
altez=foto1.height+20;
stringa="width="+largh+",height="+altez;
finestra=window.open(img,"",stringa);
}

