/home/arranoyd/mice/wp-content/plugins/contact-form-maker/js/if_gmap_front_end.js
/* Code based on Google Map APIv3 Tutorials */
var gmapdata= new Array();
var gmapmarker = new Array();
function if_gmap_init(id, form_id)
{
if(document.getElementById(id+"_element"+form_id)){
map=document.getElementById(id+"_element"+form_id);
var def_zoomval = parseInt(map.getAttribute("zoom"));
var def_longval = map.getAttribute("center_x");
var def_latval = map.getAttribute("center_y");
var curpoint = new google.maps.LatLng(def_latval,def_longval);
gmapdata[id] = new google.maps.Map(document.getElementById(id+"_element"+form_id), {
center: curpoint,
zoom: def_zoomval,
mapTypeId: 'roadmap'
});
gmapmarker[id] = new Array();
return false;
}
else
{
draggab=false;
map=document.getElementById(id);
var def_zoomval = parseInt(map.getAttribute("zoom"));
var def_longval = map.getAttribute("long");
var def_latval = map.getAttribute("lat");
var curpoint = new google.maps.LatLng(def_latval,def_longval);
gmapdata = new google.maps.Map(document.getElementById(id), {
center: curpoint,
zoom: def_zoomval,
mapTypeId: 'roadmap'
});
geocoder = new google.maps.Geocoder();
gmapmarker = new google.maps.Marker({
map: gmapdata,
position: curpoint,
draggable: draggab
});
gmapmarker.setDraggable(draggab);
infoW = new google.maps.InfoWindow;
google.maps.event.addListener(gmapdata, 'mouseover', function(event)
{
if(!document.getElementById("longval"))
gmapmarker.draggable=false;
});
google.maps.event.addListener(gmapdata, 'click', function(event) {
if(document.getElementById("longval"))
{
document.getElementById("longval").value = event.latLng.lng().toFixed(6);
document.getElementById("latval").value = event.latLng.lat().toFixed(6);
gmapmarker.setPosition(event.latLng);
if_gmap_updateMap();
geocoder.geocode({'latLng': gmapmarker.getPosition()}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
if (results[0])
{
if(document.getElementById("addrval")) document.getElementById("addrval").value = results[0].formatted_address;
}
}
});
}
});
google.maps.event.addListener(gmapmarker, 'drag', function() {
if(document.getElementById("longval"))
{
geocoder.geocode({'latLng': gmapmarker.getPosition()}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
if (results[0])
{
if(document.getElementById("addrval")) document.getElementById("addrval").value = results[0].formatted_address;
}
}
});
if_gmap_updateMap();
document.getElementById("latval").value = gmapmarker.getPosition().lat().toFixed(6);
document.getElementById("longval").value = gmapmarker.getPosition().lng().toFixed(6);
}
});
google.maps.event.addListener(gmapmarker, 'click', function() {
infoW.setContent('<div style="overflow: hidden;">'+document.getElementById(id).getAttribute('info')+"</div>");
var infoWOpt = {
maxWidth: "300"
};
infoW.setOptions(infoWOpt);
infoW.open(this.getMap(), this);
});
if(document.getElementById("longval"))
{
document.getElementById("longval").value = def_longval;
document.getElementById("latval").value = def_latval;
geocoder.geocode({'latLng': gmapmarker.getPosition()}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
if(document.getElementById("addrval")) document.getElementById("addrval").value = results[0].formatted_address;
}
}
});
}
return false;
}
} // end of if_gmap_init
function add_marker_on_map(id, i, w_long, w_lat, w_info, form_id, dragb)
{
var marker_point = new google.maps.LatLng(w_lat, w_long);
gmapmarker[id][i] = new google.maps.Marker({
map: gmapdata[id],
position: marker_point,
draggable: dragb
});
gmapmarker[id][i].setDraggable(dragb);
if(dragb)
{
google.maps.event.addListener(gmapmarker[id][i], 'drag', function()
{
document.getElementById(id+"_lat"+form_id).value = gmapmarker[id][i].getPosition().lat().toFixed(6);
document.getElementById(id+"_long"+form_id).value = gmapmarker[id][i].getPosition().lng().toFixed(6);
});
}
infoW = new google.maps.InfoWindow;
google.maps.event.addListener(gmapmarker[id][i], 'click', function()
{
infoW.setContent('<div style="overflow: hidden;">'+document.getElementById(id+"_element"+form_id).getAttribute('info'+i)+"</div>");
var infoWOpt = {
maxWidth: "300"
};
infoW.setOptions(infoWOpt);
infoW.open(this.getMap(), this);
});
return false;
} // end of if_gmap_init