/********************************************************************
	Genere des popups (fiches joueur, bilan de confrontation)
	Principe d'ouverture: 
		- Au survol de plus de 500ms, on ouvre le popup
		- On le ferme au click sur une croix
	
	Créé par damien @ oceanet
	21:16 25/06/2008
*********************************************************************/
var ADR_SITE = 'http://www.lemansfc.fr/';


//gestion de la position de la souris,
var mouse_x = 0;
var mouse_y = 0;

function getPosition(e) {
    if (navigator.appName!="Microsoft Internet Explorer") {
		mouse_x = e.pageX;
		mouse_y = e.pageY;
    }
    else{ 
	    if(document.documentElement.clientWidth>0) {
			mouse_x = event.x + document.documentElement.scrollLeft;
			mouse_y = event.y + document.documentElement.scrollTop;
	    } 
		else{
			mouse_x = event.x + document.body.scrollLeft;
			mouse_y = event.y + document.body.scrollTop;
	    }
    }
}

document.onmousemove = getPosition;




// Fichier alpha: gestion du masque
var opacity_fin		= 100;
var opacity_pas 	= 15;
var opacity_time 	= 200;
var opacity_delay	= parseInt(opacity_time/(opacity_fin/opacity_pas));
var now_opacity		= 0;

//modifie l'opacité du masque jusqu'à atteindre une opacité définit, puis execute le callback
function setProgressivAlpha(){

	//nouvelle opacité
	now_opacity = now_opacity + opacity_pas;
	if(now_opacity > opacity_fin) now_opacity = opacity_fin;
	
	document.getElementById('popup').style.filter	= "alpha(opacity="+now_opacity+")";
	document.getElementById('popup').style.opacity  = now_opacity/100;
	
	if(now_opacity < opacity_fin){ //Masque progressif de la page
		setTimeout('setProgressivAlpha();', opacity_delay);
	}
}


//diminue l'opacité du masque jusqu'à atteindre 0
function unsetProgressivAlpha(){ 

	//nouvelle opacité
	now_opacity = now_opacity - opacity_pas;
	if(now_opacity < 0) now_opacity = 0;
	
	if(document.getElementById('popup')){
		document.getElementById('popup').style.filter	= "alpha(opacity="+now_opacity+")";
		document.getElementById('popup').style.opacity  = now_opacity/100;
		
		if(now_opacity > 0){ //Masque progressif de la page
			setTimeout('unsetProgressivAlpha();', opacity_delay);
		}
		else{
			removeNode('popup');
			now_opacity	= 0;
			popupActive = false;
		}
	}
}





//variables pour savoir si on doit afficher le popup ou non
var onLink = true; //le curseur n'est pas sur le lien
var onPopup = false; //le curseur n'est pas sur le popup
var popupActive = false; // le popup n'est pas affiché, si il est affiché, alors il vaut le mjo_id
var posCurseurX = 0;
var posCurseurY = 0;
var tempsAttenteOuverture = 500; //temps d'attente avant de generer le popup
var tempsAttenteFermeture = 100; //temps d'attente avant de generer le popup




//on sort le curseur du lien
function cachePopup(){
	onLink = false;
	setTimeout('cacheSuitePopup()', tempsAttenteFermeture);
}

function cacheSuitePopup(){
	if(onLink == false && onPopup == false){
		unsetProgressivAlpha();
	}
}

//on sort le curseur du popup
function onPopupOut(){
	onPopup = false;
	setTimeout('cacheSuitePopup()', tempsAttenteFermeture);
}

//on entre le curseur sur le popup
function onPopupOver(){
	onPopup = true;
}




/*********************** genere la fiche joueur ******************************/
//le curseur est sur un lien
function afficheFicheJoueur(mjo_id){
	onLink = true;
	setTimeout('afficheSuiteFicheJoueur("'+mjo_id+'")', tempsAttenteOuverture);
}

function afficheSuiteFicheJoueur(mjo_id){
	if(onLink == true){
	
		posCurseurX = mouse_x;
		posCurseurY = mouse_y;
				
		if(popupActive == false){
			genererFicheJoueur(mjo_id);
			popupActive = mjo_id;
		}
		else if(popupActive != mjo_id){
			unsetProgressivAlpha();
			setTimeout('genererFicheJoueur("'+mjo_id+'");',opacity_time);
			setTimeout('popupActive = "'+mjo_id+'";',opacity_time);
		}
	}
}



//DOM + AJAX - generation de la fiche joueur
function genererFicheJoueur(mjo_id){

	var xhr_object = getXHR(); 
	
	xhr_object.onreadystatechange = function(){
		if(xhr_object.readyState == 4){ 

			var  domXML = xhr_object.responseXML;		 
			if(domXML){
				
				if(domXML.getElementsByTagName('prenom')[0].hasChildNodes()){
					var prenom			= domXML.getElementsByTagName('prenom')[0].firstChild.nodeValue;
				}
				else{
					var prenom = '';
				}
			
				var nom				= domXML.getElementsByTagName('nom')[0].firstChild.nodeValue;
				var place			= domXML.getElementsByTagName('place')[0].firstChild.nodeValue;
				var photo			= domXML.getElementsByTagName('photo')[0].firstChild.nodeValue;
				var date_naissance	= domXML.getElementsByTagName('date_naissance')[0].firstChild.nodeValue;
				var lieu_naissance	= domXML.getElementsByTagName('lieu_naissance')[0].firstChild.nodeValue;
				var nationalite		= domXML.getElementsByTagName('nationalite')[0].firstChild.nodeValue;
				var taille			= domXML.getElementsByTagName('taille')[0].firstChild.nodeValue;
				var poids			= domXML.getElementsByTagName('poids')[0].firstChild.nodeValue;
				var numero			= domXML.getElementsByTagName('numero')[0].firstChild.nodeValue;
				var groupe			= domXML.getElementsByTagName('groupe')[0].firstChild.nodeValue;
				
						
				var popup = document.createElement('div');
				popup.setAttribute('id', 'popup');
				with(popup.style){
					width			= '260px';
					position 		= 'absolute';
					left			= (posCurseurX-12)+"px";
					top				= (posCurseurY-190)+"px";
					filter			= "alpha(opacity=0)";
					opacity 		= '0';
				}
				
				
				
				var popupTop = document.createElement('div');
				with(popupTop.style){
					width			= '252px';
					padding			= '4px';
					backgroundColor	= '#FFF';
					border			= '1px solid #C60506';
				}
				
				
				var popupBottom = document.createElement('div');
				with(popupBottom.style){
					paddingLeft = '20px';
					marginTop 	= '-1px';
				}
				
				var imgBottomTemp = new Image();
				imgBottomTemp.src = ADR_SITE+'img/interface/popup/fleche.gif';
				var imgBottom = document.createElement('img');
				imgBottom.src = imgBottomTemp.src;
				
				popupBottom.appendChild(imgBottom);
				
				
				//nom du joueur
				var p_nom = document.createElement('p');
				with(p_nom.style){
					cssFloat		= 'left';
					styleFloat 		= 'left';
					color			= '#999';
					fontSize		= '15px';
					fontWeight		= 'bold';
					fontVariant		= 'small-caps';
					borderBottom	= '1px solid #DDD';
					marginBottom	= '4px';
					width			= '210px';
				}
				p_nom.appendChild(document.createTextNode(prenom+' '+nom));
				
				
				//numero du joueur
				var div_num = document.createElement('div');
				with(div_num.style){
					cssFloat		= 'right';
					styleFloat 		= 'right';
					color			= '#FFF';
					fontSize		= '20px';
					fontWeight		= 'bold';
					width			= '36px';
					height			= '36px';
					lineHeight		= '36px';
					background		= 'url('+ADR_SITE+'img/interface/back_numero.gif) top left no-repeat';
					textAlign		= 'center';
					display			= 'block';			
				}
				if(numero > 0)	div_num.appendChild(document.createTextNode(numero));
				
				
				//photo du joueur
				var img_photo_temp = new Image();
				img_photo_temp.src = ADR_SITE+'photos/joueur/getVignette.php?src='+photo;
				var img_photo = document.createElement('img');
				img_photo.src = img_photo_temp.src;
				with(img_photo.style){
					cssFloat		= 'left';
					styleFloat 		= 'left';
					paddingRight	= '10px';
				}
				
				
				//informations complémentaires sur le joueur
				var div_info = document.createElement('div');
				with(div_info.style){
					cssFloat		= 'left';
					styleFloat 		= 'left';
					marginTop		= '-8px';
					color			= '#333';
					fontSize		= '11px';
					width			= '164px';
					lineHeight		= '13px';
				}
				
				
					//Groupe
					var p_groupe = document.createElement('p');
					p_groupe.style.color = '#C60506';
					p_groupe.appendChild(document.createTextNode(groupe));
				
				
					//place
					var p_place = document.createElement('p');
					p_place.style.color = '#C60506';
					p_place.appendChild(document.createTextNode(place));
					
					//date de naissance
					var p_date_naiss_titre = document.createElement('span');
					p_date_naiss_titre.style.color = '#333';
					p_date_naiss_titre.appendChild(document.createTextNode('Date de naissance: '));
					
					var p_date_naiss = document.createElement('p');
					p_date_naiss.style.color = '#C60506';
					p_date_naiss.appendChild(p_date_naiss_titre);
					p_date_naiss.appendChild(document.createTextNode(date_naissance));
					
					//lieu de naissance
					var p_lieu_naiss_titre = document.createElement('span');
					p_lieu_naiss_titre.style.color = '#333';
					p_lieu_naiss_titre.appendChild(document.createTextNode('Lieu de naissance: '));
					
					var p_lieu_naiss = document.createElement('p');
					p_lieu_naiss.style.color = '#C60506';
					p_lieu_naiss.appendChild(p_lieu_naiss_titre);
					p_lieu_naiss.appendChild(document.createTextNode(lieu_naissance));
					
					//nationalité
					var p_nationalite_titre = document.createElement('span');
					p_nationalite_titre.style.color = '#333';
					p_nationalite_titre.appendChild(document.createTextNode('Nationalité: '));
					
					var p_nationalite = document.createElement('p');
					p_nationalite.style.color = '#C60506';
					p_nationalite.appendChild(p_nationalite_titre);
					p_nationalite.appendChild(document.createTextNode(nationalite));
					
					//taille
					var p_taille_titre = document.createElement('span');
					p_taille_titre.style.color = '#333';
					p_taille_titre.appendChild(document.createTextNode('Taille: '));
					
					var p_taille = document.createElement('p');
					p_taille.style.color = '#C60506';
					p_taille.appendChild(p_taille_titre);
					p_taille.appendChild(document.createTextNode(taille+' cm'));
					
					//poids
					var p_poids_titre = document.createElement('span');
					p_poids_titre.style.color = '#333';
					p_poids_titre.appendChild(document.createTextNode('Poids: '));
					
					var p_poids = document.createElement('p');
					p_poids.style.color = '#C60506';
					p_poids.appendChild(p_poids_titre);
					p_poids.appendChild(document.createTextNode(poids+' kg'));
				
				
				div_info.appendChild(p_groupe);
				div_info.appendChild(p_place);
				div_info.appendChild(p_date_naiss);
				div_info.appendChild(p_lieu_naiss);
				div_info.appendChild(p_nationalite);
				div_info.appendChild(p_taille);
				div_info.appendChild(p_poids);
				
				
				//clear both
				var div_clear = document.createElement('div');
				div_clear.className = 'clearBoth';
				div_clear.setAttribute('class', 'clearBoth');
				
				
				
				
				popupTop.appendChild(p_nom);
				popupTop.appendChild(div_num);
				popupTop.appendChild(img_photo);
				popupTop.appendChild(div_info);
				popupTop.appendChild(div_clear);
			
				popup.appendChild(popupTop);
				popup.appendChild(popupBottom);
			
				document.body.appendChild(popup);
				
				popup.onmouseover = function() { onPopupOver() };
				popup.onmouseout = function() { onPopupOut() };
				
				//on affiche le popup
				setProgressivAlpha();	
			}
		} 
	}
	
	xhr_object.open("GET", ADR_SITE+"ajax/getInfosJoueur.xhr.php?mjo_id="+mjo_id, true); 
	xhr_object.send(null); 
}



/*********************** genere la fiche bilan des confrontation ******************************/
var global_meq_id = 0;

//le curseur est sur un lien
function afficheBilanConfrontation(meq_id){
	onLink = true;
	global_meq_id = meq_id;	
	setTimeout('afficheSuiteBilanConfrontation()', tempsAttenteOuverture);
}

function afficheSuiteBilanConfrontation(){
	if(onLink == true){
	
		posCurseurX = mouse_x;
		posCurseurY = mouse_y;

		if(popupActive == false){
			genererBilanConfrontation();
			popupActive = global_meq_id;
		}
		else if(popupActive != global_meq_id){
			unsetProgressivAlpha();
			setTimeout('genererBilanConfrontation();',opacity_time);
			setTimeout('popupActive = "'+global_meq_id+'";',opacity_time);
		}
	}
}




function genererBilanConfrontation(){
var xhr_object = getXHR(); 
	
	xhr_object.onreadystatechange = function(){
		if(xhr_object.readyState == 4){ 

			var  domXML = xhr_object.responseXML;		 
			if(domXML){
				
				var nbMatchNul		= domXML.getElementsByTagName('nbMatchNul')[0].firstChild.nodeValue;
				var nbMatchGagne	= domXML.getElementsByTagName('nbMatchGagne')[0].firstChild.nodeValue;
				var nbMatchPerdu	= domXML.getElementsByTagName('nbMatchPerdu')[0].firstChild.nodeValue;
				var nbButPour		= domXML.getElementsByTagName('nbButPour')[0].firstChild.nodeValue;
				var nbButContre		= domXML.getElementsByTagName('nbButContre')[0].firstChild.nodeValue;
				var adversaire  	= domXML.getElementsByTagName('adversaire')[0].firstChild.nodeValue;
				var graphique  		= domXML.getElementsByTagName('graphique')[0].firstChild.nodeValue;
				
						
				var popup = document.createElement('div');
				popup.setAttribute('id', 'popup');
				with(popup.style){
					width			= '260px';
					position 		= 'absolute';
					left			= (posCurseurX+10)+"px";
					top				= (posCurseurY-165)+"px";
					filter			= "alpha(opacity=0)";
					opacity 		= '0';
				}
				
				
				
				var popupTop = document.createElement('div');
				with(popupTop.style){
					width			= '252px';
					padding			= '4px';
					backgroundColor	= '#FFF';
					border			= '1px solid #C60506';
				}
				
				
				var popupBottom = document.createElement('div');
				with(popupBottom.style){
					paddingLeft = '20px';
					marginTop 	= '-1px';
				}
				
				var imgBottomTemp = new Image();
				imgBottomTemp.src = ADR_SITE+'img/interface/popup/fleche.gif';
				var imgBottom = document.createElement('img');
				imgBottom.src = imgBottomTemp.src;
				
				popupBottom.appendChild(imgBottom);
				
				
				//equipes
				var p_equipes = document.createElement('p');
				with(p_equipes.style){
					color			= '#999';
					fontSize		= '15px';
					fontWeight		= 'bold';
					fontVariant		= 'small-caps';
					borderBottom	= '1px solid #DDD';
					marginBottom	= '4px';
				}
				p_equipes.appendChild(document.createTextNode('Le Mans - '+adversaire));
				
								
				//graphique
				var img_graphique_temp = new Image();
				img_graphique_temp.src = graphique;
				var img_graphique = document.createElement('img');
				img_graphique.src = img_graphique_temp.src;
				with(img_graphique.style){
					cssFloat		= 'left';
					styleFloat 		= 'left';
					paddingRight	= '10px';
					paddingBottom	= '10px';
				}
				
				
				//informations complémentaires sur le joueur
				var div_info = document.createElement('div');
				with(div_info.style){
					cssFloat		= 'left';
					styleFloat 		= 'left';
					color			= '#333';
					fontSize		= '10px';
					width			= '120px';
					lineHeight		= '13px';
				}
				
				
					//Victoires
					if(nbMatchGagne > 1) 	victoirePluriel = 's';
					else					victoirePluriel = '';
					var p_victoire = document.createElement('p');
					p_victoire.style.color = '#333';
					p_victoire.appendChild(document.createTextNode(nbMatchGagne+' Victoire'+victoirePluriel+' pour Le Mans'));
				
				
					//Nuls
					if(nbMatchNul > 1) 	nulPluriel = 's';
					else				nulPluriel = '';
					var p_nul = document.createElement('p');
					p_nul.style.color = '#333';
					p_nul.appendChild(document.createTextNode(nbMatchNul+' Match'+nulPluriel+' nul'+nulPluriel));
				
				
					//Perdus
					if(nbMatchPerdu > 1) 	perduPluriel = 's';
					else					perduPluriel = '';
					var p_perdu = document.createElement('p');
					p_perdu.style.color = '#333';
					p_perdu.appendChild(document.createTextNode(nbMatchPerdu+' Défaite'+perduPluriel+' du Mans'));
				
				
					//buts pour
					if(nbButPour > 1) 	butPourPluriel = 's';
					else				butPourPluriel = '';
					var p_but_pour = document.createElement('p');
					p_but_pour.style.color = '#333';
					p_but_pour.appendChild(document.createTextNode(nbButPour+' But'+butPourPluriel+' inscrit'+butPourPluriel));
				
				
					//buts contre
					if(nbButContre > 1) butContrePluriel = 's';
					else				butContrePluriel = '';
					var p_but_contre = document.createElement('p');
					p_but_contre.style.color = '#333';
					p_but_contre.appendChild(document.createTextNode(nbButContre+' But'+butContrePluriel+' encaissé'+butContrePluriel));
				
			
				div_info.appendChild(p_victoire);
				div_info.appendChild(p_nul);
				div_info.appendChild(p_perdu);
				div_info.appendChild(p_but_pour);
				div_info.appendChild(p_but_contre);
				
				
				//clear both
				var div_clear = document.createElement('div');
				div_clear.className = 'clearBoth';
				div_clear.setAttribute('class', 'clearBoth');
				
				
				
				
				popupTop.appendChild(p_equipes);
				popupTop.appendChild(img_graphique);
				popupTop.appendChild(div_info);
				popupTop.appendChild(div_clear);
			
				popup.appendChild(popupTop);
				popup.appendChild(popupBottom);
			
				document.body.appendChild(popup);
				
				popup.onmouseover = function() { onPopupOver() };
				popup.onmouseout = function() { onPopupOut() };
				
				//on affiche le popup
				setProgressivAlpha();	
			}
		} 
	}
	
	xhr_object.open("GET", ADR_SITE+"ajax/getInfosConfrontations.xhr.php?meq_id="+global_meq_id, true); 
	xhr_object.send(null); 
}


