// Copyright 2006 comparetracks.com 
// Written by Terje Henriksen 
// Copy, modification or reuse of code is herby granted 

TrackPoint = function(lat, lon) {
  this.lat=lat;
  this.lon=lon;
  this.seconds=0;
  this.meter=0;
  this.name="";
  this.setXmlTime = setXmlTime;
  //this.setXmlTime = TrackPoint.prototype.setXmlTime;
};

//TrackPoint.prototype.setXmlTime = function( dtf ) {
function setXmlTime(dtf) {
  var sp = dtf.split( /[^0-9]/ );

  // invalid format
  if ( sp.length < 6 || sp.length > 8 ) return;

  // invalid time zone
  if ( sp.length == 7 ) {
    if ( dtf.charAt( dtf.length-1 ) != "Z" ) return;
  }

  // to numeric
  for( var i=0; i<sp.length; i++ ) sp[i] = sp[i]-0;

  // invalid range
  if ( sp[0] < 1970 ||                // year
     sp[1] < 1 || sp[1] > 12 ||     // month
     sp[2] < 1 || sp[2] > 31 ||     // day
     sp[3] < 0 || sp[3] > 23 ||     // hour
     sp[4] < 0 || sp[4] > 59 ||     // min
     sp[5] < 0 || sp[5] > 60 ) {    // sec
    return 0;                         // invalid date 
  }

  var secSinceStart = (sp[2]-1)*3600*24 + sp[3]*3600 + sp[4]*60 + sp[5];
  return secSinceStart;
};

