function showElement(target) {
	document.getElementById('img-'+target).style.display = 'block';
	document.getElementById('span-'+target+'-hide').style.display = 'block';
	document.getElementById('span-'+target+'-show').style.display = 'none';

	setLink(target, 1);
}

function hideElement(target) {
	document.getElementById('img-'+target).style.display = 'none';
	document.getElementById('span-'+target+'-hide').style.display = 'none';
	document.getElementById('span-'+target+'-show').style.display = 'block';

	setLink(target, 0);
}

function showAll() {
	document.getElementById('images-all').style.display   = 'block';
	document.getElementById('img-expose').style.display   = 'none';

	document.getElementById('img-img').style.display      = 'none';
	document.getElementById('images').style.display       = 'none';
	document.getElementById('images-small').style.display = 'none';

	document.getElementById('img-imgall').style.display       = 'block';
	document.getElementById('span-imgall-hide').style.display = 'block';
	document.getElementById('span-imgall-show').style.display = 'none';

	setLink('all', 1);
}

function hideAll() {
	document.getElementById('images-all').style.display   = 'none';
	document.getElementById('img-expose').style.display   = 'block';

	document.getElementById('img-img').style.display      = 'block';
	document.getElementById('images').style.display       = 'block';
	document.getElementById('images-small').style.display = 'block';

	document.getElementById('span-expose-hide').style.display = 'block';
	document.getElementById('span-img-hide').style.display    = 'block';

	document.getElementById('span-expose-show').style.display = 'none';
	document.getElementById('span-img-show').style.display    = 'none';

	setLink('all', 0);
}

function setLink(target, type) {
	var rel = document.getElementById('link-print').rel;

	if (rel != "") {
		var imgAll = rel.substr(0, 1);
		var imgPart = rel.substr(1, 1);
		var imgExpose = rel.substr(2, 1);

		switch (target) {
			case 'expose':
				var pdfId = imgAll+imgPart+type;
			break;
			case 'img':
				var pdfId = imgAll+type+imgExpose;
			break;
			case 'imgall':
				var pdfId = type+imgPart+imgExpose;
			break;
			case 'all':
				if (type == 1) {
					var pdfId = type+'00';
				}
				else {
					var pdfId = type+'11';
				}
			break;
		}

		document.getElementById('link-print').rel = pdfId

		var linkOld = document.getElementById('link-print').href;
		var linkNew = linkOld.replace(/pdf\d+/, 'pdf'+pdfId);

		document.getElementById('link-print').href  = linkNew;
		document.getElementById('link-print2').href = linkNew;
	}
}

function printPdf() {
	var rel = document.getElementById('link-print').rel;

	if (rel != "") {
		var linkPdf = document.getElementById('link-print').href;

		newTarget = '';

		// request ausfuehren

		initRequest();

		httpRequest.onreadystatechange = doIt;
		httpRequest.open('GET', linkPdf);
		httpRequest.send(null);
	}
}

function initEvents() {
	if (document.getElementById('images-all') != null) {
		document.getElementById('images-all').style.display = 'none';
	}

	document.getElementById('link-expose-show').onclick = function() { showElement('expose'); }
	document.getElementById('link-expose-hide').onclick = function() { hideElement('expose'); }

	document.getElementById('link-img-show').onclick = function() { showElement('img'); }
	document.getElementById('link-img-hide').onclick = function() { hideElement('img'); }

	document.getElementById('link-all-show').onclick = function() { showAll(); }
	document.getElementById('link-all-hide').onclick = function() { hideAll(); }

	document.getElementById('link-imgall-show').onclick = function() { showElement('imgall'); }
	document.getElementById('link-imgall-hide').onclick = function() { hideElement('imgall'); }

	document.getElementById('link-print').onclick  = function() { printPdf(); }
	document.getElementById('link-print2').onclick = function() { printPdf(); }
}

function doIt() {
	if (httpRequest.readyState == 1) {
		if (document.getElementById('loading-icon-en') != null) {
			document.getElementById("loading-icon-en").style.display = 'block';
		}

		if (document.getElementById('loading-icon-de') != null) {
			document.getElementById("loading-icon-de").style.display = 'block';
		}

		if (document.getElementById('loading-icon-es') != null) {
			document.getElementById("loading-icon-es").style.display = 'block';
		}

		document.getElementById("loading-bg").style.display = 'block';
	}

	if (httpRequest.readyState == 4 && httpRequest.status == 200) {
		if (document.getElementById('loading-icon-en') != null) {
			document.getElementById("loading-icon-en").style.display = 'none';
		}

		if (document.getElementById('loading-icon-de') != null) {
			document.getElementById("loading-icon-de").style.display = 'none';
		}

		if (document.getElementById('loading-icon-es') != null) {
			document.getElementById("loading-icon-es").style.display = 'none';
		}

		document.getElementById("loading-bg").style.display = 'none';

		var value = httpRequest.responseText;

		if (newTarget != "") {
			document.getElementById(newTarget).innerHTML = value;
		}
	}
}

function closeRequest(lang) {
	if (httpRequest) {
		httpRequest.abort();

		document.getElementById("loading-icon-"+lang).style.display = 'none';
		document.getElementById("loading-bg").style.display         = 'none';
	}
}

function initRequest() {
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		httpRequest = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) { // IE
		httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
}

window.onload = initEvents;
