
var isNS4 = (document.layers) ? true : false;
var isIE4 = (document.all && !document.getElementById) ? true : false;
var isIE5 = (document.all && document.getElementById) ? true : false;
var isNS6 = (!document.all && document.getElementById) ? true : false;

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
var frmIdStr = "inscrip";

function getFrmObj() {
	if (isIE5 || isNS6) {
		return(document.getElementById(frmIdStr));
	} else {
		return(MM_findObj(frmIdStr));
	}
}

function checkLenOfStay(baseStr,basePart) {
	var aVal;
	var inObj = MM_findObj(baseStr +  basePart + "_ent");
	var outObj = MM_findObj(baseStr + basePart + "_sor");
	var inHid;
	var outHid;
	if ((parseInt(outObj.value) - parseInt(inObj.value)) < 240) {
		alert("Quatres heures minimum à la crèche.");
		aVal = parseInt(inObj.value) + 240
		outObj.value = aVal.toString();
		aVal = parseInt(outObj.value) - 240;
		inObj.value = aVal.toString();
	}
	//Set the hidden values
	inHid = MM_findObj(baseStr + "_entree");
	outHid = MM_findObj(baseStr + "_sortie");
	inHid.value = inObj.value;
	outHid.value = outObj.value;
}

function toggleDay(dStr) {

	var frmElts = new Array("_jour_ent","_jour_sor","_mat_ent","_mat_sor","_apres_ent","_apres_sor");
	var radioObj = MM_findObj(dStr+"_inc");
	var i,obj,objStr;
	var partOfdStr;
	var x,col,inHid,outHid;
	var incStr,incObj;
		
	if (radioObj.checked) {
		
		
		col = "#33cc99";
		x = MM_findObj(dStr+"_jour");
		if (x.bgColor == col) {
			partOfdStr = "_jour";
			radioObj.value=1;
		}
		x = MM_findObj(dStr+"_mat");
		if (x.bgColor == col) {
			partOfdStr = "_mat";
			radioObj.value=2;
		}
		
		x = MM_findObj(dStr+"_apres");
		if (x.bgColor == col) {
			partOfdStr = "_apres";
			radioObj.value=3;
		}
		
		
		
		for(i=0;i<frmElts.length;i++) {
			objStr = dStr+frmElts[i];
			obj = MM_findObj(objStr);
			if (objStr.indexOf(partOfdStr) >= 0){
				obj.disabled=false;
				if (objStr.indexOf("_ent") >=0) {
					inHid = MM_findObj(dStr + "_entree");
					inHid.value = obj.value;
					
				} else {
					outHid = MM_findObj(dStr + "_sortie");
					outHid.value = obj.value;
					
				}
			} else {
				obj.disabled=true;
			}
			
			
		}
		
		
	} else {
		
		for(i=0;i<frmElts.length;i++) {
			obj = MM_findObj(dStr+frmElts[i]);
			obj.disabled=true;
			
		}
		radioObj.value=0;
		inHid = MM_findObj(dStr + "_entree");
		outHid = MM_findObj(dStr + "_sortie");
		inHid.value="-1";
		outHid.value="-1";
	}
	
}
	
function toggleLines(eltId) {
	
	var i,s,obj,objTr,str,elt,incObj;
	var d = "";
	var partOfd = "";
	var inElt;
	var outElt;
	var inHid;
	var outHid;
	elt = MM_findObj(eltId);
	var jours=new Array("lundi","mardi","mercredi","jeudi","vendredi");
	var frmElts = new Array("_jour_ent","_jour_sor","_mat_ent","_mat_sor","_apres_ent","_apres_sor");
	var trLines = new Array("_jour","_mat","_apres");
	
	for (i=0;i<jours.length;i++) {
		if (elt.id.indexOf(jours[i])>=0) {
			d = jours[i];
		}
		if (d!="") break;
	}
	incObj = MM_findObj(d+"_inc");
	if (!incObj.checked) {
		alert("Cochez '" + d + "' pour activer ses valeurs.");
		return(false);
	}
	for (i=0;i<trLines.length;i++) {
		if (elt.id.indexOf(trLines[i])>=0) {
			partOfd = trLines[i];
		}
		if (partOfd!="") break;
	}
	switch (partOfd) {
		case "_jour":
			incObj.value=1;
			break;
		case "_mat":
			incObj.value=2;
			break;
		case "_apres":
			incObj.value=3;
			break;
	}
	
	if (d!="") {
		//Set up
		for (i=0;i<frmElts.length;i++) {
			s = d + frmElts[i];
			obj = MM_findObj(s);
			if (s.indexOf(elt.id)>=0) {
				obj.disabled = 0;
			} else {
				obj.disabled=1;
			}
		}
		
		for (i=0;i<trLines.length;i++) {
			str = d + trLines[i];
			objTr = MM_findObj(str);
			if (trLines[i]==partOfd) {
				objTr.bgColor="#33CC99";
			} else {
				objTr.bgColor="#336600";
			}
		}
		
		//Hidden value objs
		
		inElt = MM_findObj(d + partOfd + "_ent");
		outElt = MM_findObj(d + partOfd + "_sor");
		inHid = MM_findObj(d + "_entree");
		outHid = MM_findObj(d + "_sortie");
		inHid.value = inElt.value;
		outHid.value =  outElt.value;
		
	}
	
}


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

/*	ROB CAMPBELL 03/12/2002
	FUNCTION : chkForm
	Vérifier si les champs obligatoire sont remplis
	et les dates et adresses email formatés correctement 
	
	IN : Objet formulaire
	OUT : boolean pour valider l'envoi du formulaire
	Dans le formulaire les éléments à vérifier
	doit contenir DATE, EMAIL ou OBLIG dans leur id
	eg	1) <INPUT TYPE="TEXT" name="ledate" id="XXXDATE15" VALUE="">
	eg	2) <INPUT TYPE="TEXT" name="ledate" id="XYZDATE27OBLIG22" VALUE="">
	Dans le premier example, si le champ n'est pas vide, chkForm verifiera le format de date.
	Dans le seconde chkForm verfiera d'abord si le champ est renseigné et renverra 'false'
	si tel est le cas, sinon il verifiera le date. Il va de même pour les email.
	Au moins un élément dans un groupe est à renseigner les id sont marque CHOICE1xyz, CHOICE1sdf
	-- une autre groupe CHOICE2idid, CHOICE2aze, CHOICE2lkkj etc (MAX neuf groupes)
*/

function chkForm(frmObj) { //v2.0
	var str = "";
	var retVal = 1;
	var regIDChoice = /choice/i;
	var regIDDate = /date/i;
	var regIDTime = /time/i;
	var regIDOblig = /oblig/i;
	var regIDEmail = /email/i;
	var regDate = /^(3[01]|0[1-9]|[12]\d)\/(0[1-9]|1[012])\/\d{4}/;
	var regTime1 = /[0-9]{1,2}[:hH\s][0-9]{2}[:mM\s][0-9]{2}/;
	var regTime2 = /[0-9]{1,2}[:hH\s][0-9]{2}[:mM\s]?/;
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var errMess = "Hi";
	var choiceArr= new Array();
	choiceArr[0]= new Array();
	var choiceNdx=0;
	var choiceNdxOffs=6; // ie CHOICE has 6 letters so (CHOICE1) letter 7 is the choice number
	var strObj;
	var currLength;

	
	for(i=0;i<frmObj.length;i++) {
		
		//if (frmObj[i].type=="text" || frmObj[i].type=="textarea") {
			// Champs obligatoire
			if ( regIDOblig.test(frmObj[i].id) && frmObj[i].value == "") {
				//Tester la disponibilté
				
				
				frmObj[i].focus();
				retVal = "oblig";
				break;
			}
			
			
			// Champs dates
			if ( regIDDate.test(frmObj[i].id) ) {
				str = frmObj[i].value;
				if (str == "") continue;
				if (!(regDate.test(str))) {
					frmObj[i].focus();
					retVal = "date";
					break;
				}
  			}
  			// Champs email
			if ( regIDEmail.test(frmObj[i].id) ) {
				str = frmObj[i].value;
				if (str == "") continue;
				if (!(regEmail.test(str))) {
					frmObj[i].focus();
					retVal = "email";
					break;
				}
  			}
  			// Champs time
			if ( regIDTime.test(frmObj[i].id) ) {
				str = frmObj[i].value;
				if (str == "") continue;
				if (!(regTime1.test(str)) && !(regTime2.test(str))) {
					frmObj[i].focus();
					retVal = "time";
					break;
				}
  			}
  			//Exceptions : either / or 
  			
  			if (regIDChoice.test(frmObj[i].id)) {
  				
  				//Determine the value of the choice CHOICE0 CHOICE1 CHOICE2 ... CHOICE9
  				//If no index then choiceNdx remains at 0 - assume only one choice set
  				strObj = new String(frmObj[i].id);
  				choiceNdxOffs = strObj.search(regIDChoice) + 6;
  				if (strObj.charCodeAt(choiceNdxOffs) >=48 && strObj.charCodeAt(choiceNdxOffs) <= 57) {
  					choiceNdx = strObj.charCodeAt(choiceNdxOffs) - 48;
  					while (choiceArr.length<(choiceNdx+1)) {
  						choiceArr.push(new Array());
  					}
  				}
  				choiceArr[choiceNdx].push(frmObj[i]);
  			}
  			
  		//}
	}
	//Y a-t-il des choix ou / ou qui ne sont pas renseigné
	
	if (choiceArr.length >= 1 && retVal==1) {
		var tmpRetVal=retVal;
		var val,objID;
		var y,x;
		for(x=0;x<choiceArr.length;x++) {
			for(y=0;y<choiceArr[x].length;y++) {
				if (choiceArr[x][y].value == "") {
  					tmpRetVal="choice";
				} else {
					tmpRetVal=retVal;
					break;
				}
			}
			
			if (tmpRetVal!=retVal) {
				//Un CHOICE SET n'est pas bon
				break;
			}
		}
		retVal=tmpRetVal;
	}
	
	return(retVal); 
}

function submitForm(obj) {
	var val = chkForm(obj);
	if (val==1) {
		return(true);
	} else {
		switch (val) {
				case "oblig":
					alert("Vérifier que vous avez bien rempli les champs obligatoires.");
					
					break;
				case "email":
					alert("Vérifier le format des email saisis : toto@frtdih.fr");
					
					break;
				case "date":
					alert("Les dates sont dans le format européen : jj/mm/aaaa");
					
					break;
				case "ukv":
					alert("Vérfier que vous avez bien renseigné tous les éléments pour la version UK.\n(Sinon décocher le case Disponible UK)");
					
					break;
				case "frv":
					alert("Vérfier que vous avez bien renseigné tous les éléments pour la version FR.\n(Sinon décocher le case Disponible FR)");
					
					break;
				case "ukc":
					alert("Vérifier qu'au moins une des  soit renseignée.\n(Sinon décocher le case Disponible UK)");
					
					break;
				case "frc":
					alert("Vérifier qu'au moins une des options soit renseignée.\n(Sinon décocher le case Disponible FR)");
					
					break;
				case "choice":
					alert("Nous avons besoin d'au moins un numéro téléphonique?");
					break;
				case "time":
					alert("Vérifier que l'heure est correctement formaté");
					break;
			}
		
		return(false);
	}
}



