﻿
function coords() {
    this.p1x = 0;
    this.p1y = 0;
    this.p2x = 0;
    this.p2y = 0;
    this.p3x = 0;
    this.p3y = 0;
    this.p4x = 0;
    this.p4y = 0;
    this.p5x = 0;
    this.p5y = 0;
    this.p6x = 0;
    this.p6y = 0;
}

function xy() {
    this.x = 0,
        this.y = 0
}

function setCoords(arrayObj) {
    var path = new coords;

    if (arrayObj) {
        path.p1x = arrayObj[0] - 1;
        path.p1y = arrayObj[1] - 1;
        path.p2x = arrayObj[2] - 1;
        path.p2y = arrayObj[3] - 1;
        path.p3x = arrayObj[4] - 1;
        path.p3y = arrayObj[5] - 1;
        path.p4x = arrayObj[6] - 1;
        path.p4y = arrayObj[7] - 1;
        path.p5x = arrayObj[8] - 1;
        path.p5y = arrayObj[9] - 1;
        path.p6x = arrayObj[10] - 1;
        path.p6y = arrayObj[11] - 1;
    }

    return path;
}

function processData(resultString) {
    var splitObjects;
    var splitP75 = new Array();
    var splitP90 = new Array();
    var skipAvt1 = false;
    var skipAvt2 = false;

    splitObjects = resultString.split('~');
    splitP75 = splitObjects[0].split('|');
    splitP90 = splitObjects[1].split('|');
    winnerStr = splitObjects[2];

    if (((splitObjects[0] == "1|10|1|10|1|10|1|10|1|10|1|10") && (splitObjects[1] == "1|10|1|10|1|10|1|10|1|10|1|10")) ||
            ((splitObjects[0] == "0|0|0|0|0|0|0|0|0|0|0|0") && (splitObjects[1] == "0|0|0|0|0|0|0|0|0|0|0|0"))) {
        initPosition("avt1", 0, 0, 0, 9);
        initPosition("avt2", avt2XOffset, 0, 0, 9);

        p75Pos.x = 0;
        p75Pos.y = 9;
        p90Pos.x = 0;
        p90Pos.y = 9;

        document.getElementById("w2005").style.visibility = "hidden";
        document.getElementById("w2006").style.visibility = "hidden";

        return;
    }

    switch (winnerStr) {
        case "2005":
            initPosition("w2005", 10, -60, 8, 0);
            document.getElementById("w2005").style.visibility = "visible";
            stopAuto();
            break;

        case "2006":
            initPosition("w2006", avt2XOffset + 10, -60, 8, 0);
            document.getElementById("w2006").style.visibility = "visible";
            stopAuto();
            break;

        case "even":
            initPosition("w2005", 0, -60, 8, 0);
            document.getElementById("w2005").style.visibility = "visible";
            initPosition("w2006", avt2XOffset + 10, -60, 8, 0);
            document.getElementById("w2006").style.visibility = "visible";
            stopAuto();
            break;

        default:
            break;
    }


    if (!p75Pos) {
        p75Pos = new xy;
    }

    if (!p90Pos) {
        p90Pos = new xy;
    }

    // if the same pos.
    if (p75Pos.x == (splitP75[10] - 1) && p75Pos.y == (splitP75[11] - 1)) {
        skipAvt1 = true;
    }

    if (p90Pos.x == (splitP90[10] - 1) && p90Pos.y == (splitP90[11] - 1)) {
        skipAvt2 = true;
    }

    p75Pos.x = splitP75[10] - 1;
    p75Pos.y = splitP75[11] - 1;
    p90Pos.x = splitP90[10] - 1;
    p90Pos.y = splitP90[11] - 1;

    if (splitP75) {
        p75Path = setCoords(splitP75);
        p75Path = convertCoordsToAbsolute(p75Path, 0, 0);
    }
    else p75Path = null;

    if (splitP90) {
        p90Path = setCoords(splitP90);
        p90Path = convertCoordsToAbsolute(p90Path, avt2XOffset, 0);
    }
    else p90Path = null;

    if (!skipAvt1) {
        drawAvt1(p75Path);
    }

    if (!skipAvt2) {
        drawAvt2(p90Path);
    }
}

function convertCoordsToAbsolute(coordsObj, xOffset, yOffset) {
    if (coordsObj) {
        var boardXY = getBoardCoords();

        coordsObj.p1x = (coordsObj.p1x * xUnits) + boardXY.x + xOffset;
        coordsObj.p2x = (coordsObj.p2x * xUnits) + boardXY.x + xOffset;
        coordsObj.p3x = (coordsObj.p3x * xUnits) + boardXY.x + xOffset;
        coordsObj.p4x = (coordsObj.p4x * xUnits) + boardXY.x + xOffset;
        coordsObj.p5x = (coordsObj.p5x * xUnits) + boardXY.x + xOffset;
        coordsObj.p6x = (coordsObj.p6x * xUnits) + boardXY.x + xOffset;

        coordsObj.p1y = (coordsObj.p1y * yUnits) + boardXY.y + yOffset;
        coordsObj.p2y = (coordsObj.p2y * yUnits) + boardXY.y + yOffset;
        coordsObj.p3y = (coordsObj.p3y * yUnits) + boardXY.y + yOffset;
        coordsObj.p4y = (coordsObj.p4y * yUnits) + boardXY.y + yOffset;
        coordsObj.p5y = (coordsObj.p5y * yUnits) + boardXY.y + yOffset;
        coordsObj.p6y = (coordsObj.p6y * yUnits) + boardXY.y + yOffset;
    }

    return coordsObj;
}

function drawAvt1(coordsObject) {
    if (p75Path != null) {

        if (sec1) {
            sec1.dispose();
        }

        var fade = !((p75Path.p3x == p75Path.p4x) && (p75Path.p3y == p75Path.p4y));

        sec1 = new AjaxControlToolkit.Animation.SequenceAnimation($get("avt1"), 6, 24, null, 1);

        var a1 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt1"), 1.0, 24, p75Path.p1x, p75Path.p1y, false, "px");
        var a2 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt1"), 0.9, 24, p75Path.p2x, p75Path.p2y, false, "px");
        var a3 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt1"), 0.8, 24, p75Path.p3x, p75Path.p3y, false, "px");
        var a4 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt1"), 0.7, 24, p75Path.p4x, p75Path.p4y, false, "px");
        var a5 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt1"), 0.6, 24, p75Path.p5x, p75Path.p5y, false, "px");
        var a6 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt1"), 0.5, 24, p75Path.p6x, p75Path.p6y, false, "px");

        sec1.add(a1);
        sec1.add(a2);
        sec1.add(a3);

        if (fade) {
            var a7 = new AjaxControlToolkit.Animation.FadeAnimation($get("avt1"), 1.2, 30, "fadeIn", 0, 1, false);
            var a8 = new AjaxControlToolkit.Animation.FadeAnimation($get("avt1"), 0.3, 30, "fadeIn", 1, 1, false);

            sec1.add(a7);
            sec1.add(a8);
        }

        sec1.add(a4);
        sec1.add(a5);
        sec1.add(a6);

        sec1.play();
    }
}

function drawAvt2(coordsObject) {
    if (p90Path != null) {

        if (sec2) {
            sec2.dispose();
        }

        var fade = !((p90Path.p3x == p90Path.p4x) && (p90Path.p3y == p90Path.p4y));

        sec2 = new AjaxControlToolkit.Animation.SequenceAnimation($get("avt2"), 6, 24, null, 1);

        var a1 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt2"), 1.0, 24, p90Path.p1x, p90Path.p1y, false, "px");
        var a2 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt2"), 0.9, 24, p90Path.p2x, p90Path.p2y, false, "px");
        var a3 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt2"), 0.8, 24, p90Path.p3x, p90Path.p3y, false, "px");
        var a4 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt2"), 0.7, 24, p90Path.p4x, p90Path.p4y, false, "px");
        var a5 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt2"), 0.6, 24, p90Path.p5x, p90Path.p5y, false, "px");
        var a6 = new AjaxControlToolkit.Animation.MoveAnimation($get("avt2"), 0.5, 24, p90Path.p6x, p90Path.p6y, false, "px");

        sec2.add(a1);
        sec2.add(a2);
        sec2.add(a3);

        if (fade) {
            var a7 = new AjaxControlToolkit.Animation.FadeAnimation($get("avt2"), 1.2, 30, "fadeIn", 0, 1, false);
            var a8 = new AjaxControlToolkit.Animation.FadeAnimation($get("avt2"), 0.3, 30, "fadeIn", 1, 1, false);

            sec2.add(a7);
            sec2.add(a8);
        }

        sec2.add(a4);
        sec2.add(a5);
        sec2.add(a6);

        sec2.play();
    }
}

// anim. sequences
var sec1 = null;
var sec2 = null;

var xUnits = 53;
var yUnits = 50;
var avt2XOffset = 20;

var p75Path = null;
var p90Path = null;
var winnerStr = "";

var p75Pos = new xy;
var p90Pos = new xy;

var avt1 = null;
var avt2 = null;

var counter = 1001;
var t;

function timedCount() {
    if (counter < 1000) {
        Members.angdev.AngDevService.GetData(done);
        t = setTimeout("timedCount()", 8000);
        counter++;
    }
}

function startAuto() {
    if (counter > 1000) {
        counter = 0;
        timedCount();
    }
}

function stopAuto() {
    counter = 1001;
    t = null;
}

function onResize() {
  
    if (sec1) {
        try { sec1.stop(); }
        catch (ex) { }
    }

    if (sec1) {
        try { sec2.stop(); }
        catch (ex) { }
    }

    initPosition("avt1", 0, 0, p75Pos.x, p75Pos.y);
    initPosition("avt2", avt2XOffset, 0, p90Pos.x, p90Pos.y);
}

function init() {
    p75Pos.x = 0;
    p75Pos.y = 9;
    p90Pos.x = 0;
    p90Pos.y = 9;

    initPosition("avt1", 0, 0, 0, 9);
    initPosition("avt2", avt2XOffset, 0, 0, 9);

    startAuto();
}

function initPosition(avtId, xOff, yOff, posX, posY) {
    avt = document.getElementById(avtId);

    if (avt) {
        var boardCorner = getBoardCoords();

        avt.style.left = parseInt(boardCorner.x + xOff + posX * xUnits) + "px";
        avt.style.top = parseInt(boardCorner.y + yOff + posY * yUnits) + "px";
    }
}

function getBoardCoords() {
    var bxOffset = 185;
    var byOffset = 50;
    var bxy = new xy;

    bxy.x = parseInt(document.getElementById('board').offsetLeft) + bxOffset;
    bxy.y = parseInt(document.getElementById('board').offsetTop) + byOffset;

    return bxy;
}

function post() {
    f.submit();
}

function cl() {
    Members.angdev.AngDevService.GetData(done);
}

function done(result, eventArgs) {
    if (result != null && result != "") {
        processData(result);
    }
    //spy
    // document.getElementById('pp').innerText = result;
}

window.onresize = onResize;
window.onload = init;

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

        