<!--

/******************************************************************

	ausgelagerte JavaScript-Datei
	
	erstellt
	von:            Thomas Huttenlocher
	im:             April 2008
	für:            www.roBerge.de

******************************************************************/


/** Javascript-Fehlermeldungen unterdrücken, falls wirklich welche auftreten sollten ;-) **/

	onerror = stopError;
	
	function stopError() {
		return true;
	}


/** Sicherheitsabfrage beim Verlassen der Site **/
	function confirmation() {
		return "Any string value here forces a dialog box to \n" + 
		"appear before closing the window.";
	}
//	window.onbeforeunload = confirmation;

	
/** DIV / LAYERS ein- bzw. ausblenden **/

	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}
	
	function MM_showHideLayers() { //v6.0
	  var i,p,v,obj,args=MM_showHideLayers.arguments;
	  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
		if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
		obj.visibility=v; }
	}

	function MM_reloadPage(init) {  //Updated by PVII. Reloads the window if Nav4 resized
	  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
		document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
	  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
	}
	MM_reloadPage(true);
	
	
	function hideimportMenu() {
		setTimeout("MM_showHideLayers('importMenu','','hide')", 1000);
	}
	
	function CheckBox(feld,image0,image1) {
		if(document.formular[feld].value == '1') {
			document.formular[feld].value = '0';
			document.images[feld+'F'].src = 'icons/people/'+image0;
		}
		else {
			document.formular[feld].value = '1';
			document.images[feld+'F'].src = 'icons/people/'+image1;
		}
	}
	
	function loginPeople(seite) {
		var zugang = window.prompt("Zugang für die Personendatenbank","");
		top.location.href = seite+"&passPeople="+zugang;
	}
	
	function go2opener(ziel) {
		window.opener.location.href = ziel;
		window.self.close();
	}
	
	function changeImageFS(pfad,bild) {
		if(document.va_daten[pfad].value != '' && document.va_daten[pfad].value != 'fotos/')
		{
			bilddatei = '../'+document.va_daten[pfad].value;
			document.images[bild].src = bilddatei;		
		}
		else {
			// do nothing
		}
	}
	
	function imageNotFound(feld,bild) {
		if(document.va_daten[feld].focus != true) {
			fehler = 'Unter dieser Pfadangabe wurde keine Datei gefunden!!!\n\nEingabe bitte nochmals überprüfen.';
			document.images[bild].src = 'icons/fileerror.gif';
			alert(fehler);
			document.va_daten[feld].focus();
		}
	}
	
	
/** Luftbild-Link in der Hütten-Bearbeitung kopieren und freigeben **/

	function acceptURL(quelle,ziel) {

		if(document.formular['wert['+quelle+']'].value != "") {		
			url_entry									= document.formular['wert['+quelle+']'].value;
			document.formular['wert['+ziel+']'].value 	= url_entry;
			document.formular['wert['+quelle+']'].value = '';
			document.formular[quelle].style.visibility	= 'hidden'; 
			document.formular['wert['+ziel+']'].focus();
		}
	}
	
/** HINWEIS ausgeben: Tourenbeschreibung an den Admin übergeben **/
	function hinweisTBcomplete() {
	
		msg  = "Der Datensatz wird abgeschlossen und\n";
		msg += "zur weiteren Bearbeitung an den Admin\n";
		msg += "übergeben. Sie haben dann kein Zugriff\n";
		msg += "mehr auf diese Daten.\n\n";
		msg += "Wollen Sie fortfahren?\n\n";
	
		confirmed = confirm(msg);
		
		if (confirmed == false)
			return false;
		else
			return true;
	}
	
/** HINWEIS ausgeben: Tourenbeschreibung in Haupttabelle übertragen **/
	function hinweisTBrelease() {
	
		msg  = "Der Datensatz wird in die Tourentabelle\n";
		msg += "übertragen . Ein Zugriff (Ändern/Ergänzen)\n";
		msg += "über diese Oberfläche ist dann nicht\n";
		msg += "mehr möglich.\n\n";
		msg += "Wollen Sie fortfahren?\n\n";
	
		confirmed = confirm(msg);
		
		if (confirmed == false)
			return false;
		else
			return true;
	}
	
/** CSS-Style ändern **/
	function changeStyle(feld,wert) {
		document.formular[feld].className = wert;
	}

/** ADMIN: kleines Testscript **/
	function testElemente() {
			
		countfields = document['formular'].elements.length;
		
		alert(countfields);
	
		var checkObj;
		for(var i = 1; i < countfields; i++)
		{
			
			if(document['formular'].elements[i].value == "")
			{
				document['formular'].elements[i].style.border = "2px solid red";
			}
		}
	}


/** setzt HTML-Tags vor und nach einem markierten Text  **/
	function insert(aTag, eTag) {
		
		var countelements = document['formular'].elements.length;
	
		// für Internet Explorer [*** tested with IE 7 ***]
		if (typeof document.selection != 'undefined') {		
		
			var range 					= document.selection.createRange();
			var insText					= range.text;
			var leerzeichen				= '';
					
			if(insText)	{
				
				if(insText.substring(insText.length-1) == ' ') {
					
					// Leerzeichen am Ende des markierten Textes entfernen
					insText = insText.substring(0, insText.length-1);
					
					// Leerzeichen definieren, um es später wieder einzufügen
					leerzeichen = ' '; 
				}
				
				range.text = aTag + insText + eTag + leerzeichen;
			}		
			insText.select();
			
		}
		
		// für Gecko-Browser [*** tested with FF 2.0.0.x ***]		
		for(var i = 1; i < countelements; i++) {
			
			if(document['formular'].elements[i].value !== "") {	
			
				var input = document['formular'].elements[i];	
			  
				// für neuere auf Gecko basierende Browser
				if (typeof input.selectionStart != 'undefined') {
				
					var start 				= input.selectionStart;
					var end 				= input.selectionEnd;
					var insText 			= input.value.substring(start, end);
									
					var pos;
					var leerzeichen			= '';
					
					if(insText.length !== 0) {				
						
						if(insText.substring(insText.length-1) == ' ') {
							
							// Leerzeichen am Ende des markierten Textes entfernen
							insText = insText.substring(0, insText.length-1);
							
							// Leerzeichen definieren, um es später wieder einzufügen
							leerzeichen = ' '; 
						}
						
						// Einfügen des Formatierungscodes
						input.value 		= input.value.substr(0, start) + aTag + insText + eTag + leerzeichen + input.value.substr(end);
										
						// Markierung wieder setzen				
						if (input.setSelectionRange) {
							input.focus();
							input.setSelectionRange(start, end + aTag.length + eTag.length - leerzeichen.length);
						}
						else if (input.createTextRange) {
							var range = input.createTextRange();
							range.collapse(true);
							range.moveEnd('character', end);
							range.moveStart('character', start);
							range.select();
						}
						
					}			
				}			
			}
		}
		
	}				// Ende function

/** alles was markiert ist muss weg **/
	function clearSelection(feld) {
	
		var sel;
		if(document.formular[feld].selection && document.formular[feld].selection.empty){
			document.formular[feld].selection.empty() ;
		}
	/*	else if(document.formular[feld].getSelection) {
			
			sel = document.formular[feld].getSelection();
			
			if(sel && sel.removeAllRanges)
				sel.removeAllRanges() ;
		}
	*/
	}


/** HINWEIS ausgeben: Tourenbeschreibung an den Admin übergeben **/
	function hinweisTBcomplete() {
	
		msg  = "Der Datensatz wird abgeschlossen und\n";
		msg += "zur weiteren Bearbeitung an den Admin\n";
		msg += "übergeben. Sie haben dann kein Zugriff\n";
		msg += "mehr auf diese Daten.\n\n";
		msg += "Wollen Sie fortfahren?\n\n";
	
		confirmed = confirm(msg);
		
		if (confirmed == false)
			return false;
		else
			return true;
	}
	
/** HINWEIS ausgeben: Tourenbeschreibung in Haupttabelle übertragen **/
	function hinweisTBrelease() {
	
		msg  = "Der Datensatz wird nun veröffentlicht.\n";
		msg += "Ein Zugriff (Bearbeiten) ist dann über\n";
		msg += "den 'Eingabemodus' nicht mehr möglich.\n\n";
		msg += "Über den 'Bestandsmodus' ist jedoch\n";
		msg += "ein Bearbeiten jederzeit möglich.\n\n";
		msg += "Wollen Sie fortfahren?\n\n";
	
		confirmed = confirm(msg);
		
		if (confirmed == false)
			return false;
		else
			return true;
	}

	function confMsg(message, url) {
		if(confirm(message)) location.href = url;
	}


/** für "correlation"-Auswahl **/
	function Hinzufuegen(n,t,v) {
		
		var wert			= "help[" + n + "]";
	//	var auswahl 		= "wert[correlation][" + n + "][]";
		var auswahl 		= "wert[" + n + "][]";
		var eintrag			= document.formular[auswahl].length;
	  
		// = new Option(text, wert, defaultSelected(true/false), selected(true/false)
		NeuerEintrag 	= new Option(v+ ' ' +t, v, true, true);
				
		// neuen Eintrag in das SELECT eintragen
		document.formular[auswahl].options[eintrag] = NeuerEintrag;
		
		// Hinweis ausgeben
		alert('Eintrag hinzugefügt zu "' +n+ '":\n\n' +v+ ' | ' +t+ '\n');
		
		// Auswahlfeld an neue Einträge anpassen
		document.formular[auswahl].size = document.formular[auswahl].length;
		// suggest-Feld leeren
		document.formular[wert].value = "";
		// Cursor wieder in suggest-Feld setzen
		document.formular[wert].focus();
	}
	
	
	function Loeschen(n,o) {
		setTimeout('AuswahlReset(n)', 500);
		// Eintrag löschen NUR wenn Wert != NULL
		if(document.formular[n].options[o].value != "0") {
			document.formular[n].options[o] = null;
			document.formular[n].size = document.formular[n].length;
			document.formular[n].blur();
		}
	}
	
	
	function AuswahlReset(n) {
		
		var globalSelectedStatus = false;
		
		selectedStatus = (globalSelectedStatus) ? false : true;
		globalSelectedStatus = (selectedStatus) ? true : false;
		
		for (i = 0; i < document.formular[n].length; i++) {
			document.formular[n].options[i].selected = selectedStatus;
		}
	}
	
	
	function sendRequest(v) {						
		
		if(window.ActiveXObject) {
	
			try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }
			 
			catch (e) {
				try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
				catch (e) { }
			}
		}
		else if(window.XMLHttpRequest) {
			try { xmlHttp = new XMLHttpRequest(); }
			catch (e) { }
		}
		 
		if(xmlHttp) {
			xmlHttp.open("GET", "scripts/ajax_fields.php?tab=" +v, true);
			xmlHttp.onreadystatechange = ajax_new_select;
			xmlHttp.send(null);
		}
	}
	
	function ajax_new_select() {
		 
		if(xmlHttp.readyState == 4) {
		 
			text = xmlHttp.responseText;
			 
			if(text != "") {				 
				document.getElementById("new_Select").innerHTML = text;
			}								
		}
	}
	
//-->
