	var loginMessages		= new Array();
	if (joueurLang == 'fr'){
		loginMessages[0]	= "Identifiant ?";
		loginMessages[1]	= "Pass ?";
		loginMessages[2]	= "j'ai franchi un nouveau niveau...";
		loginMessages[3]	= "j'ai réussi toutes les sélections...";
		loginMessages[4]	= "j'ai atteint un score de";
		loginMessages[5]	= "au niveau";
		loginMessages[6]	= "Au jeu de simulation d'élevage de PaJamas ";
		loginMessages[7]	= "Publiez vos reccords !";
		loginMessages[8]	= "Score publié.";
		loginMessages[9]	= "Choisissez un fichier";
		
		loginMessages[10]	= "Désolé, l'identifiant est trop court (entre 4 et 10 caractères) !";
		loginMessages[11]	= "Identifiant non valide ! 4 à 12 caracteres (a-zA-Z0-9_.@)";
		loginMessages[12]	= "Vous devez saisir une adresse électronique valide";
		loginMessages[13]	= "Désolé, les adresses électroniques ne correspondent pas !";
		loginMessages[14]	= "Désolé, le mot de passe n'a pas été renseigné !";
		loginMessages[15]	= "Désolé, le mot de passe est trop court (au moins 4 caractères) !";
		loginMessages[16]	= "Mot de passe non valide ! 4 à 12 caracteres (a-zA-Z0-9_.@)";
		loginMessages[17]	= "Désolé, les mots de passe ne correspondent pas !";
	}
	else {
		loginMessages[0]	= "Login ?";
		loginMessages[1]	= "PassWord ?";
		loginMessages[2]	= "I crossed a new level...";
		loginMessages[3]	= "I made a success of all the selections...";
		loginMessages[4]	= "I reached a score of";
		loginMessages[5]	= "at level";
		loginMessages[6]	= "In the game of simulation of breeding of PaJamas ";
		loginMessages[7]	= "Publish your reccords!";
		loginMessages[8]	= "Published score.";
		loginMessages[9]	= "Choose a file";
		
		loginMessages[10]	= "Saddened, the identifier is too short (between 4 and 10 characters)!";
		loginMessages[11]	= "Not valid identifier! Caracteres 4 - 12 (a-zA-Z0-9_.)";
		loginMessages[12]	= "You have to seize a valid e-mail address";
		loginMessages[13]	= "Sorry, e-mail addresses do not correspond!";
		loginMessages[14]	= "Saddened, the password was not informed!";
		loginMessages[15]	= "Saddened, the password is too short (at least 4 characters)!";
		loginMessages[16]	= "Not valid password! Caracteres 4 - 12 (a-zA-Z0-9_.)";
		loginMessages[17]	= "Sorry, the passwords do not correspond!";
	}
//---------------------------------------------------------------
function getPseudo(){
	var search = "Pseudo_" + kioskNumero +  "="
	if (document.cookie.length > 0)	{
		// if there are any cookies
		var offset = document.cookie.indexOf(search)
		if (offset != -1) {
			// if cookie exists
			offset += search.length
			// set index of beginning of value
			var end = document.cookie.indexOf(";", offset)
			// set index of end of cookie value
			if (end == -1) end = document.cookie.length
			return unescape(document.cookie.substring(offset, end))
		}
	}
	return "demo";
}
//---------------------------------------------------------------
function testGxConnect(form){
	if (form.joueur.value.length < 4){
		alert(loginMessages[0])
		form.joueur.focus();
		return false
	}
	if (form.joueur.value == loginMessages[0]){
		alert(loginMessages[0])
		form.joueur.focus();
		return false
	}
	if (form.passWord1.value.length < 4){
		alert(loginMessages[1])
		form.joueur.focus();
		return false
	}
	form.langue.value		= langDetect();

	BrowserDetect.init();
	form.navigateur.value 	= BrowserDetect.browser + " V" + BrowserDetect.version;

	return true;
}
//--------------------------------------------------------------- 
function GxConnect(){ 
	if (aquarium.finEnCours) return;
	if (aquarium.objectifsEnCours) objectifsClose(0);
	if (aquarium.scoresEnCours) scoresClose(0);
	if (aquarium.loginEnCours) return;
	if (aquarium.donEnCours) closeGxFaireUnDon();
	aquarium.loginEnCours = 1;
	var Main = document.getElementById("mainJeu");
	var Obj = document.getElementById("GxConnect");
	if (Obj) {
		Obj.style.top 	= Main.offsetTop+'px';
		Obj.style.left 	= Main.offsetLeft+'px';
		affProgress(Obj, 1)
	}
	Main.style.opacity = 0.3;
	document.getElementById("top").style.opacity = 0.3;
	document.getElementById("barreHaute").style.opacity = 0.3;
	document.forms["Gxconnect"].joueur.focus();
	selectStart(0);
}
//---------------------------------------------------------------
function closeGxConnect(){ 
	aquarium.loginEnCours = 0;
	var Main = document.getElementById("mainJeu");
	var Obj = document.getElementById("GxConnect");
	if (Obj) {
		Obj.style.display = 'none';
	}
	Main.style.opacity = 1;
	document.getElementById("top").style.opacity = 1;
	document.getElementById("barreHaute").style.opacity = 1;
	selectStart(1);
}
//---------------------------------------------------------------
function GxInscription(){ 
	if (aquarium.finEnCours) return;
	if (aquarium.objectifsEnCours) objectifsClose(0);
	if (aquarium.scoresEnCours) scoresClose(0);
	if (aquarium.donEnCours) closeGxFaireUnDon();
	if (aquarium.loginEnCours) return;
	aquarium.loginEnCours = 1;
	var Main = document.getElementById("mainJeu");
	var Obj = document.getElementById("GxInscription");
	if (Obj) {
		Obj.style.top 	= Main.offsetTop+'px';
		Obj.style.left 	= Main.offsetLeft+'px';
		affProgress(Obj, 1)
//		Obj.style.display = "block";
//		Obj.style.opacity = 1;
	}
	Main.style.opacity = 0.3;
	document.getElementById("top").style.opacity = 0.3;
	document.getElementById("barreHaute").style.opacity = 0.3;
	document.forms["saisieJoueur"].joueur.focus();
	selectStart(0);
}
//---------------------------------------------------------------
function closeGxInscription(){ 
	aquarium.loginEnCours = 0;
	var Main = document.getElementById("mainJeu");
	var Obj = document.getElementById("GxInscription");
	if (Obj) {
		Obj.style.display = 'none';
	}
	Main.style.opacity = 1;
	document.getElementById("top").style.opacity = 1;
	document.getElementById("barreHaute").style.opacity = 1;
	if (typeof(objectifsOpen) != "undefined") objectifsOpen(1);
	selectStart(1);
}
//---------------------------------------------------------------
function GxFavoris(){ 
	if (navigator.appName != 'Microsoft Internet Explorer' )
		 window.sidebar.addPanel("Pajama","http://www.genetix.fr/pajama","");
	else window.external.AddFavorite("http://www.genetix.fr/pajama","Pajama");
}
//---------------------------------------------------------------
function GxProfil(){ 
	document.location = HrefCgiAbo + "modif_subs?" + HrefParamFixe + "&amp;tmp=ident";
}
//---------------------------------------------------------------
function FbGxDeconnect(){ 
	FbDeConnect();
	document.location = HrefCgiAbo +"accueil_end?"+HrefParamFixe;
}
//---------------------------------------------------------------
//---------------	FaceBook	---------------------------------
//---------------------------------------------------------------
function FbConnect() {
	if (aquarium.finEnCours) return;
	FB.login(function(response) {
		if (response.session) var logged = 1;
		else var logged = 0;
	});
}
//---------------------------------------------------------------
function FbDeConnect() {
	FB.logout();
}	
//---------------------------------------------------------------
var updateFBUser = function(response) {
	if (!response.session) {
//		alert("pas session");
		return;
	}
	document.forms["saisieJoueur"].joueur.value	=	response.session.uid;
	FB.api(
		{
			method: 'fql.query',
			query: 'SELECT name, birthday, last_name, first_name, pic_small, sex FROM user WHERE uid=' + response.session.uid
		},
		function(response) {
			document.forms["saisieJoueur"].Fbuid.value		= 'Ok';
			document.forms["saisieJoueur"].nom.value		= response[0].last_name;
			document.forms["saisieJoueur"].pseudo.value		= response[0].last_name;
			document.forms["saisieJoueur"].prenom.value		= response[0].first_name;
			document.forms["saisieJoueur"].langue.value		= langDetect();
			BrowserDetect.init();
			document.forms["saisieJoueur"].navigateur.value	= BrowserDetect.browser + " V" + BrowserDetect.version;
			
			if (joueurAvatar == "?") document.getElementById("joueurAvatar").src = response[0].pic_small;
//			alert("update");
			if (joueurID == "") {
//				alert("maj");
				document.forms["saisieJoueur"].action = HrefCgiAbo+"verifier_acces?"+HrefParamFixe+"&amp;tmp=identity";
				document.forms["saisieJoueur"].submit();
			}
		}
	);
};
//---------------------------------------------------------------
function Fbpartager(option) {
	switch(option){
		case 0:
		var messageTxt = loginMessages[2];		//	j'ai franchi un nouveau niveau...
		break;
		case 1:
		var messageTxt = loginMessages[3];		//	j'ai réussi toutes les sélections...
		break;
	}
	
 	var infos = loginMessages[4] + " "+ joueurScore + " " + loginMessages[5]+joueurNiveau;	// j'ai atteint .. au niveau...
FB.ui(
	{
		method: "stream.publish",
		message: messageTxt,
		attachment: {		
			name: "PaJama",
			caption: loginMessages[6],			//	Au jeu de simulation d'élevage de PaJamas
			description: infos,
			href: 'http://www.genetix.fr/pajama'
		},
		action_links: [
			{ text: 'Code', href: 'http://www.genetix.fr/pajama' }
		],
		user_message_prompt: loginMessages[7],		//	Publiez vos reccords !
	},
	function(response) {
		if (response && response.post_id) {
			alert(loginMessages[8]);					//	'Score publié.'
		} 
	}
	);
}
//--------------------------------------------------------------------------------------------
// Vérifier la validité d'un login
//--------------------------------------------------------------------------------------------
function checkLogin(login) {
	var reg=/^[a-zA-Z0-9_.@]{4,12}$/;
	return (reg.exec(login)!=null)
}
//--------------------------------------------------------------------------------------------
// Vérifier la validité du pass
//--------------------------------------------------------------------------------------------
function checkPass(pass) {
	var reg=/^[a-zA-Z0-9_.@]{4,12}$/;
	return (reg.exec(pass)!=null)
}
//--------------------------------------------------------------------------------------------
// Vérifier la validité d'une E-Mail
//--------------------------------------------------------------------------------------------
function checkEMail(email) {
	var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
	return (reg.exec(email)!=null)
}
//--------------------------------------------------------------------------------------------
//	Controle des champs du formulaire
//--------------------------------------------------------------------------------------------
function validateGxInscription(theform) {
	var msg;
	if (theform.joueur.value.length < 4) {
		msg = loginMessages[10];		//	Désolé, l'identifiant est trop court (entre 4 et 10 caractères) !;
		msg.alert();
		theform.joueur.focus();
		return false
	}
	if (!checkLogin(theform.joueur.value)) {
		msg = loginMessages[11];		//	Identifiant non valide ! 4 à 12 caracteres (a-zA-Z0-9_.@);
		msg.alert();
		theform.joueur.focus();
		return false
	}
	if (theform.email.value && !checkEMail(theform.email.value)) {
		msg = loginMessages[12];		//	Vous devez saisir une adresse électronique valide;
		msg.alert();
	    theform.email.focus();
        return false;
    }
	if (theform.email.value != theform.email2.value) {
		msg = loginMessages[13];		//	Désolé, les adresses électroniques ne correspondent pas !;
		msg.alert();
		theform.email2.focus();
		return false
	}
	if (theform.passWord1.value.length == 0) {
		msg = loginMessages[14];		//	Désolé, le mot de passe n'a pas été renseigné !;
		msg.alert();
		theform.passWord1.focus();
		return false
	}
	if (theform.passWord1.value.length < 4) {
		msg = loginMessages[15];		//	Désolé, le mot de passe est trop court (au moins 4 caractères) !;
		msg.alert();
		theform.passWord1.focus();
		return false
	}
	if (!checkPass(theform.passWord1.value)) {
		msg = loginMessages[16];		//	Mot de passe non valide ! 4 à 12 caracteres (a-zA-Z0-9_.@)
		msg.alert();
		theform.joueur.focus();
		return false
	}
	if (theform.passWord1.value != theform.passWord2.value) {
		msg = loginMessages[17];		//	Désolé, les mots de passe ne correspondent pas !
		msg.alert();
		theform.passWord2.focus();
		return false
	}

	if (theform.pseudo.value == "") theform.pseudo.value = theform.joueur.value;

	BrowserDetect.init();
	theform.navigateur.value 	= BrowserDetect.browser + " V" + BrowserDetect.version;

	return true
}
//---------------------------------------------------------------
function loginDispo(form, action) 
{
	if (form.joueur.value.length < 4) {
		var msg = loginMessages[10];		//	Désolé, l'identifiant est trop court (entre 4 et 10 caractères) !;
		msg.alert();
		form.joueur.focus();
		return false
	}
	return submitLoginDispo(form.joueur.value, action, form.disponible);
}
//---------------------------------------------------------------
function submitLoginDispo(saisie, action, dispo)
{
	var req = null;

	if (!checkLogin(saisie)) {
		var msg = loginMessages[10];		//	Désolé, l'identifiant est trop court (entre 4 et 10 caractères) !;
		msg.alert();
		return false
	}
	afficheAction('actionAjax');
	req = createXHR();
	if (req == null) {
		document.getElementById("actionDispo").innerHTML = "Error : creatXHR";
		afficheAction('actionDispo');
		return false;
	}

	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.status == 200){
				xml = req.responseXML
				if (xml) {
					if (dispo) {
						text = xml.getElementsByTagName("Dispo") [0].childNodes[0].nodeValue;
						dispo.value = text;
					}
				}
				cacheActions();
			}
			else {
				document.getElementById("actionDispo").innerHTML = "Error : " + req.status + " (" + req.statusText + " )";
				afficheAction('actionDispo');
			}
		}
	}

	req.open("POST", action, true);
	req.setRequestHeader("Content-type", "text/html; charset=iso-8859-1");
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send("Valeur="+saisie);
	return false;
}
//---------------------------------------------------------------
function changeImage(form, image){
	if (image.length < 5) {
		var msg = loginMessages[9];		//	Choisissez un fichier
		msg.alert();
		return false;
	}
	form.enctype= "multipart/form-data";
	form.submit();
	return true;
}
//---------------------------------------------------------------
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.userAgent,
			subString: "iPhone",
			identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
//---------------------------------------------------------------
function langDetect(){ 
	if (navigator.language){
		return (navigator.language);
	}
	else if (navigator.userLanguage){
		return (navigator.userLanguage);
	}
	return("??");
}
//---------------------------------------------------------------
function GxConnectAnonyme(){ 

	BrowserDetect.init();
	document.forms["saisieJoueur"].anonyme.value	= "Oui";
	document.forms["saisieJoueur"].type.value		= "Anonyme";
	document.forms["saisieJoueur"].joueur.value		= document.forms["saisieJoueur"].adresseIP.value;

	document.forms["saisieJoueur"].navigateur.value	= BrowserDetect.browser + " V" + BrowserDetect.version;
	document.forms["saisieJoueur"].action = HrefCgiAbo+"verifier_acces?"+HrefParamFixe+"&amp;tmp=identity";
	document.forms["saisieJoueur"].submit();
}
//---------------------------------------------------------------
function GxFaireUnDon(){ 
	if (aquarium.scoresEnCours) scoresClose(0);
	if (aquarium.loginEnCours) return;
	aquarium.donEnCours = 1;
	var Main = document.getElementById("mainJeu");
	var Obj = document.getElementById("GxFaireUnDon");
	if (Obj) {
		Obj.style.top 	= Main.offsetTop-50+'px';
		Obj.style.left 	= Main.offsetLeft+320+'px';
		affProgress(Obj, 1)
	}
	Main.style.opacity = 0.3;
	document.getElementById("top").style.opacity = 0.3;
	document.getElementById("barreHaute").style.opacity = 0.3;
}
//---------------------------------------------------------------
function closeGxFaireUnDon(){ 
	aquarium.donEnCours = 0;
	var Main = document.getElementById("mainJeu");
	var Obj = document.getElementById("GxFaireUnDon");
	if (Obj) {
		Obj.style.display = 'none';
	}
	Main.style.opacity = 1;
	document.getElementById("top").style.opacity = 1;
	document.getElementById("barreHaute").style.opacity = 1;
}

