// JavaScript Document
// Author Richard Green March 2010
// open terms & conditions window
function createWindow(cUrl,cName,cFeatures) {
var xWin = window.open(cUrl,cName,cFeatures)
}

// ensure form not posted unless Terms agreed and there is a value
function validate_form()
{
if (document.CCF_Memb.chkAgree.checked == false)
	{
	alert("Please agree Terms and Conditions")
	return false;
	}

if (document.CCF_Memb.txttot.value == 0)
	{
	alert("You have not entered any Membership details")
	return false;
	}
}





// Calculates and error checks member calculations

// call a function on clicking a member check box to zero all membership values (re-populate at end of function)
function zeroall()
{
	document.CCF_Memb.txtval3.value = (0).toFixed(2)
	document.CCF_Memb.txtval2.value = (0).toFixed(2)
	document.CCF_Memb.txtfri.value = (0).toFixed(2)	
	document.CCF_Memb.txtsat.value = (0).toFixed(2)	
	document.CCF_Memb.txtsun.value = (0).toFixed(2)	
	document.CCF_Memb.chk2Memb.checked = false
	document.CCF_Memb.chk3Memb.checked	 = false
	document.CCF_Memb.chkFriMem.checked = false
	document.CCF_Memb.chkSatMem.checked = false	
	document.CCF_Memb.chkSunMem.checked = false	
}

// function to add eveything up and write to total
function sumall()
{
var val3 =	Number(document.CCF_Memb.txtval3.value) 				// 3 day member badge
var val2 =	Number(document.CCF_Memb.txtval2.value)					// 2 day member badge
var valfri = Number(document.CCF_Memb.txtfri.value)					// Friday member badge
var valsat = Number(document.CCF_Memb.txtsat.value)					// Saturday member badge
var valsun = Number(document.CCF_Memb.txtsun.value)					// Sunday member badge
var val3x = Number(document.CCF_Memb.txt3xtra.value) 				// additional value of 3 day passes
var val2x =	Number(document.CCF_Memb.txt2xtra.value)				// additional value of 2 day passes	
var valfrix = Number(document.CCF_Memb.txtxfri.value)				// additional value of Friday passes	
var valsatx = Number(document.CCF_Memb.txtxsat.value)				// additional value of Saturday passes
var valsunx = Number(document.CCF_Memb.txtxsun.value) 				// additional value of Sunday passes
var valfrilu = Number(document.CCF_Memb.txtlfri.value)				// number of Friday Lunches
var valsatlu = Number(document.CCF_Memb.txtlsat.value)				// number of Saturday Lunches
var valsunlu = Number(document.CCF_Memb.txtlsun.value)				// number of Sunday Lunches		
	
var tot = (val3 + val2 + valfri + valsat + valsun + val3x + val2x + valfrix + valsatx + valsunx + valfrilu + valsatlu + valsunlu)	
document.CCF_Memb.txttot.value = tot.toFixed(2)
	
}


// 3 day member checkbox
function calc3(val)
{

if (document.CCF_Memb.chk3Memb.checked == true)
	{
	// and set everything else to zero
	zeroall()
	var val
	document.CCF_Memb.txtval3.value = (val).toFixed(2) // then set value of text box
	document.CCF_Memb.chk3Memb.checked	 = true
	}
	else
	{
	document.CCF_Memb.txtval3.value = (0).toFixed(2)
	// and reset all additional purchase values to zero...
	document.CCF_Memb.txtAdd3.value = 0									// additional number of 3 day passes
	document.CCF_Memb.txt3xtra.value = (0).toFixed(2)					// additional value of 3 day passes
	document.CCF_Memb.txtAdd2.value = 0									// additional number of 2 day passes	
	document.CCF_Memb.txt2xtra.value = (0).toFixed(2)					// additional value of 3 day passes	
	document.CCF_Memb.txtAddFr.value = 0								// additional number of Friday passes
	document.CCF_Memb.txtxfri.value = (0).toFixed(2)					// additional value of Friday passes	
	document.CCF_Memb.txtAddSa.value = 0								// additional number of Saturday passes
	document.CCF_Memb.txtxsat.value = (0).toFixed(2)					// additional value of Saturday passes
	document.CCF_Memb.txtAddS.value = 0									// additional number of Sunday passes
	document.CCF_Memb.txtxsun.value = (0).toFixed(2) 					// additional value of Sunday passes
	document.CCF_Memb.txtFriL.value = 0									// number of Friday Lunches
	document.CCF_Memb.txtlfri.value = (0).toFixed(2)					// number of Friday Lunches
	document.CCF_Memb.txtSatL.value = 0									// number of Saturday Lunches
	document.CCF_Memb.txtlsat	.value = (0).toFixed(2)					// number of Saturday Lunches
	document.CCF_Memb.txtSunL.value = 0									// number of Sunday Lunches
	document.CCF_Memb.txtlsun.value = (0).toFixed(2) 					// number of Sunday Lunches	

}
sumall()
}



// 2 day member checkbox
function calc2(val)
{
if (document.CCF_Memb.chk2Memb.checked == true)
	{
	zeroall()
	var val
	document.CCF_Memb.txtval2.value = (val).toFixed(2)
	document.CCF_Memb.chk2Memb.checked = true
	// and set additional 3 day membership to zero
	document.CCF_Memb.txtAdd3.value = 0
	document.CCF_Memb.txt3xtra.value = (0).toFixed(2)
	}
	else
	{
	document.CCF_Memb.txtval2.value = (0).toFixed(2)
	// and reset all additional purchase values to zero... only way to fully ensure nothing spurious posted!
	document.CCF_Memb.txtAdd3.value = 0									// additional number of 3 day passes
	document.CCF_Memb.txt3xtra.value = (0).toFixed(2)					// additional value of 3 day passes
	document.CCF_Memb.txtAdd2.value = 0									// additional number of 2 day passes	
	document.CCF_Memb.txt2xtra.value = (0).toFixed(2)					// additional value of 2 day passes	
	document.CCF_Memb.txtAddFr.value = 0								// additional number of Friday passes
	document.CCF_Memb.txtxfri.value = (0).toFixed(2)					// additional value of Friday passes	
	document.CCF_Memb.txtAddSa.value = 0								// additional number of Saturday passes
	document.CCF_Memb.txtxsat.value = (0).toFixed(2)					// additional value of Saturday passes
	document.CCF_Memb.txtAddS.value = 0									// additional number of Sunday passes
	document.CCF_Memb.txtxsun.value = (0).toFixed(2) 					// additional value of Sunday passes
	document.CCF_Memb.txtFriL.value = 0									// number of Friday Lunches
	document.CCF_Memb.txtlfri.value = (0).toFixed(2)					// number of Friday Lunches
	document.CCF_Memb.txtSatL.value = 0									// number of Saturday Lunches
	document.CCF_Memb.txtlsat	.value = (0).toFixed(2)					// number of Saturday Lunches
	document.CCF_Memb.txtSunL.value = 0									// number of Sunday Lunches
	document.CCF_Memb.txtlsun.value = (0).toFixed(2) 					// number of Sunday Lunches	
	
	}
sumall()
}


// friday member checkbox
function calcfri(val)
{
if (document.CCF_Memb.chkFriMem.checked == true)
	{
	zeroall()
	var val	
	document.CCF_Memb.txtfri.value = (val).toFixed(2)
	document.CCF_Memb.chkFriMem.checked = true
	
	// and set all relevant values  to zero - to prevent user posting invalid purchases!
	
	document.CCF_Memb.txtAdd3.value = 0									// additional number of 3 day passes
	document.CCF_Memb.txt3xtra.value = (0).toFixed(2)					// additional value of 3 day passes

	document.CCF_Memb.txtAdd2.value = 0									// additional number of 2 day passes	
	document.CCF_Memb.txt2xtra.value = (0).toFixed(2)					// additional value of 3 day passes	
	
//	document.CCF_Memb.txtAddFr.value = 0								// additional number of Friday passes
//	document.CCF_Memb.txtxfri.value = (0).toFixed(2)					// additional value of Friday passes	
	
	document.CCF_Memb.txtAddSa.value = 0								// additional number of Saturday passes
	document.CCF_Memb.txtxsat.value = (0).toFixed(2)					// additional value of Saturday passes
	
	document.CCF_Memb.txtAddS.value = 0									// additional number of Sunday passes
	document.CCF_Memb.txtxsun.value = (0).toFixed(2) 					// additional value of Sunday passes
		
//	document.CCF_Memb.txtFriL.value = 0									// number of Friday Lunches
//	document.CCF_Memb.txtlfri.value = (0).toFixed(2)					// number of Friday Lunches

	document.CCF_Memb.txtSatL.value = 0									// number of Saturday Lunches
	document.CCF_Memb.txtlsat	.value = (0).toFixed(2)					// number of Saturday Lunches
	
	document.CCF_Memb.txtSunL.value = 0									// number of Sunday Lunches
	document.CCF_Memb.txtlsun.value = (0).toFixed(2) 					// number of Sunday Lunches	
	
	}
	else
	{
	document.CCF_Memb.txtfri.value = (0).toFixed(2)	
	document.CCF_Memb.txtAddFr.value = 0								// additional number of Friday passes
	document.CCF_Memb.txtxfri.value = (0).toFixed(2)					// additional value of Friday passes
	document.CCF_Memb.txtFriL.value = 0									// number of Friday Lunches
	document.CCF_Memb.txtlfri.value = (0).toFixed(2)					// number of Friday Lunches

	}
sumall()				// call function to total values
}

// saturday member checkbox
function calcsat(val)
{
if (document.CCF_Memb.chkSatMem.checked == true)
	{
	zeroall()
	var val	
	document.CCF_Memb.txtsat.value = (val).toFixed(2)
	document.CCF_Memb.chkSatMem.checked = true
	// and set all relevant values  to zero - to prevent user posting invalid purchases!
	
	document.CCF_Memb.txtAdd3.value = 0									// additional number of 3 day passes
	document.CCF_Memb.txt3xtra.value = (0).toFixed(2)					// additional value of 3 day passes

	document.CCF_Memb.txtAdd2.value = 0									// additional number of 2 day passes	
	document.CCF_Memb.txt2xtra.value = (0).toFixed(2)					// additional value of 3 day passes	
	
	document.CCF_Memb.txtAddFr.value = 0								// additional number of Friday passes
	document.CCF_Memb.txtxfri.value = (0).toFixed(2)					// additional value of Friday passes	
	
//	document.CCF_Memb.txtAddSa.value = 0								// additional number of Saturday passes
//	document.CCF_Memb.txtxsat.value = (0).toFixed(2)					// additional value of Saturday passes
	
	document.CCF_Memb.txtAddS.value = 0									// additional number of Sunday passes
	document.CCF_Memb.txtxsun.value = (0).toFixed(2) 					// additional value of Sunday passes
		
	document.CCF_Memb.txtFriL.value = 0									// number of Friday Lunches
	document.CCF_Memb.txtlfri.value = (0).toFixed(2)					// number of Friday Lunches

//	document.CCF_Memb.txtSatL.value = 0									// number of Saturday Lunches
//	document.CCF_Memb.txtlsat	.value = (0).toFixed(2)					// number of Saturday Lunches
	
	document.CCF_Memb.txtSunL.value = 0									// number of Sunday Lunches
	document.CCF_Memb.txtlsun.value = (0).toFixed(2) 					// number of Sunday Lunches	
	}
	else
	{
	document.CCF_Memb.txtsat.value = (0).toFixed(2)
	document.CCF_Memb.txtAddSa.value = 0								// additional number of Saturday passes
	document.CCF_Memb.txtxsat.value = (0).toFixed(2)					// additional value of Saturday passes
	document.CCF_Memb.txtSatL.value = 0									// number of Saturday Lunches
	document.CCF_Memb.txtlsat	.value = (0).toFixed(2)					// number of Saturday Lunches
	}
sumall()				// call function to total values
}

// sunday member checkbox
function calcsun(val)
{
if (document.CCF_Memb.chkSunMem.checked == true)
	{
	zeroall()
	var val	
	document.CCF_Memb.txtsun.value = (val).toFixed(2)
	document.CCF_Memb.chkSunMem.checked = true	
	// and set all relevant values  to zero - to prevent user posting invalid purchases!
	
	document.CCF_Memb.txtAdd3.value = 0									// additional number of 3 day passes
	document.CCF_Memb.txt3xtra.value = (0).toFixed(2)					// additional value of 3 day passes

	document.CCF_Memb.txtAdd2.value = 0									// additional number of 2 day passes	
	document.CCF_Memb.txt2xtra.value = (0).toFixed(2)					// additional value of 3 day passes	
	
	document.CCF_Memb.txtAddFr.value = 0								// additional number of Friday passes
	document.CCF_Memb.txtxfri.value = (0).toFixed(2)					// additional value of Friday passes	
	
	document.CCF_Memb.txtAddSa.value = 0								// additional number of Saturday passes
	document.CCF_Memb.txtxsat.value = (0).toFixed(2)					// additional value of Saturday passes
	
//	document.CCF_Memb.txtAddS.value = 0									// additional number of Sunday passes
//	document.CCF_Memb.txtxsun.value = (0).toFixed(2) 					// additional value of Sunday passes
		
	document.CCF_Memb.txtFriL.value = 0									// number of Friday Lunches
	document.CCF_Memb.txtlfri.value = (0).toFixed(2)					// number of Friday Lunches

	document.CCF_Memb.txtSatL.value = 0									// number of Saturday Lunches
	document.CCF_Memb.txtlsat	.value = (0).toFixed(2)					// number of Saturday Lunches
	
//	document.CCF_Memb.txtSunL.value = 0									// number of Sunday Lunches
//	document.CCF_Memb.txtlsun.value = (0).toFixed(2) 					// number of Sunday Lunches	
	}
	else
	{
	document.CCF_Memb.txtsun.value = (0).toFixed(2)	
	document.CCF_Memb.txtAddS.value = 0									// additional number of Sunday passes
	document.CCF_Memb.txtxsun.value = (0).toFixed(2) 					// additional value of Sunday passes
	document.CCF_Memb.txtSunL.value = 0									// number of Sunday Lunches
	document.CCF_Memb.txtlsun.value = (0).toFixed(2) 					// number of Sunday Lunches	
	}
sumall()				// call function to total values
}


// calculates value of xtra 3 day passes
function calc3xtra(cost3)
	{
	var nox = document.CCF_Memb.txtAdd3.value										// pick up value of xtra passes
	nox = Number(nox)
		if (isNaN(nox)) 															// check we have a number
			{
			alert("Please enter a number")
			document.CCF_Memb.txtAdd3.value = 0
			document.CCF_Memb.txt3xtra.value = (0).toFixed(2)
			}
		else
			{
			document.CCF_Memb.txtAdd3.value = nox									// writes zero back if user enters a space
				if (document.CCF_Memb.chk3Memb.checked == true)
				{
				document.CCF_Memb.txt3xtra.value = (cost3*nox).toFixed(2)
				}
				else
				{
				document.CCF_Memb.txtAdd3.value = 0
				document.CCF_Memb.txt3xtra.value = (0).toFixed(2)
				alert("Please select Three day membership first")
				}
			}
	sumall()				// call function to total values	
	}

// calculates value of xtra 2 day passes
function calc2xtra(cost2)
	{
	var nox = document.CCF_Memb.txtAdd2.value	
	nox = Number(nox)
	if (isNaN(nox)) 															// check we have a number
		{
		alert("Please enter a number")			
		document.CCF_Memb.txtAdd2.value = 0
		document.CCF_Memb.txt2xtra.value = (0).toFixed(2)			
		}
		else
		{
		document.CCF_Memb.txtAdd2.value = nox
			if ((document.CCF_Memb.chk2Memb.checked == true) || (document.CCF_Memb.chk3Memb.checked == true))			// 2 day membership with 3 day pass
				{
				document.CCF_Memb.txt2xtra.value = (cost2*nox).toFixed(2)
				}
			else
				{
				document.CCF_Memb.txtAdd2.value = 0
				document.CCF_Memb.txt2xtra.value = (0).toFixed(2)
				alert("Please select Two day or Three day membership first")
				}
		}
	sumall()				// call function to total values	
	}

// Friday additional membership badge
function calcfrixtra(costf)
{
var nox = document.CCF_Memb.txtAddFr.value
nox = Number(nox)
	if (isNaN(nox)) 															// check we have a number
	{
	alert("Please enter a number")		
	document.CCF_Memb.txtAddFr.value = 0
	document.CCF_Memb.txtxfri.value = (0).toFixed(2)
	}
	else
	{
	document.CCF_Memb.txtAddFr.value = nox
		if ((document.CCF_Memb.chk3Memb.checked == false) && (document.CCF_Memb.chk2Memb.checked == false) && (document.CCF_Memb.chkFriMem.checked == false))  // must have at least on day selected
		{
		document.CCF_Memb.txtAddFr.value = 0
		document.CCF_Memb.txtxfri.value = (0).toFixed(2)
		alert("Please select a Three day, Two day or Friday membership badge before booking an extra Friday guest badge")
		}
		else	
		{
		document.CCF_Memb.txtxfri.value = (costf*nox).toFixed(2)
		}
	}
sumall()				// call function to total values		
}

// Saturday additional membership badge
function calcsatxtra(costs)
{
var nox = document.CCF_Memb.txtAddSa.value	
nox = Number(nox)
	if (isNaN(nox)) 
	{
	alert("Please enter a number")		
	document.CCF_Memb.txtAddSa.value = 0
	document.CCF_Memb.txtxsat.value = (0).toFixed(2)
	}
	else
	{	
	document.CCF_Memb.txtAddSa.value = nox
	if ((document.CCF_Memb.chk3Memb.checked == false) && (document.CCF_Memb.chk2Memb.checked == false) && (document.CCF_Memb.chkSatMem.checked == false))  // must have at least one day selected
		{
		document.CCF_Memb.txtAddSa.value = 0
		document.CCF_Memb.txtxsat.value = (0).toFixed(2)
		alert("Please select a Three day, Two day or Saturday membership badge before booking an extra Saturday guest badge")
		}
		else	
		{
		document.CCF_Memb.txtxsat.value = (costs*nox).toFixed(2)
		}
	}
sumall()				// call function to total values		
}

// Sunday additional membership badge
function calcsunxtra(costs)
{
var nox = document.CCF_Memb.txtAddS.value	
nox = Number(nox)
	if (isNaN(nox)) 
	{
	alert("Please enter a number")		
	document.CCF_Memb.txtAddS.value = 0
	document.CCF_Memb.txtxsun.value = (0).toFixed(2)
	}
	else
	{	
	document.CCF_Memb.txtAddS.value = nox
	if ((document.CCF_Memb.chk3Memb.checked == false) && (document.CCF_Memb.chk2Memb.checked == false) && (document.CCF_Memb.chkSunMem.checked == false))  // must have at least one day selected
		{
		document.CCF_Memb.txtAddS.value = 0
		document.CCF_Memb.txtxsun.value = (0).toFixed(2)
		alert("Please select a Three day, Two day or Sunday membership badge before booking an extra Sunday guest badge")
		}
	else	
		{
		document.CCF_Memb.txtxsun.value = (costs*nox).toFixed(2)
		}
	}
sumall()				// call function to total values		
}

// Friday lunchtime badge
function calcfrilunch(costs)
{
var nox = document.CCF_Memb.txtFriL.value
nox = Number(nox)
	if (isNaN(nox)) 
	{
	alert("Please enter a number")		
	document.CCF_Memb.txtFriL.value = 0
	document.CCF_Memb.txtlfri.value = (0).toFixed(2)	
	}
	else
	{	
	document.CCF_Memb.txtFriL.value = nox	
	if ((document.CCF_Memb.chk3Memb.checked == false) && (document.CCF_Memb.chk2Memb.checked == false) && (document.CCF_Memb.chkFriMem.checked == false))  // must have at least on day selected
		{
		document.CCF_Memb.txtFriL.value = 0
		document.CCF_Memb.txtlfri.value = (0).toFixed(2)
		alert("Please select a Three day, Two day or Friday membership badge before booking Friday lunch")
		}
		else	
		{
		document.CCF_Memb.txtlfri.value = (costs*nox).toFixed(2)
		}
	}
sumall()				// call function to total values		
}

// Saturday lunchtime costs
function calcsatlunch(costs)
{
var nox = document.CCF_Memb.txtSatL.value
nox = Number(nox)
	if (isNaN(nox)) 
	{
	alert("Please enter a number")		
	document.CCF_Memb.txtSatL.value = 0
	document.CCF_Memb.txtlsat.value = (0).toFixed(2)	
	}
	else
	{	
	document.CCF_Memb.txtSatL.value = nox	
	if ((document.CCF_Memb.chk3Memb.checked == false) && (document.CCF_Memb.chk2Memb.checked == false) && (document.CCF_Memb.chkSatMem.checked == false))  // must have at least on day selected
		{
		document.CCF_Memb.txtSatL.value = 0
		document.CCF_Memb.txtlsat.value = (0).toFixed(2)
		alert("Please select a Three day, Two day or Saturday membership badge before booking Saturday lunch")
		}
	else	
		{
		document.CCF_Memb.txtlsat.value = (costs*nox).toFixed(2)
		}
	}
sumall()				// call function to total values		
}

// Sunday lunchtime costs
function calcsunlunch(costs)
{
var nox = document.CCF_Memb.txtSunL.value
nox = Number(nox)
	if (isNaN(nox)) 
	{
	alert("Please enter a number")		
	document.CCF_Memb.txtSunL.value = 0
	document.CCF_Memb.txtlsun.value = (0).toFixed(2)
	}
	else
	{	
	document.CCF_Memb.txtSunL.value = nox	
	if ((document.CCF_Memb.chk3Memb.checked == false) && (document.CCF_Memb.chk2Memb.checked == false) && (document.CCF_Memb.chkSunMem.checked == false))  // must have at least one day selected
		{
		document.CCF_Memb.txtSunL.value = 0
		document.CCF_Memb.txtlsun.value = (0).toFixed(2)
		alert("Please select a Three day, Two day or Sunday membership badge before booking Sunday lunch")
		}
	else	
		{
		document.CCF_Memb.txtlsun.value = (costs*nox).toFixed(2)
		}
  }
sumall()				// call function to total values		
}