﻿
var ScheduleEventId = null;
var automationlevel = null;
var _conflictedMatches = null;

function OnLoad() {
    var view = $(".viewValue");
    if (view[0].value == 2) {
        var e = $(".EventId");
        var eventId = 0;
        eventId = parseInt(e[0].value);
        if (eventId == NaN || eventId < 1)
            return;
        automationlevel = $(".Automation")[0].value;
        ScheduleEventId = e[0].value;
        loadEventMatches();
    }
}


$(document).ready(function () {
    OnLoad();
});

var eventScore = null;
var scheduledMatches = null;

function loadEventScore() {
	var serviceRootUrl = getServiceRootUrls();
	serviceRootUrl += "Score/GetEventScore";
	$.ajax({
		type: "GET",
		data: { eventId: ScheduleEventId },
		url: serviceRootUrl,
		contentType: "application/json",
		success: function (data) {
			eventScore = data;
			var activityType = jQuery('.ActivityTypeHidden').val();//only on post score page we have place hidden field
			var isScoreEditable = true;
			var isSingleEliminationOn = jQuery('.IsSingleEliminationOn').val();
			if (activityType == undefined || activityType == 12) //12 is for volleyball activity type
			{
				isScoreEditable = false;
			}
		    isSingleEliminationOn = isSingleEliminationOn == "False" ? false : true;
			GenerateBracket(automationlevel, scheduledMatches, 'bracketPreviewGrid_six', eventScore, false, true, isScoreEditable, isSingleEliminationOn);
		}
	});
}

function rebindConflicts()
{    
    bindConflicts(_conflictedMatches);
}

function bindConflicts(conflictedMatches) {

    if (conflictedMatches == null)
        return;

    _conflictedMatches = conflictedMatches;

    for (var i = 0; i < conflictedMatches.length; i++) {
        var conflictedMatch = conflictedMatches[i];
        var matchIdToFind = conflictedMatch.MatchID;

        for (var j = 0; j < scheduledMatches.length; j++) {
            var scheduledMatch = scheduledMatches[j];
            if (scheduledMatch.MatchID == matchIdToFind)
            {
                scheduledMatch.ConflictsList = conflictedMatch.ConflictsList;
            }
        }
    }
    var activityType = jQuery('.ActivityTypeHidden').val();//only on post score page we have place hidden field
    var isScoreEditable = true;
    var isSingleEliminationOn = jQuery('.IsSingleEliminationOn').val();
    if (activityType == undefined || activityType == 12) //12 is for volleyball activity type
    {
        isScoreEditable = false;
    }
    isSingleEliminationOn = isSingleEliminationOn == "False" ? false : true;

    //GenerateBracket(automationlevel, scheduledMatches, 'bracketPreviewGrid_six', eventScore, false, true, isScoreEditable, isSingleEliminationOn, null, true);
    BindConflicts(scheduledMatches);
}

function loadEventMatches() {
	var serviceRootUrl = getServiceRootUrl();
	serviceRootUrl += "ScheduleScore/GetMatches";
	$.ajax({
		type: "GET",
		data: { eventId: ScheduleEventId },
		url: serviceRootUrl,
		contentType: "application/json",
		success: function (data) {
			if (data != null) {
				for (var i = 0; i < data.length; i++) {
					data[i].Date = kendo.parseDate(data[i].Date);
					data[i].StartTime = getDateFromDbTime(data[i].StartTime);
					data[i].EndTime = getDateFromDbTime(data[i].EndTime);
				}
			}
			scheduledMatches = data;
			loadEventScore();
		}
	});
}
function getDateFromDbTime(startTime) {
	if (startTime == null)
		return '';

	var startTimeArray = startTime.split(':');
	var startDate = new Date();
	startDate.setHours(startTimeArray[0]);
	startDate.setMinutes(startTimeArray[1]);
	return startDate;
}

function getServiceRootUrl() {
	var sf = $.ServicesFramework();
	return sf.getServiceRoot('sScheduleScoreServices');
}
function getServiceRootUrls() {
	var sf = $.ServicesFramework();
	return sf.getServiceRoot('sScheduleEventServices');
}