
// AJAX
function getHttpRequest()
{
	var xhr; 
	try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
	catch (e) 
	{
        try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
		catch (e2) 
		{
			try { xhr = new XMLHttpRequest(); }
			catch (e3) { xhr = false; }
		}
	}
	return xhr;
}



function ajouterInscription(prenom, nom, email, tel, occupation, personne, Samedi, Dimanche, garde, age, hebergement, transport)
{ 
	var chargement = document.getElementById('chargement');
	var nomItem = document.getElementById('item_name');
	chargement.style.visibility = 'visible';

	var httpRequest = getHttpRequest();

	httpRequest.onreadystatechange = function()
	{ 
		if(httpRequest.readyState == 4)
		{
			var update = httpRequest.responseText.split('|');
			if (update[0] == 'success')
			{
				nomItem.value = nomItem.value + update[1];
				chargement.innerHTML = '<img src="../images/loader.gif" /><br /><br /><span class="red">Vous serez maintenant redirigé vers le site pour compléter votre paiement.</span><br /><br />';
			}
			else
			{
				chargement.innerHTML = httpRequest.responseText;
			}	
		}
	}; 

	//document.write(encodeURI("/setInsc.php?prenom="+prenom+"&nom="+nom+"&email="+email+"&tel="+tel+"&occupation="+occupation+"&personne="+personne+"&blocA="+blocA+"&blocB="+blocB+"&blocC="+blocC+"&blocD="+blocD+"&blocE="+blocE+"&garde="+garde+"&age="+age+"&hebergement="+hebergement+"&transport="+transport+"&sid="+Math.random()));
	
	httpRequest.open('GET', encodeURI("/setInsc.php?prenom="+prenom+"&nom="+nom+"&email="+email+"&tel="+tel+"&occupation="+occupation+"&personne="+personne+"&Samedi="+Samedi+"&Dimanche="+Dimanche+"&garde="+garde+"&age="+age+"&hebergement="+hebergement+"&transport="+transport+"&sid="+Math.random()), true); 
	httpRequest.send(null); 
} 

function utiliseVoiture(frais)
{
	var montant = document.getElementById('amount');
	var nom = document.getElementById('item_name');

	var dortoir		= document.getElementById('element_7_1');
	var hotel1		= document.getElementById('element_7_2');
	var hotel2		= document.getElementById('element_7_3');
	var hotel3		= document.getElementById('element_7_4');
	var hotel4		= document.getElementById('element_7_5');
	var rien		= document.getElementById('element_7_6');

	var money = 30;

	if (dortoir.checked)
	{
		money = 30;
	}
	else if (hotel1.checked)
	{
		money = 90;
	}
	else if (hotel2.checked)
	{
		money = 60;
	}
	else if (hotel3.checked)
	{
		money = 60;
	}
	else if (hotel4.checked)
	{
		money = 60;
	}
	// Voiture + frais
	if (frais)
	{
		montant.value = (money + 5) + ".00";
		nom.value = "Inscription Forum Jeunesse 2010";
	}
	// Autobus
	else
	{
		montant.value = money + ".00";
		nom.value = "Inscription Forum Jeunesse 2010";
	}
}

// Quand on tente de soumettre le formulaire
function submitInscription(button)
{
	// Variables de l'inscription
	var prenom = document.getElementById('element_1_1');
	var nom = document.getElementById('element_1_2');

	var tel1 = document.getElementById('element_2_1');
	var tel2 = document.getElementById('element_2_2');
	var tel3 = document.getElementById('element_2_3');

	var email = document.getElementById('element_3'); 
	var age1 = document.getElementById('element_15_1'); 
	var age2 = document.getElementById('element_15_2'); 
	var age3 = document.getElementById('element_15_3'); 
	var age4 = document.getElementById('element_15_4'); 
	var occupation = document.getElementById('element_4'); 

	var heb1 = document.getElementById('element_7_1');
	var heb2 = document.getElementById('element_7_2');
	var heb3 = document.getElementById('element_7_3');
	var heb4 = document.getElementById('element_7_4');
	var heb5 = document.getElementById('element_7_5');
	var heb6 = document.getElementById('element_7_6');
	
	var personne = document.getElementById('element_4_1');
	
	var transport1 = document.getElementById('element_8_1');
	var transport2 = document.getElementById('element_8_2');
	var transport3 = document.getElementById('element_8_3');
	var transport4 = document.getElementById('element_8_4');
	var transport5 = document.getElementById('element_8_5');
	var transport6 = document.getElementById('element_8_6');
	var transport7 = document.getElementById('element_8_7');
	var transport8 = document.getElementById('element_8_8');
	var transport9 = document.getElementById('element_8_9');
	
	// Si voiture et paye les frais
	utiliseVoiture(transport8.checked);

	var serviceGarde = document.getElementById('element_10');

	var Samedi = document.getElementById('element_11');
	var Dimanche = document.getElementById('element_12');


	// Vérification des informations nécessaires
	var validEmail = (trim(email.value) != '' && checkEmail(email.value));
	var validTel = (trim(tel1.value) != '' && trim(tel2.value) != '' && trim(tel3.value) != '');
	var validName = (trim(nom.value) != '' && trim(prenom.value) != '');

	checkField(validEmail, 'errEmail', email);
	checkField(validTel, 'errTel', tel1);
	checkField(validName, 'errNom', prenom);

	if (!validEmail || !validTel || !validName)
		return false;

	// Transfert des données pour paypal (le téléphone ne semble pas fonctionner bizzarement)
	var fn = document.getElementById('first_name');
	var ln = document.getElementById('last_name');
	var em = document.getElementById('email');
	//var phone = document.getElementById('H_PhoneNumber');

	fn.value = prenom.value;
	ln.value = nom.value;
	em.value = email.value;
	//phone.value = '' + tel1.value + '' + tel2.value + '' + tel3.value;

	var SamediText = '';
	var DimancheText = '';

	SamediText = Samedi.value;
	DimancheText = Dimanche.value;

	// Pour l'âge
	var age = 0;

	if (age1.checked)
		age = 1;
	else if (age2.checked)
		age = 2;
	else if (age3.checked)
		age = 3;
	else if (age4.checked)
		age = 4;

	// Pour l'hébergement
	var heb = 0;

	if (heb1.checked)
		heb = 1;
	else if (heb2.checked)
		heb = 2;
	else if (heb3.checked)
		heb = 3;
	else if (heb4.checked)
		heb = 4;
	else if (heb4.checked)
		heb = 5;
	else if (heb4.checked)
		heb = 6;

	// Pour le transport
	var transport = 0;
	
	if (transport1.checked)
		transport = 1;
	else if (transport2.checked)
		transport = 2;
	else if (transport3.checked)
		transport = 3;
	else if (transport4.checked)
		transport = 4;
	else if (transport5.checked)
		transport = 5;
	else if (transport6.checked)
		transport = 6;
	else if (transport7.checked)
		transport = 7;
	else if (transport8.checked)
		transport = 8;
	else if (transport9.checked)
		transport = 9;

	ajouterInscription(prenom.value, nom.value, email.value, '('+tel1.value+') '+tel2.value+'-'+tel3.value, occupation.value, personne.value, SamediText, DimancheText, serviceGarde.value, age, heb, transport);
	button.disabled = true;

	waitForAck();

	return false;
}

function waitForAck()
{
	var chargement = document.getElementById('chargement');
	// On recharge la fonction tant que le texte n'a pas changé (donc que la requête n'est pas terminée)
	if (chargement.innerHTML.indexOf('Veuillez patienter quelques instants...') != -1)
		setTimeout("waitForAck()", 1000);
	else
	{
		if (chargement.innerHTML.indexOf('Vous serez maintenant redirigé vers le site pour compléter votre paiement.') != -1)
			document.getElementById('frmPaypal').submit();
	}
}

// Fait les changements selon qu'il y a erreur ou non
function checkField(valid, errFieldId, field)
{
	// Si erreur
	if (!valid)
	{
		field.focus();
		document.getElementById(errFieldId).style.display = 'block';
		scroll(0,250);
		return false;
	}
	
	document.getElementById(errFieldId).style.display = 'none';
	return true;
}

function checkEmail(src) 
{
	var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp(emailReg);
	return regex.test(src);
}
 
// Fonctions de trim de texte
function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

