﻿function getDecimalFromDMS(dms)
{
  var dmsPair = dms.toString().split(", ");				// check for separators indicating d/m/s
  var dmsLat = dmsPair[0].split(/[\s:°′″]/);			// check for separators indicating d/m/s
  var dmsLng = dmsPair[1].split(/[\s:°′″]/);			// check for separators indicating d/m/s

	var st1="Lat:\n";
	for (var i=0; i<dmsLat.length; i++)
	{
		st1+=dmsLat[i]+"\n";
	}
	var st2="Lon:\n";
	for (var i=0; i<dmsLng.length; i++)
	{
		st2+=dmsLng[i]+"\n";
	}

	// convert to decimal degrees...
  // interpret 3-part result as d/m/s
  var degLat = dmsLat[0]/1 + dmsLat[1]/60 + dmsLat[2]/3600;
  var degLng = dmsLng[0]/1 + dmsLng[1]/60 + dmsLng[2]/3600;
	if (dmsLat[3]=="S") degLat*=-1;
	if (dmsLng[3]=="W") degLng*=-1;
	degLat=Math.round(degLat*10000)/10000;
	degLng=Math.round(degLng*10000)/10000;
	return new GLatLng(degLat, degLng);
}
