var docXMLmap = new XMLDoc('');

function getNode(docXMLmap,tag)
{
	var node = docXMLmap.selectNode(tag);
	if(node) {
		return(node.getText());
	}
	else {
		return('Node not found in path "'+tag+'"')
	}
}

function SendXMLMapToServer(docXMLmap,xml)
{
  docXMLmap.loadXML(xml);
  var xmlHttp = XmlHttp.create();
  xmlHttp.open("post","/include/xmlMappost.asp", false);
  xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//  alert(xml);
  xmlHttp.send(docXMLmap.getUnderlyingXMLText());
//  alert(xmlHttp.responseText);
  docXMLmap.loadXML(xmlHttp.responseText);
}

function LagPunktListe(mapID,lat,lng)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>mapGetOptionWaypoint</cmd><mapPoint><mapID>" + mapID + "</mapID><lng>" + lng + "</lng><lat>" + lat + "</lat></mapPoint></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/optionHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  } 
}
function updateTrack(trackID,field,value)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>updateTrack</cmd><mapTrack><trackID>" + trackID + "</trackID><field>" + field + "</field><value>" + value + "</value></mapTrack></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/mapPointHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
}

function LagOrganizeTracksDialog(mapID) {
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>mapGetOrganizeTracksDialog</cmd><organizeTracksDialog><mapID>" + mapID + "</mapID></organizeTracksDialog></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/optionHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  } 
}

function LagWayPointSorteringsDialog(mapID) {
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>mapGetWaypointSorteringsDialog</cmd><waypointSorteringsDialog><mapID>" + mapID + "</mapID></waypointSorteringsDialog></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/optionHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  } 
}

function slettKart(mapID)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>mapDelete</cmd><map><mapID>" + mapID + "</mapID></map></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/mapDeleteHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
  
}

function createNewWayPoint(mapID,lat,lng,heading,text)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>mapNewPoint</cmd><mapPoint><mapID>" + mapID + "</mapID><lng>" + lng + "</lng><lat>" + lat + "</lat><heading>" + heading + "</heading><text>" + text + "</text></mapPoint></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/mapPointHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
}
function upDateRelWayPoint(mapID,pointID,element,value)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>upDateRelWayPoint</cmd><mapPoint><mapID>" + mapID + "</mapID><element>" + element + "</element><value>" + value + "</value><pointID>" + pointID + "</pointID></mapPoint></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/mapPointHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
}
function upDateWayPoint(mapID,pointID,element,value)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>upDateWayPoint</cmd><mapPoint><mapID>" + mapID + "</mapID><element>" + element + "</element><value>" + value + "</value><pointID>" + pointID + "</pointID></mapPoint></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/mapPointHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
}


function upDateMap(mapID,element,value)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>upDateMap</cmd><map><mapID>" + mapID + "</mapID><element>" + element + "</element><value>" + value + "</value></map></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return 'OK';
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
}

function getHtmlWayPoint(mapID,pointID)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>mapGetPoint</cmd><mapPoint><mapID>" + mapID + "</mapID><pointID>" + pointID + "</pointID></mapPoint></xmlpost>";
//  alert(xml);
  SendXMLMapToServer(docXMLmap,xml);
//  alert(docXMLmap);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/mapPointHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
}

function addWayPoint(mapID,pointID)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>mapAddPoint</cmd><mapPoint><mapID>" + mapID + "</mapID><pointID>" + pointID + "</pointID></mapPoint></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/mapPointHtml");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
}

function moveWayPoint(pointID,lat,lng)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>mapMovePoint</cmd><mapPoint><pointID>" + pointID + "</pointID><lng>" + lng + "</lng><lat>" + lat + "</lat></mapPoint></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
//    alert(getNode(docXMLmap,"/mapdata/sql"));
    return getNode(docXMLmap,"/mapdata/mapPointID");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
}


function deleteWayPoint(mapID,pointID)
{
  var xml= "<?xml version='1.0' encoding='iso-8859-1'?>" + "<xmlpost><cmd>mapDeletePoint</cmd><mapPoint><mapID>" + mapID + "</mapID><pointID>" + pointID + "</pointID></mapPoint></xmlpost>";
  SendXMLMapToServer(docXMLmap,xml);
  if (getNode(docXMLmap,"/errorNo")=='0')
  {
    return getNode(docXMLmap,"/mapdata/mapPointID");
  }
  else
  {
    alert(getNode(docXMLmap,"/errorMessage"));
    return getNode(docXMLmap,"/errorMessage");
  }
}

