/**
 * Lottery Overview
 */
$.ajaxSetup ({
    // Disable caching of AJAX responses */
    cache: false
});

$(document).ready(function() {
	updateLatestResults();
});

function updateLatestResults() {
	$.ajax({
		type: 'GET',
                url: pathToData + 'data/RecentLottery.xml',		
		dataType: 'xml',
		success: renderLatestResults,
		error: 
			function(request, result) {
				//alert('Error: ' + result);
			}
	});
}

function renderLatestResults(xml, result) {
	var xmlParentNode, xmlChildNode, value; 
	var elements = {
		'latest-megamillions-drawing-date' : ['MegaMillions', 'DrawingDate'],
		'latest-megamillions-numbers' : ['MegaMillions', 'WinningNumber'],
		'latest-megamillions-megaball' : ['MegaMillions', 'MegaBall'],
		'latest-megamillions-megaplier' : ['MegaMillions', 'Megaplier'],
		'latest-megamillions-next-drawing' : ['MegaMillions', 'NextDrawing'],
		'latest-megamillions-estimated-jackpot' : ['MegaMillions', 'EstimatedJackpot'],
                'latest-megamillions-cashoption' : ['MegaMillions', 'NextCashOption'],
                'latest-megamillions-video' : ['MegaMillions', 'DrawVideoLink'],
		'latest-powerball-drawing-date' : ['Powerball', 'DrawingDate'],
		'latest-powerball-numbers' : ['Powerball', 'WinningNumber'],
		'latest-powerball-powerball' : ['Powerball', 'powerball'],
		'latest-powerball-powerplay' : ['Powerball', 'PowerPlay'],
		'latest-powerball-next-drawing' : ['Powerball', 'NextDrawing'],
		'latest-powerball-estimated-jackpot' : ['Powerball', 'EstimatedJackpot'],
                'latest-powerball-cashoption' : ['Powerball', 'NextCashOption'],
                'latest-powerball-video' : ['Powerball', 'DrawVideoLink'],
		'latest-megabucks-drawing-date' : ['MegabucksDoubler', 'DrawingDate'],
		'latest-megabucks-numbers' : ['MegabucksDoubler', 'WinningNumber'],
		'latest-megabucks-next-drawing' : ['MegabucksDoubler', 'NextDrawing'],
		'latest-megabucks-estimated-jackpot' : ['MegabucksDoubler', 'EstimatedJackpot'],
		'latest-megabucks-cashoption' : ['MegabucksDoubler', 'NextCashOption'],
                'latest-megabucks-video' : ['MegabucksDoubler', 'DrawVideoLink'],
		'latest-cash-winfall-drawing-date' : ['CashWinfall', 'DrawingDate'],
		'latest-cash-winfall-numbers' : ['CashWinfall', 'WinningNumber'],
		'latest-cash-winfall-next-drawing' : ['CashWinfall', 'NextDrawing'],
		'latest-cash-winfall-estimated-jackpot' : ['CashWinfall', 'EstimatedJackpot'],
                'latest-cash-winfall-video' : ['CashWinfall', 'DrawVideoLink'],
		'latest-mass-cash-drawing-date' : ['MassCash', 'DrawingDate'],
		'latest-mass-cash-numbers' : ['MassCash', 'WinningNumber'],
		'latest-mass-cash-next-drawing' : ['MassCash', 'NextDrawing'],
		'latest-mass-cash-estimated-jackpot' : ['MassCash', 'EstimatedJackpot'],
                'latest-mass-cash-video' : ['MassCash', 'DrawVideoLink'],
		'latest-numbers-game-midday-drawing-date' : ['NumbersGame', 'MiddayDrawingDate'],
		'latest-numbers-game-midday-numbers' : ['NumbersGame', 'MiddayWinningNumber'],
		'latest-numbers-game-midday-next-drawing-date' : ['NumbersGame', 'NextMiddayDrawing'],
                'latest-numbers-game-midday-video' : ['NumbersGame', 'MiddayDrawVideoLink'],
		'latest-numbers-game-evening-drawing-date' : ['NumbersGame', 'EveningDrawingDate'],
		'latest-numbers-game-evening-numbers' : ['NumbersGame', 'EveningWinningNumber'],	
		'latest-numbers-game-evening-next-drawing-date' : ['NumbersGame', 'NextEveningDrawing'],
                'latest-numbers-game-evening-video' : ['NumbersGame', 'EveningDrawVideoLink'],
		'winner1-text' : ['Winner1', 'WinnerText'],
		'winner2-text' : ['Winner2', 'WinnerText'],
		'winner3-text' : ['Winner3', 'WinnerText']
		};
	var winners = {
		'winner1-image' : ['Winner1', 'WinnerImage'],
		'winner2-image' : ['Winner2', 'WinnerImage'],
		'winner3-image' : ['Winner3', 'WinnerImage']
		};
	
	for (element in elements) {
		if ($('.' + element).length > 0) {
                        xmlParentNode  = elements[element][0];
			xmlChildNode   = elements[element][1];  
                        
			value          = $(xml).find(xmlParentNode).find(xmlChildNode).text();
                        
                        /* Create links for video issue begin */
                        switch(xmlParentNode) {                            
                        case "MegaMillions": 
                            if (xmlChildNode=="DrawVideoLink") {value = create_video_link(value, "Mega Millions");}
                            break;
                        case "Powerball": 
                            if (xmlChildNode=="DrawVideoLink") {value = create_video_link(value, "Powerball");}
                            break;
                        case "MegabucksDoubler": 
                            if (xmlChildNode=="DrawVideoLink") {value = create_video_link(value, "Megabucks Doubler");}
                            break;
                        case "CashWinfall":
                            if (xmlChildNode=="DrawVideoLink") {value = create_video_link(value, "Cash Winfall");}
                            break;
                        case "MassCash":
                            if (xmlChildNode=="DrawVideoLink") {value = create_video_link(value, "Mass Cash"); }
                            break;
                        case "NumbersGame":
                            switch (xmlChildNode) {
                            case "MiddayDrawVideoLink": 
                                value = create_video_link(value, "Numbers Game Mid-Day");
                                break;
                            case "EveningDrawVideoLink":
                                value = create_video_link(value, "Numbers Game Evening");
                                break;
                            default:
                                break;
                            }
                            break;
                        default:
                            break;
                        }                         
                        /* Create links for video issue End */
			
			if (xmlChildNode.search(/DrawingDate/i) > -1) {
				value = formatLotteryDate(value, true, true);
				}
                        else if (xmlChildNode.search(/NextDrawing/i) > -1) {
				value = formatLotteryDate(value, false, true); 
				}
			else if (xmlChildNode.search(/NextMiddayDrawing/i) > -1) {
				value = formatLotteryDate(value, false, true);
				}
			else if (xmlChildNode.search(/NextEveningDrawing/i) > -1) {
				value = formatLotteryDate(value, false, true);
				}
			
			$('.' + element).html(value);
		}
	}
	
	for (winner in winners) {
		if ($('.' + winner).length > 0) {
			xmlParentNode  = winners[winner][0];
			xmlChildNode   = winners[winner][1];
			value          = $(xml).find(xmlParentNode).find(xmlChildNode).text();
			
			$('.' + winner).css('background-image', 'url("' + pathToData + value + '")');
		}
	}
}

/* Create links for video issue begin */
function create_video_link(value, game) { 
    if (value!="N/A") {
        var output = "<a href=\""+value+"\"><img src=\"img/icons/video.png\" alt=\""+game+" current draw video\" title=\""+game+" current draw video\" /></a>";
        return output;
    }
    else {
        return value;
    }        
}
/* Create links for video issue end */

function formatLotteryDate(date, withDay, withYear) {
	var stringPieces, datePieces, output;
	
	stringPieces = date.split(' ');
	datePieces = stringPieces[1].split('/');
	output = parseInt(datePieces[0], 10) + '/' + parseInt(datePieces[1], 10);
	
	if (withDay) {
		output = stringPieces[0] + ' ' + output;
	}
	
	if (withYear) {
		output = output + '/' + datePieces[2].substr(datePieces[2].length - 2, 2);
	}
	
	return output;
}
