/**
*	hdevents.js
*
*	Copyright (c) 2008 a-commerce ag. All Rights Reserved.
*
*	date created: 01/2008/cz
*/

function closeReservation(id, order) {
	document.getElementById('res'+id+order).src='img/free.png';
	showLayerInaktiv();
	document.getElementById('reservation').style.visibility = "hidden";
	document.getElementById('reservation').innerHTML = "";	
}

function closeAlertReservation(id, order) {
	document.getElementById('res'+id+order).onclick='';
	document.getElementById('res'+id+order).title=msg2;
	document.getElementById('res'+id+order).style.cursor='auto';
	showLayerInaktiv();
	document.getElementById('reservation').style.visibility = "hidden";
	document.getElementById('reservation').innerHTML = "";	
}

function closeNoAvailableReservation(id, order) {
	document.getElementById('res'+id+order).src='img/reserviert.png';
	document.getElementById('res'+id+order).onclick='';
	document.getElementById('res'+id+order).title=msg3;
	document.getElementById('res'+id+order).style.cursor='auto';
	showLayerInaktiv();
	document.getElementById('reservation').style.visibility = "hidden";
	document.getElementById('reservation').innerHTML = "";	
}

function showLayerInaktiv() {
	if (document.getElementById('inaktiv').style.visibility != "visible") {		
		document.getElementById('inaktiv').style.visibility = "visible";
	}
	else {
		document.getElementById('inaktiv').style.visibility = "hidden";
	}
}

function showReservation(id, order) {	
	if (document.getElementById('reservation').style.visibility != "visible") {
		showLayerInaktiv();
		loadReservation(id, order);
		document.getElementById('reservation').style.visibility = "visible";
	}
}

function loadReservation(id, order) {	
	document.getElementById('res'+id+order).src='img/resaktuell.png';
	var url = 'reservation.cfm';	
	var params = getSID()+'&event=getFormular&id='+id+'&order='+order;	
	var ajax = new Ajax.Updater(
	{success: 'reservation'},
	url,
	{method: 'get', parameters: params, onFailure: loadReservationError, evalScripts: true});
}
function loadReservationError(request) {	
	alert("Error: getReservationError response");
}

function storeReservation(id, order) {
	if (isValidInput()) {
		var url = 'respres.cfm';	
		var params = getSID()+'&event=storeReservation&id='+id+'&order='+order+getResArgs();
		var ajax = new Ajax.Updater(
		{success: 'resPanel'},
		url,
		{method: 'get', parameters: params, onFailure: storeReservationError, evalScripts: true});
	}
	else {
		alert(msg1);
	}
}
function storeReservationError(request) {	
	alert("Error: storeReservationError response");
}

function getResArgs() {
	var r = "&args="+document.getElementById("anrede").value
		+","+document.getElementById("fname").value
		+","+document.getElementById("lname").value
		+","+document.getElementById("strasse").value
		+","+document.getElementById("plz").value
		+","+document.getElementById("ort").value
		+","+document.getElementById("email").value
		+","+document.getElementById("gebDatum").value
		+","+document.getElementById("korrsprache").value
		+","+document.getElementById("ausweis").value
		+","+document.getElementById("telp").value
		+","+document.getElementById("telm").value
		+","+document.getElementById("hddealer").options[document.getElementById("hddealer").selectedIndex].value;
		
	return r;
}

function isValidInput() {
	var x = 0;
	
	if (document.getElementById("anrede").options[document.getElementById("anrede").selectedIndex].value == 0) {
		if (isMSIE()) {
			document.getElementById("anrede").className = "bgIncorrectInput";
		}
		else {
			document.getElementById("anrede").className = "incorrectInput";
		}
		x++;
	}
	else {
		document.getElementById("anrede").className = "";
	}
	
	if (trim(document.getElementById("fname").value) == "") {
		document.getElementById("fname").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("fname").className = "";
	}
	
	if (trim(document.getElementById("lname").value) == "") {
		document.getElementById("lname").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("lname").className = "";
	}
	
	if (trim(document.getElementById("strasse").value) == "") {
		document.getElementById("strasse").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("strasse").className = "";
	}
	
	if (trim(document.getElementById("plz").value) == "") {
		document.getElementById("plz").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("plz").className = "";
	}
		
	if (trim(document.getElementById("ort").value) == "") {
		document.getElementById("ort").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("ort").className = "";
	}
	
	if (trim(document.getElementById("email").value) == "") {
		document.getElementById("email").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("email").className = "";
	}
	
	if (!checkemail(document.getElementById("email").value)) {
		document.getElementById("email").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("email").className = "";
	}
	
	if (trim(document.getElementById("email2").value) == "") {
		document.getElementById("email2").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("email2").className = "";
	}
	
	if (!checkemail(document.getElementById("email2").value)) {
		document.getElementById("email2").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("email2").className = "";
	}
	
	if (document.getElementById("gebDatum").value == "") {
		document.getElementById("gebDatum").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("gebDatum").className = "";
	}
	
	if (document.getElementById("korrsprache").options[document.getElementById("korrsprache").selectedIndex].value == 0) {
		if (isMSIE()) {
			document.getElementById("korrsprache").className = "bgIncorrectInput";
		}
		else {
			document.getElementById("korrsprache").className = "incorrectInput";
		}
		x++;
	}
	else {
		document.getElementById("korrsprache").className = "";
	}
	
	if (document.getElementById("ausweis").options[document.getElementById("ausweis").selectedIndex].value == 0) {
		if (isMSIE()) {
			document.getElementById("ausweis").className = "bgIncorrectInput";
		}
		else {
			document.getElementById("ausweis").className = "incorrectInput";
		}
		x++;
	}
	else {
		document.getElementById("ausweis").className = "";
	}
	
	if (document.getElementById("telm").value == "") {
		document.getElementById("telm").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("telm").className = "";
	}
		
	if (!document.getElementById("teilnahme").checked) {
		document.getElementById("tnahme").className = "bgIncorrectInput";
		x++;
	}
	
	if (document.getElementById("hddealer").options[document.getElementById("hddealer").selectedIndex].value == 0) {
		if (isMSIE()) {
			document.getElementById("hddealer").className = "bgIncorrectInput";
		}
		else {
			document.getElementById("hddealer").className = "incorrectInput";
		}
		x++;
	}
	else {
		document.getElementById("hddealer").className = "";
	}
	
		
	if (document.getElementById("email").value != document.getElementById("email2").value) {
		alert(msg5);
		document.getElementById("email").className = "incorrectInput";
		document.getElementById("email2").className = "incorrectInput";
		x++;
	}
	else {
		document.getElementById("email").className = "";
		document.getElementById("email2").className = "";
	}
	
	return (x>0) ? false : true;
}

function bgRemark() {
	document.getElementById("tnahme").className = "bgIncorrectInputRemark";
}

function isMSIE() {
	var ua = navigator.userAgent.toLowerCase(); 
	if (ua.indexOf("msie") != -1)  {
		return true;
	}
	else {
		return false;
	}
}

function checkemail(strEmail) {		
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	
	if (filter.test(strEmail))	{
		return true;
	}
	else{	
		return false;
	}
}

function getSID() {
	var uuid = new Date().getTime();	
	return sid+'&uuid='+uuid;	
}

function trim(s) {
	while (s.substring(0,1) == ' ') {
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' ') {
		s = s.substring(0,s.length-1);
	}
	return s;
}

function closeWindow() {
}

