
 // Globale Variablen
var letzte_pos = 0;
var listeVerwandteLayer = new Array();
var aktiverLayer = "";

MSVCuserAgent = navigator.userAgent.toLowerCase();
MSVCn4 = document.layers;
MSVCie = (document.all && MSVCuserAgent.indexOf("mac")<0);
MSVCw3c = document.documentElement;
isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
NS4 = (document.layers) ? true : false;
IEmac = ((document.all)&&(isMac)) ? true : false;
IE4plus = (document.all) ? true : false;
IE4 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 4.")!=-1)) ? true : false;
IE5 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 5.")!=-1)) ? true : false;
ver4 = (NS4 || IE4plus) ? true : false;
NS6 = (!document.layers) && (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;

 // Hinzufuegen Onload Events Window
var gSafeOnload = new Array();
function msvcAddOnload(f) {
	if (IEmac && IE4) {
		window.onload = doSafeOnload;
		gSafeOnload[gSafeOnload.length] = f;
	}
	else if (window.onload) {
		if (window.onload != doSafeOnload) {
			gSafeOnload[0] = window.onload;
			window.onload = doSafeOnload;
		}
		gSafeOnload[gSafeOnload.length] = f;
	}
	else
		window.onload = f;
}
function doSafeOnload() {
	for (var i=0;i<gSafeOnload.length;i++) {
		gSafeOnload[i]();
		//alert(gSafeOnload[i])
	}
}

 // Layer ausblenden
function MSVClayeroff(whichlayer) {
	if ((MSVCie) || (MSVCw3c)) {
		document.getElementById(whichlayer).style.visibility = "hidden";
		MSVClayeroffParm(whichlayer);
		aktiverLayer = '';
	}
}

 // Layer einblenden
function MSVClayeron(whichlayer) {
	if ((MSVCie) || (MSVCw3c)) {
		if (document.getElementById(whichlayer).style.visibility == 'visible') {
			MSVClayeroff(whichlayer);
			return
		}
		if (aktiverLayer != '') {
			MSVClayeroff(aktiverLayer)
		}
		document.getElementById(whichlayer).style.visibility = "visible";
		document.getElementById(whichlayer).style.zIndex = 999;
		aktiverLayer = whichlayer;
	}
}

 // Layer einblenden fuer Paramter
function MSVClayeronParm(whichlayer) {
	if ((MSVCie) || (MSVCw3c)) {
		if (document.getElementById('neuer_inhalt_oder_fix' + whichlayer)) {
			document.getElementById('neuer_inhalt_oder_fix' + whichlayer).style.visibility = "visible";
		}
	}
}

 // Layer ausblenden fuer Paramter
function MSVClayeroffParm(whichlayer) {
	if ((MSVCie) || (MSVCw3c)) {
		if (document.getElementById('neuer_inhalt_oder_fix' + whichlayer)) {
			document.getElementById('neuer_inhalt_oder_fix' + whichlayer).style.visibility = "hidden";
			document.forms["formCopy" + whichlayer].var_inhalt_einfuegen.selectedIndex = 0;
		}
	}
}

 // Alle Layer ausblenden
function hideAllLayers(akt) {
	for (var elementAusListeTemp in listeVerwandteLayer) {
		var elementAusListe = listeVerwandteLayer[elementAusListeTemp];
		if (elementAusListe != akt) {
			MSVClayeroff(elementAusListe);
		}
	}
}

 // Alle Layer einblenden
function showAllLayers() {
	for (var elementAusListeTemp in listeVerwandteLayer) {
		var elementAusListe = listeVerwandteLayer[elementAusListeTemp];
		MSVClayeron(elementAusListe);
	}
}

 // Wenn Parm ausgewaehlt, einblenden Layer fuer Auswahl Statisch oder Copy
function switchParmBaustein(var_value_inhalt, var_position_id) {
	if (var_value_inhalt != ''){
		MSVClayeronParm(var_position_id);
	}
	else {
		MSVClayeroffParm(var_position_id);
	}
}

 // Inhalt aus Seite entfernen
function deleteContent(var_aktuelle_position) {
	if (confirm('Soll der Inhalt wirklich entfernt werden?')) {
		var aufruf = var_aufruf_loeschen_rumpf + var_aktuelle_position;
		//document.write(aufruf)
		document.location.href = aufruf;
	}
}

 // Liveaenderung fuer Element aufrufen
function editElement(var_fenster_breite, var_fenster_hoehe, var_layout, var_feldnummer, var_artikel_name, var_seiten_nummer_uebergabe) {

 // Variblen einsetzen
	var aufruf = var_aufruf_liveaenderung_rumpf;
	aufruf += "&var_vorgabelayout=" + var_layout;
	aufruf += "&var_feldnummer=" + var_feldnummer;
	aufruf += "&var_artikel_name=" + var_artikel_name + ".dta";
	aufruf += "&var_seiten_nummer_uebergabe=" + var_seiten_nummer_uebergabe;
	liveEditWnd = window.open(aufruf, 'liveEditWnd', 'width=' + var_fenster_breite + ',height=' + var_fenster_hoehe + ',status=YES,resizable=YES,scrollbars');
}

 // Pruefen ob Template fuer Neuanlage ausgewaehlt
function checkValueNewContent(var_form) {
	if(var_form.var_vorgabelayout.selectedIndex == 0) {
		alert('Bitte wählen Sie ein Template aus!');
		return false;
	}
	else {
		var aufrufNewContent = '/cgi-bin/r30msvc_menue' + var_programm_endung + '?var_hauptpfad=' + var_hauptpfad + '&var_datei_selektionen=' +  var_datei_selektionen + '&var_html_folgemaske=weiss.html';
		EdtWnd = window.open(aufrufNewContent, 'EdtWnd', 'width=690,height=400,status=YES,resizable=YES,scrollbars')
		return true;
	}
}

 // Pruefen ob Baustein fuer Copy gewaehlt
function checkValueBaustein(var_form) {
	if(var_form.var_inhalt_einfuegen.selectedIndex == 0) {
		alert('Bitte wählen Sie einen Baustein aus!');
		return false;
	}
	else {
		return true;
	}
}

 // Text Highlight
function HighLight(element,color) {
	document.tmp_color = element.style.backgroundColor;
	element.style.backgroundColor = color;
}

 // Text Highlight wegnehmen
function UnHighLight(element) {
	element.style.backgroundColor = document.tmp_color;
}

 // Bild Highlight
function HighLightImage(element,color) {
	if (element.filters) {
		element.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 50;
	}
}

 // Bild Highlight wegnehmen
function UnHighLightImage(element) {
	if (element.filters) {
		element.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 100;
	}
}

 // JS Fehlermeldungen unterdruecken
function errorsuppressor() {
	return true
}
window.onerror = errorsuppressor

//////////////////////////////////////////////////////////////////////////////////////////
// Datums- und Zeitformate ueberpruefen
//////////////////////////////////////////////////////////////////////////////////////////
function checkDateTimeFormat(formObjekt, textWarteLayer) {

	if (checkDateFormat(formObjekt.var_anzeigen_von_datum) &&
		checkTimeFormat(formObjekt.var_anzeigen_von_zeit) &&
		checkDateFormat(formObjekt.var_anzeigen_bis_datum) &&
		checkTimeFormat(formObjekt.var_anzeigen_bis_zeit)) {
		top.navigation.MSVClayeronWarteGif(textWarteLayer)
		return true;
	}
	else {
		return false;
	}

return false
}

//////////////////////////////////////////////////////////////////////////////////////////
// Datumsformat ueberpruefen
//////////////////////////////////////////////////////////////////////////////////////////
function checkDateFormat(datumsObjekt) {

 // Pruefen nur wenn Wert gefuellt
	if (elementExists(datumsObjekt.name)) {
		var datumsWert = datumsObjekt.value;
		if (datumsWert != '') {
			if (!datumsWert.match(/[0-9]{2,}\.[0-9]{2,}\.[0-9]{4,}/)) {
				alert('"' + datumsWert + '" ist kein Datum. Bitte korrigieren oder entfernen!');
				datumsObjekt.focus();
				return false;
			}
			return true
		}
	}
	return true
}

//////////////////////////////////////////////////////////////////////////////////////////
// Zeitformat ueberpruefen
//////////////////////////////////////////////////////////////////////////////////////////
function checkTimeFormat(zeitObjekt) {

 // Pruefen nur wenn Wert gefuellt
	if (elementExists(zeitObjekt.name)) {
		var zeitWert = zeitObjekt.value;
		if (zeitWert != '') {
			if (!zeitWert.match(/[0-9]{2,}\:[0-9]{2,}/)) {
				alert('"' + zeitWert + '" ist keine Uhrzeit. Bitte korrigieren oder entfernen!');
				zeitObjekt.focus();
				return false;
			}
			return true
		}
	}
	return true
}

//////////////////////////////////////////////////////////////////////////////////////////
// Stellt fest, ob ein uebergebenes Element in dem Dokument existiert
//////////////////////////////////////////////////////////////////////////////////////////
function elementExists(elementName) {
	if(document.getElementsByName(elementName).length > 0) {
		return true;
	}
	else {
		return false;
	}
}

//////////////////////////////////////////////////////////////////////////////////////////
// Positionieren von Inhalten an vorgegebene Stelle
//////////////////////////////////////////////////////////////////////////////////////////
function insertElementPosition(docWindow, insertElement){

      	var area = docWindow.getSelection();
      	var range = area.getRangeAt(0);
      	var editorPosition = range.startContainer;
      	var pos = range.startOffset;

      	area.removeAllRanges();
      	range.deleteContents();
      	range = document.createRange();
	//alert(insertElement.nodeType);
	switch (insertElement.nodeType){
		case 3:
	        	editorPosition.insertData(pos, insertElement.nodeValue);
	        	range.setEnd(editorPosition, pos + insertElement.length);
	        	range.setStart(editorPosition, pos + insertElement.length);
		case 1:
	        	var afterElement;
	        	if (editorPosition.nodeType==3){

	          		var textElement = editorPosition;
	          		var text = textElement.nodeValue;
	          		var textBefore = text.substr(0,pos);
	          		var textAfter = text.substr(pos);
	          		var beforeNode = document.createTextNode(textBefore);
	          		var afterElement = document.createTextNode(textAfter);

				editorPosition = textElement.parentNode;
	          		editorPosition.insertBefore(afterElement, textElement);
	          		editorPosition.insertBefore(insertElement, afterElement);
	          		editorPosition.insertBefore(beforeNode, insertElement);
	          		editorPosition.removeChild(textElement);

	        	}else{
	          		afterElement = editorPosition.childNodes[pos];
	          		editorPosition.insertBefore(insertElement, afterElement);
	        	}
	        	range.setEnd(afterElement, 0);
	        	range.setStart(afterElement, 0);
      	}
      	area.addRange(range);
}


