/********************
* Utility functions *
********************/

// Write today's date
function todaysDate()
{
	var ndx;
	var dateStr;
	var dateObject	= document.getElementById('dateTime');
	var ampm				= new Array('morning', 'afternoon', 'evening');
	var days				= new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
	var months			= new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	var ampm				= new Array('morning', 'afternoon', 'evening');
	var now					= new Date();
	var date				= now.getDate();
	var hours				= now.getHours();
	var minutes			= now.getMinutes();
	var seconds			= now.getSeconds();

	switch (date)
	{
		case 1:
		case 21:
		case 31:
			date = date + "st";
			break;

		case 2:
		case 22:
			date = date + "nd";
			break;

		case 3:
		case 23:
			date = date + "rd";
			break;

		default:
			date = date + "th";
	}

	if (hours <= 11)
		ndx = 0;
	else if (hours >= 18)
		ndx = 2;
	else
		ndx = 1;
		
	if (hours <= 9)
		hours = "0" + hours;

	if (minutes <= 9)
		minutes = "0" + minutes;

	if (seconds <= 9)
		seconds = "0" + seconds;

	dateStr = "Good " + ampm[ndx] + " - it is" + " " + hours + ":" + minutes + ":" + seconds + "hrs on " + days[now.getDay()] + ", " + date + " " + months[now.getMonth()] + " " + now.getFullYear();
	dateObject.innerHTML = dateStr;

	setTimeout("todaysDate()", 1000);
}

// Send feedback
function sendFeedback(errNo)
{
	var email = "mailto";
	var at = "@";
	var mw = "matchwalk.";
	var ex = "com";
	var subject = "Website feedback";

	if (errNo > 0)
		subject += ("error " + errNo);
	else
		subject += ("feedback");

	parent.location.href = email + ":charles" + at + mw + ex + "?subject=" + subject;
}	// function sendFeedback


/*******************
* Window functions *
*******************/

var winWeather = null;

function popupWeather(weatherpage)
{
	var j = screen.availWidth;
	var k = 860;
	var w = (j < k) ? j : k;
	var h = screen.availHeight;
	var x = ((screen.width - w) / 2);
	var y = ((screen.height - h) / 2);

	x = (x < 0) ? 0 : x;
	y = (y < 0) ? 0 : y;
	winWeather = window.open(weatherpage, 'weather', 'width='+w+',height='+h+',resizable=1,scrollbars=1,menubar=0,statusbar=0,screenX='+x+',left='+x+',screenY='+y+',top='+y);
	winWeather.focus();
}

function closePopups()
{

	if (winWeather)
	{
		winWeather.close();
		winWeather = null;
	}
}


/********************************
* Draw contact details and maps *
********************************/

function writeMapDiv(map)
{
	var divObject	= document.getElementById('mapSpace');
	var h = (window.innerHeight - 298);
	h = (h >= 500) ? h : 500;
	var divStr = "<iframe src=" + map + " height='" + h + "px' width='100%'></iframe>";
	divObject.innerHTML = divStr;
}

function drawMap(lat, long, strTitle, marker, animation)
{
	var latLng				= new google.maps.LatLng(lat, long);
	var mapOpts				=	{zoom: 16, center: latLng, mapTypeId: google.maps.MapTypeId.HYBRID};
	var map						=	new google.maps.Map(document.getElementById("mapCanvas"), mapOpts);
	var strIcon				= "http://www.matchwalk.com/assets/" + marker;

	if (marker)
	{
		switch (animation)
		{
			case "DROP":
				var marker		=	new google.maps.Marker({position: latLng, title: strTitle, icon: strIcon, animation: google.maps.Animation.DROP});
				break;
	
			case "BOUNCE":
				var marker		=	new google.maps.Marker({position: latLng, title: strTitle, icon: strIcon, animation: google.maps.Animation.BOUNCE});
				break;
	
			default:
				var marker		=	new google.maps.Marker({position: latLng, title: strTitle, icon: strIcon});
		}	// end switch animation
	}	// end if marker
	else
	{
		switch (animation)
		{
			case "DROP":
				var marker		=	new google.maps.Marker({position: latLng, title: strTitle, animation: google.maps.Animation.DROP});
				break;
	
			case "BOUNCE":
				var marker		=	new google.maps.Marker({position: latLng, title: strTitle, animation: google.maps.Animation.BOUNCE});
				break;
	
			default:
				var marker		=	new google.maps.Marker({position: latLng, title: strTitle});
		}	// end switch animation
	}	// end else

	var trafficLayer	=	new google.maps.TrafficLayer();

	marker.setMap(map);  
	trafficLayer.setMap(map);
}

