﻿function getAirTempAndPrecip(result) {
    var jsonObj = xml2json(result);
    var max = new Array();
    var min = new Array();
    var rain = new Array();
    var date = new Array();
    var xlabels = [];
    var j=0;
   

  //  var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        max[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].tempprtd_MAX["#text"] * 9) / 5 + 32), 0);
        min[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].tempprtd_MIN["#text"] * 9) / 5 + 32), 0);
        rain[i] = parseFloat(jsonObj.NewDataSet.Table[i].preciptip_TOT["#text"]) / 25.4;
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var dd = 0;
        var mm = '';
        var y = x[0].split('-');
        mm = y[1]; dd = (dojo.byId("ctl00_ContentPlaceHolder1_ddGraphs").selectedIndex == 0) ? y[2] - 1 : y[2];
        if (dd == 0 || dd == -1) {
            xlabels[xlabels.length] = { value: i + 1, text: '' };
        } else {
            xlabels[xlabels.length] = { value: i + 1, text: mm + '/' + dd };
        }
        //when there is no rain, to display the default scale range for precipitation
        if (rain[i] > rain[j]) {
            j = i;
        }
        
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("MaxTemp", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("MinTemp", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Rain", { type: "Columns", gap: 1, vAxis: "other y" });
//the below code is to display grid lines on the graph, but the grid lines are not properly displayed on the grid so the code commented out.
//    chart1.addPlot("Grid", { type: "Grid",
//        hAxis: "x",
//        vAxis: "y",
//        hMajorLines: true,                   
//        hMinorLines: false,
//        vMajorLines: true,
//        vMinorLines: false
//    });

    chart1.addAxis("x", {labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 100, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    if (rain[j] == 0) {
        chart1.addAxis("other y", { vertical: true, leftBottom: false, max: 0.1, min:0 }); //default scale range from 0 to 0.1
    } else {
        chart1.addAxis("other y", { vertical: true, leftBottom: false });
    }
    
    chart1.addSeries("Max Temp(°F)", max, { plot: "MaxTemp", stroke: { color: "red"} });
    chart1.addSeries("Min Temp(°F)", min, { plot: "MinTemp", stroke: { color: "blue"} });
    chart1.addSeries("Rainfall(inches)", rain, { plot: "Rain", stroke: { color: "blue" }, fill: "lightblue" });

    var anim1a = new dc.action2d.Magnify(chart1, "MaxTemp", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "MaxTemp");
    var anim1c = new dc.action2d.Highlight(chart1, "MaxTemp");
    var anim2a = new dc.action2d.Magnify(chart1, "MinTemp", { scale: 2 });
    var anim2b = new dc.action2d.Tooltip(chart1, "MinTemp");
    var anim2c = new dc.action2d.Highlight(chart1, "MinTemp");
    var anim3a = new dc.action2d.Magnify(chart1, "Rain");
    var anim3b = new dc.action2d.Tooltip(chart1, "Rain");
    var anim3c = new dc.action2d.Highlight(chart1, "Rain");
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Date', '10');
    makeAxisTitle(chart1, 'y', 'Temperature (°F)', '10');
    makeAxisTitle(chart1, 'other y', 'Precipitation(In)', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
    
}

function getWindRunAndWindDir(result) {
    var jsonObj = xml2json(result);
    var windRun = new Array();
    var windDir = new Array();
    var date = new Array();
    var xlabels = [];
    //var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        windRun[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].windsp10m_S_WVT["#text"]  / 0.477), 1);
        windDir[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].winddr10m_DU_WVT["#text"]), 0);
        date[i] = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"]
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var dd = 0;
        var mm = '';
        var y = x[0].split('-');
        mm = y[1]; dd = (dojo.byId("ctl00_ContentPlaceHolder1_ddGraphs").selectedIndex == 0) ? y[2] - 1 : y[2];
        if (dd == 0 || dd == -1) {
            xlabels[xlabels.length] = { value: i + 1, text: '' };
        } else {
            xlabels[xlabels.length] = { value: i + 1, text: mm + '/' + dd };
        }
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("WindRun", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("WindDir", { type: "Lines", markers: true, tension: 2, vAxis: "other y" });
    

    chart1.addAxis("x", { minorTick: { length: 10},labels: xlabels });
    chart1.addAxis("y", { vertical: true,min:0});
    //chart1.addAxis("other x", { leftBottom: false });
    chart1.addAxis("other y", { vertical: true, leftBottom: false,max:360,min:0});
    chart1.addSeries("Wind Speed (mph)", windRun, { plot: "WindRun", stroke: { color: "red"} });
    chart1.addSeries("Wind Direction", windDir, { plot: "WindDir", stroke: { color: "blue"} });

    var anim1a = new dc.action2d.Magnify(chart1, "WindRun", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "WindRun");
    var anim1c = new dc.action2d.Highlight(chart1, "WindRun");
    var anim2a = new dc.action2d.Magnify(chart1, "WindDir", { scale: 2 });
    var anim2b = new dc.action2d.Tooltip(chart1, "WindDir");
    var anim2c = new dc.action2d.Highlight(chart1, "WindDir");    
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Date', '10');
    makeAxisTitle(chart1, 'y', 'Wind Speed (mph)', '10');
    makeAxisTitle(chart1, 'other y', 'Wind Direction (deg)', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";

}

function getMaxMinRelHumid(result) {
    var jsonObj = xml2json(result);
    var max = new Array();
    var min = new Array();
    var date = new Array();
    var xlabels = [];


    //  var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        max[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].relhumid_MAX["#text"]), 0);
        if (max[i] > 100) { max[i] = 100; }
        min[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].relhumid_MIN["#text"]), 0);
        if (min[i] > 100) { min[i] = 100; }
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var dd = 0;
        var mm = '';
        var y = x[0].split('-');
        mm = y[1]; dd = (dojo.byId("ctl00_ContentPlaceHolder1_ddGraphs").selectedIndex == 0) ? y[2] - 1 : y[2];
        if (dd == 0 || dd == -1) {
            xlabels[xlabels.length] = { value: i + 1, text: '' };
        } else {
            xlabels[xlabels.length] = { value: i + 1, text: mm + '/' + dd };
        }
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("MaxHumid", { type: "Lines", markers: true, tension: 4, hAxis: "x", vAxis: "y" });
    chart1.addPlot("MinHumid", { type: "Lines", markers: true, tension: 4, hAxis: "x", vAxis: "y" });
    
    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 100, min: 0 });
    chart1.addSeries("Max Humidity(%)", max, { plot: "MaxHumid", stroke: { color: "red"} });
    chart1.addSeries("Min Humidity(%)", min, { plot: "MinHumid", stroke: { color: "blue"} });

    var anim1a = new dc.action2d.Magnify(chart1, "MaxHumid", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "MaxHumid");
    var anim1c = new dc.action2d.Highlight(chart1, "MaxHumid");
    var anim2a = new dc.action2d.Magnify(chart1, "MinHumid", { scale: 2 });
    var anim2b = new dc.action2d.Tooltip(chart1, "MinHumid");
    var anim2c = new dc.action2d.Highlight(chart1, "MinHumid");
    
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Date', '10');
    makeAxisTitle(chart1, 'y', 'Relative Humidity(%)', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
    
}

function getTempAndSolarRadiation(result) {
    var jsonObj = xml2json(result);
    var max = new Array();
    var min = new Array();
    var radiation = new Array();
    var date = new Array();
    var xlabels = [];
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        max[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].tempprtd_MAX["#text"] * 9) / 5 + 32), 0);
        min[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].tempprtd_MIN["#text"] * 9) / 5 + 32), 0);
        radiation[i] =Math.round(parseFloat(jsonObj.NewDataSet.Table[i].truncsrad_AVG["#text"])*1440 / 0.69793);
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var dd = 0;
        var mm = '';
        var y = x[0].split('-');
        mm = y[1]; dd = (dojo.byId("ctl00_ContentPlaceHolder1_ddGraphs").selectedIndex == 0) ? y[2] - 1 : y[2];
        if (dd == 0 || dd == -1) {
            xlabels[xlabels.length] = { value: i + 1, text: '' };
        } else {
            xlabels[xlabels.length] = { value: i + 1, text: mm + '/' + dd };
        }
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("MaxTemp", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("MinTemp", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Solar Radiation", { type: "Columns", gap: 1, vAxis: "other y" });
   
    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 100, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    chart1.addAxis("other y", { vertical: true, leftBottom: false,max:1000 });
    chart1.addSeries("Max Temp(°F)", max, { plot: "MaxTemp", stroke: { color: "red"} });
    chart1.addSeries("Min Temp(°F)", min, { plot: "MinTemp", stroke: { color: "blue"} });
    chart1.addSeries("Solar Radiation", radiation, { plot: "Solar Radiation", stroke: { color: "black" }, fill: "lightyellow" });

    var anim1a = new dc.action2d.Magnify(chart1, "MaxTemp", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "MaxTemp");
    var anim1c = new dc.action2d.Highlight(chart1, "MaxTemp");
    var anim2a = new dc.action2d.Magnify(chart1, "MinTemp", { scale: 2 });
    var anim2b = new dc.action2d.Tooltip(chart1, "MinTemp");
    var anim2c = new dc.action2d.Highlight(chart1, "MinTemp");
    var anim3a = new dc.action2d.Magnify(chart1, "Solar Radiation");
    var anim3b = new dc.action2d.Tooltip(chart1, "Solar Radiation");
    var anim3c = new dc.action2d.Highlight(chart1, "Solar Radiation");
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Date', '10');
    makeAxisTitle(chart1, 'y', 'Temperature (°F)', '10');
    makeAxisTitle(chart1, 'other y', 'Solar Radiation', '10');
    dojo.byId("loadingImg").style.visibility = "hidden"; 

}


function getSoilTempAndSolarRadiation(result) {
    var jsonObj = xml2json(result);
    var max = new Array();
    var min = new Array();
    var radiation = new Array();
    var date = new Array();
    var xlabels = [];
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        max[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].soil10cm_MAX["#text"] * 9) / 5 + 32), 0);
        min[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].soil10cm_MIN["#text"] * 9) / 5 + 32), 0);
        radiation[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].truncsrad_AVG["#text"]) * 1440 / 0.69793);
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var dd = 0;
        var mm = '';
        var y = x[0].split('-');
        mm = y[1]; dd = (dojo.byId("ctl00_ContentPlaceHolder1_ddGraphs").selectedIndex == 0) ? y[2] - 1 : y[2];
        if (dd == 0 || dd == -1) {
            xlabels[xlabels.length] = { value: i + 1, text: '' };
        } else {
            xlabels[xlabels.length] = { value: i + 1, text: mm + '/' + dd };
        }
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("Max Soil Temp(°F)", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Min Soil Temp(°F)", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Solar Radiation", { type: "Columns", gap: 1, vAxis: "other y" });
    
    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 100, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    chart1.addAxis("other y", { vertical: true, leftBottom: false,max:1000 });
    chart1.addSeries("Max Soil Temp(°F)", max, { plot: "Max Soil Temp(°F)", stroke: { color: "red"} });
    chart1.addSeries("Min Soil Temp(°F)", min, { plot: "Min Soil Temp(°F)", stroke: { color: "blue"} });
    chart1.addSeries("Solar Radiation", radiation, { plot: "Solar Radiation", stroke: { color: "black" }, fill: "lightyellow" });

    var anim1a = new dc.action2d.Magnify(chart1, "Max Soil Temp(°F)", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "Max Soil Temp(°F)");
    var anim1c = new dc.action2d.Highlight(chart1, "Max Soil Temp(°F)");
    var anim2a = new dc.action2d.Magnify(chart1, "Min Soil Temp(°F)", { scale: 2 });
    var anim2b = new dc.action2d.Tooltip(chart1, "Min Soil Temp(°F)");
    var anim2c = new dc.action2d.Highlight(chart1, "Min Soil Temp(°F)");
    var anim3a = new dc.action2d.Magnify(chart1, "Solar Radiation");
    var anim3b = new dc.action2d.Tooltip(chart1, "Solar Radiation");
    var anim3c = new dc.action2d.Highlight(chart1, "Solar Radiation");
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Date', '10');
    makeAxisTitle(chart1, 'y', 'Soil Temperature (°F)', '10');
    makeAxisTitle(chart1, 'other y', 'Solar Radiation', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}

//functions to get hourly summary 
function getHourlyTempAndPrecip(result) {
    var jsonObj = xml2json(result);
    var j = 0;
    var temp = new Array();
    var precip = new Array();
    var aRelHumind = new Array();
    var dewTemp = new Array();
    var date = new Array();
    var xlabels = [];
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        temp[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].tempprtd["#text"] * 9) / 5 + 32));
        precip[i] = parseFloat(jsonObj.NewDataSet.Table[i].preciptip_TOT["#text"])/25.4;
        aRelHumind[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].relhumid["#text"]));

        if (aRelHumind[i] >= 100) {
            aRelHumind[i] = 100;
            dewTemp[i] = temp[i];
        } else {
        dewTemp[i]=Math.sqrt(Math.sqrt(Math.sqrt(aRelHumind[i]/100)))*(173+0.9*temp[i])-173 +0.1*temp[i];
    }
    if (precip[i] > precip[j]) {
        j = i;
    }
        
        //dewTemp[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].truncsrad_AVG["#text"]) * 1440 / 0.69793);
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        
        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
        
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("Temperature(°F)", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Dew Point", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Rainfall", { type: "Columns", gap: 1, vAxis: "other y" });    


    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 120, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    if (precip[j] == 0) {
        chart1.addAxis("other y", { vertical: true, leftBottom: false, max:0.1, min:0 });
    } else {
        chart1.addAxis("other y", { vertical: true, leftBottom: false });
    }
    
    chart1.addSeries("Temperature(°F)", temp, { plot: "Temperature(°F)", stroke: { color: "red"} });
    chart1.addSeries("Dew Point", dewTemp, { plot: "Dew Point", stroke: { color: "blue"} });
    chart1.addSeries("Rainfall", precip, { plot: "Rainfall", stroke: { color: "black" }, fill: "lightyellow" });

    var anim1a = new dc.action2d.Magnify(chart1, "Temperature(°F)", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "Temperature(°F)");
    var anim1c = new dc.action2d.Highlight(chart1, "Temperature(°F)");
    var anim2a = new dc.action2d.Magnify(chart1, "Dew Point)", { scale: 2 });
    var anim2b = new dc.action2d.Tooltip(chart1, "Dew Point");
    var anim2c = new dc.action2d.Highlight(chart1, "Dew Point");
    var anim3a = new dc.action2d.Magnify(chart1, "Rainfall");
    var anim3b = new dc.action2d.Tooltip(chart1, "Rainfall");
    var anim3c = new dc.action2d.Highlight(chart1, "Rainfall");
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Temperature (°F)', '10');
    makeAxisTitle(chart1, 'other y', 'Precipitation(In)', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}

function getHourlyHumidity(result) {
    var jsonObj = xml2json(result);
    var humid = new Array();
    
    var date = new Array();
    var xlabels = [];
    //  var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        humid[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].relhumid["#text"]), 0);
        if (humid[i] > 100) { humid[i] = 100; }
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("Relative Humidity", { type: "Lines", markers: true, tension: 4, hAxis: "x", vAxis: "y" });
    
    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 100, min: 0 });
    chart1.addSeries("Relative Humidity", humid, { plot: "Relative Humidity", stroke: { color: "red"} });

    var anim1a = new dc.action2d.Magnify(chart1, "Relative Humidity", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "Relative Humidity");
    var anim1c = new dc.action2d.Highlight(chart1, "Relative Humidity");
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Relative Humidity (%)', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}

function getHourlySolarRadiation(result) {
    var jsonObj = xml2json(result);
    var temp = new Array();
    var radiation = new Array();
    var date = new Array();
    var xlabels = [];
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        temp[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].tempprtd["#text"] * 9) / 5 + 32), 0);
        radiation[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].truncsrad_AVG["#text"]) * 60 / 0.69793);
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("Temperature(°F)", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Solar Radiation", { type: "Columns", gap: 1, vAxis: "other y" });
    
    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 100, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    chart1.addAxis("other y", { vertical: true, leftBottom: false, max: 300});
    chart1.addSeries("Temperature(°F)", temp, { plot: "Temperature (°F)", stroke: { color: "red"} });
    chart1.addSeries("Solar Radiation", radiation, { plot: "Solar Radiation", stroke: { color: "black" }, fill: "lightyellow" });

    var anim1a = new dc.action2d.Magnify(chart1, "Temperature(°F)", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "Temperature(°F)");
    var anim1c = new dc.action2d.Highlight(chart1, "Temperature(°F)");
    var anim3a = new dc.action2d.Magnify(chart1, "Solar Radiation");
    var anim3b = new dc.action2d.Tooltip(chart1, "Solar Radiation");
    var anim3c = new dc.action2d.Highlight(chart1, "Solar Radiation");
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Temperature (°F)', '10');
    makeAxisTitle(chart1, 'other y', 'Solar Radiation', '10');
    dojo.byId("loadingImg").style.visibility = "hidden"; 

}

function getHourlySoilTemp(result) {
    var jsonObj = xml2json(result);
    var max = new Array();
    var min = new Array();
    var radiation = new Array();
    var date = new Array();
    var xlabels = [];
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        max[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].soil10cm_MAX["#text"] * 9) / 5 + 32), 0);
        min[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].soil10cm_MIN["#text"] * 9) / 5 + 32), 0);
        radiation[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].truncsrad_AVG["#text"]) * 60 / 0.69793);
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');

        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("MaxTemp", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("MinTemp", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Solar Radiation", { type: "Columns", gap: 1, vAxis: "other y" });
   

    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 100, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    chart1.addAxis("other y", { vertical: true, leftBottom: false, max: 300 });
    chart1.addSeries("Max Temp(°F)", max, { plot: "MaxTemp", stroke: { color: "red"} });
    chart1.addSeries("Min Temp(°F)", min, { plot: "MinTemp", stroke: { color: "blue"} });
    chart1.addSeries("Solar Radiation", radiation, { plot: "Solar Radiation", stroke: { color: "black" }, fill: "lightyellow" });

    var anim1a = new dc.action2d.Magnify(chart1, "MaxTemp", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "MaxTemp");
    var anim1c = new dc.action2d.Highlight(chart1, "MaxTemp");
    var anim2a = new dc.action2d.Magnify(chart1, "MinTemp", { scale: 2 });
    var anim2b = new dc.action2d.Tooltip(chart1, "MinTemp");
    var anim2c = new dc.action2d.Highlight(chart1, "MinTemp");
    var anim3a = new dc.action2d.Magnify(chart1, "Solar Radiation");
    var anim3b = new dc.action2d.Tooltip(chart1, "Solar Radiation");
    var anim3c = new dc.action2d.Highlight(chart1, "Solar Radiation");
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Soil Temperature (°F)', '10');
    makeAxisTitle(chart1, 'other y', 'Solar Radiation', '10');
    dojo.byId("loadingImg").style.visibility = "hidden"; 

}

function getHourlyWindSpeedAndDir(result) {
    var jsonObj = xml2json(result);
    var windRun = new Array();
    var windDir = new Array();
    var date = new Array();
    var xlabels = [];
    //var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        windRun[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].windsp10m_S_WVT["#text"] / 0.477), 1);
        windDir[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].winddr10m_DU_WVT["#text"]), 0);
        date[i] = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"]
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');

        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("WindRun", { type: "Lines", markers: true, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("WindDir", { type: "Scatter", markers: true, tension: 2, vAxis: "other y" });
    
    chart1.addAxis("x", { minorTick: { length: 10 }, labels: xlabels });
    chart1.addAxis("y", { vertical: true, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    chart1.addAxis("other y", { vertical: true, leftBottom: false, max: 360, min: 0 });
    chart1.addSeries("Wind Speed (mph)", windRun, { plot: "WindRun", stroke: { color: "red"} });
    chart1.addSeries("Wind Direction", windDir, { plot: "WindDir", stroke: { color: "blue"} });

    var anim1a = new dc.action2d.Magnify(chart1, "WindRun", { scale: 2 });
    var anim1b = new dc.action2d.Tooltip(chart1, "WindRun");
    var anim1c = new dc.action2d.Highlight(chart1, "WindRun");
    var anim2a = new dc.action2d.Magnify(chart1, "WindDir", { scale: 2 });
    var anim2b = new dc.action2d.Tooltip(chart1, "WindDir");
    var anim2c = new dc.action2d.Highlight(chart1, "WindDir");
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Wind Speed (mph)', '10');
    makeAxisTitle(chart1, 'other y', 'Wind Direction (Deg)', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}

function getMinuteTempAndPrecip(result) {
    var jsonObj = xml2json(result);
    var j = 0;
    var temp = new Array();
    var precip = new Array();
    var aRelHumind = new Array();
    var dewTemp = new Array();
    var date = new Array();
    var xlabels = [];
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        temp[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].tempprtd["#text"] * 9) / 5 + 32));
        precip[i] = parseFloat(jsonObj.NewDataSet.Table[i].preciptip_TOT["#text"]) / 25.4;
        aRelHumind[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].relhumid["#text"]));

        if (aRelHumind[i] >= 100) {
            aRelHumind[i] = 100;
            dewTemp[i] = temp[i];
        } else {
            dewTemp[i] = Math.sqrt(Math.sqrt(Math.sqrt(aRelHumind[i] / 100))) * (173 + 0.9 * temp[i]) - 173 + 0.1 * temp[i];
        }

        //dewTemp[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].truncsrad_AVG["#text"]) * 1440 / 0.69793);
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');

        if (precip[i] > precip[j]) {
            j = i; //this code is used to set default scale range for precipitation graph if there is no rain for the day.
        }
        
        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };

    }    
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("Temperature(°F)", { type: "Lines", markers: false, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Dew Point", { type: "Lines", markers: false, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Rainfall", { type: "Columns", gap: 1, vAxis: "other y" });

    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 120, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    if (precip[j] == 0) {
        chart1.addAxis("other y", { vertical: true, leftBottom: false, max:0.1, min:0 });
    } else {
    chart1.addAxis("other y", { vertical: true, leftBottom: false });
    }         
    chart1.addSeries("Temperature(°F)", temp, { plot: "Temperature(°F)", stroke: { color: "red"} });
    chart1.addSeries("Dew Point", dewTemp, { plot: "Dew Point", stroke: { color: "blue"} });
    chart1.addSeries("Rainfall", precip, { plot: "Rainfall", stroke: { color: "black" }, fill: "lightyellow" });

    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Temperature (°F)', '10');
    makeAxisTitle(chart1, 'other y', 'Precipitation(In)', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}
function getMinuteRHAndPress(result) {
    var jsonObj = xml2json(result);
    var humid = new Array();
    var press = new Array();

    var date = new Array();
    var xlabels = [];
    //  var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        humid[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].relhumid["#text"]), 0);
        press[i] = (parseFloat(jsonObj.NewDataSet.Table[i].barpress["#text"])+1000)*29.53/1000;
        if (humid[i] > 100) { humid[i] = 100; }
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("Relative Humidity", { type: "Lines", markers: false, tension: 4, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Pressure", { type: "Lines", markers: false, vAxis: "other y" });
    
    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 100, min: 0 });
    chart1.addAxis("other y", { vertical: true, leftBottom: false });
    chart1.addSeries("Relative Humidity", humid, { plot: "Relative Humidity", stroke: { color: "red"} });
    chart1.addSeries("Pressure", press, { plot: "Pressure", stroke: { color: "blue"} });
    
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Relative Humidity (%)', '10');
    makeAxisTitle(chart1, 'other y', 'Pressure', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}
function getMinuteSolarRadiation(result) {
    var jsonObj = xml2json(result);
    var solarRad = new Array();
    var date = new Array();
    var xlabels = [];
    //  var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        solarRad[i] = parseFloat(jsonObj.NewDataSet.Table[i].totalsrad["#text"]);
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("SolarRad", { type: "Areas", markers: false, tension: 4, hAxis: "x", vAxis: "y" });
    
    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, min: 0 });
    chart1.addSeries("Solar Radiation", solarRad, { plot: "SolarRad", stroke: { color: "black"},fill:"red" });

    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Solar Radiation', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";

}
function getMinuteSoilTemp(result) {
    var jsonObj = xml2json(result);
    var soil25 = new Array();
    var soil10 = new Array();
    var soil5 = new Array();
    var soilsfc = new Array();
    var date = new Array();
    var xlabels = [];
    //  var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        soil25[i] = (parseFloat(jsonObj.NewDataSet.Table[i].soil25cm["#text"])*9/5)+32;
        soil10[i] = (parseFloat(jsonObj.NewDataSet.Table[i].soil10cm["#text"]) * 9 / 5) + 32;
        soil5[i] = (parseFloat(jsonObj.NewDataSet.Table[i].soil5cm["#text"]) * 9 / 5) + 32;
        soilsfc[i] = (parseFloat(jsonObj.NewDataSet.Table[i].soilsfc["#text"]) * 9 / 5) + 32;

        if (soil25[i] < -20) { soil25[i] = 130 }
   	    if (soil10[i] < -20) {soil10[i] = 130}
   	    if (soil5[i] < -20) {soil5[i] = 130}
   	    if (soilsfc[i] < -20) { soilsfc[i] = 130 }
   	    
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("soil25", { type: "Lines", tension: 4, hAxis: "x", vAxis: "y" });
    chart1.addPlot("soil10", { type: "Lines", tension: 4, hAxis: "x", vAxis: "y" });
    chart1.addPlot("soil5", { type: "Lines", tension: 4, hAxis: "x", vAxis: "y" });
    chart1.addPlot("soilsfc", { type: "Lines", tension: 4, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Grid", { type: "Grid",
        hAxis: "x",
        vAxis: "y",
        hMajorLines: true,
        hMinorLines: false,
        vMajorLines: true,
        vMinorLines: false
    });


    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true });
    chart1.addSeries("25cm Soil Temp", soil25, { plot: "soil25", stroke: { color: "red"} });
    chart1.addSeries("10cm Soil Temp", soil10, { plot: "soil10", stroke: { color: "green"} });
    chart1.addSeries("5cm Soil Temp", soil5, { plot: "soil5", stroke: { color: "blue"} });
    chart1.addSeries("Surface Soil Temp", soilsfc, { plot: "soilsfc", stroke: { color: "grey"} });

    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Temperature', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}
function getMinuteWindRunAndDir(result) {
    var jsonObj = xml2json(result);
    var windRun = new Array();
    var windDir = new Array();
    var date = new Array();
    var xlabels = [];
    //var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        windRun[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].windsp10m_S_WVT["#text"] / 0.477), 1);
        windDir[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].winddr10m_DU_WVT["#text"]), 0);
        date[i] = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"]
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("WindRun", { type: "Areas",  tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("WindDir", { type: "Scatter", tension: 2, vAxis: "other y" });
    chart1.addPlot("Grid", { type: "Grid",
        hAxis: "x",
        vAxis: "y",
        hMajorLines: true,
        hMinorLines: false,
        vMajorLines: true,
        vMinorLines: false
    });

    chart1.addAxis("x", { minorTick: { length: 10 }, labels: xlabels });
    chart1.addAxis("y", { vertical: true, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    chart1.addAxis("other y", { vertical: true, leftBottom: false, max: 360, min: 0 });
    chart1.addSeries("Wind Speed (mph)", windRun, { plot: "WindRun", stroke: { color: "black" }, fill: "pink" });
    chart1.addSeries("Wind Direction", windDir, { plot: "WindDir", stroke: { color: "blue"} });
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Wind Speed (mph)', '10');
    makeAxisTitle(chart1, 'other y', 'Wind Direction (deg)', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}
function getMinuteAccumRain(result) {
    var jsonObj = xml2json(result);
    var precip = new Array();
    var accum_prcp = new Array();
    var j = 0;
    var k = 0;

    var date = new Array();
    var xlabels = [];
    //  var r = { "x": '', "y": '' };
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        precip[i] = parseFloat(jsonObj.NewDataSet.Table[i].preciptip_TOT["#text"])/25.4;
        accum_prcp[i] = parseFloat(jsonObj.NewDataSet.Table[i].accumtip["#text"]) / 25.4;       
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');
        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };
        if (precip[i] > precip[j]) {
            j = i;
        }
        if (accum_prcp[i] > accum_prcp[k]) {
            k = i;
        }
    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("Instant Rain", { type: "Lines", markers: false, tension: 4, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Accumulated Rain", { type: "Lines", markers: false, vAxis: "other y" });
    

    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
});

        if (precip[j] == 0) {
            chart1.addAxis("y", { vertical: true, min: 0, max:1 });
        } else {
            chart1.addAxis("y", { vertical: true, min: 0 });
        }
        if (accum_prcp[k] == 0) {
            chart1.addAxis("other y", { vertical: true, leftBottom: false, max:1, min:0 });
        } else {
        chart1.addAxis("other y", { vertical: true, leftBottom: false });
        }
    
    
    chart1.addSeries("Instant Rain", precip, { plot: "Instant Rain", stroke: { color: "red"} });
    chart1.addSeries("Accumulated Rain", accum_prcp, { plot: "Accumulated Rain", stroke: { color: "blue"} });
   
    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Instant Rain', '10');
    makeAxisTitle(chart1, 'other y', 'Accumulated Rain', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}
function getMinuteAirAndSoilTemp(result) {
    var jsonObj = xml2json(result);
    var temp = new Array();
    var precip = new Array();
    var soilsfc = new Array();
    var date = new Array();
    var xlabels = [];
    for (var i = 0; i < jsonObj.NewDataSet.Table.length; i++) {
        temp[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].tempprtd["#text"] * 9) / 5 + 32));
        precip[i] = parseFloat(jsonObj.NewDataSet.Table[i].preciptip_TOT["#text"]) / 25.4;
        soilsfc[i] = Math.round(parseFloat((jsonObj.NewDataSet.Table[i].soilsfc["#text"] * 9) / 5 + 32));

        if (temp[i] < -20) { temp[i] = 130 }
        if (soilsfc[i] < -20) { soilsfc[i] = 130 }
        
        

        //dewTemp[i] = Math.round(parseFloat(jsonObj.NewDataSet.Table[i].truncsrad_AVG["#text"]) * 1440 / 0.69793);
        var x = jsonObj.NewDataSet.Table[i].DateTimeCollected["#text"].split('T');

        var t = 0;
        var hh = '';
        var t = x[1].split(':');
        hh = t[0];
        xlabels[xlabels.length] = { value: i + 1, text: hh };

    }
    var dc = dojox.charting;
    chart1 = new dojox.charting.Chart2D("simpleChart");
    //chart1.setTheme(dojox.charting.themes.PlotKit.green);

    chart1.addPlot("Temperature(°F)", { type: "Lines", markers: false, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Soilsfc", { type: "Lines", markers: false, tension: 2, hAxis: "x", vAxis: "y" });
    chart1.addPlot("Precip", { type: "Columns", gap: 1, vAxis: "other y" });   


    chart1.addAxis("x", { natural: false, labels: xlabels, minorLabels: true
    });
    chart1.addAxis("y", { vertical: true, max: 130, min: 0 });
    //chart1.addAxis("other x", { leftBottom: false });
    chart1.addAxis("other y", { vertical: true, leftBottom: false });
    chart1.addSeries("Temperature(°F)", temp, { plot: "Temperature(°F)", stroke: { color: "red"} });
    chart1.addSeries("sfc Soil Temp", soilsfc, { plot: "Soilsfc", stroke: { color: "blue"} });
    chart1.addSeries("Rainfall", precip, { plot: "Precip", stroke: { color: "black" }, fill: "black" });

    chart1.render();
    legend = new dojox.charting.widget.Legend({ chart: chart1, horizontal: true }, "legend1");
    makeAxisTitle(chart1, 'x', 'Hour', '10');
    makeAxisTitle(chart1, 'y', 'Temperature (°F)', '10');
    makeAxisTitle(chart1, 'other y', 'Precipitation(In)', '10');
    dojo.byId("loadingImg").style.visibility = "hidden";
}

function makeAxisTitle(chart, axisName, title, fontSize) {
    var axis = chart.axes[axisName];
    var dim = { width: "600", height: "400" };
    var offsets = chart.margins;
    var x;
    var y;
    var label;
    var rotate = 0;
    if (axisName == 'y') {
        rotate = 270;
        label = title;
        y = dim.height / 2 - offsets.b / 2;
        x = 0 + 1.5 * fontSize;

    } else if (axisName == 'x') {
        label = title;
        x = dim.width / 2 + offsets.l / 2;
        //y = dim.height - fontsizept / 2;
        y = dim.height - fontSize / 2;
    } else if (axisName == 'other y') {
    rotate = 270;
    label = title;
    y = dim.height / 2 + offsets.b / 2;    
    x = dim.width / 2 + 35 * fontSize ;
    }
var m = dojox.gfx.matrix;
if (axis.group == null) {
    axis.createGroup();
}
var elem = axis.group.createText({ x: x, y: y, text: label, align: "middle" });
elem.setFont({ size: fontSize + "pt", weight: "bold" });
elem.setFill('grey');
elem.setTransform(m.rotategAt(rotate, x, y));


}


