var id = 0;
var resultat = 0;
var erreur = "";
var erreurTaille = "";
var nomErreur = "";
var prenomErreur = "";
var emailErreur = "";
var passErreur = "";
var passConfirmErreur = "";
var ageErreur = "";
var coupleErreur = "";
var adresseErreur = "";
var villeErreur = "";
var paysErreur = "";
var zipErreur = "";
var telErreur = "";
var telPortableErreur = "";
var presencePrenom = false;
var presenceNom = false;
var civiliteErreur = "";
var offreErreur = "";
var professionErreur = "";

var Email = "";

var autorisation = 1; // autorisation est une variable autorisation l'appel de la fonction addPage.

var jsReady = false;

function open_ext_link() 
{ 
    var liens = document.getElementsByTagName('a'); 
    for (var i = 0 ; i < liens.length ; ++i)  { 
        if (liens[i].className == 'lien_ext')  { 
            liens[i].title = javascriptMessage[20]; 
            liens[i].onclick = function()  { 
                window.open(this.href); 
                return false; 
            }
			liens[i].className='lienExt'; 
        } 
    } 
}


function open_popup(page) 
{ 
	document.getElementById('gray_bg').style.visibility="visible";
	document.getElementById('pop-up').style.visibility="visible";
	document.getElementById('fermeture_pop-up').style.visibility="visible";
	if(texte = file(page))
	{
		document.getElementById('pop-up').innerHTML = texte;
	}
    return false; 
}

function close_popup()
{
	document.getElementById('gray_bg').style.visibility="hidden";
	document.getElementById('pop-up').style.visibility="hidden";
	document.getElementById('fermeture_pop-up').style.visibility="hidden";
	document.getElementById('pop-up').innerHTML = "";
}


function verifForm(form)
{
	erreur = "";
	erreurTaille = "";
	nomErreur = "";
	prenomErreur = "";
	emailErreur = "";
	passErreur = "";
	passConfirmErreur = "";
	ageErreur = "";
	coupleErreur = "";
	adresseErreur = "";
	villeErreur = "";
	zipErreur = "";
	paysErreur = "";
	telErreur = "";
	telPortableErreur = "";
	presenceNom = false;
	presencePrenom = false;
	civiliteErreur = "";
	offreErreur = "";
	professionErreur = "";
	
	
	var tab_assoc = new Array();
	
	var input = document.getElementsByTagName('input'); 
	for (var i = 0 ; i < input.length ; ++i)  {
		if ((input[i].type == 'text' || input[i].type == 'password') && !input[i].disabled)
		{
			tab_assoc[input[i].name] = input[i].value; // insère dans le tableau associatif la valeur du champ pour la clé "NomDuChamp"
			if(input[i].name == "PhoneNumber")
			{
				telErreur = verifTel(input[i]);
			}
			else if(input[i].name == "CellNumber")
			{
				telPortableErreur = verifTel(input[i]);
			}
			else if(input[i].value == "")
			{
				erreur = javascriptMessage[2];
				surligne(input[i], true);
			}
			else if(input[i].value.length < 3)
			{
				erreurTaille = javascriptMessage[3];
				surligne(input[i], true)
			}
			else if(input[i].name == "FirstName")
			{
				presenceNom = true;
				nomErreur = verifNom(input[i]);
			}
			else if(input[i].name == "Email")
			{
				emailErreur = verifEmail(input[i]);
				if(!emailErreur)
				{
					Email = input[i].value;
					emailErreur = verifMailBase(input[i]);
				}
			}
			else if(input[i].name == "LastName")
			{
				presencePrenom = true;
				prenomErreur = verifPrenom(input[i]);
			}
			else if(input[i].name == "Address")
			{
				adresseErreur = verifAdresse(input[i]);
			}
			else if(input[i].name == "City")
			{
				villeErreur = verifVille(input[i]);
			}
			else if(input[i].name == "Profession")
			{
				professionErreur = verifProfession(input[i]);
			}
			else if(input[i].name == "Country")
			{
				paysErreur = verifPays(input[i]);
			}
			else if(input[i].name == "ZipCode")
			{
				zipErreur = verifZip(input[i]);
			}
		}
		else if(input[i].type == 'radio' && !input[i].disabled)
		{
			if(input[i].name ==  "Title")
			{
				presenceChampCivilite = true;
			}
			if(input[i].name ==  "Offer")
			{
				presenceChampOffre = true;
			}
				
			if(input[i].checked)
			{
				if(input[i].name == "Title" && typeof(Title)=='undefined')
				{
					Title = input[i].value;
				}
				else if(input[i].name == "Offer" && typeof(Offer)=='undefined')
				{
					Offer = input[i].value;
				}
				tab_assoc[input[i].name] = input[i].value;
			}
		}
	}
	
	if(typeof(Title) == 'undefined' && typeof(presenceChampCivilite) != 'undefined')
	{
		document.getElementById('Mlle').style.backgroundColor = "#fba";
		document.getElementById('M').style.backgroundColor = "#fba";
		document.getElementById('Mme').style.backgroundColor = "#fba";
		civiliteErreur = javascriptMessage[4];
	}
	
	if(typeof(Offer) == 'undefined' && typeof(presenceChampOffre) != 'undefined')
	{
		document.getElementById('Oui').style.backgroundColor = "#fba";
		document.getElementById('Non').style.backgroundColor = "#fba";
		offreErreur = javascriptMessage[5];
	}
	
	var select = document.getElementsByTagName('select'); 
	for (var i = 0 ; i < select.length ; ++i)  {
		if(select[i].name == "annee" && !select[i].disabled)
		{
			ageErreur = verifAge();
			if(!ageErreur)
			{
				j = document.getElementById('jour').options[document.getElementById('jour').selectedIndex].value; // jour
				m = document.getElementById('mois').options[document.getElementById('mois').selectedIndex].value; // mois
				a = document.getElementById('annee').options[document.getElementById('annee').selectedIndex].value; // année	
				tab_assoc['BirthDate'] = j +'/'+ m +'/'+ a;
				document.getElementById('case_annee').style.backgroundImage="url('templates/default/images/img_verif_ok.png')";
			}
			else
				document.getElementById('case_annee').style.backgroundImage="url('templates/default/images/img_verif_nok.png')";
		}
		if(select[i].name == "Country")
		{
			tab_assoc['Country'] = document.getElementById('Country').options[document.getElementById('Country').selectedIndex].value;
		}
		if(select[i].name == "Profession")
		{
			professionErreur = verifProfession(document.getElementById('Profession'));
			if(!professionErreur)
			{
				tab_assoc['Profession'] = document.getElementById('Profession').options[document.getElementById('Profession').selectedIndex].value;
			}
		}
	}
	
	if(!erreur && !erreurTaille && !coupleErreur && !zipErreur && !paysErreur && !villeErreur && !adresseErreur && !emailErreur && !prenomErreur && !nomErreur && !ageErreur && !telErreur && !civiliteErreur && !offreErreur && !professionErreur)
	{
		var message = "";
		for (var propriete in tab_assoc)
			message += propriete + ':' + tab_assoc[propriete] + '|';
		message = encodeURIComponent(message.substr(0, (message.length-1)));
		if(!id) // Inscription
		{
			if(texte = file('insert.php?message='+message))
			{
				var regex = /^[0-9]+$/;
				if(regex.test(texte))
				{
					id = texte;
					document.getElementById('bulle').style.display = 'none';
					addPage(pageArray[currentPage]);
				}
			}
			else
			{
				document.getElementById('bulle').style.display = 'block';
				document.getElementById('erreurForm').innerHTML = javascriptMessage[1];
			}
		}
		else // update
		{
			if(texte = file('insert.php?message='+message+'&id='+encodeURIComponent(id)))
			{
				addPage(pageArray[currentPage]);
			}
		}
	}
	else
	{
		document.getElementById('bulle').style.display = 'block';
		document.getElementById('erreurForm').innerHTML = javascriptMessage[0] + erreur + zipErreur + erreurTaille + coupleErreur + paysErreur + villeErreur + adresseErreur + emailErreur + prenomErreur + nomErreur + ageErreur + telErreur + offreErreur + civiliteErreur + professionErreur +'</ul>';
	}
	return false;
}

function verifNom(champ)
{
	var regex = /^[a-zA-Zéèàìòùôêçüöäë -]{3,}$/i;
	if(!regex.test(champ.value))
	{
		surligne(champ, true);
		return javascriptMessage[6];
	}
	else
	{
		surligne(champ, false);
		return "";
	}
}

function verifPrenom(champ)
{
	var regex = /^[a-zA-Zéèàìòùôêçüöäë -]{3,}$/i;
	if(!regex.test(champ.value))
	{
		surligne(champ, true);
		return javascriptMessage[7];
	}
	else
	{
		surligne(champ, false);
		return "";
	}
}

function verifEmail(champ)
{
	var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
	if(!regex.test(champ.value))
	{
		surligne(champ, true);
		return javascriptMessage[8];
	}
	else
	{
		surligne(champ, false);
		return "";
	}
}

function verifEmail2(champ)
{
	var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
	if(!regex.test(champ.value) && champ.value)
	{
		surligne(champ, true);
		return javascriptMessage[8];
	}
	else
	{
		surligne(champ, false);
		return "";
	}
}

function verifAdresse(champ)
{
	var regex = /^[a-zA-Z0-9éèàìòùôûêâîçüöäë. ,_-]{6,}$/i;
	if(!regex.test(champ.value))
	{
		surligne(champ, true);
		return javascriptMessage[9];
	}
	else
	{
		surligne(champ, false);
		return "";
	}
}

function verifVille(champ)
{
	var regex = /^[a-zA-Zéèàìòùôêçüöäë -]{3,}$/i;
	if(!regex.test(champ.value))
	{
		surligne(champ, true);
		return javascriptMessage[10];
	}
	else
	{
		surligne(champ, false);
		return "";
	}
}

function verifPays(champ)
{
	/*var regex = /^[a-zA-Zéèàìòùôêç-]{3,}$/;
	if(!regex.test(champ.value))
	{
		surligne(champ, true);
		return "<li>Le format du nom du pays n'est pas valide.</li>";
	}
	else
	{
		surligne(champ, false);
		return "";
	}*/
	surligne(champ, false);
	return "";
}


function verifZip(champ)
{
	var regex = /^[0-9]{5}$/;
	if(!regex.test(champ.value))
	{
		surligne(champ, true);
		return javascriptMessage[11];
	}
	else
	{
		surligne(champ, false);
		return "";
	}
}

function verifTel(champ)
{
	var regex = /^0[1-68]([-. ]?[0-9]{2}){4}$/;
	if(!regex.test(champ.value) && champ.value != "")
	{
		surligne(champ, true);
		return javascriptMessage[12];
	}
	else
	{
		surligne(champ, false);
		return "";
	}
}

function verifProfession(champ)
{
	if(champ.value == "Def")
	{
		surligne(champ, true);
		return javascriptMessage[18];
	}
	else
	{
		surligne(champ, false);
		return "";
	}
}



function verifMailBase(mail)
{
    if(texte = file('verif.php?mail='+encodeURIComponent(mail.value)))
    {
		if(texte == 1)
		{
			surligne(mail, true);
			return javascriptMessage[13];
		}
		else if(texte == 2)
		{
			surligne(mail, false);
			return "";
		}
		else
		{
			surligne(mail, false);
			return "";
		}
	}
	else
	{
		return "";
	}
	return "";
}

function verifAge() {
	j = document.getElementById('jour').options[document.getElementById('jour').selectedIndex].value; // jour
	m = document.getElementById('mois').options[document.getElementById('mois').selectedIndex].value; // mois
	a = document.getElementById('annee').options[document.getElementById('annee').selectedIndex].value; // année
	if(j && m && a)
	{
		if(j == 31 && (m==4 | m==6 | m ==9 | m ==11 )) 
		{
			document.getElementById('jour').style.backgroundColor = "#fba";
			document.getElementById('mois').style.backgroundColor = "#fba";
			document.getElementById('annee').style.backgroundColor = "#fba";
			surligne(document.getElementById('annee'), true);
			return javascriptMessage[15] + j + '/' + m + '/' + a + javascriptMessage[16];
		}
		else if((j==30 | j ==31) && m ==2) 
		{
			document.getElementById('jour').style.backgroundColor = "#fba";
			document.getElementById('mois').style.backgroundColor = "#fba";
			document.getElementById('annee').style.backgroundColor = "#fba";
			surligne(document.getElementById('annee'), true);
			return javascriptMessage[14];
		}
		else 
		{
			document.getElementById('jour').style.backgroundColor = "#CCCCCC";
			document.getElementById('mois').style.backgroundColor = "#CCCCCC";
			document.getElementById('annee').style.backgroundColor = "#CCCCCC";
			surligne(document.getElementById('annee'), false);
			return "";
		}
	}
	else
	{
		document.getElementById('jour').style.backgroundColor = "#fba";
		document.getElementById('mois').style.backgroundColor = "#fba";
		document.getElementById('annee').style.backgroundColor = "#fba";
		return javascriptMessage[17];
	}
}

function surligne(champ, erreur)
{
    if(erreur)
	{
       champ.style.backgroundColor = "#fba";
	   document.getElementById('case_' + champ.name).style.backgroundImage="url('templates/default/images/img_verif_nok.png')";
	}
    else
    {
      champ.style.backgroundColor = "#CCCCCC";
	  document.getElementById('case_' + champ.name).style.backgroundImage="url('templates/default/images/img_verif_ok.png')";
	}
	document.getElementById('case_' + champ.name).style.backgroundPosition="right";
	document.getElementById('case_' + champ.name).style.backgroundRepeat="no-repeat";
}


function file(fichier)
{
	document.getElementById('loading').style.display="block";
    if(window.XMLHttpRequest) // FIREFOX
        xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
        return(false);
    xhr_object.open("GET", fichier, false);
    xhr_object.send(null);
    if(xhr_object.readyState == 4)
	{
		document.getElementById('loading').style.display="none";
		return(xhr_object.responseText);
	}
    else return(false);
}

function fermeture()
{
	tab=document.getElementById('champ_hidden').value.split('|');
	for(i = 0;i<tab.length;i++)
	{
		document.getElementById('choix'+tab[i]+"Non").checked = "checked";
	}
	coregistration();
}

function coregistration()
{
	message = "";
	tab=document.getElementById('champ_hidden').value.split('|');
	for(i = 0;i<tab.length;i++)
	{
		if(document.getElementById('choix'+tab[i]+"Oui").checked)
			message+=tab[i]+':'+'Oui|';
		else
			message+=tab[i]+':'+'Non|';
	}
	message = encodeURIComponent(message.substr(0, (message.length-1)));
	if(texte = file('coreg.php?message='+message+'&id='+encodeURIComponent(id)))
	{
		document.getElementById('bulle').style.display = 'none';
		addPage(pageArray[currentPage]);
	}
	else
	{
		alert("erreur");
	}
	return false;
}

function addMessage(message)
{
	document.getElementById('bulle').style.display = "block";
	document.getElementById('erreurForm').innerHTML = message;
}

function won(message)
{
	if(texte = file('mailGagne.php?Email='+Email))
	{
		/*document.getElementById('bulle').style.display = "block";*/
		document.getElementById('result').style.display = "block";
		document.getElementById('resultmsg').innerHTML = javascriptMessage[21] + message + javascriptMessage[22];
	}
}

function lost()
{
	/*document.getElementById('bulle').style.display = "block";*/
	document.getElementById('result').style.display = "block";
	document.getElementById('resultmsg').innerHTML = javascriptMessage[23];
	/*'<p>vous avez perdu.<br />Invitez vos <a href="#" onclick="addPage(pageArray[currentPage]);return false;">amis</a> pour obtenir des chances supplémentaires<br /></p>';*/
}

function sendToActionScript(value) {
        thisMovie("ExternalInterfaceExample").sendToActionScript(value);
}

function isReady() {
	return jsReady;
}

function pageInit() 
{
	jsReady = true;
	pageArray = new Array();
	javascriptMessage = new Array();
	currentPage = 0;
	
	if(texte = file('parserJavascript.php'))
		javascriptMessage = texte.split("|");
	
	open_ext_link();
	
	if(texte = file('transition.php'))
		pageArray = texte.split("|");
	
	var reglement = false;
	if(parent.location.hash == "#rules")
		var reglement = true;
	addPage(pageArray[currentPage]);
	if(reglement)
		open_popup('rules.php');
}

function addPage(page)
{
	if(autorisation)
	{
		autorisation = 0;
		document.getElementById('bulle').style.display = "none";
		var regex = /\{id\}/g;
		page =  page.replace(regex, id);
		
		var regex = /[\?]/g;
		pageAff = page.split(regex);
		/*if(pageAff[0] != "coregistration.php" && pageAff[0] != "parrainage.php")
			document.getElementById('gray_bg').style.visibility="hidden";
		else
			document.getElementById('gray_bg').style.visibility="visible";
		*/
		if(pageAff[0] == "jeu.php")
		{
			if(texte = file('verifySession.php'))
			{
				if(texte == 1)
				{
					document.getElementById('bulle').style.display = "block";
					document.getElementById('erreurForm').innerHTML = javascriptMessage[19];
				}
			}
		}
		parent.location.hash = pageAff[0];
		if(texte = file(page))
		{
			autorisation = 1;
			currentPage++;
			document.getElementById('ajax').innerHTML = texte;
			open_ext_link();
		}
	}
}

function arraySearch(arr,val) {
	for (var i=0; i<arr.length; i++)
		if (arr[i] == val)
			return i;
	return false;
}

function parrainage()
{
	var erreur = 0;
	var message = "";
	var input = document.getElementsByTagName('input'); 
	for (var i = 0 ; i < input.length ; ++i)  {
		if(input[i].type=="text" && !input[i].disabled)
		{
			if(input[i].value)
			{
				if(verifEmail2(input[i]))
					erreur = 1;
				else
					message += input[i].value + "|";
			}
		}
		
	}
	message = encodeURIComponent(message.substr(0,message.length-1));
	if(texte = file('parrain.php?message=' + message + '&id=' + id))
	{
		addPage(pageArray[currentPage]);
		//document.location.href="fin_fr.html";
	}
	else
		alert("erreur");
	return false;
}

function carnet()
{
	var user = document.getElementById('user').value;
	var pass = document.getElementById('pass').value;
	var type = document.getElementById('type').value;
	var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
	if(texte = file('carnet.php?='+encodeURIComponent(user)+'&pass='+encodeURIComponent(pass)+'&type='+encodeURIComponent(type)))
	{	
		if(texte2 = file('parrain.php?message=' + encodeURIComponent(texte) + '&id=' + id))
		{
		}
		addPage(pageArray[currentPage]);
		// document.location.href="fin_fr.html" ;
	}
	else
	{
		alert("erreur");
	}
}

window.onload = pageInit;	 
