/* AUTEUR: Capdiscovery */
/* DATE DE CREATION: 08/11/2001 */

// Removes all whitespace characters
// from start and end of a string
function trim(sString)
{
	sTrimmedString = "";
	if (sString != "")
	{
		var iStart = 0;
		var iEnd = sString.length - 1;
		var sWhitespace = " \t\f\n\r\v";

		while (sWhitespace.indexOf(sString.charAt(iStart)) != -1)
		{
			iStart++;
			if (iStart > iEnd)
				break;
		}

		// If the string not just whitespace
		if (iStart <= iEnd)
		{
			while (sWhitespace.indexOf(sString.charAt(iEnd)) != -1)
				iEnd--;
			sTrimmedString = sString.substring(iStart,++iEnd);
		}
	}
	return sTrimmedString;
}

// Checks all text boxes and radio button groups
// have a value entered
function checkCompleted(theForm)
//function checkCompleted()
{
	var bRadioChecked;
	var sElementGroupName;
	var theElement;
	var theFirstElementName;
    var empty_fields = "";
	var msg = "";
	// loop through all elements on form
	for (var iElement = 0; iElement < theForm.length;iElement++)
	{
		theElement = theForm[iElement];

		// <INPUT TYPE="TEXT">
		if (theElement.type == "text")
		{
			theFirstElementName = theElement.name;
			theFirstElementName = theFirstElementName.substring(0,8);
			if(theFirstElementName == "cap-vert")
			{
				if (trim(theElement.value) == "")
				{
					alert("Vous devez remplir tous les champs");
					theElement.focus();
					theElement.select();
					return false;
				}
		 	}
		}
		// <INPUT TYPE="RADIO">
		else if (theElement.type == "radio")
		{
			bRadioChecked = false;
			sElementGroupName = theElement.name;

			// all radio buttons in a group have the same name
			// so loop through all radio elements with same name
			// until one true or last one reached
			while (theElement.name == sElementGroupName)
			{
				if (theElement.checked == true)
					bRadioChecked = true;

				iElement++;
				theElement = theForm[iElement];
				//theElement = partnerform[iElement];
			}

			if (bRadioChecked == false)
			{
				// radio button names in form radCreditCard
				// so just cut off first 3 characters
				alert("Veuillez selectionner votre " + sElementGroupName.substring(3,sElementGroupName.length));
				return false;
			}
			iElement--;
		}

	}
	/*
	if (!empty_fields) return true;
	msg =  "_____________________________________________________________\n\n";
	msg += "The form was not submitted because of the following error(s).\n";
	msg += "Please correct these error(s) and resubmit.\n";
	msg += "_____________________________________________________________\n\n";
	msg += "- The following required field(s) are empty :" + empty_fields + "\n";
	alert(msg);
	return false;
	*/
	return true;



}
// we check the BirthDay datetime
function verifmemberBirthDay(myForm) {
	var birthDay = new Date(myForm.umember_year.value,
			 myForm.umember_month.value-1 ,myForm.umember_day.value, 10, 1, 1 ) ;

	verifDay = birthDay.getDate();
	verifMonth = birthDay.getMonth() + 1;
	verifYear = birthDay.getYear() + 1900;
	// Bug IE 5
	if (verifYear >= 3900) {
		verifYear -= 1900 ;
	}
	if((verifDay != myForm.umember_day.value) || (verifMonth != myForm.umember_month.value)
				|| (verifYear != myForm.umember_year.value)) {
		alert("La date de naissance n'est pas correcte.");
		myForm.umember_day.value.focus();
		return false;
	}
return true;
}


// We need to check the password
function verifmemberPasswd (myForm) {
	var eAccentGrav = "e";
	var eAccentAigu = "e";
	var eAccentCirc = "e";
	var aAccentGrav = "a";

	//if javascript version >= 1.2
	if ((String.fromCharCode(232))!=false && (String.fromCharCode(232))!=null) {
		var eAccentGrav = String.fromCharCode(232);
		var eAccentAigu = String.fromCharCode(233);
		var eAccentCirc = String.fromCharCode(234);
		var aAccentGrav = String.fromCharCode(224);
	}

	longueur = myForm.umember_password1.value.length ;
	if (longueur < 6 || longueur > 14 ) {
		alert("Le champ Mot de Passe doit comporter de 6 " + aAccentGrav + " 14 caract" + eAccentGrav + "res");
		myForm.umember_password1.focus() ;
	return false;
	}
	var checkOK = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	var checkStr = myForm.umember_password1.value;
	var allValid = true;
	var i = 0;
	while ((i < checkStr.length) && (allValid)) {
		allValid = (checkOK.indexOf(checkStr.charAt(i)) == -1)?false:true ;
		i ++;
	}

	if (!allValid) {
	    alert("Ne tapez que lettres et chiffres dans le champ 'Mot de Passe'.");
		myForm.umember_password1.focus() ;
	    return false;
	}
	if (myForm.umember_password1.value != myForm.umember_password2.value) {
		alert("Vos deux saisies du Mot de Passe diff" + eAccentGrav + "rent");
		myForm.umember_password1.focus() ;
		return false;
	}
	if (myForm.umember_password1.value == myForm.umember_login.value) {
		alert("Votre mot de passe ne doit pas " + eAccentCirc + "tre identique " + aAccentGrav + " votre pseudonyme");
		myForm.umember_password1.focus() ;
		return false;
	}
	return true;
}

function verifmemberZipCode (myForm) {
    var checkOK = "0123456789ABab";
	var checkStr = myForm.umember_zipcode.value;
	var allValid = true;
	var i = 0;
	while ((i < checkStr.length) && (allValid)) {
		allValid = (checkOK.indexOf(checkStr.charAt(i)) == -1)?false:true ;
		i ++;
	}
	return allValid;
}

//if the member select a country
function verifmemberCountry(myForm){
if (myForm.umember_country.options[myForm.umember_country.selectedIndex].value == "-1") {
	    alert("Vous devez choisir un pays valide.");
		leForm.pays.focus() ;
	    return false;
	}
 return true;
}

function validateform(myform)
{
var theForm = myform;
if(checkCompleted(theForm))
	{
	theForm.action="recordpartner.php";
	}
else;
}

function validateCapnews(myform)
{
var theForm = myform;
if(checkCompleted(theForm))
	{
	theForm.action="recordcontrib.php";
	}
else;
}

function validateGuestbook(myform)
{
var theForm = myform;
if(checkCompleted(theForm))
	{
	theForm.action="recordguest.php";
	}
else;
}

function VerifEmail(myForm)
	{
	//var theForm = myForm;
	//the use of form as a parameter object need to be clarified
	//adresse = document.theForm.email.value;
	//adresse = document.partnerform.email.value;
	adresse = document.myForm.umember_email.value;
	var place = adresse.indexOf("@",1);
	var point = adresse.indexOf(".",place+1);
	if ((place > -1)&&(adresse.length >2)&&(point > 1))
		{
		}
	else
		{
		alert('Veuillez entrer une adresse e-mail valide!!');
		}
	}

function partnerpopup(URL){
popup = window.open(URL,'',"resizable=no,height=300,width=600");
}

function valid_form ( form ) {
  if ( form.login.value.length == 0 || form.password.value.length == 0 ) {
    alert ( "Vous devez entrer votre login et mot de passe" );
    return false;
  }
  return true;
}

//to modify
/*
function Clear()
	{
		for (var i=0; i<document.frmSurvey.elements.length-1; i++)
		{

			if (document.frmSurvey.elements[i].type != 'submit' && document.frmSurvey.elements[i].type != 'reset' && document.frmSurvey.elements[i].type != 'button' && document.frmSurvey.elements[i].type != 'hidden')
			{
				if (document.frmSurvey.elements[i].type == 'select-one')
				{
					document.frmSurvey.elements[i].selectedIndex = 0;
				} else if (document.frmSurvey.elements[i].type == 'text')
				{
					document.frmSurvey.elements[i].value = "";
				} else if (document.frmSurvey.elements[i].type == 'textarea')
				{
					document.frmSurvey.elements[i].value = "";
				} else {
					document.frmSurvey.elements[i].checked = false;
				}
			}
		}
	}

	function requiredCondition(e)
	{
		for (var i=0; i<document.frmSurvey.elements.length-1; i++)
		{
			if (document.frmSurvey.elements[i].type != 'submit' && document.frmSurvey.elements[i].type != 'reset' && document.frmSurvey.elements[i].type != 'button')
			{
				if (document.frmSurvey.elements[i].type == 'select-one')
				{
					var sValue = document.frmSurvey.elements[i].options[document.frmSurvey.elements[i].selectedIndex].value;
				} else if (document.frmSurvey.elements[i].type == 'radio')
				{
					for (var x = 0; x < document.frmSurvey.elements[i].length; x++)
					{
						if (document.frmSurvey.elements[i][x].checked)
							{break}
					}
					var sValue = document.frmSurvey.elements[i][x].value;
				} else if (document.frmSurvey.elements[i].type == 'check')
				{ if (document.frmSurvey.elements[i].checked)
					{
						var sValue = document.frmSurvey.elements[i].value;
					}
				} else {
					var sName = document.frmSurvey.elements[i].name;
					var sX = sName.substring(0,2);
					if ((sX == 'S_') || (sX == 'R_') || (sX == 'C_'))
					{
						var sValue = document.frmSurvey.elements[i].value;
					} else {
						var sValue = '';
					}
				}
				if (sValue == e.conditional)
				{
					return true;
				}
			}

		}
		return false;
	}

	function isblank(s)
	{
		for(var i = 0; i < s.value.length-1; i++)
		{
			var c = s.value.charAt(i);
			if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
		}
		return true;
	}

	function lessunderscore(messyword)
	{
	var cleanword="";
	var quasiclean="";
	var newword="";
	for (var i=0; i<messyword.length; i++)
	{
		var tempchar = messyword.charAt(i);
		if (tempchar!="_") { quasiclean += tempchar;}
		else {quasiclean += " ";}
		index = quasiclean.indexOf("Notes");
		if (index != -1)
		{
			cleanword = quasiclean.substring(0,index);
			cleanword += quasiclean.substring(index+7,quasiclean.length);
		}
		else cleanword = quasiclean;
		}
		index = cleanword.indexOf("Fulfillment");
		if (index != -1)
		{
			for (var i=0; i<index; i++)
			{
				tempchar = cleanword.charAt(i);
				newword += tempchar;
			}
			cleanword = newword;
		}
		return cleanword;
	}

	function makeoptional(thename)
	{
		for (var i=0; i<document.frmSurvey.elements.length-1; i++)
		{
			if (document.frmSurvey.elements[i].name==thename)
			{
				document.frmSurvey.elements[i].optional = true;
			}
		}
	}

	function makeconditional(thename, answer)
	{
		for (var i=0; i<document.frmSurvey.elements.length-1; i++)
		{
			if (document.frmSurvey.elements[i].name==thename)
			{
				document.frmSurvey.elements[i].conditional = answer;
			}
		}
	}

	function makeName(thename, realName)
	{
		for (var i=0; i<document.frmSurvey.elements.length-1; i++)
		{
			if (document.frmSurvey.elements[i].name==thename)
			{
				document.frmSurvey.elements[i].realName = realName;
				//alert(realName);
				//alert(theform.elements[i].realName);
			}
		}
	}

	function verify()
	{
		//DisplayQA();
		f = document.frmSurvey;
		if (navigator.appName=="Microsoft Internet Explorer")
		{
			return verifymsexplorer(f);
		}
		else    {
			return verifynetscape(f);
		}
	}

	function verifynetscape(f)
	{
		//Couldn't make the real names work correctly with Netscape
		if (navigator.appVersion.substring(0, 2) < 3) {return true};
		var msg="";
		var empty_fields="";
		var indicator="";
		for(var i=0; i<f.elements.length-1; i++)
		{var group ="";
			if ((f.elements[i].conditional != null) && (f.elements[i].type != 'hidden'))
			{
				if (requiredCondition(f.elements[i]))
					{document.frmSurvey.elements[i].optional = false;}
				else
					{document.frmSurvey.elements[i].optional = true;}
			}
			if ((!f.elements[i].optional) && (f.elements[i].type != 'hidden'))
			{
				if ((f.elements[i].type=="radio")||(f.elements[i].type=="checkbox"))
				{
					if ((f.elements[i].name)&&(f.elements[i+1].name)&&(f.elements[i].name == f.elements[i+1].name))
					{
						if(f.elements[i].checked)
						{
							indicator="okay";
						}else
						{
							indicator="not_okay";
						}
					while (((f.elements[i].name!=null)||(f.elements[i].name!=""))&&(f.elements[i].name == f.elements[i+1].name)&&(i<f.elements.length))
					{
						if (f.elements[i+1].checked)
						{indicator="okay";}
						i++;
						}
						if(indicator=="not_okay")
						{
							if (f.elements[i].realName == null)
							{
								realName = f.elements[i].name;
							} else {
								realName = f.elements[i].realName;
							}
							empty_fields += "\n         " + lessunderscore(realName);
						}
					}
					else if(!f.elements[i].checked)
					{
							if (f.elements[i].realName == null)
							{
								realName = f.elements[i].name;
							} else {
								realName = f.elements[i].realName;
							}
						empty_fields += "\n         " + lessunderscore(realName);
					}
				}
				else if (f.elements[i].type=="text")
				{
					if ((f.elements[i].value==""))
					{
							if (f.elements[i].realName == null)
							{
								realName = f.elements[i].name;
							} else {
								realName = f.elements[i].realName;
							}
						empty_fields += "\n         " + lessunderscore(realName);
					}
				}
				else if ((f.elements[i].type=="select-one")||(f.elements[i].type=="select-multiple"))
				{
					if ((!f.elements[i].options[f.elements[i].selectedIndex])||(f.elements[i].options[f.elements[i].selectedIndex].value==""))
					{
							if (f.elements[i].realName == null)
							{
								realName = f.elements[i].name;
							} else {
								realName = f.elements[i].realName;
							}
						empty_fields += "\n         " + lessunderscore(realName);
					}
				}
			}
		}
		if (!empty_fields) return true;
		msg =  "_____________________________________________________________\n\n";
		msg += "The form was not submitted because of the following error(s).\n";
		msg += "Please correct these error(s) and resubmit.\n";
		msg += "_____________________________________________________________\n\n";
		msg += "- The following required field(s) are empty :" + empty_fields + "\n";
		//msg += "- Required field(s) are empty :";
		alert(msg);
		return false;
	}

function verifymsexplorer(f)
{
	var testmessage;
	var msg;
	var empty_fields = "";
	var next_e;
	var indicator;
	var realName;
	for(var i=0; i<f.elements.length-1; i++)
	{
		var e = f.elements[i];
		var next_e = f.elements[i+1];
		if ((e.conditional != null) && (e.type != 'hidden'))
		{
			if (requiredCondition(e))
				{document.frmSurvey.elements[i].optional = false;}
			else
				{document.frmSurvey.elements[i].optional = true;}
		}
		if ((!e.optional) && (e.type != 'hidden'))
		{
			if ((e.name)&&(next_e.name)&&(e.name == next_e.name))
			{
				if(e.checked)
				{indicator="okay";}
				else
				{indicator="not_okay";}
				while (((e.name!=null)||(e.name!=""))&&(e.name == next_e.name)&&(i<f.elements.length))
				{
					if (next_e.checked)
					{indicator="okay";}
					e=next_e;
					i++;
					next_e=f.elements[i+1]
				}
				if(indicator=="not_okay")
				{
					realName = e.realName;
					if (realName == null) {
						realName = e.name;
					}
					empty_fields += "\n         " + lessunderscore(realName);
				}
			}
			else {
				if ((e.value==null)||(e.type=="select-one"))
				{
					if((e.options[e.selectedIndex].value==null)|| (e.options[e.selectedIndex].value==""))
					{
						realName = e.realName;
						if (realName == null) {
							realName = e.name;
						}
						empty_fields += "\n         " + lessunderscore(realName);
					}
				}
				else if ((e.value == ""))
				{
					realName = e.realName;
					if (realName == null	) {
						realName = e.name;
					}
					empty_fields += "\n         " + lessunderscore(realName);
				}
			}
		}
	}
	if (!empty_fields) return true;
	msg =  "_____________________________________________________________\n\n";
	msg += "The form was not submitted because of the following error(s).\n";
	msg += "Please correct these error(s) and resubmit.\n";
	msg += "_____________________________________________________________\n\n";
	msg += "- The following required field(s) are empty :" + empty_fields + "\n";
	alert(msg);
	return false;
 }
 */
//
