function radioWert(rObj) {
    for (var i=0; i<rObj.length; i++) if (rObj[i].checked) return rObj[i].value;
    return false;
}

function radioWertx(rObj, ww) {
    for (var i=0; i<rObj.length; i++)
	{
		if (parseInt(rObj[i].value) == parseInt(ww)) return i;
	};
    return false;
}

function selectWert(sObj) {
    with (sObj) return options[selectedIndex].value;
  }
  
  
function check_all(useform)
{
	preis = 0;
	optionen = new Array;//Speichert die ausgewählten Optionen
	preise = new Array;//Speichert die ausgewählten Preise
	for (var i=0; i<daten.length; i++) 
	{
		//Auslesen des ausgewählten Radiobutton und bestimmen des Wertes im Array Daten
		id = get_array_id(i, radioWert(useform[daten[i][2]]));
		optionen[i]=id;
		if (daten[i][3][id][2])
		{
			//Wert der Unteroption auslesen
			id2 = selectWert(useform[daten[i][3][id][3]]);		
			if(daten[i][3][id][4])
			{
				preis += (daten[i][3][id][7][get_array_unterid(i, id, id2)][3] * parseInt(useform[daten[i][3][id][6]].value));
				preise[i]=daten[i][3][id][7][get_array_unterid(i, id, id2)][3] * parseInt(useform[daten[i][3][id][6]].value);
			}else
			{
				preis += daten[i][3][id][7][get_array_unterid(i, id, id2)][3];
				preise[i]=daten[i][3][id][7][get_array_unterid(i, id, id2)][3];
			}
		}else
		{
			if(daten[i][3][id][4])
			{
				preis += (daten[i][3][id][5] * parseInt(useform[daten[i][3][id][6]].value));
				preise[i]=daten[i][3][id][5] * parseInt(useform[daten[i][3][id][6]].value);
			}else
			{
				preis += daten[i][3][id][5];
				preise[i]=daten[i][3][id][5];
			}
			
		};
	};
	var katopt="";
	for (var i=0; i<daten.length; i++) 
	{
		if (daten[i][3][optionen[i]][8])//Prüfen ob ungültige vorhanden
		{
			for( var j=0; j<daten[i][3][optionen[i]][9].length; j++)//Länge des ungueltig-Arrays
			{
				if(daten[i][3][optionen[i]][9][j][0]=="option")//Ist es Fehleroption oder -kategorie
				{
if(optionen[daten[i][3][optionen[i]][9][j][1]]==daten[i][3][optionen[i]][9][j][2])
//Prüfen ob der angeklickte Wert der Kategorie gleich der Fehleroption ist
					{
						alert(daten[i][3][optionen[i]][9][j][5]);			
						ww_opt1=daten[i][3][optionen[i]][9][j][4];
						ww_opt=radioWertx(useform[daten[daten[i][3][optionen[i]][9][j][3]][2]],ww_opt1);
						useform[daten[daten[i][3][optionen[i]][9][j][3]][2]][ww_opt].checked = true;//Auswahl auf Ersatz setzen
						check_all(document.form1);//Erneut durchlaufen für neue Prüfung (falscher Ersatzwert) und neue Preisberechnung
						return true;
					}else
					{
					}
				}else if(katopt=="kat")
				{
					if(optionen[daten[i][3][optionen[i]][9][j][1]]!=0)//0=keine Versicherung
					{
						alert(daten[i][3][optionen[i]][9][j][5]);				
						ww_kat1=daten[i][3][optionen[i]][9][j][4];
						ww_kat=radioWertx(useform[daten[daten[i][3][optionen[i]][9][j][3]][2]],ww_kat1);	useform[daten[daten[i][3][optionen[i]][9][j][3]][2]][ww_kat].checked = true;//Auswahl auf Ersatz setzen
						check_all(document.form1);//Erneut durchlaufen für neue Prüfung (falscher Ersatzwert) und neue Preisberechnung
						return true;
					}else
					{
					}
				}else//falsche Eingabe weder "option" noch "kat", ungueltig wird ignoriert
				{
				}
			}
		}else //keine ungueltig vorhanden
		{			
		};
	};
	for(var k=0;k<preise.length;k++)
	{
	summefeld="sum" + daten[k][2];
	var summewert = (Math.round(preise[k] * 100) / 100).toString();
  	summewert += (summewert.indexOf('.') == -1)? '.00' : '00';
  	var punkt = summewert.indexOf('.');
  	summewert = summewert.substring(0, punkt) + ',' + summewert.substring(punkt+1, punkt+3);
	useform[summefeld].value="EUR " + summewert;
	}
	var summewertges = (Math.round(preis * 100) / 100).toString();
  	summewertges += (summewertges.indexOf('.') == -1)? '.00' : '00';
  	var punktges = summewertges.indexOf('.');
  	summewertges = summewertges.substring(0, punktges) + ',' + summewertges.substring(punktges+1, punktges+3);
	useform["sumges"].value="EUR " + summewertges;
}

function get_array_id(w1, w2)
{
	for (var i=0; i<daten[w1][3].length; i++) 
	{
		if (daten[w1][3][i][0] == w2) return i;
	};
	return 0;
}

function get_array_unterid(w1, w2, w3)
{
	for (var i=0; i<daten[w1][3].length; i++) 
	{
		//alert ("w1: " + w1 + " \nw2: " + w2 + "\n w3: " + w3 + "\n Wert: " + daten[w1][3][w2][7][i][0] + "\n i: " + i + "\ndaten[" + w1 + "][\"optionen\"][" + w2 + "][\"unteroption\"][" + i + "][\"id\"]=" + daten[w1][3][w2][7][i][0]);
		if (daten[w1][3][w2][7][i][0] == w3) return i;
	};
	return 0;
}

//document.forms["kalender"].elements[ziel].options[0]=null;


function schritt_1_alles_berechnen()
{
		return true;
}

function rkg_onclick()
{
	document.form1.rk[3].checked = true;
	//schritt_1_alles_berechnen();
}

function rrw1_onclick()
{
	document.form1.rr[3].checked = true;
	//schritt_1_alles_berechnen();
}

function rrw2_onclick()
{
	document.form1.rr[4].checked = true;
	//schritt_1_alles_berechnen();
}

function rrw8_onclick()
{
	document.form1.rr[0].checked = true;
	//schritt_1_alles_berechnen();
}

function rrw9_onclick()
{
	document.form1.rr[1].checked = true;
	//schritt_1_alles_berechnen();
}

function rrw10_onclick()
{
	document.form1.rr[2].checked = true;
	//schritt_1_alles_berechnen();
}

function rgw_onclick()
{
	document.form1.rg[0].checked = true;
}

function rkg_onkeyup()
{
	if (parseInt(document.form1.rkg.value,10)>5)
	{
		document.form1.rk[3].checked = true;
		//schritt_1_alles_berechnen();	
	};
}

function /*out: String*/ number_format( /* in: float   */ number, 
                                        /* in: integer */ laenge, 
                                        /* in: String  */ sep, 
                                        /* in: String  */ th_sep ) {

  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 arr_int[0]+sep+arr_int[1];
}
