function TimeTaken(strFormName) {
	var objForm = eval("document." + strFormName);
	var objPortFrom = objForm.PortFromCodeID;
	var objPortTo = objForm.PortToCodeID;
	var objDistance = objForm.Distance;
	var objDistanceRouteDesc = objForm.DistanceRouteDescription;
	var objDistanceDay = objForm.DistanceDay;
	var objDistanceHour = objForm.DistanceHour;
	 
	var varPortFromCodeID = objPortFrom.options[objPortFrom.selectedIndex].value;
	var varPortToCodeID = objPortTo.options[objPortTo.selectedIndex].value;
	
	if (varPortFromCodeID == "") {
		alert("Please select a departure port.");
		objDistanceDay.value   		= "";
		objDistance.value 			= "";
		objDistanceHour.value  		= "";
		objDistanceRouteDesc.value  = "";
		return false;
	}

	if (varPortToCodeID == "") {
		alert("Please select a arrival port.");
		objDistanceDay.value   		= "";
		objDistance.value 			= "";
		objDistanceHour.value  		= "";
		objDistanceRouteDesc.value  = "";
		return false;
	}
	
	// Get Time Taken 
	for (i=0; i<PortDistance.length; i+=5) {
		// if found, ...
		if ( varPortToCodeID == PortDistance[i] ) {
			objDistance.value = PortDistance[i+3];
			objDistanceRouteDesc.value = PortDistance[i+4];
			
			var TimeTaken   = (parseInt(objDistance.value) / parseFloat(objForm.Speed.value));
			var intDistanceDay  = parseFloat(TimeTaken / 24);
			var intDistanceHour = parseFloat(TimeTaken % 24);

			if (intDistanceDay < 1){
				intDistanceDay = 0;
			}else{
				intDistanceDay = parseInt(intDistanceDay);
			}

			if (intDistanceHour < 1) {
				intDistanceHour = 0;
			}else {
				if (intDistanceHour > parseInt(intDistanceHour)) {
					intDistanceHour += 1;
					intDistanceHour = parseInt(intDistanceHour);
				}
			}

			objDistanceDay.value  = intDistanceDay;
			objDistanceHour.value = intDistanceHour;
			break;
		}
	}
	return false;
}

function Recalculate(strFormName, strFormChecker){
	if (strFormChecker != ""){
		var objFormChecker = eval(strFormChecker + '()');
		if(!objFormChecker){
			return false;
		}
	}
	
	return TimeTaken(strFormName);
}

