var g_centerLondon = new GLatLng(51.508,-0.088);
var g_zoomLondon=10;
var g_map = null;
var g_bounds = null;

var g_venueArray = new Array();


function insertHTML(element, value)
{
    document.getElementById(element).innerHTML = value;
}

function createMarker(point, idx) 
{
	var marker = new GMarker(point);
  	
  	GEvent.addListener(marker, "click", function() {
        clearData();
        writeData(idx);
	
  		g_map.setCenter(point);
  	});
  	
  	return marker;
}

function showNew()
{	
	g_map.clearOverlays();

	g_bounds = new GLatLngBounds();

	for (var i in g_venueArray)
	{
	  var point = new GLatLng(g_venueArray[i].lng, g_venueArray[i].lat);
	  
	  var marker = createMarker(point, i);
	  
	  g_bounds.extend(point);
	  g_map.addOverlay(marker);
	}
	
	if (i==undefined)
	{
		g_map.setCenter(g_centerLondon, g_zoomLondon);
	}
	else
	{
		var zoomLevel = g_map.getBoundsZoomLevel(g_bounds);
		if (zoomLevel>1) zoomLevel--;
	
		g_map.setCenter(g_bounds.getCenter(), zoomLevel);
		
		if (g_venueArray.length==1)
		{
            clearData();
            writeData(0);
		}
	}
}

function load()
{
	if (GBrowserIsCompatible())
	{
		g_map = new GMap2(document.getElementById("map"));
        	g_map.addControl(new GSmallMapControl());
		g_map.setCenter(g_centerLondon, g_zoomLondon);

		window.setTimeout("do_xml(null)", 1);
      	}
}

function do_xml()
{
    clearData();

	//var postcode = document.getElementById("postcode").value;
    var postcode = "ALL";
	var biztype = document.getElementById("biztype").value;
	var area = document.getElementById("area").value;
	

	var url = 'venue_search.php?pc=' + postcode + '&bt=' + biztype + '&venueID=' + venueID + '&ar=' + area;

	var request = GXmlHttp.create();
	request.open("GET", url, true);
	
	request.onreadystatechange = function()
	{
		if (request.readyState == 4)
		{
			eval('var response = '+ request.responseText); 
			
			g_venueArray=response.venue;
			showNew();
		}
	}
	venueID="";
	
	request.send(null);
}

function writeData(g_venueArrayID) {
    insertHTML("venuepicture", "<img id='venuePicture' src='" + g_venueArray[g_venueArrayID].picture + "' />");
    insertHTML("venuetype", "(" + g_venueArray[g_venueArrayID].type + ")");
    insertHTML("venuename", g_venueArray[g_venueArrayID].name);
    insertHTML("venueaddress", g_venueArray[g_venueArrayID].address1);
    insertHTML("venuepostcode", g_venueArray[g_venueArrayID].postcode);
    insertHTML("venuelink", "<div class='urlContainer'><a class='url' href='venue_info.php?venueID=" + g_venueArray[g_venueArrayID].id + "'><img class='urlImage' src='img/icon_info.gif' />More Venue info</a></div>");
    // Determine if there is a video. If so, write a "launch player" link
    if (parseInt(g_venueArray[g_venueArrayID].numGigs) > 0) {
        insertHTML("venuegigs", "<div class='urlContainer'><a class='url' href='venue_info.php?venueID=" + g_venueArray[g_venueArrayID].id + "#gigs'><img class='urlImage' src='img/icon_info.gif' />More Gig info</a></div>");
    }
    if (g_venueArray[g_venueArrayID].video != "") {
        insertHTML("venuevideo", "<div class='urlContainer'><a class='url' href='#' onclick='writeMiniPlayer(\"artistServicesBox\", \"" + g_venueArray[g_venueArrayID].video + ".flv\", \"play\");'><img class='urlImage' src='img/icon_play.gif' />Play Venue video</a></div>");
    }
}

function clearData() {
    insertHTML("venuepicture", "&nbsp;");
    insertHTML("venuetype", "&nbsp;");
    insertHTML("venuename", "&nbsp;");
	insertHTML("venueaddress", "&nbsp;");
  	insertHTML("venuepostcode", "&nbsp;");
  	insertHTML("venuelink", "&nbsp;");
    insertHTML("venuevideo", "&nbsp;");
    insertHTML("venuegigs", "&nbsp;");
    writeClock("artistServicesBox");
}
  
