var map;
var clientGeoCoder = new GClientGeocoder();
var markers = new Array();
var html = new Array();
//marker images
var colours = Array("green", "red", "blue");
var letters = Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
var icons = Array();

function wheelevent(e) {
    if (!e){
        e = window.event
    }
    if (e.preventDefault){
        e.preventDefault()
    }
    e.returnValue = false;
}

function load(searchTerm) {
	setupIcons();

    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));        
        GEvent.addListener(map, "load", updatePoints);

        clientGeoCoder.getLatLng(searchTerm, function(latLng) {              
            map.setCenter(new GLatLng(latLng.lat(), latLng.lng()), 5);
            GEvent.addListener(map, "moveend", updatePoints);
        });

        GEvent.addDomListener(map.getContainer(), "DOMMouseScroll", wheelevent);  

        map.getContainer().onmousewheel = wheelevent;
        map.enableScrollWheelZoom();

        map.addControl(new GMapTypeControl());
        map.addControl(new GLargeMapControl());

	}
}

function updatePoints() {
    // get 'items' in the viewport
    var bounds = map.getBounds();
    var displaying = new Array;
    southWest = bounds.getSouthWest();
    northEast = bounds.getNorthEast();
    
    $("#branchList").load("./ajax/show-branches.php", {sw: southWest, ne: northEast, zoom: map.getZoom()});

}

function showInfo(id) {
	markers[id].openInfoWindowHtml(html[id]);
}

function setupIcons() {
	var icon = new GIcon();
	
	for (var colour in colours) {
		for (var letter in letters) {
			icon = new GIcon();
			icon.image = "./image/"+colours[colour]+"/"+letters[letter]+".gif";
			icon.iconAnchor = new GPoint(10,34);
			icon.infoWindowAnchor = new GPoint(15,4);
			icon.iconSize = new GSize(20, 34);
			icons[colours[colour]+"-"+letters[letter]] = icon;
		}
	}	

}
