
var map;
var markerAddress=Array();
var layer;
var currentrating = 0;
var countryparam = '';

function initialize(sLat, sLon, sZoom) {
  if (!sLat)  var sLat  = 47.16801;
  if (!sLon)  var sLon  = 19.484768;
  if (!sZoom) var sZoom = 4;

  if (GBrowserIsCompatible()) {
  
    map = new GMap2(document.getElementById("map_canvas"));
    layer = new GGeoXml("http://ecdlweb.com/kml.php?l=en"+countryparam);
    map.setMapType(G_HYBRID_MAP);
    
    GEvent.addListener(map, "infowindowopen", function() {
        var infoWindow = $(this.getInfoWindow().getContentContainers());
        $("a", infoWindow).attr("target", "_self");
    });
    
    new GKeyboardHandler(map);
    map.enableScrollWheelZoom(); 
    map.setCenter(new GLatLng(sLat, sLon), sZoom); 
    map.addControl(new GLargeMapControl3D());
    map.addControl(new GMapTypeControl());
    map.addOverlay(layer);
    
  } else alert( "Sorry, your browser is not compatible with the Google Maps engine." );
} 

function toggleLayer(layer_id, ch) {
  if (ch.checked) {
    map.addOverlay(layer[layer_id]);
    toggleState[layer_id] = 1;
  } else {
    map.removeOverlay(layer[layer_id]);
    toggleState[layer_id] = 0;
  }
}
/*
function place(lat,lng,address) {
  if (geoMarker) map.removeOverlay(geoMarker);
  var point = new GLatLng(lat,lng);
  map.panTo(point);
  geoMarker = new GMarker(point); 
  map.addOverlay(geoMarker);
  georesult = point;
  document.body.focus();
}
*/
function drawCircle( dist, on ) {
  if (on) {
  	if (circle[dist]) map.removeOverlay(circle[dist]);
    if (georesult) { 
      map.setCenter(georesult);
    	var bounds = new GLatLngBounds();
    	var circlePoints = Array();
      
    	with (Math) {
    		var d = dist/6378.8;
    		var lat1 = (PI/180)* georesult.lat();
    		var lng1 = (PI/180)* georesult.lng();
    		for (var a = 0 ; a < 361 ; a++ ) {
    			var tc = (PI/180)*a;
    			var y = asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc));
    			var dlng = atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(y));
    			var x = ((lng1-dlng+PI) % (2*PI)) - PI ; 
    			var point = new GLatLng(parseFloat(y*(180/PI)),parseFloat(x*(180/PI)));
    			circlePoints.push(point);
    			bounds.extend(point);
    		}
    
    		if (d < 1.5678565720686044) circle[dist] = new GPolygon(circlePoints, ( ( borderColor[dist] ) ? borderColor[dist]:'#550000'), 1, 1, ( ( bgColor[dist] ) ? bgColor[dist]:'#ffeecc'), 0.2);	
    			else circle[dist] = new GPolygon(circlePoints, ( ( borderColor[dist] ) ? borderColor[dist]:'#550000'), 1, 1);	
    		map.addOverlay(circle[dist]); 
    		if (dist > 20) map.setZoom(map.getBoundsZoomLevel(bounds));
    	}
  	}
  } else {
    if (circle[dist]) map.removeOverlay(circle[dist]);
  }
}

function initialize_single(sLat, sLon, sAddress) {
  document.getElementById('map_canvas').style.backgroundImage = 'none';
  if (GBrowserIsCompatible()) {
	map = new GMap2(document.getElementById("map_canvas"));
  map.setMapType(G_HYBRID_MAP);
	new GKeyboardHandler(map);
  map.addControl(new GLargeMapControl3D());
  map.addControl(new GMapTypeControl());
	map.enableScrollWheelZoom();
  } else {
	alert('Sorry, your browser is not compatible with the Google Maps engine..');
  }
  place(sLat, sLon, sAddress);
}

function createMarker(point, info) {
  var marker = new GMarker(point);
  GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(info);});
  return marker;
}
function createFollowMarker(point, nexturl, icon) {
  var marker = new GMarker(point, icon);
  GEvent.addListener(marker, "click", function() { document.location = nexturl; });
  return marker;
}

function properties(obj, name, ishtml) {
  var result=""
  if (ishtml) result="  \n"
  for (i in obj) {
	if (ishtml) result+="     "
	result+=name+"."+i+"="+obj[i]+"\n"
  }
  if (ishtml) result+="  \n"
  return result
}

function place(lat,lng,address) {
  markerAddress.push(Array(lat,lng,address));
  var point = new GLatLng(lat,lng);
  map.setCenter(point,13);
  var marker = new GMarker(point, {});
  map.addOverlay(marker);
  GEvent.addListener(marker, "click", markerClick);
}

function markerClick() {
	var latLng=this.getLatLng();
	this.openInfoWindowHtml('<p style="font-family: Arial, sans-serif; font-size:12px;">' + ( (getAddressByPoint(latLng.lat(),latLng.lng())) ? (getAddressByPoint(latLng.lat(),latLng.lng())+ '<br />') : '') +'</p>');
}

function getAddressByPoint(lat,lng) {
	for (var i=0; i<markerAddress.length; i++) {
		if (markerAddress[i][0]==lat && markerAddress[i][1]==lng) {
			return markerAddress[i][2];
		}		
	}
	return '';
}

function st_om (id,stat) {
  var offgif = 'off';
  if (document.getElementById('avgstars')) { offgof = 'transparent'; document.getElementById('avgstars').style.display = ((stat) ? 'none' : 'block'); }
  for (var i=1; i<=5; i++) {
    if ( i<currentrating ) document.getElementById('st'+i).src = '/star_' + ((stat && i<=id)?'on':'off') + '.gif';
    else document.getElementById('st'+i).src = '/star_' + ((stat && i<=id)?'on':offgif) + '.gif';
  } 
}
function st_click (value) { 
  document.forms['vote'].elements['value'].value=value; 
  showcaptcha();
}
function showcaptcha() {
  document.getElementById('captcha').style.display='block';
  document.getElementById('star').style.display='none';
  document.getElementById('recaptcha_response_field').focus();
}
function hidecaptcha() {
  document.getElementById('captcha').style.display='none';
  document.getElementById('star').style.display='block';
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
/*
addLoadEvent(function() {
  if (document.getElementById('st1')) {
   for (var i=1; i<=currentrating; i++) {
      document.getElementById('st'+i).src = '/star_transparent.gif';
    } 
  }
});*/
