﻿function GetDeliveryTime(postalcode) {
	var ajaxIndex = ajaxObjects.length;
	ajaxObjects[ajaxIndex] = new sack();
	var url = "/ajax/getdeliverytime.asp?postalcode=" + postalcode;
	ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	ajaxObjects[ajaxIndex].onLoading = function() { setLoaderText("Arbejder..."); } ;
	ajaxObjects[ajaxIndex].onCompletion = function() { SetDeliveryDateTime(ajaxIndex); } ;	// Specify function that will be executed after file has been found
	ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function
}

function SetDeliveryDateTime(index) {	
	var xml = parseXMLresponse(index);
	setDeliveryTimeDropDown(xml);
	EnableDeliveryTime();
	setLoaderText("");		
}

function setLoaderText(strText) {
	document.getElementById("loader").innerHTML = strText;
}

function selectOptionByValue(strValue, objSelect) {
	for (var i = 0; i < objSelect.length; i++) {
		if (objSelect.options[i].value == strValue) {
			objSelect.options[i].selected = true;
			return;
		}
	}
	objSelect.options[0].selected = true;
}

function findPostalCode(postalCode) {
	var obj = document.deliveryform.lngDeliveryPostalCodeID;
	for (var i=0; i < obj.length; i++) {
		if (obj.options[i].value == postalCode) {
			if (obj.options[i].value == 0) {
				DisableDeliveryTime();
				break;
			} else {					
				GetDeliveryTime(obj.options[i].value);
				obj.options[i].selected = true;
				break;
			}
		}
	}
}

function EnableDeliveryTime() {
	var deliverydateCell = document.getElementById("deliverydate");
	var deliverydate = deliverydateCell.getElementsByTagName("select");
	var nextButton = document.getElementById("nextButton");
	var quickBox = document.getElementById("bolQuick");
	quickBox.disabled = false;
	nextButton.disabled = false;
	for (var i = 0; i < deliverydate.length; i++) {
		deliverydate[i].disabled = false;
	}				
}

function DisableDeliveryTime() {
	
	var deliverydateCell = document.getElementById("deliverydate");
	var deliverydate = deliverydateCell.getElementsByTagName("select");
	var nextButton = document.getElementById("nextButton");
	var quickBox = document.getElementById("bolQuick");
	quickBox.disabled = true;
	nextButton.disabled = true;
	for (var i = 0; i < deliverydate.length; i++) {
		deliverydate[i].disabled = true;
	}				
}

function DisableDeliveryTimeDropdown() {
	var deliverydateCell = document.getElementById("deliverydate");
	var deliverydate = deliverydateCell.getElementsByTagName("select");
	var nextButton = document.getElementById("nextButton");
	var quickBox = document.getElementById("bolQuick");
	for (var i = 0; i < deliverydate.length; i++) {
		deliverydate[i].disabled = true;
	}				
}

function handleQuick(e) {
	if (e.checked) {
		DisableDeliveryTimeDropdown();
	} else {
		EnableDeliveryTime();
	}	
}

function handlePostalcodeChange(obj) {
	var objPostalCodeSel = obj;
	
	if (objPostalCodeSel.selectedIndex > 0) {
		GetDeliveryTime(objPostalCodeSel.value);
	} else {
		DisableDeliveryTime();
	}
}
	
function setDeliveryTimeDropDown(xmlDoc) {				
	var deliveryTime = xmlDoc.getElementsByTagName("deliverydate");
	date = deliveryTime[0].getElementsByTagName("date")[0].childNodes[0].nodeValue;
	hour = deliveryTime[0].getElementsByTagName("hour")[0].childNodes[0].nodeValue;
	minute = deliveryTime[0].getElementsByTagName("minute")[0].childNodes[0].nodeValue;				
	selectOptionByValue(date, document.deliveryform.datDate);
	selectOptionByValue(hour, document.deliveryform.lngHour);
	selectOptionByValue(minute, document.deliveryform.lngMinute);
}
	

