// JavaScript Document
var isSticker = false;		// booléen vérifiant qu'un sticker a été généré

/* Pré-selectionne un sticker */
function selectColor(couleur_sticker, element) {
	couleur = couleur_sticker;
	stick = document.getElementById("stickers").getElementsByTagName("img");
	for(i=0; i<stick.length; i++)
		stick[i].style.border = "1px solid white";
	element.style.border = "1px solid red";
}

/* Chargement du code stickers */
function loadCode_stickers(key) {
	var url = "sticker_imac_" + document.getElementById("myInput").value.substr(1);

	chaine = "<a href=\"http://imac.univ-mlv.fr/\"> \n";
	chaine += "	<img src=\"http://etudiant.univ-mlv.fr/~w3-imac/imac/include/images/goodies/" + url + ".png\" alt=\"Etudiant ingenieur IMAC\" /> \n";
	chaine += "</a> \n";
	chaine += "<script type=\"text/javascript\" src=\"http://etudiant.univ-mlv.fr/~w3-imac/imac/goodies/js/portfolios.js\"></script>  \n";
	chaine += "<script type=\"text/javascript\"> \n";
	chaine += "	   clef = \"" + key + "\"; \n";
	chaine += "    ini(); \n";
	chaine += "</script>";
	return chaine;
}	

/* Explication code étudiant */
function explication(value) {
	p = document.getElementById("explication_etudiant");
	if(value == "simplexml")
		p.innerHTML = "Choisissez SimpleXML si votre hébergeur supporte le PHP5. Technique recommandée.";
	if(value == "php4")
		p.innerHTML = "Si votre hébergeur ne propose pas le PHP5, reportez-vous au PHP4";
	if(value == "js")
		p.innerHTML = "Si votre site n'est pas dynamique, nous vous proposons un équivalent javascript (non recommandé néanmoins).";
}

/* Chargement du code étudiant */
function loadCode_etudiants(type, promo) {
	if(promo == "tous") f = "imac";
	else f = promo;
	var fichier = "http://etudiant.univ-mlv.fr/~w3-imac/imac/include/xml/" + f + ".xml";
	if(type == "simplexml") {
		chaine = "<h2>Imaciens</h2> \n";
		chaine += "<ul> \n";
		chaine += "<?php \n";
		chaine += "if(!$xml = simplexml_load_file('" + fichier + "'); \n";
		chaine += "	die(\"Fichier hors-ligne. Essayez plus tard. \"); \n";
		chaine += "foreach($xml->xpath(\"//item\") as $etudiant) \n";
		chaine += "\t echo \"<li><a href='\".$etudiant->link.\"'>\".$etudiant->title.\"</a></li>\"; \n";
		chaine += "?> \n";
		chaine += "</ul>";
	}
	else if(type == "php4") {
		chaine = "<h2>Imaciens</h2> \n";
		chaine += "<ul> \n";
		chaine += "<?php \n";
		chaine += "$doc = new DOMDocument(); \n";
		chaine += "$doc->loadXML('" + fichier + "')); \n";
		chaine += "$xpath = new DOMXPath($doc); \n";
		chaine += "$etudiants = $xpath->query($query); \n";
		chaine += "foreach($etudiants as $etudiant) \n";
		chaine += "\t echo \"<li><a href='\".$etudiant->link.\"'>\".$etudiant->title.\"</a></li>\"; \n";
		chaine += "?> \n";
		chaine += "</ul>";
	}
	else if(type == "js") {
		chaine = "<h2>Imaciens</h2> \n";
		chaine += "<ul> \n";
		chaine += "<script type=\"text/javascript\"> \n";
		chaine += "\t var ie = false;	/*@cc_on	ie = true;	@*/ \n";
		chaine += "\t if (!ie) { \n";
		chaine += "\t \t xml = document.implementation.createDocument(\"\", \"\", null); \n";
		chaine += "\t \t xml.async = false; \n";
		chaine += "\t \t xml.load('" + fichier + "')); \n";
		chaine += "\t } else { \n";
		chaine += "\t \t xml=new ActiveXObject(\"Microsoft.XMLDOM\"); \n";
		chaine += "\t \t xml.async=false; \n";
		chaine += "\t \t xml.load('" + fichier + "')); \n";
		chaine += "\t } \n";
		chaine += "\t items = xml.getElementsByTagName(\"item\"); \n";
		chaine += "\t for (i=0; i<items.length; i++) { \n";
		chaine += "\t \t nom = items[i].getElementsByTagName(\"title\")[0].firstChild.data; \n";
		chaine += "\t \t url = items[i].getElementsByTagName(\"link\")[0].firstChild.data; \n";
		chaine += "\t \t document.write('<li><a href=\"' + url + '\">' + nom + '<a></li>'); \n";
		chaine += "\t } \n";
		chaine += "</script> \n";
		chaine += "</ul>\n";
	}
	return chaine;
}

/* Génération */
function generate(i) {
	/* Code des stickers */
	if (i == 1)  {
		document.getElementById("code_stickers").style.visibility = "hidden";
		document.getElementById("bouton_mail").style.visibility = "hidden";
		numetu = document.getElementById("num_etu").value;
		date = document.getElementById("date_anniv").value;
		courriel = document.getElementById("courriel").value;
		if(!isSticker) { alert("Générez d'abord un sticker"); return; }
		if(isNumetud(numetu) && isDate(date) && isMail(courriel)) {
			/* On vérifie les données */
			var xhr;
			document.getElementById("load_stickers").innerHTML = "<img src='include/images/loader.gif' alt='Chargement...' style='border:none; vertical-align:middle;' />";
			if(window.XMLHttpRequest) xhr = new XMLHttpRequest();
			else if(window.ActiveXObject) {
				try {
					xhr = new ActiveXObject("Msxml2.XMLHTTP");
				} catch(e) {
					xhr = new ActiveXObject("Microsoft.XMLHTTP");
				}
			}
			xhr.open("post", "include/ajax/goodies.php", true);		
			xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			xhr.send("numetu=" + numetu + "&date=" + date + "&mail=" + courriel);
			xhr.onreadystatechange = function() {	
				if(xhr.readyState == 4) {
					document.getElementById("load_stickers").innerHTML = "";
					if(xhr.responseText != "Erreur") {
						var key = xhr.responseText;
						document.getElementById("code_stickers").style.visibility = "visible";
						document.getElementById("textarea_stickers").value = loadCode_stickers(key);
						document.getElementById("bouton_mail").style.visibility = "visible";
					}
					else 
						alert("Mauvais numéro et / ou date de naissance. Veuillez ré-essayer.");
				}
			}
			
		}
	}
	
	/* Code des étudiants */
	if (i == 2) {
		document.getElementById("code_etu").style.visibility = "visible";
		document.getElementById("textarea_etu").value = "";
		document.getElementById("textarea_etu").value = loadCode_etudiants(document.getElementById("choix_code").value, document.getElementById("promo").value);
	}

}	

/* Envoi mail */
function envoi_mail() {
	code = document.getElementById("textarea_stickers").value; 
	mail = document.getElementById("courriel").value;
	var xhr;
	document.getElementById("load_stickers").innerHTML = "<img src='include/images/loader.gif' alt='Chargement...' style='border:none; vertical-align:middle;' />";
	if(window.XMLHttpRequest) xhr = new XMLHttpRequest();
	else if(window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	xhr.open("post", "include/ajax/envoi_mail.php", true);		
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send("envoi=code&adresse=" + mail + "&code=" + code);
	xhr.onreadystatechange = function() {	
		if(xhr.readyState == 4) {
			document.getElementById("load_stickers").innerHTML = xhr.responseText;
		}
	}
}

/* Genere un sticker */
function genereSticker() {
	couleur = document.getElementById("myInput").value;
	var xhr;
	document.getElementById("image_stickers").innerHTML = "<img src='include/images/loader.gif' alt='Chargement...' style='border:none; vertical-align:middle;' />";
	if(window.XMLHttpRequest) xhr = new XMLHttpRequest();
	else if(window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	xhr.open("post", "include/ajax/creation_sticker.php", true);		
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send("couleur=" + couleur);
	xhr.onreadystatechange = function() {	
		if(xhr.readyState == 4) {
			document.getElementById("image_stickers").innerHTML = xhr.responseText;
			isSticker = true;
		}
	}
}

	
