var XMLHTTP = null;

if (window.XMLHttpRequest) {
	XMLHTTP = new XMLHttpRequest();
} else if (window.ActiveXObject) {
	try { var XMLHTTP = new ActiveXObject("Msxml12.XMLHTTP"); }
	catch (ex) {
		try { var XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP"); }
		catch (ex) { }
	}
}



// Funktion zum Zugriff auf alle Elemente mit einer bestimmten Klasse
function getElementsByClassName(class_name) {
	var all_obj,ret_obj=new Array(),j=0,teststr;

	if(document.all)all_obj=document.all;
	else if(document.getElementsByTagName && !document.all)
	all_obj=document.getElementsByTagName("*");

	for(i=0;i<all_obj.length;i++) {
		if(all_obj[i].className.indexOf(class_name)!=-1) {
			teststr=","+all_obj[i].className.split(" ").join(",")+",";
			if(teststr.indexOf(","+class_name+",")!=-1) {
				ret_obj[j]=all_obj[i];
				j++;
			}
		}
	}
	return ret_obj;
}

//-----------------------------------------------------------------------------
function toggleClass(objectID, class_Name) {
	var myObject = document.getElementById(objectID);
	if (myObject.className.indexOf(class_Name)!=-1) {
		var newClassNames = '';
		var class_Names = myObject.className.split(' ');
		for (i=0;i<class_Names.length;i++) {
			if (class_Names[i] != class_Name) {
				if (i != 0) { newClassNames += ' '; }
				newClassNames += class_Names[i]; } }
		myObject.className = newClassNames; }
	else {
		myObject.className += ' '+class_Name; }
}


//#############################################################################

function checkKlartextSeitenname(Name) {
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = markiereKlartextSeitenname;
	XMLHTTP.send("Funktion=checkKlartextSeitenname&Name="+Name);
}

//-----------------------------------------------------------------------------
function markiereKlartextSeitenname() {
	if (XMLHTTP.readyState == 4) {
		var antwort = XMLHTTP.responseText;
		var element = document.getElementById('Klartextname');
		if (antwort == 1) {
			element.style.color = '#ff0000';
			element.style.fontWeight = 'bold';
			element.style.borderColor = '#ff0000';
			document.getElementById('absendebutton').style.visibility = 'hidden'; }
		else {
			element.style.color = '#000000';
			element.style.fontWeight = 'normal';
			element.style.borderColor = '#000000';
			document.getElementById('absendebutton').style.visibility = 'visible'; }
	}
}



// ############################################################################
// Funktionen für die Pflege von Seitenverzeichnis-Einträgen
// ############################################################################

//function deleteGroupEntry(GroupID, EntryID) {
//	XMLHTTP.open("POST", "AJAXHandler.php");
//	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//	XMLHTTP.onreadystatechange = redrawGroup;
//	XMLHTTP.send("Funktion=checkKlartextSeitenname&Name="+Name);
//}
//
//function redrawGroup() {
//	if (XMLHTTP.readyState == 4) {
//		var antwort = XMLHTTP.responseText;
//		var element = document.getElementById('Klartextname');
//		if (antwort == 1) {
//			element.style.color = '#ff0000';
//			element.style.fontWeight = 'bold';
//			element.style.borderColor = '#ff0000';
//			document.getElementById('absendebutton').style.visibility = 'hidden'; }
//		else {
//			element.style.color = '#000000';
//			element.style.fontWeight = 'normal';
//			element.style.borderColor = '#000000';
//			document.getElementById('absendebutton').style.visibility = 'visible'; }
//	}
//}










//-----------------------------------------------------------------------------
function toggleEditor(id) {
	if (!tinyMCE.get(id))
		tinyMCE.execCommand('mceAddControl', false, id);
	else
		tinyMCE.execCommand('mceRemoveControl', false, id);
}

//-----------------------------------------------------------------------------
function removeEditbox(id) {
	// Das funktioniert so leider nicht, da der tinyMCE erst NACH dem Laden initialisiert wird und das Control entsprechend BEIM Laden nicht deaktiviert werden kann
	if (!!tinyMCE.get(id)) tinyMCE.execCommand('mceRemoveControl', false, id);
}

//-----------------------------------------------------------------------------
function addEditbox(id) {
	if (!tinyMCE.get(id)) tinyMCE.execCommand('mceAddControl', false, id);
}

//-----------------------------------------------------------------------------
function showhide(what) {
	var myObject = document.getElementById(what);
	if (myObject.style.display=='none') {
		myObject.style.display='block';
	} else {
		myObject.style.display='none';
	}
}

//-----------------------------------------------------------------------------
function popupImage(Bild, breite, hoehe) {
	var absLinks=Math.round(screen.width/2-breite/2);
	var absOben=Math.round(screen.height/2-hoehe/2);
	var parEins="include/popup_image.php?image=" + Bild;
	var parZwei="DetailAnsicht";
	var parDrei="width=" + breite + ",height=" + hoehe + ",top=" + absOben + ",left=" + absLinks + ",toolbar=no, location=no";
	window.open(parEins, parZwei, parDrei);
}

//-----------------------------------------------------------------------------
function playMovie(Video, breite, hoehe) {
	var hoeheNeu = parseInt(hoehe) + 14;
	var absLinks=Math.round(screen.width/2-breite/2);
	var absOben=Math.round(screen.height/2-hoeheNeu/2);
	var parEins="include/popup_movie.php?movie=" + Video + "&width=" + breite + "&height=" + hoeheNeu;
	var parZwei="VideoAnschauen";
	var parDrei="width=" + breite + ",height=" + hoeheNeu + ",top=" + absOben + ",left=" + absLinks + ",toolbar=no, location=no";
	window.open(parEins, parZwei, parDrei);
}

//-----------------------------------------------------------------------------
function playWMMovie(Video, breite, hoehe) {
	var hoeheNeu = parseInt(hoehe) + 50;
	var absLinks=Math.round(screen.width/2-breite/2);
	var absOben=Math.round(screen.height/2-hoeheNeu/2);
	var parEins="include/popup_wmmovie.php?movie=" + Video + "&width=" + breite + "&height=" + hoeheNeu;
	var parZwei="VideoAnschauen";
	var parDrei="width=" + breite + ",height=" + hoeheNeu + ",top=" + absOben + ",left=" + absLinks + ",toolbar=no, location=no";
	window.open(parEins, parZwei, parDrei);
}

//-----------------------------------------------------------------------------
function popUpFotoshow(ID) {
	var popPfad = '';
	var adjust = 0;
	var debug = 0;
	var resize = 'yes';
	var scrollbar = 'yes';
	var popHeight = 500;
	var popWidth = 600;

	var popName = popHeight + 'x' + popWidth;

	var tribuPopUp = window.open('include/popup_galerie.php?ID=' + ID, popName, 'width=' + popWidth + ',height=' + popHeight + ',directories=no,status=no,scrollbars=' + scrollbar + ',resizable=' + resize + ',menubar=no,toolbar=no' );
	tribuPopUpFoc = tribuPopUp.focus();				
}

//-----------------------------------------------------------------------------
function init_textareas() {
	var myTextareas = getElementsByClassName('txtEingFeld');
	for (var i = 0; i < myTextareas.length; i++) {
		tinyMCE.get(myTextareas[i].id).hide();
	}
}

//-----------------------------------------------------------------------------
function init_saveTextareas() {
	var myTextareas = getElementsByClassName('txtEingFeld');
	document.Form.BEBezeichnung.focus();
	for (var i = 0; i < myTextareas.length; i++) {
		tinyMCE.get(myTextareas[i].id).show();
	}
}

//-----------------------------------------------------------------------------
function empty(formTxtFieldName) {
	document.getElementsByName(formTxtFieldName)[0].value='';
}

//-----------------------------------------------------------------------------
function checkEmpty(chkFormTxtFieldName, formTxtFieldName) {
	if (document.getElementsByName(chkFormTxtFieldName)[0].value != '') 	{
		document.getElementsByName(formTxtFieldName)[0].value = ''; }
}

//-----------------------------------------------------------------------------
function vali(typIndex, Feld, Zielart) {
	if (Feld.value != '') {
		document.getElementsByName('LinkTyp')[typIndex].checked = 'checked'; }
	if (Zielart == 'exter') {
		/* Überprüfen, ob dem Feld-Inhalt ein http:// vorgestellt ist oder nicht. Wenn nicht -> ergänzen */ }
}

//-----------------------------------------------------------------------------
function GalerieBildAktivieren(BildID) {
	var myThumbs = getElementsByClassName('Thumb');
	var myImgWraps = getElementsByClassName('imgWrap');

	for (var i = 0; i < myThumbs.length; i++) {
		myThumbs[i].className = 'Thumb inaktiv'; }
	document.getElementById('Thumb'+BildID).className = 'Thumb aktiv';

	for (var i = 0; i < myImgWraps.length; i++) {
		myImgWraps[i].className = 'imgWrap inaktiv'; }
	document.getElementById('imgWrap'+BildID).className = 'imgWrap aktiv';
}

//-----------------------------------------------------------------------------
function GalerieBildLeft(counter) {
	var myThumbs = getElementsByClassName('Thumb');
	var myImgWraps = getElementsByClassName('imgWrap');

	for (var i = 0; i < myThumbs.length; i++) {
		myThumbs[i].className = 'Thumb inaktiv'; }
	if (counter == 0) {
		myThumbs[myThumbs.length-1].className = 'Thumb aktiv'; }
	else {
		myThumbs[(counter-1)].className = 'Thumb aktiv'; }

	for (var i = 0; i < myImgWraps.length; i++) {
		myImgWraps[i].className = 'imgWrap inaktiv'; }
	if (counter == 0) {
		myImgWraps[myImgWraps.length-1].className = 'imgWrap aktiv'; }
	else {
		myImgWraps[(counter-1)].className = 'imgWrap aktiv'; }
}

//-----------------------------------------------------------------------------
function GalerieBildRight(counter) {
	var myThumbs = getElementsByClassName('Thumb');
	var myImgWraps = getElementsByClassName('imgWrap');
	var index;

	for (var i = 0; i < myThumbs.length; i++) {
		myThumbs[i].className = 'Thumb inaktiv'; }
	if (counter == myThumbs.length-1) {
		myThumbs[0].className = 'Thumb aktiv'; }
	else {
		myThumbs[counter+1].className = 'Thumb aktiv'; }

	for (var i = 0; i < myImgWraps.length; i++) {
		myImgWraps[i].className = 'imgWrap inaktiv'; }
	if (counter == myImgWraps.length-1) {
		myImgWraps[0].className = 'imgWrap aktiv'; }
	else {
		myImgWraps[(counter+1)].className = 'imgWrap aktiv'; }
}

//-----------------------------------------------------------------------------
function togVis(what) {
	myObject = document.getElementById(what);
	if ( myObject.style.display == 'block') { myObject.style.display = 'none'; }
	else if ( myObject.style.display == 'none') { myObject.style.display = 'block'; }
}

//-----------------------------------------------------------------------------
function setFontSize(size, number) {
	document.body.style.fontSize = size;
	for (var i = 1; i < 7; i++) {
		document.getElementById('fs'+i).className = ''; }
	document.getElementById('fs'+number).className = 'activ';

	XMLHTTP.open("POST", "ARSizeHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.send("size="+size);
}



function ErstelleGruppe(modID, SiteDirID) {
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changeGroupsContent;
	XMLHTTP.send("Modul="+modID+"&Funktion=AJAXErstelleGruppe&SiteDirID="+SiteDirID);
}

function LoescheGruppe(modID, SiteDirID, GroupID) {
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changeGroupsContent;
	XMLHTTP.send("Modul="+modID+"&Funktion=AJAXGroupDelete&SiteDirID="+SiteDirID+"&GroupID="+GroupID);
}

function changeGroupsContent() {
	if (XMLHTTP.readyState == 4) {
		var antwort = XMLHTTP.responseText;
		var Container = document.getElementById("groupAdministration");
		Container.innerHTML = antwort;
	}
}


function BearbeiteEintrag(modID, GroupID, EntryID) {
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changeGroupContent;
	XMLHTTP.send("Modul="+modID+"&Funktion=AJAXBearbeiteEintrag&GroupID="+GroupID+"&EntryID="+EntryID);
}

function ErstelleEintrag(modID, GroupID) {
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changeGroupContent;
	XMLHTTP.send("Modul="+modID+"&Funktion=AJAXErstelleEintrag&GroupID="+GroupID);
}

function LoescheEintrag(modID, GroupID, EntryID) {
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changeGroupContent;
	XMLHTTP.send("Modul="+modID+"&Funktion=AJAXEntryDelete&GroupID="+GroupID+"&EntryID="+EntryID);
}

function erzeugeGruppe(modID, GroupID) {
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changeGroupContent;
	XMLHTTP.send("Modul="+modID+"&Funktion=AJAXerzeugeGruppe&GroupID="+GroupID);
}

function SiteDirEntryUpdate(modID, GroupID, EntryID) {
	var Attribute = "&EntryID="+EntryID;
	Attribute += "&BildID="+document.forms["SiteDirEdit"].elements["BildID"].value;
	Attribute += "&LinkText="+document.forms["SiteDirEdit"].elements["LinkText"].value;
	Attribute += "&LinkSubText="+document.forms["SiteDirEdit"].elements["LinkSubText"].value;
	
	
	if (document.forms["SiteDirEdit"].LinkTyp[0].checked == true) {
		Attribute += "&LinkTyp="+document.forms["SiteDirEdit"].LinkTyp[0].value;
	} else if (document.forms["SiteDirEdit"].LinkTyp[1].checked == true) {
		Attribute += "&LinkTyp="+document.forms["SiteDirEdit"].LinkTyp[1].value;
	} else if (document.forms["SiteDirEdit"].LinkTyp[2].checked == true) {
		Attribute += "&LinkTyp="+document.forms["SiteDirEdit"].LinkTyp[2].value;
	}
	
	Attribute += "&VerknSeite="+document.forms["SiteDirEdit"].elements["VerknSeite"].value;
	Attribute += "&VerknSeiteExt="+document.forms["SiteDirEdit"].elements["VerknSeiteExt"].value;
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changeGroupContent;
	XMLHTTP.send("Modul="+modID+"&Funktion=AJAXEntryUpdate&GroupID="+GroupID+Attribute);	
}

function SiteDirEntrySave(modID, GroupID, SortierIndex) {
	var Attribute = "&SortierIndex="+SortierIndex;
	Attribute += "&BildID="+document.forms["SiteDirEdit"].elements["BildID"].value;
	Attribute += "&LinkText="+document.forms["SiteDirEdit"].elements["LinkText"].value;
	Attribute += "&LinkSubText="+document.forms["SiteDirEdit"].elements["LinkSubText"].value;
	
	
	if (document.forms["SiteDirEdit"].LinkTyp[0].checked == true) {
		Attribute += "&LinkTyp="+document.forms["SiteDirEdit"].LinkTyp[0].value;
	} else if (document.forms["SiteDirEdit"].LinkTyp[1].checked == true) {
		Attribute += "&LinkTyp="+document.forms["SiteDirEdit"].LinkTyp[1].value;
	} else if (document.forms["SiteDirEdit"].LinkTyp[2].checked == true) {
		Attribute += "&LinkTyp="+document.forms["SiteDirEdit"].LinkTyp[2].value;
	}
	
	Attribute += "&VerknSeite="+document.forms["SiteDirEdit"].elements["VerknSeite"].value;
	Attribute += "&VerknSeiteExt="+document.forms["SiteDirEdit"].elements["VerknSeiteExt"].value;
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changeGroupContent;
	XMLHTTP.send("Modul="+modID+"&Funktion=AJAXEntrySave&GroupID="+GroupID+Attribute);	
}


function changeGroupContent() {
	if (XMLHTTP.readyState == 4) {
		var antwort = XMLHTTP.responseText;
		var antwortArray = antwort.split("||");
		var Container = document.getElementById("group"+antwortArray[0]);
		Container.innerHTML = antwortArray[1];
	}
}






//#############################################################################

function changeGalImg(modID, direction, actGalery, actImage, itemID) {
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changeGaleryImage;
	XMLHTTP.send("Modul="+modID+"&Funktion=changeImage&Direction="+direction+"&GalerieID="+actGalery+"&actImage="+actImage+"&itemID="+itemID);
}

//-----------------------------------------------------------------------------
function changeGaleryImage() {
	if (XMLHTTP.readyState == 4) {
		var antwort = XMLHTTP.responseText;

		var antwortArray = antwort.split("||");
		var Container = document.getElementById("galerieImage"+antwortArray[1]);
		Container.innerHTML = antwortArray[2];

		var myThumbs = getElementsByClassName('Thumb'+antwortArray[1]);
		for (var i = 0; i < myThumbs.length; i++) {
			myThumbs[i].className = 'Thumb Thumb'+antwortArray[1]; }
		document.getElementById('Thumb'+antwortArray[1]+'_'+antwortArray[0]).className = 'Thumb Thumb'+antwortArray[1]+' active';

		var lightbox = new LightBox({
			loadingimg:'../images/loading.gif',
			expandimg:'../images/expand.gif',
			shrinkimg:'../images/shrink.gif',
			previmg:'../images/prev.gif',
			nextimg:'../images/next.gif',
			effectimg:'../images/zzoop.gif',
			effectpos:{x:-40,y:-20},
			effectclass:'effectable',
			closeimg:'../images/close.gif',
			resizable:true });
			// Nach dem Austausch des Containerinhaltes muß ich die Lightbox noch irgendwie dazu bringen, sich zu reinitialisieren
	}
}


//#############################################################################

function createImage(modID, menue, value) {
	XMLHTTP.open("POST", "AJAXHandler.php");
	XMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	XMLHTTP.onreadystatechange = changePrevImg;
	XMLHTTP.send("Modul="+modID+"&Funktion=createPrevImg&Menue="+menue+"&Text="+value);
}

function changePrevImg() {
	if (XMLHTTP.readyState == 4) {
		var antwort = XMLHTTP.responseText;
		var Container = document.getElementById("Bild");
		Container.innerHTML = antwort;
	}
}

function layElemBoxBEHoverImg(id) {
	var myImage = document.getElementById('boxDarstOptImg'+id);
	if (myImage.className != 'aktiv') {
		myImage.className = 'inaktiv mover'; }
}

function layElemBEHoverImgOut(id) {
	var myImage = document.getElementById('boxDarstOptImg'+id);
	if (myImage.className != 'aktiv') {
		myImage.className = 'inaktiv'; }
}

function layElemBoxBEClickImg(id) {
	var activImg = getElementsByClassName('aktiv');
	for (var i = 0; i < activImg.length; i++) { activImg[i].className = 'inaktiv'; }
	document.getElementById('boxDarstOptImg'+id).className = 'aktiv';
	document.BildArtikelPflege.Ausrichtung[id-1].checked = 'checked';
	if (id == 1) {
		document.getElementById('PosXlabel').innerHTML = 'Abstand von der <b>LINKEN</b> Seite in Pixel';
		document.getElementById('PosYlabel').innerHTML = 'Abstand von <b>OBEN</b> in Pixel'; }
	else if (id == 2) {
		document.getElementById('PosXlabel').innerHTML = 'Abstand von der <b>RECHTEN</b> Seite in Pixel';
		document.getElementById('PosYlabel').innerHTML = 'Abstand von <b>OBEN</b> in Pixel'; }
	else if (id == 3) {
		document.getElementById('PosXlabel').innerHTML = 'Abstand von der <b>LINKEN</b> Seite in Pixel';
		document.getElementById('PosYlabel').innerHTML = 'Abstand von <b>UNTEN</b> in Pixel'; }
	else if (id == 4) {
		document.getElementById('PosXlabel').innerHTML = 'Abstand von der <b>RECHTEN</b> Seite in Pixel';
		document.getElementById('PosYlabel').innerHTML = 'Abstand von <b>UNTEN</b> in Pixel'; }
}






// ####################################################
function SiteDirGroupEntryDestSelect(GroupID, EntryID, RadioBtn) {
	// Wenn der RadioBtn 0 gewählt wurde, müssen die Buttons 1 und 2 inactiv gesetzt werden
	// Ausserdem müssen die zugrunde liegenden Radio-Buttons dechecked werden
	// Darüber hinaus müssen die Felder VerknSeite und VerknSeiteExt geleert werden
	
	// Wenn der RadioBtn 1 gewählt wurde, müssen die Buttons 0 und 2 inactiv gesetzt werden
	// Die zugrunde liegenden Radio-Buttons müssen dechecked werden
	// Das Feld VerknSeiteExt muß geleert werden
}


