function htmlentities(str,typ) {
	// string htmlentities ( string str , [int typ] )
	//Mit dem optionalen Parameter typ steuern Sie - wie in der originalen PHP-Funktion - die Maskierung von einfachen und doppelten Anführungszeichen. Dabei sind folgende Werte definiert:
	//0 = Keine Anführungszeichen umwandeln
	//1 = Nur einfache Anführungszeichen umwandeln
	//2 = Nur doppelte Anführungszeichen umwandeln (Standardeinstellung)
	//3 = Beide Arten (einfache und doppelte Anführungszeichen) umwandeln 
	//
	if(typeof str=="undefined") str="";
	if(typeof typ!="number") typ=2;
	typ=Math.max(0,Math.min(3,parseInt(typ)));
	var html=new Array();
	html[38]="&amp;"; html[60]="&lt;"; html[62]="&gt;";
	if(typ==1 || typ==3) html[39]="&#039;";
	if(typ==2 || typ==3) html[34]="&quot;";
	for(var i in html) eval("str=str.replace(/"+String.fromCharCode(i)+"/g,\""+html[i]+"\");");
	var entity=new Array(
	"&nbsp;","&iexcl;","&cent;","&pound;","&curren;","&yen;","&brvbar;","&sect;",
	"&uml;","&copy;","&ordf;","&laquo;","&not;","&shy;","&reg;","&macr;",
	"&deg;","&plusmn;","&sup2;","&sup3;","&acute;","&micro;","&para;","&middot;",
	"&cedil;","&sup1;","&ordm;","&raquo;","&frac14;","&frac12;","&frac34;","&iquest;",
	"&Agrave;","&Aacute;","&Acirc;","&Atilde;","&Auml;","&Aring;","&AElig;","&Ccedil;",
	"&Egrave;","&Eacute;","&Ecirc;","&Euml;","&Igrave;","&Iacute;","&Icirc;","&Iuml;",
	"&ETH;","&Ntilde;","&Ograve;","&Oacute;","&Ocirc;","&Otilde;","&Ouml;","&times;",
	"&Oslash;","&Ugrave;","&Uacute;","&Ucirc;","&Uuml;","&Yacute;","&THORN;","&szlig;",
	"&agrave;","&aacute;","&acirc;","&atilde;","&auml;","&aring;","&aelig;","&ccedil;",
	"&egrave;","&eacute;","&ecirc;","&euml;","&igrave;","&iacute;","&icirc;","&iuml;",
	"&eth;","&ntilde;","&ograve;","&oacute;","&ocirc;","&otilde;","&ouml;","&divide;",
	"&oslash;","&ugrave;","&uacute;","&ucirc;","&uuml;","&yacute;","&thorn;","&yuml;"
	);
	for(var i in entity) eval("str=str.replace(/"+String.fromCharCode(i*1+160)+"/g,\""+entity[i]+"\");");
	return str;
	}

function umleitung(view) {
	//var ie = navigator.appName.indexOf('Microsoft') != -1;
	//var m = ie ? parent.linkerframe.links : parent.linkerframe.document.embed[0];
	//m.SetVariable(\"_root.uebersicht.abteilungsVerzeichnis\", verzeichnis); 
	//m.TGotoFrame(\"/uebersicht\",9);
	window.location.href="index.php?view=" + view;
}

function showCharsLeftInTextarea(charCounterID, textareaID) {
	// charCounterID: is a textfield
	// textareaID: is a textarea
	/* simple html-code-example
	<form method="post">
	<fieldset>
	<label for="charsleft">Zeichen:</label>
	<input type="text" value="10" id="charsleft" name="charsleft" disabled="disabled" readonly="readonly" size="3" maxlength="20" /><br />
	<label for="message">Nachricht:</label><br />
	<textarea cols="33" rows="3" maxlength="10" id="message" name="message" onchange="showCharsLeftInTextarea('charsleft', 'message')" onkeyup="showCharsLeftInTextarea('charsleft', 'message')">
	</textarea>
	</fieldset>
	</form>
	*/
  charfield = document.getElementById(charCounterID);
  
  messagefield = document.getElementById(textareaID);
  maxlength = messagefield.getAttribute('maxlength');
  charfield.value = (maxlength - messagefield.value.length);
}

function getInnerContentPageId(actElement){
	var parent = actElement.parentNode;
	if (parent == null) return false;
	else if (
		parent.id == 'innerPageContent1' ||
		parent.id == 'innerPageContent2' ||
		parent.id == 'innerPageContent3')
		return parent.id;
	else return getInnerContentPageId(parent);
}

function checkMandatoryInputsByFormId(formId, toNo, fromNo){
	removeChilds('errorList');
	hideItem('error');
	var to = 'innerPageContent' + toNo;
	var from = 'innerPageContent' + fromNo;
	var mandatories = new Array();
	
	if (toNo == 'send' || toNo > fromNo){
		a = document.getElementById(formId).elements;
		for(i=0; i<a.length; i++){
			var element = document.getElementById(formId).elements[i];
			var elementsInnerPageContentId = getInnerContentPageId(element);
			if (elementsInnerPageContentId == from){
				var labels=document.getElementsByTagName('label');
				for( u=0; u<labels.length; u++ ){
					if(labels[u].htmlFor==element.id){
						var text = labels[u].innerHTML;
						var ergebnis = text.search(/\*/);
						if (ergebnis != -1){
							switch (element.type){
								case 'checkbox':
									if (! element.checked){
										element.style.border = '1px solid red';
										mandatories.push(element.id);
									} else {
										element.style.border = '0px solid white';
									}
									break;
								case 'radio':
									if (! element.checked){
										element.style.border = '1px solid red';
										mandatories.push(element.id);
									} else {
										element.style.border = '0px solid white';
									}
									break;
								case 'text':
									if (element.value == ''){
										element.style.border = '1px solid red';
										mandatories.push(element.id);
									} else {
										element.style.border = '0px solid white';
									}
									break;
								case 'select-one':
									if (	element.options[element.selectedIndex].innerHTML == ''
										|| element.options[element.selectedIndex].innerHTML == 'Select your country'
										){
										element.parentNode.style.border = '1px solid red';
										mandatories.push(element.id);
									} else {
										element.parentNode.style.border = '0px solid white';
									}
									break;
								default:
									mandatories.push(element.id);
									break;
							}
						}
					}
				}
			}
		}
	}
	if (mandatories.length == 0 && toNo != 'send'){
		document.getElementById(to).style.display = 'block';
		document.getElementById(from).style.display = 'none';
	} else if (mandatories.length == 0 && toNo == 'send') {
		document.getElementById(formId).submit();
	} else {
		appendError('We need information about: ' + mandatories.join(', '));
	}
}

