/*
 * map_functions_salitas.js
 *
 * Current revision $Revision: 1.1 $
 * On branch $Name:  $
 * Latest change by $Author: adolfoc $ on $Date: 2007/10/04 21:04:48 $
 *
 */

var centerLatitude = 14.0;
var centerLongitude = 0;
var startZoom = 1;
var closeUpZoom = 12;

var g_map;

function createMarker(map, latlng)
{
    var icon = new GIcon();
    icon.image = "images/SchoolMarker.png";
    icon.iconSize = new GSize(25, 25);
    icon.iconAnchor = new GPoint(14, 25);

    var marker = new GMarker(latlng, icon);

    GEvent.addListener(marker, 'click', function() {
	map.setCenter(latlng, closeUpZoom, G_SATELLITE_MAP);
    });

    return marker;
}


function add_right_panel_item(map, latlng, marker, index)
{
    var listItem = document.createElement('li');

    if (index > 0) {
	var separator = document.createTextNode(' | ');
	listItem.appendChild(separator);
    }

    var listItemLink = listItem.appendChild(document.createElement('a'));
    listItemLink.href = "#";
    listItemLink.innerHTML = '<strong>' + marker.getAttribute("community") + '</strong>';

    var cityCountry = listItem.appendChild(document.createElement('span'));
    cityCountry.innerHTML = '&nbsp;(' + marker.getAttribute("city") + ", " + marker.getAttribute("country") + ')';

    listItemLink.onclick = function() {
	g_map.setCenter(latlng, closeUpZoom, G_SATELLITE_MAP);
	return false;
    };
    document.getElementById('map-sidebar-list').appendChild(listItem);
}


function retrieveMarkers(map)
{
    var request = GXmlHttp.create();

    // Tell the request where to retrieve data from
    request.open('GET', 'retrieve_marker_salas.php', true);

    // Tell the request what to do when the state changes
    request.onreadystatechange = function() {
	if (4 == request.readyState) {
	    var xmlDoc = request.responseXML.documentElement;

	    if (xmlDoc) {
		var markers = xmlDoc.getElementsByTagName("marker");
		for (var i = 0; i < markers.length; i++) {
		    var lng = markers[i].getAttribute("lng");
		    var lat = markers[i].getAttribute("lat");

		    // Check lng and lat to prevent errors on ie
		    if (lng && lat) {
			var latlng = new GLatLng(parseFloat(lat), parseFloat(lng));

			var marker = createMarker(map, latlng);
			map.addOverlay(marker);

			add_right_panel_item(map, latlng, markers[i], i);
		    }
		}
	    }
	}
    }
    request.send(null);
}


function check_script_enabled()
{
    if (!document.getElementById || !document.createTextNode)
	return false;

    var noJScript = document.getElementById('noscripting');
    if (false == noJScript)
	return true;

    noJScript.parentNode.removeChild(noJScript);
    return true;
}


function init()
{
    check_script_enabled();

    if (GBrowserIsCompatible()) {
	var thediv = document.getElementById("map");
	g_map = new GMap2(thediv);

	var point = new GLatLng(centerLatitude, centerLongitude);

	g_map.addControl(new GSmallMapControl());
	g_map.addControl(new GMapTypeControl());

	g_map.setCenter(point, startZoom, G_SATELLITE_MAP);
	retrieveMarkers(g_map);

        init_cols();
    } else {
	alert("Browser not compatible");
    }
}

window.onload = init;
window.onunload = GUnload;

/*
 * Log record of file changes:
 * $Log: map_functions_salas.js,v $
 * Revision 1.1  2007/10/04 21:04:48  adolfoc
 * New Version of site.
 *
 * Revision 1.5  2007/01/25 23:17:41  adolfoc
 * Added alt text to pictures that moved from background to foreground.
 *
 * Revision 1.4  2007/01/25 21:40:41  adolfoc
 * Changed method of resizing columns using javascript, cleaned up some xhtml.
 *
 * Revision 1.3  2007/01/25 04:07:50  adolfoc
 * Added new markers to Parks map.
 *
 * Revision 1.2  2007/01/23 18:50:02  adolfoc
 * Changed order of inclusion plus layout rules to prevent bugs in IE6.
 *
 * Revision 1.1  2007/01/20 19:17:01  adolfoc
 * New layout with HolyGrail fixed columns approach.
 *
 * Revision 1.4  2006/12/15 22:26:54  adolfoc
 * Moved Park markers to MySQL, cleaned up javascript code a bit.
 * Localized date in footers.
 * Updated silo.ws description in Spanish.
 *
 * Revision 1.3  2006/11/19 17:05:45  adolfoc
 * Changed all external php files to include a standard header (Spanish only).
 *
 */