o= new Array("FButor étoilé","FCigogne blanche","FCigogne noire","FCrabier chevelu","FGrande Aigrette","FHéron garde-boeuf","EPhalarope à bec étroit","ETournepierre à collier","EChevalier aboyeur","EChevalier arlequin","EChevalier culblanc","EChevalier gambette","EChevalier guignette","EChevalier stagnatile","EChevalier sylvain","ECourlis corlieu","EBécasseau minute","EBécasseau sanderling","EBécasseau variable","PPic vert","NMoineau friquet","NChardonneret élégant","NSittelle torchepot","KFaisan de Colchide","PPic épeiche","BFuligule milouin","NBruant jaune","SChevêche d'Athéna","ABusard des roseaux","EBécasseau cocorli","EBécasseau maubèche","NAlouette des champs","AAutour des palombes","EBarge à queue noire","FHéron pourpré","NBergeronnette grise","NMoineau domestique","MFoulque macroule","NFauvette à tête noire","NFauvette des jardins","NFauvette grisette","NLocustelle tachetée","NHirondelle de fenêtre","MPoule d'eau","GTourterelle des bois","EBécasse des bois","NBouvreuil pivoine","NAccenteur alpin","AAigle royal","SChouette hulotte","QGrèbe castagneux","NTroglodyte mignon","NBruant zizi","EPetit Gravelot","NPhragmite des joncs","NBruant proyer","NPouillot véloce","NVerdier d'Europe","JFaucon hobereau","NCorbeau freux","JFaucon crécerelle","QGrèbe huppé","NPie bavarde","EAvocette élégante","EEchasse blanche","ABondrée apivore","EMouette rieuse","BCanard colvert","NGrive musicienne","NHirondelle rustique","NMerle noir","NChoucas des tours","NMésange nonnette","NMésange à longue queue","NMésange bleue","NMésange charbonnière","HMartin pêcheur d'Europe","FHéron cendré","BFuligule morillon","SHibou moyen-duc","NAccenteur mouchet","BTadorne de Belon","NRougegorge familier","AEpervier d'Europe","NGrosbec casse-noyaux","NSerin cini","SEffraie des clochers","GTourterelle turque","DEngoulevent d'Europe","FAigrette garzette","AAigle botté","GPigeon ramier","NBergeronnette des ruisseaux","NMésange huppée","HGuêpier d'Europe","NBergeronnette printanière","NGobemouche gris","NTarier des prés","NGrimpereau des jardins","EGoéland argenté","NRougequeue noir","NPinson des arbres","NMésange noire","BCygne tuberculé","ECourlis cendré","NEtourneau sansonnet","NCorneille noire","NTraquet motteux","NRoitelet huppé","NGrive draine","HHuppe fasciée","NLinotte mélodieuse","OGrand Cormoran","NRougequeue à front blanc","EVanneau huppé","NTarier pâtre","NPouillot fitis","ESterne pierregarin","NPipit des arbres")

	R= new Array("","accipitriformes","anseriformes","apodiformes","caprimulgiformes","charadriiformes","ciconiiformes","columbiformes","coraciiformes","cuculiformes","falconiformes","galliformes","gaviiformes","gruiformes","passeriformes","pelecaniformes","piciformes","podicipediformes","procellariiformes","strigiformes","phoenicopteriformes","pteroclidiformes");
	var r1=/[àâ]/gi; 	var r2=/[éèêë]/gi; var r3=/[ïî]/gi; 
	var r4=/[ôö]/gi; 	var r5=/[ùüû]/gi; var r6=/[' ]/gi;

	var Alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var niv=1;
	var motcache = "";
	var playedchar = new Array(27);
	var played = 0;
	var nbplayed = 0;
	var Niveau=1;
	var table = new Array();
	var affiche = new Array();
	var MPh=-1;	
	
function Is(){
	this.ie4=document.all;
	this.ns4=document.layers;
	this.w3c=document.getElementById;
	this.ns6=document.getElementById&&!document.all;
}
var is=new Is();

function Voir(Calque) {
	if (is.w3c){ document.getElementById(Calque).style.visibility="visible"}
	else if (is.ie4){ document.all[Calque].style.visibility="visible"}
	else if (is.ns4){ document.layers[Calque].visibility="show"}
}

function Cacher(Calque) {
	if (is.w3c){ document.getElementById(Calque).style.visibility="hidden"}
	else if (is.ie4){ document.all[Calque].style.visibility="hidden"}
	else if (is.ns4){ document.layers[Calque].visibility="hide"}
}


	if(is.ns4){
		ChangePhoto='document.NiveauJeu.document.MyPhoto.';
		Devi='document.DivForm.document.DEVINE.'
	}	else if(is.ie4){
		ChangePhoto='MyPhoto.'
		Devi='DEVINE.'	
	}	else if(is.ns6){
		ChangePhoto='document.images["MyPhoto"].'
		Devi='document.DEVINE.'	
	}

//////////////////////////////////////////////////////
////////////////// FONCTIONS /////////////////////////
//////////////////////////////////////////////////////
function Modif(nom,contenu){
	if(is.ns4){
		eval('document.'+nom+'.document.writeln(contenu);');
		eval('document.'+nom+'.document.close();');
	}else if(is.ie4) {
		eval(""+nom+".innerHTML=contenu;");
	}else if(is.ns6){
		document.getElementById(nom).innerHTML = contenu;
	}
}

//////////////////////////////////////////////////////
function Aleatoire(mini,maxi) {
	var x = -1;
	while (x<mini) {x = Math.round(Math.random() * maxi);}
	return x;
}

//////////////////////////////////////////////////////	
function Initialise(niv) {
	Modif('DivNomOiseau','')
	Modif('DivMessage','')
	Modif('DivCarJoues','')
	Modif('AffichePhoto','')

	Niveau=niv

	ValX = Aleatoire(0,o.length);
	NomOiseau=o[ValX].substring(1,o[ValX].length);
	rep=R[Alpha.indexOf(o[ValX].charAt(0))+1];
	rep="http://www.oiseaux.net/oiseaux/"+rep

	UrlFich = rep + "/" + NomOiseau + ".html";
	UrlFich = suppr_accent(UrlFich);
	UrlFich=UrlFich.replace(r6,"_");	
	UrlFich = UrlFich.toLowerCase()	;

	UrlImg = rep + "/images/" + NomOiseau;
	UrlImg = suppr_accent(UrlImg);
	UrlImg=UrlImg.replace(r6,"_");	
	UrlImg = UrlImg.toLowerCase();

	UrlImgG=UrlImg+"1G.jpg";
	UrlImg = UrlImg+".jpg";
	motcache = NomOiseau;
	
	if(Niveau==1){
		motcache = suppr_accent(motcache);
		motcache = motcache.toUpperCase();
	}
	if(Niveau==2){
		motcache = motcache.toLowerCase();
	}
	table = new Array(); affiche = new Array(); 	played = 0;	nbplayed = 0;
	
	TailleMot = motcache.length;
	for (var x = 0; x < TailleMot; x++) {
		table[x] = motcache.charAt(x);

		if (table[x] == ' ') {
			affiche[x] = '&nbsp;&nbsp;&nbsp;&nbsp;';
			table[x]   = '&nbsp;&nbsp;&nbsp;&nbsp;';
		}
		else{
			affiche[x] = "_ ";
		}
	}
		out = "";
	for (var x = 0; x < TailleMot; x++) {
		out = out + affiche[x];
		out=out.replace(/[ ]/gi,"&nbsp;");
	}
	for (var x = 1; x <= nbplayed; x++) {
		playedchar[x] = "";
	}
	Modif('DivNomOiseau','<p class="jeu1">&nbsp;'+out+'<br>&nbsp;</p>')
	InitCarac()
	Modif('DivCarJoues','')
	AfficheImg= '<IMG SRC="' +UrlImgG+ '" width="400" border="0">'
	Modif('AffichePhoto',AfficheImg)
	MontrePhoto()

	eval (Devi + 'Caractere.value = " "');
	TestCar()

}// FIN Initialise
	
	
//////////////////////////////////////////////////////
function suppr_accent(Mot){
	Mot=Mot.replace(r1,"a");
	Mot=Mot.replace(r2,"e");
	Mot=Mot.replace(r3,"i");
	Mot=Mot.replace(r4,"o");
	Mot=Mot.replace(r5,"u");			
	return Mot;
}

//////////////////////////////////////////////////////
function Continue() {
	if (played == 6) {
		perdu();
	}
	else {
		if (table.join() == affiche.join()) {
			bravo()
		}
	}
}

//////////////////////////////////////////////////////	
function OKToPlay(carac) {
		if (played == 6) {return 1}
		else {
			if (table.join() == affiche.join()) {return 2;}
			else {
				if (carac == "") {return 3;}
				else {
					var exist = false;
					for (var x = 0; x < nbplayed; x++) {
						if (playedchar[x] == carac) {exist = true;}
					}
					if (exist) {return 4;}		
				}
			}
		}
		return 0;
}

//////////////////////////////////////////////////////	
function TestCar() {
	var good = false;
	propose = eval (Devi + 'Caractere.value');
	
	if(Niveau==1){
		propose = suppr_accent(propose);
		propose = propose.toUpperCase();
	}
	if(Niveau==2){
		propose = propose.toLowerCase();
	}

	if (propose == ' ') {
		propose = '&nbsp;&nbsp;&nbsp;&nbsp;';
	}


	var test = OKToPlay(propose);

	if (test == 0) {
		playedchar[nbplayed] = propose;
		for (var x = 0; x < TailleMot; x++) {
			if (propose == table[x]) {
				if (propose == ' ') {
					affiche[x] = '&nbsp;&nbsp;&nbsp;&nbsp;';
					table[x] = '&nbsp;&nbsp;&nbsp;&nbsp;';
				}
				else{
					affiche[x] = propose;
				}
				good = true;
			}
		}
		if (good) {
			out = "";
			for (var x = 0; x < TailleMot; x++) {
				 out = out + affiche[x];
			}
			Modif('DivNomOiseau','<p class="jeu1">'+out+'<br>&nbsp;</p>')
		}
		else {
			played++;
			
			Modif('DivResultat','<p  class="Caractjoue"> Nbr erreurs : ' +played+ ' / 6</p>')
		}
		out = "";
		for (var x = 0; x <= nbplayed; x++) {
			out += playedchar[x];
		}
		nbplayed++;
		Modif('DivCarJoues','<p class=Caractjoue>Caractères joués : <font color=#9E0307>'+out+'</font></p>')
		InitCarac()

		Continue();
	}
	else {
		if (test == 1 || test == 2) perdu()
		if (test == 3) {
			window.alert("Vous devez saisir un caractère!");
		}
		if (test == 4) {
			window.alert("Caractère déjà proposé!");
		}
	}
	InitCarac()
}

//////////////////////////////////////////////////////
function perdu(){
	FinPartie('Dommage ! ')
}

//////////////////////////////////////////////////////
function bravo(){
	FinPartie('Bravo ! Vous avez gagné. ')
}

//////////////////////////////////////////////////////
function FinPartie(MessageDeFin){
	InitCarac()
	MPh = 1
	MontrePhoto()
	Modif('DivNomOiseau','<p class=Caractjoue>' +MessageDeFin+ ' &nbsp;&nbsp;Vous pouvez voir  la fiche : <a href="#" onclick="OuvreF('+ "'" + UrlFich + "'" + ')" class=liensj>' +NomOiseau+ '</a> ou alors <a href="#" onclick="Initialise('+Niveau+')" class=liensj>rejouer</a></p>')
}

//////////////////////////////////////////////////////
function Rejoue(){
	window.location.reload()
}

//////////////////////////////////////////////////////
function InitCarac(){
	eval (Devi + 'Caractere.value = ""');
	eval (Devi + 'Caractere.focus()');
}

//////////////////////////////////////////////////////
function OuvreF(MonUrl){
	FenL=window.open(MonUrl,'FL','toolbar=0,titlebar=0,scrollbars=1,status=0,width=740,height=570');
	FenL.moveTo(50,5)
	FenL.focus();
}

//////////////////////////////////////////////////////
ima = new Image() ;ima.src = "images/sans.photo.jpg";
function MontrePhoto(){
	if (MPh == 1)	{
		Voir('AffichePhoto')
		eval( ChangePhoto + 'src="images/sans.photo.jpg"')
	}else {
		Cacher('AffichePhoto')
		eval( ChangePhoto + 'src="images/avec.photo.jpg"')
	}
	InitCarac()
}


