/******************************************
*******************************************
	DECLARE OFFICES
	    
			EG.:
					OFFICES[x] = new Array(latitude, longitude, name, url, email, description, icon)
												icon: 'london.png' (leave empty to use default)
												name: 'ESG Concept'
					description: '<b>StatPro London</b><br/>address 1<br/>address 2<br/>London SW1 1SW'
					
					YOU CAN USE HTML IN THE NAME AND DESCRIPTION
	
	PS.: 8 and 9 are postal addresses and do not have a map
*******************************************
UK Link: http://www.google.com/maps?f=q&hl=en&geocode=&q=NG8+6PE&ie=UTF8&ll=52.974074,-1.247442&spn=0.00867,0.028667&z=16
US Link: http://www.google.com/maps?f=q&hl=en&geocode=&q=331+Newman+Springs+Rd,+Red+Bank+NJ+07701,+USA&sll=40.33606,-74.090068&sspn=0.010599,0.020084&ie=UTF8&z=16&iwloc=addr&om=1
******************************************/
var IMAGES_PATH = "http://www.360scheduling.com/images/"; // change this to the folder where the images are hosted
var OFFICES = new Array();
OFFICES[0] = new Array(52.974123,-1.246364, 'Corporate Headquarters', 'http://www.360scheduling.com/', 'info@360scheduling.com', '<table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td align="center" valign="top"><img alt="Europe" src="http://www.360scheduling.com/images/uk_flag.png" border="0" height="32" width="28"></td><td valign="top"><span>Strelley Hall</span><br/>Main Street<br><img alt="Strelley Hall" src="http://www.360scheduling.com/images/strelley_hall_sm.jpg" border="0" height="70" width="100" align="right">Strelley<br>Nottingham<br>NG8 6PE<br/><b>Tel:</b> +44 (0)115 906 1263</td></tr></table>', 'uk');
/******************************************
*******************************************
     END OFFICES DECLARATION
*******************************************
******************************************/


/******************************************
*******************************************
     DO NOT EDIT BELOW THIS LINE
*******************************************
******************************************/
var map;
var icon0;
var gMarker = new Array();
var gPoint = new Array();
var tooltip;
var NAME = 2;
var SITE = 3;
var EMAIL = 4;
var LABEL = 5;
var ICON = 6;

function RunOnLoad(f){ 
	var of = window.onload; 
	if (typeof window.onload != 'function'){ 
		window.onload = f
	}else{ 
		window.onload = function(){
			of();
			f();
		}
	}
};

RunOnLoad(gLoadMap);
RunOnLoad(gLoadOffices);

function gIcon(img){
	icon0 = new GIcon();
	icon0.image = (img!='')?IMAGES_PATH+'marker-'+img+'.png':"http://www.google.com/mapfiles/marker.png";
	//icon0.shadow = "http://www.google.com/mapfiles/shadow50.png";
	icon0.iconSize = new GSize(45, 40);
	//icon0.shadowSize = new GSize(37, 40);
	icon0.iconAnchor = new GPoint(9, 40);
	icon0.infoWindowAnchor = new GPoint(9, 2);
	//icon0.infoShadowAnchor = new GPoint(18, 25);
	return icon0;
};

function gLoadMap(){
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(52.974123,-1.246364), 13);
	map.setMapType(G_MAP_TYPE);
	tooltip = document.createElement("div");
	document.getElementById("map").appendChild(tooltip);
	tooltip.id="tooltip";
	tooltip.style.visibility="hidden";
};


function gLoadOffices(){
 var s='';
	s+='<select onchange="if(this.value>=0){ gFocus(this.value); }else{ gReset(); }">';
	s+='<option value="-1" style="color:#41AD49;">Select Office</option>';
	for(var i=0; i<OFFICES.length; i++){
		gPoint[i] = new GPoint(OFFICES[i][1], OFFICES[i][0]);
		gMarker[i] = gPutMarker(i);
		map.addOverlay(gMarker[i]);
  s+='<option value="'+i+'">';
  s+=''+OFFICES[i][NAME].replace('360 Scheduling ','')+'';
  s+='</option>';
	}
 s+='</select>';
	document.getElementById('GoogleNav').innerHTML = s;
};

function gReset(){
	map.panTo(new GLatLng(0,0));
	map.setCenter(new GLatLng(52.974123,-1.246364), 13);
	map.closeInfoWindow();
};

/*
function gDirections(h){
	if(h){
 	document.getElementById('c').style.display='block';
 	document.getElementById('d').style.display='none';
	}else{
 	document.getElementById('c').style.display='none';
 	document.getElementById('d').style.display='block';
	}
};
*/

function gFocus(i,z){
	var m = gMarker[i];
	gTooltip(i,1);
	if(!z){ z = 15; }
	map.setCenter(new GLatLng(0,0), z);
	map.panTo(new GLatLng(OFFICES[i][1], OFFICES[i][0]));
	m.openInfoWindowHtml(''
  +'<div id="popup">'
		 +'<div class="title">'
		  +'<a href="' + OFFICES[i][SITE] + '" target="_blank">' + OFFICES[i][NAME] + '</a>'
		 +'</div>'
		 +'<div id="c">'
		 +'' + OFFICES[i][LABEL] + ''
		 +'</div>'
		 /* GET DIRECTION - not ready
			+'<div id="d" style="display:none;">'
			+'<form action="http://maps.google.co.uk/maps" method="get" target="_blank">'
			+'<div><label for="saddr">Get driving instructions from...</label>'
			+'<br/>'
			+'<input type="text" name="saddr" id="saddr" style="width:110px;"'
			+' onfocus="if(this.value==this.title){ this.value=\'\'; }"'
			+' onblur="if(this.value==\'\'){ this.value=this.title; }"'
			+' onkeypress="if(window.event.keyCode==13){ this.form.submit(); return false; }"'
			+' value="address or postcode"'
			+' title="address or postcode"'
			+'/>'
			+'<br/>'
			+'<br/>'
			+'<input type="submit" value="Show Directions &gt;"/>'
			+'<input type="hidden" name="daddr" value="" & Me.Data("dest") & "" />'
			+'<input type="hidden" name="hl" value="en" /></div>'
			+'</form>'
			+'</div>'
		 */
			+'<div class="links">'
		  //+'<a href="' + OFFICES[i][SITE] + '" target="_blank">Visit website</a> | '
		  //+'<a href="#" onclick="gDirections();">Get Directions</a> | '
		  +'<a href="http://www.360scheduling.com/contact_us.asp?email=' + OFFICES[i][EMAIL] + '&amp;subject=Enquiry+for+' + OFFICES[i][NAME].replace('\W+','+') + '">Contact Us</a>'
		 +'</div>'
		+'</div>'
		+''
	);
};

function gPutMarker(i){
	var m = new GMarker(gPoint[i],gIcon(OFFICES[i][ICON]));
	GEvent.addListener(m, "click", function(){ gFocus(i); });
	GEvent.addListener(m, "mouseover", function(){	gTooltip(i); });
	GEvent.addListener(m, "mouseout", function(){	gTooltip(i,1); });
	return m;
};

function gTooltip(i,h){
 if(h){ tooltip.style.visibility="hidden"; return; }
 var m = gMarker[i];
	tooltip.innerHTML = '<b>'+OFFICES[i][NAME]+'</b>';
	var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());
	var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(m.getPoint(),map.getZoom());
	var anchor=m.getIcon().iconAnchor;
	var width=m.getIcon().iconSize.width;
	var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x - anchor.x + width,- offset.y + point.y +anchor.y)); 
	pos.apply(tooltip);
	tooltip.style.visibility="visible";
};

