var map;
var markermanager;
var postcodecache;
var baseNormIcon;
var baseSmallIcon;
var smallGreenIcon;
var smallLightRedIcon;
var smallLightGreenIcon;
var smallLightGrayIcon;
var smallYellowIcon;
var largeYellowIcon;
var oCentrePoint;
var CLICK_EVENT = 'click';
var m_strImgPath = "mapimages/";
function setUpMap(iCenterX,iCenterY,iMarkerX,iMarkerY,iZoom)
{
	if(iZoom == -1)iZoom = 11;
	
    var oPoint = new GLatLng(iCenterY,iCenterX);
	oCentrePoint = oPoint;    
	map = new GMap2(document.getElementById("map"));	
	
    map.setCenter(oPoint, iZoom);	
    markermanager = new GMarkerManager(map); 
	map.addControl(new GSmallMapControl());
    map.addControl(new GScaleControl());
    map.enableContinuousZoom();
    map.enableDoubleClickZoom();
	
	baseNormIcon = new GIcon();
	//baseIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
	baseNormIcon.shadow = m_strImgPath+"shadow50.png";
	baseNormIcon.iconSize = new GSize(20, 34);
	baseNormIcon.shadowSize = new GSize(37, 34);
	baseNormIcon.iconAnchor = new GPoint(9, 34);
	baseNormIcon.infoWindowAnchor = new GPoint(9, 2);
	baseNormIcon.infoShadowAnchor = new GPoint(18, 25);
	
	baseSmallIcon = new GIcon();
	baseSmallIcon.shadow = m_strImgPath+"small_20_shadow.png";
	baseSmallIcon.iconSize = new GSize(12, 20);
	baseSmallIcon.shadowSize = new GSize(22, 20);
	baseSmallIcon.iconAnchor = new GPoint(6, 20);
	baseSmallIcon.infoWindowAnchor = new GPoint(5, 1);
	baseSmallIcon.infoShadowAnchor = new GPoint(10, 16);
	
	smallYellowIcon = new GIcon(baseSmallIcon);
	smallYellowIcon.image = m_strImgPath+"small_20_yellow.png";
	smallGreenIcon = new GIcon(baseSmallIcon);
	smallGreenIcon.image = m_strImgPath+"small_20_green.png";
	smallLightRedIcon = new GIcon(baseSmallIcon);
	smallLightRedIcon.image = m_strImgPath+"small_20_lightred.png";
	smallLightGreenIcon = new GIcon(baseSmallIcon);
	smallLightGreenIcon.image = m_strImgPath+"small_20_lightgreen.png";
	smallLightGrayIcon = new GIcon(baseSmallIcon);
	smallLightGrayIcon.image = m_strImgPath+"small_20_lightgray.png";
	
	largeYellowIcon = new GIcon(baseNormIcon);
	largeYellowIcon.image = m_strImgPath+"marker_yellow.png";
	
	if(iMarkerX != -1 && iMarkerY != -1)
	{
		addBookingMarker(iMarkerX, iMarkerY, "new", "");
		//var tmppoint = new GLatLng(iMarkerY,iMarkerX);
    	//var tmpmarker = new GMarker(tmppoint);
    	//map.addOverlay(tmpmarker);
	}
	
}

function addBookingMarker(iMarkerX, iMarkerY)
{
	var tmppoint = new GLatLng(iMarkerY,iMarkerX);
    var tmpmarker = new GMarker(tmppoint);
    markermanager.addMarker(tmpmarker);
    markermanager.refresh(); 
}

function addMarkers(aMarkers,iMinzoom, iMaxzoom)
{
    markermanager.addMarkers(aMarkers,iMinzoom,iMaxzoom);
    markermanager.refresh(); 
}


function addBookingMarker(iMarkerX, iMarkerY, strIconType, reqpage)
{
	var oMarker = createBookingMarker(iMarkerX,iMarkerY,strIconType,reqpage);
    markermanager.addMarker(oMarker,0,17);
    markermanager.refresh(); 
}

function createBookingMarker(iMarkerX, iMarkerY, strIconType, reqpage)
{
	var tmppoint = new GLatLng(iMarkerY,iMarkerX);
    
    var tmpmarker;
    if(strIconType == "new")tmpmarker = createMarker(tmppoint,2,"yellow");		//yellow
    else if(strIconType == "accept")tmpmarker = createMarker(tmppoint,1,"green");		//green
    else if(strIconType == "decline")tmpmarker = createMarker(tmppoint,1,"lightred");		//red
    else if(strIconType == "pending")tmpmarker = createMarker(tmppoint,1,"yellow");		//orange
    else if(strIconType == "cancel")tmpmarker = createMarker(tmppoint,1,"lightgray");	//grey
    else if(strIconType == "passed")tmpmarker = createMarker(tmppoint,1,"lightgreen");		//blue
	
	tmpmarker.requestpage = reqpage;
    return tmpmarker;
}

function resizeMap()
{
	if (map) map.checkResize();
}
function initMap(x,y)
{
	if (map) map.setCenter(oCentrePoint);
}


function createMarker(tmppoint,iSz,strColor)
{
	var icon;
	if(iSz == 1)
	{
		if(strColor=="green")icon = smallGreenIcon;
		else if(strColor=="yellow")icon = smallYellowIcon;
		else if(strColor=="lightred")icon = smallLightRedIcon;
		else if(strColor=="lightgreen")icon = smallLightGreenIcon;
		else if(strColor=="lightgray")icon = smallLightGrayIcon;
	}
	if(iSz == 2)
	{
		/*No other colors yet, just orange*/
		if(strColor == "yellow")icon = largeYellowIcon;
		//if(strColor == "gray")icon.image = "/systems/DrivingSchool/jsp/mapimages/marker_trans.png";
		//else icon.image = "/systems/DrivingSchool/jsp/mapimages/marker.png";
	}
	
	return new GMarker(tmppoint,icon);
}


function doNothing()
{
	/*Used to close onreadystatechange*/
}


function placeMarker(strCode)
{
	document.getElementById('postcode').value=strCode;
	//doMarker();
}