
/* bof JEU.HTML VERIFICATIONS FORMULAIRES */

function checkFormGauche(of)
		{
		// Test if DOM is available and there is an element called obligatoire
			if(!document.getElementById || !document.createTextNode){return;}
			if(!document.getElementById('obligatoire0')){return;}

		// Define error messages and split the obligatoire fields
			var errorID='errormsg';
			var errorClass='error';
			var errorMsg='Merci de verifier les champs de couleur Rouge.';
			var errorImg='img/visuel-erreur.gif';
			var errorAlt='Error';
			var errorTitle='This field has an error!';
			var reqfields=document.getElementById('obligatoire0').value.split(',');

		// Cleanup old mess
			// if there is an old errormessage field, delete it
			if(document.getElementById(errorID))
			{
				var em=document.getElementById(errorID);
				em.parentNode.removeChild(em);
			}
			// remove old images and classes from the required fields
			for(var i=0;i<reqfields.length;i++)
			{
				var f=document.getElementById(reqfields[i]);
				if(!f){continue;}
				if(f.previousSibling && /img/i.test(f.previousSibling.nodeName))
				{
					f.parentNode.removeChild(f.previousSibling);
				}
				f.className='';
			}
			
		// loop over obligatoire fields
			for(var i=0;i<reqfields.length;i++)
			{
		// check if obligatoire field is there



				var f=document.getElementById(reqfields[i]);
				if(!f){continue;}
				
				
		// test if the obligatoire field has an error, 
		// according to its type
				switch(f.type.toLowerCase())
				{
					case 'text':
						if(f.value=='' && f.id!='inscritEmail'){cf_adderr(f)}
		// email is a special field and needs checking
						if(f.id=='inscritEmail' && !cf_isEmailAddr(f.value)){cf_adderr(f)}
					break;
				}

			}
			return !document.getElementById(errorID);
			


			/* Tool methods */
			function cf_adderr(o)
			{
				// create image, add to and colourise the error fields
				var errorIndicator=document.createElement('img');
				errorIndicator.alt=errorAlt;
				errorIndicator.src=errorImg;
				errorIndicator.title=errorTitle;
				o.className=errorClass;

			// Check if there is no error message
				if(!document.getElementById(errorID))
				{
				// create errormessage and insert before submit button
					var em=document.createElement('div');
					em.id=errorID;
					var newp=document.createElement('p');
					newp.appendChild(document.createTextNode(errorMsg))
					// clone and insert the error image
					em.appendChild(newp);
					// find the submit button 
					for(var i=0;i<of.getElementsByTagName('input').length;i++)
					{
						if(/image/i.test(of.getElementsByTagName('input')[i].type))
						{
							var sb=of.getElementsByTagName('input')[i];
							break;
						}
					}
					if(sb)
					{
						sb.parentNode.insertBefore(em,sb);
					}	
				} 
			}
			function cf_isEmailAddr(str) 
			{
			    return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
			}
}




function checkFormDroite(of)
		{
		// Test if DOM is available and there is an element called obligatoire
			if(!document.getElementById || !document.createTextNode){return;}
			if(!document.getElementById('obligatoire')){return;}

		// Define error messages and split the obligatoire fields
			var errorID='errormsg';
			var errorClass='error';
			var errorMsg='Merci de verifier les champs de couleur Rouge.';
			var errorImg='img/visuel-erreur.gif';
			var errorAlt='Error';
			var errorTitle='This field has an error!';
			var reqfields=document.getElementById('obligatoire').value.split(',');

		// Cleanup old mess
			// if there is an old errormessage field, delete it
			if(document.getElementById(errorID))
			{
				var em=document.getElementById(errorID);
				em.parentNode.removeChild(em);
			}
			// remove old images and classes from the required fields
			for(var i=0;i<reqfields.length;i++)
			{
				var f=document.getElementById(reqfields[i]);
				if(!f){continue;}
				if(f.previousSibling && /img/i.test(f.previousSibling.nodeName))
				{
					f.parentNode.removeChild(f.previousSibling);
				}
				f.className='';
			}
			
		// loop over obligatoire fields
			for(var i=0;i<reqfields.length;i++)
			{
		// check if obligatoire field is there



				var f=document.getElementById(reqfields[i]);
				if(!f){continue;}
				
				
		// test if the obligatoire field has an error, 
		// according to its type
				switch(f.type.toLowerCase())
				{
					case 'text':
						if(document.getElementById('nouveauEmail').value!=document.getElementById('nouveauEmailVerif').value){cf_adderr(document.getElementById('nouveauEmailVerif'))}
						if((f.value=='' && f.id!='nouveauEmail') || (f.value=='' && f.id!='nouveauEmailVerif') || (f.value=='Nom' && f.id!='nouveauEmailVerif') || (f.value=='Prénom' && f.id!='nouveauEmailVerif')){cf_adderr(f)}
		// email is a special field and needs checking
						if((f.id=='nouveauEmail' && !cf_isEmailAddr(f.value)) || (f.id=='nouveauEmailVerif' && !cf_isEmailAddr(f.value))){cf_adderr(f)}
						if(document.getElementById('nouveauPassword').value!=document.getElementById('nouveauPasswordVerif').value){cf_adderr(document.getElementById('nouveauPasswordVerif'))}
					break;
				}

			}

			return !document.getElementById(errorID);
			


			/* Tool methods */
			function cf_adderr(o)
			{
				// create image, add to and colourise the error fields
				var errorIndicator=document.createElement('img');
				errorIndicator.alt=errorAlt;
				errorIndicator.src=errorImg;
				errorIndicator.title=errorTitle;
				o.className=errorClass;

			// Check if there is no error message
				if(!document.getElementById(errorID))
				{
				// create errormessage and insert before submit button
					var em=document.createElement('div');
					em.id=errorID;
					var newp=document.createElement('p');
					newp.appendChild(document.createTextNode(errorMsg))
					// clone and insert the error image
					em.appendChild(newp);
					// find the submit button 
					for(var i=0;i<of.getElementsByTagName('input').length;i++)
					{
						if(/image/i.test(of.getElementsByTagName('input')[i].type))
						{
							var sb=of.getElementsByTagName('input')[i];
							break;
						}
					}
					if(sb)
					{
						sb.parentNode.insertBefore(em,sb);
					}	
				} 
			}
			function cf_isEmailAddr(str) 
			{
			    return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
			}
}
/* eof VERIFICATION JEU.HTML */


/* === bof Update page product + Accordion menu - october 2008 === */
var ContentHeight = 175;	//height of the accordion content
var TimeToSlide = 250.0;

var openAccordion = 'Accordion1Content';	//if all accordion closed, then openAccordion = '';

function runAccordion(index)
{
  var nID = "Accordion" + index + "Content";
  if(openAccordion == nID)
    nID = '';

  setTimeout("animate("
      + new Date().getTime() + "," + TimeToSlide + ",'"
      + openAccordion + "','" + nID + "')", 33);
 
  openAccordion = nID;
}


function animate(lastTick, timeLeft, closingId, openingId)
{ 
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var opening = (openingId == '') ?
      null : document.getElementById(openingId);
  var closing = (closingId == '') ?
      null : document.getElementById(closingId);
 
  if(timeLeft <= elapsedTicks)
  {
    if(opening != null)
      opening.style.height = ContentHeight + 'px';
   
    if(closing != null)
    {
      closing.style.display = 'none';
      closing.style.height = '0px';
    }
    return;
  }
 
  timeLeft -= elapsedTicks;
  var newClosedHeight =
      Math.round((timeLeft/TimeToSlide) * ContentHeight);

  if(opening != null)
  {
    if(opening.style.display != 'block')
      opening.style.display = 'block';
    opening.style.height =
        (ContentHeight - newClosedHeight) + 'px';
  }
 
  if(closing != null)
    closing.style.height = newClosedHeight + 'px';

  setTimeout("animate(" + curTick + "," + timeLeft + ",'"
      + closingId + "','" + openingId + "')", 33);
}
/* === eof Update page product + Accordion menu - october 2008 === */
