function isValidURL(url){ 
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
    if(RegExp.test(url)){ 
        return true; 
    }else{ 
        return false; 
    } 
} 



function validPhoneNumber(formField)
{
  var result = true;
  var thestring = formField.value;  
//  var thenum = parseInt(formField.value);
  var digit = thestring.substring(0,2);

   if (result)
   {	    
	  
	  var validchars = "0123456789 ";
	  
	for (var i=0; i < thestring.length; i++) 
	{
    	var letter = thestring.charAt(i).toLowerCase();
	    if (validchars.indexOf(letter) != -1)		
	      continue;		
		  alert ('Phone numbers can only contain numbers');
		  formField.focus();
		result = false;
	    break;
  	}	
	  
	  if(thestring.length < 10)
	  {
		  alert("That number is too short");
		  formField.focus(); 
		  result = false;
	  }
		  
	  else if (thestring.charAt(0)!= '0')
	  {
	      alert('The phone number must begin with a 0');
	      formField.focus();    
    	  result = false;
	  }
	  
	  else if(digit != '01' && digit != '02' && digit != '07' && digit != '08' && digit != '09')
	  {
	  	  alert('UK phone numbers cannot begin with those digits');
	      formField.focus();    
    	  result = false;
	  }
	  
  }   
  return result;
}




function emailChar(email)
{
	var result = true;

	//check email address conforms to these characters
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";

	for (var i=0; i < email.length; i++) 
	{	
    	var letter = email.charAt(i).toLowerCase();
	    if (validchars.indexOf(letter) != -1)		
	      continue;		
		result = false;
	    break;
  	}
	
	//check that there are no underscores _ after the @ sign
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789.-";

	var theStr = new String(email);
	var index = theStr.indexOf("@");
    email = theStr.substring(index+1);
	
	for (var i=0; i < email.length; i++) 
	{	
    	var letter = email.charAt(i).toLowerCase();
	    if (validchars.indexOf(letter) != -1)		
	      continue;
		result = false;
	    break;
  	}

  return result;
}

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
	
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
		result = true;
  }

  return result;
}




function validEmail(formField)
{
  var result = false;

	if ((formField.value.length < 3) || !isEmailAddr(formField.value) )
	{
		alert("Please enter an email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = true;
	}
	
	if ((formField.value.length < 3) || !emailChar(formField.value) )
	{
		alert('That email address contains invalid characters.');
		formField.focus();
		result = true;
	}
  
  return result;
}


function doLoginSubmit()
{
		var NextPage = true;

		var userAcc = document.getElementById("userAcc");
		
		if (userAcc.selectedIndex == "0") {
			alert("Please select your user account.");
			NextPage = false;
			return;
		}

		if(NextPage == true){
			PostForm();
		}
		

}



function doSubmit1()
{
		var NextPage = true;

		var contact_name = document.getElementById("contact_name");
		var contact_tel_no = document.getElementById("contact_tel_no");
		var contact_email = document.getElementById("contact_email");
		
		
		if (contact_name.value == "") {
			alert("Please enter the contact name of your event.");
			NextPage = false;
			formField.focus();
			return;
		}
		if (contact_tel_no.value == "") {
			alert("Please enter the contact telephone number of your event.");
			NextPage = false;
			formField.focus();
			return;
		}
		
		if(validPhoneNumber(contact_tel_no) == false){
			NextPage = false;
			formField.focus();
			return;
		}
		
		if (contact_email.value == "") {
			alert("Please enter the email address of your venue.");
			NextPage = false;
			formField.focus();
			return;
		}
		
		if(validEmail(contact_email) == true){
			alert("Please enter a valid email address.");
			NextPage = false;
			formField.focus();
			return;
		}

		if(NextPage == true){
			PostForm();
		}
		

}

function doSubmitUserAcc()
{
		var NextPage = true;

		var password = document.getElementById("password");
		
		if (password.value == "") {
			alert("Please enter a password for your account.");
			NextPage = false;
			formField.focus();
			return;
		}


		if(NextPage == true){
			PostForm();
		}
		

}


function doSubmit2()
{
		var NextPage = true;
		
		var event_Category = document.getElementById("event_Category");
		var event_name = document.getElementById("event_name");
		var event_postcode = document.getElementById("event_postcode");
		
		
		if (event_Category.selectedIndex == "0") {
			alert("Please select the category which best describes your event.");
			NextPage = false;
			return;
		}
		
		if (event_name.value == "") {
			alert("Please enter the event name.");
			NextPage = false;
			return;
		}
		if (event_postcode.value == "") {
			alert("Please enter the post code of your venue.");
			NextPage = false;
			return;
		}

		if(NextPage == true){
			PostForm();
		}
}

function doSubmit3()
{
		var NextPage = true;
		
		var venue_name = document.getElementById("venue_name");
		var venue_address = document.getElementById("venue_address");
		var group_organiser = document.getElementById("group_organiser");
		var contact_name = document.getElementById("contact_name");
		var contact_tel_no = document.getElementById("contact_tel_no");
		var contact_email = document.getElementById("contact_email");
		var www = document.getElementById("www");
		
		if (venue_name.value == "") {
			alert("Please enter the venue name.");
			NextPage = false;
		}
		if (venue_address.value == "") {
			alert("Please enter the address of the venue.");
			NextPage = false;
		}


		if (contact_tel_no.value == "") {
			alert("Please enter the telephone number for the event.");
			NextPage = false;
		}
		if(validPhoneNumber(contact_tel_no) == false){
			NextPage = false;
			formField.focus();
			return;
		}

		if(NextPage == true){
			PostForm();
		}
}


function doSubmit4()
{

		var NextPage = true;
		
		var DayOfWeek = document.getElementById("DayOfWeek");
		
		if (DayOfWeek.value == "") {
			alert("Please enter the day of the week.");
			NextPage = false;
		}
		
		var firstEventDay = document.getElementsByName("firstEventDay");
		var firstEventMonth = document.getElementsByName("firstEventMonth");
		var firstEventYear = document.getElementsByName("firstEventYear");

		var month = firstEventMonth[0].value - 1;
		
		myDate = new Date(firstEventYear[0].value, month, firstEventDay[0].value)
		
		var day = myDate.getDay();
		var weekday = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");

		var daycheck = weekday[day];
		if (DayOfWeek.value != daycheck.toLowerCase()) {
			alert("Please enter the correct day of the week.");
			NextPage = false;
		}
		
		var onGoingEvent = document.getElementById("onGoingEvent");
		var nameonGoingEvent = document.getElementsByName("onGoingEvent");

		var lastEventDay = document.getElementsByName("lastEventDay");
		var lastEventMonth = document.getElementsByName("lastEventMonth");
		var lastEventYear = document.getElementsByName("firstEventYear");
		
		if (nameonGoingEvent[1].checked == true){
		
			oneYear = new Date(firstEventYear.value + 1, month, firstEventDay.value)
			
			var lastEventDay = document.getElementsByName("lastEventDay");
			var lastEventMonth = document.getElementsByName("lastEventMonth");
			var lastEventYear = document.getElementsByName("firstEventYear");
			
			var monthend = lastEventMonth[0].value - 1;
			
			enddate = new Date(lastEventYear[0].value + 1, monthend, lastEventDay[0].value)
			
			if (enddate < oneYear){
				alert("The event can only be in a 12 month period.");
				NextPage = false;
			}
		}
		
		var eventFreq = document.getElementById("frequency");
		
		/* check dates match freqency */
		if(eventFreq.value == "firstweek" && firstEventDay[0].value > 7){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}
		if(eventFreq.value == "secondweek" && (firstEventDay[0].value > 14 || firstEventDay[0].value < 8)){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}
		if(eventFreq.value == "thirdweek" && (firstEventDay[0].value > 21 || firstEventDay[0].value < 15)){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}
		if(eventFreq.value == "fourthweek" && (firstEventDay[0].value > 28 || firstEventDay[0].value < 22)){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}
		if(eventFreq.value == "lastweek" &&  firstEventDay[0].value < 22){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}
		/* check dates match freqency */
		if(eventFreq.value == "firstweek" && lastEventDay[0].value > 7){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}
		if(eventFreq.value == "secondweek" && (lastEventDay[0].value > 14 || lastEventDay[0].value < 8)){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}
		if(eventFreq.value == "thirdweek" && (lastEventDay[0].value > 21 || lastEventDay[0].value < 15)){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}
		if(eventFreq.value == "fourthweek" && (lastEventDay[0].value > 28 || lastEventDay[0].value < 22)){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}
		if(eventFreq.value == "lastweek" &&  lastEventDay[0].value < 22){
			alert('Your start date does not match event frequency specified in option 1.');
			NextPage = false;
		}

	
		/* check event types */
		
		if(nameonGoingEvent[0].checked == true){
			if(eventFreq.value == "single"){
				alert('You cannot have a single event that is ongoing.');
				NextPage = false;
			}
		}
		if(nameonGoingEvent[1].checked == true){
			
				
			if(eventFreq.value == "daily"){
				alert('You cannot have a this type of event that is not ongoing.');
				NextPage = false;
			}
			if(eventFreq.value == "weekly"){
				alert('You cannot have a this type of event that is not ongoing.');
				NextPage = false;
			}
			if(eventFreq.value == "biweekly"){
				alert('You cannot have a this type of event that is not ongoing.');
				NextPage = false;
			}
			if(eventFreq.value == "monthly"){
				alert('You cannot have a this type of event that is not ongoing.');
				NextPage = false;
			}
			if(eventFreq.value == "firstweek"){
				alert('You cannot have a this type of event that is not ongoing.');
				NextPage = false;
			}
			if(eventFreq.value == "secondweek"){
				alert('You cannot have a this type of event that is not ongoing.');
				NextPage = false;
			}
			if(eventFreq.value == "thirdweek"){
				alert('You cannot have a this type of event that is not ongoing.');
				NextPage = false;
			}
			if(eventFreq.value == "fouthweek"){
				alert('You cannot have a this type of event that is not ongoing.');
				NextPage = false;
			}
			if(eventFreq.value == "lastweek"){
				alert('You cannot have a this type of event that is not ongoing.');
				NextPage = false;
			}
		
		}
		
		
	
		if(NextPage == true){
			PostForm();
		}
}


function doSubmit5()
{


		var NextPage = true;
		var excDatesY = document.getElementById("excDatesY");
		var excDatesN = document.getElementById("excDatesN");
		
		var excDates1 = document.getElementById("excDates1");
		var excDays = document.getElementById("excDays");
		
		if (excDatesY.checked == true) {
			if (excDates1.value == "") {
				alert("Please enter excluded dates.");
				NextPage = false;
			}
		}
/*
				
		myOptionone = -1;
		for (i=form1.excDates.length-1; i > -1; i--) {
			if (form1.excDates[i].checked) {
			myOptionone = i; i = -1;
			}
		}
		if (myOptionone == -1) {
			alert("Please select if there are any dates are excluded.");
			NextPage = false;
		}


		myOption = -1;
		for (i=form1.excDays.length-1; i > -1; i--) {
			if (form1.excDays[i].checked) {
			myOption = i; i = -1;
			}
		}
		if (myOption == -1) {
			alert("Please select if there are any days are excluded.");
			NextPage = false;
		}
		
		alert(NextPage);

		
		var startdate = document.getElementById("startdate");	
		var DayOfWeek = document.getElementById("DayOfWeek");	
		

		var frequency = document.getElementById("frequency");	
		if(frequency.value == "extended" || frequency.value == "daily"){ 
		var ExcDayOfWeek1 = document.getElementById("ExcDayOfWeek1");	
		var ExcDayOfWeek2 = document.getElementById("ExcDayOfWeek2");	
		var ExcDayOfWeek3 = document.getElementById("ExcDayOfWeek3");	
		var ExcDayOfWeek4 = document.getElementById("ExcDayOfWeek4");	
		
		if(ExcDayOfWeek1.value == DayOfWeek.value){
			alert('You cannot exclude this day of the week as your event takes place of this day.');
			NextPage = false;		
		}		
	
		if(ExcDayOfWeek2.value == DayOfWeek.value){
			alert('You cannot exclude this day of the week as your event takes place of this day.');
			NextPage = false;		
		}
		if(ExcDayOfWeek3.value == DayOfWeek.value){
			alert('You cannot exclude this day of the week as your event takes place of this day.');
			NextPage = false;		
		}
		if(ExcDayOfWeek4.value == DayOfWeek.value){
			alert('You cannot exclude this day of the week as your event takes place of this day.');
			NextPage = false;		
		}
		}

		if(frequency.value == "extended" || frequency.value == "daily" || frequency.value == "weekly" || frequency.value == "biweekly" || frequency.value == "monthly" || frequency.value == "firstweek" || frequency.value == "secondweek" || frequency.value == "thirdweek" || frequency.value == "fouthweek" || frequency.value == "lastweek"){ 

		var startdate = document.form1.startdate.value;	
		var arrstartdate = startdate.split("-");
		var startdate = new Date(arrstartdate[0],arrstartdate[1],arrstartdate[2]);

		var excDates1Year = document.getElementsByName("excDates1Year");	
		var excDates1Month = document.getElementsByName("excDates1Month");	
		var excDates1Day = document.getElementsByName("excDates1Day");	
		
		var date1 = new Date(excDates1Year[0].value,excDates1Month[0].value,excDates1Day[0].value);

		if(date1 <= startdate && excDates1Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before. ')
			NextPage = false;
		} else {
		}
		
		var excDates2Year = document.getElementsByName("excDates2Year");	
		var excDates2Month = document.getElementsByName("excDates2Month");	
		var excDates2Day = document.getElementsByName("excDates2Day");	

	
		var $date2 = excDates2Year[0].value + '-' + excDates2Month[0].value + '-' + excDates2Day[0].value;
		var date2 = new Date(excDates2Year[0].value,excDates2Month[0].value,excDates2Day[0].value);

		if(date2 <= startdate && excDates2Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before.')
			NextPage = false;
		}


		var excDates3Year = document.getElementsByName("excDates3Year");	
		var excDates3Month = document.getElementsByName("excDates3Month");	
		var excDates3Day = document.getElementsByName("excDates3Day");	
		
		var date3 = new Date(excDates3Year[0].value,excDates3Month[0].value,excDates3Day[0].value);

		if(date3 <= startdate  && excDates3Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before.')
			NextPage = false;
		}


		var excDates4Year = document.getElementsByName("excDates4Year");	
		var excDates4Month = document.getElementsByName("excDates4Month");	
		var excDates4Day = document.getElementsByName("excDates4Day");	
		
		var date4 = new Date(excDates4Year[0].value,excDates4Month[0].value,excDates4Day[0].value);

		if(date4 <= startdate && excDates4Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before.')
			NextPage = false;
		}


		var excDates5Year = document.getElementsByName("excDates5Year");	
		var excDates5Month = document.getElementsByName("excDates5Month");	
		var excDates5Day = document.getElementsByName("excDates5Day");	
		
		var date5 = new Date(excDates5Year[0].value,excDates5Month[0].value,excDates5Day[0].value);

		if(date5 <= startdate  && excDates5Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before.')
			NextPage = false;
		}

		
		var excDates6Year = document.getElementsByName("excDates6Year");	
		var excDates6Month = document.getElementsByName("excDates6Month");	
		var excDates6Day = document.getElementsByName("excDates6Day");	
		
		var date6 = new Date(excDates6Year[0].value,excDates6Month[0].value,excDates6Day[0].value);

		if(date6 <= startdate && excDates6Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before.')
			NextPage = false;
		}

		var excDates7Year = document.getElementsByName("excDates7Year");	
		var excDates7Month = document.getElementsByName("excDates7Month");	
		var excDates7Day = document.getElementsByName("excDates7Day");	
		
		var date7 = new Date(excDates7Year[0].value,excDates7Month[0].value,excDates7Day[0].value);

		if(date7 <= startdate && excDates7Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before.')
			NextPage = false;
		}

		var excDates8Year = document.getElementsByName("excDates8Year");	
		var excDates8Month = document.getElementsByName("excDates8Month");	
		var excDates8Day = document.getElementsByName("excDates8Day");	
		
		var date8 = new Date(excDates8Year[0].value,excDates8Month[0].value,excDates8Day[0].value);

		if(date8 <= startdate && excDates8Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before.')
			NextPage = false;
		}


		var excDates9Year = document.getElementsByName("excDates9Year");	
		var excDates9Month = document.getElementsByName("excDates9Month");	
		var excDates9Day = document.getElementsByName("excDates9Day");	
		
		var date9 = new Date(excDates9Year[0].value,excDates9Month[0].value,excDates9Day[0].value);

		if(date9 <= startdate && excDates9Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before.')
			NextPage = false;
		}
		
		var excDates10Year = document.getElementsByName("excDates10Year");	
		var excDates10Month = document.getElementsByName("excDates10Month");	
		var excDates10Day = document.getElementsByName("excDates10Day");	
		
		var date10 = new Date(excDates10Year[0].value,excDates10Month[0].value,excDates10Day[0].value);

		if(date10 <= startdate && excDates10Year[0].value != ""){
			alert('You cannot exclude the date your event starts or before.')
			NextPage = false;
		}
		}
		
*/				

		if(NextPage == true){
			PostForm();
		}

}


function doSubmit6()
{

		var NextPage = true;

/*

		var childfriendly = document.getElementById("childfriendly");
		var adultsOnly = document.getElementById("adultsOnly");
		var indoor = document.getElementById("indoor");
		var outdoor = document.getElementById("outdoor");
		var freeOfCharge = document.getElementById("freeOfCharge");
		var fee = document.getElementById("fee");
		var to5years = document.getElementById("to5years");
		var to11years = document.getElementById("to11years");
		var to16years = document.getElementById("to16years");
		var to18years = document.getElementById("to18years");

		if (childfriendly.checked == true && adultsOnly.checked == true){
			alert("The event cannot be child friendly and adult friendly.");
			NextPage = false;
		}

		if (adultsOnly.checked == true && to5years.checked == true){
			alert("The event cannot be adults only and have that age range.");
			NextPage = false;
		}
		if (adultsOnly.checked == true && to11years.checked == true){
			alert("The event cannot be adults only and have that age range.");
			NextPage = false;
		}
		if (adultsOnly.checked == true && to16years.checked == true){
			alert("The event cannot be adults only and have that age range.");
			NextPage = false;
		}
		if (adultsOnly.checked == true && to18years.checked == true){
			alert("The event cannot be adults only and have that age range.");
			NextPage = false;
		}

		if (indoor.checked == true && outdoor.checked == true){
			alert("The event cannot be an indoor and outdoor event.");
			NextPage = false;
		}
		
		if (freeOfCharge.checked == true && fee.checked == true){
			alert("The event cannot be an indoor and outdoor event.");
			NextPage = false;
		}

	// add in logic to check either adult or child or both

*/
		if(NextPage == true){
			PostForm();
		}

}

function postConfirm(){
		var NextPage = true;

		var event = document.getElementById("event_name");
		if (event.value == "") {
			alert("Please enter the name of your event.");
			NextPage = false;
		}
		
		var event_venue = document.getElementById("event_venue");
		if (event_venue.value == "") {
			alert("Please enter the venue of your event.");
			NextPage = false;
		}
		
		var event_venue_address = document.getElementById("event_venue_address");
		if (event_venue_address.value == "") {
			alert("Please enter the address of your event venue.");
			NextPage = false;
		}
		
		var event_organise = document.getElementById("event_organise");
		if (event_organise.value == "") {
			alert("Please enter the organiser of your event.");
			NextPage = false;
		}
		
		var event_contact = document.getElementById("event_contact");
		if (event_contact.value == "") {
			alert("Please enter the contact of your event.");
			NextPage = false;
		}
		var event_tel = document.getElementById("event_tel");
		if (event_tel.value == "") {
			alert("Please enter the contact telephone number of your event.");
			NextPage = false;
		}
		var event_mobile = document.getElementById("event_mobile");
		if (event_mobile.value == "") {
			alert("Please enter the contact mobile number of your event.");
			NextPage = false;
		}
		var event_email = document.getElementById("event_email");
		if (event_email.value == "") {
			alert("Please enter the email address of your event.");
			NextPage = false;
		}
		var event_www = document.getElementById("event_www");
		if (event_www.value == "") {
			alert("Please enter the website of your event.");
			NextPage = false;
		}
		var event_frequency = document.getElementById("event_frequency");
		if (event_frequency.selectedIndex == "0") {
			alert("Please select how frequent the event will be.");
			NextPage = false;
		}

		var event_time_start = document.getElementById("event_time_start");
		if (event_time_start.selectedIndex == "0") {
			alert("Please enter the time that your event will start.");
			NextPage = false;
		}
		var event_time_end  =  document.getElementById("event_time_end");
		if (event_time_end.selectedIndex == "0") {
			alert("Please enter the time that your event will end.");
			NextPage = false;
		}
		
		var event_emailPublish  =  document.getElementById("event_emailPublish");
		if (event_emailPublish.checked == true) {
			event_emailPublish.value = "Y";
		}else{
			event_emailPublish.value = "N";
		}
		
		var event_no_end_date  =  document.getElementById("event_no_end_date");
		if (event_no_end_date.checked == true) {
			event_no_end_date.value = "Y";
		}else{
			event_no_end_date.value = "N";
		}
		
		
		if(NextPage == true){
			PostForm();
		}
		
}

function PostForm()
{
	document.form1.submit();
}

function submit_final(){

	var event_no_end_date  =  document.getElementById("event_no_end_date");
	if (event_no_end_date.checked == true) {
		event_no_end_date.value = "Y";
	}else{
		event_no_end_date.value = "N";
	}

	document.form1.submit();


}
