/*---------------------------------------------------------------------------------------------------------------------
 *
 *	Written by Tom Sayers - SQUAREZONE Ltd +44 1252 517611
 *	Copyright © 2001 - 2003 Squarezone Ltd.  All rights reserved.
 *	This software may not be copied by any method in whole or part without
 *	the express written permission of the copyright holder.
 *	www.squarezone.co.uk & www.speedEweb.net
 *
 *---------------------------------------------------------------------------------------------------------------------*/

	var eWhat = 1;
	var eLink = 2;
	var eWhere = 3;
	var eTime = 4;
	var eFields = 6;
	var ePostCode = 5;
	var eventText = "";
	var eventMonthLast = "";
	var eventDay = "";
	var eventMonth = "";
	var eventYear = "";
    var monthName = new Array ('','January','February','March','April','May','June','July','August','September','October','November','December');
	var now = new Date;

function jEvent(isPriv){
    var dayName = new Array ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');

	if(isPriv == 'private'){
     eventText += '<p>Forthcoming events <font color="#800">for members and invited guests only</font>.</p>';
	} else {
     eventText += '<p>Forthcoming public events sponsored by or involving our club.</p>';
	}
    eventText += '<table class="events" border="0" cellpadding="0" cellspacing="0" width="68%">';

	for (var ii=0; ii<event.length; ii+=eFields) {
	 eventYear = eval(event[ii].slice(0,4));
	 eventMonth = eval(event[ii].slice(4,6));
	 eventDay = eval(event[ii].slice(6,8));

     if(!eventYear || eventYear < now.getFullYear() || (eventYear == now.getFullYear() && eventMonth - 1 < now.getMonth())){
	  continue;	// don't display earlier months
	 }
	 
     if(eventMonthLast != eventMonth){	// Month and year header
	  eventMonthLast = eventMonth;
	  eventText += '<tr><td id="event1" width="15%"><h3>' + monthName[eventMonth] + '</h3></td>';
	  eventText += '<td id="event2" width="35%"><h3>' + eventYear + '</h3></td>';
	  eventText += '<td id="event3" width="25%"><h3>';
	  if(ii == eFields){eventText += 'Venue';}
	  eventText += '&nbsp;</h3></td>';
	  eventText += '<td id="event4" width="25%"><h3>&nbsp;</h3></td></tr>';
	 }
	 valiDate();
	 
	 eventDate = new Date(eventYear,eventMonth-1,eventDay);
	 eventText += '<tr><td valign="top"><p id="event">';
	 if(eventDay == 0){
	  eventText += 'T.B.C.';
	 } else {
 	  eventText += dayName[eventDate.getDay()] + ' ' + eventDay;
	  addTh();
	 }

	 eventText += '</p></td><td valign="top"><p id="event">';
     if(event[ii+eLink]){
      eventText += '<a href="' + event[ii+eLink] + '">';
      eventText += event[ii+eWhat] + '</a>';
	 } else {
      eventText += event[ii+eWhat];
	 }
	  if(!event[ii+eWhere]){
	   event[ii+eWhere] = 'T.B.C.';
	  } else {
	   if(event[ii+ePostCode]){
        event[ii+eWhere] = '<a href="http://www.streetmap.co.uk/streetmap.dll?Postcode2Map?code=' + event[ii+ePostCode] + '&amp;nolocal=X" target="_blank">' + event[ii+eWhere] + '</a>';
	   }
	  }

   
   //<img border="0" src="images/map.jpg" class="right" width="83" height="25">

	  if(!event[ii+eTime]){event[ii+eTime] = 'T.B.C.';}
	  eventText += '</td><td valign="top"><p id="event">' + event[ii+eWhere] + '</p></td><td valign="top"><p id="eventr">' + event[ii+eTime] + '</td></tr>';
	}
	// End of for-next loop

    // Footer
    eventText += '<tr><td id="eventfoot" colspan="4"><p class="warning">Event dates, times and venues may change without notice.</p></td></tr>';
    eventText += '</table>';
    document.write(eventText);
}

function jEventDate(jParam){
	var foundIt = "";
    var dayName = new Array ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	
	for (var ii=0; ii<event.length; ii+=eFields) {
	 eventYear = eval(event[ii].slice(0,4));
	 eventMonth = eval(event[ii].slice(4,6));
	 eventDay = eval(event[ii].slice(6,8));

     if(!eventYear || eventYear < now.getFullYear() || (eventYear == now.getFullYear() && eventMonth - 1 < now.getMonth()) || (eventYear == now.getFullYear() && eventMonth - 1 == now.getMonth() && eventDay < now.getDate())){
	  continue;	// don't display earlier months
	 }
	 
     // Find event
	 var fn = document.URL.lastIndexOf("/");
	 var ff = document.URL.slice(fn + 1);
	 fn = event[ii+eLink].lastIndexOf("/");
	 var fg = event[ii+eLink].slice(fn + 1);
	 if(ff != fg){continue;}

	 valiDate();
	 
	 eventDate = new Date(eventYear,eventMonth-1,eventDay);
	 if(eventDay == 0){
	  break;
	 } else {
 	  eventText += dayName[eventDate.getDay()] + ' the ' + eventDay;
	  addTh();
	 }

	 eventText += ' of ' + monthName[eventMonth] + ' ' + eventYear + ' ' + event[ii+eTime] + ' ';
     document.write(eventText);
	 foundIt = 1;
	 break;
	}
	if(!foundIt){
	 eventText += '(date to be confirmed) ';
     document.write(eventText);
	}
}

function addTh() {
      switch (eventDay){
	   case 1:
	    eventText += 'st';
	    break;
	   case 21:
	    eventText += 'st';
	    break;
	   case 31:
	    eventText += 'st';
	    break;
	   case 2:
	    eventText += 'nd';
	    break;
	   case 22:
	    eventText += 'nd';
	    break;
	   case 3:
	    eventText += 'rd';
	    break;
	   case 23:
	    eventText += 'rd';
	    break;
	   default:
	    eventText += 'th';
	  }
}

function valiDate() {
	 // validation
	 if(eventDay > 31){eventDay = 0;}
	 if(eventDay > 30 && (eventMonth == 4 || eventMonth == 6 || eventMonth == 9 || eventMonth == 11)){eventDay = 0;}
	 if(eventDay > 29 && eventMonth == 2 && !((eventYear - 2000) % 4)){eventDay = 0;}
	 if(eventDay > 28 && eventMonth == 2 && ((eventYear - 2000) % 4)){eventDay = 0;}
}
