/*
 * script relatif au formulaire de Recherche avancé :
 */

var xhr_object = null;
var flag=0;
if (document.all) {
	//Internet Explorer
	navi = 0;
	doc1="document.all['";
	doc2 = "']";
	sty=".style.";
}
else if (document.getElementById) {
	// Navigateur Netscape 5 + ou  et DOM-1.
	navi = 2;
	doc1 = "document.getElementById('";
	doc2 = "')";
	sty=".style.";
}
else if (document.layers) {
	// Navigateur Netscape 4.7 et moins.
	navi = 1;
	doc1 = "document.layers['";
	doc2 = "']";
	sty=".";
}

function geremotbis (logiciel) {
	if (flag >= 1)
	{
		if (flag == 1) {
			if(logiciel != "")
			{
				//Affichage du calque
				eval(doc1 + 'divResult' + doc2 + sty + 'display=\'block\'');

				var xhr_object = null;
				if(window.XMLHttpRequest)
				{
					/* création d'une instance de l'objet XMLHTTPRequest sous Firefox */
					xhr_object = new XMLHttpRequest();
				}
				else if(window.ActiveXObject)
				{
					/* création d'une instance de l'objet XMLHTTPRequest sous MSIE */
					xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
				}
				else
				{	/* XMLHttpRequest non supporté par le navigateur */
					alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
					return;
				}
				/* spécification de la méthode de transmission des données (GET ou POST),
					de l'url de la page qui va les traiter
					et du mode de transmission (synchrone : false ; asynchrone : true) */
				// tenir compte de l'OS
				var os = "?os="+document.rech_avance.sys.value;

				if (os == "") {
					xhr_object.open("POST", "php/ajax/proplogiciel.php", true);
				}
				else {
					xhr_object.open("POST", "php/ajax/proplogiciel.php"+os, true);
				}

				xhr_object.onreadystatechange = function() {
					/* précise l'état d'exécution de la requête ; 4 -> les données sont complètement accessibles */
					if(xhr_object.readyState == 4) {
						/* xhr_object.responseText ou xhr_object.responseXML : informations reçues */
						document.getElementById( 'divResult' ).innerHTML = xhr_object.responseText;
						flag = 2;
					}
				}

				/* spécification de l'en-tête adéquat ; nécessaire avec POST pour préciser l'encodage */
				xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				/* contruction de la chaîne de données à envoyer */
				var data = "logiciel="+escape(logiciel);
				/* exécution de la requête avec envoi des données à transmettre */
				xhr_object.send(data);
			}
		}
	} else {
		eval(doc1 + 'divResult' + doc2 + sty + 'display=\'none\'');
	}

}

function osChanged(e) {
	if (!e) var e = window.event;

	if (e.target) {
		targ = e.target;
	}
	else if (e.srcElement) targ = e.srcElement;

	xhr_object = null;
	if(window.XMLHttpRequest)
	{
		/* création d'une instance de l'objet XMLHTTPRequest sous Firefox */
		xhr_object = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		/* création d'une instance de l'objet XMLHTTPRequest sous MSIE */
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{	/* XMLHttpRequest non supporté par le navigateur */
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}

	/* contruction de la chaîne de données à envoyer */
	var data = "os="+targ.value+"&form=rech_avance&SelectNiveau=niveaux&SelectDiscipline=disciplines";

	xhr_object.open("POST", "php/ajax/get_niveau_discipline.php", true);
	xhr_object.onreadystatechange = function() { 
		ResponseAjax(targ)
	};
	/* spécification de l'en-tête adéquat ; nécessaire avec POST pour préciser l'encodage */
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	/* exécution de la requête avec envoi des données à transmettre */
	xhr_object.send(data);
}

function ResponseAjax(targ) {
	if (xhr_object.readyState == 4) {
		if (xhr_object.status == 200) {
			eval(	xhr_object.responseText );
		}
	}
}

function showhideOS(ckb, osId) {
	var divs = document.getElementsByTagName('div');
	for (var i = 0, div; div = divs[i]; i++) {
		if (div.getAttribute('os_name') == osId) {
			if (ckb.checked) {
				div.style.display = '';
			}
			else {
				div.style.display = 'none';
			}
		}
	}
}

function keypress(evt) {
	evt = (evt) ? evt : (window.event) ? event : null;
	if (evt)
	{
		var charCode = (evt.charCode) ? evt.charCode :
		((evt.keyCode) ? evt.keyCode :
			((evt.which) ? evt.which : 0));

		switch (charCode) {
			case 27:
				var obj = document.getElementById("divResult");
				if (obj) {
					obj.style.display = 'none';
					flag = 0;
				}
				break;
			default:
				flag = 1;
				break;
		}
	}
}

/*
 * control du formulaire d'inscription
 */
function ctrlFormInscription()
{
	if (window.document.formul.nom.value =='')
	{
		alert('Veuillez saisir votre nom');
		window.document.formul.nom.focus();
		return false;
	}
	else
	{
		if (window.document.formul.prenom.value =='')
		{
			alert('Veuillez saisir votre prénom');
			window.document.formul.prenom.focus();
			return false;
		}
		else
		{
			if (window.document.formul.email.value =='')
			{
				alert('Veuillez saisir votre adresse e-mail professionnelle');
				window.document.formul.email.focus();
				return false;
			}
			else
			{
				if (! verifmail(window.document.formul.email.value))
				{
					alert('Veuillez saisir précisément votre adresse e-mail professionnelle\n(ex. : marcel.durant@ac-poitiers.fr ou michelle.dupond@paris.iufm.fr ou marie.dupont@educagri.fr)');
					window.document.formul.email.focus();
					return false;
				}
				else
				{
					if (window.document.formul.qualite.selectedIndex == 0)
					{
						alert('Veuillez sélectionner une qualité');
						window.document.formul.qualite.focus();
						return false;
					}
					else
					{
						if (window.document.formul.niveau.selectedIndex == 0)
						{
							alert('Veuillez sélectionner un niveau');
							window.document.formul.niveau.focus();
							return false;
						}
						else
						{
							if (window.document.formul.discipline.selectedIndex == 0)
							{
								alert('Veuillez sélectionner une discipline');
								window.document.formul.discipline.focus();
								return false;
							}
							else
							{
								if (window.document.formul.academie.selectedIndex == 0)
								{
									alert('Veuillez sélectionner une académie');
									window.document.formul.academie.focus();
									return false;
								}
								else
								{
									return true;
								}
							}
						}
					}
				}
			}
		}
	}
}

/*
 * script pour la proposition d'un logiciel
 *******************************************************************************/

// Teste si l'adresse électronique a une forme correcte
function verifmail(email) {
	var reg = /^[A-Za-z0-9._-]+@[A-Za-z0-9.-]{2,}[.][A-Za-z]{2,4}$/
	return (reg.exec(email)!=null)
}

function verifMailDest(emailFrm) {
	var email = document.getElementById(emailFrm).value;
	if (!verifmail(email)) {
		alert("Vérifier l'adresse mèl. du destinataire.");		
		return false;
	}
	else
		return true;
}

function verifForm() {
	var err = "";
	if (document.frmpropose.nom_log.value == "") {
		err += "- Nom du logiciel\n";
	}
	if (document.forms['frmpropose'].version_log.value == "") {
		err += "- Numéro de version\n";
	}
	if (document.frmpropose.adr_log.value == "") {
		err += "- Adresse de téléchargement\n";
	}
	if (document.frmpropose.licence.value == "") {
		err += "- Licence juridique\n";
	}

	if (err != "") {
		err = "Votre formulaire est incomplet.\n Merci de renseigner les champs suivants qui sont obligatoires :\n" + err;
		alert(err);
		return false;
	}
	else {
		// Teste si l'adresse électronique a une forme correcte
		if (document.frmpropose.email.value != "") {
			if (!verifmail(document.frmpropose.email.value)) {
				alert("Votre adresse email n'est pas valide");
				document.frmpropose.email.focus();
				return false;
			}
			else
				return true;
		}
		else
			return true;
	}
}
/*****************************************************************************/

/********* control du formulaire donner son avis ******/
function ctrlFormAvis() {		
	if (document.formSaisie.programme.value == "")
	{
		alert("Veuillez remplir le champ 'Lien avec les programmes'");
		document.formSaisie.programme.focus();
		return false;
	}
	else
	{
		for (n=1; n<=11; n++)
		{
			etat = 0;
			for (m=0;m<=3;m++)
			{
				if (eval ("document.formSaisie.avis" + n + "[" + m + "].checked"))
				{
					etat = 1;
				}
			}
			if (etat == 0)
			{
				alert ("Veuillez remplir le point " + n + " du 'Bilan de l'expertise'");
				return false;
			}
		}

		if (document.formSaisie.avis_global.value == "")
		{
			alert("Veuillez remplir le champ 'Avis global'");
			document.formSaisie.avis_global.focus();
			return false;
		}
		else
		{
			return true;
		}
	}
}
/********* fin de control du formulaire donner son avis ******/

function verifie_licence() {
	return true;
	/*
	var ckb = document.download.ck_licence;
	if (ckb) {
		if (!ckb.checked)
			alert("Vous devez cocher la case pour accepter les termes de la charte et télécharger ce logiciel.");
		return ckb.checked;
	}
	else {
		return false;
	}*/
}

/********* Page Profil ********************/
function verifFormulaire() {
	var err = "";
	if (document.formprofil.genre.value == "") {
		err += "- Choisissez Mlle, Mme, M.\n";
	}
	if (document.formprofil.mdp.value == "") {
		err += "- Veuillez remplir votre mot de passe\n";
	}
	if (document.formprofil.mdp1.value != "") {
		if (document.formprofil.mdp2.value == "") {
			err += "- Répéter votre nouveau mot de passe\n";
		}
		else if (document.formprofil.mdp2.value != document.formprofil.mdp1.value) {
			err += "- Il y a une erreur dans la saisie du nouveau mot de passe";
		}
		else if (document.formprofil.mdp1.value.length < 6) {
			err += "- Le mot de passe doit faire au minimum 6 caractères";
		}
	}
	if (document.formprofil.email.value == "") {
		err += "- Veuillez remplir votre adresse mél.\n";
	}
	else {
		if (verifmail(document.formprofil.email.value)==false) {
			err += "- L'adresse mél. saisie n'est pas valide.\n"
		}
	}
	if (document.formprofil.qualite.value == 0) {
		err += "- Veuillez choisir votre qualité.\n"
	}
	if (document.formprofil.niveau.value == 0) {
		err += "- Veuillez choisir votre niveau.\n"
	}
	if (document.formprofil.discipline.value == 0) {
		err += "- Veuillez choisir votre discipline.\n"
	}
	if (document.formprofil.academie.value == 0) {
		err += "- Veuillez choisir votre academie.\n"
	}
	if (err != "") {
		err = "Votre formulaire est incomplet ou comporte des erreurs :\n" + err;
		alert(err);
		return false;
	}
	else {
		return true;
	}
}

function goBack() {
	history.go(-1);
}

function apparait(etat){
	var obj = document.getElementById('hover');
	if (obj) {
		if (obj.style != etat) {
			obj.style.display = etat;
		}
	}
}

function videChamps() {
	document.rech_avance.nom_log.value = "";
	document.rech_avance.sys.value = "";
	document.rech_avance.niveaux.value = "";
	document.rech_avance.disciplines.value = "";
}

function showHideBlockAncienneAnalyse(objId) {
	// bascule entre display:none et display:block
	var obj = document.getElementById(objId);
	var image = document.getElementById('imgOldVersion');
	if (obj) {
		if (obj.style.display == 'none') {
			obj.style.display = 'block';
			image.src = 'img/picto-ancienne-version2.gif';
		}
		else {
			obj.style.display = 'none';
			image.src = 'img/picto-ancienne-version.gif';
		}
	}
}
