$(document).ready(function() {
    window.setInterval(load, 10000);
});


function load() {

    var yahooUrl = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22%5EAEX%22)&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys"

    $.get(yahooUrl,
    function(data) {
        var root = data;
        var quote = root.query.results.quote;
        
        if (marketOpen()) {
            if (quote.Change.charAt(0) == '+') {
                makeGreen(quote);
            } else if (quote.Change.charAt(0) == '-') {
                makeRed(quote);
            } else {
				makeBlue(quote);
			}

			setTradeTime(Date.now().toString("HH:mm d-MMM-yyyy"));
        } else {
            makeBlue(quote);
			setTradeTime(document.getElementById('closed').innerHTML);
        }

        setMarketIndexValue(quote.LastTradePriceOnly);
    }
    );

}

function setTradeTime(tradeTime) {
	document.getElementById('tradeTime').innerHTML = tradeTime;
}

function setMarketIndexValue(value) {
	document.getElementById('indexValue').innerHTML = value;
}

function marketOpen() {
	var open = Date.today().set({
        minute: 0,
        hour: 9
    });
    var close = Date.today().set({
        minute: 0,
        hour: 17
    });
	var now = Date.now();
	var saturday = 6;
	var sunday = 0;
    var day = now.getDay();
	var weekend = now.getDay() == saturday || now.getDay() == sunday;

    return now.between(open, close) && !weekend;
	
}

function makeGreen(quote) {
	var logoImageDiv = document.getElementById('logoImage');
	var quoteDiv = document.getElementById('quote');
	var contentDiv = document.getElementById('content');
	var marketIndexValueDiv = document.getElementById('indexValue');
	var tradeTimeDiv = document.getElementById('tradeTime');
	changeDirection = "up";
    logoImageDiv.innerHTML = "<img src='images/ud-green.jpg'/>";
    quoteDiv.innerHTML = quote.Change + " (" + quote.ChangeinPercent + ")";
    contentDiv.className = 'contentgreen';
    quoteDiv.className = 'green';
    marketIndexValueDiv.className = 'green';
    tradeTimeDiv.className = 'green';
}

function makeRed(quote) {
	var logoImageDiv = document.getElementById('logoImage');
	var quoteDiv = document.getElementById('quote');
	var contentDiv = document.getElementById('content');
	var marketIndexValueDiv = document.getElementById('indexValue');
	var tradeTimeDiv = document.getElementById('tradeTime');
	changeDirection = "down";
    logoImageDiv.innerHTML = "<img src='images/ud-red.jpg'/>";
    quoteDiv.innerHTML = quote.Change + "(" + quote.ChangeinPercent + ")";
    contentDiv.className = 'contentred';
    quoteDiv.className = 'red';
    marketIndexValueDiv.className = 'red';
    tradeTimeDiv.className = 'red';
}

function makeBlue(quote) {
	var logoImageDiv = document.getElementById('logoImage');
	var quoteDiv = document.getElementById('quote');
	var contentDiv = document.getElementById('content');
	var marketIndexValueDiv = document.getElementById('indexValue');
	var tradeTimeDiv = document.getElementById('tradeTime');
	logoImageDiv.innerHTML = "<img src='images/ud-blue.jpg'/>";
    quoteDiv.innerHTML = quote.Change + "(" + quote.ChangeinPercent + ")";
    contentDiv.className = 'contentblue';
    quoteDiv.className = 'blue';
    marketIndexValueDiv.className = 'blue';
    tradeTimeDiv.className = 'blue';
}
