var msg="The Shongololo Express      ";
var scrollspeed=200;
function ScrollTitle() {
		document.title=msg;
		msg=msg.substring(1,msg.length)+msg.charAt(0);
		setTimeout("ScrollTitle()",scrollspeed);
}
ScrollTitle();

var type;

if (navigator.userAgent.indexOf("Opera") !=-1 && document.getElementById) type="OP";
if (document.all) type="IE";
if (document.layers) type="NN";
if (!document.all && document.getElementById) type="MO";

function getBookingRequestForm() {
	if (type=="IE") {
		return document.all.bookingRequest;
	}
	else if (type=="NN") {
		return document.bookingRequest;
	}			
	else if (type=="MO" || type=="OP") {
		return document.getElementById("bookingRequest");
	}
}

function calcTotal() {
	var totalCost = 0;
	var currency;
	
	myForm = getBookingRequestForm();
	currency_Sign = myForm.currency_Sign.value;
	
	if (myForm.rate_AfricaIvorySharing) {
		myForm.rate_AfricaIvorySharing.value = Math.round(myForm.rate_AfricaIvorySharing.value);
		if (myForm.rate_AfricaIvorySharing.value == "" || isNaN(myForm.rate_AfricaIvorySharing.value)) {
			myForm.rate_AfricaIvorySharing.value = 0;
		} else {
			thisCost = myForm.rate_AfricaIvorySharing.value * myForm.rate_AfricaIvorySharingUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_AfricaIvorySharingTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	if (myForm.rate_AfricaIvorySingle) {
		if (myForm.rate_AfricaIvorySingle.value == "" || isNaN(myForm.rate_AfricaIvorySingle.value)) {
			myForm.rate_AfricaIvorySingle.value = 0;
		} else {
			thisCost = myForm.rate_AfricaIvorySingle.value * myForm.rate_AfricaIvorySingleUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_AfricaIvorySingleTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	if (myForm.rate_AfricaGoldSharing) {
		if (myForm.rate_AfricaGoldSharing.value == "" || isNaN(myForm.rate_AfricaGoldSharing.value)) {
			myForm.rate_AfricaGoldSharing.value = 0;
		} else {
			thisCost = myForm.rate_AfricaGoldSharing.value * myForm.rate_AfricaGoldSharingUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_AfricaGoldSharingTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	if (myForm.rate_AfricaCommodoreSharing) {
		if (myForm.rate_AfricaCommodoreSharing.value == "" || isNaN(myForm.rate_AfricaCommodoreSharing.value)) {
			myForm.rate_AfricaCommodoreSharing.value = 0;
		} else {
			thisCost = myForm.rate_AfricaCommodoreSharing.value * myForm.rate_AfricaCommodoreSharingUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_AfricaCommodoreSharingTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	if (myForm.rate_AfricaPlus) {
		if (myForm.rate_AfricaPlus.value == "" || isNaN(myForm.rate_AfricaPlus.value)) {
			myForm.rate_AfricaPlus.value = 0;
		} else {
			thisCost = myForm.rate_AfricaPlus.value * myForm.rate_AfricaPlusUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_AfricaPlusTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
		
	if (myForm.rate_HeritageIvorySharing) {
		if (myForm.rate_HeritageIvorySharing.value == "" || isNaN(myForm.rate_HeritageIvorySharing.value)) {
			myForm.rate_HeritageIvorySharing.value = 0;
		} else {
			thisCost = myForm.rate_HeritageIvorySharing.value * myForm.rate_HeritageIvorySharingUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_HeritageIvorySharingTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	if (myForm.rate_HeritageIvorySingle) {
		if (myForm.rate_HeritageIvorySingle.value == "" || isNaN(myForm.rate_HeritageIvorySingle.value)) {
			myForm.rate_HeritageIvorySingle.value = 0;
		} else {
			thisCost = myForm.rate_HeritageIvorySingle.value * myForm.rate_HeritageIvorySingleUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_HeritageIvorySingleTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	if (myForm.rate_HeritageGoldSharing) {
		if (myForm.rate_HeritageGoldSharing.value == "" || isNaN(myForm.rate_HeritageGoldSharing.value)) {
			myForm.rate_HeritageGoldSharing.value = 0;
		} else {
			thisCost = myForm.rate_HeritageGoldSharing.value * myForm.rate_HeritageGoldSharingUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_HeritageGoldSharingTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	if (myForm.rate_HeritageCommodoreSharing) {
		if (myForm.rate_HeritageCommodoreSharing.value == "" || isNaN(myForm.rate_HeritageCommodoreSharing.value)) {
			myForm.rate_HeritageCommodoreSharing.value = 0;
		} else {
			thisCost = myForm.rate_HeritageCommodoreSharing.value * myForm.rate_HeritageCommodoreSharingUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_HeritageCommodoreSharingTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	if (myForm.rate_HeritageEmeraldSharing) {
		if (myForm.rate_HeritageEmeraldSharing.value == "" || isNaN(myForm.rate_HeritageEmeraldSharing.value)) {
			myForm.rate_HeritageEmeraldSharing.value = 0;
		} else {
			thisCost = myForm.rate_HeritageEmeraldSharing.value * myForm.rate_HeritageEmeraldSharingUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_HeritageEmeraldSharingTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	if (myForm.rate_HeritagePlus) {
		if (myForm.rate_HeritagePlus.value == "" || isNaN(myForm.rate_HeritagePlus.value)) {
			myForm.rate_HeritagePlus.value = 0;
		} else {
			thisCost = myForm.rate_HeritagePlus.value * myForm.rate_HeritagePlusUnit.value;
		}
		totalCost += thisCost;
		document.getElementById("rate_HeritagePlusTotal").innerHTML = currency_Sign + " " + formatNumber(thisCost);
	}
	
	document.getElementById("totalCost").innerHTML = currency_Sign + " " + formatNumber(totalCost);
}

function formatNumber(anynum) {
	//-- Returns passed number as string in $xxx,xxx.xx format.
	anynum = eval(anynum)
	workNum = Math.abs((Math.round(anynum*100)/100));
	workStr = "" + workNum;
	
	if (workStr.indexOf(".")==-1) {
		workStr += ".00"
	}
	
	dStr=workStr.substr(0,workStr.indexOf("."));
	dNum=dStr-0;
	
	pStr=workStr.substr(workStr.indexOf("."));
	while (pStr.length<3) {
		pStr += "0";
	}

	//--- Adds comma in thousands place.
	if (dNum>=1000) {
		dLen=dStr.length;
		dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen);
	}

	//-- Adds comma in millions place.
	if (dNum>=1000000) {
		dLen=dStr.length;
		dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen);
	}
	
	retval = dStr + pStr ;
	//-- Put numbers in parentheses if negative.
	if (anynum<0) {
		retval="("+retval+")";
	}
	return retval;
}

function isEmpty(aTextField) {
   if ((aTextField.value.length==0) ||
   (aTextField.value==null)) {
      return true;
   }
   else { return false; }
}	

function echeck(str) {
	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var lstr = str.length;
	var ldot = str.indexOf(dot);
	if (str.indexOf(at) == -1) {
		return false;
	}

	if (str.indexOf(at) == -1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
		return false;
	}

	if (str.indexOf(dot) == -1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}

	if (str.indexOf(at,(lat+1)) != -1){
		return false;
	}

	if (str.substring(lat-1,lat) == dot || str.substring(lat+1,lat+2) == dot){
		return false;
	}

	if (str.indexOf(dot,(lat+2)) == -1){
		return false;
	}
	
	if (str.indexOf(" ") != -1){
		return false;
	}
	
	if (str.lastIndexOf(dot) == str.length -1){
		return false;
	}

	return true;				
}