﻿/// <reference path="~/Scripts/jquery-1.3.2-vsdoc2.js" />


function GetX(o) {
    var l = o.offsetLeft; var t = o.offsetTop;
    while (o = o.offsetParent)
        l += o.offsetLeft;

    return l;
}

function GetY(o) {
    var t = o.offsetTop;
    while (o = o.offsetParent)
        t += o.offsetTop;
    return t;
}


function ShowPlayersPopup(role, obj, playerId,team,type,msg,maxRayting) {
    var player_container = document.getElementById("players_table_container_for_change");

    if (player_container == null || player_container == undefined)
        return;

    
    var player_to_buy_Id = document.getElementById("inputPlayerIdToBuy");
    if (player_to_buy_Id == null || player_to_buy_Id == undefined)
        return;

    player_to_buy_Id.value = playerId;

    var tbl = document.getElementById("players_table_for_change");

    if (tbl == null)
        return;

    var trs = tbl.getElementsByTagName("tr");

    if (trs.length <= 0)
        return;

    jQuery("#divByBuy").show();
    jQuery("#divBySell").hide();
//debugger;
    for (i = 0; i < trs.length; i++) {
        var roleId = trs[i].getElementsByTagName("td")[0].getElementsByTagName("input")[0].value * 1;
        var teamId = trs[i].getElementsByTagName("td")[0].getElementsByTagName("input")[1].value * 1;
        var rayting = trs[i].getElementsByTagName("td")[0].getElementsByTagName("input")[2].value * 1;
        if(rayting<-maxRayting)
            trs[i].style.display = "none";
        else if(type==0)
            trs[i].style.display = roleId == role ? "" : "none";
        else if(type==1)
            trs[i].style.display = teamId == team ? "" : "none";
        else if(type==2)
            trs[i].style.display = (roleId == role && teamId == team) ? "" : "none";
        else if(type==3)
            trs[i].style.display = (roleId == role && teamId != team) ? "" : "none";
    }

    //изменяем надпись наверху таблицы с заменами
    var txt = document.getElementById("sustitution_text_container");
    var txtToShow = document.getElementById("sustitution_text_container_toshow");
    txtToShow.innerHTML = msg;


    player_container.style.display = "block";
    player_container.style.left = GetX(obj) + "px";
    player_container.style.top = (GetY(obj) + 20) + "px";
    opened_tooltip = "players_table_container_for_change";
}

function CheckIfCanBuy(role, obj, playerId,team,type,msg,maxRayting) {
    ShowPlayersPopup(role, obj, playerId,team,type,msg,maxRayting); 
    return false;
}

function ShowMessage(obj,text)
{
    //изменяем надпись наверху таблицы с заменами
    var txtToShow = document.getElementById("sustitution_text_container_toshow");
    txtToShow.innerHTML =text;

    var tbl = document.getElementById("players_table_for_change");

    if (tbl == null)
        return;

    var trs = tbl.getElementsByTagName("tr");

    if (trs.length <= 0)
        return;

    for (i = 0; i < trs.length; i++) {        
            trs[i].style.display =  "none";
    }
    jQuery("#divByBuy").show();
    jQuery("#divBySell").hide();

    var player_container = document.getElementById("players_table_container_for_change");

    if (player_container == null || player_container == undefined)
        return;
    player_container.style.display = "block";
    player_container.style.left = GetX(obj) + "px";
    player_container.style.top = (GetY(obj) + 20) + "px";
    opened_tooltip = "players_table_container_for_change";
    return false;
}

function ShowOrHideBasePlayerByAmplua(role,maxRayting)
{
    var tbl = document.getElementById("players_table_for_change_other");

    if (tbl == null)
        return;

    var trs = tbl.getElementsByTagName("tr");

    if (trs.length <= 0)
        return;

    for (i = 0; i < trs.length; i++) {
        var rayting = trs[i].getElementsByTagName("td")[0].getElementsByTagName("input")[1].value * 1;
        if(rayting>maxRayting)
            trs[i].style.display = "none";      
        else if(role==-1){
            trs[i].style.display = "none";      
        }
        else{
            var val = trs[i].getElementsByTagName("td")[0].getElementsByTagName("input")[0].value * 1;
            if(val == role)
            trs[i].style.display = "";
        }        
    }
}
function CheckIfCanSell(role, obj, playerId,maxRayting) {
    if (role == null || role == undefined || !role)
        return false;

    var player_container = document.getElementById("players_table_container_for_change_other");

    if (player_container == null || player_container == undefined)
        return false;
        
    var player_to_buy_Id = document.getElementById("inputPlayerIdToSell");
    if (player_to_buy_Id == null || player_to_buy_Id == undefined)
        return false;


//прячем всех игроков
    ShowOrHideBasePlayerByAmplua(-1,maxRayting);

//показываем тех,у кого такой же роль.они будут всегда,т.к. если мы продаем игрока с таким же амплуа,то его место освобождается
    ShowOrHideBasePlayerByAmplua(role,maxRayting);
    
    //показываем только тех,которых можно купить
    role = role * 1;

    //Проверяем вратарей
    if (role != 0) {
        var n = parseInt(jQuery("#numberOfGoalKeepers").val());

        if (n < 3) {
            ShowOrHideBasePlayerByAmplua(0,maxRayting);
        }
    }

    //Проверяем защитников
    if (role != 1) {
        var n = parseInt(jQuery("#numberOfBack").val());

        if (n < 6) {
            ShowOrHideBasePlayerByAmplua(1,maxRayting);
        }
    }

    //Проверяем полузащитников
    if (role != 2) {
        var n = parseInt(jQuery("#numberOfHalfBack").val());

        if (n < 8) {
            ShowOrHideBasePlayerByAmplua(2,maxRayting);
        }
    }

    //Проверяем нападающих
    if (role != 3) {

        var n = parseInt(jQuery("#numberOfForwards").val());

        if (n < 6) {
            ShowOrHideBasePlayerByAmplua(3,maxRayting);
        }
    }
    
    player_to_buy_Id.value = playerId;

    jQuery("#divByBuy").hide();
    jQuery("#divBySell").show();

    player_container.style.display = "block";
    player_container.style.left = GetX(obj) + "px";
    player_container.style.top = (GetY(obj) + 20) + "px";
    opened_tooltip = "players_table_container_for_change_other";
    return false;
}

var opened_tooltip = "";

function getObject(id) {
    return document.getElementById(id);
    //if (isDOM) return document.getElementById(id);
    //if (isIE4) return document.all[id];
    //if (isNS4) return document.layers[id];
}

function closeToolTip(id) {
    var tooltip = getObject(id);


    if (tooltip == null)
        return;

    if (tooltip.hideTimer)
        clearTimeout(tooltip.hideTimer);

    tooltip.hideTimer = setTimeout(function() {
        tooltip.style.display = 'none';
        opened_tooltip = "";
    }, 1000);
}

function CloseOpenedTooltip() {

    var tooltip = getObject(opened_tooltip);


    if (tooltip == null)
        return;

    if (tooltip && tooltip.hideTimer)
        clearTimeout(tooltip.hideTimer);

    tooltip.style.display = 'none';
    opened_tooltip = "";
}

function GetWindowWidth() {
    var myWidth = 0;
    if (typeof (window.innerWidth) == 'number')
    //Non-IE
        myWidth = window.innerWidth;
    else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
    //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
    else if (document.body && (document.body.clientWidth || document.body.clientHeight))
    //IE 4 compatible
        myWidth = document.body.clientWidth;

    return myWidth;
}

function ShowToolTip(e, id) {

    //if (opened_tooltip != null && opened_tooltip.length > 0)
    //    CloseOpenedTooltip();


    var tooltip = getObject(id);


    if (tooltip == null)
        return;

    if (tooltip && tooltip.hideTimer)
        clearTimeout(tooltip.hideTimer);

    /*var current = getCurrentPosition(e);
    var docWidth = getClientWidth();
    
    //определяем положение всплывающих окон так, чтобы они не выпирали за пределы акна браузера
    var windowWidth = GetWindowWidth();
    
    //отступ всплывающих окошек о правого края 
    var paddingright = 40;
    
    if (windowWidth <= 0 || paddingright + 300 + current.left + 15 < windowWidth)
    tooltip.style.left = current.left + 15;
    else
    tooltip.style.left = windowWidth - paddingright - 300;    
        
    tooltip.style.top = current.top + 50;
    tooltip.style.display = 'block';*/
    opened_tooltip = id;
}

function showTooltipWithTimer(e) {
    if (e.hideTimer)
        clearTimeout(e.hideTimer);

    if (opened_tooltip != null && opened_tooltip.length > 0)
        CloseOpenedTooltip();

    e.style.display = 'block';

    opened_tooltip = e.getAttribute('Id');
}

