if(top!=self) top.location=self.location; // Wenn nicht on top, dann aus Frame befreien

/*
if(document.images)  // Navigation initialisieren
{
	navpic = new Array();
	navpic[0] = new Image();
	navpic[0].src = "/img/navpic_lo.gif";
	navpic[1] = new Image();
	navpic[1].src = "/img/navpic_hi.gif";
}

function nav_hilo(num,imgname) // Navigations-Pfeil zeigen/verstecken
{
	if(document.images)
	{
		imgname.src = navpic[num].src;
	}
}



imgSwitch = false;
if(document.images) imgSwitch = true;

imgPath="/img/"

if (imgSwitch){
        navList = new Array("unternehmen","kontakt","dienstleistungen","produkte","partner")
        buttons = new Array(navList.length)
        for (i=0; i<navList.length; i++)
		buttons[navList[i]] = new button(navList[i])
		
}

*/

function markieren() // am Ende jeder zu durchsuchenden Datei in einem Javascript-bereich aufrufen! --> markiert Suchbegriffe
// funktioniert nur ab IE 4 ; für NS 7 gibt es separates script
	{
	if((navigator.appName.lastIndexOf('Mac')!=-1)||(navigator.appName.lastIndexOf('X11')!=-1))
		{
		// alert('Markieren geht nicht bei Mac- oder Unix-Browsern');
		return false;
		}
	else
	
		{
		var r,i,z,pos,f_z,m_url
		var farbe = new Array('#FFFF80','#FEA94E','#CCCD6B','#A6A8FC','#00DEDB','#C1BFBF','#6CC46C','#FF80FF','#FFFFC0'); // Farben für Suchwörter setzen
		m_url=window.location.href; // URI auslesen
		pos=m_url.indexOf("marker")+7; // Position des ersten Suchbegriffes
		var s = m_url.substring(pos,m_url.length).split("|"); // Alle Suchbegriffe aus URI ausschneiden und in Array lesen
		if(s)
			{
			for(z=0;z <  s.length;++z)
				{
				r=document.body.createTextRange();
				for(i=0;r.findText(s[z]);i++) // Text nach Suchbegriff durchsuchen
					{
					(z>farbe.length-1) ? f_z=0 : f_z=z; // immer wieder andere Farbe wählen
					r.execCommand('BackColor','',farbe[f_z]);
					r.collapse(false);
					} // for
				} // for
			} // if
		} // if
	} // function

function setPointer(theRow, thePointerColor)
{
    if (thePointerColor == '' || typeof(theRow.style) == 'undefined') {
        return false;
    }
    if (typeof(document.getElementsByTagName) != 'undefined') {
        var theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        var theCells = theRow.cells;
    }
    else {
        return false;
    }

    var rowCellsCnt  = theCells.length;
    for (var c = 0; c < rowCellsCnt; c++) {
        theCells[c].style.backgroundColor = thePointerColor;
    }

    return true;
}

// Kalender für Datumseingabe öffnen
function OpenKalender(strZiel, strName, intWidth, formular, feld) // Zieldatei, WindowName, Breite, zu überprüfendes Formular/Feld
{	// Wenn feld einen Wert hat, wird der Kalender mit Jahr und Monat gestartet
    
    if (document[formular].elements[feld].value != "")
    {	
		var elemente = document[formular].elements[feld].value.split(".");
		var intMonth = elemente[1];
		var intYear = elemente[2];
		strZiel = strZiel + "/year/" + intYear + "/month/" + intMonth;
    }
    Test = window.open(strZiel + '/ZielFeld/' + formular + '.' + feld, strName, 'width='+intWidth+',height=150,scrollbars=no;resizablel');
    if (document.all)
	{
		var ClickX = window.event.x;
		var ClickY = window.event.y;
		if (navigator.appVersion.indexOf("MSIE 5")>0 )
		{
			Test.moveTo(ClickX+window.screenLeft+5, ClickY+window.screenTop-50);
		}
	}
}

// Leerzeichen am Anfang und Ende von Formulareingabefelder abschneiden (=Trim bei ASP)
function Trim(item)
  {
  var tmp = "";
  var item_length = item.value.length;
  var item_length_minus_1 = item.value.length - 1;
  for (index = 0; index < item_length; index++)
    {
    if (item.value.charAt(index) != ' ')
      {
      tmp += item.value.charAt(index);
      }
    else
      {
      if (tmp.length > 0)
        {
        if (item.value.charAt(index+1) != ' ' && index != item_length_minus_1)
          {
          tmp += item.value.charAt(index);
          }
        }
      }
    }
  item.value = tmp;
  }


// alle Checkboxen zum Setzen eines Rahmens von Bildern markieren/ demarkieren
function selectallbilder(wert, formname, ende)
{
	for (i=0;i<ende;++i)
	{
	feld = 'bilder['+i+'\][2]';
	document[formname].elements[feld].checked = wert;
	}
}

// alle Checkboxen zum Setzen eine Tabelle zum Durchsuchen markieren/ demarkieren
function selectalltables(wert, formname, ende)
{
	for (i=0;i<ende;++i)
	{
	feld = 'table['+i+'\]';
	document[formname].elements[feld].checked = wert;
	}
}

// alle Checkboxen zum Setzen einer Checkbox-Liste mit Namen fieldname
function selectallboxes(wert, formname, fieldname, ende)
{
	for (i=0;i<ende;++i)
	{
	feld = fieldname + i;
	document[formname].elements[feld].checked = wert;
	}
}

// alle Checkboxen zum Setzen von rechten für Bereiche markieren/ demarkieren
function selectallbereiche(wert, formname, ende)
{
	for (i=0;i<ende;++i)
	{
		for (z=1;z<=4;++z)
		{
			feld = 'bereich_id['+i+'\]['+z+'\]';
			document[formname].elements[feld].checked = wert;
		}
	}
}

// Sicherheitsabfrage: Bild löschen?
function del_pic(formname, feld)
{	
	if (document[formname].elements[feld].checked == true)
	{
	Check = confirm('Wollen Sie das zugehörige Bild wirklich löschen?');
	if (Check==true)
		
		document[formname].elements[feld].checked = true
	else
		document[formname].elements[feld].checked = false;
	}	
}

// Sicherheitsabfrage: Bild löschen?
function del_file(formname, feld)
{	
	if (document[formname].elements[feld].checked == true)
	{
	Check = confirm('Wollen Sie die zugehörige Datei wirklich löschen?');
	if (Check==true)
		
		document[formname].elements[feld].checked = true
	else
		document[formname].elements[feld].checked = false;
	}	
}


// Formular-Eingabefeld in Javascript-sicheres Datum überführen: im weiteren können damit Datum-Berechnungen vorgenommen werden
function toDate(datum)
{
	var tmpDatum = datum.split('.'); // Datum bei Punkt trennen und in Array schreiben: Stringkette!
	var myDatum = new Date(parseInt(tmpDatum[2]),parseInt(tmpDatum[1]-1),parseInt(tmpDatum[0])); // parseInt(tmpDatum[1])-1 : minus 1, da Monat Januar bei 0 beginnt! in Zahl konvertieren
	return myDatum;
}

/*
Formularüberprüfungen:

im Head einbinden:
	<script language="JavaScript" src="jstools.js"></script>

im Head Formularfelder angeben, die nach dem jeweiligen Fomrat überprüft werden sollen, Beispiel:
	<script language="JavaScript">
	stringliste = new Array('bezeichnung','beschreibung','preis_hp','preis_vp','preis_nue','preis_uef'); 
	zahlliste = new Array('personen');
	mailliste = new Array('email');
	datumsliste = new Array('startdatum','enddatum')
	</script>

im Formular-Absende-Button:
einen type=button verwenden und dort die notwendigen Überprüfungen notieren, Beispiel:

	<input class="inputedit"  type="button" name="verschicken" value="Neuen Eintrag Speichern" 
		onclick=" 
		if 
		(
		checkstring('kategorie',stringliste) 
		&& checkzahl('kategorie',zahlliste) 
		&& checkpic('kategorie','bild') 
		&& checkdezimal('kategorie',dezimalzahlliste) 
		&& checkmail('kategorie',mailliste)
		&& checkdatum('kategorie',datumsliste)
		) 
		document.kategorie.submit(); return false;">

1. Variable: Formularname
2. Variable: Arrayliste bzw. Feldnamen angeben
	
*/

// Datumsüberprüfung: nur ein Feld
function checkdate(formular, feld)
	{	// fail_date = 0;
		if 
		 (document.forms[formular].elements[feld].value.substring(2,3) != "." ||
		  document.forms[formular].elements[feld].value.substring(5,6) != "." ||
		  document.forms[formular].elements[feld].value.substring(0,2) < "01" ||
		  document.forms[formular].elements[feld].value.substring(0,2) > "31" ||
		  document.forms[formular].elements[feld].value.substring(3,5) < "01" ||
		  document.forms[formular].elements[feld].value.substring(3,5) > "12" ||
		  document.forms[formular].elements[feld].value.substring(6,10) < "1000" ||
		  document.forms[formular].elements[feld].value.substring(6,10) > "2080")
		  {
		    // fail_date=1;
			alert("Ungüliges Datum im aktiven Eingabefeld!\nBitte geben Sie im Format: TT.MM.JJJJ ein!");
			document.forms[formular].elements[feld].focus();
			return false;
		  }
		  else
		  return true;
		
	}
	
// Datumsüberprüfung nach Format t(t).m(m).jj(jj):
function checkdatum(formular, datumsliste, pflicht)
	{
		fehlermeldung = "Bitte im aktiven Eingabefeld ein Datum nach Muster:\ntt.mm.jjjj  -  etwa 24.12.2001\neingeben!";
		fehlermeldung1 = "Es handelt sich um kein Datum nach Muster:\ntt.mm.jjjj  -  etwa 24.12.2001\nEs wird daher kein Datums-Eintrag vorgenommen!!";
		for(var i = 0; i <= datumsliste.length-1; i++)
			{
				var datum = /\b(0?[1-9]|[12][0-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d?\d?\d\d)\b/ // regulärer Ausdruck, der auf Datum überprüfen soll
				var isdate = datum.test(document.forms[formular].elements[datumsliste[i]].value) // gibt true zurück, wenn Datum
				if (isdate == false)
					{
					if (pflicht == "false")
					{
						alert(fehlermeldung1);
						document.forms[formular].elements[datumsliste[i]].value = "";
						return true;
					}
					else
					{
						alert(fehlermeldung);
						document.forms[formular].elements[datumsliste[i]].value = "";
						document.forms[formular].elements[datumsliste[i]].focus();
						return false;
					}
					}
				else
					{
					if (i == datumsliste.length-1)
					return true;
					}
					
			}

	}
	
	
// Bildüberprüfung: nur ein Feld	
function checkpic(formular, feld)
	{
	if (document.forms[formular].elements[feld].value != "") 
		{
		if	
			(
			document.forms[formular].elements[feld].value.substring(document.forms[formular].elements[feld].value.length-3,document.forms[formular].elements[feld].value.length).toLowerCase() != "jpg"
			)
			
			{
			alert("Bitte Bilddateien des Formates JPG verwenden!");
			document.forms[formular].elements[feld].value = "";
			document.forms[formular].elements[feld].focus();
			return false;
				
			}
		else
			return true;
		}
	else
		return true;
	}

// Leerstring-Überprüfung		
function checkstring(formular, stringliste)
	{
	fehlermeldung = "Bitte im aktiven Eingabefeld Daten eingeben!";
	for(var i = 0; i <= stringliste.length-1; i++)
		{
		fail_string = 0;
		feldinhalt = document.forms[formular].elements[stringliste[i]].value;
		if (feldinhalt.replace(/\s+/,"")=="")
			{
			fail_string = 1;
			}
		if (fail_string == 1)
			{
			alert(fehlermeldung);
			document.forms[formular].elements[stringliste[i]].value = "";
			document.forms[formular].elements[stringliste[i]].focus();
			return false;
			}
		else
			{
			if (i == stringliste.length-1)
			return true;
			}
		}
	}
// Zahlüberprüfung: natürliche Zahlen (positiv)
function checkzahl(formular, zahlliste)	
	{
	fehlermeldung = "Bitte im aktiven Eingabefeld eine natürliche Zahl eingeben!";
	for(var i = 0; i <= zahlliste.length-1; i++)
		{
		fail_zahl = 0;
		var s = "" + document.forms[formular].elements[zahlliste[i]].value //Umwandlung in eine Zeichenkette
		var ziffern = "0123456789" //Gültige Zeichen
		if (s=="0") //Bei "0"
			fail_zahl = 0;
		if (s.charAt(0)=="0") //Bei 0 am Anfang
			fail_zahl = 1;
		for (var z=0; z<s.length; z++)
			{
			if (ziffern.indexOf(s.charAt(z))==-1) //keine Ziffer
				fail_zahl = 1;
			}
		// keine Zahl oder keine Eingabe oder nur Leerzeichen?
		if (fail_zahl == 1 || document.forms[formular].elements[zahlliste[i]].value.replace(/\s+/,"")=="")
			{
			alert(fehlermeldung);
			document.forms[formular].elements[zahlliste[i]].value = "";
			document.forms[formular].elements[zahlliste[i]].focus();
			return false;
			}
		else
			{
			if (i == zahlliste.length-1)
			return true;
			}

		}
	}
	
// Dezimalzahlüberprüfung

function checkdezimal(formular, dezimalzahlliste)
	{
	fehlermeldung = "Bitte im aktiven Eingabefeld eine gültige Dezimalzahl eingeben.\nBeispiel: 123,45";
	// fail_dezimalzahl = 0;
	for(var z = 0; z <= dezimalzahlliste.length-1; z++)
		{
		fail_dezimalzahl = 0;
		var s = "" + document.forms[formular].elements[dezimalzahlliste[z]].value //Umwandlung in String
		while (s.indexOf(".")>-1)
			{//Kommata durch Punkte ersetzen
			s=s.substring(0,s.indexOf(".")) + "," 
			+ s.substring(s.indexOf(".")+1 ,s.length)
			}
		var anzahl_punkt=0//Variable zum Zählen der Dezimalpunkte
		for (var i=0; i<s.length; i++)
			if (s.charAt(i)==",")
		    	anzahl_punkt++
			if (anzahl_punkt>1) //Mehr als ein Dezimalpunkt?
				fail_dezimalzahl = 1;
		// *** Eigentliche Überprüfung nach obigem Muster
		// *** Neu: Der Dezimalpunkt ist ein erlaubtes Zeichen
		var ziffern = ",0123456789" //Gültige Zeichen
		if (s.charAt(0)=="-")  //Führendes Minus entfernen
			s = s.substring(1, s.length)
		if (s=="0") //Bei "0"
			fail_dezimalzahl = 0;
		if (s.charAt(0)=="0" &&s.charAt(1)!=",")
			//Bei 0 am Anfang ohne folgenden Punkt
			fail_dezimalzahl = 1;
		for (var i=0; i<s.length; i++)
			if (ziffern.indexOf(s.charAt(i))==-1) //Keine Ziffer
				fail_dezimalzahl = 1;
		if (fail_dezimalzahl == 1 || document.forms[formular].elements[dezimalzahlliste[z]].value.replace(/\s+/,"")=="")
			{
			alert(fehlermeldung);
			document.forms[formular].elements[dezimalzahlliste[z]].value = "";
			document.forms[formular].elements[dezimalzahlliste[z]].focus();
			return false;
			}
		else
			{
			if (z == dezimalzahlliste.length-1)
			return true;
			}
		}
	}


	
// Email-Adresse-Überprüfung	
function checkmail(formular, mailliste)
	{
	fehlermeldung = "Bitte im aktiven Eingabefeld eine gültige E-Mail-Adresse eingeben!";
	for(var i = 0; i <= mailliste.length-1; i++)
		{
		fail_mail = 0;
		if(document.forms[formular].elements[mailliste[i]].value.indexOf('@') == -1)
			{
			fail_mail = 1;
			}
		if (fail_mail == 1 || document.forms[formular].elements[mailliste[i]].value.replace(/\s+/,"")=="")
			{
			alert(fehlermeldung);
			document.forms[formular].elements[mailliste[i]].value = "";
			document.forms[formular].elements[mailliste[i]].focus();
			return false;
			}
		else
			{
			if (i == mailliste.length-1)
			return true;
			}
			
		}
	}
	
function showds(file, table, id, marker) // allg. um kompletten DS im Rohformat zu zeigen
{
	ds_anzeige = window.open(file + "?table=" + table + "&id=" + id + "&marker=" + marker + "","_blank","height=400,width=500,menubar=no,locationbar=no,status=yes,scrollbars=yes");
	ds_anzeige.focus();
}

function showinfo(file) // DS formatiert über eigenes php-file anzeigen
{
	ds_anzeige = window.open("" + file + "","_blank","height=400,width=500,menubar=no,locationbar=no,status=yes,scrollbars=yes");
	ds_anzeige.focus();
}

function showpic(file, table, id, height, width, headline, bildpfad) // allg. Bild anzeigen
{
	// pic_anzeige = window.open(file + "/table/" + table + "/id/" + id + "/headline/" + headline +"/bildpfad/" + bildpfad +"/","_blank","height=" + height + ",width=" + width + ",menubar=no,locationbar=no,status=no,scrollbars=no");
	width = width - 0; // in Zahl umwandeln : Trick17, - funzt, + nicht
	width = width + 20;
	height = height - 0;
	height = height + 70;
	pic_anzeige = window.open(file + "?table=" + table + "&id=" + id + "&headline=" + headline +"&bildpfad=" + bildpfad +"&","_blank","height=" + height + ",width=" + width + ",menubar=no,locationbar=no,status=no,scrollbars=yes,resizable=yes");
	pic_anzeige.focus();
}


function button(name) {
        this.up = new Image(); this.up.src=imgPath + "link_" + name + "_up.gif";
        this.down = new Image(); this.down.src=imgPath + "link_" + name + ".gif";
}


function drop(name) {
		if (imgSwitch) document.images[name].src=buttons[name].down.src
}

function lift(name) {
		if (imgSwitch) document.images[name].src=buttons[name].up.src
}

/* Cursor in erstes Eingabefeld auf der Seite setzen, folgender Eintrag im BODY-tag notwendig:
<body OnLoad="setzeCurser()">
*/
function setzeCurser() 
{
	if (document.forms.length > 0)
	{
		var field = document.forms[0];
		for (i = 0; i < field.length; i++)
		{
			if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s"))
			{
				document.forms[0].elements[i].focus();
				break;
         	}
      	}
   	}
}


