// source --> /_interactivist/global.js 
﻿// Disallow-Framing (alle Seiten, die nicht in eigenem iframe geladen werden, laden sich selbst ins Top-Fenster)
// if (typeof jQuery != 'undefined') {
//  alert("jQuery ist geladen! jQuery-Version: " + jQuery.fn.jquery);
// } else {
//  alert("jQuery ist NICHT geladen! ");
// }


//*******************
//Variable Funktionen
//*******************

window.onload = function() {
	// nur wenn geframet
	if (self != top) {

		(function (win, doc) {
			
			var awesomeIframe = {};
		
			// get requestAnimationFrameObject - see: https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
			awesomeIframe.requestAnimFrame = (function(){
				var lastTime = 0;
					
				return  win.requestAnimationFrame ||
		
						// polyfill with setTimeout fallback for IE8/9
						// heavily inspired from @darius gist mod: https://gist.github.com/paulirish/1579671#comment-837945
						function(callback) {
		
							var now = +new Date(), nextTime = Math.max(lastTime + 16, now);
							return setTimeout(function() {
								callback(lastTime = nextTime);
							}, nextTime - now);
						};
			})();    
	
			awesomeIframe.windowHeight = 0;
			awesomeIframe.htmlElement = doc.getElementsByTagName('html')[0];
		
			// Domains to send post messages to - '*' for wildcard domains
			awesomeIframe.targetDomain = '*';
		
			awesomeIframe.resizeFrame = function (){
		
				var windowHeight = doc.body ? Math.max(doc.body.offsetHeight, awesomeIframe.htmlElement.offsetHeight) : awesomeIframe.htmlElement.offsetHeight ;
				if ( awesomeIframe.windowHeight === windowHeight ) {
					awesomeIframe.requestAnimFrame.call(win, awesomeIframe.resizeFrame);
					return false;
				}
		
				awesomeIframe.windowHeight = windowHeight;
	
				try {
					// manipulate style of the iframe-element the page is embedded in - see: https://developer.mozilla.org/en-US/docs/Web/API/Window/frameElement
					win.frameElement.style.height = windowHeight + 'px';
				}
	
				catch ( e ) {
					// Same Origin iFrame
					// Cross Origin iFrame
					// post message to parent iframe - see https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
					win.parent.postMessage('resize:' + windowHeight , awesomeIframe.targetDomain);
				}
		
				awesomeIframe.requestAnimFrame.call(win, awesomeIframe.resizeFrame);
			};
		
			awesomeIframe.requestAnimFrame.call(win, awesomeIframe.resizeFrame);
		
		})(window, document, undefined);

		// User-Agent-String auslesen
		var UserAgent = navigator.userAgent.toLowerCase();
		// User-Agent auf gewisse Schlüsselwörter prüfen
		if (UserAgent.search(/(iphone|ipod|opera mini|fennec|palm|blackberry|android|symbian|series60)/) > -1) {
			slideHeight = window.outerHeight -250; // mobiles Endgerät
		}
		else {
			slideHeight = window.outerHeight -125; // kein mobiles Endgerät (PC, Tablet, etc.)
		}
		// alle Slider-BackgroundBilder auf fixe Höhe setzen
		var element = document.getElementsByClassName("background-image"); 
		for (var i=0; i < element.length; ++i) {
			element.item(i).style.maxHeight = slideHeight + "px"
		}
		// Slider-Container auf fixe Höhe setzen
		var element = document.getElementById('sliders-container');
		element.style.maxHeight = slideHeight + "px"

		// alle Links und Buttons: target=top erzwingen = framebreaker!
		jQuery('a, form').each(function() {
			this.target = '_top';
		});

	}
};