import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
//import java.util.*;
//import javax.swing.event.*;

public class LookJDialog extends JDialog implements KeyListener{
	
	private JScrollPane scroll;
	private JTextArea texteList = new JTextArea(new String());
	private JLabel infoLbl=new JLabel("Any Key to quit / Une touche pour quitter");
	boolean lang=false;
	
	private ParcheminFond pfond=new ParcheminFond();
	
	
	public LookJDialog(Monde world,Boolean la,Entite cible, int reussite){
		
		Font police=world.getPolice();
		infoLbl.setFont(police);
		texteList.setFont(police);
		
		
		lang=la;
		
		Container c=getContentPane();
		c.setLayout(null);
		
		//retour à ligne automatique
		texteList.setLineWrap(true);
		
		//pas de coupure des mots
		texteList.setWrapStyleWord(true);
		
		texteList.addKeyListener(this);
		
		scroll = new JScrollPane(texteList);
		scroll.setBounds(5,5,280,350);
		c.add(scroll);
		
		infoLbl.setBounds(20,370,250,20);
		c.add(infoLbl);
		
		pfond.setBounds(0,0,300,450);
		add(pfond);
		
		setLocation(0,0);
		setSize(300,450);
		show();
		
		
		
		analyseReussite(reussite,cible);
		
	}
	
	//////////////////////////////////////////////
	
	public void analyseReussite(int reussite,Entite cible){
		
		///////////////////////////////////////
		if(!lang){remplir("Identifie: "+cible.getIdentified());}
		else{remplir("Identified: "+cible.getIdentified());
		}
		
		if(cible.getIdentified()){
			if(!lang){remplir("Vrai Nom: "+cible.getTrueName());}
			else{remplir("True Name: "+cible.getTrueNameE());
			}
			
		}
		///////////////////////////////////////
		
		
		if(!lang){remplir("Nom: "+cible.getNom());}
		else{remplir("Name: "+cible.getNomE());
		}
		
		
		
		if(cible.getTypeObjet().compareTo("Creature")==0){
			
			if(!lang){
				remplir("Hostile: "+cible.getHostilite());
				remplir("Mort: "+cible.getMort());
				remplir("Arme: "+cible.getArmeEquipe().getNom());
				remplir("Armure: "+cible.getArmureEquipe().getNom());
			}
			else{
				remplir("Hostility: "+cible.getHostilite());
				remplir("Dead: "+cible.getMort());
				remplir("Weapon: "+cible.getArmeEquipe().getNomE());
				remplir("Armor: "+cible.getArmureEquipe().getNomE());
			}
				
			
			if(reussite>=1){
				if(!lang){
					remplir("Categorie: "+cible.getClass().getName());
				}
				else{
					remplir("Category: "+cible.getClass().getName());
				}
			}
			
			if(reussite>=2){
				if(!lang){
					remplir("Espece: "+cible.getEspece());
					remplir("Passe muraille: "+cible.getPasseMuraille());
				}
				else{
					remplir("Species: "+cible.getEspece());
					remplir("Ectoplasmic: "+cible.getPasseMuraille());
				}
				
			}
			
			if(reussite>=3){
				if(!lang){
					remplir("Poids :"+cible.getPoids());
					remplir("Atk: "+cible.getAtkModifiee());
					remplir("Def: "+cible.getDefModifiee());
				}
				else{
					remplir("Wt :"+cible.getPoids());
					remplir("Atk: "+cible.getAtkModifiee());
					remplir("Def: "+cible.getDefModifiee());
				}
			}
			
			if(reussite>=4){
				if(!lang){
					remplir("Rapidite: "+cible.getRapidite());
				}
				else{
					remplir("Speed: "+cible.getRapidite());
				}
			}
			
			if(reussite>=5){
				if(!lang){
					remplir("Vue: "+cible.getVue());
				}
				else{
					remplir("Sight: "+cible.getVue());
				}
			}
			
			if(reussite>=6){
				if(!lang){
					remplir("Niveau: "+cible.getNiveau());
				}
				else{
					remplir("Level: "+cible.getNiveau());
				}
			}
			
			if(reussite>=7){
				if(!lang){
					remplir("PtsVie: "+cible.getCurrentHitPts());
					remplir("Force: "+cible.getForce());
					remplir("Dexterite: "+cible.getDexterite());
					remplir("Constitution: "+cible.getConstitution());
					remplir("Intelligence: "+cible.getIntelligence());
				}
				else{
					remplir("HitPts: "+cible.getCurrentHitPts());
					remplir("Strength: "+cible.getForce());
					remplir("Dexterity: "+cible.getDexterite());
					remplir("Constitution: "+cible.getConstitution());
					remplir("Intelligence: "+cible.getIntelligence());
				}
			}
			
			if(reussite>=8){
				
			}
			
			if(reussite>=9){
				
			}
			
			if(reussite>=10){
				
			}
			
			
			
			
			
			
			
			
			
			
			
		}		
		
		else{
			
			
			if(reussite>=1){
				if(!lang){
					remplir("Verrouillable: "+cible.getVerrouillable());
					remplir("Deverrouille: "+cible.getUnlocked());
					remplir("Ouvert: "+cible.getOuvert());
					remplir("Casse: "+cible.getCasse());
				}
				else{
					remplir("Lockable: "+cible.getVerrouillable());
					remplir("Unlocked: "+cible.getUnlocked());
					remplir("Opened: "+cible.getOuvert());
					remplir("Broken: "+cible.getCasse());
				}
			}
			
			if(reussite>=2){
				if(!lang){
					remplir("Piege Actif: "+cible.getActifPiege());
				}
				else{
					remplir("Active Trap: "+cible.getActifPiege());
				}
			}
			
			if(reussite>=3){
				if(!lang){
					remplir("Poids :"+cible.getPoids());
				}
				else{
					remplir("Weight (kg) :"+cible.getPoids());
				}
			}
			
			if(reussite>=4){
				if(!lang){
					remplir("Resistance: "+cible.getResistanceMat());
					remplir("Structure: "+cible.getStructureMat());
					remplir("Complexite Serrure: "+cible.getComplexiteSerrure());
					remplir("Complexite Piege: "+cible.getComplexitePiege());
					
					remplir("Puissance Piege: "+cible.getPuissancePiege());
					
				}
				else{
					remplir("Resistance: "+cible.getResistanceMat());
					remplir("Structure: "+cible.getStructureMat());
					remplir("Lock complexity: "+cible.getComplexiteSerrure());
					remplir("Trap complexity: "+cible.getComplexitePiege());
					
					remplir("Trap power: "+cible.getPuissancePiege());
				}
				
			}
			
			/*
			if(reussite>=5){
				if(!lang){
					remplir("Modele: "+cible.getModele());
				}
				else{
					remplir("Model: "+cible.getModele());
				}
				
			}*/
			
			if(reussite>=6){
				if(!lang){
					remplir("Niveau: "+cible.getNiveau());
					remplir("BonusAtk: "+cible.getBonusAtk());
					remplir("BonusDef: "+cible.getBonusDef());
					remplir("MagieBonus: "+cible.getMagicBonus());
				}
				else{
					remplir("Level: "+cible.getNiveau());
					remplir("AtkBonus: "+cible.getBonusAtk());
					remplir("DefBonus: "+cible.getBonusDef());
					remplir("MagicBonus: "+cible.getMagicBonus());
				}
			}
			
			if(reussite>=7){
				if(cible.getClass().getName().compareTo("EcritMagique")==0){
					if(!lang){
						remplir("Sort: "+cible.getSort().getNom());
						remplir("Niveau du Sort: "+cible.getSort().getNiveau());
					}
					else{
						remplir("Spell: "+cible.getSort().getNomE());
						remplir("Spell Level: "+cible.getSort().getNiveau());
					}
					
				}
				
			}
			
			if(reussite>=8){
				
			}
			
			if(reussite>=9){
				
			}
			
			if(reussite>=10){
				
			}
			
			
			
			
		}
		
		
		
	}
	
	//////////////////////////////////////////////
	
	
	public void remplir(String txt){
		
		texteList.append(txt+"\n");
		
		//scrolling automatique
		try { 
        texteList.scrollRectToVisible(texteList.modelToView(texteList.getDocument().getLength ())); 
		} catch (javax.swing.text.BadLocationException err) { }
	}
	
	
	public void keyPressed(KeyEvent e){
		//char lettre=e.getKeyChar();
		dispose();
	}
	
	public void keyReleased(KeyEvent e){}
	
	public void keyTyped(KeyEvent e){}
	
	/*
	/////////////////////////////////////////////
	public void actionPerformed(ActionEvent e){
		Object source=e.getSource();
		if(source==okBtn){
			dispose();	
		}	
		
	}*/
	
}