var url = 'h/controller.php';
var map;
var mainMenu;
var mapMenu;
var aSubmenu;
var userLevel;
var time = 0;
var azoom;
var userLastLat = 16.44100393002226;
var userLastLng = -85.88717579841614;
var userLastZoomLevel = 16;
var userLastMapType = G_HYBRID_MAP;
var map;
var zero;
var now;
var w;
var ws;

function createMarker( apoint ) {
	var amarker = new GMarker(apoint, {icon: getIcon(), draggable: true});
	map.addOverlay(amarker);
}

function addSite(){
	if (!Object.isUndefined(map)){
  var bounds = map.getBounds();
	var span = bounds.toSpan();	
  var southWest = bounds.getSouthWest();
  var northEast = bounds.getNorthEast();
  var latSpan = span.lat();
  var lngSpan = span.lng();
  var point = new GLatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random());
  createMarker(point);
  }
}

function counter(){
	time += 1;
	if (time % 10 == 0){
		if (!Object.isUndefined(map)){
		    switch(time){
		    	case 10: map.setZoom(7); break;
	    		case 20: map.setZoom(4); break;
				default:
				lat = -70 + 120 * Math.random();
	  			lng = -160 + 320 * Math.random();
	    		var apoint = new GLatLng(lat,lng);
				map.panTo(apoint);
			}
		}
	}

	zero = new Date();
	zero.setFullYear(2008);
	zero.setDate(30);
	zero.setMonth(10);
	zero.setHours(19);
	zero.setMinutes(0);
	zero.setSeconds(0);
	var secs = zero.getTime();
	now = new Date();
	var secsNow = now.getTime();
	
	var diffInSecs = Math.floor(secs/1000 - secsNow/1000);
	var diffInDays = Math.floor(diffInSecs/(60*60*24));
	diff = diffInSecs%(60*60*24);
	var diffInHours = Math.floor(diff/(60*60));
	diff = diff%(60*60);
	var diffInMinutes = Math.floor(diff/60);
	var diffInSecs = diff%60;

		b.innerHTML = "Version 1.0 Beta due to arrive in " + diffInDays + " days, " + diffInHours 
			+ " hours, " + diffInMinutes + " minutes and " + diffInSecs + " seconds";
			t=setTimeout("counter()",1000);
	addSite();

/*
	if (time < 10){
	switch(time){
		case 1: azoom = 7; break;
		case 2: azoom = 7; break;
		case 3: azoom = 7; break;
		case 4: azoom = 7; break;
		case 5: azoom = 7; break;
		case 6: azoom = 7; break;
		case 7: azoom = 6; break;
		case 8: azoom = 5; break;
		case 9: azoom = 4; break;
		default: azoom = 3
	}
	map.setZoom(azoom);
	}
	*/
}

function countdown(){
	time = 0;
		$('body').insert({bottom: '<div id="wrapper"><div id="box"></div></div>'});
		w = $('wrapper');
		ws = w.style;
		ws.position = "absolute";
		ws.left= (document.viewport.getWidth()/2)-200+"px";
		ws.top = document.viewport.getHeight()-40+"px";
		ws.width = "500px";
		ws.height = "30px";
		ws.fontSize="13px";
		ws.backgroundColor ="white";
		b =$('box');
		bs = b.style;
		bs.width = "496px";
		bs.height= "26px";
		bs.backgroundColor = "white";
		bs.margin = "6px 2px 2px 2px";
		bs.textAlign = "center";
		counter();
}


function getIcon() {
    var icon = new GIcon();
    icon.image = 'm/diveflag.png';
    icon.iconAnchor = new GPoint(0, 19);
    icon.infoWindowAnchor = new GPoint(16, 0);
    icon.iconSize = new GSize(15, 19);
    icon.shadowSize = new GSize(32, 12);
    return icon;
}

function setMapType(){
	newMapType = map.getCurrentMapType();
	if (newMapType!=G_NORMAL_MAP){
		$('logo').src= "m/logowhitewhiteflag.png";
	}
	else{
		$('logo').src= "m/logoblack.png";
	} 
}

function setMapZoomLevel(newZoomLevel){
	map.setZoom(newZoomLevel);
}

function setMapCenter(newCenterLat, newCenterLng, newZoomLevel, newMapType){
	map.setCenter(new GLatLng(newCenterLat, newCenterLng), newZoomLevel, newMapType);
		setMapZoomLevel(newZoomLevel);
		setMapType();
}

function windowResize(){
	$('mapWrapper').style.width = document.viewport.getWidth()+'px';
	$('mapWrapper').style.height = document.viewport.getHeight()+'px';

	var logoWidth = Math.max(22,document.viewport.getWidth()/6);
	var logoHeight = logoWidth /22*9;
	$('logo').style.width = logoWidth +'px';
	$('logo').style.height = logoHeight +'px';
	if (!Object.isUndefined(map))
		setMapType();
			if (!Object.isUndefined(ws)){
		ws.left = document.viewport.getWidth()/2-250+"px";
		ws.top = document.viewport.getHeight()-40+"px";
	}
}


function mapLoad() {
//	if (GBrowserIsCompatible()){

		map = new GMap2($('mapArea'), GSize(document.viewport.getWidth(),document.viewport.getHeight()));
		setMapCenter(userLastLat, userLastLng, userLastZoomLevel, userLastMapType);
		map.addControl(new GMapTypeControl());
		map.addControl(new GSmallMapControl());
		GEvent.addListener(map,"moveend",function(e){windowResize();});
		Event.observe(window, 'resize', function() {
			windowResize();
		  	 // running twice fixes problem where scrollbars leave white edges in FireFox
  			if (Prototype.Browser.Gecko){ 
				windowResize();
			}
			map.checkResize();
		});

//	}
//	else $('mapArea').innerHTML = "Browser not compatible";
}
function getLoc(){
	var url = "h/what.php";
	new Ajax.Request(url, {method: 'post', asynchronous:false,
		onSuccess: function(transport){
     		jsonInitVars = transport.responseText.evalJSON();
  		userLastLat = jsonInitVars.userLastLat;
		userLastLng = jsonInitVars.userLastLng;
		}
	});	
	userLastZoomLevel = 18;
}

function initMad(){
	$('mapWrapper').style.position="absolute";
	$('mapWrapper').style.top = "0px";
	$('mapWrapper').style.left = "0px";
	$('mapWrapper').style.width = "100%";
	getLoc();
	windowResize();
	mapLoad();
//	countdown();
}

