//var xmlHTTP = null;
var arrayXmlHTTP = new Array();
var arrayIdints = new Array()
var arrayUrlData = new Array();
var arrayContadorClicks = new Array();

var tempsCarrega = 20000;
var debug = false;
var debugContador = 0;

// Funció inicial que escull el tipus de navegador i fa la primera crida a la càrrega de dades
//
function funcioInicial(pos,dades,idDivTarget,longitud,linkMinut) {
	
	arrayUrlData[pos] = dades;
	carregaDades(pos,idDivTarget,longitud,linkMinut);
}

// Carrega les dades de l'xml
//
function carregaDades(pos,idDivTarget,longitud,linkMinut) {
	// Cal reiniciar la variable xmlHTTP
	// cada vegada, perque sinó l'Explorer
	// no fa el refresc :s
	try {
		
	
	// Navegadors compatibles
		arrayXmlHTTP[pos]=new XMLHttpRequest();
	} catch (e) {
	// Internet Explorer
		try {
			arrayXmlHTTP[pos]=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			arrayXmlHTTP[pos]=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	if (arrayXmlHTTP[pos] == null) {
		alert ("Aquest navegador no accepta AJAX");

	} else {
		
		var urlRandom = arrayUrlData[pos] + "?dummy=" + Math.random();
		arrayXmlHTTP[pos].onreadystatechange = 	Function("canviEstatCarrega("+pos+",'"+idDivTarget+"','"+longitud+"','"+linkMinut+"')");
		arrayXmlHTTP[pos].open("GET",urlRandom,true);
		arrayXmlHTTP[pos].send(null);
	}
}

// Funció que es crida cada cop que hi ha un canvi d'estat durant la carrega de les dades
//
function canviEstatCarrega(pos,idDivTarget,longitud,linkMinut) {
	if (arrayXmlHTTP[pos].readyState == 4) {
	// Fi de la carrega de dades
		if (arrayXmlHTTP[pos].responseXML != undefined && arrayXmlHTTP[pos].responseXML) {
		// Dades carregades correctament
			pintaDades(pos,idDivTarget,longitud,linkMinut);
			
		}
		setTimeout("carregaDades("+pos+",'"+idDivTarget+"','"+longitud+"','"+linkMinut+"')", tempsCarrega);
	}
}

// Subordenació dels minuts
function quickSortSubArray(pos,i1, i2) {

	var n;
	var m;
	var ip;
	var im;
	var pivot;
	var s;
	var b = true;

	im=Math.floor((i1 + i2) / 2);
  n=im;
  ip=n--;
  pivot=arrayIdints[pos][ip][0];

  while (n >= i1 && b) {
  	
    m=n--;
    b=(pivot==arrayIdints[pos][m][0]);
  }
  
	n=im+1;
	while (n<=i2 && b) {
		
    m=n++;
    b=(pivot==arrayIdints[pos][m][0]);
  }
  
  if (b)
    return -1;
    
  if (arrayIdints[pos][m][0]>pivot) {
  	
    ip=m;
    pivot=arrayIdints[pos][ip][0];
  }
  
  n=i1;
  m=i2;
  
  while (n<=m) {
  	
    while (pivot>arrayIdints[pos][n][0]) {
    	
      n++;
    }
    
    while (pivot<=arrayIdints[pos][m][0]) {
    	
      m--;
    }
    
    if (n<m) {
    	
      s = arrayIdints[pos][m][0];
      sx = arrayIdints[pos][m][1];
      arrayIdints[pos][m][0] = arrayIdints[pos][n][0];
      arrayIdints[pos][m][1] = arrayIdints[pos][n][1];
      arrayIdints[pos][n][0] = s;
      arrayIdints[pos][n][1] = sx;
      m--;
      n++;
    }
  }
  return n;
}

// Ordenació dels minuts
//
function quickSort(pos,first, last) {
	
	var center;

  if (first < last) {

    center = quickSortSubArray(pos,first,last);

		if (center!= -1) {
    	
			quickSort(pos,first, center-1);
			quickSort(pos,center, last);
		}
	}
}

// Posar les dades carregades a la pàgina
//
function pintaDades(pos,idDivTarget,longitud,linkMinut) {
	var result = arrayXmlHTTP[pos].responseXML;
	var rootElement = result.documentElement;
	if(rootElement && rootElement != null) {
			var item= "";		
			var titol= "";
			var golsLocal= "";
			var golsVisitant= "";
			var equipLocal= "";
			var equipVisitant= "";
			var estatPartit= "";
			
			var d = "";
			var m = "";
			var a = "";
			var h = "";
			var n = "";
			
			item = rootElement.getElementsByTagName("item");
			if (item.length > 0)
			{
					tagItem = item[0];
					tagTitol = tagItem.getElementsByTagName("titol");
					if (tagTitol.length > 0)
							titol = tagTitol[0].firstChild.data;
					tagGolsLocal = tagItem.getElementsByTagName("gols_local");
					if (tagGolsLocal.length > 0)
							golsLocal = tagGolsLocal[0].firstChild.data;
					tagGolsVisitant = tagItem.getElementsByTagName("gols_visitant");
					if (tagGolsVisitant.length > 0)
							golsVisitant = tagGolsVisitant[0].firstChild.data;
					tagEquipLocal = tagItem.getElementsByTagName("eq_local_txt");
					if (tagEquipLocal.length > 0)
							equipLocal = tagEquipLocal[0].firstChild.data;
					tagEquipVisitant = tagItem.getElementsByTagName("eq_visitant_txt");
					if (tagEquipVisitant.length > 0)
							equipVisitant = tagEquipVisitant[0].firstChild.data;
							
							
					tagEstatPartit = tagItem.getElementsByTagName("estat");
					if (tagEstatPartit.length > 0)
							//estatPartit = tagEstatPartit[0].firstChild.data;
							estatPartit = tagEstatPartit[0].attributes.getNamedItem("idName").value;

					tagHora = tagItem.getElementsByTagName("hora");
					if (tagHora.length > 0)
					{
							d = tagHora[0].attributes.getNamedItem("dia").value;
							m = tagHora[0].attributes.getNamedItem("mes").value;
							a = tagHora[0].attributes.getNamedItem("any").value;
							h = tagHora[0].attributes.getNamedItem("hora").value;
							n = tagHora[0].attributes.getNamedItem("minut").value;
					}	
			}
			
			var data = d+'/'+m+'/'+a+' '+h+':'+n;
			
			if (debug) {
				
				data += '&nbsp;------->'+arrayContadorClicks[pos];
			}


					var contingutCapcalera = '';
					contingutCapcalera+='<div class="marcadorSubTitle">';
					contingutCapcalera+='<div style="float:left">'+equipLocal+'<span class="yellowFont"> '+golsLocal+'</span>&nbsp;&nbsp;&nbsp;'+equipVisitant+'<span class="yellowFont"> '+golsVisitant+'</span></div>';
					contingutCapcalera+='<div><a href="'+ linkMinut +'"><span class="marcadorSegueix">Segueix aquí el Minut a Minut</span></a></div>';
					contingutCapcalera+='</div>';
											
					//por defecto
					var contingutDades_1 = '<div class="scrollingDiv height193">';
					if(longitud == "PETITA"){
						contingutDades_1 = '<div class="scrollingDiv height60">';
					}
					var contingutDades_2 = '<div class="scrollingSubDiv1"><img alt="En Joc" src="/img/EnJoc.gif" title="En Joc"/></div>';
					var contingutDades_3 = '<div class="ContMarcadorComent">';
					var contingutDades_4 = '';
											var vMinuts = null;

											var tagVItem = rootElement.getElementsByTagName("item");
											if (tagVItem.length > 0)
											{
												tagVRElations = tagVItem[0].getElementsByTagName("relations");
												if (tagVRElations.length > 0)
												{
													vMinuts = tagVRElations[0].getElementsByTagName("relation");
												}
											}
											
											if (vMinuts != null) {
											
												// Creem un array de minuts, per ordenar-lo
												arrayIdints[pos] = new Array(vMinuts.length);
												
												for (var i=0; i<vMinuts.length; i++) {
													
													pointerMinuts = vMinuts[i];
													arrayIdints[pos][i] = new Array(2);
													
													arrayIdints[pos][i][0] = parseInt(pointerMinuts.attributes.getNamedItem("idint").value);
													arrayIdints[pos][i][1] = i;
												}
												
												quickSort(pos,0, arrayIdints[pos].length-1);
											
												var msgStr = "";
												vMinut = "";
												vTipus = "";
												vTitol = "";
												vTexte = "";
												
												for (var j=0; j<vMinuts.length; j++){
			
													var minutPosition = arrayIdints[pos][vMinuts.length - 1 - j][1];
													pointerMinuts = vMinuts[minutPosition];
													

				
													tagMinut = pointerMinuts.getElementsByTagName("minut");
													if (tagMinut.length > 0)
															vMinut = tagMinut[0].firstChild.data;
													
													tagTipus = pointerMinuts.getElementsByTagName("tipus_jugada");
													if (tagTipus.length > 0)
															vTipus = tagTipus[0].attributes.getNamedItem("idName").value;
													
													tagTitol = pointerMinuts.getElementsByTagName("titol");
													if (tagTitol.length > 0)
															vTitol = tagTitol[0].firstChild.data;
													
													tagTexte = pointerMinuts.getElementsByTagName("entradeta");
													if (tagTexte.length > 0)
															vTexte = tagTexte[0].firstChild.data;
	
													vIco='';
													vAlt='';
			
													if (vTipus=='FINAL'){
														vIco='ico_xiulet.gif';
														vAlt='Final';
													}else if(vTipus=='GOL'){
														vIco='ico_gol.gif';
														vAlt='Gooool';
													}else if(vTipus=='PRIMERA_PART'){
														vIco='ico_xiulet.gif';
														vAlt='Inici 1a part';
													}else if(vTipus=='SEGONA_PART'){
														vIco='ico_xiulet.gif';
														vAlt='Inici 2a part';
													}else if(vTipus=='PRORROGA'){
														vIco='ico_xiulet.gif';
														vAlt='Inici pròrroga';
													}else if(vTipus=='OCASIO_GOL'){
														vIco='ico_ocasio.gif';
														vAlt='ocasió';
													}else if(vTipus=='PENAL'){
														vIco='ico_penal.gif';
														vAlt='penal';
													}else if(vTipus=='SUBSTITUCIO'){
														vIco='ico_canvi.gif';
														vAlt='substitució';
													}else if(vTipus=='TARG_GROGA'){
														vIco='ico_groga.gif';
														vAlt='targeta groga';
													}else if(vTipus=='TARG_VERMELLA'){
														vIco='ico_vermella.gif';
														vAlt='targeta vermella';
													}
        																
													if (vIco !=''){
														vDivIco = '<img src="/img/'+vIco+'" alt="'+vAlt+'" title="'+vAlt+'" />';
													}else{
														vDivIco = '&nbsp;';
													}
													
												
												//si en algun comentario se ha pitado el final cambiamos la imagen
												if(estatPartit=='FINALITZAT'){
													contingutDades_2 = '<div class="scrollingSubDiv1"><img alt="Finalitzat" src="/img/Finalitzat.gif" title="Finalitzat"/></div>';
												}	

												//si en algun comentario se ha pitado el final cambiamos la imagen
												if(estatPartit=='PENDENT'){
													contingutDades_2 = '<div class="scrollingSubDiv1"><img alt="Previ" src="/img/Previ.gif" title="Previ" /></div>';
												}	

												//solo los dos ultimos comentarios
												if(j<2)	{
													contingutDades_4 += '<div class="scrollingSubDiv2">'+vMinut+'</div><div class="UiGol">'+vDivIco+'</div>';
													contingutDades_4 += '<div class="scrollingSubDiv3"><span class="bold">'+vTitol+'<br/></span>'+vTexte+'</div>';
													contingutDades_4 += '<br/><div class="separador"></div>';
												}
												
											}
									}
									var contingutDades = contingutDades_1 + contingutDades_2 + contingutDades_3 + contingutDades_4;
									contingutDades += '</div></div>';
		
			// Pintem la info
			document.getElementById(idDivTarget).innerHTML = contingutCapcalera + contingutDades ;

			estatCarrega = 0;
			
			// Fem un click a la pàgina pels contadors de visites
			if (arrayContadorClicks[pos] < 5)
			{
				arrayContadorClicks[pos]++;
			}
			else
			{
				//ajaxSite_DoHit(); //??????
				arrayContadorClicks[pos] = 0;
			}
		}
}