// create request objects for call
var req = null;
var http = null;
if(window.XMLHttpRequest) {
	http = new XMLHttpRequest();
} else if(window.ActiveXObject) {
	http = new ActiveXObject("Microsoft.XMLHTTP");
}

// hier wird der Text aus der Eingabe an den Server geschickt
function send(){
	var checkResult = checkInput();
	if(checkResult == "") {
		//erstellen des requests
		try{
			req = new XMLHttpRequest();
		} catch (e){
			try{
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e){
				try{
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (failed){
					req = null;
				}
			}  
		}
		if (req == null) {
			alert("Ihre Reservierung kann zurzeit nicht entgegengenommen werden. Bitte versuchen sie es später nochmal.");
		} else {
			//anfrage erstellen (GET, url ist localhost, request ist asynchron) 
			var url = 'fileadmin/templates/v1_0/php/reservation.php?reservation='+document.getElementById('reservation').value+'&date='+
			document.getElementById('date').value+'&from='+ document.getElementById('from').value +'&to='+ document.getElementById('to').value 
			+'&firstname='+ document.getElementById('firstname').value +'&lastname='+ document.getElementById('lastname').value 
			+'&numberOfPersons='+document.getElementById('numberOfPersons').value +'&eMail='+ document.getElementById('eMail').value 
			+'&tel='+ document.getElementById('tel').value + '&commentary='+ document.getElementById('commentary').value ;
			req.open("GET", url, true);
			//Beim abschliessen des request wird diese Funktion ausgeführt
			req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			req.send(null);
			var content = document.getElementById('formDiv');
			var form = document.getElementById('form');
			content.removeChild(form);
			var confirmation = document.createElement('p');
			content.appendChild(confirmation);
			confirmation.innerHTML = "Ihre Reservierung wurde gesendet. Sie erhalten in kürze eine Bestätigungsemail."
			confirmation.id = "confirm";
		}
	} else {
		var wrongInput = "Bitte geben Sie in folgenden Feldern korrekte Daten an: \n" + checkResult;
		window.alert(wrongInput);
	}
}

function checkInput(){
	var wrongInput = "";
	if(document.getElementById('firstname').value == ""){
		wrongInput += "Vorname \n";
	} 
	if(document.getElementById('lastname').value == ""){
		wrongInput += "Nachname \n";
	} 
	if(document.getElementById('numberOfPersons').value == ""){
		wrongInput += "Personenanzahl \n";
	} 
	if(document.getElementById('tel').value == ""){
		wrongInput += "Telefonnummer \n";
	}
	// validate Email
	if(document.getElementById('eMail').value == "") {
		wrongInput += "E-Mail \n";
	} else {
		var eMail = document.getElementById('eMail').value;
		try {
			var eMailArray = eMail.split("@");
			if(eMailArray[0].length < 3 || eMailArray[1].length < 3) {
				wrongInput += "E-Mail \n";
			} else {
				var domLoc = eMailArray[1].split(".");
				if(domLoc[1] != "de" && domLoc[1] != "com" && domLoc[1] != "net" && domLoc[1] != "org" && domLoc[1] != "biz" && domLoc[1] != "to" && domLoc[1] != "name" && domLoc[1] != "eu"){
					wrongInput += "E-Mail \n";
				} 
			}
		} catch (e) {
			wrongInput += "E-Mail \n";
		}
	}
	return wrongInput;
}

function createReservationForm(){
	var getParamsData = location.search;
	var params = getParamsData.split("&");
	var counter = 4;
	var temp = params[counter].split("=");
	var year = temp[1];
	var test = year.split("-")[0];
	if(test == "view"){
		counter++;
		temp = params[counter].split("=");
		year = temp[1];
	}
	counter++;
	temp = params[counter].split("=");
	var month = temp[1];
	counter++;
	temp = params[counter].split("=");
	var day = temp[1];
	var temp = year+month+day;
	if(checkDate(temp)) {
		var date = temp.charAt(6)+temp.charAt(7)+"."+temp.charAt(4)+temp.charAt(5)+"."+temp.charAt(0)+temp.charAt(1)+temp.charAt(2)+temp.charAt(3);
		var getUid = params[3].split("=");
		if(getUid[1] != '4' && getUid[1] != '5' && getUid[1] != '6'){
			getUid = params[4].split("=");
		}
		var uid = getUid[1];
		var form = '<div id="formDiv"><form "action="fileadmin/reservation.php" method="post" name="form" id="form" enctype="text/plain"><p> ';
		switch(uid) {
			case '4': form +='<label id="resTitle"> Restaurant - Tischreservierung </label><input type="text" name="Reservierung" id="reservation" value="Restaurant - Tischreservierung" /><br />' ; break;
			case '5': form +='<label id="resTitle"> Saalbetrieb - Reservierung </label><input type="text" name="Reservierung" id="reservation" value="Saalbetrieb - Reservierung" /><br />' ; break;
			case '6': form +='<label id="resTitle"> Kegelbahn - Reservierung </label><input type="text" name="Reservierung" id="reservation" value="Kegelbahn - Reservierung" /><br />' ; break;
			default: document.write(uid); break;
		}
		form +='</p><label> Datum: </label>' + date + '<input type="text" name="Datum" id="date" value="'+date+'" /><br />' + 
		'<span id="time">Uhrzeit:</span><label> von </label><select size="auto" name="from" id="from">';
		for(i = 11; i < 15; i++){
			form += '<option>'+i+':30</option><option>'+i+':00</option>';
		}
		for(i = 18; i < 22; i++){
			form += '<option>'+i+':00</option><option>'+i+':30</option>';
		}
		form += '</select><label> bis </label><select size="auto" name="to" id="to">';
		for(i = 12; i < 15; i++){
			form += '<option>'+i+':00</option><option>'+i+':30</option>';
		}
		form += '<option>15:00</option>';
		for(i = 18; i < 22; i++){
			form += '<option>'+i+':00</option><option>'+i+':30</option>';
		}
		form +='<option>22:00</option></select><br />';
		form += '<p><label> Vorname: </label><input type="text" name="firstname" id="firstname" /><br />' +
		'<label> Nachname: </label><input type="text" name="lastname" id="lastname" /><br />' +
		'<label> Personenanzahl: </label><input type="text" name="numberOfPersons" id="numberOfPersons" /><br />' +
		'<label> e-mail: </label><input type="text" name="eMail" id="eMail" /><br />' +
		'<label> Telefon: </label><input type="text" name="tel" id="tel" /><br />' +
		'<label> Kommentar: </label><input type="text" name="commentary" id="commentary" maxlength="100"/>' +
		'</p><p><input type="button" value="Abschicken" onClick="send();"></p></form></div>';
		document.write(form);
	} else {
		document.write("Das Datum liegt in der Vergangenheit, bitte wählen Sie ein gültiges Datum aus!");
	}
}

function checkDate(dateString) {
	var date = parseInt(dateString);
	var overallDate = new Date();
	var currentDateString = ""+overallDate.getUTCFullYear();
	var temp = ""+overallDate.getUTCMonth();
	temp2 = parseInt(temp);
	temp2 += 1;
	temp = ""+temp2;
	if(temp.length == 1){
		var temp1 = "0";
		temp1 += temp;
		temp = temp1;
	}
	currentDateString += temp;
	currentDateString += overallDate.getUTCDate();
	var currentDate = parseInt(currentDateString);
	if(currentDate > date){
		return false;
	} else {
		return true;
	}
}
