/************************************************************************************
@ Author : Nicolas Castelli
@ Mail : nicolas.castelli2@gmail.com
@ Date of creation : 2008-01-01
@ Filename : myFloatCard.js
@ Use : Définition de la classe permettant de créer une carte flottante, au format
texte	
************************************************************************************/
MyFloatCard = function() {
	//**** VARIABLES PRIVÉES
	var boxTextId = "";
	var boxScanId = "";	
	
	
	//**** VARIABLES PUBLIQUES


	//**** FONCTIONS PRIVÉES	
	
	//Ouvre la popup
	var open = function(event) {
		var x = 0;
		var y = 0;
		var eX = 0;
		var eY = 0;
	  event.returnValue = false;
	  if( event.preventDefault ) event.preventDefault();
	  //Coordonnées de la souris
	  x = event.clientX + (document.documentElement.scrollLeft + document.body.scrollLeft);
	  y = event.clientY + (document.documentElement.scrollTop + document.body.scrollTop);
	  eX = x + 10;
	  eY = y - 20;
		$(boxTextId).style.left = eX + 'px';
		$(boxTextId).style.top = eY + 'px';
		$(boxTextId).className = 'showed';
	}

	//Ferme la popup
	var close = function() {
		$(boxTextId).className = 'hidden';
		$(boxTextId).style.top = '0px';
		$(boxTextId).style.left = '0px';
	}
	
	//Change la carte (format texte) à afficher
	var showCardText = function(card) {
		//Uniquement si la carte existe
		if(card.nom)
		{
			$(boxTextId+"Cout").innerHTML = card.couthtml;
			$(boxTextId+"FE").className = "";
			$(boxTextId+"FE").innerHTML = "";
			if(card.type.toLowerCase().hasWord("creature"))
			{
				$(boxTextId+"FE").innerHTML = card.force + "/" + card.endurance;
				$(boxTextId+"FE").className = "on";
			}
			if(card.type.toLowerCase().hasWord("planeswalker"))
			{
				$(boxTextId+"FE").innerHTML = card.endurance;
				$(boxTextId+"FE").className = "on";
			}

			//Gestion des versions localisées
			if(card.nom_lang)
			{
				$(boxTextId+"Nom").innerHTML = card.nom_lang.replace(/&apos;/gi, "'");
				$(boxTextId+"Type").innerHTML = card.type_lang;
				$(boxTextId+"Texte").innerHTML = card.ruleshtml_lang.replace(/&apos;/gi, "'");
				$(boxTextId+"Rarete").innerHTML = card.rarete_lang;
				//On complète avec les infos si elle existe
				if(card.soustype_lang && card.soustype_lang != " ")
					$(boxTextId+"Type").innerHTML += " - " + card.soustype_lang;
			}
			else
			{
				$(boxTextId+"Nom").innerHTML = card.nom.replace(/&apos;/gi, "'");
				$(boxTextId+"Type").innerHTML = card.type;
				$(boxTextId+"Texte").innerHTML = card.ruleshtml.replace(/&apos;/gi, "'");
				$(boxTextId+"Rarete").innerHTML = card.rarete;
				//On complète avec les infos si elle existe
				if(card.soustype && card.soustype != " ")
					$(boxTextId+"Type").innerHTML += " - " + card.soustype;
			}
		}
	}
	
	//Quand on survole une carte au format texte, cela fait apparaître la carte
	//dans une div qui survole la ligne
	var showCardScan = function(id) {
		var rowX = $(id).offsetLeft;
		var rowY = $(id).offsetTop;
		var newX = rowX;
		var newY = rowY - 10;
		var imgSrc = $(id).cells[8].innerHTML;
		if(localVersion == 1)
		{
			$(boxScanId + "Img").src = "http://www.google.fr/intl/fr_fr/images/logo.gif"; //VERSION LOCALE
		}
		else
		{
			$(boxScanId + "Img").src = imgSrc; //VERSION NORMALE
		}

	  newX = $("BLOCK").offsetLeft;
		$(boxScanId).style.left = newX + "px";
		$(boxScanId).style.top = newY + "px";
		$(boxScanId).className = "showed";
	}
	
	//**** FONCTIONS PUBLIQUES
	this.construct = function(textId, scanId) {
		boxTextId = textId;
		boxScanId = scanId;
	}
	
	//Quand on clique sur une image, une div contenant le texte de la carte
	//apparaît
	this.showFloatCard = function(event, card){ showCardText(card); open(event);	}
	
	//Quand on survole une carte au format texte, une div contenant le scan
	//de la carte apparaît
	this.showFloatScan = function(rowId){ showCardScan(rowId);}
		
	//Pour fermer (cacher) la div qui est apparue
	this.close = function() { close(); }; 
	
	//Pour cacher le scan de la carte au format texte.
	this.hideScan = function() { $(boxScanId).className = "hidden"; }
	
}//Fin de la classe MyFloatCard
