Skip to content
Snippets Groups Projects
Forked from dmj / selbstzeugnisse-hab
9 commits ahead of the upstream repository.
proprietary.js 4.56 KiB
function toggle(control){
	var elem = document.getElementById(control);
	
	if(elem.style.display == "none"){
		elem.style.display = "block";
		minus(control);
	}else{
		elem.style.display = "none";
		plus(control);
	}
}

function minus(control) {
    document.getElementById("link" + control).innerHTML = "Reduzieren";
}
function plus(control) {
    document.getElementById("link" + control).innerHTML = "Mehr";
}

// Umschalten zwischen bibliographierten Daten und Transkription

function switchToOriginal() {
	var x = document.getElementsByClassName("titleBib");
	var y = document.getElementsByClassName("titleCat");
	var a = document.getElementsByClassName("authorList");
	var p = document.getElementsByClassName("published");
	var v = document.getElementsByClassName("volumes");
	var c = document.getElementsByClassName("titleOriginal-single");
	var countA = a.length;
	for (i = 0; i < countA; i++) {
		a[i].style.display='none';
	}
	var countP = p.length;
	for (i = 0; i < countP; i++) {
		p[i].style.display='none';
	}
	var countV = v.length;
	for (i = 0; i < countV; i++) {
		v[i].style.display='none';
	}		
	var count = x.length;
	for (i = 0; i < count; i++) {
		x[i].style.display='none';
		y[i].style.display='inline';
	}
	var countC = c.length;
	for (i = 0; i < countC; i++) {
		c[i].style.display='none';
	}			
	z = document.getElementById("switchLink");
	z.innerHTML = "<a href='javascript:switchToBibl()'>Bibliographierte Daten anzeigen</a>";
}

function switchToBibl() {
	var x = document.getElementsByClassName("titleBib");
	var y = document.getElementsByClassName("titleCat");
	var a = document.getElementsByClassName("authorList");
	var p = document.getElementsByClassName("published");
	var v = document.getElementsByClassName("volumes");
	var c = document.getElementsByClassName("titleOriginal-single");
	var countA = a.length;
	for (i = 0; i < countA; i++) {
		a[i].style.display='inline';
	}
	var countP = p.length;
	for (i = 0; i < countP; i++) {
		p[i].style.display='inline';
	}
	var countV = v.length;
	for (i = 0; i < countV; i++) {
		v[i].style.display='inline';
	}		
	var count = x.length;
	for (i = 0; i < count; i++) {
		y[i].style.display='none';
		x[i].style.display='inline';
	}
	var countC = c.length;
	for (i = 0; i < countC; i++) {
		c[i].style.display='inline';
	}			
	z = document.getElementById("switchLink");
	z.innerHTML = "<a href='javascript:switchToOriginal()'>Anzeige in Vorlageform</a>";
}


/* 
Die folgende Funktion scrollt die Seite beim Ansteuern interner Sprungmarken um die Breite der 
Navigationsleiste nach oben. Das funktioniert in folgendem Fall noch nicht: Die Leiste ist breiter als
Standard (52 px) und man kommt vom Anfang derselben Seite.
*/

function scrollNav(x) {
	var shiftWindow = function() { scrollBy(0, x) };
	if (location.hash) { 
		shiftWindow();
		if(x < -52) {
			var y = x + 52;
			var shiftWindowMore = function() { scrollBy(0, y) };
			shiftWindowMore();
		}
	}
	window.addEventListener("hashchange", shiftWindow);
}

// So lautete die Funktion ursprünglich
/* function scrollNav(x) {
		var shiftWindow = function() { scrollBy(0, x) };
		if (location.hash) shiftWindow();
		window.addEventListener("hashchange", shiftWindow);
	} */

function getNavBarHeight() {
	var x = document.getElementsByTagName('nav')[0].offsetHeight;
	return(-x);
}

/* For generating and updating word clouds by jQCloud */

function makeWordCloud(cloudList) {
	cloudList = JSON.parse(cloudList);
	var settings = {  width: 800,  height: 500 };
	$(document).ready(
		function() {
			$("#wordcloud").jQCloud(cloudList, settings);
		}
	);
}

function updateWordCloud(cloudList) {
	makeFirstButtonInactive();
	cloudList = JSON.parse(cloudList);
	var settings = {  width: 800,  height: 500 };
	$(document).ready(
		function() {
			$("#wordcloud").jQCloud('update', cloudList, settings);
		}
	);
}
function makeFirstButtonInactive() {
	var x = document.getElementsByClassName('btn btn-default active');
	for (i = 0; i < x.length; i++) {
		x[i].className = 'btn btn-default';
	}
}

/* For updating doughnut charts generated by Chart.js */

function replaceChart(newData) {
	makeFirstButtonInactive();
	myNewChart.destroy();
	data = JSON.parse(newData);
	updateCount(countMarked(data));
	myNewChart = new Chart(ctx).Doughnut(data, optionsDoughnut);
	legend = myNewChart.generateLegend();
	document.getElementById('chart-legend').innerHTML = legend;
}

function updateCount(number) {
	span = document.getElementById('overallNumber');
	span.innerHTML = '<br />Auszeichnungen: ' + number;
}

function countMarked(data) {
	var count = 0;
	for (i = 0; i < data.length; i++) {
		count += data[i]["value"];
	}
	return(count);
}