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
			//alert("i:     " + i + "\nid:    " + id + "\ndaten: " + useform[daten[i][3][id][3]] + "useform[daten[" + i + "][3][" + id + "][3]]");
			
			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];
			}
			//alert("Keine Unteroption\ni:     " + i + "\nid:    " + id + "\nPreis: " + preis + "\nPreise[" + i + "]: " + preise[i]);
			
		};
		
	};
	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(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_opt=radioWertx(useform[daten[i][2]],0);

						useform[daten[i][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;
					}
			}		
		};
	};
	for(var k=0;k<preise.length;k++)
	{
	summefeld="sum" + daten[k][2];
	
	useform[summefeld].value="EUR " + number_format(preise[k],2,",",".");
	}
	useform["sumges"].value="EUR " + number_format(preis,2,",",".");;
	
	
	// Ein- Ausblenden der Mitversicherten
	// Ein- Ausblenden der Buchungsfelder (Einzelreise)
	var zeige_bu = false;
	var zeige_mv = false;
	for (var i_kat=0; i_kat<daten.length; i_kat++) {
		
		var pr_id = radioWert(useform[daten[i_kat][2]]);
		var pr_nr = get_array_id(i_kat, pr_id);
		
		if (daten[i_kat][3][pr_nr][10]) {
			zeige_mv = true;
		}
		if (daten[i_kat][3][pr_nr][11]) {
			zeige_bu = true;
		}
	}
	if (zeige_mv && zeige_bu) {
		document.getElementById("mitversicherte").style.display = "block";
		document.getElementById("divAdvanced2").style.display = "block";
		
		document.getElementById("schrittnr_buchung").innerHTML = "5";
		document.getElementById("schrittnr_person").innerHTML = "6";
		document.getElementById("schrittnr_mitvers").innerHTML = "7";
		document.getElementById("schrittnr_bank").innerHTML = "8";
		document.getElementById("schrittnr_best").innerHTML = "9";
		document.getElementById("schrittnr_weiter").innerHTML = "10";
	}
	else if (zeige_mv) {
		document.getElementById("mitversicherte").style.display = "block";
		document.getElementById("divAdvanced2").style.display = "none";
		
		document.getElementById("schrittnr_buchung").innerHTML = "";
		document.getElementById("schrittnr_person").innerHTML = "5";
		document.getElementById("schrittnr_mitvers").innerHTML = "6";
		document.getElementById("schrittnr_bank").innerHTML = "7";
		document.getElementById("schrittnr_best").innerHTML = "8";
		document.getElementById("schrittnr_weiter").innerHTML = "9";
	}
	else if (zeige_bu) {
		document.getElementById("mitversicherte").style.display = "none";
		document.getElementById("divAdvanced2").style.display = "block";
		
		document.getElementById("schrittnr_buchung").innerHTML = "5";
		document.getElementById("schrittnr_person").innerHTML = "6";
		document.getElementById("schrittnr_mitvers").innerHTML = "";
		document.getElementById("schrittnr_bank").innerHTML = "7";
		document.getElementById("schrittnr_best").innerHTML = "8";
		document.getElementById("schrittnr_weiter").innerHTML = "9";
	}
	else {
		document.getElementById("mitversicherte").style.display = "none";
		document.getElementById("divAdvanced2").style.display = "none";
		
		document.getElementById("schrittnr_buchung").innerHTML = "";
		document.getElementById("schrittnr_person").innerHTML = "5";
		document.getElementById("schrittnr_mitvers").innerHTML = "";
		document.getElementById("schrittnr_bank").innerHTML = "6";
		document.getElementById("schrittnr_best").innerHTML = "7";
		document.getElementById("schrittnr_weiter").innerHTML = "8";
	}
	
	if (getValue("fab")==1 || getValue("kk_deep")==1) { // Im Spezialfall die Nummern richtig stellen
	
	    if (zeige_mv) {
			document.getElementById("schrittnr_person").innerHTML = "2";
			document.getElementById("schrittnr_mitvers").innerHTML = "3";
			document.getElementById("schrittnr_bank").innerHTML = "4";
			document.getElementById("schrittnr_best").innerHTML = "5";
			document.getElementById("schrittnr_weiter").innerHTML = "6";
		}
		else {
			document.getElementById("schrittnr_person").innerHTML = "2";
			document.getElementById("schrittnr_mitvers").innerHTML = "";
			document.getElementById("schrittnr_bank").innerHTML = "3";
			document.getElementById("schrittnr_best").innerHTML = "4";
			document.getElementById("schrittnr_weiter").innerHTML = "5";
		}
	}
}

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][w2][7].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 /*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];
}

function getValue(name){
   var i=1  //Suchposition in der URL
   var suche = name+"="
   while (i<location.search.length){
      if (location.search.substring(i, i+suche.length)==suche){
         var ende = location.search.indexOf("&", i+suche.length)
         ende = (ende>-1) ? ende : location.search.length
         var loca = location.search.substring(i+suche.length, ende)
         return unescape(loca)
      }
      i++
   }
   return ""
}