// main java script file for common or shared script created on 12-29-08

function newImg(arg) {
   if (document.images) {
      rslt = new Image();
      rslt.src = arg;
      return rslt;
   }
}
function changeImg() {
   if (document.images && (preloadFlag == true)) {
      for (var i=0; i < changeImg.arguments.length; i+=2) {
      	document[changeImg.arguments[i]].src = changeImg.arguments[i+1];
      }
   }
}
var preloadFlag = false;
function preloadImg() {
   if (document.images) {
      on_officers = newImg("/image/on_officers.gif");
      on_calendars = newImg("/image/on_calendars.gif");
      on_events = newImg("/image/on_events.gif");
      on_fun_fly = newImg("/image/on_fun_fly.gif");
      on_racing = newImg("/image/on_racing.gif");
      on_info = newImg("/image/on_info.gif");
      on_pictures = newImg("/image/on_pictures.gif");
      on_members = newImg("/image/on_members.gif");
      speedy_prep = newImg("/image/man_rc_plane_prep_lg_clr_32003.gif")
      speedy_burn = newImg("/image/plane_descending_smoking_lg_clr_32474.gif")
      speedy_crash = newImg("/image/man_rc_plane_crashed_lg_clr_32176.gif")
      preloadFlag = true;
   }
}
var speedyImageNumber = 1;
function DoSpeedy() {
   if (document.images) {
      switch (speedyImageNumber) {
         case 1:
            speedyImageNumber++;
            setTimeout('DoSpeedy()', 1000);
            break;
         case 2:
            speedyImageNumber++;
            changeImg('speedy', '/image/plane_descending_smoking_lg_clr_32474.gif');
            setTimeout('DoSpeedy()', 3000);
            break;
         case 3:
            changeImg('speedy', '/image/man_rc_plane_crashed_lg_clr_32176.gif');
            break;
      }
   }
}
var ElvisIn = true;
function ElvisAlert() {
  if (ElvisIn) {
     alert("Welcome to the Speedworld RC Flyers\nwebsite. Be sure to check the Calendar\npage for up and coming events.");
	  ElvisIn = false;
  } else {
     alert("Also, check out the Picture\npage to see some of the\nfield's activity.");
	  ElvisIn = true;
  }
}

// Added on 12-29-08
function displayableLocalDate()
{
var today=new Date();
var hh=today.getHours();
var mm=today.getMinutes();
var ss=today.getSeconds();
var day=today.getDay();
var year=today.getFullYear();
var month=today.getMonth();
var todaysDate=today.getDate();

// add a zero in front of numbers < 10 for a time display
hh=checkTime(hh);
mm=checkTime(mm);
ss=checkTime(ss);

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 monthName=new Array(12);
monthName[0]="January";
monthName[1]="February";
monthName[2]="March";
monthName[3]="April";
monthName[4]="May";
monthName[5]="June";
monthName[6]="July";
monthName[7]="August";
monthName[8]="September";
monthName[9]="October";
monthName[10]="November";
monthName[11]="December";

todaysDate = todaysDate + getTheDaySuffix(todaysDate);

//document.getElementById('collectLocalDate').innerHTML=weekday[day] + ", " + monthName[month] + " " + todaysDate + ", " + year;
//document.write=weekday[day] + ", " + monthName[month] + " " + todaysDate + ", " + year;

var actualdate = weekday[day] + ", " + monthName[month] + " " + todaysDate + ", " + year;
//var actualdate = weekday[day] + ", " + monthName[month] + " " + todaysDate + ", " + year + ", " + hh + ":" + mm + ":" + ss;
return actualdate;

}

function checkTime(i)
{
if (i<10)
  {
  i="0" + i;  //add a leading zero for a double digit
  }
return i;
}

function getTheDaySuffix(theDay)
{
	if(theDay == 1 || theDay == 21 || theDay == 31)
	{
		return "st";
	}
	else if(theDay == 2 || theDay == 22)
	{
		return "nd";
	}
	else if(theDay == 3 || theDay == 23)
	{
		return "rd";
	}
	else
	{
		return "th";
	}

}

//Added 1-6-09
function checkForMeeting()
{
	// Multi Dimentional array example
	// var meetingDate = new Array(new Array("1-9-2009","2-9-2009"), new Array("January","February"));
	// return meetingDate[1][1];
	
	var today=new Date();
	//Need to remember to update the meetings_script.js information every year
	var meetingDate  = getSecondTuesdayOfCurrentMonth();
	var year         = today.getFullYear();
	var month        = today.getMonth() + 1;  //adding 1 because the returned value is base 0
	var todaysDate   = today.getDate();
	var theDate      = checkTime(month) + "-" + checkTime(todaysDate) + "-" + year;
	
	var dateRange = "00-00-0000";
	
	//return backOffOneWeek(meetingDate[i]);
	
	dateRange = backOffOneWeek(meetingDate);
	if(theDate>=dateRange && theDate<=meetingDate)
	{
		// RETURN true since it is one week prior to a meeting
		return "true";
	}
	
	return "false";
	
	//return theDate;

}

//Added 1-6-09
function backOffOneWeek(date)
{
	//var parsedDay = new Array(date.split("-"));  // This did not work
	var parsedDay = date.substring( date.indexOf("-")+1, date.lastIndexOf("-")); 
	var day = parsedDay - 7;
	var newDate = date.substring(0, date.indexOf("-")) + "-" + checkTime(day) + "-" + date.substring(date.lastIndexOf("-")+1);
	//var newDate = day;
	return newDate;
}

//Added 5-8-10
function getSecondTuesdayOfCurrentMonth()
{
//This function is to discover what the second Tuesday of the current month is
// and return that value as it represents the meeting date.
var today      = new Date();
var month      = today.getMonth() + 1;  //adding 1 because the returned value is base 0
var tuesdayCTR = 0;
var dayCTR     = 1;
var dayOfWeekToTest = 0;  

	if(month == 6 || month == 7 || month == 8) //This check is for the summer break months
	{
		return "0000-00-00" // We are in the summer break if we get here, no need to return the date.
	}

	while(dayCTR < 32)
	{
		today.setDate(dayCTR);
		dayOfWeekToTest = today.getDay();
		
		if(dayOfWeekToTest == 2)
		{
			tuesdayCTR++;
			if(tuesdayCTR == 2)
				{
				// we have found the second Tuesday of the week for the current month
				
				//var secondTuesDate = today.getFullYear() + "-" + checkTime(month) + "-" + checkTime(today.getDate());
				var secondTuesDate = checkTime(month) + "-" + checkTime(today.getDate()) + "-" + today.getFullYear();

				return secondTuesDate;
				}
		}	
		dayCTR++;
	}
	return "0000-00-00"  //nothing found if this is returned
}