// JavaScript Document
var objAktuell = null;		// Element, über dem Maus bewegt wurde
var block = false;		// Element, über dem Maus bewegt wurde
var objDrag = null;		// Element, über dem Maus bewegt wurde

var mouseX 	 = 0;				// X-Koordinate der Maus
var mouseY 	 = 0;				// Y-Koordinate der Maus

var offX = 0;					// X-Offset des Elements, das geschoben werden soll
var offY = 0;					// Y-Offset des Elements, das geschoben werden soll

// Browserweiche
IE = document.all && !window.opera;
DOM = document.getElementById && !IE;

// Initialisierung der Überwachung der Events
document.onmousemove = doDrag;
document.onmouseup = stopDrag;
document.onkeypress = tastenbelegung;

// Wird aufgerufen, wenn eine Taste gedrückt wird
function tastenbelegung (event) {
  if (!event){
    event = event || window.event;
	}

	if(event.ctrlKey && event.altKey){
		if(event.keyCode == 38){
			wert_daten_aendern('daten', "r_top" , -10);
		}
		if(event.keyCode == 40){
			wert_daten_aendern('daten', "r_top" , 10);
		}
		if(event.keyCode == 39){
			wert_daten_aendern('daten', "r_left" , 10);
		}
		if(event.keyCode == 37){
			wert_daten_aendern('daten', "r_left" , -10);
		}
	}

	if(objAktuell != null && block == false){
		if(event.ctrlKey && !event.altKey){
			if(event.keyCode == 38){
				wert_aendern(objAktuell, "r_top" , -10);
			}
			if(event.keyCode == 40){
				wert_aendern(objAktuell, "r_top" , 10);
			}
			if(event.keyCode == 39){
				wert_aendern(objAktuell, "r_left" , 10);
			}
			if(event.keyCode == 37){
				wert_aendern(objAktuell, "r_left" , -10);
			}
		} else if(event.shiftKey && !event.altKey) {
			if(event.keyCode == 38){
				wert_aendern(objAktuell, "r_top" , -1);
			}
			if(event.keyCode == 40){
				wert_aendern(objAktuell, "r_top" , 1);
			}
			if(event.keyCode == 39){
				wert_aendern(objAktuell, "r_left" , 1);
			}
			if(event.keyCode == 37){
				wert_aendern(objAktuell, "r_left" , -1);
			}
		}
	}
}

// Wird aufgerufen, wenn die Maus über einer Box gedrückt wird
function startDrag(objElem) {
	// Objekt der globalen Variabel zuweisen -> hierdurch wird Bewegung möglich
	objDrag = objElem;

	// Offsets im zu bewegenden Element ermitteln
	offX = mouseX - objDrag.offsetLeft;
	offY = mouseY - objDrag.offsetTop;
}

// Wird ausgeführt, wenn die Maus bewegt wird
function doDrag(ereignis) {
	// Aktuelle Mauskoordinaten bei Mausbewegung ermitteln
	mouseX = (IE) ? window.event.clientX : ereignis.pageX;
	mouseY = (IE) ? window.event.clientY : ereignis.pageY;

	// Wurde die Maus über einem Element gedrück, erfolgt eine Bewegung
	if (objDrag != null) {
		// Element neue Koordinaten zuweisen
		objDrag.style.left = (mouseX - offX) + "px";
		objDrag.style.top = (mouseY - offY) + "px";

		// Position in Statusleiste ausgeben
		window.status = "Box-Position: " + objDrag.style.left + ", " + objDrag.style.top;
	}
}

// Wird ausgeführt, wenn die Maustaste losgelassen wird
function stopDrag(ereignis) {
	// Objekt löschen -> beim Bewegen der Maus wird Element nicht mehr verschoben
	objDrag = null;
}

function wert_daten_aendern(id,objekt,wert){
	if(objekt == 'r_top'){
		aktueller_wert = parseInt(document.getElementById(id).style.top);
		aktueller_wert += wert;
		top_aktualisieren(id,aktueller_wert);
	}
	if(objekt == 'r_left'){
		aktueller_wert = parseInt(document.getElementById(id).style.left);
		aktueller_wert += wert;
		left_aktualisieren(id,aktueller_wert);
	}
}

function wert_aendern(id,objekt,wert){
	if(document.getElementById(objekt)){
		var aktueller_wert = eval(document.getElementById(objekt).value);
		aktueller_wert += wert;
		document.getElementById(objekt).value = aktueller_wert;
	}
	if(objekt == 'r_top'){
		top_aktualisieren(id,aktueller_wert);
	}
	if(objekt == 'r_left'){
		left_aktualisieren(id,aktueller_wert);
	}
}

function top_aktualisieren(id,wert) { //v2.0\r\n
	if(document.getElementById(id)){
		zahl = wert + 'px';
		document.getElementById(id).style.top = zahl;
	}
}

function left_aktualisieren(id,wert) { //v2.0\r\n
	if(document.getElementById(id)){
		zahl = wert + 'px';
		document.getElementById(id).style.left = zahl;
	}
}

function width_aktualisieren(id,wert) { //v2.0\r\n
	if(document.getElementById(id)){
		zahl = wert + 'px';
		document.getElementById(id).style.width = zahl;
	}
}

function height_aktualisieren(id,wert) { //v2.0\r\n
	if(document.getElementById(id)){
		zahl = wert + 'px';
		document.getElementById(id).style.height = zahl;
	}
}

function hightlightElement() { //v2.0\r\n
	if(objAktuell){
		document.getElementById(objAktuell).style.backgroundColor = '';
	}
	hScroll = (IE) ? document.body.scrollLeft : window.pageXOffset;
	vScroll = (IE) ? document.documentElement.scrollTop : window.pageYOffset;
	
	if(mouseX < (screen.width / 2)){
		myLeft = (mouseX - hScroll) + 50;
	} else {
		myLeft = (mouseX - hScroll) - 500;
	}

	myTop = (IE) ? (mouseY + vScroll) -200 : (mouseY) -200;
	
	document.getElementById('daten').style.top = myTop + 'px';
	document.getElementById('daten').style.left = myLeft + 'px';
}

function setBlock(wert) { //v2.0\r\n
	block = wert;
}

function showPopup(objPopup, wert) { //v2.0\r\n

	objShow = document.getElementById(objPopup);

	if(mouseX < (screen.width / 2)){
		myLeft = (screen.width / 2);
	} else {
		myLeft = (screen.width / 2) - objShow.style.width;
	}

	myTop = (screen.height / 2) - 300;
	
	objShow.style.top = myTop + 'px';
	objShow.style.left = myLeft + 'px';
	objShow.style.display = wert;
}

function showAktiverMenuepunkt(wert) { //v2.0\r\n
	if(wert == -2){
		document.getElementById('div_mpactive').style.display='block';
	} else {
		document.getElementById('div_mpactive').style.display='none';
	}
}

function update_bild() {
	endung=document.getElementById('bild').value.substr(-4,4);
	if(endung == '.swf'){
		document.getElementById('div_text').style.display='none';
		datei = '/cmseasysystem/web/images/' + document.getElementById('bild').value;
		eintrag = '<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" height=\"150\" id=\"flash\" align=\"middle\">';
		eintrag = eintrag + '<param name=\"allowScriptAccess\" value=\"sameDomain\"/>';
		eintrag = eintrag + '<param name=\"movie\" value=\"' + datei + '\"/>';
		eintrag = eintrag + '<param name=\"quality\" value=\"high\"/>';
		eintrag = eintrag + '<param name=\"bgcolor\" value=\"#ffffff\"/>';
		eintrag = eintrag + '<embed src=\"' + datei + '\" quality=\"high\" bgcolor=\"#ffffff\" height=\"150\" name=\"flash\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\"/>';
		eintrag = eintrag + '</object>';		
		document.getElementById('div_bild_anzeigen').innerHTML = eintrag;
		document.getElementById('div_bild_anzeigen').style.display='block';
	} else {
		datei = '/cmseasysystem/web/images/' + document.getElementById('bild').value;
		if (document.getElementById('bild').value != '') {
			document.getElementById('div_text').style.display='none';
			document.getElementById('div_bild_anzeigen').innerHTML="<img name='bild_anzeige' id='bild_anzeige' height='150px' src='" + datei + "'>";
			document.getElementById('div_bild_anzeigen').style.display='block';
		} else {
			document.getElementById('div_bild_anzeigen').style.display='none';
			document.getElementById('div_text').style.display='block';
			document.getElementById('bild_anzeige').src = '';
		}
	}
}
