
// APPLKONF: springt in naechstes Edit, wenn Enter gedrueckt
function goToNextEdit(obj)
{
	//alert ("goToNextEdit "+window.event.keyCode);
	if(window.event.keyCode != 13) return true;
	var currentElement;
	var newElement;
	var i=0;
	var currentStyle;
	var edits=document.getElementsByTagName("input");
	var currentGefunden=false;
	var currentParent;
	var currentParentElementVisibility;
	var currentReadonly;
	while (currentGefunden==false && i<edits.length) // suche aktuelles edit
	{
		var currentElement = edits[i];
		if (currentElement==obj) // aktuelles edit gefunden
		{
			currentGefunden = true;
			for (j=i+1;j<edits.length;j++)
			{
				
				currentStyle					= myRuntimeStyle(edits[j]).visibility;
				currentType						= edits[j].type;
				currentMode						= edits[j].disabled;
				currentReadonly					= edits[j].form.readonly;
				
				currentParentElementVisibility	=''; //init
				currentParent					= edits[j].parentElement;
				currentParentElementVisibility	= myRuntimeStyle(currentParent).visibility;
				
				if (currentStyle!='hidden' && currentType !='image' && currentMode!=true && currentParentElementVisibility!='hidden' && currentReadonly!=true)
				{
					
					newElement					= edits[j];
					newElement.focus();
					newElement.select();
					//break;
					return true;
				} 
			}
		}
		i++
	}
	return false;
}

// APPLKONF: checkt Änderungs-Status
// Sind die Ist-Daten invalide?
// Ist die Getriebemotoren tabelle invalide?
function checkDataState(obj)
{
	var dataChanged;
	var dataChangedAll;
	var msg;
	dataChanged = document.getElementById ("DATA_CHANGED").value;
	
	dataChangedAll = document.getElementById ("DATA_CHANGED_ALL").value;
	
	//alert (""+ dataChanged + " / " + dataChangedAll);
	
	// wenn die Getriebemotoren tabelle invalidiert ist (und das ist sie, wenn DATA_CHANGED_ALL="TRUE")
	// muss der benutzer die Suche neu starten!!!
	if (dataChangedAll =="TRUE")
	{
		msg = document.getElementById("NO_SEARCH_RESULT_ERROR_MSG").value;
		alert (msg);
		return;
	}
	
	// wenn Eingabedaten veraendert wurden und die getriebe-motoren tabelle noch valide ist, DANN IST-Daten neu ziehen!!! Und zwar nur DANN!!!
	if (dataChanged =="TRUE")
	{
		ekSubmit(obj.id);	
	}
}

// APPLKONF: zeigt Berechnungsgrundlage
function show_instruction(obj)
{
	var pdf_name;
	pdf_name='';
	var doc_path=document.getElementById("DOC_PATH").value;
	
	if (obj.name=="IDC_BERECHNUNGSGRUNDLAGE")
	{
		alert ('Bitte wenden Sie sich an den Verteiler dieser Software bzgl. Zugriffs auf die Berechnungsgrundlage.');
		//pdf_name=doc_path+"aa/Berechnungsgrundlage_Fahrwagen.pdf"	
		
	}
	else if (obj.name="IDC_ANLEITUNG")
	{
		
		pdf_name=doc_path+"aa/Anleitung.pdf"	
		
	}
	if (pdf_name!='')
		window.open(pdf_name,'PDF',"toolbar=no");
}

// APPLKONF
function check_calc_value(element)
{
	not_valid = new Boolean(true);
	if ((element =='0') || (element == null) || (element == '0.0') || (element == '0.00') || (element =='') || (element == '0.000'))
		not_valid = false;
	return not_valid;
}

// APPLKONF: checkt msg-boxen für alle apllikationen
function load_application()
{
	var FOUND_IN_USER_TOLERANCE;
	FOUND_IN_USER_TOLERANCE = document.getElementById("FOUND_IN_USER_TOLERANCE").value;
	
	if (FOUND_IN_USER_TOLERANCE=="false")
	{
		var msg = document.getElementById ("NO_GEAR_FOUND_IN_USER_TOLERANCE").value;
		alert (msg);
		document.getElementById("FOUND_IN_USER_TOLERANCE").value = "true";
	}
	var anzahl;
	anzahl = document.getElementById("COUNT_RESULTS").value;
	if (anzahl == '-1')
	{ 
		var msg = document.getElementById ("NO_GEAR_MOTOR_FOUND").value;
		alert (msg);
		document.getElementById("COUNT_RESULTS").value = 0;
		//ekSubmit("");
	}	
		
	var no_motor_choosed;
	var error_msg;
	var no_search_results;
	
	no_search_results 	= document.getElementById("NO_SEARCH_RESULT").value;
	no_motor_choosed 	= document.getElementById("NO_CHOOSED_MOTOR").value;

	if (no_search_results =="1")
	{
		error_msg = document.getElementById ("NO_SEARCH_RESULT_ERROR_MSG").value;
		document.getElementById("NO_SEARCH_RESULT").value = "0";
		alert (error_msg);
		return;
	}
	
	if (no_motor_choosed =="1")
	{
		error_msg = document.getElementById ("NO_CHOOSED_MOTOR_ERROR_MSG").value;
		document.getElementById("NO_CHOOSED_MOTOR").value = "0";
		alert (error_msg);
		return;
	}
		
}
// APPLKONF: checkt beim onload des Screens ob div. Fehlermeldungen 
// ausgegeben werden sollen; (Fahrwagen)
function load_fahrwagen()
{

	// gibt Fehlermeldung aus, wenn maximale Geschwindigkeit nicht brauchbar;
	var FINAL_VELOCITY;
	FINAL_VELOCITY = document.getElementById ("FINAL_VELOCITY").value;
	if (FINAL_VELOCITY =="1")
	{
		my_msg = document.getElementById("FINAL_VELOCITY_ERROR_MSG").value;
		// Ergebnisse loeschen
		deletetablecontent("");
		alert (my_msg);
		document.getElementById ("FINAL_VELOCITY").value = "0";
	}
	
	// gibt Fehlermeldung aus, wenn Stillstand nicht errechnet werden konnte (wert negativ)
	var STILLSTAND_ERROR;
	STILLSTAND_ERROR = document.getElementById ("STANDSTILL_ERROR").value;
	if (STILLSTAND_ERROR =="1")
	{
		my_msg = document.getElementById("STANDSTILL_ERROR_MSG").value;
		// Ergebnisse loeschen
		deletetablecontent("");
		alert (my_msg);
		document.getElementById ("STANDSTILL_ERROR").value = "0"; // zuruecksetzen
	}
	
	// gibt Fehlermeldung aus, wenn Frequenz > 120 Hz;
	var FREQUENZ_OVERSHOOT;
	FREQUENZ_OVERSHOOT = document.getElementById ("FREQUENZ_OVERSHOOT").value;
	if (FREQUENZ_OVERSHOOT =="1")
	{
		my_msg = document.getElementById("FREQUENZ_OVERSHOOT_ERROR_MSG").value;
		// Ergebnisse loeschen
		deletetablecontent("");
		alert (my_msg);
		document.getElementById ("FREQUENZ_OVERSHOOT").value = "0";
	}
	
	// gibt Fehlermeldung aus, wenn maximal uebertragbare Geschwindigkeit ueberschritten;
	MAX_SPEEDUP = document.getElementById ("MAX_SPEEDUP").value;
	if (MAX_SPEEDUP =="1") // kuemmert sich um maximale Beschleunigung in fahrprofil
	{
		my_msg = document.getElementById("MAX_SPEEDUP_MSG").value;
		// Ergebnisse loeschen
		deletetablecontent("");
		alert (my_msg);
		document.getElementById ("MAX_SPEEDUP").value = "";
	}
	if (MAX_SPEEDUP =="2") // kuemmert sich um bremsverzoegerung bei bremsenauslegung
	{
		my_msg = document.getElementById("MAX_SPEEDUP_MSG").value;
		alert (my_msg);
		document.getElementById ("MAX_SPEEDUP").value = ""
	}
	
	// gibt Fehlermeldung aus, wenn max. Steigung ueberschritten!!!
	var MAX_INCREASE;
	MAX_INCREASE = document.getElementById ("MAX_INCREASE").value;
	if (MAX_INCREASE =="1")
	{
		my_msg = document.getElementById("MAX_INCREASE_MSG").value;
		deletetablecontent("");
		alert (my_msg);
		document.getElementById ("MAX_INCREASE").value = "";
	}

	TRANS_MOMENT_ERROR = document.getElementById ("TRANS_MOMENT_ERROR").value;
	if (TRANS_MOMENT_ERROR =="1") // meldung falls moment nicht uebertragbar bei bremsung
	{
		my_msg = document.getElementById("TRANS_MOMENT_ERROR_MSG").value;
		alert (my_msg);
		document.getElementById ("TRANS_MOMENT_ERROR").value = "";
	}
	
	// Zeigt Diagramm an, wenn Schalter entsprechend gesetzt;
	var SHOW_DIAGRAMM;
	SHOW_DIAGRAMM = document.getElementById("SHOW_DIAGRAMM").value;
	
	if (SHOW_DIAGRAMM =="1")
	{
		var win_id="abbelgrutze";
		var window_ret;
		window_ret = self.open("about:blank",win_id ,"width=940 height=850");	
		//self.open("http://","abbelgrutze","width=800,height=600");
		
		document.isycat.target = win_id;		
		ekSubmit("IDC_DIAGRAMME_BUT");
	//	document.isycat.target = "_self";
	//	ekSubmit(element);
		document.getElementById('IsyDisable_CONTAINER').style.visibility = 'hidden';
		document.getElementById("SHOW_DIAGRAMM").value = "0"
	}	
}

// APPLKONF: zeigt XL-Version der FahrwagenKonstellation
function show_detail_image(element)
{
	var win_id="abbelgrutze2";
	var window_ret;
	window_ret = self.open("about:blank",win_id ,"width=940 height=850");	
	document.isycat.target = win_id;
		
	ekSubmit(element);
		//IDC_HUBTISCHSYSTEM_IMG
	document.getElementById('IsyDisable_CONTAINER').style.visibility = 'hidden';


}
// APPLKONF: prueft ob Eckfrequenz > Maximalfrequenz, dan Meldung an benutzer!!!
function FuTableCheckFeck(element)
{
	var my_feck;
	var my_fmax;
	my_feck = document.getElementById ("IDC_FU_FREQUENZ_ECK").value;
	my_fmax = document.getElementById ("IDC_FU_FREQUENZ_MAX").value;
	my_feck = Number(my_feck);
	my_fmax = Number(my_fmax);
	
	if (my_feck > my_fmax)
	{
		my_error = document.getElementById("NOT_VALID_VALUES_FUTABLE_FECK").value;
		alert (my_error);
		document.focus();
		element.focus();
		element.select();
		return;
	}
	else
	{
		ekSubmit(element);
	}
}

// APPLKONF: checkt ob Zahlenwerte in edits eingegeben wurden
function check_number_format(element)
{
	// copied from mderschang@sgm
	sZahl = element.value;
	sAusdr = /[^0-9.,]/;

	if (sAusdr.exec(sZahl) != null)
	{	
		errormsg = document.getElementById("NOT_VALID_NUMBER_FORMAT").value;
		alert(errormsg);
		element.value = "0.00";
		element.select();
	}

}

// APPLKONF: checkt ob gefundene getriebemotoren in Suchbereich des benutzers gefunden wurden
function check_result()
{

}

// APPLKONF: gibt Warnhinweis, wenn EHB geladen werden soll
function load_ehb()
{
	alert ("Hinweis: Die Applikation EHB befindet sich noch in der Implementierungsphase!")
}

// APPLKONF: prueft alle Eingabewerte detr Applikationen
function check_valid_values(element)
{
	var applikation = document.getElementById("CHOOSED_APPLIKATION").value;	
	
	var my_error ="";
	if (applikation == "Fahrwagen")
	{
		var betrieb = document.getElementById("BETRIEBSART").value;	
		var dynamik = document.getElementById("DYNAMIK").value;	
		var querkraft_behaftet = document.getElementById("IDC_QUERKRAFT_BEHAFTET_RADIO").checked;
		
		content = document.getElementById("IDC_MASSE_FAHRWAGEN").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_MASSE_FAHRWAGEN").value;

		content = document.getElementById("IDC_MASSE_LAST").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_MASSE_LAST").value;
		
		content = document.getElementById("IDC_LAUFRADDURCHMESSER").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_LAUFRAD").value;
		
		if (querkraft_behaftet==true)
		{
			var z1 = document.getElementById('IDC_RITZEL_AW_DURCHMESSER').value;
			var z2 = document.getElementById('IDC_RITZEL_R_DURCHMESSER').value;	
				
			if ((z1 == '0') || (z1 == '') || (z1 == '0.00') || (z2 == '0') || (z2 == '') || (z2 == '0.00'))
			{
				my_error = document.getElementById("NOT_VALID_VALUES_RITZELDURCHMESSER").value;		
			}
		}
		
		
		// Zapfendurchmesser nur pruefen, wenn STAHL / STAHL	
		if (document.getElementById("IDC_MATERIALPAARUNG_COMBO").value == "ID_STAHL_STAHL")
		{
			content = document.getElementById("IDC_ZAPFENDURCHMESSER").value;	
			if ((check_calc_value(content)==false) && (my_error == ""))
				my_error = document.getElementById("NOT_VALID_VALUES_ZAPFENDURCHMESSER").value;	
		}
		if (betrieb == 'FU')
		{
			content = document.getElementById("IDC_MAX_FREQUENZ_COMBO").value;	
			if ((check_calc_value(content)==false) && (my_error == ""))
				my_error = document.getElementById("NOT_VALID_VALUES_MAXFREQUENZ").value;
			if (dynamik == 'PROFIL')
			{
				my_ret = 0;
				var zyklus_weg;
				zyklus_weg = document.getElementById("IDC_ZYKLUS_WEG").value;	
				if (((zyklus_weg == '') || (zyklus_weg == '0.00')) && (my_error == ""))
					my_ret = -1;
				
				var zyklus_zeit;
				zyklus_zeit = document.getElementById("IDC_ZYKLUS_ZEIT").value;	
				if (((zyklus_zeit == '') || (zyklus_zeit == '0.00')) && (my_error == ""))
					my_ret = -1;
					
				var zyklus_beschleunigung;
				zyklus_beschleunigung = document.getElementById("IDC_ZYKLUS_BESCHLEUNIGUNG").value;	
				if (((zyklus_beschleunigung == '') || (zyklus_beschleunigung == '0.00')) && (my_error == ""))
					my_ret = -1;
				
				var anzahl_doppelspiele;
				
				anzahl_doppelspiele = document.getElementById("IDC_ANZAHL_DOPPELSPIELE").value;	
				if (((anzahl_doppelspiele == '') || (anzahl_doppelspiele == '0.00')) && (my_error == ""))
					my_ret = -1;
				
				
				if (my_ret == -1)
					my_error = document.getElementById("NOT_VALID_VALUES_PROFIL").value;
			}
			
			if (dynamik == 'SIMPLE')
			{
				content = document.getElementById("IDC_MAX_GESCHWINDIGKEIT").value;	
				if ((check_calc_value(content)==false) && (my_error == ""))
					my_error = document.getElementById("NOT_VALID_VALUES_MAX_GESCHWINDIGKEIT").value;

				content = document.getElementById("IDC_BESCHLEUNIGUNG").value;	
				if ((check_calc_value(content)==false) && (my_error == ""))
					my_error = document.getElementById("NOT_VALID_VALUES_BESCHLEUNIGUNG").value;
					
				content = document.getElementById("IDC_SCHLEICHGESCHWINDIGKEIT").value;	
				if ((check_calc_value(content)==false) && (my_error == ""))
					my_error = document.getElementById("NOT_VALID_VALUES_SCHLEICHGESCHWINDIGKEIT").value;

			}
		}
		
		
		
	}
	
		if (applikation == "E-Haengebahn")
	{
		var betrieb = document.getElementById("BETRIEBSART").value;	
		var dynamik = document.getElementById("DYNAMIK").value;	
		content = document.getElementById("IDC_MASSE_FAHRWAGEN").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_MASSE_FAHRWAGEN").value;

		content = document.getElementById("IDC_MASSE_LAST").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_MASSE_LAST").value;
		
		content = document.getElementById("IDC_LAUFRADDURCHMESSER").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_LAUFRAD").value;
		
		content = document.getElementById("IDC_MAX_FREQUENZ").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_MAXFREQUENZ").value;
			
		
		content = document.getElementById("IDC_MAX_GESCHWINDIGKEIT").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_MAX_GESCHWINDIGKEIT").value;

		content = document.getElementById("IDC_BESCHLEUNIGUNG").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_BESCHLEUNIGUNG").value;		

	}
	
	if (applikation == "Hubtisch")		
	{
		
		content_EIGENGEWICHT = document.getElementById("IDC_EIGENGEWICHT").value;
		content_LASTGEWICHT = document.getElementById("IDC_LASTGEWICHT").value;	
				
		if (((content_EIGENGEWICHT == '') || (content_EIGENGEWICHT == '0.00')) && (my_error == ""))
		{
			if (((content_LASTGEWICHT == '') || (content_LASTGEWICHT == '0.00')) && (my_error == ""))
			{
				my_error = document.getElementById("NOT_VALID_VALUES_MASSE_HUBTISCH").value;	
			}
			
		}
		
		content = document.getElementById("IDC_HUB").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_HUB").value;
		
			content = document.getElementById("IDC_ZEIT").value;	
		if ((check_calc_value(content)==false) && (my_error == ""))
			my_error = document.getElementById("NOT_VALID_VALUES_ZEIT").value;
	}
	
	if (my_error != "") 
		alert (my_error);
	else
	
	ekSubmit(element);
}

// APPLKONF
function not_implemented(element)
{
	alert ("Applikation ist nicht implementiert!")	
}

// APPLKONF: oeffnet Diagramm wenn Fahrwagen mit Fahrprofil gewaehlt und Daten valide
function ShowDiagramm(element)
{	

	document.isycat.target = "_self";
	var my_ret;
	var my_error;
	my_ret = 0;
	my_error = "";
	
	// pruefung ob pflichtfelder ausgefuellt
	var zyklus_weg;
	zyklus_weg = document.getElementById("IDC_ZYKLUS_WEG").value;		
	if (((zyklus_weg == '') || (zyklus_weg == '0.00')) && (my_error == ""))
	{
		my_ret = -1;
	}
	
	var zyklus_zeit;
	zyklus_zeit = document.getElementById("IDC_ZYKLUS_ZEIT").value;	
	if (((zyklus_zeit == '') || (zyklus_zeit == '0.00')) && (my_error == ""))
	{
		my_ret = -1;
	}
		
	var zyklus_beschleunigung;
	zyklus_beschleunigung = document.getElementById("IDC_ZYKLUS_BESCHLEUNIGUNG").value;	
	if (((zyklus_beschleunigung == '') || (zyklus_beschleunigung == '0.00')) && (my_error == ""))
	{
		my_ret = -1;
	}
	
	var anzahl_doppelspiele;
	anzahl_doppelspiele = document.getElementById("IDC_ANZAHL_DOPPELSPIELE").value;	
	if (((anzahl_doppelspiele == '') || (anzahl_doppelspiele == '0.00')) && (my_error == ""))
	{
		my_ret = -1;
	}	
	
	var positionierfahrt;
	positionierfahrt = document.getElementById("IDC_POSITIONIERFAHRT_CHECK").checked;
	if (positionierfahrt == true)
	{
		var positionierfahrt_zeit;
		positionierfahrt_zeit = document.getElementById("IDC_POSITIONIERFAHRT_ZEIT").value;
		if (((positionierfahrt_zeit == '') || (positionierfahrt_zeit == '0.00')) && (my_error == ""))
		{
			my_ret = -1;
		}	
		
		var stellbereich;
		stellbereich = document.getElementById("IDC_STELLBEREICH").value;	
		if (((stellbereich == '') || (stellbereich == '0.00') || (stellbereich == '0')) && (my_error == ""))
		{
			my_ret = -1;
		}
	}
	
	var ruecklauf_erhoeht;
	ruecklauf_erhoeht = document.getElementById("IDC_RUECKLAUF_ERHOEHT_RADIO").checked;
	if (ruecklauf_erhoeht == true)
	{
		var ruecklauf_geschwindigkeit;
		ruecklauf_geschwindigkeit = document.getElementById("IDC_RUECKLAUF_GESCHWINDIGKEIT").value;
		if (((ruecklauf_geschwindigkeit == '') || (ruecklauf_geschwindigkeit == '0.000')) && (my_error == ""))
		{
			my_ret = -1;
		}	
	}
	
	if (my_ret == -1)
	{
			my_error = document.getElementById("NOT_VALID_VALUES_PROFIL").value;
			alert (my_error);
	}
	else
	{
		document.getElementById("SHOW_DIAGRAMM").value = "1";	
		ekSubmit("CHECK_DIAGRAMM_VELOCITY");	
	}						
}

// APPLKONF:
// loescht ist-daten....ab tabreiter "ist-daten"
function loescheIstDaten(obj)
{
	var applikation = document.getElementById("CHOOSED_APPLIKATION").value;	
	
	document.getElementById("IDC_SOLL_BREMSMOMENT").innerHTML='';
		
	//Ist-Daten-Tabelle
	var anzahl = document.getElementById("IDC_IST_DATEN_TABELLE_TABLE").getElementsByTagName('tr').length;
	for(var i = anzahl - 1; i >= 0; i--)
		document.getElementById("IDC_IST_DATEN_TABELLE_TABLE").deleteRow(i);
		
	//Ist-Daten-Tabelle
	var anzahl = document.getElementById("IDC_IST_DATEN_LIGHT_TABELLE_TABLE").getElementsByTagName('tr').length;
	for(var i = anzahl - 1; i >= 0; i--)
		document.getElementById("IDC_IST_DATEN_LIGHT_TABELLE_TABLE").deleteRow(i);
	
	if (applikation=="Hubtisch")
	{
	
		// Tabellen auf IST_DATEN_REITER nicht sichtbar schalten
		document.getElementById("IDC_IST_DATEN_LIGHT_TABELLE").style.visibility = 'hidden';
		document.getElementById("IDC_HUBTISCH_BERECHNUNGSERGEBNISSE_TABELLE").style.visibility = 'hidden';
		document.getElementById("IDC_IST_DATEN_TABELLE").style.visibility = 'hidden';
		anzahl = document.getElementById("IDC_HUBTISCH_BERECHNUNGSERGEBNISSE_TABELLE_TABLE").getElementsByTagName('tr').length;
		for(var i = anzahl - 1; i >= 0; i--)
			document.getElementById("IDC_HUBTISCH_BERECHNUNGSERGEBNISSE_TABELLE_TABLE").deleteRow(i);
		
	}
	
	//Berechnungsergebnis Tabelle
	if (applikation=="Fahrwagen")
	{
	
		// Tabellen auf IST_DATEN_REITER nicht sichtbar schalten
		document.getElementById("IDC_FAHRWAGEN_BERECHNUNGSERGEBNISSE_LIGHT_TABELLE").style.visibility = 'hidden';
		document.getElementById("IDC_IST_DATEN_LIGHT_TABELLE").style.visibility = 'hidden';
		document.getElementById("IDC_FAHRWAGEN_BERECHNUNGSERGEBNISSE_TABELLE").style.visibility = 'hidden';
		document.getElementById("IDC_IST_DATEN_TABELLE").style.visibility = 'hidden';

		anzahl = document.getElementById("IDC_FAHRWAGEN_BERECHNUNGSERGEBNISSE_TABELLE_TABLE").getElementsByTagName('tr').length;
		for(var i = anzahl - 1; i >= 0; i--)
			document.getElementById("IDC_FAHRWAGEN_BERECHNUNGSERGEBNISSE_TABELLE_TABLE").deleteRow(i);
	
		//Berechnungsergebnis Tabelle
		anzahl = document.getElementById("IDC_FAHRWAGEN_BERECHNUNGSERGEBNISSE_LIGHT_TABELLE_TABLE").getElementsByTagName('tr').length;
		for(var i = anzahl - 1; i >= 0; i--)
			document.getElementById("IDC_FAHRWAGEN_BERECHNUNGSERGEBNISSE_LIGHT_TABELLE_TABLE").deleteRow(i);
			
		//Berechnungsergebnis Tabelle
		if (document.getElementById("IDC_GM_FU_CONFIG_TAB_TABLE")) 
		{
			anzahl = document.getElementById("IDC_GM_FU_CONFIG_TAB_TABLE").getElementsByTagName('tr').length;
			for(var i = anzahl - 1; i >= 0; i--)
			document.getElementById("IDC_GM_FU_CONFIG_TAB_TABLE").deleteRow(i);
		}
		
		document.getElementById("IDC_MAXIMALE_RUECKLAUFGESCHWINDIGKEIT_MS_VALUE_LABEL").innerHTML='';
		document.getElementById("IDC_BREMSWEG_WERT").innerHTML= '';
		document.getElementById("IDC_BREMSZEIT_WERT").innerHTML= '';
		document.getElementById("IDC_BREMSVERZOEGERUNG_WERT").innerHTML= ''
		document.getElementById("IDC_HALTEGENAUIGKEIT_WERT").innerHTML= '';

		document.getElementById("IDC_CURRENT_GETRIEBE_LABEL3").innerHTML= '';
		document.getElementById("IDC_CURRENT_MOTOR_LABEL3").innerHTML= '';
		document.getElementById("IDC_CURRENT_BREMSE_LABEL3").innerHTML= '';
		
		document.getElementById("IDC_BREMSZEIT_VPOS_WERT").innerHTML= '';
		document.getElementById("IDC_BREMSZEIT_VRUECK_WERT").innerHTML= '';
		document.getElementById("IDC_BREMSZEIT_OHNE_LAST_WERT").innerHTML= '';
			
		document.getElementById("IDC_BREMSZEIT_0_MIN").innerHTML= '';
		document.getElementById("IDC_BREMSVERZOEGERUNG_0_MAX").innerHTML= '';
	
		document.getElementById("IDC_BREMSWEG_POS_WERT").innerHTML= '';
		document.getElementById("IDC_BREMSWEG_RUECK_WERT").innerHTML= '';
		document.getElementById("IDC_BREMSVERZOEGERUNG_0_WERT").innerHTML= '';
		document.getElementById("IDC_MAXMOMENT_BREMSUNG_WERT").innerHTML= '';
		
		document.getElementById("IDC_FU_FREQUENZ_MIN").value= '';
		document.getElementById("IDC_FU_FREQUENZ_NETZ").value= '';
		document.getElementById("IDC_FU_FREQUENZ_ECK").value= '';
		document.getElementById("IDC_FU_FREQUENZ_MAX").value= '';
		
		document.getElementById("IDC_FU_SPANNUNG_MIN").value= '';
		document.getElementById("IDC_FU_SPANNUNG_NETZ").value= '';
		document.getElementById("IDC_FU_SPANNUNG_ECK").value= '';
		document.getElementById("IDC_FU_SPANNUNG_MAX").value= '';
		
		document.getElementById("IDC_FU_STROM_MIN").value= '';
		document.getElementById("IDC_FU_STROM_NETZ").value= '';
		document.getElementById("IDC_FU_STROM_ECK").value= '';
		document.getElementById("IDC_FU_STROM_MAX").value= '';
		
		document.getElementById("IDC_FU_DREHMOMENT_MIN").value= '';
		document.getElementById("IDC_FU_DREHMOMENT_NETZ").value= '';
		document.getElementById("IDC_FU_DREHMOMENT_ECK").value= '';
		document.getElementById("IDC_FU_DREHMOMENT_MAX").value= '';
		
		document.getElementById("IDC_FU_MKMN_MIN").value= '';
		document.getElementById("IDC_FU_MKMN_NETZ").value= '';
		document.getElementById("IDC_FU_MKMN_ECK").value= '';
		document.getElementById("IDC_FU_MKMN_MAX").value= '';
		
		document.getElementById("IDC_FU_LEISTUNG_MIN").value= '';
		document.getElementById("IDC_FU_LEISTUNG_NETZ").value= '';
		document.getElementById("IDC_FU_LEISTUNG_ECK").value= '';
		document.getElementById("IDC_FU_LEISTUNG_MAX").value= '';
			
		document.getElementById("IDC_FU_M2VERL_MIN").value= '';
		document.getElementById("IDC_FU_M2VERL_NETZ").value= '';
		document.getElementById("IDC_FU_M2VERL_ECK").value= '';
		document.getElementById("IDC_FU_M2VERL_MAX").value= '';
	
		document.getElementById("IDC_FU_ETA_MIN").value= '';
		document.getElementById("IDC_FU_ETA_NETZ").value= '';
		document.getElementById("IDC_FU_ETA_ECK").value= '';
		document.getElementById("IDC_FU_ETA_MAX").value= '';
	
		document.getElementById("IDC_FU_MOMENT_MIN").value= '';
		document.getElementById("IDC_FU_MOMENT_NETZ").value= '';
		document.getElementById("IDC_FU_MOMENT_ECK").value= '';
		document.getElementById("IDC_FU_MOMENT_MAX").value= '';
	
		document.getElementById("IDC_FU_DREHZAHL_MIN").value= '';
		document.getElementById("IDC_FU_DREHZAHL_NETZ").value= '';
		document.getElementById("IDC_FU_DREHZAHL_ECK").value= '';
		document.getElementById("IDC_FU_DREHZAHL_MAX").value= '';
	}

	var bremse_combo;
	bremse_combo = document.getElementById("IDC_BREMSE_COMBO")
	
	while (bremse_combo.length)
	{
	bremse_combo.options[bremse_combo.length-1]=null;
	}
		
		
	var bremse_combo;
	bremse_combo = document.getElementById("IDC_BREMSEKENN_COMBO")
	
	while (bremse_combo.length)
	{
	bremse_combo.options[bremse_combo.length-1]=null;
	}
	
	var bremse_combo;
	bremse_combo = document.getElementById("IDC_GLEICHRICHTERTYP_COMBO")
	
	while (bremse_combo.length)
	{
	bremse_combo.options[bremse_combo.length-1]=null;
	}
	
	//div. Ergebnis-Felder + FU-Table
	document.getElementById("IDC_BREMSENEINFALLZEIT").innerHTML= '';
	document.getElementById("IDC_BRAKE_RETURN_MSG").innerHTML= '';

	document.getElementById("IDC_CURRENT_GETRIEBE_LABEL").innerHTML= '';
	document.getElementById("IDC_CURRENT_MOTOR_LABEL").innerHTML= '';
	document.getElementById("IDC_CURRENT_BREMSE_LABEL").innerHTML= '';
	document.getElementById("IDC_CURRENT_GETRIEBE_LABEL2").innerHTML= '';
	document.getElementById("IDC_CURRENT_MOTOR_LABEL2").innerHTML= '';
	document.getElementById("IDC_CURRENT_BREMSE_LABEL2").innerHTML= '';

}

// APPLKONF: wird angestossen, wenn Zeilenfokus auf GetrMotoren Tabelle sich aendert
// invalidiert explizit die Ist-Daten, nicht die Getr-Motoren Tabelle !!!
function resultsTableSelectionChanged()
{
	loescheIstDaten();	// loescht alle Results ab dem Ist-daten tab-reiter!!!
	
	document.getElementById("DATA_CHANGED").value = "TRUE";	// explizites setzen
															// um neu ziehen der ist-daten zu erzwingen
	// man muss unterscheiden zwischen:
	// 1) aenderungen, die die ist-daten invalidieren
	// 2) aenderungen, die die getr-motoren tabelle invalidieren
	// zu 1) aenderungen = selectionchanged in der getr-motoren tabelle + aenderungen in den eingabefeldern
	// zu 2) aenderungen = aenderungen in den eingabefeldern
	
	// Anderungen in den eingabefeldern invalidieren also beides:
	// 		Data_Changed_All 	= true erzwingt das neu-starten der suche !!!
	// 		Data_Changed 		= true erzwingt das neu laden der ist_daten !!!
	
	// Änderungen der Zeile-selektion erzwingen nur das neu ziehen der Ist-Daten
	
	// DAHER:  	dataHasChanged() setzt beides, haengt am Changed-event der Eingabefelder
	// UND: 	resultsTableSelectionChanged() setzt lediglich den DATA_CHANGED zum neuziehen der IST_DATEN
	// klingt komisch, ist aber so... :)
}

// APPLKONF: invalidiert sowohl die Ist-Daten als auch die Getr-Motoren Tabelle
function dataHasChanged()
{
	document.getElementById("DATA_CHANGED_ALL").value = "TRUE"; // invalidiert die Getriebemotoren Tabelle	
	document.getElementById("DATA_CHANGED").value = "TRUE";		// invalidiert die Ist-Daten
}

// APPLKONF:
// loescht Ergebnis-Daten auf Tabreiter "Ergebnisse"
function deletetablecontent(obj)
{
	var applikation = document.getElementById("CHOOSED_APPLIKATION").value;	
	
	// merker: eingabedaten wurden veraendert!!!
	//document.getElementById("DATA_CHANGED").value = "TRUE";
		
	//Getriebe-Motoren tabelle		
	anzahl = document.getElementById("IDC_GETRMOTOREN_TABELLE_TABLE").getElementsByTagName('tr').length;
	
	for(var i = anzahl - 1; i >= 0; i--)
		document.getElementById("IDC_GETRMOTOREN_TABELLE_TABLE").deleteRow(i);
	
	// applikationsunabhaengige Daten....
	document.getElementById("IDC_RED_LEISTUNG").innerHTML= '';
	

	if (applikation == "Fahrwagen")
	{
			//div. Ergebnis-Felder + FU-Table
		document.getElementById("IDC_FAHRWIDERSTAND").innerHTML='';
		document.getElementById("IDC_MAX_ACC").innerHTML='';
		document.getElementById("IDC_MOMENT_FAHRWIDERSTAND_M_W2").innerHTML='';
		document.getElementById("IDC_MOMENT_STEIGUNG_MST2").innerHTML='';
		document.getElementById("IDC_MOMENT_BESCHLEUNIGUNG_M_ACC2").innerHTML='';
		document.getElementById("IDC_DREHZAHL_N2").innerHTML='';
	
		document.getElementById("IDC_HOCHLAUFMOMENT").innerHTML='';
		document.getElementById("IDC_SOLL_UNTERSETZ").innerHTML= ''
	
		document.getElementById("IDC_FAHRWIDERSTAND").innerHTML='';
	
		document.getElementById("IDC_RED_DREHMOMENT").innerHTML= '';
		document.getElementById("IDC_RED_LEISTUNG").innerHTML= '';
		
		loescheIstDaten(); 
	}
	if (applikation=="Hubtisch")
	{
		document.getElementById("IDC_RED_DREHMOMENT").innerHTML='';
		document.getElementById("IDC_SOLL_BREMSMOMENT").innerHTML='';
		document.getElementById("IDC_DREHMOMENT_WELLE").innerHTML= '';
		document.getElementById("IDC_DREHMOMENT_GETRIEBE").innerHTML= '';
		document.getElementById("IDC_DREHZAHL_WELLE").innerHTML= '';
		document.getElementById("IDC_DREHZAHL_GETRIEBE").innerHTML= '';
		document.getElementById("IDC_SOLL_UNTERSETZUNG").innerHTML= '';
		document.getElementById("IDC_SOLL_BREMSMOMENT").innerHTML= '';
	
		document.getElementById("IDC_CURRENT_GETRIEBE_LABEL2").innerHTML= '';
		document.getElementById("IDC_CURRENT_MOTOR_LABEL2").innerHTML = '';
		document.getElementById("IDC_CURRENT_BREMSE_LABEL2").innerHTML = '';
		
		document.getElementById("IDC_BRAKE_RETURN_MSG").innerHTML= '';
	}
	if (applikation == "E-Haengebahn")
	{
		document.getElementById("IDC_MOMENT_STEIGUNG_M_ST2").innerHTML= '';	
	}
	
	loescheIstDaten();  // fuer alle Applikationen
}

// APPLKONF: errechnet die nachuntersetzung (applikationsabhaengig)
function errechne_nachuntersetzung(obj)
{
	sAusdr = /[^0-9.,]/;
	var NACHUNTERSETZUNG;
	
	var applikation = document.getElementById("CHOOSED_APPLIKATION").value;	
	
	if (applikation == "Hubtisch")
	{
		// ritzel wurden in mm angegeben
		if (obj.name == 'IDC_RITZEL_Z1_DURCHMESSER' || obj.name == 'IDC_RITZEL_Z2_DURCHMESSER')
		{
			z1 = document.getElementById ("IDC_RITZEL_Z1_DURCHMESSER").value;
			z2 = document.getElementById ("IDC_RITZEL_Z2_DURCHMESSER").value;
		}
		// ritzel wurden in anzahl zaehne angegeben
		if (obj.name == 'IDC_RITZEL_Z1' || obj.name == 'IDC_RITZEL_Z2')
		{
			z1 = document.getElementById ("IDC_RITZEL_Z1").value;
			z2 = document.getElementById ("IDC_RITZEL_Z2").value;
		}	
		 
		if (sAusdr.exec(z2) == null)
		{
			if (sAusdr.exec(z1) == null)
			{
				NACHUNTERSETZUNG = z2/z1;
				if (sAusdr.exec(NACHUNTERSETZUNG) == null)	
				document.getElementById ("IDC_NACHUNTERSETZUNG").value = NACHUNTERSETZUNG;
			}
		}
	}
	
	if (applikation == "Fahrwagen")
	{
		NACHUNTERSETZUNG 	= document.getElementById ("IDC_NACHUNTERSETZUNG").value;
		RITZEL_AW_MM 		= document.getElementById ("IDC_RITZEL_AW_DURCHMESSER").value;
		RITZEL_R_MM 		= document.getElementById ("IDC_RITZEL_R_DURCHMESSER").value;
		RITZEL_AW_ZZ 		= document.getElementById ("IDC_RITZEL_AW").value;
		RITZEL_R_ZZ 		= document.getElementById ("IDC_RITZEL_R").value;
		
		// 1) wenn Nachuntersetzung schon angegeben und Durchmesser AW gerade eingegeben wurde,
		// soll Durchmesser LR errechnet werden.		
		
		if (obj.name=='IDC_RITZEL_AW_DURCHMESSER') // wenn RITZEL AW DURCHMESSER geaendert wurde
		{
			if (check_calc_value(NACHUNTERSETZUNG) == true) // wenn nachuntersetzung angegeben
			{
				RITZEL_AW_MM 	= document.getElementById('IDC_RITZEL_AW_DURCHMESSER').value;
				RITZEL_R_MM 	= NACHUNTERSETZUNG * RITZEL_AW_MM;
				document.getElementById ('IDC_RITZEL_R_DURCHMESSER').value = RITZEL_R_MM;
			}	
		}

		// 2) wenn Nachuntersetzung noch nicht angegeben und Durchmesser AW schon vorhanden
		// und Durchmesser R gerade eingegeben wurde, soll Nachuntersetzung errechnet werden.	
		
		if (obj.name=='IDC_RITZEL_R_DURCHMESSER') // wenn RITZEL R DURCHMESSER geaendert wurde
		{
			if ((check_calc_value(RITZEL_AW_MM) == true) && (check_calc_value(RITZEL_R_MM) == true)) // wenn nachuntersetzung angegeben
			{
				NACHUNTERSETZUNG  = RITZEL_R_MM/RITZEL_AW_MM;
				document.getElementById ('IDC_NACHUNTERSETZUNG').value = NACHUNTERSETZUNG;
			}
		}
		
		// 3) wenn Nachuntersetzung noch nicht angegeben und Zaehnezahl AW schon vorhanden
		// und Zaehnezahl R gerade eingegeben wurde soll Nachuntersetzung errechnet werden.	
		
		if (obj.name=='IDC_RITZEL_R') // wenn Zaehnezahl R geaendert wurde
		{
			if ((check_calc_value(RITZEL_AW_ZZ) == true) && (check_calc_value(RITZEL_R_ZZ) == true)) // wenn nachuntersetzung angegeben
			{
				NACHUNTERSETZUNG  = RITZEL_R_ZZ/RITZEL_AW_ZZ;
				document.getElementById ('IDC_NACHUNTERSETZUNG').value = NACHUNTERSETZUNG;
			}
		}
	}
}

// APPLKONF: Öffnet RTF-Dokument
// 2004-09-22 tl applikationskonfigurator applikation fahrwagen
function open_x()
{
	var obj=document.getElementById('RTF_DOCUMENT');
	value=obj.value;
	if (value!='')
		window.open(value,'','');	
	document.getElementById('RTF_DOCUMENT').value = '';
		
}

function open_formeln(obj)
{
	var pdf_name;
	var doc_path=document.getElementById("DOC_PATH").value
	pdf_name=doc_path+"formeln.pdf"
	window.open(pdf_name,'PDF',"toolbar=no");
}

function open_katalogtexte(obj)
{
	var pdf_name;
	var doc_path=document.getElementById("DOC_PATH").value
	pdf_name=doc_path+"bcat.pdf"
	window.open(pdf_name,'PDF',"toolbar=no");
}

function EKAT_CLOSE_WINDOW() {}

function askClose()
{
	// -pf- Der Ablauf beim Beenden sollte immer gleich sein. (nur CD-Mode)
	
	window.location.href = "javascript:void(EKAT_CLOSE_WINDOW())";

	/*
	// muss erst noch gesetzt werden:
	// flag = document.getElementById('PROJ_MODIFIED_FLAG').value;
	flag = 'NOP';
	if (flag == 'MODIFIED')
	{
		message = document.getElementById('ProjDeleteMessage').value;
		ret = window.confirm(message);
		if (ret)
			self.close();
	}
	else
		self.close();
	*/

}

function ekSubmitAbortSelection(element)
{
	message = document.getElementById('AbortSelectionMessage').value;
	ret = window.confirm(message);
	if (ret)
		ekSubmit(element);
}

function ekCheckedSubmit(element)
{
	flag = document.getElementById('IDC_PRODUCT_COMPLETE').value;
	if ( flag != 'true' )
	{
		message = document.getElementById('IDC_PRODUCT_INCOMPLETE_MESSAGE').value;
		if(message){ alert(message); }
		return;
	}
	ekSubmit(element);
}

// Submit in neues Fenster, danach sind 2 Programmfenster da!
function ekSubmitNewWindow(element)
{
    if (!(checkRequiredFormFields()))
    {
    	return;
    }

    if (typeof(element) == "string")
    {
    	document.isycat.EKSUBMITEVENT.value = element;
    }
    else
    {
		if (element.id == null)
		{
			if ((element = getElementFrom(element)) == null)
			{
				return;
			}
		}

    	document.isycat.EKSUBMITEVENT.value = element.getAttribute('id');
    }

	// document.getElementById('IsyDisable_CONTAINER').style.visibility = 'visible';
	// waitElement = document.getElementById('IsyDisable_CONTAINER');

	// makeWaitcursor(waitElement);
	checkHiddenFormFields();

	// parameter optional aus Element ziehen (analog showContentInNewWindow)
    window.open('', 'NewCatWin', 'menubar=no,toolbar=no,width=800,height=600');
	oldtarget = document.isycat.target;
	document.isycat.target = 'NewCatWin';
	document.isycat.submit();
	document.isycat.target = oldtarget;
}



function ShowDatenblatt()
{
	fileurl=document.getElementById('RTF_FILENAME').value;
	if(fileurl)
		self.open(fileurl);
	
	document.getElementById('RTF_FILENAME').value='';
}

function ShowAlertOnLoad()
{
	message=document.getElementById('errormessage').value;
	if(message){ alert(message); }
	document.getElementById('errormessage').value='';
}


function resetTable(tableID)
{
	if ((table = document.getElementById(tableID + "_TABLE")) != null)
	{
		table.removeNode(false);
		document.isycat[tableID].value = '';
	}
}

function tableSubmit(evt)
{
	column = getElementFrom(evt);
	rowid = getRowFrom(column);
	tableid = getTableFrom(column);

	//alert(rowid);
	// alert(tableid);

	// Abfangen, dass in eine der ersten Zeilen geclickt wurde...
	if (rowid == 'IDC_MS_ANSCHLUESSE_ERGEBNIS_TABELLE_COLDESC')
		return;

	// if (rowid.Right(7) == 'COLDESC')
	// 	return;

	// Jetzt den newcode noch der Formvariable fuer die Tabelle zuweisen:
	document.isycat[tableid].value = rowid;

	// Das ist OK:
	ekSubmit(tableid);
}

function start_cdmode()
{
	cd_mode = document.getElementById('IDC_CDMODE').value;
	// alert(cd_mode);
	// if (cd_mode == 'true')
	// {
		document.getElementById('IDC_LOG_IN_LABEL').style.visibility = 'hidden';
		document.getElementById('IDC_PASSWORT_LABEL').style.visibility = 'hidden';
		document.getElementById('IDC_GAST_LABEL').style.visibility = 'hidden';
		document.getElementById('IDC_LOG_IN').style.visibility = 'hidden';
		document.getElementById('IDC_PASSWORT').style.visibility = 'hidden';
	// }
}

function askNewProject(knopfid)
{
	checkDeleteProject(knopfid);
}

function askLoadProject(knopfid)
{
	checkDeleteProject(knopfid);
}

function checkDeleteProject(submitParam)
{
	flag = document.getElementById('PROJ_MODIFIED_FLAG').value;
	if (flag == 'MODIFIED')
	{
		message = document.getElementById('ProjDeleteMessage').value;
		ret = window.confirm(message);
		if (ret)
			ekSubmit(submitParam);
	}
	else
		ekSubmit(submitParam);
}

function checkPositive(element)
{
	if (parseFloat(element.value) < 0)
		element.value = -1 * parseFloat(element.value);
}




///////////////////////////////////////////////////////////
// Preise Kalkulationsmasken Sales

function convEuroToCur(preisEuro)
{
	var curFaktor = GetZahlFromEdit('CURRENCY_FAKTOR') || 1.0;
	var preisCur = preisEuro * curFaktor;
	return preisCur.toFixed(2);
}

function convCurToEuro(preisCur)
{
	var curFaktor = GetZahlFromEdit('CURRENCY_FAKTOR') || 1.0;
	var preisEuro = preisCur / curFaktor;
	return preisEuro.toFixed(2);
}

function positionCalculate(bInit)
{
	if(document.getElementById('IDC_LISTPRICE_EDIT')==null)
		return false;

	var pGesamt, pSetprice, pEKPrice, pGesamtCur, pSetpriceCur, pEKPriceCur, pRabatt, pCalcCur;
	
	if(typeof bInit != 'undefined' && bInit) {
		// Euro mit CURRENCY_FAKTOR umrechnen
		pGesamt = GetZahlFromEdit('IDC_LISTPRICE_EDIT');
		pSetprice = GetZahlFromEdit('IDC_SETPRICE');
		pEKPrice = GetZahlFromEdit('IDC_INTPRICE');

		pGesamtCur = convEuroToCur( pGesamt );
		pSetpriceCur = convEuroToCur( pSetprice );
		pEKPriceCur = convEuroToCur( pEKPrice );
	}
	else {
		// Direkt die aktuelle Währung verwenden
		pGesamtCur = GetZahlFromEdit('IDC_LISTPRICE_EDIT_CUR');
		pSetpriceCur = GetZahlFromEdit('IDC_SETPRICE_CUR');
		pEKPriceCur = GetZahlFromEdit('IDC_INTPRICE_CUR');
	}
	
	// 2007.08.09: Punkt durch Komma ersetzen
	pRabatt = GetZahlFromEdit('IDC_POSITIONSRABATT');
	SetZahlInEdit('IDC_POSITIONSRABATT', pRabatt);

	// Beide Preise aktuell halten!!
	SetZahlInEdit('IDC_LISTPRICE_EDIT_CUR', pGesamtCur);
	if( !document.getElementById('IDC_LISTPRICE_EDIT_CUR').disabled ) {
		SetZahlInEdit('IDC_LISTPRICE_EDIT', convCurToEuro( pGesamtCur ));
	}
		
	SetZahlInEdit('IDC_INTPRICE_CUR', pEKPriceCur);
	if( !document.getElementById('IDC_INTPRICE_CUR').disabled ) {
		SetZahlInEdit('IDC_INTPRICE', convCurToEuro( pEKPriceCur ));
	}

	if(pSetpriceCur != 0.0) {
		SetZahlInEdit('IDC_SETPRICE_CUR', pSetpriceCur);
		SetZahlInEdit('IDC_SETPRICE', convCurToEuro( pSetpriceCur ));
	}
	else {
		delSetprice();	// Edit Feld leer lassen
	}
	

	if(pSetpriceCur != 0.0) {
		pCalcCur = pSetpriceCur;
	}
	else if(pRabatt != 0.0)	{
		pCalcCur = Round2(pGesamtCur * (1 - (pRabatt / 100)));
	}
	else {
		pCalcCur = pGesamtCur;
	}

	SetZahlInStatic('IDC_CALCPRICE_CUR', pCalcCur);
	positionCalcCrossover();
}

function delSetprice()
{
	document.getElementById('IDC_SETPRICE_CUR').value="";
	document.getElementById('IDC_SETPRICE').value="";
}

function positionCalcSetprice()
{
	// Was tun gegen Rundungsprobleme?

	var pSetpriceCur=GetZahlFromEdit('IDC_SETPRICE_CUR');
	if(pSetpriceCur<=0) {
		delSetprice();
		return;
	}
	
	var pGesamtCur = GetZahlFromEdit('IDC_LISTPRICE_EDIT_CUR');

	// Rabatt berechnen
	var pRabat = (1 - (pSetpriceCur/pGesamtCur)) * 100.0;
	SetZahlInEdit('IDC_POSITIONSRABATT', pRabat);
	positionCalculate();
}

function positionCalcCrossover()
{
	var pCalcPriceCur = GetZahlFromStatic('IDC_CALCPRICE_CUR');
	var pEKPriceCur = GetZahlFromEdit('IDC_INTPRICE_CUR');
	
	// 2007.08.09: Punkt durch Komma ersetzen
	SetZahlInEdit('IDC_INTPRICE_CUR', pEKPriceCur);

	var CrossOver = 0;
	if (pCalcPriceCur > 0)
		CrossOver = Round2((pCalcPriceCur - pEKPriceCur) / pCalcPriceCur) * 100;

	SetZahlInStatic('IDC_CROSSPR', CrossOver);
}






// changed -pf- 14.07.2004
function postypChanged()
{
	if(!document.getElementById('IDC_POSTYP_COMBO'))
		return;

	selectedElement = document.getElementById('IDC_POSTYP_COMBO').options[document.getElementById('IDC_POSTYP_COMBO').selectedIndex].value;
	if (selectedElement == 'ID_POSTYP_STANDARD' || selectedElement == 'ID_POSTYP_OPTIONAL')
	{
		document.getElementById('IDC_CONNECTED_POS_LABEL').style.visibility = 'hidden';
		document.getElementById('IDC_CONNECTED_POS').style.visibility = 'hidden';
	}
	else
	{
		document.getElementById('IDC_CONNECTED_POS_LABEL').style.visibility = 'visible';
		document.getElementById('IDC_CONNECTED_POS').style.visibility = 'visible';
	}
}

function calcProjEndpreis()
{
	// !!! nicht fuer Kundenversion

	// stype = document.getElementById('systemtype').value;
	// if (stype != 'SALESVERSION') return;

	pGesamt=GetZahlFromEdit('IDC_SALES_PROJGESAMTPREIS_EDIT');
	pRabatt=GetZahlFromEdit('IDC_SALES_PROJRABATT_EDIT');
	pSetprice=GetZahlFromEdit('IDC_SALES_PROJENDPREIS_VORGABE_EDIT');
	if(pSetprice<=0)
	{
		if (pRabatt == 0)
			Erg = pGesamt;
		else
			Erg = Round2(pGesamt * (1 - (pRabatt / 100)));
		// Erg = Round2(pGesamt - pRabatt);
		if (Erg < 0)
			Erg = 0;
		SetZahlInEdit('IDC_SALES_PROJENDPREIS_EDIT', Erg);
	}
	else
	{
		// Rabatt berechnen
		pRabatt=(1 - (pSetprice/pGesamt)) * 100.0;
		SetZahlInEdit('IDC_SALES_PROJENDPREIS_EDIT', pSetprice);
	}

	// Deckungsbeitrag
	pCalcPrice=GetZahlFromEdit('IDC_SALES_PROJENDPREIS_EDIT');
	pEKPrice=GetZahlFromEdit('IDC_INTPRICE');

	CrossOver = 0;
	if (pCalcPrice > 0)
		CrossOver = Round2((pCalcPrice - pEKPrice) / pCalcPrice) * 100;

	SetZahlInEdit('IDC_CROSSPR', CrossOver);
	SetZahlInEdit('IDC_SALES_PROJRABATT_EDIT', pRabatt);
	if(pSetprice>0)
		SetZahlInEdit('IDC_SALES_PROJENDPREIS_VORGABE_EDIT', pSetprice);
	else
		document.getElementById('IDC_SALES_PROJENDPREIS_VORGABE_EDIT').value='';
}

function delProjSetprice()
{
	document.getElementById('IDC_SALES_PROJENDPREIS_VORGABE_EDIT').value="";
}


function GetZahlFromEdit(elementID)
{
	var obj = docEl(elementID);
	if(!obj)
		return 0;
	
	var sZahl = document.getElementById(elementID).value;
	sZahl = sZahl.replace(/,/,'.');
	if (sZahl == '')
		return(0);
	else
	{
		var nZahl = parseFloat(sZahl);
		if (isNaN(nZahl) == true)
			return(0);
		else
			return(nZahl);
	}
}

function GetZahlFromStatic(elementID)
{
	var sZahl = document.getElementById(elementID).innerHTML;
	sZahl = sZahl.replace(/,/,'.');
	if (sZahl == '')
		return(0);
	else
	{
		var nZahl = parseFloat(sZahl);
		if (isNaN(nZahl) == true)
			return(0);
		else
			return(nZahl);
	}
}

function SetZahlInEdit(elementID, sZahl)
{
	var ssZahl = String( parseFloat(sZahl).toFixed(2) );
	ssZahl = ssZahl.replace(/\./,',');
	document.getElementById(elementID).value = ssZahl;
}

function SetZahlInStatic(elementID, sZahl)
{
	var ssZahl = String( parseFloat(sZahl).toFixed(2) );
	ssZahl = ssZahl.replace(/\./,',');
	document.getElementById(elementID).innerHTML = ssZahl;
}

function Round2(Zahl)
{
	var GroZahl = parseFloat(Zahl) * 100;
	GroZahl = Math.round(GroZahl);
	var RoundZahl = GroZahl / 100;
	return RoundZahl;
}


// 2004-09-22 tl applikationskonfigurator applikation fahrwagen
function myswitchPanelApplKonf(evt)
{	
	var tab = document.getElementById(getTabFrom(getElement(evt)));
	myinitPanelsApplKonf(tab.id);
}

// -tl- 2007-03-14
// wenn die getriebemotoren Tabelle invalide ist und der Benutzer versucht auf
// die ist-daten gefuellten Tabs zu kommen, muss erfolgt eine meldung (siehe checkDataState())
// und panelCheckEntrance() regelt den sprung zur suche-starten maske
// und sorgt fuer die korrekte anzeige der status bar
function panelCheckEntrance(newWidth)
{
	var dataChangedAll;
	dataChangedAll = document.getElementById ("DATA_CHANGED_ALL").value;
	dataChanged = document.getElementById ("DATA_CHANGED").value;

	if (dataChangedAll=="TRUE")
	{
		mysetPanel("IDC_RESULT_TAB_HEADER");
		// meldung?
		document.getElementById("IDC_STATUS_RED_IMG").style.width=newWidth;
		
		return;
	}
	if (dataChanged=="TRUE")
		ekSubmit("IDC_IST_DATEN_TAB_HEADER");
}

function myinitPanelsApplKonf(initHeader)
{
	var applikation;
	var dynamik;
	applikation = document.getElementById("CHOOSED_APPLIKATION").value;
	
	if (initHeader=="IDC_BASISEINGABEN_TAB_HEADER")
	{
		document.getElementById("IDC_STATUS_RED_IMG").style.width=100;
		// Fahrwagen
		if (applikation=="Fahrwagen")
		{
			dynamik = document.getElementById("DYNAMIK").value;

			if (dynamik=="PROFIL")
				document.getElementById("IDC_STATUS_GREY_IMG").style.width=785;
			else
				document.getElementById("IDC_STATUS_GREY_IMG").style.width=700;
			
			mysetPanel(document.isycat['IDC_BERECHNUNG_DETAIL_TABCTRL'].value);	
		
		}
		else if (applikation=="Hubtisch") // Hubtisch		
		{	
			
			document.getElementById("IDC_STATUS_GREY_IMG").style.width=600;	
		}
	}
	else // andere Tabs
	{	
		// Fahrwagen
		if (applikation=="Fahrwagen")
		{
			dynamik 			= document.getElementById("DYNAMIK").value;
			// -tl- 2006-11-27 Fahrwagen, Fahrdiagramm
			if (dynamik=="PROFIL")
			{
				if (initHeader=="IDC_LASTZYKLUS_TAB_HEADER")
					document.getElementById("IDC_STATUS_RED_IMG").style.width=200;
	
				if (initHeader=="IDC_PRODUKTE_TAB_HEADER")
					document.getElementById("IDC_STATUS_RED_IMG").style.width=300;
				
				if (initHeader=="IDC_RESULT_TAB_HEADER")
					document.getElementById("IDC_STATUS_RED_IMG").style.width=400;
					
				if (initHeader=="IDC_IST_DATEN_TAB_HEADER")
				{
					document.getElementById("IDC_STATUS_RED_IMG").style.width=500;
					panelCheckEntrance(400);
				}
				if (initHeader=="IDC_FU_DATA_TAB_HEADER")
				{
					
					document.getElementById("IDC_STATUS_RED_IMG").style.width=600;
					panelCheckEntrance(400);
				}
				if (initHeader=="IDC_BREMSE_TAB_HEADER")
				{
					
					document.getElementById("IDC_STATUS_RED_IMG").style.width=700;
					panelCheckEntrance(400);
				}
				if (initHeader=="IDC_ANMERKUNGEN_TAB_HEADER")
				{
					
					document.getElementById("IDC_STATUS_RED_IMG").style.width=785;
					panelCheckEntrance(400);
				}
			}
			else
			{
				document.getElementById("IDC_STATUS_GREY_IMG").style.width=700;	
				
				if (initHeader=="IDC_PRODUKTE_TAB_HEADER")
					document.getElementById("IDC_STATUS_RED_IMG").style.width=200;
				
				if (initHeader=="IDC_RESULT_TAB_HEADER")
					document.getElementById("IDC_STATUS_RED_IMG").style.width=300;
					
				if (initHeader=="IDC_IST_DATEN_TAB_HEADER")
				{
					
					document.getElementById("IDC_STATUS_RED_IMG").style.width=400;
					panelCheckEntrance(300);
				}
				if (initHeader=="IDC_FU_DATA_TAB_HEADER")
				{
					
					document.getElementById("IDC_STATUS_RED_IMG").style.width=500;
					panelCheckEntrance(300);
				}
				if (initHeader=="IDC_BREMSE_TAB_HEADER")
				{
					
					document.getElementById("IDC_STATUS_RED_IMG").style.width=600;
					panelCheckEntrance(300);
				}	
				if (initHeader=="IDC_ANMERKUNGEN_TAB_HEADER")
				{
					
					document.getElementById("IDC_STATUS_RED_IMG").style.width=700;
					panelCheckEntrance(300);
				}
			}		
		}
		else if (applikation=="Hubtisch") // Hubtisch		
		{
			
				if (initHeader=="IDC_PRODUKTE_TAB_HEADER")
					document.getElementById("IDC_STATUS_RED_IMG").style.width=200;
				
				if (initHeader=="IDC_RESULT_TAB_HEADER")
					document.getElementById("IDC_STATUS_RED_IMG").style.width=300;
					
				if (initHeader=="IDC_IST_DATEN_TAB_HEADER")
				{	
					document.getElementById("IDC_STATUS_RED_IMG").style.width=400;
					panelCheckEntrance(300);
				}
				if (initHeader=="IDC_BREMSE_TAB_HEADER")
				{	
					document.getElementById("IDC_STATUS_RED_IMG").style.width=500;
					panelCheckEntrance(300);
				}
				if (initHeader=="IDC_ANMERKUNGEN_TAB_HEADER")
				{
					document.getElementById("IDC_STATUS_RED_IMG").style.width=600;
					panelCheckEntrance(300);
				}	
		}
			
		if (document.getElementById('IDC_DETAILEINGABEN_TAB'))
			document.getElementById('IDC_DETAILEINGABEN_TAB').style.visibility='hidden';			
		if (document.getElementById('IDC_DETAILEINGABEN2_TAB'))
			document.getElementById('IDC_DETAILEINGABEN2_TAB').style.visibility='hidden';
	}
}

function myswitchPanel(evt)
{
	var tab = document.getElementById(getTabFrom(getElement(evt)));
	myinitPanels(tab.id);
}


// changed -pf- 14.07.2004
function myinitPanels(initHeader)
{
	if(initHeader=="IDC_CALCULATION_TAB_HEADER")
	{
		mysetPanel(document.isycat['IDC_POSHEADEND_CTRL'].value);
	}
	else
	{
		if( document.getElementById('IDC_POSHEAD_CTRL') && document.getElementById('IDC_POSEND_CTRL'))
		{
			document.getElementById('IDC_POSHEAD_CTRL').style.visibility='hidden';
			document.getElementById('IDC_POSEND_CTRL').style.visibility='hidden';
		}
	}
}


// Entspricht switchPanel aus isytabctrl nur wird statt dem event die Tabheader ID
// uebergeben.
function mysetPanel(tab_id)
{
	var tab = document.getElementById(tab_id);
	var tabCtrl = document.getElementById(tab.getAttribute('tabctrlid'));

	var allpanels = tabCtrl.parentNode.getElementsByTagName("DIV");

	for (var i=0; i < allpanels.length; i++)
	{
		var ctrlType = allpanels[i].getAttribute('tabctrltype');

		if (ctrlType == 'tabpanel')
		{
			allpanels[i].style.visibility = 'hidden';
			allpanels[i].setAttribute('selected', 0);

			if(document.getElementById(allpanels[i].getAttribute('targettab')))
			{
				document.getElementById(allpanels[i].getAttribute('targettab')).className = tab.getAttribute('tabnormalstyle');
			}
		}
	}

	document.getElementById(tab.getAttribute('targetpanel')).style.visibility = 'visible';
	tab.className = tab.getAttribute('tabhighlightstyle');
	tab.setAttribute('selected', 1);
	document.isycat[tabCtrl.id].value = tab.id;
}


function KurzTextEinfuegen(obj)
{
	// Den Textblock doch im Klartext einfuegen.
	ekSubmit(obj);
	return false;


	// Feststellen ob Kopf oder Fusstext
	var TextAreaID;

	if(isycat['IDC_POSHEADEND_CTRL'].value=="IDC_POSHEAD_HEADER")
		TextAreaID="IDC_POSHEADTEXT";
	else
		TextAreaID="IDC_POSENDTEXT";

	var textarea=document.getElementById(TextAreaID);
	var combobox=document.getElementById("IDC_KURZTEXT_COMBO");

	textarea.value+=" <"+combobox.value+"> ";
}

function KurzTextEinfuegenDescription(obj)
{
	// Den Textblock doch im Klartext einfuegen.
	ekSubmit(obj);
	return false;

	var textarea=document.getElementById("IDC_DESCRIPTION_AREA");
	var combobox=document.getElementById("IDC_KURZTEXT_COMBO1");
	textarea.value+=" <"+combobox.value+"> ";
}

function CopyValue(obj,target_id)
{
	var target_obj=document.getElementById(target_id);
	if(target_obj)
	{
		target_obj.value=obj.value;
		return true;
	}
	return false;
}



function InsertProject(obj)
{
	var ProjektPreis=GetZahlFromEdit("IDC_SALES_PROJENDPREIS_EDIT");
	if(ProjektPreis>0.0)
	{	// Irgendwas ist schon da, deshalb vorm Einfuegen nochmal warnen
		if(confirm(document.getElementById("IDC_INSERT_WARNING").value))
		{
			ekSubmit(obj);
		}
	}
	else
		ekSubmit(obj);
}

function ShowAlertMessage(id)
{
	message=document.getElementById(id).value;
	if(message && message != id){ alert(message); }
	document.getElementById(id).value='';
}
