need a new st of eyes on this

need a new st of eyes on this

Hi All,
i like another set of eyes on this I can not get this to work


Thanks
Link to page http://n9mfk.info/newidea/myindex.html
Link to code http://n9mfk.info/newidea/js/mydashboard.js


Uncaught SyntaxError: Unexpected end of input line 1 mydashboaad,js

  1. $(document).ready(function() {
  2.     
  3.   });
  4.     infiniteLoop();

  5. function infiniteLoop() {
  6.     var updateTimer;


  7.     $.ajax({
  8.         url: './realtime2.php',
  9.         dataType: 'json',
  10.         success: function(data) {
  11.             function updateTimeout() {
  12.                 // Change the icon on the last update to show that there has been no update for a while
  13.                 $('#LastUpdateIcon').attr('src', 'img/down.png');
  14.             }
  15.             // restart the timer that checks for the last update
  16.             window.clearTimeout(updateTimer);
  17.             updateTimer = setTimeout(updateTimeout, 60000);

  18. // restart the timer that checks for the last update
  19.         window.clearTimeout(updateTimer);
  20.         updateTimer = setTimeout(updateTimeout, 60000);

  21.         $('#LastUpdateIcon').attr('src', 'img/up.png');
  22.         
  23.         var dataStopped = data.DataStopped;
  24.         
  25.         if (dataStopped) {
  26.             $('#DataStoppedIcon').attr('src', 'img/down.png');
  27.         } else {
  28.             $('#DataStoppedIcon').attr('src', 'img/up.png');
  29.         }
  30.         

  31. // Get the keys from the object and set
  32.         // the element with the same id to the value
  33.         Object.keys(data).forEach(function(key) {
  34.             var id = '#' + key;
  35.             if ($(id).length) {
  36.                 $(id).text(data[key]);
  37.             }
  38.         });

  39.         $('.WindUnit').text(data.WindUnit);
  40.         $('.PressUnit').text(data.PressUnit);
  41.         $('.TempUnit').text(data.TempUnit);
  42.         $('.RainUnit').text(data.RainUnit);

  43.         if (data.TempTrend < 0) {
  44.             $('#TempTrendImg').attr('src', 'img/down-small.png');
  45.         } else {
  46.             $('#TempTrendImg').attr('src', 'img/up-small.png');
  47.         }

  48.         if (data.PressTrend < 0) {
  49.             $('#PressTrendImg').attr('src', 'img/down-small.png');
  50.         } else {
  51.             $('#PressTrendImg').attr('src', 'img/up-small.png');
  52.         }

  53.         wrData = data.WindRoseData.split(',');
  54.         // convert array to numbers
  55.         for (var i = 0; i < wrData.length; i++) {
  56.             wrData[i] = +wrData[i];
  57.         }
  58.         data.WindRoseData = wrData;

  59.         gauges.processData(convertJson(data));


  60.         var lastupdatetime = new Date();
  61.         var hours = pad(lastupdatetime.getHours());
  62.         var minutes = pad(lastupdatetime.getMinutes());
  63.         var seconds = pad(lastupdatetime.getSeconds());

  64.         var time = [hours, minutes, seconds].join(':');

  65.         $('#lastupdatetime').text(time);
  66.     //}


  67.     

  68.    var pad = function(x) {
  69.         return x < 10 ? '0' + x : x;
  70.     };

  71.     var ticktock = function() {
  72.         var d = new Date();

  73.         var h = pad(d.getHours());
  74.         var m = pad(d.getMinutes());
  75.         var s = pad(d.getSeconds());

  76.         var current_time = [h, m, s].join(':');

  77.         $('.digiclock').text(current_time);

  78.   //  };

  79.     // Convert from MX format to realtimeGauges.txt format
  80.     function convertJson(inp) {
  81.         return {
  82.             temp            : inp.OutdoorTemp.toString(),
  83.             tempTL          : inp.LowTempToday.toString(),
  84.             tempTH          : inp.HighTempToday.toString(),
  85.             intemp          : inp.IndoorTemp.toString(),
  86.             dew             : inp.OutdoorDewpoint.toString(),
  87.             dewpointTL      : inp.LowDewpointToday.toString(),
  88.             dewpointTH      : inp.HighDewpointToday.toString(),
  89.             apptemp         : inp.AppTemp.toString(),
  90.             apptempTL       : inp.LowAppTempToday.toString(),
  91.             apptempTH       : inp.HighAppTempToday.toString(),
  92.             wchill          : inp.WindChill.toString(),
  93.             wchillTL        : inp.LowWindChillToday.toString(),
  94.             heatindex       : inp.HeatIndex.toString(),
  95.             heatindexTH     : inp.HighHeatIndexToday.toString(),
  96.             humidex         : inp.Humidex.toString(),
  97.             wlatest         : inp.WindLatest.toString(),
  98.             wspeed          : inp.WindAverage.toString(),
  99.             wgust           : inp.Recentmaxgust.toString(),
  100.             wgustTM         : inp.HighGustToday.toString(),
  101.             bearing         : inp.Bearing.toString(),
  102.             avgbearing      : inp.Avgbearing.toString(),
  103.             press           : inp.Pressure.toString(),
  104.             pressTL         : inp.LowPressToday.toString(),
  105.             pressTH         : inp.HighPressToday.toString(),
  106.             pressL          : inp.AlltimeLowPressure.toString(),
  107.             pressH          : inp.AlltimeHighPressure.toString(),
  108.             rfall           : inp.RainToday.toString(),
  109.             rrate           : inp.RainRate.toString(),
  110.             rrateTM         : inp.HighRainRateToday.toString(),
  111.             hum             : inp.OutdoorHum.toString(),
  112.             humTL           : inp.LowHumToday.toString(),
  113.             humTH           : inp.HighHumToday.toString(),
  114.             inhum           : inp.IndoorHum.toString(),
  115.             SensorContactLost : "0",
  116.             forecast        : (inp.Forecast || "n/a").toString(),
  117.             tempunit        : inp.TempUnit.substr(inp.TempUnit.length - 1),
  118.             windunit        : inp.WindUnit,
  119.             pressunit       : inp.PressUnit,
  120.             rainunit        : inp.RainUnit,
  121.             temptrend       : inp.TempTrend.toString(),
  122.             TtempTL         : inp.LowTempTodayTime,
  123.             TtempTH         : inp.HighTempTodayTime,
  124.             TdewpointTL     : inp.LowDewpointTodayTime,
  125.             TdewpointTH     : inp.HighDewpointTodayTime,
  126.             TapptempTL      : inp.LowAppTempTodayTime,
  127.             TapptempTH      : inp.HighAppTempTodayTime,
  128.             TwchillTL       : inp.LowWindChillTodayTime,
  129.             TheatindexTH    : inp.HighHeatIndexTodayTime,
  130.             TrrateTM        : inp.HighRainRateTodayTime,
  131.             ThourlyrainTH   : inp.HighHourlyRainTodayTime,
  132.             LastRainTipISO  : inp.LastRainTipISO,
  133.             hourlyrainTH    : inp.HighHourlyRainToday.toString(),
  134.             ThumTL          : inp.LowHumTodayTime,
  135.             ThumTH          : inp.HighHumTodayTime,
  136.             TpressTL        : inp.LowPressTodayTime,
  137.             TpressTH        : inp.HighPressTodayTime,
  138.             presstrendval   : inp.PressTrend.toString(),
  139.             Tbeaufort       : inp.HighBeaufortToday,
  140.             TwgustTM        : inp.HighGustTodayTime,
  141.             windTM          : inp.HighWindToday.toString(),
  142.             bearingTM       : inp.HighGustBearingToday.toString(),
  143.             timeUTC         : "",
  144.             BearingRangeFrom10  : inp.BearingRangeFrom10.toString(),
  145.             BearingRangeTo10    : inp.BearingRangeTo10.toString(),
  146.             UV              : inp.UVindex.toString(),
  147.             UVTH            : inp.HighUVindexToday.toString(),
  148.             SolarRad        : inp.SolarRad.toString(),
  149.             SolarTM         : inp.HighSolarRadToday.toString(),
  150.             CurrentSolarMax : inp.CurrentSolarMax.toString(),
  151.             domwinddir      : inp.DominantWindDirection.toString(),
  152.             WindRoseData    : inp.WindRoseData,
  153.             windrun         : inp.WindRunToday.toString(),
  154.             cloudbasevalue  : "",
  155.             cloudbaseunit   : "",
  156.             version         : "",
  157.             build           : "",
  158.             ver             : "12"
  159.         };
  160.     
  161.     }

  162.    

  163.             setTimeout(infiniteLoop,60000);
  164.        };
  165.     ticktock();

  166.     // Calling ticktock() every 1 second
  167.     setInterval(ticktock, 1000);
  168.     
  169.     }
  170.