/* $(document).ready(function(){             // Start mit jQuery, ist schneller als mit onload
prepareAutoLinkbuttons();
onclickAutoLinkbuttons(); 
layoutSpielereien();

 });
 */
addLoadEvent(findSlicebutton);   		// für IE8 dem Slicebutton Funktion geben.
addLoadEvent(prepareForms);				// Überprüfung auf notwendige Angaben in Formularen
addLoadEvent(prepareAutoLinkbuttons)	// Unter geeigneten Artikeln Buttons für Linklisten einblenden
addLoadEvent(onclickAutoLinkbuttons)	
addLoadEvent(layoutcookie);      		// Testen, ob Breit-Cookie gesetzt ist
addLoadEvent(layoutSpielereien);		// Schaltflächen für JS-Funktionen einblenden
//addLoadEvent(testknopf);						//ggf. Testknopf einblenden



// Alle mit "title" versehnenen Links aus einem Artikel unter dem Artikel auflisten mit title als Linktext. 
function displayLinks(button_node) {							//html: 
	var knopfid = button_node.getAttribute("id")				//<div id="autoreferenz"><h4><a id=$knopfid>Links</a></h4><ol></ol></div>
	var postnummer = knopfid.split("-")[1];
	var postid = "post-"+postnummer;
	var autoreferenzid = "autolinks-"+postid;
	var artikel =  document.getElementById(postid);
	var referenzcontainer = document.getElementById(autoreferenzid); 
	var link_ol = referenzcontainer.getElementsByTagName("ol")[0];
	var linkarr = linkTest(postid);
	var referenzcontainer_klasse = linkarr[2]					//theoretischer Klassennahme unabhängig von Einblendung
	var knopf_text_pre = linkarr[1]; 
	var einblenden_textnode = document.createTextNode(knopf_text_pre + " aus diesem Blogeintrag");
	//if(knopf_text_pre == "Weiteren Link"){ 
	//	var knopf_text_pre_aus = "Weiterer Link"
	//}else{
		var knopf_text_pre_aus = knopf_text_pre
	//}
	var ausblenden_textnode = document.createTextNode(knopf_text_pre_aus + " aus diesem Blogeintrag");
	var exist_textnode = document.getElementById(knopfid).lastChild;  			//Textnode im a
	
	var schliesslink = getAllElementsByClass('schliesslink', referenzcontainer);
	schliesslink[0].onclick = function() { displayLinks(document.getElementById(knopfid)); return false;}
	
	if (referenzcontainer.className.indexOf("eingeblendet") != -1) {				 // Link-ol ist sichtbar
		$("div#"+autoreferenzid+" ol li").removeClass("visible");
		$("div#"+autoreferenzid+" ol").hide("normal");							//mit jQuery ausblenden (display:none)
		button_node.replaceChild(einblenden_textnode,exist_textnode);  			// Buttontext auf einblenden ändern
		referenzcontainer.className = referenzcontainer_klasse + " ausgeblendet";
		return true;
	}else{
		$("div#"+autoreferenzid+" ol").show("normal", function (){$("div#"+autoreferenzid+" ol li").addClass("visible"); referenzcontainer.className = referenzcontainer_klasse + " eingeblendet"; });						
		button_node.replaceChild(ausblenden_textnode,exist_textnode);  			// Buttontext auf ausblenden ändern
		//referenzcontainer.className = referenzcontainer_klasse + " eingeblendet";
		return true;
	}	
}	

function linkTest(postid) {
	var artikelbody = getAllElementsByClass('storyBody',document.getElementById(postid));
	var linkstotal = artikelbody[0].getElementsByTagName("a");
	if (linkstotal.length < 1) return false;		// gar keine Links im Beitrag
	var links = new Array();
	var l = 0
	for (var k=0; k < linkstotal.length; k++) {
	if (!linkstotal[k].getAttribute("title")) continue;
	if (linkstotal[k].getElementsByTagName("img").length != 0) {   	// Bildlink
		if(linkstotal[k].className.match(/thickbox/)){continue}		// Thickbox-Link, nicht auflisten
	}
	if (linkstotal[k].className == "schliesslink") continue;
	var linktext = linkstotal[k].getAttribute("title")
	var linkurl = linkstotal[k].getAttribute("href")
	links[linkurl] = linktext;
	l++
	}
	if (l < 1) return false;
	if (l == 1) {
		var einzellink = true;
	}else{
		var einzellink = false;
	}
	var refcheck = getAllElementsByClass('referenzen',document.getElementById(postid));
	if (refcheck.length < 1){
		var alleine = true; 
		var klassen = "autoreferenz";
	}else{
		var alleine = false; 
		var klassen ="autoreferenz unterreferenz"
	}	
	if (einzellink == true && alleine == true) var knopf_text_pre = "Link";
	if (einzellink == false && alleine == true) var knopf_text_pre = "Links"; 
	if (einzellink == true && alleine == false) var knopf_text_pre = "Link"; //"Weiteren Link"; 
	if (einzellink == false && alleine == false) var knopf_text_pre = "Links";  //"Weitere Links"; 
	var ergebnis = new Array()
	ergebnis[0] = links;      			// Das Assoziative Arry mit Linkadressen und Titeln
	ergebnis[1] = knopf_text_pre;		// Der Linktext-Anfang
	ergebnis[2] = klassen				// Der Klassenname für den Autolinkcontainer
	return ergebnis
}


function prepareAutoLinkbuttons(){
	if (!document.createElement || !document.createTextNode || !document.getElementById || !document.getElementsByTagName) return false;
	var posts = getAllElementsByClass('post',document.getElementById("content"));
	for (var i=0; i<posts.length; i++){
		var postid = posts[i].getAttribute("id");
		var postnummer = postid.split("-")[1];
		if (postnummer >= 272 || postnummer == 240) {   
			var artikelbody = getAllElementsByClass('storyBody', document.getElementById(postid)); 

			if (!linkTest(postid)) continue  // keine linkwürdigen Links im Beitrag
			var linkarr = linkTest(postid);
			var knopf_text_pre = linkarr[1]; 
			var klassen = linkarr[2]; 
			var knopf = document.createElement("a");
			var knopfid = "autolinks-"+postnummer;
			knopf.setAttribute("id",knopfid);
			knopf.className = "autolinkslink";
			knopf.setAttribute("href","/ein-kleines-javascript-problem/");
			var h4 = document.createElement("h4");
			var knopf_text = document.createTextNode(knopf_text_pre += " aus diesem Blogeintrag");
			knopf.appendChild(knopf_text)
			h4.appendChild(knopf)
			var autoreferenzid = "autolinks-"+postid;
			var referenzcontainer = document.createElement("div");
			referenzcontainer.setAttribute("id",autoreferenzid);
			referenzcontainer.className = klassen + " ausgeblendet";
			referenzcontainer.appendChild(h4);	// Jetzt ist der Einblendenlink fertig: <div id="autoreferenz"><h4><a id=$knopfid>Links</a></h4><ol></ol></div>
			
			var links = linkarr[0]				//Array mit Linkadressen und Titeln
			var link_ol = document.createElement("ol");
			for (linkurl in links) {
				var linktext = links[linkurl];
				var link_li = document.createElement("li");
				var link_a = document.createElement("a");
				var link_text = document.createTextNode(linktext);
				link_a.appendChild(link_text);
				link_a.setAttribute("href",linkurl)
				link_li.appendChild(link_a);
				link_ol.appendChild(link_li);
			}
			// link_ol.setAttribute("style","display: none")
			referenzcontainer.appendChild(link_ol);		// ol angehängt, aber per display unsichtbar.
			
			var schliesslink = document.createElement("a");
			schliesslink.className = "schliesslink"
			schliesslink.setAttribute("href","/ein-kleines-javascript-problem/");
			if (links.length == 1) {
				schliesslink.setAttribute("title","Link ausblenden");
			}else{
			schliesslink.setAttribute("title","Links ausblenden");
			}
			var schliesskreuz = document.createTextNode("x");
			schliesslink.appendChild(schliesskreuz);
			referenzcontainer.insertBefore(schliesslink,referenzcontainer.firstChild);
			artikelbody[0].appendChild(referenzcontainer)
		}
	}
}

function onclickAutoLinkbuttons(){
	var buttons = getAllElementsByClass('autolinkslink',document.getElementById("content"));
	for (i=0; i < buttons.length; i++){
	buttons[i].onclick = function() { displayLinks(this); return false;}
	}
}

	
// Testknopf einbinden, führt testscript() aus.
function testknopf(){  
	var testknopfli = document.createElement("li");
	var testknopf = document.createElement("input");
	testknopf.setAttribute("id","testknopf");
	testknopf.setAttribute("type","submit");
	testknopf.setAttribute("tabindex","81");
	testknopf.setAttribute("value","Testknopf");
	testknopf.onclick = function() {testscript()};
	testknopfli.appendChild(testknopf);
	document.getElementById("styleconfig").getElementsByTagName("ul")[0].appendChild(testknopfli);
	}

	
// Schaltflächen für JS-Funktionen einblenden
	function layoutSpielereien() {   
	if (!document.createElement || !document.createTextNode) return false;
	var styleconfig = document.createElement("li");
	styleconfig.setAttribute("id","styleconfig");
	styleconfig.className = "navirubrik"
	
	var header = document.createElement("h2");
	var header_text = document.createTextNode("Layoutspielereien (experimentell)");
	header.appendChild(header_text)
	styleconfig.appendChild(header);
	
	var schalterliste = document.createElement("ul");
	
	var breitknopfli = document.createElement("li");
	var breitknopf = document.createElement("input");
	breitknopf.setAttribute("id","breitknopf");
	breitknopf.setAttribute("type","submit");
	breitknopf.setAttribute("tabindex","80");
	breitknopf.setAttribute("value","Mach mich breit");
	breitknopf.onclick = function() {machBreit()};
	breitknopfli.appendChild(breitknopf);
	schalterliste.appendChild(breitknopfli);
	
	styleconfig.appendChild(schalterliste);
	var reaktionen = document.getElementById("reaktionen")
	reaktionen.parentNode.insertBefore(styleconfig,reaktionen);
	}
