// JavaScript Document
var image=new Array("KY","OL","FY","YC","HF","YL","FT","YV","GX","NX","IQ","BA","DX","AG","RX","PU","YS","ZA","VA","YX","GU","FQ","CG","NM","ZY","XD","CD","NP","MR","LI","MU","UM","XF","QY","XE","FC","TU","SE","BQ","YJ","HT","WS","WF","AW","RP","GF","CH","YT","RL","KK","FI","LZ","OO","HI","XJ");
var trans=new Array("0","1","2","2","2","3","3","4","4","5","5","6","6","6","7","7","8","8","A","A","B","B","B","B","C","C","D","E","F","F","G","G","H","H","I","J","L","M","N","O","O","P","P","P","Q","R","S","T","T","U","U","W","Y","Z","Z");
var csecu=0,lecode=new Array();

function verifform() {
	//parametre sous la forme nomform, nomchamp, parametre, nomchamp, ...
	var erreurs="", args=verifform.arguments;
	if (args.length > 0) {
		try {
			var terr,lesparams,lechamp,valeurchamp,leform=document.forms[args[0]];
			for (i=1;i<args.length;i+=2) {
				lechamp=leform.elements[args[i]];
				lechamp.style.backgroundColor = ""
				uerreurs = "";
				switch (lechamp.type) {
					case "text":
					case "textarea":
					case "hidden":
					case "password":
					case "select-one":
						valeurchamp = lechamp.value;
						break;
					case "checkbox":
						valeurchamp = lechamp.checked;
						break;
				} //end switch
				lesparams=args[i+1].split(':');
				for (y=0;y<lesparams.length;y++) {
				
					if (lesparams[y]=="Requis") {
						if (valeurchamp == "" || !valeurchamp) {
							uerreurs += "- " + lechamp.title + " est requis.\n";
						}
					}
				
					if (valeurchamp != "") {
						switch (lesparams[y]) {
						case "Courriel":
							var Couriel = new RegExp(/^[\w\.=-]+@[\w\.-]+\.[a-z]{2,4}$/i);
							if (!Couriel.test(valeurchamp)) {
								uerreurs += "- " + lechamp.title + " doit contenir une adresse de courriel.\n";
							}
							break;
						case "Nombre":
							if (isNaN(valeurchamp)) {
								uerreurs += "- " + lechamp.title + " doit contenir un nombre.\n";
							}
							break;
						case "Heure":
							var lheure = new RegExp(/^\d+:\d+:\d+$/i);
							if (!lheure.test(valeurchamp)) {
								uerreurs += "- " + lechamp.title + " doit contenir une heure.\n";
							}
							break;
						case "Date":
							var ladate = new RegExp(/^\d{4}\-\d+\-\d+$/i);
							if (!ladate.test(valeurchamp)) {
								uerreurs += "- " + lechamp.title + " doit contenir une date.\n";
							}
							break;
						case "PaslePremier":
							if (lechamp.selectedIndex == 0) {
								uerreurs += "- " + lechamp.title + " ne doit pas étre le premier choix.\n";
							}
							break;
						case "Idem":
							var deuchamp = leform.elements[lesparams[y+1]];
							if (deuchamp.value != valeurchamp) {
								uerreurs += "- " + lechamp.title + " n'est pas indentique avec " + deuchamp.title + ".\n";
							}
							break;
						case "DateHeure":
							var ladate = new RegExp(/^\d{4}\-\d+\-\d+\ \d+:\d+:\d+$/i);
							if (!ladate.test(valeurchamp)) {
								uerreurs += "- " + lechamp.title + " doit contenir une date et une heure.\n";
							}
							break;		
						case "CodeEcu":
							var secu=new Array();
							for (li=0;li<6;li++) {
								secu[li] = trans[lecode[li]];
							}
							if (secu.join('')!=valeurchamp.toUpperCase()) {
								uerreurs += "- Code de securité incorrect.\n";
							}
							break;	
					
						case "Intervalle":
							lintervalle = lesparams[y + 1].split(',');
							if ( (isNaN(lintervalle[0])) || (valeurchamp < lintervalle[0])) {
								uerreurs += "- " + lechamp.title + " doit contenir un nombre entre " + lintervalle[0] + " et " + lintervalle[1] + ".\n";
							} else if ( (isNaN(lintervalle[1])) || (valeurchamp > lintervalle[1])) {
								uerreurs += "- " + lechamp.title + " doit contenir un nombre entre " + lintervalle[0] + " et " + lintervalle[1] + ".\n";
							}
							break;				
						}//end switch
					}// end if
				}// end for
				if (uerreurs) { lechamp.style.backgroundColor = "#990066"; }
				erreurs += uerreurs;
			}
			if (erreurs) { 
				alert("Les erreurs suivantes ont été detectés : \n" + erreurs); 
				if (document.getElementById("lcs")) {
					getimage();
				}
			}
			return (erreurs=='');
		}//end try
		catch (err) {
			return(false);
		}//end catch
	}//end if
}//end function

function getimage() {
	
	lecode[0]=Math.round(Math.random()*(image.length-1))

	for (i=1;i<6;i++) {
		var aleat=Math.round(Math.random()*(image.length-1));
		while (lecode[i - 1]==aleat) {
			aleat=Math.round(Math.random()*(image.length-1));
		}
		lecode[i]=aleat;
	}
	document.getElementById("lcs").innerHTML = "<img src=images/challenge/" + image[lecode[0]] + ".gif alt=\"codesecu1\" /><img src=images/challenge/" + image[lecode[1]] + ".gif alt=\"codesecu2\" /><img src=images/challenge/" + image[lecode[2]] + ".gif alt=\"codesecu3\" /><img src=images/challenge/" + image[lecode[3]] + ".gif alt=\"codesecu4\" /><img src=images/challenge/" + image[lecode[4]] + ".gif alt=\"codesecu5\" /><img src=images/challenge/" + image[lecode[5]] + ".gif alt=\"codesecu6\" /><input name=\"lecode\" type=\"hidden\" id=\"lecode\" value=\"" + lecode.join('/') + "\" />";

}

function file(fichier)
{
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);

	if (xhr_object) {
		xhr_object.open("GET", fichier, false);
		xhr_object.send(null);
		if(xhr_object.readyState == 4) 
			return(xhr_object.responseText);
		else 
			return(false);
	} else
		return(false);
}

function listechien()
{
	var url = 'http://canin-est.ath.cx/chienalea.php';	
	var myAjax = new Ajax.Updater('CalNews', url, {method: 'get'}); 
}