var activeCommand = null;
var id = "";
var oLang;
var oLangRPC;
var oParam;
function windowOnLoad()
{
	finished();
	//MM_preloadImages('/data/elementa-kuechen.de/images/nav_service_over.gif','/data/elementa-kuechen.de/images/nav_hilfe_over.gif','/data/elementa/images/nav_zurueck_over.gif','/data/elementa/images/spezi_02.gif','/data/elementa/images/nav/spezi_02a.gif');
}

function eventTrigger(e)
{
	if (window.event)
		e = window.event;
	var element = e.target || e.srcElement;
	if (element.nodeType == 3) // Safari bug
		element = element.parentNode;
	return element;
}

function dispatchEvent(e)
{
	var element = eventTrigger(e);
	if (window.event)
		e = window.event;

	if (e.type == 'click')
		buttonClick(element, true);
	else if (e.type == 'mouseover')
		buttonOver(element);
	else if (e.type == 'mouseout')
		buttonOut(element);
}

function buttonClick(element, sendToXCA)
{

	if (activeCommand != null)
	{
		var oldElement = document.getElementById(activeCommand);
		activeCommand = null;
		if (oldElement)
			buttonOut(oldElement);
	}
	if (element.id == 'openPage.upload')
	{

		var id = document.param.id.value;
		var upload_url="index.php?event=upload&id="+id;
		var upload_width = 550;
		var upload_height = 772;
		var scw = screen.width;
		var sch = screen.height;
	alert("left="+(scw-upload_width)/2+",top="+((sch-upload_height)/2));
		upload_win = window.open(upload_url, "2", "left="+(scw-upload_width)/2+",top="+((sch-upload_height)/2)+",width="+upload_width+",height="+upload_height+",scrollbars=yes,left=0,top=0");
	} else
	{
		element.style.color = '#939393';
		activeCommand = element.id;
		if (sendToXCA)
		{
			var xcaApplet = document.getElementById('XCA');
			if (xcaApplet) xcaApplet.sendXML("draw", "startEx.cmd." + activeCommand, xcaApplet.newXMLNode());
		}
	}
}

function buttonAppletClick(button)
{
	eventApplet(button);
}

function buttonUploadClick(button)
{
	id = hParam.get("id");
	var bYes = true;
	var kid = hParam.get("kid");
	var lang = oParam.lang;
	var uid = hParam.get("uid");

	if (document.param.saved.value == '1')
	{
		bYes = confirm (oLang.planung_ueberschreiben);
	}
	if (button == 'upload.open')
	{
		var upload_width = 550;
		var upload_height = 772;
		var scw = screen.width;
		var sch = screen.height;
		var upload_url="index.php?event=upload&id="+id;
		upload_win = window.open(upload_url, "2", "left="+(scw-upload_width)/2+",top="+((sch-upload_height)/2)+",width="+upload_width+",height="+upload_height+",scrollbars=yes,left=0,top=0");
	}
	if (button == 'upload.open2' && bYes)
	{
		var upload_width = 550;
		var upload_height = 772;
		var scw = screen.width;
		var sch = screen.height;
		var upload_url="index.php?event=upload2&id="+id+"&kid="+kid+"&uid="+uid;
		upload_win = window.open(upload_url, "2", "left="+(scw-upload_width)/2+",top="+((sch-upload_height)/2)+",width="+upload_width+",height="+upload_height+",scrollbars=yes,left=0,top=0");
	}
	if (button == 'upload.cancel'){
		cText = "Wollen Sie wirklich abbrechen?";
		if (lang == "nl") cText = "Wilt u het ontwerpen werkelijk afbreken?";
		if(confirm(cText))
		{
			var upload_width = 450;
			var upload_height = 552;
			var scw = screen.width;
			var sch = screen.height;
			var upload_url="index.php?event=cancel&id="+id;
			upload_win = window.open(upload_url, "2", "left="+(scw-upload_width)/2+",top="+((sch-upload_height)/2)+",width="+upload_width+",height="+upload_height+",scrollbars=yes,left=0,top=0");
		}
	}
}

function buttonOver(element)
{
	var a=element.split('.');
	var event = a[0];
	var action = a[1];
	switch (event)
	{
		case "onlinehelp":
			eventOnlinehelp(action);
			break;
		default:
		if (activeCommand != element.id) element.style.color = '#FF9900';
		break;
	};
}

function buttonOut(element)
{
	var a=element.split('.');
	var event = a[0];
	var action = a[1];
	switch (event)
	{
		case "onlinehelp":
			if ($('onlinehelpPanel')) $('onlinehelpPanel').setHTML("");
			break;
		default:
		if (activeCommand != element.id) element.style.color = '#000000';
		break;
	};
}

function frameLocation (url, framename) {
  parent[framename].location.href = url;
}

function buttonHelpClick(button)
{
	id = document.param.id.value;
	var a=button.split('.');
	var event = a[0];
	var action = a[1];
	switch (event)
	{
		case "applet":
			eventApplet(action);
		case "help":
			eventHelp(action);
			break;
		case "upload":
			eventUpload(action);
			break;
		case "service":
			eventService(action);
			break;
		case "profi":
			eventProfi(action);
			break;
		case "form":
			eventForm(action);
			break;
		case "input":
			eventInput(action);
			break;
	}

}
function showContent(pan)
{
	var appPan = $('appletPanel');
	var panel = $(pan);
	var size = 0;
	var height = 0;
	hideContent ( $$('div.contentPanel') );

	if (pan == 'appletPanel' && appPan)
	{
		appPan.setStyle('visibility', 'visible');
		return;
	}
	if (panel){
		size = panel.getSize();
		height = size.scrollSize.y + 'px';
		panel.setStyles({'visibility': 'visible',
							'display': 'inline',
							'height': ''});
		panel.setStyle('zIndex', '2');
	}
	return;
}
function hideContent(pans)
{
	var pan = $('appletPanel');

	pans.forEach( function(toc) { toc.setStyles(
										{'visibility': 'hidden',
										'height': '0px',
										'display': 'none',
										'zIndex': '0'});
								}
	);

	// für applet nur hidden, da sonst applet neu laed
	if(pan)
	{	pan.setStyle('visibility', 'hidden');
		pan.setStyle('zIndex', '0');
	}
}
/**
* blendet div-container mit id = pan aus
*
**/
function hidePanel(pan)
{
	$(pan).setStyles({
					'visibility': 'hidden',
					'display': 'none',
					'zIndex': '0'});
}
function showHelp()
{
	var helpPanel = $('helpPanel');
	var appletPanel = $('appletPanel');
	var formPanel = "";
	var contPanel = $('contPanel');
	if ($('formPanel')) formPanel = $('formPanel');

	if (contPanel) hidePanel('contPanel');
	helpPanel.style.zIndex = '2';
	//helpPanel.style.position = 'absolute';
	//helpPanel.style.top = '0px';
	//helpPanel.style.left = '0px';
	helpPanel.style.visibility = 'visible';
	helpPanel.style.display = 'inline';

	appletPanel.style.zIndex = '0';
	appletPanel.style.visibility = 'hidden';
	if (document.getElementById('formPanel'))
	{	formPanel = document.getElementById('formPanel');
		formPanel.style.zIndex = '0';
		formPanel.style.visibility = 'hidden';
	}
}
function showNavi(nav)
{new Ajax('/index.php?event=navi&action='+nav+'&id='+id, {method: 'get', update: $('naviHelp'), onComplete: function () {showNaviHelp()}}).request();
}
function showForm()
{
	var formPanel = $('formPanel');
	var appletPanel = $('appletPanel');
	var helpPanel = $('helpPanel');
	var contPanel = $('contPanel');
	var pContent;

	formPanel.style.zIndex = '2';
	formPanel.style.position = 'absolute';
	formPanel.style.visibility = 'visible';
	formPanel.setStyle('display', 'inline');

	appletPanel.style.zIndex = '0';
	appletPanel.style.visibility = 'hidden';
	helpPanel.style.zIndex = '0';
	helpPanel.style.visibility = 'hidden';

	if (contPanel)
	{
		contPanel.style.zIndex = '0';
		contPanel.style.visibility = 'hidden';
	}


	new Ajax('/index.php?event=navi&action=service&id='+id, {method: 'get', update: $('naviHelp'), onComplete: function () {showNaviHelp()}}).request();
	pContent = $('content');
	if (pContent) pContent.scrollTo(0, 0);
	// hideWaitImage();
}
function hideApplet()
{
	var appletPanel = $('appletPanel');
	appletPanel.style.zIndex = '0';
	appletPanel.style.visibility = 'hidden';
}
function showApplet()
{
	var helpPanel = $('helpPanel');
	var formPanel = "";
	var appletPanel = $('appletPanel');

	helpPanel.style.zIndex = '1';
	helpPanel.style.visibility = 'hidden';
	if ($('formPanel'))
	{
		formPanel = $('formPanel');
		formPanel.style.zIndex = '1';
		formPanel.style.visibility = 'hidden';
	}

	buttonAppletClick('objectMode');
	appletPanel.style.zIndex = '2';
	appletPanel.style.visibility = 'visible';
	if ($('pfeil')) setStep('planung');

}
function showCont()
{
	var contPanel = $('contPanel');
	if (contPanel)
	{
	var helpPanel = $('helpPanel');
	var formPanel = "";

	helpPanel.style.zIndex = '1';
	helpPanel.style.visibility = 'hidden';
	if ($('formPanel'))
	{
		formPanel = $('formPanel');
		formPanel.style.zIndex = '1';
		formPanel.style.visibility = 'hidden';
	}

	contPanel.style.zIndex = '2';
	contPanel.style.visibility = 'visible';
	contPanel.style.display = 'inline';
	return;
	}
	showApplet();
	return;
}

function showNaviHelp()
{
	var naviHelp = $('naviHelp');
	var naviMain = $('naviMain');

	if (naviHelp)
	{
		naviHelp.style.zIndex = '2';
		naviHelp.style.position = 'absolute';
		naviHelp.style.top = '1px';
		naviHelp.style.left = '1px';
		naviHelp.style.visibility = 'visible';
	}

	if (naviMain)
	{
		naviMain.style.zIndex = '0';
		naviMain.style.visibility = 'hidden';
	}

}
function showNaviMain()
{
	var naviHelp = document.getElementById('naviHelp');
	var naviMain = document.getElementById('naviMain');

	naviHelp.style.zIndex = '0';
	naviHelp.style.visibility = 'hidden';
	naviHelp.innerHTML = "";

	naviMain.style.zIndex = '2';
	naviMain.style.visibility = 'visible';
}
function setHelp(cont)
{
	var helpPanel = document.getElementById('helpPanel');

	helpPanel.innerHTML = cont;
}

function submitForm(buttonID)
{
	switch (buttonID)
	{
		case 'service.submit':
			if (checkFormService())
			{ $('Formular').send({update: $('formPanel'), onComplete: function () {showForm()}});
			}
			break;
		case 'profi.submit':
			if (checkFormProfi())
			{ $('Formular').send({update: $('formPanel'), onComplete: function () {showForm()}});
			}
			break;
		case 'upload.submit':
			eventUpload('submit');
			break;
		case 'checklist.submit':
			showWaitImage();
				$('Formular').send({update: $('formPanel'), onComplete: function () {showForm()}, evalScripts: true});
			break;
		case 'start.kontakt':
			if (checkform())
			{
				showWaitImage();
				$('Formular').send();
			}
	}
}
function eventHelp(action)
{
	switch(action)
	{
		case "start":
			new Ajax('/index.php?event=help_ajax&id='+id, {method: 'get', update: $('helpPanel'), onComplete: function () {showHelp()}}).request();
			showNavi('help');
			break;
		case "popup":
			mac_Fenster('880', '515', '/index.php?event=help_popup&id='+id, 'Hilfe');
			break;
		case "close":
			showApplet();
			showNaviMain();
			break;
		case "close2":
			hidePanel('helpPanel');
			showCont();
			showNaviMain();
			break;
		case "lexikon":
		case "senden":
		case "oberflaechen":
		case "grundriss":
		case "fenster":
		case "moebel":
		case "3dansicht":
		case "text":
		case "messen":
			new Ajax('/index.php?event=help_ajax&action='+action+'&id='+id, {method: 'get', update: $('helpPanel'), onComplete: function () {showHelp()}, evalScripts: true}).request();
			showNavi('help');
			break;
		case "voraus":
		case "erwartung":
			new Ajax('/index.php?event=help_ajax&action='+action+'&id='+id, {method: 'get', update: $('helpPanel'), onComplete: function () {showHelp()}, evalScripts: true}).request();
			showNavi('voraus');
			break;
			break;
	}
}
function showBeispiel()
{
	alert(showBeispiel);
	window.addEvent('domready',startGallery);
}
function startUploadApplet(uid)
{
	/** laed Upload Applet in div uploadPanel
	 -> applet speichert Daten in DB */
	if ($('uploadPanel') && (window.gecko) )
	{	window.addEvent('domready', function() {
												$('uploadPanel').setHTML(htmlUpload);
												});
		window.addEvent('domready', function() {
												setTimeout('checkFinishUpload("inline")', 2000);
												});
	}
	else
	{
	window.open('/index.php?event=planerUpload_popup&uid='+uid+'&id='+hParam.get("id"), "Upload", "left=1,top=1,width=50,height=30,scrollbars=no");
	}
}
function eventUpload(action)
{
	uid = hParam.get("uid");
	var url = "";

	switch(action)
	{
		case "start":
			var bYes = true;
			if (parseInt($('saved').getValue()) > 0)
			{
				bYes = confirm (oLang.planung_ueberschreiben);
			}
			if (bYes)
			{
				showWaitImage();
				url = '/index.php?event=upload_ajax&uid='+uid+'&id='+id;
				if (oParam.liefid != "") url = url+"&liefid="+oParam.liefid;
				if (oParam.stil != "") url = url+"&stil="+oParam.stil;
				new Ajax(url, {method: 'get', update: $('formPanel'), onComplete: function() {showForm();}, evalScripts: true}).request();
				window.open('/index.php?event=planerUpload_popup&uid='+uid+'&id='+hParam.get("id"), "Upload", "left=1,top=1,width=50,height=30,scrollbars=no");
			}
			break;
		case "start2":
			var bYes = true;
			if (parseInt($('saved').getValue()) > 0)
			{
				bYes = confirm (oLang.planung_ueberschreiben);
			}
			if (bYes)
			{
				// showWaitImage();
				new Ajax('/index.php?event=upload2_ajax&id='+hParam.get("id")+'&kid='+hParam.get("kid")+'&uid='+uid, {method: 'get', update: $('formPanel'), onComplete: function () {showForm(); document.param.saved.value = '1';}, evalScripts: true}).request();
				/** laed Upload Applet in div uploadPanel
				 -> applet speichert Daten in DB */
				window.open('/index.php?event=planerUpload_popup&uid='+uid+'&id='+hParam.get("id"), "Upload", "left=1,top=1,width=50,height=30,scrollbars=no");
				// new Ajax('/index.php?event=planerUpload_ajax&uid='+uid+'&id='+hParam.get("id"), {method: 'get', update: $('uploadPanel')}).request();
			}
			break;
		case 'submit':
			if (checkform())
			{
				showWaitImage();
				$('Formular').send({update: $('formPanel'), onComplete: function () {showForm()}, evalScripts: true});
				document.param.saved.value = '1';
			}
			break;
	}
}

function eventService(action)
{
	switch(action)
	{
		case "start":
			new Ajax('/index.php?event=service_ajax&id='+id, {method: 'get', update: $('formPanel'), onComplete: function () {showForm()}, evalScripts: true}).request();
			break;
	}
}
function eventProfi(action)
{
	switch(action)
	{
		case "start":
			new Ajax('/index.php?event=profi_ajax&id='+id, {method: 'get', update: $('formPanel'), onComplete: function () {showForm()}, evalScripts: true}).request();
			break;
	}
}
function eventForm(action)
{
	switch(action)
	{
		case "close":
			showApplet();
			showNaviMain();
			break;
	}
}
function eventApplet(action)
{
	var xcaApplet = document.getElementById('XCA');
	// onlinehilfe setzen
	if ($('onlinehelpPanel')) eventOnlinehelp(action);
	// command an applet senden
	xcaApplet.sendXML("draw", "startEx.cmd." + action, xcaApplet.newXMLNode());
}
function eventOnlinehelp(action)
{
	if ($('onlinehelpPanel'))
	{
		if (hasEventOnlinehelp && myEventOnlinehelp(action)) return;
		switch(action)
		{

		case "planerStart":
		case "spezialisten":
		case "erwartung":
		case "technik":
		case "floorPlan":
		case "doorWindowMode":
		case "objectMode":
		case "material":
		case "show3D":
		case "leer":
		case "placeText":
		case "measureT":
		case "floorPlanSelect":
		case "service":
		case "senden":
		case "upload.start":
		case "planungSenden":
		case "default":
			hideOnlinehelpSteps();
			if($('oh_'+action)) $('oh_'+action).setStyle('display', 'inline');
			/* setActive(action); */
			break;
		case "upload.open2":
		case "upload.start2":
			hideOnlinehelpSteps();
			if($('help_stepUpload')) $('help_stepUpload').setStyle('display', 'inline');
			break;
		case "help.start":
		case "help.start2":
			hideOnlinehelpSteps();
			if($('help_stepHelp')) $('help_stepHelp').setStyle('display', 'inline');
			break;
		case "upload.cancel":
			hideOnlinehelpSteps();
			if($('help_stepCancel')) $('help_stepCancel').setStyle('display', 'inline');
			break;
	}
	}
}

function eventInput(action)
{
	switch(action)
	{
		case "lieferadr":
			if($('input.lieferadr').getValue())
			{
				new Fx.Style('lieferadrPanel','height').start(0,90);
				//new Fx.Style('lieferadrPanel','opacity').start(1);
				$('lieferadrPanel').setStyles({'visibility': 'visible', 'display': 'inline'});

			}
			else
			{
				new Fx.Style('lieferadrPanel','height').start(90,0);
				//new Fx.Style('lieferadrPanel','opacity').start(0);
				$('lieferadrPanel').setStyles({'visibility': 'hidden', 'display': 'none'});
				if ($('LieferPLZ')) $('LieferPLZ').setValue = '';
				if ($('Lieferort')) $('Lieferort').setValue = '';

			}
			break;
		case "rueckruf":
			if($('input.rueckruf').getValue())
			{
				new Fx.Style('rueckrufPanel','height').start(0,40);
				//new Fx.Style('rueckrufPanel','opacity').start(1);
				$('rueckrufPanel').setStyles({'visibility': 'visible', 'display': 'inline'});
			}
			else
			{
				new Fx.Style('rueckrufPanel','height').start(40,0);
				//new Fx.Style('rueckrufPanel','opacity').start(0);
				$('rueckrufPanel').setStyles({'visibility': 'hidden', 'display': 'none'});
			}
			break;
	}
}
function confirmedExit(url)
{
	var bYes;
	if (url != null)
	{
		bYes = confirmeExit();
		if (bYes && url != "") window.location.href = url;
	}
	return bYes;
}
function confirmeExit()
{
	var bYes;

	cfMessage = oLang.planer_verlassen;

	bYes = confirm (cfMessage);
	return bYes;
}
function setUploadID(id)
{
	document.param.uid.value = id;
}
function setParam(key, val)
{
	var input = $(key);
	input.value = val;
}
function showWaitImage()
{
	var waitImage = $('waitImage');
	var appletPanel = $('appletPanel');

	waitImage.innerHTML = '<img src="/images/grundriss_ani_modem.gif" width="50" height="50">';
	waitImage.style.zIndex = '3';
	waitImage.style.position = 'absolute';
	waitImage.style.top = centerHeight()-25 + 'px';
	waitImage.style.left = centerWidth()-25 + 'px';
	waitImage.style.visibility = 'visible';
	appletPanel.style.visibility = 'hidden';

}

/**
*
*/
function hideWaitImage(){
	var waitImage = $('waitImage');
	if (waitImage)
	{
		waitImage.innerHTML = '';
		waitImage.style.zIndex = '0';
		waitImage.style.top = '0px';
		waitImage.style.left = '0px';
		waitImage.style.visibility = 'hidden';
	}

}
function eventJSON()
{
	var jsonRequest = new Json.Remote("/index.php?event=jsonRequest&action=getText&id="+hParam.get("id"), {method: 'get', onComplete: function (oData) {jsonText(oData)}});
	jsonRequest.send();

	var jsonRequest2 = new Json.Remote("/index.php?event=jsonRequest&action=getParam&id="+hParam.get("id"), {onComplete: function(oData) {jsonParam(oData);}});
	jsonRequest2.send();
}
function jsonText(oData)
{
	//alert(oData);
	oLang = oData;
}
function jsonParam(oData)
{
	oParam = oData;
}
function buttonAppletTest(bid)
{
	alert (bid);
	var xcaApplet = document.getElementById('XCA');
	alert( xcaApplet.sendXML("draw", "startEx." + bid, xcaApplet.newXMLNode()));
}





	// register events
	//var buttons = document.getElementsByTagName('div');

	//for (var i = 0; i < buttons.length; i++) {

	//	if (buttons[i].className == 'commandButton') {
	//		buttons[i].onclick = dispatchEvent;
	//		buttons[i].onmouseover = dispatchEvent;
	//		buttons[i].onmouseout = dispatchEvent;
	//	}
	//}
	// when applet starts, this command is active
	//var startElement = document.getElementById('floorPlan');
	//if (startElement)
	//	buttonClick(startElement, false);

