function getNextEvent()

{
 // comma seperated list: date;time;location;address;event name
 var EventList=
 "12/14/2006;19:30;Christmas Carol Night;Jackies House;Edinburgh;" +
 "01/13/2007;19:30;Jackie's Birthday Party;Martin Hall;Cameron Toll, Edinburgh;" +
 "02/24/2007;21:00;Highland Annual;Teviot Row Union;Edinburgh;" +
 "03/29/2007;19:30;Ceilidh Culture Festival, Choir Ceilidh;venue tbc;Edinburgh;" +
 "05/19/2007; ;Stirling Local Mod;Albert Hall, DATE TBC;Stirling;"
 "06/09/2007; ;Aberfeldy Local Mod;DATE TBC;Aberfeldy;"
 "08/15/2007;19:30;Fringe Concert;St Andrew's and St George's Church;George Street, Edinburgh;" +
 "09/08/2007; ;Mull Local Mod; Aros Hall;Tobermory;" +
 "10/19/2007; ;Fort William National Mod;;;" +
 "11/08/2007; ;Choir AGM 2007; DATE AND TIME TBC;;";

 var nextEvent = getNext(EventList,5);
 var eventText = formatText("<b>Next Event</b><br>", nextEvent,5);
 return eventText;
}

function getNextEventGa()

{
 // comma seperated list: date;time;location;address;event name
 var EventList=
 "12/14/2006;19:30;Christmas Carol Night;Jackies House;Edinburgh;" +
 "01/13/2007;19:30;Jackie's Birthday Party;Martin Hall;Cameron Toll, Edinburgh;" +
 "02/24/2007;21:00;Highland Annual;Teviot Row Union;Edinburgh;" +
 "03/29/2007;19:30;Ceilidh Culture Festival, Choir Ceilidh;venue tbc;Edinburgh;" +
 "05/19/2007; ;Stirling Local Mod;Albert Hall, DATE TBC;Stirling;"
 "06/09/2007; ;Aberfeldy Local Mod;DATE TBC;Aberfeldy;"
 "08/15/2007;19:30;Fringe Concert;St Andrew's and St George's Church;George Street, Edinburgh;" +
 "09/08/2007; ;Mull Local Mod; Aros Hall;Tobermory;" +
 "10/19/2007; ;Fort William National Mod;;;" +
 "11/08/2007; ;Choir AGM 2007; DATE AND TIME TBC;;";

 var nextEvent = getNext(EventList,5);
 var eventText = formatText("<b>Next Event</b><br>", nextEvent,5);
 return eventText;
}


function getNextPractice()
{
 // comma seperated list: date;time;location;address
 var PracticeList=
 "12/07/2006;19:30;Tollcross Primary, Tollcross;;" +
 "01/11/2007;19:30;Tollcross Primary, Tollcross;;" +
 "01/18/2007;19:30;Tollcross Primary, Tollcross;;" +
 "01/25/2007;19:30;Tollcross Primary, Tollcross;;" +
 "02/01/2007;19:30;Tollcross Primary, Tollcross;;" +
 "02/08/2007;19:30;Tollcross Primary, Tollcross;;" +
 "02/15/2007;19:30;Tollcross Primary, Tollcross;;" +
 "02/22/2007;19:30;Tollcross Primary, Tollcross;;" +
 "03/01/2007;19:30;Tollcross Primary, Tollcross;;" +
 "03/08/2007;19:30;Tollcross Primary, Tollcross;;" +
 "03/15/2007;19:30;Tollcross Primary, Tollcross;;";
 
 var nextEvent = getNext(PracticeList,4);
 var eventText = formatText("<b>Next Practice</b><br>", nextEvent,4);
 return eventText;
}

function getNextPracticeGa()
{
 // comma seperated list: date;time;location;address
 var PracticeList=
 "12/07/2006;19:30;Tollcross Primary, Tollcross;;" +
 "01/11/2007;19:30;Tollcross Primary, Tollcross;;" +
 "01/18/2007;19:30;Tollcross Primary, Tollcross;;" +
 "01/25/2007;19:30;Tollcross Primary, Tollcross;;" +
 "02/01/2007;19:30;Tollcross Primary, Tollcross;;" +
 "02/08/2007;19:30;Tollcross Primary, Tollcross;;" +
 "02/15/2007;19:30;Tollcross Primary, Tollcross;;" +
 "02/22/2007;19:30;Tollcross Primary, Tollcross;;" +
 "03/01/2007;19:30;Tollcross Primary, Tollcross;;" +
 "03/08/2007;19:30;Tollcross Primary, Tollcross;;" +
 "03/15/2007;19:30;Tollcross Primary, Tollcross;;";
 
 var nextEvent = getNext(PracticeList,4);
 var eventText = formatText("<b>Next Practice</b><br>", nextEvent,4);
 return eventText;
}


function getNext(list, num)

{
 var rest = list;

 while ( rest.length > 0 && rest.indexOf(";")>0 )
 {
 	var event="";
	//get date of event
	var index = rest.indexOf(";");
	var temp = rest.substring(0,index);
	rest = rest.substring(index+1,rest.length);
	var eventdate = Date.parse(temp);
	event=temp;
	// now get the rest
	for ( i=1; i<num && rest.indexOf(";")>=0 ;i++ )
	{
	 index = rest.indexOf(";");
	 temp = rest.substring(0,index);
	 rest = rest.substring(index+1,rest.length);
	 event+=";";
	 event+=temp;
	}
	if ( rest.indexOf(";")< 0 && rest.length>0 )
	{
	 	 event+=";";
		 event+=rest;
	}
	// check event date
	var today = new Date();
	if ( eventdate >= today )
		 return event;
	} 
 return ""; 
}

function getTextAtPosition(text, num)
{
 var textAtPosition="";
 var rest = text;
 for ( i=1; i<=num;i++ )
	{	
	 var index = rest.indexOf(";");
	 if ( i==num )
	 {
	 		if ( index>=0 )
	 			 textAtPosition = rest.substring(0,index);
			else if (rest.length>0)
				textAtPosition = rest.substring(0, rest.length);
			else
					textAtPosition = "";
			return textAtPosition;
	 }
	 rest = rest.substring(index+1,rest.length);
	}
	return "";
}


function formatDate(text)
{
 var weekday=new Array(7)
 weekday[0]="Sunday"
 weekday[1]="Monday"
 weekday[2]="Tuesday"
 weekday[3]="Wednesday"
 weekday[4]="Thursday"
 weekday[5]="Friday"
 weekday[6]="Saturday"
 
 var month=new Array(12)
 month[0]="January"
 month[1]="February"
 month[2]="March"
 month[3]="April"
 month[4]="May"
 month[5]="June"
 month[6]="July"
 month[7]="August"
 month[8]="September"
 month[9]="October"
 month[10]="November"
 month[11]="December"
 
  var eventDate = new Date(Date.parse(text));
	day = eventDate.getDay;
	var eventText = weekday[eventDate.getDay()];
	eventText += " ";
	eventText += eventDate.getDate();
	eventText += " ";
	eventText += month[eventDate.getMonth()];
	return eventText;
}		

function formatText(heading, nextEvent, num)
{
 
 var eventText = "";
 if ( nextEvent.length > 0 )
 {
 	eventText=heading;
	var dateText = getTextAtPosition(nextEvent,1);
	eventText+=formatDate(dateText);
	for (i=2; i<=num; i++)
	{
	 text = getTextAtPosition(nextEvent,i);
	 if ( i==2 && text.length>0 )
	 		eventText+=", ";
	 if (text.length>0 )
	 {
	 		eventText+=text;
			eventText+="<br>";
		}
	}
 }
 eventText+="<br>";
 return eventText;
}
 		 



