//
// ___________________________________________________________
//
// Description:  Common JavaScript functions and declarations 
// ___________________________________________________________
//
//
//
var programWindow = false;
// _____________________________
//
// Replace the calling Window 
// with the placeholder page
// _____________________________
//
function dismissWindow()
{
	window.parent.reload;
	var myReturn;
	if (( myReturn=self.close()) === undefined)
	{
		location.href="dummy.html";	
	}
	else
	{
		alert("self.close returns...+" + myReturn);
	}
	return false;
}
// ______________________________________________
// 
// Load the URL previousUrl, or if not provided
// the current URL
// ______________________________________________
//
function reloadWindow(previousUrl)
{
	var urlToLoad;
	if (( previousUrl === undefined ) || (previousUrl.length === 0 ))
	{
		urlToLoad=document.location.href;
	}
	else
	{
		urlToLoad=previousUrl;
	}
	document.location.href=urlToLoad;
//	return true;
}
//
//
//
// _______________________________
//
// Do nought
// _______________________________
//
function doNothing()
{
	return false;
}
// ______________________________________________________________________________
//
// Action a new or existing Event  - run the php code in the iwork iframe
// ______________________________________________________________________________
//
//
function commitEvent(action)
{
	var myFrame = parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem");
		return true;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	var myActive='N';
	var myDeleted='N';
	var mySelect;
	var myEventNumber=document.getElementById("EventNumber").value;
	if ( myEventNumber === null )
	{
		alert("commitEvent called without an Event Number");
		return true;
	}
	if ( (mySelect= document.getElementById("EventType")) === null )
	{
		alert("commitEvent called without Event Type");
		return true;
	}
	var myEventType=  mySelect.options[mySelect.selectedIndex].text;
//
	var myEventDateTime=document.getElementById("EventDateTime").value;
	if ( myEventDateTime === null )
	{
		alert("commitEvent called without Date");
		return true;
	}
//
	if ( (mySelect= document.getElementById("Organiser")) === null )
	{
		alert("commitEvent called without Organiser");
		return true;
	}
	var myOrganiser=  mySelect.options[mySelect.selectedIndex].text;

	var myBriefDescription=document.getElementById("BriefDescription").value;
	if ( myBriefDescription === null )
	{
		alert("commitEvent called without Brief Description");
		return true;
	}
	var myGettingThere=document.getElementById("GettingThere").value;
	if ( myGettingThere === null )
	{
		alert("commitEvent called without Getting There");
		return true;
	}
	var myMeetingPoint=document.getElementById("MeetingPoint").value;
	if ( myMeetingPoint === null )
	{
		alert("commitEvent called without Meeting Point");
		return true;
	}
	var myTicketDetails=document.getElementById("TicketDetails").value;
	if ( myTicketDetails === null )
	{
		alert("commitEvent called without TicketDetails");
		return true;
	}
	var myFullDescription=document.getElementById("FullDescription").value;
	if ( myFullDescription === null )
	{
		alert("commitEvent called without Full Description");
		return true;
	}
	var myCost=document.getElementById("Cost").value;
	if ( myCost === null )
	{
		alert("commitEvent called without Cost");
		return true;
	}
	if ( (mySelect= document.getElementById("Grade")) === null )
	{
		alert("commitEvent called without Grade");
		return true;
	}
	var myGrade=  mySelect.options[mySelect.selectedIndex].text;
	if ( (mySelect= document.getElementById("WalksLength")) === null )
	{
		alert("commitEvent called without Walks Length");
		return true;
	}
	var myWalksLength=  mySelect.options[mySelect.selectedIndex].text;

	if ( (mySelect= document.getElementById("WalksType")) === null )
	{
		alert("commitEvent called without Walks Type");
		return true;
	}
	var myWalksType=  mySelect.options[mySelect.selectedIndex].text;

	if ( document.getElementById("Active").checked === true ) { myActive='Y'; }else { myActive='N'; }	
	if ( document.getElementById("Deleted").checked === true ) { myDeleted='Y'; }else { myDeleted='N'; }
	if ( action == "clone") { myActive="N";} 
	if ( myDeleted == "Y" )
	{
		if(window.confirm(" Click OK to confirm you want to mark this event as Deleted") === false)
		{
			return true;
		}
	}
	var givenDate= new Date(myEventDateTime);
	var currentDate=new Date();
	if ( action == "clone" )
	{
		var newDate = prompt("Please enter the NEW date for the cloned walk)\n\rType the date in the following format 27 Jan 2008", "");
		var proposedDate= new Date(newDate);
		if (proposedDate.getTime() <= currentDate.getTime() )
		{
			alert("The New Event Date has not been recognised or is in the past, please correct and resubmit");
			return true;
		}
		givenDate=proposedDate;
	}
	else if (( action == "insert" )  &&  (givenDate.getTime() <= currentDate.getTime() ))
	{
		if (window.confirm("Date is historical, please confirm this is OK") === false)
		{
			return true;
		}
	
	}
//
	if (( myEventType == "Saturday Walk" ) && ( givenDate.getDay() !== 6 ))
	{
		alert("The Event Date is not a Saturday, (day " + givenDate.getDay() +  " ) please correct and resubmit");
		return true;
	}
	if (( myEventType == "Sunday Walk" ) && ( givenDate.getDay() !== 0 ))
	{
		alert("The Event Date is not a Sunday, please correct and resubmit (" + givenDate.getDay() + ")");
		return true;
	}

	if (( action == "update" ) &&  (givenDate.getTime() <= currentDate.getTime() ))
	{
		if(window.confirm("This Event is in the past\n\rClick OK to confirm you want to update it" ) === false)
		{
			return true;
		}
	}
	var myUrl="CommitEvent.php?EventType=" + escape(myEventType) + "&EventDateTime=" + escape(myEventDateTime) + "&Organiser=" + escape(myOrganiser) + "&BriefDescription=" + escape(myBriefDescription) + "&GettingThere=" + escape(myGettingThere) + "&MeetingPoint=" + escape(myMeetingPoint) + "&TicketDetails=" + escape(myTicketDetails) + "&FullDescription=" + escape(myFullDescription) + "&Cost=" + escape(myCost) + "&Grade=" + escape(myGrade) + "&WalksType=" + escape(myWalksType) + "&WalksLength=" + myWalksLength + "&Active=" + myActive + "&Deleted=" + myDeleted + "&EventNumber=" + myEventNumber + "&Action=" + action;
	myFrame.src=myUrl;
	return false;
}
//
// ______________________________________________________________________________
//
// Update/Insert a new or existing contactee  - run the php code in the iwork iframe
// ______________________________________________________________________________
//
//
function commitContactee(originalName,originalEmail)
{
	var myFrame = parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem");
		return true;
	}
	var newName=document.getElementById("FullName").value;
	var newEmail=document.getElementById("EmailAddress").value;
	var telephone=document.getElementById("Telephone").value;
	var activeflag=document.getElementById("Active").checked;
	var active;
	if (( newEmail !== "" ) && (checkEmailAddress(newEmail) === false ))
	{
		return true;
	}
	if ( activeflag === true ) { active="Y"; } else { active = "N"; } 
	if ( document.getElementById("Active").checked === true ) { active='Y'; } else { active='N'; }	
//	alert("In commitContactee, Old email is " + originalEmail + "\r\nOld name is " + originalName + "\r\nNew Name is " +  newName + "\r\nnew email is " + newEmail + "\r\nPhone is " + telephone + "\r\nActive is " + active);
//	return true;
	var myUrl="CommitContactee.php?NewFullName=" + escape(newName) + "&NewEmailAddress=" + escape(newEmail) + "&OldFullName=" + originalName + "&OldEmailAddress=" + originalEmail + "&Telephone=" + telephone + "&Active=" + active;
	myFrame.src=myUrl;
	return false;
}
//
// ______________________________________________________________________________
//
// Action  a new or existing user  - run the php code in the iwork iframe
// ______________________________________________________________________________
//
//
function commitUser(action)
{
	var myFrame = parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem");
		return false;
	}
	var mySuperuser='N';
	var myShowEmailFlag='N';
	var myMobilePhoneFlag='N';
	var myHomePhoneFlag='N';
	var myActive='N';
	var suHandle;
	if ((suHandle=document.getElementById("Superuser")) === null)
	{
		mySuperuser='N';
	}
	else
	{
		if ( document.getElementById("Superuser").checked === true ) { mySuperuser='Y'; } else { mySuperuser='N'; }	
	}
	if ( document.getElementById("ShowEmail").checked === true ) { myShowEmailFlag='Y'; } else { myShowEmailFlag='N'; }	
	if ( document.getElementById("ShowMobilePhone").checked === true ) { myMobilePhoneFlag='Y'; } else { myMobilePhoneFlag='N'; }	
	if ( document.getElementById("ShowHomePhone").checked === true ) { myHomePhoneFlag='Y'; } else { myHomePhoneFlag='N'; }	
	if ( document.getElementById("Active").checked === true ) { myActive='Y'; } else { myActive='N'; }	
	if (( myMobilePhoneFlag ==="N" ) && ( myHomePhoneFlag == "N" ) && ( myShowEmailFlag == "N"))
	{
		alert("You must check at least one of the following: ShowEmail or ShowMobilePhone or ShowHomePhone");
		return true;
	} 
	var myUsername=document.getElementById("FullName").value;
	if ( myUsername === null )
	{
		alert("commitUser called without User Name");
		return false;
	}
	var myEmailAddress=document.getElementById("EmailAddress").value;
	if ( myUsername === null )
	{
		alert("commitUser called without User Name");
		return false;
	}
	var myHouseNumber=document.getElementById("HouseNumber").value;
	if ( myHouseNumber === null )
	{
		alert("commitUser called without House Number");
		return false;
	}
	var myAddress=document.getElementById("Address").value;
	if ( myAddress === null )
	{
		alert("commitUser called without Address");
		return false;
	}
	var myPostCode=document.getElementById("PostCode").value;
	if ( myPostCode === null )
	{
		alert("commitUser called without Post Code");
		return false;
	}
	var myHomePhone=document.getElementById("HomePhone").value;
	if ( myHomePhone === null )
	{
		alert("commitUser called without Home Phone");
		return false;
	}
	var myMobilePhone=document.getElementById("MobilePhone").value;
	if ( myMobilePhone === null )
	{
		alert("commitUser called without Mobile Phone");
		return false;
	}
	var myPassword=document.getElementById("Password").value;
	if ( myPassword === null )
	{
		alert("commitUser called without User Password");
		return false;
	}
	var myNotes=document.getElementById("Notes").value;
	if ( myPassword === null )
	{
		alert("commitUser called without Notes");
		return false;
	}
	if ( action == "delete" )
	{
		if(window.confirm(" Click OK to confirm the deletion of the user " + myUsername ) === false)
		{
			return true;
		}
	}
	var myUrl="CommitUser.php?FullName=" + escape(myUsername) + "&Password=" + escape(myPassword) + "&EmailAddress=" + escape(myEmailAddress) + "&HomePhone=" + myHomePhone + "&MobilePhone=" + escape(myMobilePhone) + "&HouseNumber=" + escape(myHouseNumber) + "&Address=" + escape(myAddress) + "&PostCode=" + escape(myPostCode) + "&Superuser=" + mySuperuser + "&ShowEmail=" + myShowEmailFlag + "&ShowMobilePhone=" + myMobilePhoneFlag + "&ShowHomePhone=" + myHomePhoneFlag + "&Active=" + myActive + "&Notes=" + myNotes + "&Action=" + action;
	myFrame.src=myUrl;
	return false;
}
//
//
function showContactees()
{
	var myFrame= parent.document.getElementById("iwork") ;
	if ( myFrame === null )
	{
		alert("A Browser problem has occured, please restart the NELR Manager");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="contacteelist.html";
	myFrame.src="ShowContactees.php";
	return;
}
//
// ______________________________________________________________________________
//
//
// ______________________________________________________________________________
//
function showUsers()
{
	var myFrame= parent.document.getElementById("iwork") ;
	if ( myFrame === null )
	{
		alert("A Browser problem has occured, please restart the NELR Manager");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	myFrame.src="ShowUsers.php";
	return;
}
//
//
// ______________________________________________________________________________
//
// ______________________________________________________________________________
//
function showDeletedEvents()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in showDeletedEvents");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
//	alert("In Penders"); return true;
	myFrame.src="ShowDeletedEvents.php";
	return;
}
//
//
// ______________________________________________________________________________
//
// ______________________________________________________________________________
//
function showPendingEvents()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in showPendingEvents");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
//	alert("In Penders"); return true;
	myFrame.src="ShowPendingEvents.php";
	return;
}
//
// ______________________________________________________________________________
//
function showEventsIndex(fullName)
{
	var myFrame= parent.document.getElementById("iwork");
	var myFullName;
	if ( myFrame === null )
	{
		alert("Browser problem in showEventsIndex");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	myFullName=fullName;
	myFrame.src="ShowEvents.php?FullName=" + myFullName;
	return;
}
//
// ______________________________________________________________________________
//
function editEvent(eventNumber,clone)
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in editEvent");
		return;
	}
// reload imenu2
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	if ( clone == "allowClone" )
	{
		myMenuFrame.src="clone.html";
	}
	else
	{
		myMenuFrame.src="eventtext.html";
	}
	myFrame.src="ManageEvent.php?EventNumber=" + eventNumber;
	return;
}
// ______________________________________________________________________________
//
//
// ______________________________________________________________________________
//
function editContactee(fullName,emailAddress)
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		return true;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="editUser.html";
	if (( fullName === null ) || ( fullName.length === 0 ))
	{
		alert("No User Name passed to editContactee" );
		return true;
	}
//	alert("edit Contactee " + escape(fullName));
	myFrame.src="ManageAContactee.php?FullName=" + escape(fullName) + "&Email=" + escape(emailAddress);
	return false;
}
// ______________________________________________________________________________
//
//
// ______________________________________________________________________________
//
function editUser(fullName)
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	if (( fullName === null ) || ( fullName.length === 0 ))
	{
		alert("No User Name passed to editUser" );
		return;
	}
//	alert("edit User for " + escape(fullName));
	myFrame.src="ManageAUser.php?FullName=" + escape(fullName);
	return;
}
//
// ______________________________________________________________
//
// Check the punters browser type
// ______________________________________________________________
//

function showBrowser()
{
	var agentArray;
	var nameVerArray;
	switch(navigator.appName)
	{
		case "Microsoft Internet Explorer" :
			agentArray=navigator.userAgent.split(";");
			nameVerArray= agentArray[1].split(" ");
//			return "IE Version \"" +  agentArray[1] + "\" " + navigator.userAgent;
			return "IE Version " +  nameVerArray[2];
		case "Netscape" :
//
// Can be Opera, Firefox or Netscape 
//
			agentArray=navigator.userAgent.split(" ");
			var lastBit=agentArray[(agentArray.length -1 )];
			nameVerArray= lastBit.split("/");
			if ( nameVerArray[0] === "Firefox" )
			{
				return "FireFox Version " + nameVerArray[1] ;
			}
			if ( nameVerArray[0] === "Safari" )
			{
				return "Safari Version " + nameVerArray[1] ;
			}
//
// Need netscape detection here
//
			return "Netscape: " + navigator.appVersion + " UA: " + navigator.appName + " LB: " + lastBit;
		case "Opera" :
			agentArray=navigator.userAgent.split(" ");
			nameVerArray= agentArray[0].split("/");
			return "Opera Version " + nameVerArray[1]; 
		default:
			return "Unknown Browser";
	}
	return "Unknown Browser";
}
function checkBrowser()
{
// "Netscape" "Opera" "Microsoft Internet Explorer"
	switch(navigator.appName)
	{
		case "Microsoft Internet Explorer" :
			return 0;
		case "Netscape" :
			return 1;
		case "Opera" :
			return 1;
		case "Safari" :
			return 1;
		default:
			return -1;
	}
	return -1;
}
//
//
function dummyFunc()
{
	var myFrame= parent.document.getElementById("imenu2") ;
	if ( myFrame !== null )
	{
		myFrame.src="DummyFunc.php";
		return false;
	}
	AccountPanel=window.open("DummyFunc.php","Dimmy Function",
		"width=400,height=300,resizable=0,top=400,left=10,toolbar=0,status=0");
	AccountPanel.focus();
	return true;
}
//
//
// _____________________________
//
function passwordChange()
{
	var myFrame= parent.document.getElementById("imenu2") ;
	if ( myFrame === null )
	{
		alert ("Browser problem, cannot get handle for imenu2");
		return;
	}
	myFrame.src="PasswordChange.php";
	return;
}
//
// _____________________________
//
function commitPassword()
{
	var myFrame= parent.document.getElementById("imenu2") ;
	if ( myFrame === null )
	{
		alert ("Browser problem, cannot get handle for imenu2");
		return false;
	}
	var myFirstPassword = document.getElementById("Password1").value; 
	var mySecondPassword = document.getElementById("Password2").value;
//    if null - browser prob 
	if (( myFirstPassword === null ) || ( mySecondPassword === null ))
	{
		alert ("Browser problem, cannot acquire password values");
		return false;
	}
	if ( myFirstPassword !== mySecondPassword )
	{
		alert ("Passwords don't match");
		return false;
	}
	if ( myFirstPassword.length < 6 )
	{
		alert ("Passwords are too short");
		return false;
	}
	myFrame.src="CommitPassword.php?Password=" + myFirstPassword;
	return true;
}
//
// _____________________________
//
//
// _____________________________
//
function logoutUser()
{
	if ( confirm("Please click on \"OK\" to confirm you wish to log off") === false )
	{
		return;
	}
	var menu2Frame= parent.document.getElementById("imenu2");
	if ( menu2Frame === null)
	{
		alert("Browser problem during logout - can't get imenu2 handle");
		return;
	}
	menu2Frame.src="dummy.html";
	var workFrame= parent.document.getElementById("iwork");
	if ( workFrame === null)
	{
		alert("Browser problem during logout - can't get imenu2 handle");
		return;
	}
	workFrame.src="MainPage.html";
//
// Check the imenu1 iframe is available and start a log out process in it
//
	var myFrame= parent.document.getElementById("imenu1");
	if ( myFrame === null)
	{
		alert("Browser problem during logout - can't get imenu1 handle");
		return;
	}
	myFrame.src="Logout.php";
	return;
}
//
//
//
function checkEmailAddress(myEmailAddress)
{
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=myEmailAddress.match(emailPat);
	if (matchArray===null)
	{
		alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
// Start by checking that only basic ASCII characters are in the strings (0-127).
	for (i=0; i<user.length; i++)
	{
		if (user.charCodeAt(i)>127)
		{
			alert("Ths username contains invalid characters.");
			return false;
		}
	}
	for (i=0; i<domain.length; i++)
	{
		if (domain.charCodeAt(i)>127)
		{
			alert("Ths domain name contains invalid characters.");
			return false;
		}
	}
	if (user.match(userPat)===null)
	{
		alert("The username doesn't seem to be valid.");
		return false;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++)
	{
		if (domArr[i].search(atomPat)===-1)
		{
			alert("The domain name does not seem to be valid.");
			return false;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length !=2 && domArr[domArr.length-1].search(knownDomsPat)===-1)
	{
		alert("The address must end in a well-known domain or two letter " + "country.");
		return false;
	}
	if (len<2)
	{
		alert("This address is missing a hostname!");
		return false;
	}
	return true;
}
// _________________________________________________
//
// Update the Status/Error values on the page 
// __________________________________________________
//
function updateStatus(cstatus,error)
{
	var theBrowser=showBrowser();
	var browserArray=theBrowser.split(" ");
	var versionArray=browserArray[2].split(".");
	var ie6Window;
//
// re-load the parent if punter is unfortunate enough to still have IE6
//
	if ( ( browserArray[0] === "IE" ) && ( versionArray[0] === "6" ))
	{
		parent.document.location="http://www.nelr.co.uk/ie6.html";
		return;
	}
	if (cstatus.length === 0 ) { cstatus="Your Browser is " + theBrowser; }
	cstatus="<a href=\"http://www.tfl.gov.uk/tfl/livetravelnews/realtime/tube/tube-all-weekend.html\" target=\"_blank\">Click here for Tube disruption this weekend</a>";
	parent.document.getElementById("statusLine").innerHTML='<font class=\"Status\">' + cstatus + '</font>';
	parent.document.getElementById("errorLine").innerHTML='<font class=\"Error\">' + error + '</font>';
//
// reload the imenu2 frame to pick up the new details
//
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	var menu2Url=myMenuFrame.src;
	myMenuFrame.src=menu2Url;
	return;
}
//
// _______________________
//
function gotoHomePage()
{
	parent.document.location.href="http://www.nelr.co.uk";
	return false;
} 
// __________________________________________________________________
//
// Called from Login.php
// Extract the username and password from the DOM
// Sanity check, and load the calling Iframe with CheckLogin.php
// __________________________________________________________________
//
function tryLogin()
{
	var myMenuFrame = parent.document.getElementById("imenu1") ;
	var myName = document.getElementById("myEmailAddress").value.toLowerCase();
	var myPassword = document.getElementById("myPassword").value;
//	alert("In tryLogin");
	if ( myName === null )
	{
		alert("Cannot get user e-mail address from Login page" );
		return false;
	}
	if ( myPassword === null )
	{
		alert("Cannot get Password from Login page" );
		return false;
	}
	if(checkEmailAddress(myName) === false )
	{
		return false;
	}
	if((myPassword.length < 6 ) && ( myPassword.length > 0 ))
	{
		alert("Password is too short" );
		return false;
	}
//	var loginUrl = "CheckLogin.php?Name=" + myName + "&Password=" + myPassword;
//	myMenuFrame.src=loginUrl;
	return true;
}

// ___________________________________________
//
// Reload the imenu1 frame  with the Login page
// ___________________________________________
//
//
function reloadLogin(name)
{
	var myLoginFrame= parent.document.getElementById("imenu1") ;
	if ( myLoginFrame === null )
	{
		alert("Browser problem in reloadLogin" );
		return;
	}
	myLoginFrame.src="Login.php";
	return;
}
//
// ___________________________________________________________________
//
function displayAuditTrail(interval)
{
	var myAuditFrame= parent.document.getElementById("iwork") ;
	var myInterval;
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	if ( interval === null)
	{
		myInterval=escape("1");
	}
	else
	{
		myInterval=escape(interval);
	}
	if ( myAuditFrame === null )
	{
		alert("Cannot access frame \"iwork\" to display audit trail");
		return;
	}
	var Url = "DisplayAuditTrail.php?Interval=" + myInterval;
	myAuditFrame.src=Url;
	return;
}
// ___________________________________________________________________
//
function dispatchMail()
{
	var myAuditFrame= parent.document.getElementById("iwork") ;
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	if ( myAuditFrame === null )
	{
		alert("Cannot access frame \"iwork\" to dispatch mail");
		return false;
	}
	var Url = "DispatchMessage.php";
	myAuditFrame.src=Url;
	return false;
}
// ___________________________________________________________________
//
function writeLeaderMessage()
{
	var myAuditFrame= parent.document.getElementById("iwork") ;
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="sendleadermail.html";
	if ( myAuditFrame === null )
	{
		alert("Cannot access frame \"iwork\" to display audit trail");
		return;
	}
	var Url = "ContactWalksLeader.html";
	myAuditFrame.src=Url;
	return;
}
// ___________________________________________________________________
//
function writeMessage()
{
	var myAuditFrame= parent.document.getElementById("iwork") ;
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="sendmail.html";
	if ( myAuditFrame === null )
	{
		alert("Cannot access frame \"iwork\" to display audit trail");
		return;
	}
	var Url = "WriteMailMessage.html";
	myAuditFrame.src=Url;
	return;
}
//
function mainPage()
{
	var myFrame= parent.document.getElementById("iwork");
	var myFullName;
	if ( myFrame === null )
	{
		alert("Browser problem in mainPage");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	myFrame.src="MainPage.html"; 
	return;
}
// ______________________________________________________________________________
//
function displayEvent(eventNumber, clone)
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in displayEvent");
		return true;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	myFrame.src="DisplayEvent.php?EventNumber=" + eventNumber + "&Clone=" + clone;
	return false;
}
//
// ______________________________________________________________________________
//
function displayEventsTest(eventNumber)
{
	var myObject= parent.document.getElementById("iwork");
	if ( myObject === null )
	{
		myObject= document.getElementById("iwork");
		if ( myObject === null )
		{
			alert("Browser problem in displayEventTest");
			return true;
		}
	}
	alert("Got handle " + myObject + " source page is " + myObject.data);
	myObject.type="text/html";
	myObject.data="DisplayEvents.php?EventNumber=" + eventNumber;
	alert("Got handle " + myObject + " source page is now " + myObject.data);
	return false;
}
// ______________________________________________________________
//
function displayEvents(eventNumber)
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in displayEvents");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	myFrame.src="DisplayEvents.php?EventNumber=" + eventNumber;
	return;
}
// ______________________________________________________________
//
function doTransport()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in doTransport");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	myFrame.src="ShowTransportLinks.php";
	return;

}
function doCharities()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in doCharities");
		return;
	}
	myFrame.src="Charities.html";
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	return;
}
function doLinks()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in doLinks");
		return;
	}
	myFrame.src="Links.html";
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	return;
}
function doOtherGroups()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in doOtherGroups");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	myFrame.src="ShowWalkingGroupLinks.php";
	return;
}
function doWeather()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in doWeather");
		return;
	}
	myFrame.src="ShowWeatherLinks.php";
	return;
}
//
//
function doEventSearch()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in doEventSearch");
		return;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	myFrame.src="EventFinder.php";
	return;

}
function doSearch()
{
	var myFrame= parent.document.getElementById("iwork");
	var myStartDate,myEndDate;
	var mySelect;
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	if ( (mySelect= document.getElementById("Leader")) === null )
	{
		alert("Search called without Organiser");
		return;
	}
	var myLeader=  mySelect.options[mySelect.selectedIndex].text;
	if ( (mySelect= document.getElementById("StartYear")) === null )
	{
		alert("Search called without Start Year");
		return;
	}
	var myStartYear=  mySelect.options[mySelect.selectedIndex].text;
	if ( (mySelect= document.getElementById("EndYear")) === null )
	{
		alert("Search called without End Year");
		return;
	}
	var myEndYear=  mySelect.options[mySelect.selectedIndex].text;
	if ( (mySelect= document.getElementById("StartMonth")) === null )
	{
		alert("Search called without Start Month");
		return;
	}
	var myStartMonth=  mySelect.options[mySelect.selectedIndex].text;
	if ( (mySelect= document.getElementById("EndMonth")) === null )
	{
		alert("Search called without End Month");
		return;
	}
	var myEndMonth=  mySelect.options[mySelect.selectedIndex].text;
	if ( myFrame === null )
	{
		alert("Browser problem in doSearch");
		return;
	}
	var searchText=document.getElementById("searchText").value;
	myStartDate= myStartYear + "-" + myStartMonth + "-" + "1";
	myEndDate= myEndYear + "-" + myEndMonth + "-" + "1";
	myFrame.src="ShowEvents.php?FullName=" + escape(myLeader) + "&StartDate=" + escape(myStartDate) + "&EndDate=" + escape(myEndDate) + "&SearchText=" + escape(searchText);
	return;
}
//
//
// Entry Point into printing a program (done in a separate window)
//
function printProgram()
{
	var programUrl="PrintProgramForm.php";
	if ( programWindow !== false  && (! programWindow.closed))	
	{
		programWindow.location.href=programUrl;
		programWindow.focus();
		return;
	}
	programWindow=window.open(programUrl,"","","");
	programWindow.focus();
	return;
}
//
//
function checkDates(stuff)
{
	var startDate= new Date(document.getElementById("startDate").value);
	var endDate= new Date(document.getElementById("endDate").value);
	var minOffset=14;
	minOffset*=86400000;
//	alert ( "Comparing \"" + startDate + "\" and \"Invalid Date\"");
	if (startDate == "Invalid Date" )
	{
		alert ( "Start Date is Invalid");
		return false;
	}
	if (endDate == "Invalid Date" )
	{
		alert ( "End Date is Invalid");
		return false;
	}
	var startTime=startDate.getTime(); 
	var endTime=endDate.getTime();
	if ( startTime > endTime ) 
	{
		alert ( "The Start Date is ahead of the End Date");
		return false;
	}
	if ( (startTime + minOffset) > endTime ) 
	{
		alert ( "The Start and End Date are too close");
		return false;
	}
	return true; 
}
function doSaveAs()
{
	if (document.execCommand)
	{
		document.execCommand("SaveAs");
	}
	 else
	{
		alert('Your browser does not allow execute command, please select file save as.');
	}
}
function savefile( f )
{
	f = f.elements;  //  reduce overhead
   var w = window.frames.w; 
	if( !w )
	{
		  w = document.createElement( 'iframe' );
		  w.id = 'w';   w.style.display = 'none';  
		document.body.insertBefore( w ); 
		 w = window.frames.w; 
		 if( !w )
		{
			   w = window.open( '', '_temp', 'width=100,height=100' );    
				if( !w )
				{
					 window.alert( 'Sorry, could not create file.' ); return false;
				 }
		}
	}
	var d = w.document,   ext = f.ext.options[f.ext.selectedIndex],   name = f.filename.value.replace( /\//g, '\\' ) + ext.text;
	d.open( 'text/plain', 'replace' );  d.charset = ext.value;  
	if( ext.text==='.txt' )
	{   d.write( f.txt.value );   d.close();  }
	 else { 
 //  '.html'  
	 d.close();   d.body.innerHTML = '\r\n' + f.txt.value + '\r\n';  }   
	if( d.execCommand( 'SaveAs', null, name ) )
	{   window.alert( name + ' has been saved.' );  }
	 else {   window.alert( 'The file has not been saved.\nIs there a problem?' );  }
  w.close();  return false;  //  don't submit the form
}
// _________________
//
// Show the Committe
// _________________
//
function committee()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Unable to display Committe Members");
		return;
	}
	myFrame.src="Committee.html";
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	return;
// _________________
//
}
function photoDirs()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in photoDirs");
		return true;
	}
	myFrame.src="Gallery.html";
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	return false;
}

function showPhotos(theYear)
{
	var myFrame= parent.document.getElementById("iwork");
	var photoUrl;
	var photoYear=theYear;
	if ( myFrame === null )
	{
		alert("Browser problem in showPhotos");
		return true;
	}
	switch(photoYear)
	{
		case '2001':
		photoUrl="Gallery/2001_2002/index.html";
		break;
		case '2003':
		photoUrl="Gallery/2003_2004/index.html";
		break;
		case '2005':
		photoUrl="Gallery/2005_2006/index.html";
		break;
		case '2007':
		photoUrl="Gallery/2007/index.html";
		break;
		default:
		photoUrl="Gallery/2007/index.html";
		break;
	}
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	myFrame.src=photoUrl;
	return false;

}
function openGalleryWindow()
{
	window.open('Gallery/index.html','galWindow','top=200,left=200,scrollbars=yes');
	return;

}
function downloadProg()
{
	var myFrame= parent.document.getElementById("iwork");
	if ( myFrame === null )
	{
		alert("Browser problem in downloadProg");
		return;
	}
	myFrame.src="Downloads";
	var myMenuFrame = parent.document.getElementById("imenu2") ;
	myMenuFrame.src="dummy.html";
	return;
}
