var obj = null;                 // object to drag (if false - nothing to move)
var mouseX, mouseY, mouseButton; // mouse coordinates and pressed button
var tblX = new Array();          // table cells height
var tblY = new Array();          // table cells width
var scrollX = 0, scrollY = 0;    // window scroll offset
var y = 0; y_old = 0; y_obj = 0;         // define Y counter
var backgroundcolor_old = "white";
var table;                       // reference to the table


// register onLoad event with anonymous function
function onloadDnD(){
    if(document.getElementById("viewmyteamtable")){
        // calculate table colums and rows offset (cells dimensions)
        calculate_cells();
        // get div elements in table and attach onmousedown event handler
        var divs = table.getElementsByTagName('div');
        
        for (var i=0; i<divs.length; i++) divs[i].onmousedown = mousedown;
        // dissable text selection for ie
        document.onselectstart = function(e) {return false}
        // attach onscroll event (needed for recalculating table cells positions)
        window.onscroll = scroll;
    }
}

// take care of window scroll position
function scroll(e){
    // Netscape compliant
  if (typeof(window.pageYOffset) == 'number'){
    scrollY = window.pageYOffset;
    scrollX = window.pageXOffset;
  }
  // DOM compliant
  else if (document.body && (document.body.scrollLeft || document.body.scrollTop)){
    scrollY = document.body.scrollTop;
    scrollX = document.body.scrollLeft;
  }
  // IE6 standards compliant mode
  else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)){
    scrollY = document.documentElement.scrollTop;
    scrollX = document.documentElement.scrollLeft;
  }
    // recalculate table cells because table was scrolled 
    calculate_cells();
}

function removeChildrenFromNode(node) {
	if(node)
		if(node.hasChildNodes()) {
			for(var i=0; i< node.childNodes.length; i++) {
					if (node.childNodes[i].nodeName == "span" && node.childNodes[i].id.test("maptitle") ){
						node.removeChild(node.firstChild);       
					}
			}
		}     
}

function getpopupbyid(pid){
    $("div[title=playerinfo]").hide("slow");
	/*
	 * Поп-ап заблокирован    
	   showPopup("tr[class$=selectteamplayer]",$("select.schema").attr("id"),index,pid,e);    
	*/
    if(pid != ''){
    	//при перезагрузке стр.команды грузит инфу игрока в див слева
        $.post("/player/info", {pid:pid, tid:$("p.commandlabel").attr("id")}, function(data){
        	$("#playerinfo").html(data);
        });
    }    
};

// calculate table colums and rows offset (cells dimensions) 
function calculate_cells(){
    // define offset, cell and counter
    var offset, cell, i;
    // set reference to the table
    table = document.getElementById('viewmyteamtable');
    // collect table rows and cells for the first row (columns)
    var tr = table.getElementsByTagName('tr');
    var td = tr[0].getElementsByTagName('td');
    
    // initialize height of table rows
    for (i=0; i < tr.length; i++){
        // set scroll offset and cell object
        offset = 0 - scrollY; cell = tr[i];
        // calculate row offSet from the top and save to the array
        do {offset += cell.offsetTop;} while (cell = cell.offsetParent);
        tblY[i] = new Array(offset, tr[i].offsetHeight + offset);
    }
    // initialize width of table columns
    for (i=0; i<td.length; i++){
        // set scroll offset and cell object
        offset = 0 - scrollX;    cell = td[i];
        
        // calculate cell offSet from the left and save to the array
        do {offset += cell.offsetLeft;} while (cell = cell.offsetParent);
        tblX[i] = new Array(offset, td[i].offsetWidth + offset);
    }
}

// onmousedown handler
function mousedown(e){
    // define event (cross browser)
    var evt = e || window.event;
    // set reference to the dragable object
    obj = this;
    // set current mouse position
    mouseX = evt.clientX;
    mouseY = evt.clientY;
    // and pressed mouse button
    if (evt.which)
		mouseButton = evt.which;
    else
		mouseButton = evt.button;
    // activate onmousemove and onmouseup on document level
    // if left mouse button is pressed
    if (mouseButton == 1){
        document.onmousemove = mousemove;
        document.onmouseup   = mouseup;
    }
    // disable text selection
    return false;
}

// onmousemove handler for document level
function mousemove(e){
	if(!obj)
		return false;

    // define event (FF & IE)
    var evt = e || window.event;

var isstart = (y == y_old && y == 0);

// set left and top values for dragable element
obj.style.left = (evt.clientX - mouseX) + "px";
obj.style.top  = (evt.clientY - mouseY) + "px";
// set current cell position X
for (x=0; x < tblX.length-1 && tblX[x][0] < evt.clientX; x++)
    if (evt.clientX <= tblX[x][1]) break;
// set current cell position Y
for (y = 0; y < tblY.length - 1 && tblY[y][0] < evt.clientY; y++)
    if (evt.clientY <= tblY[y][1]) break;
// if location is different, set background colors for previous and current cell
if (y != y_old){
    if(y_old != 0){
        table.rows[y_old].style.backgroundColor=backgroundcolor_old;
    }

    // remember current position
    y_old = y;
	backgroundcolor_old = table.rows[y].style.backgroundColor;

	// setup new attributes
    var sostav = obj.parentNode.parentNode.getAttribute("sostav");
    var nextSostav = table.rows[y].getAttribute("sostav");
    
    table.rows[y].style.backgroundColor = returnBackgroundColor(sostav, nextSostav);
}

if(isstart){
	table.rows[y].style.backgroundColor = backgroundcolor_old = 'yellow';
	y_obj = y;
}
}

// onmouseup handler
function mouseup(e){
	if(!y){
		obj = null; y = y_old = y_obj = 0;
		return false;
	}

    // перетиягиваемая строка
    var id = obj.parentNode.parentNode.getAttribute("id");   
	var sostav = obj.parentNode.parentNode.getAttribute("sostav");
    var nextId = null;
	var to = table.rows[y].getAttribute("sostav");
    
    // if object isn't moved, then not needed any action
	if (x != null){
        obj.style.left = 0;
        obj.style.top  = 0;
        if(y > 0){
            table.rows[y].style.backgroundColor='white';
            nextId = table.rows[y].getAttribute('id');
        }                                                
        // detach onmousemove and onmouseup events
        document.onmousemove = null;
        document.onmouseup   = null;

        // recalculate table cells because cell content could change cell dimension 
        calculate_cells();
        movePlayerTo(sostav,id,to,nextId);
    }

	table.rows[y_obj].style.backgroundColor = "white"
	obj = null; y = y_old = y_obj = 0;
}

// рассталяет игроков и подписи на поле
function recoverPlayers(){
    var selVal = $("select.schema option:selected").val() || $("#schema").attr('schema') || '';
    
    if(selVal == ''){
        //var layout = new Array();
        //разобраться - была ошибка layout undefined
        //var layout = $("#footballField").attr("src").match("([0-9\-]+)\.png$");
        var layout = new Array();
        if(layout != null){
            selVal = layout[1];
        }else selVal = '3-5-2';
    }
	
    placeplayersbyLayout(selVal);
}

/**
*@desc Place players on field by layout
*@param selVal - selector Value 4-4-3|4-5-1|4-3-3
*/
function placeplayersbyLayout(selVal){
	// РАССТАНОВКА ИГРОКОВ
	removeChildrenFromNode(document.getElementById("footbalFieldP"));

	var playersCount = $("tr[sostav=1][num]").length;
	var id;
	var ids = new Array();
	
	for( i = 0; i < playersCount; i++ ){
		id = $("tr[sostav=1][num] div div span[class^=draggable]:eq("+i+")").attr('id') ;
		if(document.getElementById(id)){
		  ids[i]  = id;
		}
	}
	
	for( i = 0; i < ids.length; i++ ){
		document.getElementById("footbalFieldP").appendChild(document.getElementById(ids[i]));
	}
	for( i = 0; i < ids.length; i++ ){
	   if(document.getElementById(ids[i].replace('span','maptitle'))){
			document.getElementById("footbalFieldP").appendChild(document.getElementById(ids[i].replace('span','maptitle')));
	   }
	}

	$("span[id^=span]").hide();     
	$("span[id^=maptitle]").hide();         

    // Вратарь   1
    placePlayer("tr[sostav=1][num][amplua=1]",355,140); 

	if(selVal == '3-5-2'){
		// защита 3
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,140);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,200);
			   
		// полузащита  5
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",210,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",210,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",190,140);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(3)",135,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(4)",135,240);
		
		// нападающий 2
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,90);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",65,190);
	}else if(selVal == '3-4-3'){
		// защита 3
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,140);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,200);
				
		// полузащита  4
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",210,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",210,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",135,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(3)",135,240);
		
		// нападающий 3
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,90);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",25,140);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(2)",65,190);
	}else if(selVal == '4-4-2'){
		// защита 4
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",320,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,200);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",320,200);
				
		// полузащита  4
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",210,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",210,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",135,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(3)",135,240);
		
		// нападающий 2
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,90);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",65,190);
	}
	else if(selVal == '4-3-3'){
		// защита 4
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",320,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,200);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",320,200);
		
		// полузащита  3
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",190,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",190,140);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",190,40);
		
		// нападающий    3
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,90);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",25,140);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(2)",65,190);
	}else if(selVal == '4-5-1'){
		// защита 4
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",320,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,200);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",320,200);
		
		// полузащита  5
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",210,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",210,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",190,140);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(3)",135,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(4)",135,240);
		
		// нападающий 1
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",25,140);
	}else if(selVal == '5-3-2'){
		// защита 5
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,140);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",320,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",265,250);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(4)",320,210);

		// полузащита  3
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",190,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",190,140);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",190,40);
		
		// нападающий 2
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,90);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",65,190);
	}else if(selVal == '5-2-3'){
		// защита 5
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,140);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",320,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",265,250);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(4)",320,210);

		// полузащита  2
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",190,195);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",190,95);
		
		// нападающий    3
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,90);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",25,140);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(2)",65,190);
	 
	}else if(selVal == '6-3-1'){
		// защита 4
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",320,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,240);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",320,240);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(4)",300,110);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(5)",300,170);

		
		// полузащита  3
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",190,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",190,140);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",190,40);
		
		// нападающий    1
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",25,140);
	}else if(selVal == '6-2-2'){
		// защита 4
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",320,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,240);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",320,240);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(4)",300,110);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(5)",300,170);

		
		// полузащита  3
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",190,95);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",190,195);
		
		// нападающий 2
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,95);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",65,195);
	}else if(selVal == '6-1-3'){
		// защита 4
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",320,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,240);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",320,240);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(4)",300,110);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(5)",300,170);
	
		
		// полузащита  3
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",190,145);
 		
		// нападающий    3
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,90);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",25,140);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(2)",65,190);
	}else if(selVal == '5-4-1'){
		// защита 5
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,140);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",320,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",265,250);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(4)",320,210);
	
		// полузащита  4
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",210,60);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",210,230);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",135,60);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(3)",135,230);
 		
		// нападающий    1
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",25,140);
	}else if(selVal == '5-1-4'){
		// защита 5
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,40);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,140);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",320,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",265,250);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(4)",320,210);
	
		// полузащита  1
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",190,145);
  		
		// нападающий 4
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,95);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",65,195);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(2)",125,95);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(3)",125,195);
	}else if(selVal == '4-2-4'){
		// защита 4
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",320,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,210);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(3)",320,210);
				
		// полузащита  2
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",190,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",190,240);
 		
		// нападающий 4
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",25,95);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",25,195);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(2)",85,95);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(3)",85,195);
	}else if(selVal == '3-6-1'){
		// защита 3
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",265,80);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,140);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(2)",265,200);
				
		// полузащита  6
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",210,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",210,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",135,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(3)",135,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(4)",135,140);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(5)",210,140);
		
		// нападающий 1
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",25,140);
	}else if(selVal == '2-6-2'){
		// защита 2
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",300,95);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,195);
				
		// полузащита  6
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",210,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",210,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",135,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(3)",135,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(4)",135,140);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(5)",210,140);
		
		// нападающий 2
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,95);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",65,195);
	}else if(selVal == '2-5-3'){
		// защита 2
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",300,95);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,195);
				
		// полузащита  5
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",210,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",210,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",135,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(3)",135,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(4)",180,145);
		
		// нападающий    3
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",65,90);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",25,140);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(2)",65,190);
	}else if(selVal == '2-4-4'){
		// защита 2
		placePlayer("tr[sostav=1][num][amplua=2]:eq(0)",300,95);
		placePlayer("tr[sostav=1][num][amplua=2]:eq(1)",300,195);
				
		// полузащита  4
		placePlayer("tr[sostav=1][num][amplua=3]:eq(0)",220,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(1)",220,240);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(2)",145,40);
		placePlayer("tr[sostav=1][num][amplua=3]:eq(3)",145,240);
		
		// нападающий 4
		placePlayer("tr[sostav=1][num][amplua=4]:eq(0)",25,95);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(1)",25,195);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(2)",85,95);
		placePlayer("tr[sostav=1][num][amplua=4]:eq(3)",85,195);
	}
}

function placePlayer(selector,top,left){
    if($(selector).length == 0)
		return;
		
   var id = $(selector).attr('id');
   
	$("#span"+id).css({'top':top+'px','left':left+'px'}).attr('top',top).attr('left',left).show();
	$("#maptitle"+id).html($("#span"+id).attr('title')).css({'top':(parseInt(top)+45)+'px','left':(parseInt(left)-30)+'px'}).show();
}

function returnBackgroundColor(draggableSostav, nextSostav){
    var forbiddenColor = "red";
    var allowColor = "skyblue";
	if(draggableSostav == 1 && draggableSostav == nextSostav)
		return forbiddenColor;
	return allowColor;                    
}

function movePlayerTo(id,to,nextId){
    var team_id       = $("select.schema").attr("id"); 
    $.post('/player/ajaxmove', {tid:team_id, pid:id, to:to, nextId:nextId}, function(data){
               if(data){
                   $("div#teamPlayerTable").html(data);
                   $.post("/player/readytocomplete", {tid:team_id}, function(data){
                    	setCompleteBanner(data);
                   });
                   onreadyFunction_team();                
               }
           });         
}

// устанавливает индикатор собранности команды
function setCompleteBanner(completed){
	var compBan = $("div#compban");
	var compMess = $("div#compban p.buttonBig");
    switch (completed) {
        case 'OK' : 
            compBan.removeClass('quickStartRed').addClass('quickStartComplete');
            compMess.html('Команда собрана');
            $('.teamReadyReason').html('');
            break;
        
        case 'MAIN': 
            compBan.removeClass('quickStartComplete').addClass('quickStartRed');
            compMess.html('Команда НЕ собрана');
            compMess.append('<span class="teamReadyReason">Не собран основной состав</span>');
            break;
        
        case 'RESERVE': 
            compBan.removeClass('quickStartComplete').addClass('quickStartRed');
            compMess.html('Команда НЕ собрана');
            compMess.append('<span class="teamReadyReason">Не собран запасной состав</span>');
            break;
            
        case 'CAP' : 
            compBan.removeClass('quickStartComplete').addClass('quickStartRed');
            compMess.html('Команда НЕ собрана');
            compMess.append('<span class="teamReadyReason">Не назначен капитан</span>');
            break;
        
        case 'TACTICS' : 
            compBan.removeClass('quickStartComplete').addClass('quickStartRed');
            compMess.html('Команда НЕ собрана');
            compMess.append('<span class="teamReadyReason">Амплуа футболистов основного состава не соответствует выбранной тактике</span>');
            break;
            
        case 'NOT_PUBLISHED' : 
            compBan.removeClass('quickStartComplete').addClass('quickStartRed');
            compMess.html('Команда НЕ собрана');
            compMess.append('<span class="teamReadyReason">Команда не опубликована</span>');
            break;
        
        default : 
            compBan.removeClass('quickStartComplete').addClass('quickStartRed');
            compMess.html('Команда НЕ собрана');
            break;              
    }
}

function onreadyFunction_team(){
    
   BrowserDetect.init(); 
   
   onloadDnD();
   
    $("img[moveto]").click(function(){
        id = $(this).attr("id");
        var moveto = $(this).attr("moveto");
        //var tid =  $("select.schema").attr("id");
        var tid =  $("p.commandlabel").attr("id");
        
        if(moveto == -1)
            return;
        //кнопки-формы    
        $.post("/player/ajaxmove", {to:moveto, pid:id, tid:tid}, function(data){
            if(data){
                $("div#teamPlayerTable").html(data);
            	/*//проверять без readytocomplete!!!
                if(moveto == 0){//упростить
            		setCompleteBanner(false);
            		onreadyFunction_team();
            		return;
            	}*/                
                $.post("/player/readytocomplete", {tid:tid}, function(response){
                    setCompleteBanner(response);
					//$("#playerinfo").html('Выберите футболиста');
                });
                onreadyFunction_team(); 
            }
        });
    });
    
    $("img[moveto_id]").click(function(){
    	id = $(this).attr("id");
    	nextId = $(this).attr("moveto_id");
    	moveto = 0;
    	//var tid =  $("select.schema").attr("id");
    	var tid =  $("p.commandlabel").attr("id");
    	
    	if((moveto == -1) || (nextId <= 0)){
    		return;
    	}
    	
    	$.post("/player/ajaxmove", {to:moveto, pid:id, tid:tid, nextId:nextId}, function(data){
    		if(data){
    			$("div#teamPlayerTable").html(data);
    			onreadyFunction_team();	
    		}
    	});
    });
    
    $("span.cap").click(function(){
    	var selector = $(this);
		var tid =  $("p.commandlabel").attr("id");    
    	var pid = selector.parent().parent().parent().attr("id");
    	$.post("/team/setcap", {pid:pid, tid:tid}, function(response){
    		if(response == 'OK'){
        		$("span.capa").removeClass('capa').addClass('cap');
        		selector.removeClass('cap').addClass('capa');
        		$("span.cap[title='Капитан команды']").attr("title", "Назначить капитаном");
        		selector.attr("title", "Капитан команды");
                $.post("/player/readytocomplete", {tid:tid}, function(data){
                    setCompleteBanner(data);
                });
                //onreadyFunction_team();
    		}
        });
    });
    
    $("tr.selectteamplayer div.drag").click(function(){
    	//инфа игрока на стр. команды
    	//var tid =  $("select.schema").attr("id"); 
    	var tid =  $("p.commandlabel").attr("id"); 
        $.post("/player/info", {pid:$(this).parent().parent().attr("id"), tid:tid}, function(data){
        	$("#playerinfo").html(data);
        });
        index = $("tr.selectteamplayer").index($(this).parent());
        $("tr.selectteamplayer(" + index + ")").removeClass("selected");
        $("tr.selectteamplayer(" + index + ")").removeClass("selected");
        $(this).parent().addClass("selected");
        //window.scroll(0,600);
    });
    
    $("select.schema").change(function(){
    	var id = $(this).attr("id");
    	var sch = $(this).attr("value");
    	if(id && id!='dreamschema'){
    		$.post("/team/changeschema", {id:id, sch:sch},
        	        function(data){
        				if(data){//no data income. fix!!!
        					window.location.replace('/team/view');
        				}
        	        });
    	}else{
    		window.location.replace('/team/dreamteam/schema/' + sch);
    	}
 
    });

	//Расставить игроков по полю
	recoverPlayers();
}

$(document).ready(function(){
    onreadyFunction_team();
});
function removeFav(id){
	$.post('/team/removefav', { team: id  },function(data) {
		  $('#favorite_block').html(data);
	});
	return false;
}
function addNewFavorite(){
	$.post('/team/addfav', { id: $("#favorite_input").val()  },function(data) {
		  $('#favorite_block').html(data);
	});
	return false;
}
function findBestCombination(){
	$.post('/team/bestcombination', {id: $("select.schema").attr("id") ,  sch: $("select.schema").attr("value") },function(data) {
		if(data){
			window.location.replace('/team/view');
		}
	});
	return false;
}
function addToFavorite(teamId){
	$.post('/team/addfav', { id: teamId, smartlink: 1  },function(data) {
		  $('#addtofavlink').html(data);
	});
	return false;
}
