var aktuellerWert=0;
var faktor=10;
var sollWert=0;

var kinder;
var naviElement;

function setzeTransparenz(objekt,wert)
{
	// wert von 0 bis 1 muss übergeben werden
	if(navigator.userAgent.search(/MSIE/)!=-1)
	{
	    if(wert>0.92)
			objekt.style.filter="";
	    else
			objekt.style.filter="Alpha(opacity="+(wert*100)+",style=0";
 	}
	else
		objekt.style.opacity=wert;
}


// für vorschau: ---------------------------------------------------------------

var containerElement;
var vorschauElement;
var transparenz;

function zeigeTextVorschau()
{
	// formularfeldinhalt per AJAX umwandeln lassen
	formatiereMitAJAX("inhalt");

	// ausgabe erzeugen
	containerElement=document.getElementById("containerDiv");
	vorschauElement=document.getElementById("vorschauDiv");
	containerElement.style.display="block";
	vorschauElement.style.display="block";
	fadeRein(0);
}

function fadeRein(transparenz)
{
	if(transparenz<0.5)
	{
		transparenz+=.05;
		setzeTransparenz(containerElement,transparenz);
		setzeTransparenz(vorschauElement,transparenz*2);
		window.setTimeout("fadeRein("+transparenz+")",20);
	}
}

function versteckeTextVorschau()
{
	vorschauElement.style.display="none";
	containerElement.style.display="none";
}

var ajaxObjekt;

function formatiereMitAJAX(feld)
{
	// Mozilla/Safari
	if(!ajaxObjekt)
	{
		if (window.XMLHttpRequest)
		{
			ajaxObjekt=new XMLHttpRequest();
		}
		// MSIE
		else if (window.ActiveXObject)
		{
			ajaxObjekt=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	ajaxObjekt.open('POST', "/ajax_formatiere.php", true);
	ajaxObjekt.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajaxObjekt.onreadystatechange = function()
	{
		if (ajaxObjekt.readyState == 4)
		{
			vorschauElement.firstChild.innerHTML=ajaxObjekt.responseText;
		}
	}
	ajaxObjekt.send('inhalt=' + escape(document.forms["formular"].elements[feld].value.replace(/\+/g,"&43;")));
}
//

// alte skripts: ===============================================
function bild(nummer,datei)
{
	var bildElement=document.getElementById("bild"+nummer);
	bildElement.src="pix/b2_"+datei+".jpg";
}

function spezial(se,us,be)
{
	var x="";
	var kl="@";
	var tx="ilto:";
	var dmt=document;
	for(var i=se.length-1;i>=0;i--)
	{
		x=x+se.substr(i,1);
	}
	var al=us+kl+x;
	if(be=="~n~o~")
	{
		be=al;
	}
dmt.write("<a title='geschützte Adresse' href='ma"+tx+al+"'>"+be+"&nbsp;<img src='pix/kuvert.png' width='16' height='16' alt='geschützte Adresse' title='geschützte Adresse' border='0' style='vertical-align:bottom' /></a>");
}

function sendeKennwort()
{
	if(document.getElementById("hinweis"))
	{
		document.getElementById("hinweis").style.display="block";
	}
	var kennwort=document.login.kennwort.value;
	var unc=document.login.unc.value;
	var verschluesseltesPasswort=hex_md5(hex_md5(kennwort)+unc);
	document.login.key.value=verschluesseltesPasswort;
	var sterne="";
	for(var i=0;i<kennwort.length;i++)
	{
		sterne+="*";
	}
	document.login.kennwort.value=sterne;
	zeigeBestaetigung();
}

function sondertaste(ereignis)
{
	if(!ereignis)
	{
		ereignis=event;
	}
	if(ereignis.ctrlKey)
	{
		location.href="login";
		return false;
	}
	else
	{
		return true;
	}
}

var bildGeklickt=false;

function sondertasteBild(ereignis,dateiId)
{
	if(!ereignis)
	{
		ereignis=event;
	}
	if(ereignis.ctrlKey)
	{
		location.href="/admin_bilder/"+dateiId;
		bildGeklickt=true;
	}
	else
	{
		bildGeklickt=false;
	}
	return !bildGeklickt;
}

function sondertasteText(ereignis,datei)
{
	if(!bildGeklickt)
	{
		if(!ereignis)
		{
			ereignis=event;
		}
		if(ereignis.ctrlKey)
		{
			location.href="/admin_seite/"+datei;
			return false;
		}
		else
		{
			return true;
		}
	}
	return true;
}

function vergroessereTextarea(feld)
{
	var a = feld.value.split('\n');
	var b=1;
	for(var x=0;x<a.length;x++)
	{
		if(a[x].length >= feld.cols)
		{
			b+= Math.floor(a[x].length/feld.cols);
		}
	}
	b+= a.length;
	if(b > feld.rows)
	{
		feld.rows = b;
	}
}

function setzeTitel()
{
	if(!document.formular.bezeichnung.value)
	{
		var dateiname=document.formular.datei.value.replace(/^.*?([^\\]+)\.[a-z0-9]{2,8}$/i,"$1");
		dateiname=dateiname.substr(0,1).toUpperCase()+dateiname.substr(1).toLowerCase();
		document.formular.bezeichnung.value=dateiname;
	}
}

// für AJAX =================================================
// (entfernt nbcw)
// ==========================================================

function zeigeElement(elementname)
{
	var element=document.getElementById(elementname);
	if(element)
	{
		if(element.style.display=='none')
		{
			element.style.display='block';
// 			// fokus setzen?
// 			if(document.getElementById("name"))
// 				document.getElementById("name").focus();
		}
		else
		{
			element.style.display='none';
		}

	}
}

function zeigeTab(nummer)
{
	var i=1;
	var tab;
	while(tab=document.getElementById("tab"+i))
	{
		if(i==nummer)
		{
			tab.style.borderBottom='0';
			tab.style.padding='1px 10px';
			tab.style.fontWeight='bold';
			tab.style.backgroundColor='#f8f8f8';
			document.getElementById("ordner"+i).style.display="block";
		}
		else
		{
			tab.style.borderBottom='';
			tab.style.padding='';
			tab.style.fontWeight='';
			tab.style.backgroundColor='#cccfd6';
			document.getElementById("ordner"+i).style.display="none";
		}
		i++;
	}
}

function zeigeBild()
{
	var objekt=document.getElementById("bild");
	if(objekt)
	{
		var position=parseInt(objekt.style.top,10)+4;
		objekt.style.top=position+"px";
		if(position<0)
		{
			window.setTimeout("zeigeBild()",20);
		}
	}
}

function setzeFocus()
{
	if(document.login)
	{
		window.setTimeout("document.login.benutzername.focus()",200);
	}
 	else if(document.formular)
 	{
 		window.setTimeout("document.formular.elements[0].focus()",500);
 	}
}

function oeffneUrl(sprungziel)
{
	window.open(sprungziel,"_blank").focus();
}

// für reihenfolge ==========================================
function rauf()
{
	var aktuellesElement=document.formular.eintragungen.options.selectedIndex;
	var anzahl=document.formular.eintragungen.options.length;
	if(aktuellesElement<=0)
	{
		//alert("geht nicht!");
		return false;
	}
	tausche(aktuellesElement-1,aktuellesElement);
	document.formular.eintragungen.options.selectedIndex=aktuellesElement-1;
	return true;
}

function runter()
{
	var aktuellesElement=document.formular.eintragungen.options.selectedIndex;
	var anzahl=document.formular.eintragungen.options.length;
	if(aktuellesElement==anzahl-1 || aktuellesElement==-1)
	{
		//alert("geht nicht!");
		return false;
	}
	tausche(aktuellesElement,aktuellesElement+1);
	document.formular.eintragungen.options.selectedIndex=aktuellesElement+1;
	return true;
}

function tausche(von,mit)
{
	var ersterWert=document.formular.eintragungen.options[von].value;
	var ersterText=document.formular.eintragungen.options[von].text;
	var erstesEvent=document.formular.eintragungen.options[von].onclick;
	var zweiterWert=document.formular.eintragungen.options[mit].value;
	var zweiterText=document.formular.eintragungen.options[mit].text;
	var zweitesEvent=document.formular.eintragungen.options[mit].onclick;

	document.formular.eintragungen.options[von].value=zweiterWert;
	document.formular.eintragungen.options[von].text=zweiterText;
	document.formular.eintragungen.options[von].onclick=zweitesEvent;
	document.formular.eintragungen.options[mit].value=ersterWert;
	document.formular.eintragungen.options[mit].text=ersterText;
	document.formular.eintragungen.options[mit].onclick=erstesEvent;
}

function sortieren(formularfeld)
{
	for(var i=0;i<formularfeld.options.length;i++)
	{
		document.formular.reihenfolge.value+=formularfeld.options[i].value+",";
	}
}
// ==========================================================

function aktiviereFeld(nummer)
{
 	var aktuellesFeld=document.getElementById("adresse_"+nummer);
 	if(aktuellesFeld)
 	{
 		aktuellesFeld.click();
	}
 	aktuellesFeld=document.getElementById("ort_"+(3-nummer));
 	if(aktuellesFeld)
 	{
		aktuellesFeld.style.backgroundColor="#dddddd";
		aktuellesFeld.style.color="#aaaaaa";
		aktuellesFeld.disabled="disabled";
	}
 	aktuellesFeld=document.getElementById("ort_"+nummer);
 	if(aktuellesFeld)
 	{
 		aktuellesFeld.style.backgroundColor="";
		aktuellesFeld.style.color="";
		aktuellesFeld.disabled="";
	}
}

function setzeTabelle(auswahlbox)
{
	var ausgewaehlteOption=auswahlbox.selectedIndex;
	var ausgewaehlterWert=auswahlbox[ausgewaehlteOption].value;
	setzeCodes(ausgewaehlterWert+"\n","||\n"+ausgewaehlterWert);
	auswahlbox.selectedIndex=0;
}

function setzeBaustein(auswahlbox)
{
	var ausgewaehlteOption=auswahlbox.selectedIndex;
	var ausgewaehlterWert=auswahlbox[ausgewaehlteOption].value;
	setzeCodes("%%"+ausgewaehlterWert,"%%\n");
	auswahlbox.selectedIndex=0;
}

function setzeCodes(vorne,hinten)
{
	// codes dazu schreiben
	var feldinhalt=document.getElementById("inhalt");
	// Firefox?
	if(feldinhalt.setSelectionRange)
	{
		var beginn = feldinhalt.selectionStart;
		var ende = feldinhalt.selectionEnd;
		var ausgewaehlterText = feldinhalt.value.substring(beginn,ende);
		var text=vorne+ausgewaehlterText+hinten;
		feldinhalt.value = feldinhalt.value.substr(0, beginn)+text+feldinhalt.value.substr(ende);
		feldinhalt.focus();
		var cursorposition=beginn+text.length;
		if(!ausgewaehlterText)
		{
			cursorposition-=hinten.length;
		}
		if(!feldinhalt.value)
		{
			cursorposition=vorne.length;
		}
		feldinhalt.setSelectionRange(cursorposition,cursorposition);
	}
	// MSIE?
	else if(document.selection)
	{
		feldinhalt.focus();
		var orig = feldinhalt.value.replace(/\r\n/g, "\n");
		var auswahl=document.selection.createRange();
		var ausgewaehlterText=auswahl.text;
		var text=vorne+ausgewaehlterText+hinten;
		auswahl.text=text;

		// MSIE problem mit zeilenschaltungen beheben
		var actual = tmp = feldinhalt.value.replace(/\r\n/g, "\n");
		for(var diff = 0; diff < orig.length; diff++)
		{
			if(orig.charAt(diff) != actual.charAt(diff)) break;
		}
		for(var index = 0, beginn = 0;(tmp = tmp.replace(text, ""))&& index <= diff;index = beginn + text.length)
		{
			beginn = actual.indexOf(text, index);
		}

		var cursorposition=beginn+text.length;
		if(!ausgewaehlterText)
		{
			cursorposition-=hinten.length;
		}
		var range = feldinhalt.createTextRange();
		range.move('character', cursorposition);
		range.select();
	}
}

var bildname;

function waehleBild(vorne,hinten)
{
	window.open("/admin_bilderauswahl","_blank","width=480,height=500,scrollbars=yes").focus();
}

function waehleLink()
{
	window.open("/admin_linkauswahl","_blank","width=600,height=260").focus();
}

function sendeBildname(name)
{
	if(opener)
	{
		for(var i=0;i<document.formular.position.length;i++)
		{
			if(document.formular.position[i].checked)
				bildcode=document.formular.position[i].value;
		}
		if(document.formular.thumbnail.checked)
			bildcode+=document.formular.thumbnail.value;
		opener.setzeCodes(bildcode+name,"\n");
		this.close();
	}
}

function sendeLink()
{
	var url=document.formular.url.value;
	var beschreibung=document.formular.beschreibung.value;
	var aktuellesElement=document.formular.seite.selectedIndex;
	var seite=document.formular.seite.options[aktuellesElement].value;
	var extrafenster=document.formular.extrafenster.checked;

	if(url)
	{
		seite=url;
		if(beschreibung)
			seite+="*"+beschreibung;
	}
	else
	{
		if(beschreibung)
			seite=seite.replace(/\*.+$/,"*"+beschreibung);
	}
	if(extrafenster)
		seite="_"+seite+"_";

	if(opener)
	{
		opener.setzeCodes("__"+seite+"__","");
		this.close();
	}
}

var schmutzig;
function setzeSchmutzig(wie)
{
	schmutzig=wie;
	if(schmutzig && document.formular.elements[document.formular.elements.length-1].value=="Weiter >>>")
	{
		document.formular.elements[document.formular.elements.length-1].value="Ändern und Weiter >>>";
	}
}

function pruefeSchmutzig()
{
	if(document.forms && schmutzig)
	{
		var meldung="ACHTUNG!\nSollen die geänderten Formulardaten vor dem Verlassen der Seite gespeichert werden?";
		if(confirm(meldung))
		{
			document.formular.submit();
		}
	}
}

function bestaetigeLoeschen(name)
{
	if(!confirm("Soll die Datei '"+name+"' wirklich endgültig gelöscht werden?"))
		return false;
	else
		return true;
}

function oeffneOderSchliesseKategorien()
{
	var bild=document.getElementById("plusOderMinus");
	if(bild.src.indexOf("pix/i_minus.gif")>1)
	{
		var anzeige="none";
		var bilddatei="plus";
		var beschreibung="erweitern";
	}
	else
	{
		var anzeige="block";
		var bilddatei="minus";
		var beschreibung="reduzieren";
	}

	var kinder=document.getElementById("kategorien").getElementsByTagName("div");
	for(var i=0;i<kinder.length;i++)
	{
		kinder[i].style.display=anzeige;
	}
	bild.src='pix/i_'+bilddatei+'.gif';
	bild.alt=beschreibung;
}

function aendereKinderSichtbarkeit(nummer)
{
	var bild=document.getElementById("knopf"+nummer);
	if(bild.src.indexOf("pix/i_minus.gif")>1)
	{
		var anzeige="none";
		var bilddatei="plus";
		var beschreibung="erweitern";
	}
	else
	{
		var anzeige="block";
		var bilddatei="minus";
		var beschreibung="reduzieren";
	}

	var kind=document.getElementById("ordner"+nummer);
	kind.style.display=anzeige;
	bild.src='pix/i_'+bilddatei+'.gif';
	bild.alt=beschreibung;
	bild.title=beschreibung;
}


// formular-checks ==============================================
function newsletterFormular()
{
	//pflichtfelder
	var pflichtfelder=new Array("email","Ihre E-Mail-Adresse");
	if(!ueberpruefePflichtdaten(pflichtfelder))
	{
		return false;
	}
	//gültige emailadresse?
	if(!ueberpruefeEmail())
	{
		return false;
	}
	zeigeBestaetigung();
	return true;
}

function pruefeFormular()
{
	var pflichtfelder=new Array("nachricht","Ihre Mitteilung");
	if(!ueberpruefePflichtdaten(pflichtfelder))
	{
		return false;
	}
	if(document.forms["formular"].elements["name"])
	{
		var pflichtfelder=new Array("name","Ihren Namen","sicherheitscode","den Sicherheitscode");
		if(!ueberpruefePflichtdaten(pflichtfelder))
		{
			return false;
		}

		if(!document.forms["formular"].elements["email"].value && !document.forms["formular"].elements["tel"].value)
		{
			alert("Bitte eine Kontaktmöglichkeit angeben!");
			document.forms["formular"].elements["email"].focus();
			return false;
		}
		//gültige emailadresse?
		if(!ueberpruefeEmail())
		{
			return false;
		}
	}
	zeigeBestaetigung();
	return true;
}

function personNeuFormular()
{
	//pflichtfelder
	var pflichtfelder=new Array("vorname","Ihren Vornamen","nachname","Ihren Nachnamen","email","Ihre E-Mail-Adresse");
	if(!ueberpruefePflichtdaten(pflichtfelder))
	{
		return false;
	}
	pflichtfelder=new Array("benutzername","den gewünschten Benutzernamen","kennwort1","ein Kennwort","kennwort2","das Kennwort ein zweites Mal");
	if(!document.formular.idmd5.value && !ueberpruefePflichtdaten(pflichtfelder))
	{
		return false;
	}
	//gültige emailadresse?
	if(!ueberpruefeEmail())
	{
		return false;
	}
	//gültige ortsangabe?
	if(!ueberpruefeLand())
	{
		return false;
	}
	//unerlaubte zeichen im benutzernamen?
	if(!document.formular.idmd5.value && !ueberpruefeBenutzername())
	{
		return false;
	}
	//kennwort-mechanismus
	if(!ueberpruefeKennwort())
	{
		return false;
	}
	zeigeBestaetigung();
	return true;
}

function pruefeBildupload()
{
	//pflichtfelder
	var pflichtfelder=new Array("bezeichnung","einen Titel");
	if(!ueberpruefePflichtdaten(pflichtfelder))
	{
		return false;
	}
	zeigeBestaetigung();
	return true;
}

function ueberpruefePflichtdaten(pflichtfelder)
{
	for(var i=0;i<pflichtfelder.length;i+=2)
	{
		var feldname=pflichtfelder[i];
		if(document.formular[feldname])
		{
			if(!document.formular[feldname].value)
			{
				var feldtext=pflichtfelder[i+1];
				alert("Bitte geben Sie "+feldtext+" ein!");
				document.formular[feldname].focus();
				return false
			}
		}
	}
	return true;
}

function ueberpruefeEmail()
{
	var suchmuster=/^[^@ ,;]+@[^@ ,;]+\.[a-z]{2,6}$/i;
	if(document.formular.email.value && document.formular.email.value.search(suchmuster)==-1)
	{
		alert("Bitte geben Sie eine gültige E-Mail-Adresse ein!");
		document.formular.email.focus();
		return false;
	}
	return true;
}

function ueberpruefeBenutzername()
{
	var suchmuster=/^\w+$/i;
	if(document.formular.benutzername.value.search(suchmuster)==-1)
	{
		alert("Im Benutzernamen dürfen nur Buchstaben von A - Z und Ziffern vorkommen - \nbitte ändern!");
		document.formular.benutzername.focus();
		return false;
	}
	return true;
}

function ueberpruefeKennwort()
{
	if(document.formular.kennwort1.value!=document.formular.kennwort2.value)
	{
		alert("Kennwörter stimmen nicht überein - bitte nochmal eingeben");
		document.formular.kennwort1.value="";
		document.formular.kennwort2.value="";
		document.formular.kennwort1.focus();
		return false;
	}

	document.formular.kennwort.value=document.formular.kennwort1.value;
	var sterne="";
	for(var i=0;i<document.formular.kennwort.value.length;i++)
	{
		sterne+="*";
	}
	document.formular.kennwort1.value=sterne;
	document.formular.kennwort2.value=sterne;
	return true;
}

function zeigeBestaetigung()
{
	if(document.getElementById("hinweis"))
	{
		document.getElementById("hinweis").style.display="block";
	}
	else if(document.all.hinweis)
	{
		document.all.hinweis.style.display="block";
	}
	return true;
}

function pruefeOrdnerfeld()
{
	if(window.document.forms["formular"].elements["ordner_fk"].selectedIndex==window.document.forms["formular"].elements["ordner_fk"].options.length-1)
	{
		document.getElementById("ordner_fk").style.display="none";
		document.getElementById("neuerOrdner").style.display="inline";
		document.forms["formular"].elements["neuerOrdner"].focus()
	}
}

function zeigeVorschau(dateiname)
{
	document.images['vorschau' ].src="/pix/upload/thumbs/"+dateiname+".jpg";
}

