// JavaScript Document

function showDiv()
	//document.getElementById(10).style.display = 'none';
				  { 
   //var state=X
   //if (state=="401") 
   {
   document.getElementById("specificCategories").style.display = '';
   document.getElementById(100).checked = '';
   
   //document.getElementById(403).style.display = 'NONE';
   }

}

function UN_checked(X)
	//document.getElementById(10).style.display = 'none';
				  { 
 var state=X
   if (state=="1") 
   {
   document.getElementById("specificCategories").style.display = 'NONE';
   document.getElementById(101).checked = '';
   document.getElementById(102).checked = '';
   document.getElementById(103).checked = '';
   document.getElementById(104).checked = '';
   document.getElementById(105).checked = '';
   document.getElementById(106).checked = '';
   document.getElementById(107).checked = '';
   document.getElementById(108).checked = '';
   document.getElementById(109).checked = '';
   document.getElementById(110).checked = '';
   //document.getElementById(403).style.display = 'NONE';
   }else if (state=="0")
   {document.getElementById(100).checked = '';}

}



function checkUncheckAll(theElement) {
     var theForm = theElement.form, z = 0;
	 for(z=0; z<theForm.length;z++){
      if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
//	  theForm[z].checked = theElement.checked;
	  }
     }
    }	

function uncheckSelections(theElement) {
     var theForm = theElement.form, z = 0;
	 for(z=0; z<theForm.length;z++){
      if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
	  if(theForm[z].name != 'News17') theForm[z].checked = false;
	  }
     }
    }	



function isValidRadio(radio)
{
	var valid = false;
	//for (var i = 0; i < radio.length; i++)
	{
		if (radio[i].checked)
		{
			return true;
		}
	}

	alert("Veuillez remplir tous les champs requis.");
	return false;

}

function atLeastOneCategory(form)
{
	var categoryChoice = form;
	var categoryChoiceNews1 = form.News1;
	var categoryChoiceNews2 = form.News2;
	var categoryChoiceNews3 = form.News3;
	var categoryChoiceNews4 = form.News4;
	var categoryChoiceNews5 = form.News5;
	var categoryChoiceNews6 = form.News6;
	var categoryChoiceNews7 = form.News7;
	var categoryChoiceNews8 = form.News8;
	var categoryChoiceNews9 = form.News9;
	var categoryChoiceNews10 = form.News10;
	var categoryChoiceNews11 = form.stories[0].checked;
	var categoryChoiceNews17 = form.News17;
	


		if (categoryChoiceNews1.checked == true || categoryChoiceNews2.checked == true 
		|| categoryChoiceNews3.checked == true || categoryChoiceNews4.checked == true 
		|| categoryChoiceNews5.checked == true || categoryChoiceNews6.checked == true
		|| categoryChoiceNews7.checked == true || categoryChoiceNews8.checked == true
		|| categoryChoiceNews9.checked == true || categoryChoiceNews10.checked == true
		|| categoryChoiceNews17.checked == true || categoryChoiceNews11 == true )
		{
			return true;
		} 
		else
		{
			alert("Pour recevoir des nouvelles dans certains sujets, veuillez cliquer sur la boite du(des) sujet(s) choisi(s).");
	 		return false;
		}
}

function togglePurDec(evt)
{
	evt = (evt) ? evt : event;
	var target = (evt.target) ? evt.target : evt.srcElement;
	var block = document.getElementById("specificCategories");
	if (target.id == "n11c")
	{
		block.style.display = "block";
	}
	else
	{
		block.style.display = "none";
	}
}

function focusElement(formName, elemName)
{
	var elem = document.forms[formName].elements[elemName];
	elem.focus();
	elem.select();
}

function isNotEmpty(elem)
{
	var str = elem.value;
	if (str == null || str.length == 0)
	{
		alert("Veuillez remplir tous les champs requis.");
		return false;
	}
	else
	{
		return true;
	}
}

function isEmailAddress(elem)
{
	var str = elem.value;
	str = str.toLowerCase();
	if (str.indexOf("@") > 1)
	{
		var addr = str.substring(0, str.indexOf("@"));
		var domain = str.substring(str.indexOf("@") + 1, str.length)
		
		if (domain.indexOf(".") == -1)
		{
			alert("Ce champ requiert une adresse email valide. (Exemple:  votrenom@provider.com). Veuillez relire l'orthographe et introduire de nouveau votre adresse email.");
			return false;
		}
		for (var i = 0; i < addr.length; i++)
		{
			oneChar = addr.charAt(i).charCodeAt(0);
			
			if ((i == 0 && (oneChar == 45 || oneChar == 46)) || 
				(i == addr.length -1 && oneChar == 46))
				{
					alert("Ce champ requiert une adresse email valide. (Exemple:  votrenom@provider.com). Veuillez relire l'orthographe et introduire de nouveau votre adresse email.");
					return false;
				}
			if (oneChar == 45 || oneChar == 46  || oneChar == 95 || 
			(oneChar > 47 && oneChar < 58) || (oneChar > 96 && oneChar < 123))
			{
				continue;
			}
			else 
			{
				alert("Ce champ requiert une adresse email valide. (Exemple:  votrenom@provider.com). Veuillez relire l'orthographe et introduire de nouveau votre adresse email.");
				return false;
			}
		}
		for (i = 0; i < domain.length; i++)
		{
			oneChar = domain.charAt(i).charCodeAt(0);
			if ((i == 0 && (oneChar == 45 || oneChar == 46)) ||
				((i == domain.length - 1 || i == domain.length - 2) && oneChar == 46 )) 
			{
				alert("Ce champ requiert une adresse email valide. (Exemple:  votrenom@provider.com). Veuillez relire l'orthographe et introduire de nouveau votre adresse email.");
				return false;
			}
			if (oneChar == 45 || oneChar == 46 || oneChar == 95 || 
			(oneChar > 47 && oneChar < 58) || (oneChar > 96 && oneChar < 123))
			{
				continue;
			}
			else 
			{
				alert("Ce champ requiert une adresse email valide. (Exemple:  votrenom@provider.com). Veuillez relire l'orthographe et introduire de nouveau votre adresse email.");
				return false;
			}
		}
		return true;
	}
	alert("Ce champ requiert une adresse email valide. (Exemple:  votrenom@provider.com). Veuillez relire l'orthographe et introduire de nouveau votre adresse email.");
	return false;	
}

function passwordCheck(password)
{
	var re = new RegExp(/\W/);
	
	var matchArray = password.match(re);
	
	if (matchArray == null)
	{
		return true;
	}
	else
	{
		alert("Veuillez utiliser des caractères alpha-numériques dans votre mot de passe.");
		return false;
	}
}

function verifyCheck(pwd, verCheck)
{
	if(pwd == verCheck)
	{
		return true;
	}
	else
	{
		alert("Le mot de passe que vous avez réintroduit ne correspond pas à votre mot de passe.");
		return false;
	}
}
function validateForm(form)
{
	if (isNotEmpty(form.subscriptionEmail))
	{
		if (isEmailAddress(form.subscriptionEmail))
		{
			if (isNotEmpty(form.subscriptionPassword))
			{
				if (passwordCheck(form.subscriptionPassword.value))
				{
					if (isNotEmpty(form.verPassword))
					{
						if (verifyCheck(form.subscriptionPassword.value, form.verPassword.value))
						{					
							/*if (isValidRadio(form.stories))
							{
								if (atLeastOneCategory(form))
								{*/
									return true;
/*								}
							}
*/						}
					}
				}	
			}
		}
	}
	return false;
}


function validateForm_2(form)
{
	if (isNotEmpty(form.subscriptionEmail))
	{
		if (isEmailAddress(form.subscriptionEmail))
		{
			if (isNotEmpty(form.subscriptionPassword))
			{
				/*if (passwordCheck(form.subscriptionPassword.value))
				{
					if (isNotEmpty(form.verPassword))
					{
						if (verifyCheck(form.subscriptionPassword.value, form.verPassword.value))
						{					
							/*if (isValidRadio(form.stories))
							{
								if (atLeastOneCategory(form))
								{*/
									return true;
/*								}
							}
						}
					}
				}	
*/			}
		}
	}
	return false;
}

