function trim(str, chars) {
  return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
  if (typeof( str ) == 'string'){
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
  }else{
    return '';
  }
}

function rtrim(str, chars) {
  if (typeof( str ) == 'string'){
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
  }else{
    return '';
  }
}

function float2gps(gps, positive, negative) {
    x = Math.abs(gps);
    deg = Math.floor(x);
    min_sec = (x - deg) * 60;
    min = Math.floor(min_sec);
    sec = (min_sec - min) * 60;
    return  deg + "°" + min + "'" + sec.toFixed(3) + '"' + (gps >= 0 ? positive : negative);
}

function floats2gps(lat, lng) {
    return float2gps(lat, "N", "S") + ", " + float2gps(lng, "E", "W");
}

function parseGPS(hodnota, prefix){
  if (hodnota != ''){
    //hodnota = hodnota.replace('N','');
    //hodnota = hodnota.replace('S','');
    //hodnota = hodnota.replace('E','');
    //hodnota = hodnota.replace('W','');
    if (hodnota.indexOf('°') < 0)  {
        var myArray = hodnota.split(',');
        hodnota = floats2gps(myArray[0],myArray[1]);
    }
    var re = new RegExp('[0-9]{2}°[0-9]{1,2}\'[0-9,\.]+"N, [0-9]{2}°[0-9]{1,2}\'[0-9,\.]+"E',"g");
    var ex = new RegExp('([0-9]{2})°([0-9]{1,2})\'([0-9,\.]+)"N, ([0-9]{2})°([0-9]{1,2})\'([0-9,\.]+)"E',"g");
    if (re.test(hodnota)){
      var td = ex.exec(hodnota);
      document.getElementById(prefix+'_ab_wgs_lat_deg').value=td[1];
      document.getElementById(prefix+'_ab_wgs_lat_min').value=td[2];
      document.getElementById(prefix+'_ab_wgs_lat_sec').value=td[3];
      document.getElementById(prefix+'_ab_wgs_long_deg').value=td[4];
      document.getElementById(prefix+'_ab_wgs_long_min').value=td[5];
      document.getElementById(prefix+'_ab_wgs_long_sec').value=td[6];
      //GPSwinHide();
    }else{
      alert('GPS není ve správném tvaru! Např.: 49°3\'18.23"N, 16°38\'43.49"E');
    }
  }
}

function GPSwin(){
  document.getElementById('gpswin').style.display = 'inline';
}

function GPSwinHide(){
  document.getElementById('gpswin').style.display = 'none';
}

