// function getCallBackHours()
// holt per ajax die Optionen fuer die Selectboxen
// Autor: Martin Blatter 
function getCallBackHours() {
	var day = document.getElementById('date').value;

	with (new getOrderData()) {
		id = sid;
		onSuccess = writeNewTimes;
		getCallBackTime(day);
	}
}

// function writeNewTimes()
// schreibt die per ajax geholten Zeiten in die selectboxen
// Autor: Martin Blatter 
function writeNewTimes(response) {
	var sResponse = new String(response);
	var times = new Array();
	times = sResponse.split("#");

	var oSelectBox1 = document.getElementById("from");
	var oSelectBox2 = document.getElementById("until");

	while (oSelectBox1.options.length > 0) {
		oSelectBox1.selectedIndex = -1;
		oSelectBox1.options[0] = null;
	}
	while (oSelectBox2.options.length > 0) {
		oSelectBox2.selectedIndex = -1;
		oSelectBox2.options[0] = null;
	}
	// Zeitangabe mit 'am' oder 'pm'
	if (times[0] == 1) { // times[0] == 1 - wird in CallBack::getTimes() gesetzt, wenn US/CA und language == en
		var del = times.shift();		// 1 am Anfang entfernen
		delete del;
		for (var i = 0; i <= times.length-2; i++) {
			var oNewOption = new Option();
			oNewOption.text = times[i];
			oNewOption.value = times[i];
			document.getElementById("from").options[document.getElementById("from").length] = oNewOption;
		}
		for (var i = 1; i <= times.length-1; i++) {
			var oNewOption = new Option();
			oNewOption.text = times[i];
			oNewOption.value = times[i];
			
			document.getElementById("until").options[document.getElementById("until").length] = oNewOption;
		}
	}
	// Zeitangabe NICHT amerikanisch
	else {
		for (var i = 0; i <= times.length-2; i++) {
			var oNewOption = new Option();
			oNewOption.text = times[i] + " " + oClock;
			oNewOption.value = times[i];
			document.getElementById("from").options[document.getElementById("from").length] = oNewOption;
		}
		for (var i = 1; i <= times.length-1; i++) {
			var oNewOption = new Option();
			oNewOption.text = times[i] + " " + oClock;
			oNewOption.value = times[i];
	
			document.getElementById("until").options[document.getElementById("until").length] = oNewOption;
		}
	}
}

// function checkSent ()
// überprüft ob Anfrage abgeschickt wurde,
// falls ja -> Fenster schliessen
function checkSent(){

	if (document.getElementById('sent').value == 1) {
		window.self.close();
	} 
}

// function clear_input()
// Leert beim aufrufendem Objekt das Eingabefeld(beim defaulttext) und setzt Farbe auf Schwarz
// Autor: Martin Blatter 
function clear_input(target) {		

	if (target.value == defaultNumber | target.value == defaultOrderId | target.value == defaultComment) {
		target.value = "";
		target.style.color = "#000000";
	} 
}


var wasSent = 0;
// function validateCallBack ()
// überprüft ob eingegebene Daten soweit in Ordnung sind
// Autor: Martin Blatte 
function validateCallBack(openingTime) {
	var now = new Date();
	var fromHour;
	var fromMinute;
	var untilHour;
	var untilMinute;
	var selectedDate = document.getElementById("date").value;
	selectedDate = selectedDate.substr(0,2);
	var selectedFrom = document.getElementById("from").value;
	var selectedFromHour = selectedFrom.substr(0,2);
	var selectedFromMinute = selectedFrom.substr(3,5);
	var selectedUntil = document.getElementById("until").value;
	var selectedUntilHour = selectedUntil.substr(0,2);
	var selectedUntilMinute = selectedUntil.substr(3,5);

	// wurde schon abgeschickt? -> false
	if (wasSent == 1) {
		return false;
	}
		
	// ueberpuefen ob das Fenster lange offen war um nicht mehr gueltige eingaben zu verhindern
	// nicht heute geoeffnet -> return false
	if (now.getDate() != openingTime.getDate()) {
		location.reload(true);
		return false;
	}		

	// 'von' und 'bis' sind gleich -> return false
	if (selectedFrom == selectedUntil) {
		return false;
	}

	// ausgewaehlter Tag ist heutiger Tag
	// -> Zeiten ueberpruefen
	if (now.getDate() == selectedDate) {
		// 'Von' ist kleiner als 'Bis' ?
		if (selectedFromHour <= selectedUntilHour) {
			fromHour = selectedFromHour;
			fromMinute = selectedFromMinute;
			untilHour = selectedUntilHour;
			untilMinute = selectedUntilMinute;
			// Stunden gleich -> Minuten ueberpruefen
			if (fromHour == untilHour && untilMinute < fromMinute) {
				return false;
			}
		} else { // sonst -> false
			return false;				
		}
		
		// aktuelle Stunde ist groesser als ausgewaehlte -> return false
		if (fromHour < now.getHours()) {
			location.reload(true);
			return false;
		}
		
	}

	// sind Pflichtfelder ausgefuellt?
	var name = document.getElementById('name').value;
	var phone = document.getElementById('phone').value;
	
	if (name == '' || phone == '' || phone == defaultNumber) {
		return false;
	}

	// hats bis hierhin geschafft, passt alles
	// optionale Felder leeren, falls default-text enthalten
	if (document.getElementById('order_id').value == defaultOrderId) {
		document.getElementById('order_id').value = '';
	}
	if (document.getElementById('callBackText').value == defaultComment) {
		document.getElementById('callBackText').value = '';
	}
	
	wasSent = 1; // setzen um Mehrfachsendung zu vermeiden
	return true;
}

// function openCallBackWin()
// oeffnet das neue Fenster fuer ServiceCallBack
// Martin Blatter 
function openCallBackWin(url) {

	win = ",";

    //ausrichtung fuer Opera
    if(opera) {
        var x = (parseInt(fensterweite())/2) - 346;
        var y = 136;
        win += "left=" + x + ",top=" + y + ",screenX=0,screenY=0";
    }
    //ausrichtung fuer IE
    else if(ie) {
        var x = (parseInt(getBrowserX()) + (parseInt(fensterweite())/2)) - 348;
        var y = parseInt(getBrowserY()) + 103;
        win += "left=" + x + ",top=" + y + ",screenX=0,screenY=0";
    }
    //Ausrichtung fuer Firefox und Browser der "dom" kann
    else if(dom || nn4) {
        var x = ((parseInt(fensterweite())/2) + parseInt(getBrowserX())) - 344;
        var y = parseInt(getBrowserY()) + 217;
        win += "left=" + x + ",top=" + y + ",screenX=0,screenY=0";
    }
    //alle anderen Browser
    else {
    var x = ((parseInt(fensterweite())/2) + parseInt(getBrowserX())) - 351
    var y = parseInt(getBrowserY()) + 100;
    win += "left=" + x + ",top=" + y + ",screenX=0,screenY=0";
    }

	callBack = window.open( url, 'ServiceCallBack','resizable=no, menubar=no,toolbar=no,status=no,scrollbars=auto,width=364,height=400' + win);
	callBack.focus();	
}