//========================================== Search functions =========================================

function switch_suchbereich(fb)
{
	//if(!fb)return true;
	
	fb = fb[0];
	var optElements = Array("option", "optgroup");
	var j = 0;
	
	while(optElement = optElements[j++])
	{
		var opts = document.getElementsByTagName(optElement);
		var opt, i = 0;
		while(opt = opts[i++])
		{
			if(opt.id.search(/_opt/) != -1)
			{
				if((opt.id[0] != fb) && (fb)){
					opt.style.display = "none";
				}else{
					opt.style.display = "block";
				}
			}
		}
	}
}


//========================================== Menu functions ===========================================
var swapped;

	function swapmenu(id)
	{
		if(swapped){
			swapped.style.backgroundColor = "#FFFFFF";
		}
		if(id){
			swapped = document.getElementById(id);
			swapped.style.backgroundColor = "#EEEEEE";
		}
	}

//=====================================================================================================

var fieldname = new Array();
fieldname['username'] = "Kunden-Name";
fieldname['kennwort'] = "Kennwort";

function submit_form(index)
{
	document.forms[index].submit();
}

function openWin(page, id1, id2, file_ext, width, height)
{
	win = window.open(
		"/"+page+","+id1+","+id2+file_ext+"?standalone",
		"win",
		"width="+width+", height="+height+" scrolling=yes, scrollbars=yes, resize=yes, resizeable=yes, left=100"
	);
}

function openhelp(helpPage)
{
	help = window.open("/help,"+helpPage+".htm?standalone", "help", "width=300, resizable=yes, left=100, height=500, scrollbars=yes");
}

function reloadOpenerAndClose()
{
	window.opener.location.reload();
	window.close();
}

function open_agb_window()
{
	agbs = window.open("/public_content/agb.php?standalone=yes", "agbs", "width=650, scrolling=yes, scrollbars=yes, resize=yes, resizeable=yes, left=100");
}

function disable_element(disableCondition, elementId)
{
	document.getElementById('id_'+elementId).disabled = disableCondition;
}

function validate_fields(_fields)
{
	var fields = _fields.split(',');
	var i = 0;
	var errmsg = '';
	
	while(field = fields[i])
	{
		i++;
		field = 'id_'+field;

		// Kontroll-Messages
			//alert(field);
			//alert(document.getElementById(field).value);
		if(document.getElementById(field).type == 'checkbox'){
			var value = document.getElementById(field).checked;
		}else{
			var value = document.getElementById(field).value;
		}

		if(!value)
		{
			if(field == 'id_agb_accept')
				alert('Bitte akzeptieren Sie die Allgemeinen Geschäftsbedingungen.');
			else if(field == 'id_kategorie')
				alert('Bitte wählen Sie einen Bereich aus.');
			else
				alert('Bitte füllen Sie die mit fetter Beschriftung markierten Felder aus.');
			return false;
		}
	}
	return true;
	}

	function validate_pass(elem1, elem2, minLength, forbiddenChars)
	{
	//[forbiddenChars noch nicht implementiert]
	if(document.getElementById("id_"+elem1).value.length < minLength) // > (to disable html syntax highlighting in PHPEdit)
	{
		alert("Das Kennwort muss mindestens " + minLength + " Zeichen lang sein.");
		return false;
	}

	if(document.getElementById("id_"+elem1).value != document.getElementById("id_"+elem2).value)
	{
		alert("Ihre Kennwiederholung stimmt nicht mit dem Kennwort überein.");
		return false;
	}
	}

	function validate_imgstr(_field)
	{
	var imgstr = document.getElementById(_field).value;
	var ext = imgstr.substr(imgstr.length-3).toUpperCase();
	if(imgstr && (ext != "GIF" && ext != "JPG"))
	{
		alert("Laden Sie bitte nur GIF- oder JPG-Dateien als Bilder hoch.\n(Sie können ein Bild auch nachträglich noch hinzufügen)");
		return false;
	}
	return true;
	}

	function check_chars(_fields)
	{
		var fields = _fields.split(",");
		var i = 0;
		var errmsg = "";
		
		while(field = fields[i])
		{
			i++;
			var value = document.getElementById("id_"+field).value;
			
			if(!value.match(/^[a-zA-Z0-9_-]+$/))
			{
				alert("Im Feld '"+fieldname[field]+"' dürfen keine Sonderzeichen oder Umlaute verwendet werden.");
				return false;
			}
		}
		return true;
	}

	function setSprechzeitenVals()
	{
		var i = 0;
		var von, bis;
		var selects = document.getElementsByTagName('select');
		while(selects[i++])
		{
			if(selects[i].name.search(/sprechstunden/) != -1)
			{
				//alert(i + ": " + selects[i] + "\n" + selects[i].name);
				if(von && bis)
				{
					selects[i++].value = von;
					selects[i].value = bis;
				}else
				{
					von = selects[i++].value;
					bis = selects[i].value;
				}
			}
		}
	}
	
	function setSprechzeitenNone(index)
	{
		var selects = document.getElementsByTagName('select');
		var i = 0;
		
		while(selects[i])
		{
			if(selects[i].name == "sprechstunden["+(index-1)+"]")
			{
				var next = ((index%2)?i+1:i-1);
				if(selects[i].selectedIndex == 0)
				{
					selects[next].selectedIndex = 0;
					break;
				}
				if(selects[next].selectedIndex == 0)
				{
					selects[next].selectedIndex = 1;
					break;
				}
			}
			i++;
		}
	}

	function goToKundenPage(value, page)
	{
		// alert(value);
		window.location.href = "/"+page+","+value+".htm";
	}
		
//======================================== Teaser functions ===========================================
		
		var stopscrolling;

		function startscroll()
		{
			stopscrolling = 0;
			var teaser = document.getElementById('teaser');
			teaser.style.top = '100px';
			scroll('teaser', document.getElementById('teasercount').value);
		}

		function scroll(elementID, counter)
		{
			if(!counter){
				setTimeout('startscroll()', 1000);
				return false;
			}

			if(!stopscrolling)
			{
				var element = document.getElementById(elementID);
				var elementTop = parseInt(element.style.top);
				element.style.top = (elementTop - 1)+'px';
			}
			
			setTimeout('scroll(\''+elementID+'\', '+(--counter)+')', 80);
		}
		
//************************* Praxisschwerpunkte **********************************//
	
	function selectSchwerpunkt(sourceList, targetList)
	{
		var sList = document.getElementById(sourceList);
		
		var Eintrag = document.createElement("option");
		Eintrag.text = sList.options[sList.selectedIndex].label;
		Eintrag.value = sList.options[sList.selectedIndex].value;
		
		document.getElementById(targetList).add(Eintrag, null);
	}
	
	function deselectSchwerpunkt(sourceList, targetList)
	{
		var sList = document.getElementById(sourceList);
		sList.remove(sList.options[sList.selectedIndex]);
	}
	
	function submitPraxisschwerpunkte(listElementToSubmit, formToSubmit)
	{
		var sList = document.getElementById(listElementToSubmit);
		sList.multiple = true;
		for(i = 0; i < sList.options.length; i++){
			sList.options[i].selected = true;
		}
		document.forms[formToSubmit].submit();
		return true;
	}

	function openPopupSelectList(page, id)
	{
		help = window.open("/"+page+".htm?standalone&aId="+id, "Auswahlliste",
			"width=360, resizable=yes, left=100, height=500, scrollbars=yes");
		return false;
	}
	
