// Set variable to detect if guidepost is visible or not
guidePostVisible = false;

function over_lvl1(element) {
	var link = document.getElementById(element);

	if (link.childNodes.length > 0) {
		for(var i = 0; i < link.childNodes.length; i++) {
			if (link.childNodes[i].className == "menu-1") {
				link.childNodes[i].className += " over";
			}
		}
	}
}

function over_lvl2(element) {
	if (element.childNodes.length > 0) {
		for(var i = 0; i < element.childNodes.length; i++) {
			if (element.childNodes[i].className == "menu-2") {
				element.childNodes[i].className += " over";
			}
		}
	}
}

function out_lvl1(element) {
	var link = document.getElementById(element);

	if (link.childNodes.length > 0) {
		for(var i = 0; i < link.childNodes.length; i++) {
			if (link.childNodes[i].className == "menu-1 over") {
				link.childNodes[i].className = "menu-1";
			}
		}
	}
}

function out_lvl2(element) {
	if (element.childNodes.length > 0) {
		for(var i = 0; i < element.childNodes.length; i++) {
			if (element.childNodes[i].className == "menu-2 over") {
				element.childNodes[i].className = "menu-2";
			}
		}
	}
}

// Function for community registration form
function selectNewsletterType() {
	var button1 = document.getElementById("tx-srfeuserregister-pi1-newsletter_selection_1");
	var button2 = document.getElementById("tx-srfeuserregister-pi1-newsletter_selection_2");

	if (button1.disabled) {
		button1.disabled = false;
		button1.checked = true;
	} else {
		button1.disabled = true;
		button1.checked = false;
	}

	if (button2.disabled) {
		button2.disabled = false;
		button2.checked = false;
	} else {
		button2.disabled = true;
		button2.checked = false;
	}
}

/***
 *
 * Function for displaying or hiding a certain element
 *
 ***/
function changeDisplay(elementId) {
	if (document.getElementById(elementId).style.display == "block") {
		document.getElementById(elementId).style.display = "none";
		if (elementId == 'guidepost') {
			guidePostVisible = false;
		}
	} else {
		document.getElementById(elementId).style.display = "block";
		if (elementId == 'guidepost') {
			guidePostVisible = true;
		}
	}

	return false;
}

/***
 *
 * Function for displaying or hiding a certain element in adminstration for master portraits
 * Check if there are more than 3 main categories selected
 *
 ***/
function changeDisplayMasterPortraitMainCategory(formId, callingElement, idOfElementToChange) {
	var form = document.getElementById(formId);
	var checkedMainCategories = 0;
	for (var i = 0; i < form.elements.length; i++) {
		if (form.elements[i].type == 'checkbox') {
			if (form.elements[i].name.match(/category\[\d+\]$/)) {
				if(form.elements[i].checked == true) {
					checkedMainCategories++;
				}
			}
		}
	}

	if (checkedMainCategories > 3) {
		alert("Bitte max. 3 Kategorien und jeweils max. 3 Unterkategorien auswählen");
		callingElement.checked = false;
	} else {
		if (idOfElementToChange != "") {
			// If the parent checkbox gets unchecked uncheck all sub checkboxes too
			if (document.getElementById(idOfElementToChange).style.display == "block") {
				for (var j = 0; j < document.getElementById(idOfElementToChange).childNodes.length; j++) {
					if (document.getElementById(idOfElementToChange).childNodes[j].type == "checkbox") {
						document.getElementById(idOfElementToChange).childNodes[j].checked = false;
					}
				}
			}
			changeDisplay(idOfElementToChange);
		}
	}
}

/***
 *
 * Function for displaying or hiding a certain element in adminstration for master portraits
 * Check if there are more than 3 main sub-categories selected
 *
 ***/
function changeDisplayMasterPortraitSubCategory(formId, callingElement, idOfParentCategory) {
	var form = document.getElementById(formId);
	var checkedSubCategories = 0;
	var regex = new RegExp("category\\[" +idOfParentCategory+ "\]\\[\\d+\\]$");
	for (var i = 0; i < form.elements.length; i++) {
		if (form.elements[i].type == 'checkbox') {
			if (form.elements[i].name.match(regex)) {
				if(form.elements[i].checked == true) {
					checkedSubCategories++;
				}
			}
		}
	}

	if (checkedSubCategories > 3) {
		alert("Bitte max. 3 Kategorien und jeweils max. 3 Unterkategorien auswählen");
		callingElement.checked = false;
	}
}

function hideElement(elementId) {
	document.getElementById(elementId).style.display = "none";
	return false;
}

function changeTab(id2Display, id2Hide1, id2Hide2, id2Hide3, id2Hide4) {

	var tab2Display = document.getElementById("tab-link-"+id2Display);
	var text2Display = document.getElementById("tab-text-"+id2Display);

	tab2Display.className = "tab-active";
	text2Display.className = "text-active";

	if (id2Hide1 != "") {
		var tab2Hide1 = document.getElementById("tab-link-"+id2Hide1);
		var text2Hide1 = document.getElementById("tab-text-"+id2Hide1);

		tab2Hide1.className = "tab-inactive";
		text2Hide1.className = "text-inactive";
	}

	if (id2Hide2 != "") {
		var tab2Hide2 = document.getElementById("tab-link-"+id2Hide2);
		var text2Hide2 = document.getElementById("tab-text-"+id2Hide2);

		tab2Hide2.className = "tab-inactive";
		text2Hide2.className = "text-inactive";
	}

	if (id2Hide3 != "") {
		var tab2Hide3 = document.getElementById("tab-link-"+id2Hide3);
		var text2Hide3 = document.getElementById("tab-text-"+id2Hide3);

		tab2Hide3.className = "tab-inactive";
		text2Hide3.className = "text-inactive";
	}

	if (id2Hide4 != "") {
		var tab2Hide4 = document.getElementById("tab-link-"+id2Hide4);
		var text2Hide4 = document.getElementById("tab-text-"+id2Hide4);

		tab2Hide4.className = "tab-inactive";
		text2Hide4.className = "text-inactive";
	}

	return false;
}

function changeProgrammTab(id2Display, id2Hide1, tabActive, tabInactive) {

	var tab2Display = document.getElementById(id2Display);
	var tab2Hide = document.getElementById(id2Hide1);
	var tab2SetActive = document.getElementById(tabActive);
	var tab2SetInactive = document.getElementById(tabInactive);

	tab2Display.style.display = "block";
	tab2Hide.style.display = "none";

	tab2SetActive.className = "active";
	tab2SetInactive.className = "inactive";

	return false;
}

function showBookmarks() {
	if (document.getElementById('bookmarks').style.display == "block") {
		document.getElementById('bookmarks').style.display = "none";
	} else {
		document.getElementById('bookmarks').style.display = "block";
	}

	return false;
}

function changeFontSize() {
	var content = document.getElementById("news-detail");

	if (content.style.fontSize == "12px") {
		content.style.fontSize = "10px";
	} else {
		content.style.fontSize = "12px";
	}
}

/***
 *
 * Validate the reigstration form on berufsberatung/anmeldung/
 *
 ***/
function validateRegistrationForm(formId) {
	var registrationForm = document.getElementById(formId);
	var checked = false;

	for (var i = 0; i < registrationForm.length; i++) {
		if (registrationForm.elements[i].type == "checkbox") {
			if (registrationForm.elements[i].checked == true) {
				checked = true;
				break;
			}
		}
	}

	if (checked == true) {
		if (validateForm('mailform','Name,Vorname%3A,Nachname,Nachname,Adresse,Adresse%3A,PLZ,PLZ%3A,Ort,Ort%3A,EMail,E-Mail%3A','','Bitte %FCberpr%FCfen Sie Ihre Eingabe. Folgende Felder sind fehlerhaft:','Die E-Mail-Adresse ist ung%FCltig.')) {
			registrationForm.submit();
		} else
		{
			return false;
		}
	} else {
		alert(unescape("Bitte w%E4hlen Sie ein Produkt aus."));

		return false;
	}
}


/***
 *
 * Function for hiding the guidepost if user clicks outside the element
 *
 ***/
function hideGuidePost(element) {
	if(element) {
		if (element.target && guidePostVisible == true) {
			which = element.target;

			if (which) {
				if (which.id != 'guidepost-link' && which.id != 'guidepost-image') {
					var insideGuidePost = false;
					var clickedElement = which;

					for (var i = 0; i < 10; i++) {
						if (clickedElement.parentNode) {
							if (clickedElement.parentNode.id == 'guidepost') {
								insideGuidePost = true;
								break;
							} else {
								clickedElement = clickedElement.parentNode;
							}
						} else {
							break;
						}
					}

					if (insideGuidePost == false) {
						hideElement('guidepost');
						guidePostVisible = false;
					}
				}
			}
		}
	} else if(window.event) {
		if (window.event.srcElement && guidePostVisible == true) {
			which = window.event.srcElement;

			if (which) {
				if (which.id != 'guidepost-link' && which.id != 'guidepost-image') {
					var insideGuidePost = false;
					var clickedElement = which;

					for (var i = 0; i < 10; i++) {
						if (clickedElement.parentNode) {
							if (clickedElement.parentNode.id == 'guidepost') {
								insideGuidePost = true;
								break;
							} else {
								clickedElement = clickedElement.parentNode;
							}
						} else {
							// For IE6
							if (clickedElement.parentElement) {
								if (clickedElement.parentElement.id == 'guidepost') {
									insideGuidePost = true;
									break;
								} else {
									clickedElement = clickedElement.parentElement;
								}
							} else {
								break;
							}
						}
					}

					if (insideGuidePost == false) {
						hideElement('guidepost');
						guidePostVisible = false;
					}
				}
			}
		}
	}
}

function hideAjaxSearchPanel() {
	document.getElementById('mw_mnogosearch_bridge_placeholder').innerHTML = "";
	hideElement('mw_mnogosearch_bridge_placeholder');

	if (document.getElementById('mw_mnogosearch_bridge_placeholder_main')) {
		document.getElementById('mw_mnogosearch_bridge_placeholder_main').innerHTML = "";
		hideElement('mw_mnogosearch_bridge_placeholder_main');
	}
}

function hideElements(element) {
	hideGuidePost(element);
	// hideAjaxSearchPanel(element);
}

document.onmousedown = hideElements;

/***
 *
 * Function for displaying the selection of subcategories if user selects a main category
 * Related to mastermap search
 *
 ***/
function enableSubCategory(element, numberOfSubcategorySelects) {
	// At first hide all elements that may be visible
	for (var i = 0; i < numberOfSubcategorySelects; i++) {
		document.getElementById('tx_mwesportraitview_pi11[category-' +(i+1)+']').style.display = 'none';
		document.getElementById('tx_mwesportraitview_pi11[category-' +element.options[element.selectedIndex].value+']').name = 'noname';
	}
	// Display the selected subcategories
	document.getElementById('tx_mwesportraitview_pi11[category-' +element.options[element.selectedIndex].value+']').style.display = 'inline';
	document.getElementById('tx_mwesportraitview_pi11[category-' +element.options[element.selectedIndex].value+']').name = 'tx_mwesportraitview_pi11[category]';
}

function ox_populateZone(zoneID) {
	var m3_u = (location.protocol=='https:'?'https://www.einstieg.com/ox/delivery/ajs.php':'http://www.einstieg.com/ox/delivery/ajs.php');
	var m3_r = Math.floor(Math.random()*99999999999);
	if (!document.MAX_used) document.MAX_used = ',';
	document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
	document.write ("?zoneid="+zoneID);
	document.write ('&amp;cb=' + m3_r);
	if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
	document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
	document.write ("&amp;loc=" + escape(window.location));
	if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
	if (document.context) document.write ("&context=" + escape(document.context));
	if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
	document.write ("'><\/scr"+"ipt>");
}

function enableFederalstate(callingElement, elementToChange) {

	if (callingElement.options[callingElement.selectedIndex].value == 276) {
		document.getElementById(elementToChange).disabled = false;
	} else {
		document.getElementById(elementToChange).options.selectedIndex = 0;
		document.getElementById(elementToChange).disabled = true;
	}

}