var marker;
var map;

var smallControl;
var bigControl;
var scaleControl;

function playground_init() {
  if (GBrowserIsCompatible()) {
    map = new google.maps.Map2(document.getElementById("map"));
    var point = new google.maps.LatLng(lat,lng);
    var marker = new google.maps.Marker(point)
    
    smallControl = new google.maps.SmallMapControl();
    bigControl = new google.maps.LargeMapControl();
    scaleControl = new google.maps.ScaleControl();
    
    map.setCenter(point, 15);
    map.addControl(smallControl);
    map.addControl(new google.maps.MapTypeControl());
    
    map.addOverlay(marker);
  }
}

function playground_toggleExpandedMap() {
  var center = map.getCenter();
  if (document.getElementById("map_expand").innerHTML == 'Retract') {
    document.getElementById("map_expand").innerHTML = 'Expand';
    document.getElementById("photo_expand").innerHTML = 'Full Size';
    document.getElementById("photo").style.height = '262px';
    document.getElementById("photo").style.width = '350px';
    document.getElementById("map").style.height = '262px';
    document.getElementById("map").style.width = '350px';
    map.addControl(smallControl);
    map.removeControl(bigControl);
    map.removeControl(scaleControl);
  } else {
    document.getElementById("map_expand").innerHTML = 'Retract';
    document.getElementById("photo_expand").innerHTML = '';
    document.getElementById("photo").style.height = '0px';
    document.getElementById("photo").style.width = '0px';
    document.getElementById("map").style.height = '500px';
    document.getElementById("map").style.width = '700px';
    map.removeControl(smallControl);
    map.addControl(bigControl);
    map.addControl(scaleControl);
  }
  map.checkResize();
  map.setCenter(center,map.getZoom());
}

function playground_expandCommentForm() {
    document.getElementById("commentForm").style.display = "block";
    document.getElementById("comment_expand").style.display = "none";
}

function playground_submitComment() {
    document.getElementById('SubmitButton').disabled=true;
    document.getElementById('SubmitButton').value='Please wait...';
}

function playground_expandMistakeForm() {
    document.getElementById("mistakeForm").style.display = "block";
    document.getElementById("mistake_expand").style.display = "none";
}

function playground_submitMistakeComment() {
    document.getElementById("mistakeForm").style.display = "none";
    document.getElementById("comment_expand").style.display = "block";
}



//----------------------------------------------------
// Admin CP functions - not used in non-admin section
//----------------------------------------------------
    
function admin_edit_load(lat,lng) {
  	if (GBrowserIsCompatible()) {
  		if(lat == 0) {
  			lat = -34.52;
  		}
  		if(lng == 0) {
  			lng = 150.84;
  		}
  		
		map = new GMap2(document.getElementById("map"));
		var point = new GLatLng(lat,lng);
		
		document.getElementById("field_latitude").value = lat;
		document.getElementById("field_longitude").value = lng;
		
		marker = new GMarker(point,{draggable: true})
		
		map.setCenter(point, 11);
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		
		map.addOverlay(marker);
		
		GEvent.addListener(marker, "dragend",admin_edit_updateCoordsEnd);
		GEvent.addListener(marker, "drag",admin_edit_updateCoords);
  	}
}

function admin_edit_updateCoords() {	
	document.getElementById("field_latitude").value = marker.getPoint().lat();
	document.getElementById("field_longitude").value = marker.getPoint().lng();
}

function admin_edit_updateCoordsEnd() {
	map.panTo(marker.getPoint());
	
	document.getElementById("field_latitude").value = marker.getPoint().lat();
	document.getElementById("field_longitude").value = marker.getPoint().lng();
}

//----------------------------------------------------
// Misc
//----------------------------------------------------

function getHeight() {
    var myWidth = 0, myHeight = 0;
    if( typeof( window.innerWidth ) == 'number' ) {
        //Non-IE
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
    } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
    } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
    }
    return myHeight;
}
