The code fragment seems to use Google Maps API 2.0. Do you want to keep using Google’s Javascript and just exchange the tile layer? There is an example for that here: http://wiki.openstreetmap.org/wiki/Google_Maps_Example

So with your example, maybe it’s enough to replace

var map = new GMap2(document.getElementById('jg_geomap'));

with

var copyOSM = new GCopyrightCollection("<a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a>");
copyOSM.addCopyright(new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0, " "));
 
var tilesMapnik = new GTileLayer(copyOSM, 1, 17, {tileUrlTemplate: 'http://tile.openstreetmap.org/{Z}/{X}/{Y}.png'});
var mapMapnik = new GMapType([tilesMapnik],     G_NORMAL_MAP.getProjection(), "Mapnik");
var map = new GMap2(document.getElementById('jg_geomap'), { mapTypes: [mapMapnik] );

? Not sure, though, as I’ve not used that API myself.

If you want to use a different Javascript API instead of Google’s, you would probably want to look at OpenLayers or Leaflet.