var lbls= new Array('Nights','Adults','Children','Under Fives','Caravan','Motorhome','Trailer Tent','Large Tent','Small Tent','Awning','Electric Hookup','EH + Hard Standing');
var ids= new Array('ni','ad','ch','uf','ca','mo','tt','lt','st','aw','sp','hs');
var val= new Array();
var chrg= new Array();
var ttl;
var CCR = "??? CalcuRate ???\n\n";
var brkmsg='';

function rate(rates) {
	chrg=rates.split(',');
	for (i=1; i < ids.length; i++) {
		cid = ids[i]+"c";
		if (chrg[i] > 0) {
			lbl = "£"+format(chrg[i])
		} else {
			lbl ='FREE';
		}
		document.getElementById(ids[i]).rate=chrg[i];
		document.getElementById(cid).innerHTML=lbl;
	}
	document.getElementById('year').innerHTML=chrg[chrg.length-1];
}

function calc() {
	document.getElementById('total').innerHTML='X';
	ttl = 0;
	var temp = 0;
	var whl = 0;
	var tnt = 0;

	brkmsg='';
	for (i=0; i < ids.length; i++) {
		val[i] = num(ids[i],document.getElementById(ids[i]).value);
		if (i > 3 && i < 7) { // staying in something wheeled
			whl += val[i];
		}
		if (i > 6 && i < 9) { // staying in a tent
			tnt += val[i];
		}
		
	}
	if ((whl + tnt) < (val[10] + val[11])) { 
		alert(CCR+"Sorry.\n\nYou have requested too many Service Pitches\nOnly one SP per pitch thank you.\nPlease re-enter and recalculate.");
		document.getElementById(ids[10]).value='';
		val[10] = 0;
		document.getElementById(ids[11]).value='';
		val[11] = 0;
	}
	
	if (val[0] > 0 && val[1] > 0 && (whl+tnt > 0)) {
		for (i=1; i < ids.length; i++) {
 			if (val[i] > 0) {
	 			temp = document.getElementById(ids[i]).rate * val[i];
 				ttl += temp;
 				brkmsg += val[i]+" x "+ document.getElementById(ids[i]).rate +" = " + format(temp) + " for " + lbls[i]+"\n";
 			}
		}
		if (val[0] > 1) {
			brkmsg += "- - - - - - - - - - - - - - - -\n          = "+ format(ttl) +"\n            x " + val[0]+ " nights\n";
		}
		ttl *= val[0];
		brkmsg += "--------------------------------\n          = £"+ format(ttl);
		document.getElementById('total').innerHTML="£"+format(ttl)+"&nbsp;&nbsp;<span style='cursor:pointer' onClick='brkd()'>?</span>";
		document.getElementById('book').style.visibility='visible';
		return true;
	} else {
		document.getElementById('total').innerHTML='';
		alert(CCR + "Sorry CalcuRate needs more information.\n\nPlease enter numbers for Adults, Accommodation and Nights.");
		return false;
	}
}

function info() {
	if (document.getElementById('nme').value != '' && document.getElementById('date').value != '' && document.getElementById('eml').value != '' && document.getElementById('tele').value != '') {
		return true;
	} else {
		alert (CCR + "Please complete all fields in the Bookinquery panel");
	}
}

function book() {
	if (info() && calc()) {
		var bkmsg="Dear Greshornish C&C\n\nMy name is " + document.getElementById('nme').value + "\n";
		bkmsg += "My email address is: " + document.getElementById('eml').value + "\n";
		bkmsg += "My telephone number is: " + document.getElementById('tele').value+ "\n";
		bkmsg += "...and I'd like to make a booking enquiry.\n\n";
		bkmsg += "I'd like to stay for " + val[0] + " night";
		if (val[0] ==1) {
			bkmsg += " on the ";
		} else {
			bkmsg += "s starting on the ";
		} 
		bkmsg += document.getElementById('date').value + ".\n\n";
		grp = val[1]+val[2]+val[3];
		if (grp == 1)  {
			bkmsg += "I will be staying by myself in ";
		} else {
			bkmsg += "There will be "+grp;
			if (val[1] == grp) {
				bkmsg += " adults";
			} else {
				bkmsg += " people (";
				bkmsg += val[1] + " adult";
				if (val[1] > 1 ) {
					bkmsg += "s"
				}
				if (val[2] > 0) {
					if (val[3] == 0) {
						bkmsg += " and ";
					} else {
						bkmsg += ", ";
					}
					bkmsg += val[2] + " child";
					if (val[2] > 1) {
						bkmsg += "ren";
					}
				}
				if (val[3] > 0) {
					bkmsg += " and " + val[3] + " under five";
					if (val[3] > 1) {
						bkmsg += "s";
					}
				}
				bkmsg += ")";
				
			}
			bkmsg += " in our group.\n\n We will be staying in ";
		}
		accmsg="";
		accnt = 0;
		for (i=9;i>3;i--) {
			if (val[i] > 0) {
				if (accnt == 1) {
					accmsg = " and " + accmsg;
				}
				if (accnt > 1) {
					accmsg = ", " + accmsg;
				}
				if (val[i] > 1) {
					accmsg = val[i]+ " " + lbls[i] +"s" + accmsg;
				} else {
					if (lbls[i].indexOf('A')==0) {
						tag="an ";
					} else {
						tag="a ";
					}
					accmsg = tag + lbls[i] + accmsg;
				}
				accnt ++;
			}
		}
		bkmsg +=accmsg +".";
		
		if (val[10] + val[11] > 0) {
			bkmsg +="\n\nIf available, ";
			if (grp==1) {
				bkmsg += "I ";
			} else {
				bkmsg += "we ";
			}
			bkmsg += "would like ";
			if (val[10] > 0) {
				bkmsg += val[10] + " " + lbls[10];
				if (val[10] > 1) {
					bkmsg += "es";
				}
				if (val[11] > 0) {
					bkmsg += " and ";
				}
			}
			if (val[11] > 0) {
				bkmsg += val[11] + " " + lbls[11];
				if (val[11] > 1) {
					bkmsg += "s";
				}
			}
		}
	bkmsg += "\n\nCalcuRate estimates this will cost:\n";
	bkmsg += brkmsg;

		


		if (confirm("Please confirm BookinQuery message\n==============================\n" + bkmsg + "\n==============================\nOK to Send?")) {
			document.getElementById('f2e').Name.value = document.getElementById('nme').value;
			document.getElementById('f2e').Email.value = document.getElementById('eml').value
			document.getElementById('f2e').Message.value = bkmsg;
			document.getElementById('f2e').submit();
		}
	}
}

function brkd() {
	alert(CCR+brkmsg);
}

function num(t,n) {
	if (n > 0 && n < 100) {
		return n*1;
	} else {
		document.getElementById(t).value=''
		return 0;
	}
}

function format(am) {
	am = am.toString();

	if (am.indexOf('.') == -1) {
		am += ".00";
	}
	if (am.indexOf('.') == am.length-2) {
		am += "0";
	}
	return am;	
}
