    function Sun(T) {
      T2=T*T
      T3=T2*T

      var L = 279.69668 + 36000.76892 * T + .0003025 * T2 ;
      var M = 358.47583 + 35999.04975 * T - .00015 * T2 - .0000033 * T3 ;
      MSun = M ;
      var E = .01675104 - .0000418 * T - .000000126 * T2 ;
      var C = (1.91964 - .004789 * T - .000014 * T2) * Math.sin(Drc * M) + (.020094 - .0001 * T) * Math.sin(2 * Drc * M) + .000293 * Math.sin(3 * Drc * M) ;
      var V = M + C ;
      var R = 1.0000002 * (1 - E * E) / (1 + E * Math.cos(Drc * V)) ;
      Rsun = R ;
      var Theta = L + C ;
      ThetaSun = Drc * Theta ;
      var Eps = 23.452294 - .0130125 * T - .00000164 * T2 + .000000503 * T3 ;
      var Yterm = Math.cos(Drc * Eps) * Math.sin(Drc * Theta) ;
      var Xterm = Math.cos(Drc * Theta) ;
      var Answer=Math.atan2(Yterm, Xterm) ;
      var Alfa = Answer ;
      var Arg = Math.sin(Drc * Eps) * Math.sin(Drc * Theta) ;
      Answer=Math.asin(Arg) ;
      Delta = Answer ;
      DeltaSun=Delta ;
      Yterm = Math.sin(Alfa) * Math.cos(Drc * Eps) + Math.tan(Delta) * Math.sin(Drc * Eps) ;
      Xterm = Math.cos(Alfa) ;
      Answer=Math.atan2(Yterm, Xterm) ;
      Lon = Answer / Drc ;
      if (Lon < 0) Lon = Lon + 360. ;
      var TERM1 = Math.sin(Delta) * Math.cos(Drc * Eps) ;
      var TERM2 = Math.cos(Delta) * Math.sin(Drc * Eps) * Math.sin(Alfa) ;
      Arg = TERM1 - TERM2 ;
      Answer=Math.asin(Arg) ;
      Lat = Answer / Drc ;

      Lat = Delta / Drc ;
      //alert("T: " + T + "  Delta: " + Delta)

// Mean Anomolies
      MMars = 319.51913 + 19139.85475 * T + .000181 * T2 ;
      MMercury = 102.27938 + 149472.51529 * T + .000007 * T2 ;
      MJupiter = 225.32833 + 3034.69202 * T - .000722 * T2 ;
      MVenus = 212.60322 + 58517.80387 * T + .001286 * T2 ;
      MSaturn = 175.46622 + 1221.55147 * T - .000502 * T2 ;

      return(Lon) ;
   }

    function SunAD(T, T2, T3) {
      var L = 279.69668 + 36000.76892 * T + 0.0003025 * T2 ;
      var M = 358.47583 + 35999.04975 * T - 0.00015 * T2 - 0.0000033 * T3 ;
      var E = 0.01675104 - 0.0000418 * T - 0.000000126 * T2 ;
      var C = (1.91964 - 0.004789 * T - 0.000014 * T2) * Math.sin(Drc * M) + (0.020094 - 0.0001 * T) * Math.sin(2 * Drc * M) + 0.000293 * Math.sin(3 * Drc * M) ;
      var v = M + C ;
      var R = 1.0000002 * (1. - E * E) / (1. + E * Math.cos(Drc * v)) ;
      var Rsun = R ;
      var Theta = L + C ;
      var ThetaSun = Drc * Theta ;
      var Eps = 23.452294 - 0.0130125 * T - 0.00000164 * T2 + 0.000000503 * T3 ;
      var Yterm = Math.cos(Drc * Eps) * Math.sin(Drc * Theta) ;
      var Xterm = Math.cos(Drc * Theta) ;
      Alpha=Math.atan2(Yterm, Xterm) ;
      AlphaSun=Alpha ;
      var Arg = Math.sin(Drc * Eps) * Math.sin(Drc * Theta) ;
    }
