/**
 * @author marc */
    function load(lat , lng) {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        var iconOptions = {};
      		iconOptions.width = 32;
      		iconOptions.height = 32;
      		iconOptions.primaryColor = "#00FF2CFF";
      		iconOptions.cornerColor = "#FF000F";
      		iconOptions.strokeColor = "#FF0000";
      	sharingfriendicon = MapIconMaker.createMarkerIcon(iconOptions); 
	  		iconOptions.cornerColor = "#00CDFFFF"; 
	  		iconOptions.strokeColor = "#007545FF";
      	nonsharingfriendicon = MapIconMaker.createMarkerIcon(iconOptions);
			iconOptions.width = 36;
	  		iconOptions.height = 36;
	  		iconOptions.primaryColor = "#4704A9FF";
	  		iconOptions.cornerColor = "#FF8A00FF";
			iconOptions.strokeColor = "#FF0000FF";
		selfIconGPS = MapIconMaker.createMarkerIcon(iconOptions);
	   		iconOptions.width = 36;
	  		iconOptions.height = 36;
	  		iconOptions.primaryColor = "#4704A9FF";
	  		iconOptions.cornerColor = "#D2AC7FFF";
	  		iconOptions.strokeColor = "#2100FFFF";
		selfIconServer = MapIconMaker.createMarkerIcon(iconOptions);
        GDownloadUrl("friendmapgen.php", function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var name = markers[i].getAttribute("name");
			var uid = markers[i].getAttribute("uid");
            var address = markers[i].getAttribute("address");
			var photourl =  markers[i].getAttribute("photourl");
	    	var text = markers[i].getAttribute("text");
			var msg = "http://m.bookmarc.com/fb/ - iPhone Application to Geo Locate your friends.";
			msg = urlencode(msg);
			var html = '<img src="' + photourl + '" align="left" margin="5px">';
			html += '<p><b><a href="http://m.facebook.com/profile.php?id=' + uid + '">' + name + '</a></b></p>';
			html += '' + address + '<br />';
			html += '' + text + '<br />';
			html += '<a href="http://m.facebook.com/inbox/?compose&subject=Geo-Located&msg=' + msg + '&ids=' + uid + '">Send ' + name + ' a message.</a><br />';
			var sharing = markers[i].getAttribute("share");
            var type = markers[i].getAttribute("type");
            var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
	    //alert(html);
            var marker = createMarker(point, html, sharing, type);
            map.addOverlay(marker);
          }
        });
	if (navigator.geolocation) {
	  navigator.geolocation.getCurrentPosition(function(position) {
	  //  Update Database with gps location.
	    //alert("using google map geolocation");
	    $.post('updategpslocation.php', {
	  	lat: position.coords.latitude, 
		lng: position.coords.longitude 
		}, function(data){$('div#results').html(data);
 	      } )
	    var point = new GLatLng(position.coords.latitude, position.coords.longitude);
	    map.setCenter(point, 9);
	    var marker = new GMarker(point, {icon: selfIconGPS});
	    var html = "Your Location <br/>Lat:" + position.coords.latitude + "<br/>Long:" + position.coords.longitude + "</p>";
	    GEvent.addListener(marker, 'click', function(html) {
	  	marker.openInfoWindowHtml(html);
	    });
	  map.addOverlay(marker);
	}, function() {
	    var point = new GLatLng(lat, lng);
	    map.setCenter(point, 9);
	    },{maximumAge:6000});
	} else if(google.loader.ClientLocation) {	  
		var lat = google.loader.ClientLocation.latitude;
		var lng = google.loader.ClientLocation.longitude;
		$.post('updategpslocation.php', {
	  	lat: lat, 
		lng: lng 
		}, function(data){$('div#results').html(data);
 	      } )
		//alert("using google loader" + lat + "," + lng);
		var point = new GLatLng(lat, lng);
		map.setCenter(point, 10);
	  	var marker = new GMarker(point, {icon: selfIconServer});
	  	GEvent.addListener(marker, 'click', function() {
	  		marker.openInfoWindowHtml('Your estimated location based on your IP address.');
	  	});
		map.addOverlay(marker);
	} else {
	  var point = new GLatLng(lat, lng);
	  map.setCenter(point, 9);
	}
   }
}
function createMarker(point, html, sharing, type) {
	  if (sharing > 0) {
	  	var marker = new GMarker(point, sharingfriendicon);
	  }else{
	  	var marker = new GMarker(point, nonsharingfriendicon);
	  }
      // var html = "<b>" + name + "</b> <br/>" + address + "<br/><p>" + text + "</p>";
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }
function mapwithoutfriends(lat, lng) {
  if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
	var iconOptions = {};
      		iconOptions.width = 32;
      		iconOptions.height = 32;
      		iconOptions.primaryColor = "#00FF2CFF";
      		iconOptions.cornerColor = "#FF000F";
      		iconOptions.strokeColor = "#FF0000";
      	sharingfriendicon = MapIconMaker.createMarkerIcon(iconOptions); 
	  		iconOptions.cornerColor = "#00CDFFFF"; 
	  		iconOptions.strokeColor = "#007545FF";
      	nonsharingfriendicon = MapIconMaker.createMarkerIcon(iconOptions);
			iconOptions.width = 36;
	  		iconOptions.height = 36;
	  		iconOptions.primaryColor = "#4704A9FF";
	  		iconOptions.cornerColor = "#FF8A00FF";
			iconOptions.strokeColor = "#FF0000FF";
		selfIconGPS = MapIconMaker.createMarkerIcon(iconOptions);
	   		iconOptions.width = 36;
	  		iconOptions.height = 36;
	  		iconOptions.primaryColor = "#4704A9FF";
	  		iconOptions.cornerColor = "#D2AC7FFF";
	  		iconOptions.strokeColor = "#2100FFFF";
		selfIconServer = MapIconMaker.createMarkerIcon(iconOptions);
	if (navigator.geolocation) {
	  // alert("using google map geolocation");
	  navigator.geolocation.getCurrentPosition(function(position) {
	    var point = new GLatLng(position.coords.latitude, position.coords.longitude);
	    map.setCenter(point, 10);
	    var iconOptions = {};
	    iconOptions.width = 35;
	    iconOptions.height = 35;
	    iconOptions.primaryColor = "#9DA3EEFF";
	    iconOptions.cornerColor = "#FF8A00FF";
	    iconOptions.strokeColor = "#FF0000FF";
	    var selfIcon = MapIconMaker.createMarkerIcon(iconOptions);
	    var marker = new GMarker(point, {icon: selfIcon});
	    GEvent.addListener(marker, 'click', function() {
	      marker.openInfoWindowHtml('Your location.');
	    });
	    map.addOverlay(marker);
	    /*
	    var publisher_id = 'pub-6432429930581606';
	    var adsManagerOptions = {
	      maxAdsOnMap : 1,
	      style: 'adunit',
	      channel: ''  
	    };
	    adsManager = new GAdsManager(map, publisher_id, adsManagerOptions);
	    adsManager.enable();
	    */
	  });
	} else if(google.loader.ClientLocation) {
		var lat = google.loader.ClientLocation.latitude;
		var lng = google.loader.ClientLocation.longitude;
		var point = new GLatLng(lat, lng);
		map.setCenter(point, 10);
	  	var iconOptions = {};
	  	iconOptions.width = 35;
	  	iconOptions.height = 35;
	  	iconOptions.primaryColor = "#9DA3EEFF";
	  	iconOptions.cornerColor = "#D2AC7FFF";
	  	iconOptions.strokeColor = "#2100FFFF";
		
	  	var selfIcon = MapIconMaker.createMarkerIcon(iconOptions);
		//alert("using google loader" + lat + "," + lng + iconOptions);
	 	var marker = new GMarker(point, {icon: selfIcon});
	  	GEvent.addListener(marker, 'click', function() {
	  		marker.openInfoWindowHtml('Your estimated location based on your IP address.');
	  	});
		map.addOverlay(marker);
	}
      } else {
	alert("Browser Incompatible with mapping software.");
      }
}
function urlencode (str) {
    // URL-encodes string  
    // version: 908.2210
    // discuss at: http://phpjs.org/functions/urlencode
    var hexStr = function (dec) {
        return '%' + dec.toString(16).toUpperCase();
    };
    var ret = '',
            unreserved = /[\w.-]/; // A-Za-z0-9_.- // Tilde is not here for historical reasons; to preserve it, use rawurlencode instead
    str = (str+'').toString();

    for (var i = 0, dl = str.length; i < dl; i++) {
        var ch = str.charAt(i);
        if (unreserved.test(ch)) {
            ret += ch;
        }
        else {
            var code = str.charCodeAt(i);
            // Reserved assumed to be in UTF-8, as in PHP
            if (code === 32) {
                ret += '+'; // %20 in rawurlencode
            }
            else if (code < 128) { // 1 byte
                ret += hexStr(code);
            }
            else if (code >= 128 && code < 2048) { // 2 bytes
                ret += hexStr((code >> 6) | 0xC0);
                ret += hexStr((code & 0x3F) | 0x80);
            }
            else if (code >= 2048 && code < 65536) { // 3 bytes
                ret += hexStr((code >> 12) | 0xE0);
                ret += hexStr(((code >> 6) & 0x3F) | 0x80);
                ret += hexStr((code & 0x3F) | 0x80);
            }
            else if (code >= 65536) { // 4 bytes
                ret += hexStr((code >> 18) | 0xF0);
                ret += hexStr(((code >> 12) & 0x3F) | 0x80);
                ret += hexStr(((code >> 6) & 0x3F) | 0x80);
                ret += hexStr((code & 0x3F) | 0x80);
            }
        }
    }
    return ret;
}
function delCookie()
{
    var new_date = new Date()
    new_date = new_date.toGMTString()
    var thecookie = document.cookie.split(";")
    for (var i = 0;i < thecookie.length;i++) 
    {
        document.cookie = thecookie[i] + "; expires ="+ new_date
    }
}
//jquery set up scripts
$(document).ready(function() { 
					$('#statusDialog').dialog( {
						bgiframe:true,
						autoOpen: false,
						height: 240,
						width: 280,
						modal: true,
						position: [20,20],
						closeOnEscape: true }
					 );
				 
					$('#aboutDialog').dialog( {
						bgiframe:true,
						autoOpen: false,
						height: 320,
						width: 290,
						modal: true,
						position: [6,6],
						closeOnEscape: true }
						);
			  	 	$('#sharingDialog').dialog( {
						bgiframe:true,
						autoOpen: false,
						height: 320,
						width: 290,
						modal: true,
						position: [6,6],
						closeOnEscape: true }
					 ); 
					 $('#inviteDialog').dialog( {
						bgiframe:true,
						autoOpen: false,
						height: 320,
						width: 290,
						modal: true,
						position: [6,6],
						closeOnEscape: true }
					 );
					 $('#helpDialog').dialog( {
						bgiframe:true,
						autoOpen: false,
						height: 300,
						width: 290,
						modal: true,
						position: [10,80],
						closeOnEscape: true }
					 );
					 $("#bannerAd").fadeIn(3000).fadeTo(8000, 1).fadeOut(5000);
					 //AJAX Form Handling
					 $('form[name="sharing_form"]').submit(function(event){
					      event.preventDefault();
					      var sharing = $('input[name=sharingstatus]:checked').val(); 
					      $.post('updatesharingstatus.php', {sharingstatus: sharing }, function(data){$('div#sharestatus').html(data).fadeOut().fadeIn();
 							} )
					    })
					 $('form[name="status_form"]').submit(function(event){
					    event.preventDefault();
        				    var status = $('input[name=fbstatus]').val() ;
					    $.post('updatefbstatus.php', {fbstatus: status }, function(data){$('div#fbstatus').html(data).fadeOut().fadeIn();
 					    } )
					  }) 
					})
