<!--


/* Set up icon class */
var RoadWorks = new GIcon();
RoadWorks.image = 'roadworks-sign.png';
RoadWorks.shadow = 'sign-shadow.png';
RoadWorks.iconSize = new GSize(27,37);
RoadWorks.shadowSize = new GSize(34,37);
RoadWorks.iconAnchor = new GPoint(14,37);
RoadWorks.infoWindowAnchor = new GPoint(14,2);

var Accident = new GIcon();
Accident.image = 'accident-sign.png';
Accident.shadow = 'sign-shadow.png';
Accident.iconSize = new GSize(27,37);
Accident.shadowSize = new GSize(34,37);
Accident.iconAnchor = new GPoint(14,37);
Accident.infoWindowAnchor = new GPoint(14,2);

var Blackspot = new GIcon();
Blackspot.image = 'blackspot-sign.png';
Blackspot.shadow = 'sign-shadow.png';
Blackspot.iconSize = new GSize(27,37);
Blackspot.shadowSize = new GSize(34,37);
Blackspot.iconAnchor = new GPoint(14,37);
Blackspot.infoWindowAnchor = new GPoint(14,2);



var baseURL = 'http://gis.eddread.co.uk/TrafficAnalysis/TrafficData.php?type=MBML&showAll=1&';


function setMaxDays(n) {
	for (i = 28; i<=31; i++) {
		if (i>n) {
			document.getElementById('day-'+i).disabled=true;
		} else {
			document.getElementById('day-'+i).disabled=false;
		}
	}
}

var y,m,d,h,mi,dateF,dateT;
function makeDates() {
	/* work out from-date in unix timestamp */
	y = parseInt(document.getElementById('year').value);
	m = parseInt(document.getElementById('month').value);
	d = parseInt(document.getElementById('day').value);
	h = parseInt(document.getElementById('hour').value);
	mi = parseInt(document.getElementById('minute').value);
	dateF = new Date(y,m,d,h,mi);
	dateF = dateF.getTime()/1000;
	/* work out date to */
	dateT = dateF + parseInt(document.getElementById('period').value);
}

var latRange,lonRange;
function makeRange() {
	/* get Lat/Long range */
	boundaries = map.getBounds();
	topRight = boundaries.getNorthEast();
	bottomLeft = boundaries.getSouthWest();
	latRange = bottomLeft.lat()+','+topRight.lat();
	lonRange = bottomLeft.lng()+','+topRight.lng();
}

var severityFactor;
function makeSeverityFactor() {
	severityFactor = parseInt(document.getElementById('severity_factor').value);
}


var showAll;
function makeShowAll() {
	showAll = document.getElementById('show-all').checked;
}

function showTraffic() {

	document.getElementById('date_range_loading').style.display='inline';
	
	makeRange();
	makeDates();
	makeSeverityFactor();
	makeShowAll();
	
	/* Construct URL */
	url = baseURL + 'f='+dateF+'&t='+dateT+'&latRange='+latRange+'&lonRange='+lonRange+'&s='+severityFactor+'&show='+(showAll?'all':'accidents');
	
	loadFeed(url,'map.clearOverlays()','showTrafficDone()');
	
}
function showTrafficDone() {
	document.getElementById('date_range_loading').style.display='none';
}


function move(d) {

	amount = parseInt(document.getElementById('period').value);
	
	makeDates();
	
	if (d>0) {
		newDateF = new Date(dateT*1000);
		newDateT = new Date((dateT + amount)*1000);
	} else {
		newDateF = new Date((dateF - amount)*1000);
		newDateT = new Date(dateF*1000);
	}
	
	updateDateFields(newDateF);

	dateF = newDateF.getTime()/1000;
	dateT = newDateT.getTime()/1000;
	
	showTraffic();
	
}


function updateDateFields(dt) {
	/*  update form fields 	*/
	document.getElementById('year').value = dt.getFullYear();
	document.getElementById('month').value = dt.getMonth();
	document.getElementById('day').value = dt.getDate();
	document.getElementById('hour').value = dt.getHours();
	document.getElementById('minute').value = Math.floor(dt.getMinutes()/5)*5;
}


function showLive() {
	document.getElementById('live_loading').style.display='inline';

	makeRange();
	makeSeverityFactor();
	makeShowAll();
	
	/* Adjust dates in picker so 'previous' button isn't broken */
	updateDateFields(new Date());
	document.getElementById('period').value=(30*60);
	updateNP();
	
	/* Construct URL */
	url = baseURL + 'latRange='+latRange+'&lonRange='+lonRange+'&s='+severityFactor+'&show='+(showAll?'all':'accidents');
	loadFeed(url,'map.clearOverlays()','liveDone()');
}
function liveDone() {
	document.getElementById('live_loading').style.display='none';
}


/* place finder function */
function doFinder() {
	place = document.getElementById('findPlace');
	if (findAndCentre(place.value+',UK')) {
		place.value=place.defaultValue;
	}
}


/* Updates next/previous buttons when the time period is changed */
function updateNP(str) {
	tPeriod=parseInt(document.getElementById('period').value);

	numWeeks = Math.floor(tPeriod/(7*24*60*60));
	numDays = Math.floor(tPeriod/(24*60*60));
	numHours = Math.floor(tPeriod/(60*60));
	numMinutes = Math.floor(tPeriod/60);
	
	if (numWeeks==1)
		str = 'Week';
	else if (numWeeks>1) 
		str = numWeeks+' Weeks';
	else if (numDays==1)
		str = 'Day';
	else if (numDays>1)
		str = numDays+' Days';
	else if (numHours==1)
		str = 'Hour';
	else if (numHours>1)
		str = numHours+' Hours';
	else if (numMinutes==1)
		str = 'Min';
	else
		str = numMinutes+' Mins';
		
	document.getElementById('nextBtn').value = 'Next ' + str + ' >';
	document.getElementById('prevBtn').value = '< Prev ' + str;
}


function changeTab(tab) {
	if (tab==0) {
		document.getElementById('traffic_incidents').style.display='block';
		document.getElementById('accident_blackspots').style.display='none';
		document.getElementById('tLink_0').style.borderBottomColor='#001C37';
		document.getElementById('tLink_1').style.borderBottomColor='#FFF';
		document.getElementById('tLink_0').style.color='#FFF';
		document.getElementById('tLink_1').style.color='#999';
	} else {
		document.getElementById('traffic_incidents').style.display='none';
		document.getElementById('accident_blackspots').style.display='block';
		document.getElementById('tLink_0').style.borderBottomColor='#FFF';
		document.getElementById('tLink_1').style.borderBottomColor='#001C37';
		document.getElementById('tLink_0').style.color='#999';
		document.getElementById('tLink_1').style.color='#FFF';
	}
}



/* Accident Blackspots */
/***********************/

var blackspotsURL = 'http://gis.eddread.co.uk/TrafficAnalysis/AccidentBlackspots.php?';
function showBlackspots() {
	document.getElementById('blackspots_loading').style.display='inline';
	
	numAccidents = parseInt(document.getElementById('num-accidents').value);
	areaSize = parseInt(document.getElementById('area-size').value);
	
	url = blackspotsURL + 'n=' + numAccidents + '&d=' + areaSize;
	loadFeed(url,'map.clearOverlays()','showBlackspotsDone()');	
}
function showBlackspotsDone() {
	document.getElementById('blackspots_loading').style.display='none';
}	





function closeTip(tipID) {
	document.getElementById(tipID).style.display='none';
}


//-->
