/*
==================================================
Executing JavaScript on page load 060528 (Simon Willison)
==================================================
-> http://simonwillison.net/2004/May/26/addLoadEvent/

Hiermit können beliebig viele Funktionen beim "window.onload" aufgerufen werden
ohne dass ein vorher definiertes window.onload überschrieben wird.

- addLoadEvent einfach als erste Funktion einbinden
- Funktionen per addLoadEvent(Funktionsname) dem "window.onload" hinzufügen
  anstatt direkt per window.onload=Funktionsname;
*/

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    };
  }
}



/*
==================================================
@ Zurückübersetzen 090417 (Wolfgang)
==================================================

Wenn zwecks Spamschutz im Html ein alternativer String für @ eingesetzt wird,
kann dieses Script den String wieder zurückübersetzen - so bleiben Bots ohne
js weiterhin ausgesperrt, 95% der Besucher sehen aber die echte E-Mail-Adresse

- der Ersatzstring sollte in einem del mit Klasse "schutz" liegen. 
Das ist semantisch ziemlich korrekt und das Script muss nicht lange suchen
- das del sollte per css "text-decoration:none;" bekommen, sonst wird es durchgestrichen dargestellt
- Alle del.schutz werden durch @ überschrieben, sie sollten also für nichts anderes verwendet werden
*/

function ersetzeAt() {
	var dels = document.getElementsByTagName("del");
	for (var i=0; i<dels.length; i++) {
		if (dels[i].className === "schutz") {
			dels[i].firstChild.data = "@";
			}
		}
	}
	
addLoadEvent(ersetzeAt);



/*
==================================================
Inhalte verbergen und aufklappen 090528 (Wolfgang)
==================================================

Im Prinzip ähnlich der bekannten FAQ-Funktionalität. Ein div.aufklappen wird erstmal eingeklappt;
Außerdem wird in das Elternelement ein Link zum Öffnen eingesetzt.
Per Klick wird dann das div.aufklappen auf seine ganze Höhe ausgefahren und der Link verwandelt sich 
in einen "Schließen"-Link.
Hier wird der div beim Einklappen nur auf einen Maximalhöhe gebracht. Diese wird im css festgelegt.
- Die Maximalhöhe wird über den parent des div berechnet. Wenn dieser größer ist als der div allein, 
muss das in dem "maxHoeheOffset" angegeben werden.
*/

var btnAufklappen = "Aufklappen";
var btnEinklappen = "Einklappen";
var btnAufklappen = "<img src='fileadmin/templates/bilder/lupe.gif'>";
var btnEinklappen = "<img src='fileadmin/templates/bilder/lupe.gif'>";
var maxHoehe;
var maxHoeheOffset = 0; // wieviel höher ist der parent-container als die Max-Höhe des aufklapp-div?
	
function htmlResetten(div) {
	var container = div.parentNode;
    if (div.nextSibling) {
		var naechster = div.nextSibling;
		container.removeChild(div);
		container.insertBefore(div, naechster);
		}
	else {
		container.removeChild(div);
		container.appendChild(div);
		}
	}

function aufklappen(div){
	div.className="aufgeklappt";
	htmlResetten(div);
	}
	
function einklappen(div){
	div.className="eingeklappt";
	htmlResetten(div);
	}
function hoeheTesten(div){
	einklappen(div);
	maxHoehe = div.parentNode.scrollHeight - maxHoeheOffset;
	aufklappen(div);
	}
	
function createAufklappenHTML(div){	
	var inDies = div.getElementsByTagName("h2")[0].nextSibling;
	
	var auf = document.createElement("a");
	auf.innerHTML=btnAufklappen;
	auf.onclick = function() {
		aufklappen(this.parentNode.parentNode);
		return false;
		};
	auf.href = "#";
	auf.className="btn-aufklappen";
	auf.title="Weitere Informationen aufklappen";
	inDies.appendChild(auf);
	
	var zu = document.createElement("a");
	zu.innerHTML=btnEinklappen;
	zu.onclick = function() {
		einklappen(this.parentNode.parentNode);
		return false;
		};
	zu.href = "#";
	zu.className="btn-einklappen";
	zu.title="Weitere Informationen einklappen";
	inDies.appendChild(zu);	
	}
	
function prepareAufklappen(){
	var divs = document.getElementsByTagName("div");
	var getestet = false;
	for (var i=0; i < divs.length; i++){
		if (divs[i].className==="aufgeklappt"){
			if (!getestet){
				hoeheTesten(divs[i]);
				getestet = true;
				}
			if (divs[i].scrollHeight > maxHoehe){
				createAufklappenHTML(divs[i]);
				einklappen(divs[i]);
				}
			}
		}		
	
	}
	
addLoadEvent(prepareAufklappen);



/*function openInWindow(href){
	window.open(href,"Zweitfenster", "width=800,height=600,status=no,scrollbars=no,resizable=no");	
	//return false;
	}*/
/*
function prepareJsWindowLink(){
	var links = document.getElementById("content").getElementsByTagName("ul")[0].getElementsByTagName("a");	
	for (var i=0; i<links.length; i++){
		if (links[i].href.slice(0,7)==="http://"){
			var test = links[i].href;
			links[i].onClick = function() { return openInWindow(this.href);};
			}
		}	
	}

addLoadEvent(prepareJsWindowLink);*/


// HTML5 Video-Anpassung
function supports_video() {
  return !!document.createElement('video').canPlayType;
}

function supports_h264_baseline_video() {
  if (!supports_video()) { return false; }
  var v = document.createElement("video");
  return v.canPlayType('video/mp4;');
}

function checkFlashReturn(e) {
	if(!e.success) {
		var mp4Support  = supports_h264_baseline_video(),
			sourceIsMp4 = jQuery('#video video source').is('[src $= mp4], [src $= m4v]');
		
		if (mp4Support == '' || !sourceIsMp4) {
			jQuery('video').remove();
		} else {
			jQuery('#video').each(function(){ 
				//jQuery(this).before(jQuery(this).parent().find('object'));
				jQuery(this).find('object').remove();
			});
		}	

	} else {
		jQuery('video').remove();
	}
}

function checkFlash(e) {
	jQuery('body').append('<div id="flashtmp" style="display:none"></div>');
	swfobject.embedSWF("fileadmin/templates/flash/flash_detect.swf", "flashtmp", "300", "120", "8.0.0", false, null, null, null, checkFlashReturn);
	jQuery('#flashtmp').remove();	
}

jQuery(document).ready(function(){
	checkFlash();
	

	if(jQuery('.hdapp').length != 0) {
		if((navigator.userAgent.match(/iPhone/i))) {
			var newHref = "http://www.hdapp.de";
			jQuery('.hdapp').attr('href',newHref).attr('rel','');
		} else {
			// --
		}
	}
	
	jQuery('.hdapp').click(function(){
		jQuery('#sbImage').addClass('app');
	});
	
	jQuery('div.app').live('click',function(){
		window.location.href = 'http://www.hdapp.de';
	});	
	
});

