// Events
onload = function()
{
	if(document.getElementById('buchen_button'))
	{
		calcGesPreis();
	}
}


function jsrcGetHTTPObject()
{
	if (window.XMLHttpRequest) 
	{
	   return new XMLHttpRequest();
	}
	else if (window.ActiveXObject) 
	{
	   return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

function priceFormat(wert) {
    return wert.toFixed(2);
}

// Setzt Personenzahl
function setPersonen(gruppe, reise_id, value)
{
	if ((jsrchttp = jsrcGetHTTPObject()) != null) 
	{
		jsrchttp.onreadystatechange = function()
		{
			if (jsrchttp.readyState == 4) {
				var data = jsrchttp.responseText;
				
				if(data != 1)
				{
					alert("Es ist ein fehler aufgetreten!");
					return false;
				}
			}
		}
		jsrchttp.open("GET", "shoppingCartScript.php?shoppingCartPersons=" + value + "&id=" + reise_id + "&belegung=" + gruppe, true);
		jsrchttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		jsrchttp.send(null);
	}
	return true;
}



// Errechnet ein neues Datum To
function setNewToDate(this_id, datum, tage, id, reise_id, belegung, von, bis)
{
	if ((jsrchttp = jsrcGetHTTPObject()) != null && getId('buchen_button')) 
	{
		jsrchttp.onreadystatechange = function()
		{
			if (jsrchttp.readyState == 4) {
				var data = jsrchttp.responseText;

				if(data == "no")
				{
					getId(id).value = datum;
					getId('buchen_button').disabled = "true";
					getId(this_id).style.backgroundColor = "#FFAAAA";
				}
				else
				{
					getId(id).value = data;
					getId('buchen_button').disabled = "";
					getId(this_id).style.backgroundColor = "#EFEEF3";
				}
			}
		}
		jsrchttp.open("GET", "calcNewDate.php?von="+von+"&bis="+bis+"&date="+datum+"&days="+tage+"&id="+id+"&reise_id="+reise_id+"&belegung="+belegung, true);
		jsrchttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		jsrchttp.send(null);
	}
	return true;
}



// Eintrag im Warenkorb löschen
function deleteEntry(id, belegung)
{
	if(!confirm("Wollen Sie dieses Produkt wirklich entfernen?"))
	{
		return false;
	}
	
	if ((jsrchttp = jsrcGetHTTPObject()) != null) 
	{
		jsrchttp.onreadystatechange = function()
		{
			if (jsrchttp.readyState == 4) {
				var data = jsrchttp.responseText;
				
				if(data == 1)
				{
					location.href = "";
				}
				else
				{
					alert("Es ist ein fehler aufgetreten!");
					return false;
				}
			}
		}
		jsrchttp.open("GET", "shoppingCartScript.php?delete=1&id="+id+"&belegung="+belegung, true);
		jsrchttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		jsrchttp.send(null);
	}
	return true;
}


var no_submit = 0;

function verifyAnzahl(id, menge, waren_counter, del_id, belegung, elem)
{
	if(menge != parseFloat(menge))
	{
		elem.value = "1";
		alert('Bitte nur zahlen eintragen!');
		changeAnzahl(id, 1, waren_counter, del_id, belegung, elem)
		return false;
	}

	if(menge == 0)
	{
		elem.value = "1";
		changeAnzahl(id, 1, waren_counter, del_id, belegung, elem)
		if(deleteEntry(del_id, belegung))
		{
			return true;
		}
		menge = 1;
	}

	if(menge > 99)
	{
		elem.value = "99";
		alert('Die Anzahl ist zu hoch!');
		changeAnzahl(id, 99, waren_counter, del_id, belegung, elem)
		return false;
	}
}

function changeAnzahl(id, menge, waren_counter, del_id, belegung, elem, freeTextPriceId)
{
	if(menge > 99)
	{
		changeAnzahl(id, 99, waren_counter, del_id, belegung, elem);
	}
		
	document.getElementById('preis_'+waren_counter).className = "yellow";
	window.setTimeout(function(){document.getElementById('preis_'+waren_counter).className = "shoppingCartPrice";}, 4000);
	
	
	no_submit = 1;
	
	if ((jsrchttp = jsrcGetHTTPObject()) != null) 
	{
		jsrchttp.onreadystatechange = function()
		{
			if (jsrchttp.readyState == 4) {
				var data = jsrchttp.responseText;
				
				if(data == 1)
				{
					waren_counter = waren_counter.toString();
					document.getElementById('preis_'+waren_counter).innerHTML = priceFormat((document.getElementById('einzelpreis_'+waren_counter).value * menge)) + '&nbsp;&euro;';
					document.getElementById('reisepreis_'+waren_counter).value = priceFormat((document.getElementById('einzelpreis_'+waren_counter).value * menge));
					
					calcGesPreis();
				}
				else
				{
					alert("Es ist ein fehler aufgetreten!");
					return false;
				}

				if(no_submit == 2)
				{
					location='/form_buchung.php';
				}
				else
				{
					no_submit = 0;
				}
			}
		}
		jsrchttp.open("GET", "shoppingCartScript.php?id="+id+"&menge="+menge+"&belegung="+belegung+"&freetextprice="+freeTextPriceId, true);
		jsrchttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		jsrchttp.send(null);
	}
}


/*********** errechnet den Gesamtpreis **********/
function calcGesPreis()
{
	counter = getId('max_counter').value;
	gesPreis = 0;
	
	for(i = 0; i< counter; i++)
	{
		gesPreis += parseFloat(getId('reisepreis_'+i).value);
		if(anzLeistungen = getId('max_counter_'+i).value)
		{
			for(j = 0; j < anzLeistungen; j++)
			{
				gesPreis += parseFloat(getId('reisepreis_leistung_'+i+'_'+j).value);
			}
		}
	}
	
	getId('ges_preis').innerHTML = priceFormat(gesPreis);
}



/*********** Prï¿½fen wlches zusatzinfos der Kunde Wï¿½nscht **********/
function checkInfos(waren_counter, id, belegung, freeTextPriceId)
{
	infos = 0;
	for(j = 1; j <= 3; j++)
	{
		for(k = 1; k <= 2; k++)
		{
			if(k == 1 && getId("info_"+j+"_"+waren_counter+"_"+k).checked == true)
			{
				infos += parseFloat(getId("info_"+j+"_"+waren_counter+"_"+k).value);
			}
		}
	}
	getId("info_"+waren_counter).value = infos;


	if ((jsrchttp = jsrcGetHTTPObject()) != null) 
	{
		jsrchttp.onreadystatechange = function()
		{
			if (jsrchttp.readyState == 4) {
				var data = jsrchttp.responseText;
				
				if(!data == "1")
				{
					alert("Es ist ein fehler aufgetreten!");
					return false;
				}
			}
		}
		var anzahl = getId("count_"+waren_counter).value;
		jsrchttp.open("GET", "shoppingCartScript.php?id="+id+"&infos="+infos+"&menge="+anzahl+"&belegung="+belegung+"&freetextprice="+freeTextPriceId, true);
		jsrchttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		jsrchttp.send(null);
	}

	return false;
}



// Um nicht immer document.getElementById zu tippen
function getId(id)
{
	return document.getElementById(id);
}


