var wert_undefined = "undefined";

var sKatName = 'kategorie_';
var sSum = 'sum_';
var sValuePreis = 'value_';
var sValueGewicht = 'gewicht_value_';
var sValueTyp = 'type_value_';
var opt_feld_name = 'check_feld_value_';
var ser_feld_id = 'ser_optional_id_';
var ser_feld_name = 'ser_optional_name_';
var sBoxChecked = 'box_checked_';

var wettbewerb_endpreis_feld_name = 'WettEndPreisFeld_';
var wettbewerb_basis_feld_name = 'WettBasisPreisFeld_';
var wettbewerb_endgewicht_feld_name = 'WettEndGewichtFeld_';
var wettbewerb_basisgewicht_feld_name = 'WettBasisGewichtFeld_';

var sWettGewichtPrefix = 'wettbewerber_gewicht_value_'; //prefix vom hidden field mit sa gewicht
var sWettGewichtAusgabePrefix = 'wettbewerber_gewicht_ausgabe_value_'; //prefix vom input field mit sa gewicht
var sWettPreisPrefix = 'wettbewerber_value_'; //prefix vom hidden field mit sa preis
var sWettPreisAusgabePrefix = 'wettbewerber_ausgabe_value_'; //prefix vom input field mit sa preis
var sWettCurrentPreisPrefix = 'preis_'; //prefix vom hidden field mit preisausgabe von aktueller sa (wg. serienm. sa)
var sWettCurrentGewichtPrefix = 'gewicht_'; //prefix vom hidden field mit gewicht von aktueller sa

var output_dec_length = 2; /* Nachkommastellen */
var output_sep = ','; /* Dezimal-Trennzeichen */
var output_tsep = '.'; /* Tausender-Trennzeichen */
var sonderzeichen = ''; /* Sonderzeichen, z.B. - */

var bSAKategorieShow = false;
	
function AddExtras(column, w_column, option_counter, s_option_counter, k_b_preis, k_b_gewicht, add_column, add_column_check, count_max, sap_array, wettbewerb_count) {
	/*
	Parameter:	column = Teil des Feldnames Konzern
				w_column = Teil des Feldnames Wettbewerb
				option_counter = Anzahl kostenpflichtigen SA Konzern
				s_option_counter = Anzahl serienmäßigen SA Konzern
				k_b_preis = Fahrzeug Basispreis Konzern
				k_b_gewicht = Fahrzeug Basisgewicht Konzern
				add_column = Teil des Feldnames für zusätzliche Wettbewerb SA
				add_column_check = Flag, ob zusätzliche Wettbewerb SA geprüft müssen
				count_max = Maximale Anzahl der SA, ist nur für den Fall "add_column_check=true" relevant
				sap_array = Array mit SA Typen falls angeklickte Konzern Option zu einem Paket gehört, dann nach Wettbewerb Optionen vom gleichen Typ suchen und anklicken
				wettbewerb_count = Anzahl Wettbewerber
	*/
	//var nStart = new Date().getTime();
	var max_elements = option_counter + s_option_counter;
	var bWettbewerbePreisCheck = wettbewerb_count > 0;
			
	var i = 0;
	var j = 0;
	var o = 0;
	
	var bKatFound = false;
	
	if (bWettbewerbePreisCheck) {
		var aWettbewerb = new Array();
		for (i=1; i <= wettbewerb_count; i++) {
			aWettbewerb[i] = new Object();
			aWettbewerb[i].preis = (typeof document.SonderForm.elements[wettbewerb_basis_feld_name+i] != wert_undefined) ? document.SonderForm.elements[wettbewerb_basis_feld_name+i].value : 0;
			aWettbewerb[i].preis_formatted = aWettbewerb[i].preis;
			//alert('aWettbewerb[i].preis=' + aWettbewerb[i].preis);
			aWettbewerb[i].gewicht = (typeof document.SonderForm.elements[wettbewerb_basisgewicht_feld_name+i] != wert_undefined) ? document.SonderForm.elements[wettbewerb_basisgewicht_feld_name+i].value : 0;
			aWettbewerb[i].sap_array = sap_array;
			aWettbewerb[i].preis_name = w_column + sValuePreis + i + '_';
			aWettbewerb[i].gewicht_name = w_column + sValueGewicht + i + '_';
			aWettbewerb[i].type_name = w_column + sValueTyp + i + '_';
			if (bSAKategorieShow) {
				aWettbewerb[i].kat_name = w_column + sKatName;
				aWettbewerb[i].kat_sum_name = w_column + sSum;
			}
			aWettbewerb[i].aKategoriePreis = new Array();
		}
	}
	
	var konzern = new Object();
	konzern.preis = k_b_preis;
	konzern.sum_optional = 0;
	konzern.gewicht = k_b_gewicht;
	konzern.preis_name = column + sValuePreis;
	konzern.gewicht_name = column + sValueGewicht;
	konzern.type_name = column + sValueTyp;
	if (bSAKategorieShow) {
		konzern.kat_name = column + sKatName;
		konzern.kat_sum_name = column + sSum;
		konzern.aKategorieID = new Array();
		konzern.aKategoriePreis = new Array();
	}
	var SAArray = document.SonderForm.elements.SAListFeld.value.split(",");
	var SAList = '';
	for (i=1; i<=max_elements; i++) {
		if (bSAKategorieShow) {
			kat_name = konzern.kat_name + i;
			if (typeof document.SonderForm.elements[konzern.kat_name + i] != wert_undefined) {
				bKatFound = false;
				for (j=0; j<konzern.aKategorieID.length; j++) {
					if (konzern.aKategorieID[j] == document.SonderForm.elements[konzern.kat_name + i].value) {
						if (document.SonderForm.elements[column + i].checked) {
							konzern.aKategoriePreis[j] = AddValues(konzern.aKategoriePreis[j], document.SonderForm.elements[konzern.preis_name + i].value, '0', i, '+');
							//alt: if (bWettbewerbePreisCheck) { wettbewerber.aKategoriePreis[j] = AddValues(wettbewerber.aKategoriePreis[j], document.SonderForm.elements[wvalue_name].value, '0', i, '+'); }
						}
						bKatFound = true;
						break;
					}
				}
				if (!bKatFound) {
					konzern.aKategorieID[konzern.aKategorieID.length] = document.SonderForm.elements[konzern.kat_name + i].value;
					if (document.SonderForm.elements[column + i].checked) {
						konzern.aKategoriePreis[konzern.aKategoriePreis.length] = AddValues(parseFloat(0), document.SonderForm.elements[konzern.preis_name + i].value, '0', i, '+');
						//TODO: if (bWettbewerbePreisCheck) { wettbewerber.aKategoriePreis[wettbewerber.aKategoriePreis.length] = AddValues(parseFloat(0), document.SonderForm.elements[wvalue_name].value, '0', i, '+'); }
					}
					else {
						konzern.aKategoriePreis[konzern.aKategoriePreis.length] = parseFloat(0);
					}
				}
			}
		}
		
		if ((typeof document.SonderForm.elements[column + i] != wert_undefined) && document.SonderForm.elements[column + i].checked) {

			konzern.preis = AddValues(konzern.preis, document.SonderForm.elements[konzern.preis_name + i].value, '0', i, '+');
			konzern.gewicht = AddValues(konzern.gewicht, document.SonderForm.elements[konzern.gewicht_name + i].value, '0', i, '-');
			
			if (bWettbewerbePreisCheck) {
				for (j=1; j <= wettbewerb_count; j++) {
					if (typeof document.SonderForm.elements[aWettbewerb[j].preis_name+i] != wert_undefined) {
						aWettbewerb[j].preis = AddValues(aWettbewerb[j].preis, document.SonderForm.elements[aWettbewerb[j].preis_name+i].value, '1', j.toString().concat('_', i), '+');
					}
					if (typeof document.SonderForm.elements[aWettbewerb[j].gewicht_name+i] != wert_undefined) {
						aWettbewerb[j].gewicht = AddValues(aWettbewerb[j].gewicht, document.SonderForm.elements[aWettbewerb[j].gewicht_name+i].value, '1', j.toString().concat('_', i), '-'); 
					}
						// Sonderausstattung-Pakete
					if (aWettbewerb[j].sap_array != null && aWettbewerb[j].sap_array.length) {
						for ( var sap=0; sap <= aWettbewerb[j].sap_array.length; sap++) {
							wett_feld_type_name = 'wettbewerber_type_value_' + j + '_' + i;
							wett_value_name = sWettPreisPrefix + j + '_' + i;
							wgewicht_value_name = sWettGewichtPrefix + j + '_' + i;

							if ((typeof document.SonderForm.elements[wett_feld_type_name] != wert_undefined) && (document.SonderForm.elements[wett_feld_type_name].value==aWettbewerb[j].sap_array[sap])) {
								if (document.getElementById(sBoxChecked + j + '_' + i).style.visibility != 'visible') {
									aWettbewerb[j].preis = AddValues(aWettbewerb[j].preis, document.SonderForm.elements[wett_value_name].value, '1', u, '+');
									if (typeof document.SonderForm.elements[wett_value_name] != wert_undefined) {
										aWettbewerb[j].gewicht = AddValues(aWettbewerb[j].gewicht, document.SonderForm.elements[wgewicht_value_name].value, '0', u, '-');
									}
								}
							}
						}
					}
				}
				
			}
			
			// alle sa in eine liste packen
			if (typeof document.SonderForm.elements[opt_feld_name+i] != wert_undefined && document.SonderForm.elements[opt_feld_name+i].value.length) {
				if(SAList.length) {
					SAList = SAList + ',' + document.SonderForm.elements[opt_feld_name+i].value;
				}
				else { SAList = document.SonderForm.elements[opt_feld_name+i].value; }
			}
		}
		else { 
			if (bWettbewerbePreisCheck) {
				for (j=1; j <= wettbewerb_count; j++) {
					LayerMaster(j.toString().concat('_', i),'hidden');
				}
			}
		}
	}

		// zus. wettbewerber-Optionen werden berechnet
	if (add_column_check) {
		for (i=1; i <= wettbewerb_count; i++) {
			for (j=1; j <= count_max; j++) {
				if (typeof document.SonderForm.elements[add_column+i+'_'+j] != wert_undefined && document.SonderForm.elements[add_column+i+'_'+j].checked) {
					//alert(add_column+i+'_'+j);						
					aWettbewerb[i].preis = AddValues(aWettbewerb[i].preis, document.SonderForm.elements[add_column + sValuePreis + i + '_' + j].value, '0', j, '+');
					if (typeof document.SonderForm.elements[add_column + sValueGewicht + i + '_' + j] != wert_undefined) {
						aWettbewerb[i].gewicht = AddValues(aWettbewerb[i].gewicht, document.SonderForm.elements[add_column + sValueGewicht + i + '_' + j].value, '0', j, '-');
					}
				}		
			}
		}
		
	}
	
	if (bSAKategorieShow) {
		var konzern_kat_sum_name_temp = '';
		for (j=0; j<konzern.aKategorieID.length; j++) {
			konzern_kat_sum_name_temp = konzern.kat_sum_name + konzern.aKategorieID[j];
			if (document.SonderForm.elements[konzern_kat_sum_name_temp]) {
				konzern.aKategoriePreis[j] += 0.001;
				document.SonderForm.elements[konzern_kat_sum_name_temp].value = konzern.aKategoriePreis[j].toString().substr(0, eval(konzern.aKategoriePreis[j].toString().indexOf(".") + 3));
			}
		}
	}

	// konzern-fahrzeug werte ausgeben
	konzern.preis += 0.001;
	// Summe allen Optionen
	konzern.sum_optional = konzern.preis - k_b_preis;
	konzern.sum_optional = konzern.sum_optional.toString().substr(0, eval(konzern.sum_optional.toString().indexOf(".") + 3));
	//alert('Preis-Unterschied: ' + konzern.sum_optional);
	document.SonderForm.EndPreisOptionalFeldPDF.value = konzern.sum_optional;

	konzern.preis = konzern.preis.toString().substr(0, eval(konzern.preis.toString().indexOf(".") + 3));
	//document.SonderForm.EndPreisFeldPDF.value = konzern.preis;

	output_formatted = number_format(konzern.preis, output_dec_length, output_sep, output_tsep, sonderzeichen);
	document.SonderForm.EndPreisFeld.value = (output_formatted.match(/\bNaN\b/)) ? konzern.preis : output_formatted;

	konzern.gewicht += 0.001;
	document.SonderForm.EndGewichtFeld.value = konzern.gewicht.toString().substr(0, eval(konzern.gewicht.toString().indexOf(".") + 3));

	// wettbewerber-fahrzeug werte ausgeben
	if (bWettbewerbePreisCheck) {
		for (j=1; j <= wettbewerb_count; j++) {
			if (typeof document.SonderForm.elements[wettbewerb_endpreis_feld_name+j] != wert_undefined) {
				aWettbewerb[j].preis = parseFloat(aWettbewerb[j].preis) + 0.001;
				aWettbewerb[j].preis_formatted = number_format(aWettbewerb[j].preis.toString().substr(0, eval(aWettbewerb[j].preis.toString().indexOf(".") + 3)), output_dec_length, output_sep, output_tsep, sonderzeichen);
				document.SonderForm.elements[wettbewerb_endpreis_feld_name+j].value = (aWettbewerb[j].preis_formatted.match(/\bNaN\b/)) ? aWettbewerb[j].preis : aWettbewerb[j].preis_formatted;
			}
				// Gewichte
			if (typeof document.SonderForm.elements[wettbewerb_endgewicht_feld_name+j] != wert_undefined) {
				aWettbewerb[j].gewicht = parseFloat(aWettbewerb[j].gewicht) + 0.001;
				document.SonderForm.elements[wettbewerb_endgewicht_feld_name+j].value = aWettbewerb[j].gewicht.toString().substr(0, eval(aWettbewerb[j].gewicht.toString().indexOf(".") + 3));
			}
		}
	}

	// verstecktes feld setzen
	document.SonderForm.SAListFeld.value = SAList;
	
	//alert('Ausführung der Funktion AddExtras()=' + (new Date().getTime() - nStart) + 'ms.')
}
	
	// function checked all array's for current optional
function Check(column, option_counter, s_option_counter, row, einschluss, einschluss_name, ausschluss, ausschluss_name, schluss, schluss_name, oder_array, option_name, package_array, package_array_name) {
	var max_elements = option_counter + s_option_counter;
	var bFound;
	var a,b,c,d,e,f,h,g,p,x,y,z;
	
	if ( document.SonderForm.elements[column+row].checked==true) { // wenn checkbox gesetzt wird
		for ( a=0; a<einschluss.length; a++) {
			for (b=s_option_counter+1; b<=max_elements; b++) { // eingeschlossene kostenpflichtige sa mit anklicken
				if (document.SonderForm.elements[opt_feld_name+b].value==einschluss[a]) {
					if (document.SonderForm.elements[column+b].checked==false) {
						document.SonderForm.elements[column+b].click(); // Imitation vom Click auf "und"-Option
					}
				}
			}
		}

		if (oder_array.length > 0) {
			checkOderArray(oder_array, max_elements, row, option_counter, s_option_counter, column);
		}
		
		for ( c=0; c<ausschluss.length; c++) {
			bFound = false;
			if (!bFound) {
				for (x=1; x<=s_option_counter; x++) { // serienausstattung
					if (typeof document.SonderForm.elements[ser_feld_id+x] != wert_undefined && document.SonderForm.elements[ser_feld_id+x].value==ausschluss[c]) {
						bFound = true;
						alert('Nicht in Verbindung mit serienmässiger Ausstattung: "' + document.SonderForm.elements[ser_feld_name+x].value + '"');
						//AG:auskommentiert, da FF die Darstellung nach F5 nicht aktualisiert //document.SonderForm.elements[column+x].checked=false;
					}
					if (bFound) { break; }
				}
			}
			if (!bFound) { // kostenpflichtige optionen
				for ( d=s_option_counter+1; d<=max_elements; d++) {
					if (typeof document.SonderForm.elements[opt_feld_name+d] != wert_undefined && document.SonderForm.elements[opt_feld_name+d].value==ausschluss[c]) {
						bFound = true;
						if (document.SonderForm.elements[column+d].checked) {
							if (ausschluss_name[c]!="") { alert( 'Option ' + '"' + ausschluss_name[c] + '"' + ' deaktiviert'); }
							//document.SonderForm.elements[column+d].checked=false;
							document.SonderForm.elements[column+d].click(); // wird zu problem bei kreis-regeln
						}
					}
					if (bFound) { break; }
				}
			}
		}
		
		// überprüfung auf paket
		if (package_array.length) {
			for (p=0; p<package_array.length; p++) {				
				if (package_array[p].length > 1) {
					var package_full = true;
					for (var ps=1; ps<package_array[p].length; ps++) {
						value_found = false;
						for (var pf=s_option_counter+1; pf<=max_elements; pf++){
							if (document.SonderForm.elements[opt_feld_name+pf].value == package_array[p][ps]) {
								value_found = true;
								if (document.SonderForm.elements[column+pf].checked==false) {
									package_full = false;
									break;
								}
							}
						}
						if (!value_found) { package_full = false; }
					}
					if (package_full) { //alle paket inhalte vorhanden und nicht serienmässig und ausgewählt
						//alert('paket ist komplett');
						for (var pe=s_option_counter+1; pe<=max_elements; pe++){
							if (document.SonderForm.elements[opt_feld_name+pe].value == package_array[p][0]) {
								if (document.SonderForm.elements[column+pe].checked==false) {
								alert('Sie haben das Paket "' + package_array_name[p] + '" zusammengestellt!');
									document.SonderForm.elements[column+pe].click(); //paket anklicken, die paket inhalte sollen durch ausschlüsse abgeklickt werden
								}
							}
						}
					}
				}
			}			
		}
		
	}

	else { // wenn checkbox deaktiviert wird
		for ( e=0; e<einschluss.length; e++) { // eingeschlossene kostenpflichtige sa mit deaktivieren
			bFound = false;
			for (f=s_option_counter+1; f<=max_elements; f++) {
				if (document.SonderForm.elements[opt_feld_name+f].value==einschluss[e] && document.SonderForm.elements[column+f].checked){
					bFound = true;
					alert( 'Option ' + '"' + einschluss_name[e] + '"' + ' deaktiviert');
					if (document.SonderForm.elements[column+f].checked==true) {
						document.SonderForm.elements[column+f].click(); // Imitation vom Click auf "und"-Option
					}
				}
				if (bFound) { break; }
			}
		}
		
		for ( g=0; g<schluss.length; g++) { // indirekt(inverse regeln) eingeschlossene kostenpflichtige sa mit deaktivieren
			bFound = false;
			for (h=s_option_counter+1; h<=max_elements; h++) {
				if (document.SonderForm.elements[opt_feld_name+h].value==schluss[g] && document.SonderForm.elements[column+h].checked==true) {
					bFound = true;
					alert( 'Option ' + '"' + schluss_name[g] + '"' + ' deaktiviert');
					// document.SonderForm.elements[column+h].checked=false; 
					document.SonderForm.elements[column+h].click(); // click-event auslösen
				}
				if (bFound) { break; }
			}
		}
	}
	
} // funktion ende

function checkOderArray(oder_array, max_elements, row, option_counter, s_option_counter, column) {
	var i,j,x,y,z,z_count,y_checked;

	popup = new Array();
	popup.URL = '';
	popup.Fenstername = 'Popup_' + row;
	var iRowCounter = 0; // Anzahl Rows - wird für's Bestimmen der Popup-Größe verwendet
	var bFullFound = true; // Steuerung für Vorselektion der Radiobuttons abhängig von bereits selektierten SA
	var bFullFoundCount = 0; //wieviele volle SA Gruppen bereits selektiert sind, wenn gleich Arraylänge - Popup nicht anzeigen

	popup.Inhalt = '<html><head><link href="../styles/fiat.css" rel="stylesheet" media="screen"><title>Auswahl</title><script language="JavaScript">';
	popup.Inhalt = popup.Inhalt + 'var bFound; var i,j,x; var opt_feld_name = "' + opt_feld_name + '"; var column = "' + column + '";function write_selection() ';
	popup.Inhalt = popup.Inhalt + ' { for (i=0; i<document.OderForm.elements.length;i++) { if (document.OderForm.elements[i].checked==true) ';
	popup.Inhalt = popup.Inhalt + ' { var aChecked = document.OderForm.elements[i].value.split(","); for (x=0; x < aChecked.length; x++) ';
	popup.Inhalt = popup.Inhalt + ' { for (j=' + (s_option_counter + 1) + '; j<=' + max_elements + ';j++) ';
	popup.Inhalt = popup.Inhalt + ' { if (opener.document.SonderForm.elements[opt_feld_name+j].value==aChecked[x]) { if (opener.document.SonderForm.elements[column + j].checked==false) { opener.document.SonderForm.elements[column + j].click(); } } } }';
	popup.Inhalt = popup.Inhalt + ' } } this.window.close(); } ';
	popup.Inhalt = popup.Inhalt + '</script></head><body class="" onUnload="write_selection()" onLoad="self.focus()" onBlur="self.focus()"><table width="100%" cellpadding="3"><form name="OderForm" method="POST"><tr><th class="content" colspan="2" align="left" valign="middle">Bitte Optionen w&auml;hlen:</th></tr>';	

	for ( x=0; x<oder_array.length; x++) {
		/*###### wenn alle SA aus der Gruppe sind bereits selektiert - RadioButton setzen #######*/
		y_checked = 0;
		for (y=0; y<oder_array[x].length; y++) {
			bFullFound = false;
			for (z=0; z<oder_array[x][y].length; z++) {
				for (z_count=s_option_counter; z_count<=max_elements; z_count++) { // serienmäßige SA nicht prüfen sodass die dann im Popup auftauchen würden, wenn nicht gewünscht - z_count=1; setzen
					if (typeof document.SonderForm.elements[opt_feld_name+z_count] != wert_undefined && document.SonderForm.elements[opt_feld_name+z_count].value==oder_array[x][y][z][1]) {
						if (document.SonderForm.elements[column+z_count].checked) {
							bFullFound = true;
							break;
						}
					}
					if (bFullFound) { break; }
				}
				if (bFullFound) { break; }
			}
			if (bFullFound) { y_checked = y; bFullFoundCount++; break;}
		}

		for (y=0; y<oder_array[x].length; y++) {
			button_name = "Button_" + x;
			rowspan_string = oder_array[x][y].length > 1 ? rowspan_string = "rowspan=" + "'" + oder_array[x][y].length + "'" : "";
			checked_string = y_checked == y ? "checked" : "";
			
			var sIDList = "";//Liste mit ID's von SA in der Gruppe (z.B. 647(Gruppe1) oder 643 und 644(Gruppe2))
			for (z=0; z<oder_array[x][y].length; z++) {
				sIDList += oder_array[x][y][z][1];
				if (oder_array[x][y].length > 1 && (z-1) < oder_array[x][y].length) sIDList += ",";
			}
				
			for (z=0; z<oder_array[x][y].length; z++) {
				if (z==0) {
					popup.Inhalt = popup.Inhalt + '<tr><td align="left" ' + rowspan_string + ' class="content" width="20%"><input name="'+ button_name + '" type="radio" value="' + sIDList + '" ' + checked_string + ' /></td>';
					popup.Inhalt = popup.Inhalt + '<td class="content">' + oder_array[x][y][z][2] + '</td></tr>';
				}
				else {
					popup.Inhalt = popup.Inhalt + '<tr><td class="content">' + oder_array[x][y][z][2] + '</td></tr>';
				}
				iRowCounter ++;
			}
			iRowCounter ++;
		}
		popup.Inhalt = popup.Inhalt + '<tr><td colspan="2">&nbsp</td></tr>';
	}

	if (bFullFoundCount != oder_array.length) {
		popup.Inhalt = popup.Inhalt + '<tr><td colspan="2">&nbsp</td></tr>';
		popup.Inhalt = popup.Inhalt + '</form>';
		popup.Inhalt = popup.Inhalt + '<tr><td colspan="2" align="center"><input class="OderButton" type="button" value="fertig" onclick="javascript:write_selection()" /></td></tr>';
		popup.Inhalt = popup.Inhalt + '</table></form></body></html>';

		iRowCounter += 2;
		popup.Fenstereigenschaften = 'height=' + eval(iRowCounter*35) + ',width=350,resizable=yes';

		zeige(popup);
	}
}

function zeige(box) {
	var Fenster = window.open(box["URL"],box["Fenstername"],box["Fenstereigenschaften"]);
	with (Fenster.document) {
	  open();
	  if (box["Inhalt"]) write(box["Inhalt"]);
	  close();
	 }
	 //Fenster.moveTo(screen.width / 2 - 350, screen.height / 2 - 200);
	 // body onLoad="window.setTimeout(' + "'" + 'self.focus()' + "'" + ', 100);"
	 Fenster.focus();

}

function AddValues(basic_value, add_value, make_layer, position, action) {
	if (isNaN(basic_value) || isNaN(add_value) || add_value=="") {
		basic_value = basic_value;
	}
	else {
		basic_value = (action=='+') ? parseFloat(basic_value) + parseFloat(add_value) : parseFloat(basic_value) - parseFloat(add_value);
		if (make_layer==1) { LayerMaster(position, 'visible'); }
	}
	return(basic_value);
}

// function maked checkbox for w_option visible
function LayerMaster(visible_location, visible_string){
	var location = sBoxChecked + visible_location;
	if (document.getElementById(location)) {
		document.getElementById(location).style.visibility = visible_string; 
	}
	var bDisabled = (visible_string == 'visible') ? false : true;
	$("input:radio[name=" + visible_location + "]").attr("disabled", bDisabled);
 }

// Public String number_format(Float number, Int laenge, String sep, String th_sep)
function number_format(number, laenge, sep, th_sep, sonderzeichen){
	var pre = "";
	if(number < 0){
		pre = "-";
		number *= (-1)
	}
	number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
	str_number = number+"";
	arr_int = str_number.split(".");
	if(!arr_int[0]) arr_int[0] = "0";
	if(!arr_int[1]) arr_int[1] = "";
	if(arr_int[1].length < laenge){
		nachkomma = arr_int[1];
		for(i=arr_int[1].length+1; i <= laenge; i++){	nachkomma += "0";	}
		arr_int[1] = nachkomma;
	}
	if(th_sep != "" && arr_int[0].length > 3){
		Begriff = arr_int[0];
		arr_int[0] = "";
			for(j = 3; j < Begriff.length ; j+=3){
				Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
				arr_int[0] = th_sep + Extrakt +  arr_int[0] + "";
			}
		str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
		arr_int[0] = str_first + arr_int[0];
	}
	//return pre+arr_int[0]+sep+arr_int[1]+'-';
	return(pre + arr_int[0] + sep+arr_int[1] + sonderzeichen);
}

//AG 20100907: funktion gilt nur bei RadioButtons SA Wettbewerb
function fCheckSATyp(elem) {
		//Gewichte
	if (document.getElementById(sWettCurrentGewichtPrefix + elem.id)) {
		var nGewicht = document.getElementById(sWettCurrentGewichtPrefix + elem.id).value;
		$("input[name=" + sWettGewichtPrefix + elem.name + "]").val(nGewicht);//gewicht hidden field für sa setzen
		nGewicht += + 0.001;
		nGewicht = nGewicht.toString().substr(0, eval(nGewicht.toString().indexOf(".") + 3));
		$("input[name=" + sWettGewichtAusgabePrefix + elem.name + "]").val(nGewicht);//gewicht ausgabe im sa input feld setzen
	}
		//Preise
	$("input[name=" + sWettPreisPrefix + elem.name + "]").val(elem.value);//hidden field setzen
	//var nPreis = number_format(elem.value, output_dec_length, output_sep, output_tsep, sonderzeichen);
	//$("input[name=" + sWettPreisAusgabePrefix + elem.name + "]").val(nPreis);//preis ausgabe setzen
	if (document.getElementById(sWettCurrentPreisPrefix + elem.id)) {
		var sPreis = document.getElementById(sWettCurrentPreisPrefix + elem.id).value;
		$("input[name=" + sWettPreisAusgabePrefix + elem.name + "]").val(sPreis);//preis ausgabe setzen
	}
	
	fValidateProps();
}

function getElementsByClass(node,searchClass,tag) {
	var classElements = new Array();
	var els = node.getElementsByTagName(tag); // use "*" for all elements
	var elsLen = els.length;
	var pattern = new RegExp("\\b"+searchClass+"\\b");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function isArray(obj) {
	return(typeof(obj.length) == wert_undefined) ? false : true;
}

function ReiterNavi(destination) {
	
	location_length = location.toString().length;
	uri_pos = location.toString().indexOf("uri=");
	
	uri_param = location.toString().substr(uri_pos, location_length);
	//alert("uri_param: " + uri_param);
	//alert("location: " + location);
	for (j=1; j < arguments.length; j++) {
			//alert(j);
			//alert( arguments[j] + " " + isArray(arguments[j]) );

	}
	//loc = location.toString().substring(0, uri_pos);
	
	//window.location.href = loc;
	//window.open(loc, "_self");

}

function CheckSAList(SAList, column, counter) {
	var SArray = SAList.split(",");
	
	if (SArray.length > 0) {
		var bFound;
		
		for (var j=0; j<SArray.length; j++) {
			bFound = false;
			
			for (var i=1; i<=counter; i++) {
				if (typeof document.SonderForm.elements[opt_feld_name+i] != wert_undefined && document.SonderForm.elements[opt_feld_name+i].value == SArray[j]) {
					bFound = true;
					if (document.SonderForm.elements[column+i].checked==false) {
						document.SonderForm.elements[column+i].click();	
					}
				}

				if (bFound) { break; }
			}
		}
	}
	//alert(SArray.join(","));
}

function fClearSonderForm(counter, show_gewicht, cb_prefix) {

	//$("input:checked").val([]); //alle elemente mit attribute checked (checkboxen, radiobuttons)
	$("input:checkbox[id^=" + cb_prefix + "]").val([]); //checkboxen vom konzern fahrzeug abwählen

	document.SonderForm.SAListFeld.value = '';
	document.SonderForm.EndPreisOptionalFeldPDF.value = 0;
	// KonzernFahrzeug Preis
	output_formatted = number_format(document.SonderForm.BasisPreisFeld.value, output_dec_length, output_sep, output_tsep, sonderzeichen);
	document.SonderForm.EndPreisFeld.value = (output_formatted.match(/\bNaN\b/)) ? document.SonderForm.BasisPreisFeld.value : output_formatted;

	if (show_gewicht == 'YES') {
		if ((typeof document.SonderForm.EndGewichtFeld != wert_undefined) && (typeof document.SonderForm.BasisGewichtFeld != wert_undefined)) {
			var gewicht = document.SonderForm.BasisGewichtFeld.value + 0.001;
			document.SonderForm.EndGewichtFeld.value = gewicht.toString().substr(0, eval(gewicht.toString().indexOf(".") + 3));
		}
	}
		//Wettbewerber
	for (var i=1; i<= counter; i++) {
			//Preise
		if ((typeof document.SonderForm.elements[wettbewerb_endpreis_feld_name+i] != wert_undefined) && (typeof document.SonderForm.elements['WettOriginalPreisFeld_'+i] != wert_undefined)) {
			output_formatted = number_format(document.SonderForm.elements['WettOriginalPreisFeld_'+i].value, output_dec_length, output_sep, output_tsep, sonderzeichen);
			document.SonderForm.elements[wettbewerb_endpreis_feld_name+i].value = (output_formatted.match(/\bNaN\b/)) ? document.SonderForm.elements[wettbewerb_basis_feld_name+i].value : output_formatted;
		}
		if (show_gewicht == 'YES') {
				//Gewichte
			if ((typeof document.SonderForm.elements['WettOriginalGewichtFeld_'+i] != wert_undefined) && (typeof document.SonderForm.elements[wettbewerb_endgewicht_feld_name+i] != wert_undefined)) {
				gewicht = document.SonderForm.elements['WettOriginalGewichtFeld_'+i].value + 0.001;
				document.SonderForm.elements[wettbewerb_endgewicht_feld_name+i].value = gewicht.toString().substr(0, eval(gewicht.toString().indexOf(".") + 3));
			}
		}
	}
}

function getUser() {
	var urlArray = new Array();
	var url = window.location.toString();
	urlArray = url.split("&");
	for (var i=0; i<urlArray.length; i++) {
		gz_pos = urlArray[i].indexOf("=");
		e_var = urlArray[i].substr(0, gz_pos);
		if (e_var == "benutzer") {
			e_val = urlArray[i].substr(gz_pos + 1, urlArray[i].length - (gz_pos + 1));
			//alert(e_var + ' ist: ' + e_val);
			document.SonderForm.benutzer.value = e_val;
		}
	}
}

function SubmitSonderForm() {
	var cur_user = document.SonderForm.benutzer.value;
	var cur_fzg_id = document.SonderForm.fzg_id.value;
	var urlArray = new Array();
	var url = window.location.toString();
	url = url.replace(/#Angebotsblatt/gi, '');
	var passwort = "";
	var cur_language = "DE";
	var destination = "";
	var cur_salist = document.SonderForm.SAListFeld.value;
	//cur_salist = escape("&salist=" + cur_salist + "&mode=" + cur_mode);
	//cur_salist = cur_salist.replace("+", "%2B");
	//cur_salist = cur_salist.replace("/", "%2F");
	
	urlArray = url.split("&");
	for (var i=0; i<urlArray.length; i++) {
		gz_pos = urlArray[i].indexOf("=");
		e_var = urlArray[i].substr(0, gz_pos);
		e_val = urlArray[i].substr(gz_pos + 1, urlArray[i].length - (gz_pos + 1));
		
		if (e_var == "passwort") { passwort = e_val; }
		if (e_var == "sLang") { cur_language = e_val.replace("#Angebotsblatt", ""); }
	}

	urlArray = url.split("?");
	if (urlArray.length > 0) {
		for (var i=0; i<1; i++) {
			uriArray = urlArray[i].split("/");
			for (var j=0; j<uriArray.length-1; j++) { destination = destination + uriArray[j] + "/"; }
		}
		
	}
	if (destination.length < 1) {
		destination = "http://www.fiat-trapo.de/";
	}
	
	document.SonderForm.action = destination + "ags.cfm?fzg_id=" + cur_fzg_id + "&benutzer=" + cur_user + "&passwort=" + passwort + "&salist=" + cur_salist + "&sLang=" + cur_language;
	//alert("document.SonderForm.action: |" + document.SonderForm.action + "|");
	
	var Fenster = window.open('','AGSpopup','left=10,top=10,width=1024,height=768,scrollbars=yes,resizable=yes');
	Fenster.focus();
	document.SonderForm.submit();
}

