var myEventListener;
var gmap;
/* google maps */

function realLoader(lat,lng) {
   if (GBrowserIsCompatible()) {
     gmap = new GMap2(document.getElementById("map"));
     gmap.setCenter(new GLatLng(lat,lng), 10);
     gmap.addControl(new GSmallMapControl());
     gmap.addControl(new GMapTypeControl());
     
     myEventListener = GEvent.addListener(gmap, "click", function(overlay,point) {
     			if ((typeof($('signup'))=='undefined')==true) return true;
  				$('signup').show();
  				$('map').hide();
  				$('latinput').value = point.lat();
  				$('lnginput').value = point.lng();
  				new Ajax.Request(
  					'ajax_pos2name.php',
  					{ 
  						method: 'post',
  						postBody: 'lat='+point.lat()+'&lng='+point.lng(),
  						onComplete: function(t) {
  							if (t.responseXML.getElementsByTagName('name').length>0) 
  								ref = t.responseXML.getElementsByTagName('geoname');
  								$('city').innerHTML = '';
  								for (i=0;i<ref.length; i++) {
  									tuurf = ref.item(i).getElementsByTagName('name').item(0).firstChild.data;
  									lat = ref.item(i).getElementsByTagName('lat').item(0).firstChild.data;
  									lng = ref.item(i).getElementsByTagName('lng').item(0).firstChild.data;
  									
  									$('city').innerHTML += "<a href=\"javascript:void(0);\" onclick=\"updateTuurf('"+lat+"','"+lng+"','"+tuurf+"');\">"+tuurf+'</a> ';
  									
  								}
  								
  								/*$('city').innerHTML = t.responseXML.getElementsByTagName('name').item(0).firstChild.data;
  								$('tuurfinput').value =  $('city').innerHTML;*/
  						}
  					}
  				);
  				
  			}
  		);
   }
}

function load(lat,lng) {
	window.setTimeout('realLoader('+lat+','+lng+');',100);
}

function updateTuurf(lat,lng,tuurf) {
	//new Effect.Puff('citywrapper');
	$('citywrapper').hide();
	$('tuurfinput').value=tuurf; 
	$('latinput').value=lat; 
	$('lnginput').value=lng;
	$('citywrapper').innerHTML = '<p>Tuurf: ' + tuurf + '</p>';
	new Effect.Appear($('citywrapper'), { queue: 'end'});
}

function positionOverlap() {
	var ref = $('map');
	var refX = findPosX(ref);
	var refY = findPosY(ref);
	var refW = ref.offsetWidth;
	
	ref = $('signup');
	ref.style.left = refX+'px';
	ref.style.top = refY+'px';
	//alert(refW);
	ref.style.width = refW+'px';

}


function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    return curleft;
}
function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop+=obj.offsetTop;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.y) {
        curtop+=obj.y;
    }
    return curtop;
}



function saveEmail(loadingMsg,thankyouMsg, returnMsg) {
	/*
	var retVal =-1;
  new Ajax.Request(
 	'checkemail.php',
 	{
 		method: 'post',
 		asynchronous: true,
 		postBody: 'email='+$F('emailinput'),
 		onComplete: function(t) {
 			retVal = t.responseText;
 			
 		}
 	}
 );
 
 
*/
 if (checkEmail($F('emailinput'))) {	
	new Ajax.Request(
		'saveemail.php',
		{
			method:'post',
			postBody: 'lat='+$F('latinput')+'&lng='+$F('lnginput')+'&email='+$F('emailinput')+'&tuurf='+$F('tuurfinput'),
			onLoading: function() {
				$('citywrapper').innerHTML = loadingMsg;
			},
			onComplete: function(t) {
				if (t.responseText != 'OK') {
					alert(t.responseText);
					GEvent.removeListener(myEventListener); // well, sorry, you're busted buster.
					$('signupwrapper').innerHTML = "<p><a href=\"javascript:void(0);\" onclick=\"$('signup').hide(); $('map').show();\">"+returnMsg+"!</a></p>";
				} else {
					var point = new GLatLng($F('latinput'),$F('lnginput'));
					var myMarker = new GMarker(point);
					GEvent.addListener(myMarker, "click", function() {  myMarker.openInfoWindow('Tuurfalicious'); } );
        	gmap.addOverlay(myMarker); 
					GEvent.removeListener(myEventListener);
					$('signupwrapper').innerHTML = thankyouMsg +  "<p><a href=\"javascript:void(0);\" onclick=\"$('signup').hide(); $('map').show();\">"+returnMsg+"!</a></p>";
					urchinTracker('/successfulSignup');
				} 
			}
		}
	);
 } 
	return false;
}

/*
function loadMarkers(gmap,positions) {
	for (i = 0; i<positions.length; i++) {
					var point = new GLatLng(positions[i].lat,positions[i].lng);
					var myMarker = new GMarker(point);
					GEvent.addListener(myMarker, "click", function() {  myMarker.openInfoWindow(
							'<p><b>Email</b> '+positions[i].email+'</p>' +
							'<p><b>Tuurf</b> '+positions[i].tuurf+'</p>' +
							'<p><b>Språk</b> '+positions[i].locale+'</p>' +
							'<p><b>Skrev upp sig</b> '+positions[i].date_signedup+'</p>'
						); } );
					gmap.addOverlay(myMarker); 
		
	}
}

*/

function loadMarkers(gmap,positions) {
	for (i = 0; i<positions.length; i++) {
					var point = new GLatLng(positions[i].lat,positions[i].lng);
					var myMarker = new GMarker(point);
					var k = new Object();
					k.email = positions[i].email;
					k.locale = positions[i].locale;
					k.tuurf = positions[i].tuurf;
					k.date_signedup = positions[i].date_signedup;
					
					k.myMarker = myMarker;
					
					
					k.doIt = function() {
					this.myMarker.openInfoWindow(
								'<p><b>Email</b> '+this.email+'</p>' +
							'<p><b>Tuurf</b> '+this.tuurf+'</p>' +
							'<p><b>Språk</b> '+this.locale+'</p>' +
							'<p><b>Skrev upp sig</b> '+this.date_signedup+'</p>'
						);
						

						 };
					
					GEvent.bind(myMarker,"click",k,k.doIt);
					gmap.addOverlay(myMarker); 
	}
}

