// JavaScript Document

//create form
//document.write('<form action=\"../phpscript/tickets.php\" name=\"form1\">');
document.write('<table border=\"0\" width=\"90%\" align=\"center\">');
document.write('<tr>');
document.write('<td align=\"center\" valign=\"top\"><img src=\"../graphics/ticketenquiry.jpg\" alt=\"ticket enquiry\"/>');
document.write('<p class=\"emailtext\" align=\"left\">Thank you for enquiring about tickets for our pantomime, <img src=\"../graphics/pinocchio.gif\" alt=\"Aladdin\"/>.</p>');
document.write('<p class=\"emailtext\" align=\"left\">Please complete all fields. The details you provide will not be passed onto any third party and will only be used in conjunction with your ticket request.</p>');
document.write('<p class=\"emailtext\" align=\"left\">A copy of this request will be sent to the email address provided. Please ensure that any antispam applications you may have <font color=\"#ff0000\"><strong>DO NOT</strong></font> block email from <font color=\"#ff0000\"><strong>ticketsales@landseerplayers.org.uk</strong></font>.</p>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td>');
document.write('<table class=\"tickets\" width=\"90%\" align=\"center\">');
document.write('<tr>');
document.write('<td>');
document.write('<h5>Terms and Conditions</h5>');
document.write('<ul>');
document.write('<li class=\"tickets\">This is an enquiry for tickets and does not constitute an order.</li>');
document.write('<li class=\"tickets\">No tickets have been reserved.</li>');
document.write('<li class=\"tickets\">Tickets will only be reserved once the Box Office has contacted you.</li>');
document.write('<li class=\"tickets\">Our Box Office will aim to contact you, by telephone, within 2 working days to confirm your enquiry. If you have not been contacted within 2 working days, please call our Box Office on <font color=\"#ff0000\"><strong> 01473 717030</strong></font>.</li>');
document.write('<li class=\"tickets\">There will be an additional charge to cover the cost of postage if you require tickets to be sent.</li>');
document.write('<li class=\"tickets\">A family ticket allows entrance for 4 people. I person <strong>must</strong> be aged 16 years or over &amp; there is a maximum of 2 Adults per family ticket.</li>');
document.write('</ul>');
document.write('<p class=\"tandctext\">I agree to the terms and conditions <input type=\"checkbox\" name=\"agree\" value=\"agree\" onclick=\"agreetandc(form1);\"/></p>');
document.write('</td>');
document.write('</tr>');
document.write('</table>');
document.write('</td>');
document.write('</tr>');
document.write('</table>');
document.write('<br/>');
document.write('<table class=\"request\" align=\"center\">');
document.write('<tr>');
document.write('<td class=\"tickets\">Name</td>');
document.write('<td><input name=\"name\" id=\"Name\" size=50/></td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td class=\"tickets\">Address</td>');
document.write('<td><textarea name=\"address\" id=\"address\" rows=6 cols=45 ></textarea></td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td class=\"tickets\">Email Address</td>');
document.write('<td>');
document.write('<input name=\"emailAddress\" id=\"emailAddress\" size = 50/>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td class=\"tickets\">Confirm Email Address</td>');
document.write('<td>');
document.write('<input name=\"confEmailAddress\" id=\"confEmailAddress\" size = 50/>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td class=\"tickets\">Telephone</td>');
document.write('<td><input name=\"telephone\" id=\"telephone\" size = 50/></td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td class=\"tickets\">Reference Number</td>');
document.write('<td><input id=\"referenceNumber\" name=\"referenceNumber\" size=50 readonly=true/><br/>Generated automatically</td>');
document.write('</tr>');
document.write('</table>');
document.write('<br/>');
document.write('<table class=\"request\" width=\"90%\" align=\"center\">');
document.write('<tr>');
document.write('<th><font face=\"arial\" color=\"#ffffff\" size=3>Performance</font></th>');
document.write('<th><font face=\"arial\" color=\"#ffffff\" size=3>Adult<br/>£7.50</font></th>');
document.write('<th><font face=\"arial\" color=\"#ffffff\" size=3>Conc.<br/>£6.50</font></th>');
document.write('<th><font face=\"arial\" color=\"#ffffff\" size=3>Family<br/>£25.00</font></th>');
document.write('<th><font face=\"arial\" color=\"#ffffff\" size=3>Total</font></th>');
document.write('</tr>');
document.write('<tr>');
document.write('<td><font face=\"arial\" color=\"#ffff00\" size=3>Thursday 18th February at 7:30 pm</font></td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"thuAdult\" id=\"thuAdult\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('<option value=5>5</option>');
document.write('<option value=6>6</option>');
document.write('<option value=7>7</option>');
document.write('<option value=8>8</option>');
document.write('<option value=9>9</option>');
document.write('<option value=10>10</option>');
document.write('</select>');
document.write('</td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"thuConc\" id=\"thuConc\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('<option value=5>5</option>');
document.write('<option value=6>6</option>');
document.write('<option value=7>7</option>');
document.write('<option value=8>8</option>');
document.write('<option value=9>9</option>');
document.write('<option value=10>10</option>');
document.write('</select>');
document.write('</td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"thuFam\" id=\"thuFam\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('</select>');
document.write('</td>');
document.write('<td>');
document.write('<input type=\"text\" name=\"thuTotal\" id=\"thuTotal\" readonly=true value=\"£ 0.00\" size=\"7\"/>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td><font face=\"arial\" color=\"#ffff00\" size=3>Friday 19th February at 7:30 pm</font></td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"friAdult\" id=\"friAdult\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('<option value=5>5</option>');
document.write('<option value=6>6</option>');
document.write('<option value=7>7</option>');
document.write('<option value=8>8</option>');
document.write('<option value=9>9</option>');
document.write('<option value=10>10</option>');
document.write('</select>');
document.write('</td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"friConc\" id=\"friConc\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('<option value=5>5</option>');
document.write('<option value=6>6</option>');
document.write('<option value=7>7</option>');
document.write('<option value=8>8</option>');
document.write('<option value=9>9</option>');
document.write('<option value=10>10</option>');
document.write('</select>');
document.write('</td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"friFam\" id=\"friFam\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('</select>');
document.write('</td>');
document.write('<td>');
document.write('<input type=\"text\" name=\"friTotal\" id=\"friTotal\" readonly=true value=\"£ 0.00\" size=\"7\"/>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td><font face=\"arial\" color=\"#ffff00\" size=3>Saturday 20th February at 2:30 pm</font></td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"samAdult\" id=\"samAdult\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('<option value=5>5</option>');
document.write('<option value=6>6</option>');
document.write('<option value=7>7</option>');
document.write('<option value=8>8</option>');
document.write('<option value=9>9</option>');
document.write('<option value=10>10</option>');
document.write('</select>');
document.write('</td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"samConc\" id=\"samConc\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('<option value=5>5</option>');
document.write('<option value=6>6</option>');
document.write('<option value=7>7</option>');
document.write('<option value=8>8</option>');
document.write('<option value=9>9</option>');
document.write('<option value=10>10</option>');
document.write('</select>');
document.write('</td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"samFam\" id=\"samFam\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('</select>');
document.write('</td>');
document.write('<td>');
document.write('<input type=\"text\" name=\"samTotal\" id=\"samTotal\" readonly=true value=\"£ 0.00\" size=\"7\"/>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td><font face=\"arial\" color=\"#ffff00\" size=3>Saturday 20th February at 7:30 pm</font></td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"saeAdult\" id=\"saeAdult\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('<option value=5>5</option>');
document.write('<option value=6>6</option>');
document.write('<option value=7>7</option>');
document.write('<option value=8>8</option>');
document.write('<option value=9>9</option>');
document.write('<option value=10>10</option>');
document.write('</select>');
document.write('</td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"saeConc\" id=\"saeConc\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('<option value=5>5</option>');
document.write('<option value=6>6</option>');
document.write('<option value=7>7</option>');
document.write('<option value=8>8</option>');
document.write('<option value=9>9</option>');
document.write('<option value=10>10</option>');
document.write('</select>');
document.write('</td>');
document.write('<td align=\"center\">');
document.write('<select size=1 name=\"saeFam\" id=\"saeFam\" onchange=\"return totals()\">');
document.write('<option value=0>0</option>');
document.write('<option value=1>1</option>');
document.write('<option value=2>2</option>');
document.write('<option value=3>3</option>');
document.write('<option value=4>4</option>');
document.write('</select>');
document.write('</td>');
document.write('<td>');
document.write('<input type=\"text\" name=\"saeTotal\" id=\"saeTotal\" readonly=true value=\"£ 0.00\" size=\"7\"/>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td>&nbsp;</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td colspan=3 align=\"right\"><font face=\"arial\" color=\"#ffffff\" size=3><strong>Grand Total</strong></font></td>');
document.write('<td>');
document.write('<input type=\"text\" name=\"gTotal\" id=\"gTotal\" readonly=true value=\"£ 0.00\" size=\"7\"/>');
document.write('</td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td align=\"center\" colspan=4>');
document.write('<input type=\"reset\" value=\"Start Again\" onclick=\"restartForm(form1);\"/>  <input type=\"button\" name=\"sendenquiry\" value=\"Send Ticket Enquiry\" onclick=\"submitOrder(form1)\" disabled=true/>');
document.write('</td>');
document.write('</tr>');
document.write('</table>');
//document.write('</form>');


// terms and conditions

function agreetandc(formname)
{
  //checkRefNumber(formname);
  if (formname.agree.checked==true)
  {
    checkRefNumber(formname);
    formname.sendenquiry.disabled=false;
  }
  else
  {
    formname.referenceNumber.value="";
    formname.sendenquiry.disabled=true;
  }
}
function restartForm(formname)
{
  formname.sendenquiry.disabled=true;
}

function createReferenceNumber()
{
  var currentDate = new Date();
  // Need to add double quotes to make digits a string
	var day = currentDate.getDate()+ '';
	if (day < 10)
	{
    day = "0" + day;
  }
	var month = currentDate.getMonth() + 1 +'';
	if (month < 10)
	{
    month = "0" + month;
  }
	var thisyear = currentDate.getFullYear() + "";
	thisyear = thisyear.substring(2,5) + '';
	var currentTime = new Date();
  var hours = currentTime.getHours() + '';
  var minutes = currentTime.getMinutes() + '';
  var seconds = currentTime.getSeconds() + '';
  if (hours < 10)
  {
    hours = "0" + hours;
  }
  if (minutes < 10)
  {
    minutes = "0" + minutes;
  }
  if (seconds < 10)
  {
    seconds = "0" + seconds;
  }
  var refNumber = thisyear + month + day + hours + minutes + seconds;
	//alert(refNumber);
  //form1.referenceNumber.value = refNumber;
	return refNumber;
}


// calculate totals
var thtotal = 0;
var frtotal = 0;
var samtotal = 0;
var saetotal = 0;
var gtotal = 0;
var validationemailtext;
var validationnumbertext;

function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
}

function totals()
{
  thutotal = (document.form1.thuAdult.value * 7.5) + (document.form1.thuConc.value * 6.5) + (document.form1.thuFam.value * 25);
  fritotal = (document.form1.friAdult.value * 7.5) + (document.form1.friConc.value * 6.5) + (document.form1.friFam.value * 25);
  samtotal = (document.form1.samAdult.value * 7.5) + (document.form1.samConc.value * 6.5) + (document.form1.samFam.value * 25);
  saetotal = (document.form1.saeAdult.value * 7.5) + (document.form1.saeConc.value * 6.5) + (document.form1.saeFam.value * 25);
  gtotal = thutotal + fritotal + samtotal + saetotal;
  document.form1.thuTotal.value = "£ " + formatAsMoney(thutotal);
  document.form1.friTotal.value = "£ " + formatAsMoney(fritotal);
  document.form1.samTotal.value = "£ " + formatAsMoney(samtotal);
  document.form1.saeTotal.value = "£ " + formatAsMoney(saetotal);
  document.form1.gTotal.value = "£ " + formatAsMoney(gtotal);
}

function validateOrderName(nameString) {
	if (!nameString) return false;
	// Return true if name has been entered
	return true;
}

function validateOrderNumber(numberString) {
   if (!numberString) {
	validationnumbertext = "";
	 return false;
	}
   var iChars = /[A-Za-z]/;

   var sVal=numberString;
   var sNorm = "";
   sNorm = numberString.replace(/\s/g,"");
   var len = sNorm.length;

   if (len > 12) {
   		//alert("The phone number you have entered is greater than 12 digits long");
		validationnumbertext = "\tThe phone number you have entered is greater than 12 digits long\n";
   		return false;
   }

   if (len < 11) {
		validationnumbertext = "\tThe phone number you have entered is less than 11 digits long\n";
   		return false;
   	}

	if (sNorm.match(iChars)) {
		//alert("The number you have entered contains characters");
		validationnumbertext = "\tTelephone number can only contain 0 - 9\n";
		return false;
	}
    validationnumbertext = "";
    return true;
}

function validateOrderAddress(addressString) {

	if (!addressString) return false;
	// Return true if address has been entered
	return true;
}


function validateOrderEmail(emailString) {

	if (!emailString) {
		validationemailtext = "";
		return false;
	}
	var eChars = /[!"£$%^&*()-+=`'#~]/;

	if (emailString.indexOf("@") < 1) {
		//alert("Your address must include an '@' sign");
		validationemailtext = "\tYour address must include an '@' sign\n";
		return false;
	} else if (emailString.lastIndexOf(".") <= emailString.indexOf("@")) {
		//alert("Your e-mail address must include a '.' (dot)");
		validationemailtext = "\tYour e-mail address must include a '.' (dot)\n";
		return false;
	} else if (emailString.match(eChars)) {
		//alert("You e-mail address cant contain illegal characters");
		validationemailtext = "\tYour e-mail address cant contain illegal characters\n";
		return false;
	}
	validationemailtext = "";
	return true;
}

function validateOrder(totalOrder) {
	if (totalOrder == "£ 0.00") {
		return false;
      }
	else {
		return true;
	}
}

function orderReady(formname)
{
	var errormessage = "";
	var errorintro = "You need to provide the missing information listed below\n\n";
	var errorend = "Please provide the missing information and re-submit the form";
	if (validateOrderName(formname.name.value) == false)
  {
		errormessage = "Name:\n";
	}
	if(validateOrderAddress(formname.address.value) == false)
  {
		errormessage += "Address:\n";
	}
	if (validateOrderEmail(formname.emailAddress.value) == false)
  {
		errormessage += "Email Address:\n" + validationemailtext;
	}
	if (formname.emailAddress.value != formname.confEmailAddress.value)
	{
    errormessage += "Email Address:\n" + "\tEmail address and Confirmation email address do not match.\n\n";
  }
	if (validateOrderNumber(formname.telephone.value) == false)
  {
		errormessage += "Phone Number:\n" + validationnumbertext;
	}
	if (validateOrder(formname.gTotal.value) == false)
  {
		errormessage += "Number of tickets required:\n\n";
	}
	if (errormessage == "")
	{
        	return true;
	}
	else
	{
		alert(errorintro + errormessage + errorend);
		makeAlert('Errors found',errorintro + errormessage + errorend);
		return false;
	}
}

function isdigit()
{
	switch (window.event.keyCode)
	{
		case 8:
		case 9:
		case 37:
		case 39:
		case 46:
		case 48:
		case 49:
		case 50:
		case 51:
		case 52:
		case 53:
		case 54:
		case 55:
		case 56:
		case 57:
		case 96:
		case 97:
		case 98:
		case 99:
		case 100:
		case 101:
		case 102:
		case 103:
		case 104:
		case 105:
		case 144:
			break;
		default:
			window.event.returnValue = false;
			break;
	}
}

function submitOrder(formname)
{
	if (orderReady(formname)==true)
	{
		formname.submit();
		alert('Thank you for your ticket enquiry. We will be in contact soon.')
	}
}

function checkRefNumber(formname)
{
  if (formname.referenceNumber.value == "")
  {
    formname.referenceNumber.value=createReferenceNumber();
  }
    
}
