if (!document.league) document.league = new Object();
document.league.gogoAjax = function (divreplace, functionname, mas, params, exec_after)
{
	var baseurl = '';
	var xml_post;
 	  xml_post = "<?xml version=\"1.0\"?>";
    xml_post += "<methodCall>";
    xml_post += "<methodName>" + functionname + "</methodName>";
    
    if(params == null)
    {
	   xml_post += "<params>";
		  for(i=0;i<mas.length;i++)
		  {
		    xml_post += "<param><value><string>" + mas[i] + "</string></value></param>";
		  }
		  xml_post += "</params>";
	  }
	  else
	  {
	   xml_post += params;
	  }
	  
    xml_post += "</methodCall>";
    
	$.ajax({
	  type: "POST",
	  url: "/xmlrpc.php",
	  dataType: "xml",
	  cache: false,
	  data: xml_post,
	  success: function (xml)
	  {
	   	if(divreplace!=''){
	  	
		   $(xml).find('params').each(function() {
		    
				  $(divreplace).html($(this).text());
			  });
		}
		if(exec_after){
      	 exec_after(xml);
      	}
	  }
	});
}

document.league.getId= function(txt)
{
	return txt ? txt.replace(/.*_(\d)/,"$1") : 0;
}

document.league.common = new Object();

document.league.common.afterRequest = function(xml)
{
	var content = '';
	var tID = 0;
	var eID = 0;
	var type = '';
	var close = '';
	
	$(xml).find('member').each(function()
	{
		switch($(this).find('name').text()){
			case 'content':
				content = $(this).find('string').text();
				break;
			case 'tournament':
				tID = $(this).find('string').text();
				break;
			case 'event':
				eID = $(this).find('string').text();
				break;
			case 'type':
				type = $(this).find('string').text();
				break;
			case 'close':
				close = $(this).find('string').text();
				break;
		}
	});
	
	switch(type){
		case 'top10players':
			if(tID < 1 || eID < 1) return;
			var index = document.league.common.event.parentNode.parentNode.rowIndex;
			var newRow = document.league.common.event.parentNode.parentNode.parentNode.parentNode.insertRow(index + 1);
			newRow.setAttribute('id', '' + tID + '-' + eID);
			var newCell = newRow.insertCell(0);
			newCell.colSpan = document.league.common.event.parentNode.parentNode.childNodes.length
			newCell.innerHTML = '<td colspan="' + document.league.common.event.parentNode.parentNode.childNodes.length + '">' + content + '<\/td>';
			break;
		case 'winnersList':
			$('table#winnersList>tbody>tr:last-child').after(content);
			if(++document.league.common.playersRange > 3 || close == 'close')
				$('#morePlayersLink').css('display', 'none');
			break;
		case 'playerEvents':
			if(eID == '') return;
			var index = document.league.common.currentPlayer.parentNode.parentNode.rowIndex;
			var newRow = document.league.common.currentPlayer.parentNode.parentNode.parentNode.parentNode.insertRow(index + 1);
			newRow.setAttribute('id', 'player-' + eID);
			var newCell = newRow.insertCell(0);
			newCell.colSpan = document.league.common.currentPlayer.parentNode.parentNode.childNodes.length;
			newCell.innerHTML = content;
			break;
	}
}

document.league.common.event = null;
document.league.common.top10players = function(obj, tournamentID, eventID)
{
	if(tournamentID < 1 || eventID < 1) return;
	
	var div = document.getElementById('' + tournamentID + '-' + eventID);
	if(div){
		if(div.style.display == 'none'){
			div.style.display = 'table-row';
		} else {
			div.style.display = 'none';
		}
		
		return;
	}
	
	document.league.common.event = obj;
	document.league.gogoAjax('', 'events.top10players', [tournamentID, eventID], null, document.league.common.afterRequest);
	
	return false;
}

document.league.common.playersRange = 1;
document.league.common.showMorePlayers = function(eventID)
{
	if(eventID < -1) return false;
	
	document.league.gogoAjax('', 'events.getPlayers', [eventID, document.league.common.playersRange], null, document.league.common.afterRequest);
	
	return false;
}

document.league.common.currentPlayer = null;
document.league.common.showPlayerEvents = function(obj, player, event)
{
	if(player == '') return;
	
	var div = document.getElementById('player-' + player);
	if(div){
		if(div.style.display == 'none'){
			div.style.display = 'table-row';
		} else {
			div.style.display = 'none';
		}
		
		return false;
	}
	
	document.league.common.currentPlayer = obj;
	document.league.gogoAjax('', 'events.getPlayerEvents', [player,event], null, document.league.common.afterRequest);
	
	return false;
}
























