// script.js by frank thx to QuirksMode
window.onload = init;

function init()
{
	optionTest = true;
	if (!document.forms[0])	
		{ 
		optionTest = false;
		return;
		}
	lgth = document.forms[0].placeselect.options.length - 1;
	document.forms[0].placeselect.options[lgth] = null;
	if (document.forms[0].placeselect.options[lgth])
		{ 
		optionTest = false;
		return;
		}
	if (!document.getElementById)
		{ 
		optionTest = false;
		return;
		}
	if (!(document.getElementsByTagName || document.all))
		{ 
		optionTest = false;
		return;
		}
	initeventhandlers();	
	if(document.forms[0].dateselect.value && document.getElementById('placeselectindex'))
		{
		dateselected();
		document.forms[0].placeselect.selectedIndex = document.getElementById('placeselectindex').value;
		getprice();
		document.getElementById('additional').style.display = 'block';
		}
	else
		{
		document.getElementById('endprice').firstChild.nodeValue = 'Bitte wählt zuerst einen Termin';
		document.getElementById('userform').style.display = 'none';
		document.getElementById('additional').style.display = 'none';
		}

		document.getElementById('formsubmitted').style.display = 'none';
} 
function initeventhandlers ()
{
	if (!optionTest) return;

	document.getElementById('tdoverview').onclick = function () {tabs(0)};	
	document.getElementById('tddescription').onclick = function () {tabs(1)};	
	document.getElementById('tdduration').onclick = function () {tabs(2)};	
	document.getElementById('tdhousing').onclick = function () {tabs(3)};	
	document.getElementById('tdtours').onclick = function () {tabs(4)};	
	document.getElementById('tdrecreation').onclick = function () {tabs(5)};	
	document.getElementById('tdservices').onclick = function () {tabs(6)};	
	document.getElementById('tdextras').onclick = function () {tabs(7)};	
	document.getElementById('tdop').onclick = function () {tabs(8)};	
	document.getElementById('tdinfos').onclick = function () {tabs(9)};	
	tabs(0);
	document.forms[0].dateselect.onchange  = dateselected;
	document.forms[0].dateselect.onclick = dateselected;
	document.forms[0].placeselect.onchange  = getprice;
	document.forms[0].placeselect.onclick = getprice;
	
	document.getElementById('showadditional').onchange  = function () {document.getElementById('additional').style.display = 'block';};
	document.getElementById('showadditional').onclick = function () {document.getElementById('additional').style.display = 'block';};
	
	var checkboxes = document.getElementById("possibleExtras").getElementsByTagName("input");
	for (var i=0;i<checkboxes.length;i++)
	{
		checkboxes[i].onclick = getprice;
		checkboxes[i].onchange  = getprice;
	}
}
function tabs(clickedtab)
{
	if (!optionTest) return;
	
	var tabsarray = document.getElementById('tripDetailNavigation').getElementsByTagName('li')
	var cdivarray = document.getElementById('tripDetailNavigation').getElementsByTagName('div')
	for (var j=0;j<10;j++)
		{
		if (clickedtab == j)
			{
			tabsarray[j].className='active';
			cdivarray[j].style.display = 'block';
			}
		else 
			{
			tabsarray[j].className='';
			cdivarray[j].style.display = 'none';
			}
		}
}
function dateselected()
{
	if (!optionTest) return;

	if(!document.forms[0].dateselect.value) return;
	document.forms[0].placeselect.length = 0;	
	for(i=0;i<places[document.forms[0].dateselect.value].length;i+=3)
	{
		if (!(places[document.forms[0].dateselect.value][i] == 7)) document.forms[0].placeselect.options[i/3] = new Option(places[document.forms[0].dateselect.value][i],i/3);
	}

	document.getElementById('endprice').firstChild.nodeValue = 'Bitte wählt einen Abfahrtsort';
	document.getElementById('formsubmitted').style.display = 'none';
	document.getElementById('userform').style.display = 'none';
	document.getElementById('additional').style.display = 'none';


}
function getprice()
{

	if (!optionTest) return;
	if (document.forms[0].dateselect.selectedIndex < 0) return;
	if (document.forms[0].placeselect.selectedIndex < 0) return;
	
	var baseprice = baseprices[(document.forms[0].dateselect.value)];
	var startplace = places[(document.forms[0].dateselect.value)];
	var additionalcharge = startplace[((document.forms[0].placeselect.selectedIndex)*3)+1];

	var extracharge = 0;
	var checkboxes = document.getElementById("possibleExtras").getElementsByTagName("input");
	for (var i=0; i<checkboxes.length; i++) 
		{
		if (checkboxes[i].checked && extras[i] && extras[i] != 0)
			{
			extracharge += extras[i]; 
			}
		}

	var price = baseprice + additionalcharge + extracharge;
	
	document.getElementById('endprice').firstChild.nodeValue = 'Der Preis für diese Kombination beträgt ' + price + ' Euro pro Person.';
	document.getElementById('endprice').style.color = 'red';
	
	document.getElementById('userform').style.display = 'block';
	document.getElementById('xprice').value = baseprice;
	document.getElementById('calcprice').value = price;
	document.getElementById('startdatex').value =  sdates[document.getElementById('dateselect').selectedIndex]; 
	document.getElementById('startdateidx').value =  document.getElementById('dateselect').value; 
	document.getElementById('startplacename').value = startplace[(document.forms[0].placeselect.selectedIndex)*3]; 
	document.getElementById('startplprice').value = startplace[((document.forms[0].placeselect.selectedIndex)*3)+1];
	document.getElementById('startplaceid').value = startplace[((document.forms[0].placeselect.selectedIndex)*3)+2];
} 