var xml_giornate_url_fc = "/static/application/statsports/giornateA_flash.xml";
var time_url_fc = "/EtSkyIt/getServerDate.do";
var xml_rosa_url_fc = "/static/application/statsports/matchcenter/squads/";
var matchcenter_url = "http://sport.sky.it/contenuti/matchcenter/liveMatch2010.html";
var img_folder_url = "/static/images/matchcenter/img/";


var xmlGiornateDoc_fc = null;
var xmlRosaDoc_fc = null;
var current_time_fc = "";
var current_date_fc = null;
var current_day_fc = "";
var random_fc = Math.random() * 100000000000000000;


var vopen='boxInfoSocieta';
function openTab(idstring){
	if (idstring!=vopen){
		document.getElementById(vopen).style.display='none';
		document.getElementById(vopen+'Label').className=vopen+'Off';
		vopen=idstring;
	}
	document.getElementById(vopen).style.display='block';
	document.getElementById(vopen+'Label').className=vopen+'On';

	//Caricamento xml rosa al primo clik sul tab
	if (idstring == 'boxInfoRosa') {
		if (xmlRosaDoc_fc == null) {
			loadXmlRosa();
		}
		//else alert("xml gia caricato");
	}
}


//Converte il nome squadra dai valori dei nomi delle pagine ai valori usati nell'xml
function teamNameXml(name) {
	if (name.toLowerCase() == "milan") return "AC Milan";
	else if (name.toLowerCase() == "inter") return "Inter Milan";
	else return name;
}


//Converte il nome squadra dai valori usati nell'xml ai valori dei nomi delle pagine
function teamNameHtml(name) {
	if (name.toLowerCase() == "ac milan") return "Milan";
	else if (name.toLowerCase() == "inter milan") return "Inter";
	else return name;
}


//Converte il nome squadra dai valori dei nomi delle pagine ai valori usati nei nomi degli xml
function teamNameXmlRosa(name) {
	if (name.toLowerCase() == "inter") return "Internazionale";
	else return name;
}


//Trasformazione stringa data
function matchDateHtml(date_str) {
	//formato data in: yyyy-mm-dd hh:mi:ss
	//formato data out: dd/mm/yyyy hh:mi
	var day = date_str.substring(8,10);
	var month = date_str.substring(5,7);
	var year = date_str.substring(0,4);
	var hours = date_str.substring(11,13);
	var minutes = date_str.substring(14,16);
	return (day+'/'+month+'/'+year +' '+hours+':'+minutes);
}


//Converta stringa data in oggetto data
function fromStringToDateFC(str,type) {
	//formato data: dd/mm/yyyy hh:mi:ss
	if (type == 'cur') {
		var day = str.substring(0,2);
		var month = str.substring(3,5) -1;
		var year = str.substring(6,10);
	}
	//formato data: yyyy-mm-dd hh:mi:ss
	else if (type == 'xml') {
		var day = str.substring(8,10);
		var month = str.substring(5,7) -1;
		var year = str.substring(0,4);
	}
	var hours = str.substring(11,13);
	var minutes = str.substring(14,16);
	var seconds = str.substring(17,19);
	//alert(str +'='+ day+'/'+month+'/'+year +' '+hours+':'+minutes+':'+seconds)
	return (new Date(year, month, day, hours, minutes, seconds));
}


//Restituisce oggetto data corrente
function getCurrentDate() {
	$.getJSON(time_url_fc, function(data){
		current_date_fc = fromStringToDateFC(data.TIMESTAMP,'cur');
		current_day_fc = data.DAY_OF_WEEK;

		loadInitTab(current_day_fc);
	});
}


//Caricamento xml calendario
function loadXmlGiornate() {
	$.ajax({
    type: "GET",
    url: xml_giornate_url_fc + '?' + random_fc,
		dataType: "xml",
    success: function(xml){
			//alert(current_date_fc)
		  xmlGiornateDoc_fc = xml;
      //alert( "Data Saved: " + xmlGiornateDoc_fc );
			loadTabCalendario( xmlGiornateDoc_fc, current_date_fc );
    }
  });
}


//Caricamento tab calendario
function loadTabCalendario(xml, d) {
	var html_calendar_fc = '';
	var dateMatch_string_fc = '';
	var dateMatch_fc = '';
	var team_a_fc = '';
	var team_b_fc = '';
	var goals_a_fc = '';
	var goals_b_fc = '';
	var link_fc = '';
	var idMatch_fc = '';
	var giornata_fc = '';
	var cont = 0;
	var rowClass = ''

	html_calendar_fc += '<table cellpadding="0" cellspacing="0" border="0" align="center" valign="top" width="252">';
	html_calendar_fc += '<tr><td><img src="http://static.sky.it/static/images/sezioni/sport/calcio_italiano/fan_club/menu_box_club_calendario.gif" border=""/></td></tr>';
	html_calendar_fc += '<tr><td>';
	html_calendar_fc += '<div class="divTableCalendario">';
	html_calendar_fc += '<table cellpadding="0" cellspacing="0" border="0" width="234">';

	$(xml).find('giornata').each(function(){
		if (cont % 2 == 1) { rowClass = 'class="rigaDispariRosa"'; }
		else { rowClass = ''; }
		cont++;

		giornata_fc = $(this).attr('id');

		$(this).find('item').each(function(){
			if ($(this).find('teamA').text() == teamNameXml(team) || $(this).find('teamB').text() == teamNameXml(team)) {
				dateMatch_string_fc = $(this).attr('dateMatch');
				dateMatch_fc = fromStringToDateFC(dateMatch_string_fc,'xml');
				team_a_fc = $(this).find('teamA').text();
				team_b_fc = $(this).find('teamB').text();

				html_calendar_fc += '<tr>';
				html_calendar_fc += '<td '+ rowClass +' align="left" width="42" style="padding-left:3px;" height="20">'+ giornata_fc +'</td>';
				html_calendar_fc += '<td '+ rowClass +' align="left" width="103">'+ teamNameHtml(team_a_fc) + ' - ' + teamNameHtml(team_b_fc) +'</td>';
				
				
				//Partita da giocare: now < data partita
				if ( Date.parse(d) < Date.parse(dateMatch_fc) ) {
					goals_a_fc = "/";
					goals_b_fc = "/";
					idMatch_fc = '';
					link_fc = matchDateHtml(dateMatch_string_fc);
				}
				//Partita in gioco: data partita <= now <= data partita + 2ore
				else if ( Date.parse(d) >= Date.parse(dateMatch_fc) && Date.parse(d) <= getEndDateMatch(dateMatch_fc) ) {
					goals_a_fc = "/";
					goals_b_fc = "/";
					idMatch_fc = $(this).attr('idMatch');
					link_fc = '<a onclick="popupOW(\''+ matchcenter_url + '?' + idMatch_fc +'\',\'matchcenter\', 740, 640, \'scrollbar=no\');" href="#boxTabAnchor" class="nowLive">ORA IN CAMPO</a>';

					//Visualizza il pulsante live
					$('#button_live').html('<a onclick="popupOW(\''+ matchcenter_url + '?' + idMatch_fc +'\',\'matchcenter\', 740, 640, \'scrollbar=no\');" href="#boxTabAnchor"><img src="http://static.sky.it/static/images/sezioni/sport/calcio_italiano/fan_club/bot_live.gif" border="0" alt=""/></a>');
				}
				//Partita giocata: now > data partita + 2ore
				else if ( Date.parse(d) > getEndDateMatch(dateMatch_fc) ) {
					goals_a_fc = $(this).find('teamA').attr('goals');
					goals_b_fc = $(this).find('teamB').attr('goals');
					idMatch_fc = $(this).attr('idMatch');
					link_fc = '<a onclick="popupOW(\''+ matchcenter_url + '?' + idMatch_fc +'\',\'matchcenter\', 740, 640, \'scrollbar=no\');" href="#boxTabAnchor" class="viewResults">'+ goals_a_fc + ' - ' + goals_b_fc +'</a>';
				}


				html_calendar_fc += '<td '+ rowClass +' align="center" width="84">'+ link_fc +'</td>';
				html_calendar_fc += '</tr>';
			}
		});
	});

	html_calendar_fc += '</table>';
	html_calendar_fc += '</div>';
	html_calendar_fc += '</td></tr>';
	html_calendar_fc += '</table>';

	$("#boxInfoCalendario").html(html_calendar_fc);
}


//Restituisce oggetto ora di inizio partita + 2 ore
function getEndDateMatch(d) {
	d.setHours( d.getHours()+2 );
	return d;
}


//Caricamento xml rosa
function loadXmlRosa() {
	$.ajax({
    type: "GET",
    url: xml_rosa_url_fc + teamNameXmlRosa(team) + ".xml" + '?' + random_fc,
		dataType: "xml",
    success: function(xml){
		  xmlRosaDoc_fc = xml;
      //alert( "Data Saved: " + xmlRosaDoc_fc );
			loadTabRosa(xmlRosaDoc_fc);
    }
  });
}


//Caricamento tab rosa
function loadTabRosa(xml) {
	var first_name = '';
	var known_name = '';
	var real_position = '';
	var jersey_num = '';
	var img_name = '';
	var full_name = '';
	var player_height = '';
	var player_weight = '';
	var birth_date = '';
	var cont = 0;
	var rowClass = ''

	var html_rosa_fc = '';
	html_rosa_fc += '<table cellpadding="0" cellspacing="0" border="0" align="center" valign="top" width="252">';
	html_rosa_fc += '<tr><td><img src="http://static.sky.it/static/images/sezioni/sport/calcio_italiano/fan_club/menu_box_club_rosa.gif" border=""/></td></tr>';
	html_rosa_fc += '<tr><td>';
	html_rosa_fc += '<div class="divTableRosa">';
	html_rosa_fc += '<table cellpadding="0" cellspacing="0" border="0" width="234">';

	$(xml).find('Player').each(function(){
			if (cont % 2 == 1) { rowClass = 'class="rigaDispariRosa"'; }
			else { rowClass = ''; }
			cont++;

			first_name = jQuery.trim( $(this).find("Stat[Type='first_name']").text() ).replace(/\n/g,"");
			known_name = jQuery.trim( $(this).find("Stat[Type='known_name']").text() ).replace(/\n/g,"");
			real_position = jQuery.trim( $(this).find("Stat[Type='real_position']").text() ).replace(/\n/g,"");
			jersey_num = jQuery.trim( $(this).find("Stat[Type='jersey_num']").text() ).replace(/\n/g,"");
			player_height = jQuery.trim( $(this).find("Stat[Type='height']").text() ).replace(/\n/g,"");
			player_weight = jQuery.trim( $(this).find("Stat[Type='weight']").text() ).replace(/\n/g,"");
			birth_date = jQuery.trim( $(this).find("Stat[Type='birth_date']").text() ).replace(/\n/g,"");

			if (first_name != '' && known_name != '') { full_name = first_name + ' ' + known_name; }
			else if (first_name == '') { full_name = known_name; }
			else if (known_name == '') { full_name = first_name; }

			img_name = full_name.replace(/\'/g,"_");
			img_name = img_name.replace(/\s/g,"_").toLowerCase();

			html_rosa_fc += '<tr>';
			html_rosa_fc += '<td '+ rowClass +' align="left" width="117" style="padding-left:3px;" height="20" id="'+ img_name +'" name="'+ img_name +'"><a class="playerName" onmouseover="viewPlayerInfo(\''+ img_name +'\',\''+ full_name.replace(/\'/g,"\\\'") +'\',\''+ getRolePlayer(real_position) +'\',\''+ jersey_num +'\',\''+ player_height +'\',\''+ player_weight +'\',\''+ birth_date +'\')" onmouseout="resetInfoPlayer()" href="#boxTabAnchor">'+ full_name +'</a></td>';
			html_rosa_fc += '<td '+ rowClass +' align="center" width="45">'+ jersey_num +'</td>';
			html_rosa_fc += '<td '+ rowClass +' align="center" width="67">'+ getRolePlayer(real_position) +'</td>';
			html_rosa_fc += '</tr>';
	});

	html_rosa_fc += '</table>';
	html_rosa_fc += '</div>';
	html_rosa_fc += '</td></tr>';
	html_rosa_fc += '</table>';

	$("#boxInfoRosa").html(html_rosa_fc);
}


//Converte ruolo giocatore da ruolo nell'xml a ruolo nell'html
function getRolePlayer(role) {
	var roles = {};
	roles["Goalkeeper"] = "Portiere";
	roles["Defender"] = "Difensore";
	roles["Midfielder"] = "Centrocampista";
	roles["Forward"] = "Attaccante";
	return roles[role];
}


//Mostra tooltip con info giocatore al passaggio del mouse sul nome
function viewPlayerInfo(player_id,player_name,player_role,player_num,player_height,player_weight,player_birth_date) {
	
	if (player_birth_date == "") { var birth_date = "";	}
	else { var birth_date = player_birth_date.substring(8,10)+'-'+player_birth_date.substring(5,7)+'-'+player_birth_date.substring(0,4); }
	if (player_height == "0" || player_height == "") { var height = ""; }
	else { var height = player_height.substring(0,1)+','+ player_height.substring(1); }
	if (player_weight == "0" || player_weight == "") { var weight = "";	}
	else { var weight = player_weight; }

	var tooltip_player = '';

	//AJAX
	var url = img_folder_url + teamNameXmlRosa(team) + '/' + player_id + '.jpg';
	var xmlReq = getHTTPObject(); // We create the HTTP Object
	xmlReq.onreadystatechange = function(){
		if (xmlReq.readyState == 4)
		{	
			//Con foto
			if(xmlReq.status == 200) {
				tooltip_player += '<table border="0" cellpadding="0" cellspacing="0" width="177" height="133" class="infoPlayer" valign="top">';
				tooltip_player += '<tr><td height="22" valign="top" style="padding-left:7px;padding-top:7px;padding-right:0px;" colspan="2"><strong>'+ player_name +'</strong></td></tr>';
				tooltip_player += '<tr><td width="77" style="padding-left:3px;padding-right:3px;" rowspan="6"><img src="'+url+'" border="0" alt="" width="70"/></td>';

				tooltip_player += '<tr><td height="15" style="padding-right:5px;" align="left"><strong>Data di nascita:</strong> '+ birth_date +'</td></tr>';
				tooltip_player += '<tr><td height="15" style="padding-right:5px;" align="left"><strong>Ruolo:</strong> '+ player_role.toLowerCase() +'</td></tr>';
				tooltip_player += '<tr><td height="15" style="padding-right:5px;" align="left"><strong>Numero:</strong> '+ player_num +'</td></tr>';
				tooltip_player += '<tr><td height="15" style="padding-right:5px;" align="left"><strong>Peso:</strong> '+ weight +'</td></tr>';
				tooltip_player += '<tr><td height="15" style="padding-right:5px;" align="left"><strong>Altezza:</strong> '+ height +'</td></tr>';
				tooltip_player += '<tr><td height="28"></td></tr>';
				tooltip_player += '</table>';
				$('#infoPlayer').html(tooltip_player);
			}
			//Senza foto
			else {
				tooltip_player += '<table border="0" cellpadding="0" cellspacing="0" width="177" height="133" class="infoPlayer" valign="top">';
				tooltip_player += '<tr><td height="30" valign="top" style="padding-left:7px;padding-top:7px;padding-right:0px;"><strong>'+ player_name +'</strong></td></tr>';
				tooltip_player += '<tr><td height="15" style="padding-left:7px;padding-right:7px;"><strong>Data di nascita:</strong> '+ birth_date +'</td></tr>';
				tooltip_player += '<tr><td height="15" style="padding-left:7px;padding-right:7px;"><strong>Ruolo:</strong> '+ player_role.toLowerCase() +'</td></tr>';
				tooltip_player += '<tr><td height="15" style="padding-left:7px;padding-right:7px;"><strong>Numero:</strong> '+ player_num +'</td></tr>';
				tooltip_player += '<tr><td height="15" style="padding-left:7px;padding-right:7px;"><strong>Peso:</strong> '+ weight +'</td></tr>';
				tooltip_player += '<tr><td height="15" style="padding-left:7px;padding-right:7px;"><strong>Altezza:</strong> '+ height +'</td></tr>';
				tooltip_player += '<tr><td height="28"></td></tr>';
				tooltip_player += '</table>';
				$('#infoPlayer').html(tooltip_player);
			}
		}
	}
	xmlReq.open("GET", url, true);
	xmlReq.send(null); 


	var left = $('#'+player_id).position().left + 80;
	var top = $('#'+player_id).position().top - 50;

	$('#infoPlayer').show();
	document.getElementById('infoPlayer').style.top = top+"px";
	document.getElementById('infoPlayer').style.left = left+"px";
}


//Elimina tooltip con info giocatore spostando il muose
function resetInfoPlayer() {
	$('#infoPlayer').hide();
	$('#infoPlayer').html('');
}


//Restituisce oggetto HTTP
function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }

  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}


function loadInitTab(day) 
{
  if (day == "ven" || day == "sab" || day == "dom")
  {
    openTab('boxInfoMercato');
  }
	else {
		openTab('boxInfoCalendario');
	}
	//Stagione Estiva, forzo apertura Mercato
	//openTab('boxInfoMercato');
}


$(document).ready(function () {

	getCurrentDate();

	//Caricamento xml calendario all'onload della pagina
	//(l'xml della rosa si carica invece al primo clik sul tab)
  loadXmlGiornate();  

});