function showprov (div1,obje,valnam,txtare) {
	if (document.getElementById(obje).value==valnam )
		document.getElementById(txtare).focus();
	else
	document.getElementById(txtare).value='';
}
function doneit (tdnum) {
	if ( document.getElementById(tdnum) )
		document.getElementById(tdnum).className='itemdone';
}
function cleanit (tdnum) {
	if ( document.getElementById(tdnum) )
		document.getElementById(tdnum).className='';
}
function notdoneyet (tdnum) {
	if ( document.getElementById(tdnum) )
		document.getElementById(tdnum).className='q1';
}
function showdiv (div) {
	document.getElementById(div).className='showdiv';
}
function showme (txtar) {
	document.getElementById(txtar).className='textareahilight';
	document.getElementById(txtar).focus()
}
function hideme (txtar) {
	document.getElementById(txtar).className='txtareainvis';
}
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
function MM_setTextOfTextfield(objName,x,newText) { //v3.0
  var obj = MM_findObj(objName); if (obj) obj.value = newText;
}
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;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' doit être un nombre entre '+min+' et '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

var mmHideMenuTimer = null;
function MM_menuStartTimeout(hideTimeout) {
	mmHideMenuTimer = setTimeout("MM_showHideLayers('menuA','','hide','menuB','','hide','menuC','','hide','menuD','','hide','menuE','','hide','menuF','','hide','menuG','','hide','motivation','','hide','mobilisation','','hide','leadership','','hide','breadcrumbA','','show','breadcrumbB','','show','breadcrumbC','','show','breadcrumbD','','show','breadcrumbE','','show','breadcrumbF','','show','breadcrumbG','','show')", hideTimeout);	
}
function MM_menuResetTimeout() {
	if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);
	mmHideMenuTimer = null;
}

function validateFormLogin() {
    if (isEMailAddr(document.getElementById('Email'),4,'email')) {
        if (isNotEmpty(document.getElementById('Firstname'),3,'First name')) {
            if (isNotEmpty(document.getElementById('FamilyName'),3,'Family name')) {
                            document.getElementById('Ccontact').submit();
            }
        }
    }
}
function validateFormBook()  {
    if (isEMailAddr(document.getElementById('Email'),4,'email')) {
        if (isNotEmpty(document.getElementById('Firstname'),3,'First name')) {
            if (isNotEmpty(document.getElementById('FamilyName'),3,'Family name')) {
				if (isNotEmpty(document.getElementById('Addressline1'),3,'Address line 1')) {
					if (isNotEmpty(document.getElementById('Town'),3,'Town')) {
						if (isNotEmpty(document.getElementById('Postcode'),3,'Postcode')) {
							if (isNotEmpty(document.getElementById('Country'),3,'Country')) {
								if (isChosen(document.getElementById('coursedate'))) {
                            		document.getElementById('Ccontact').submit();
								}
							}
						}
					}
				}
            }
        }
    }
}

// validates that the field value string has one or more characters in it
function isNotEmpty(elem,nchar,elemname) {
    var str = document.getElementById(elem).value;
	var strl = str.length;
   	if(!elemname)  var elemname = 'required field';
    if(!nchar) var nchar = 3;
    if(str == null || strl < nchar) {
        // alert("Please double check your code (min. "+nchar+" caracters, mind the upper and lowercases).");
		if ( document.getElementById(elemname) )
			document.getElementById(elemname).className='itemNOTdone';
			document.getElementById(elemname).focus();
		// alert("Complétez votre réponse.");
        return false;
    } else {
		if ( document.getElementById(elemname) )
			document.getElementById(elemname).className='';
        return true;
    }
}

function isNotTheSameValue(elem1,elem2) {
	var str1 = document.getElementById(elem1).value;
	var str2 = document.getElementById(elem2).value;
	if(str1 != str2) {
			alert("The ID and confirmed ID do not match?!!");
			return false;
		} else {
			return true;
		}
}
// validates that the entry is formatted as an email address
function isEMailAddr(elem) {
    var str = document.getElementById(elem).value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        alert("Verify the email address format.");
		document.getElementById(elem).className='itemNOTdone';
		document.getElementById(elem).focus();
        return false;
    } else {
		document.getElementById(elem).className='';
        return true;
    }
}

// validate that the user made a selection other than default
   
function isChosen(select,toselect,TD) {
    if (select.selectedIndex == -1 || select.selectedIndex == 0) {
        // alert("Select an item in the list '"+toselect+"'");
		document.getElementById(TD).className='itemNOTdone';
        return false;
    } else {
		document.getElementById(TD).className='';
		return true;
    }
}
function isChosen2(select,toselect,TD) {
    if (select.selectedIndex == -1 ) {
        // alert("Select an item in the list '"+toselect+"'");
		document.getElementById(TD).className='itemNOTdone';
        return false;
    } else {
		document.getElementById(TD).className='';
		return true;
    }
}
// validate that the user has checked one of the radio buttons
function isValidRadio(radio,txt) {
    var valid = false;
    for (var i = 0; i < radio.length; i++) {
        if (radio[i].checked) {
			if ( document.getElementById(txt) )
				document.getElementById(txt).className='';
            return true;
        }
    }
    // alert("Choisissez une option.");
	if ( document.getElementById(txt) ) {
		document.getElementById(txt).className='itemNOTdone';
		
	}
    return false;
}

function focusElement(elemID) {
	var elem = document.getElementById(elemID);
    elem.focus( );
}

function isNumber(fieldID,labelos,nchar,minos,maxos) {
    var str = document.getElementById(fieldID).value;
    var oneDecimal = false;
    var oneChar = 0;
	if( minos != null && maxos != null && ( str < minos || str > maxos )) {
		alert("Set a mumber between "+minos+" and "+maxos);
		if ( document.getElementById(fieldID) )
				setTimeout("focusElement('"+fieldID+"')", 0);
		if ( document.getElementById(labelos) )
				document.getElementById(labelos).className='itemNOTdone';
		return false;
	}
    // make sure value hasn't cast to a number data type
    str = str.toString( );
	if(str == null || str.length < nchar) {
		alert("Set a mumber between "+minos+" and "+maxos);
		if ( document.getElementById(fieldID) )
				setTimeout("focusElement('"+fieldID+"')", 0);
		if ( document.getElementById(labelos) )
				document.getElementById(labelos).className='itemNOTdone';
		return false;
	}
	
    for (var i = 0; i < str.length; i++) {
        oneChar = str.charAt(i).charCodeAt(0);
        // OK for minus sign as first character
        if (oneChar == 45) {
            if (i == 0) {
                continue;
            } else {
                alert("Only the first character may be a minus sign.");
                return false;
            }
        }
        // OK for one decimal point
        if (oneChar == 46) {
            if (!oneDecimal) {
                oneDecimal = true;
                continue;
            } else {
                alert("Only one decimal is allowed in a number.");
                return false;
            }
        }
        // characters outside of 0 through 9 not OK
        if (oneChar < 48 || oneChar > 57) {
            alert("Entrez "+nchar+" chiffre-s au minimum dans le champ.");
			if ( document.getElementById(fieldID) )
				setTimeout("focusElement('"+fieldID+"')", 0);
			if ( document.getElementById(labelos) )
				document.getElementById(labelos).className='itemNOTdone';
            return false;
        }
    }
	if ( document.getElementById(labelos) )
		document.getElementById(labelos).className='itemdone';
    return true;
}


function validateForm(form) {
    if (isNotEmpty(form.disciplines)) {
        if (isChosen(form.taux)) {
            if (isChosen(form.annees)) {
                    return true;
            }
        }
    }
    return false;
}


function validateFormQ_emailID(form) {
	if (isEMailAddr('emailID',12,'emailID')) {
        return true;
	}
	return false;
}

function validateFormQ_index(form) {
	if (isNotEmpty('sTudentID',4,'sTudentID')) {
	}
	else {
		alert('ID is made of 4 caracters, \ncopy/paste from the email you received \nwhen you registered the first time.');
		return false;
	}
}
function validateFormQ00(form) {
	if (isValidRadio(form.Atessin1,'td1')) {
           	return true;
     }
	return false;
}

function validateFormQ01(form) {
	if (isNotEmpty('studlname',3,'studlname')) {

	}
	else {
	document.getElementById('studlname').focus();
	return false;
	}
	if (isNotEmpty('studfname',3,'studfname')) {

	}
	else {
	document.getElementById('studfname').focus();
	return false;
	}
	if(isEMailAddr('studemail')) {

	}
	else {
		return false;
	}
	if(isChosen(document.getElementById('studprovince'),'Provinces','studprovinceTD') 
		&& document.getElementById('studprovince').selectedIndex != 11) {

	}
	else if (document.getElementById('studprovince').selectedIndex == 11 
		|| document.getElementById('studprovince').selectedIndex == 0) 
	{
			if (isNotEmpty('studprovinceNA',5,'studprovNA')) {

			}
			else {
			// alert ('Enter an alternative State/Country');
			document.getElementById('studprovinceNA').focus();
			return false;
			}
	}
	else {
		return false;
	}
	document.getElementById('studprovNA').className = '';
	if (isValidRadio(form.NJCsemid,'NJCsemidTD')) {

	}else {
		return false;
	}


	if (isValidRadio(form.studhighsch,'studhighschTD')) {
		if ( document.getElementById('studhighsch1').checked ) {
			if( isChosen(document.getElementById('studhighschprov'),'Provinces','studhighschprovDIV')) {
			}
			else {
				return false;
			}
		}
	
	} 
	else {
		return false;
	}

	
	if (isNotEmpty('studcredits',1,'studcredits')) {

	}
	else {
	// alert ('Enter an alternative State/Country');
	document.getElementById('studcredits').focus();
	return false;
	}

	return true;
}
function validateFormA(form) {
    if (isNumber('AEnglish','AEnglish',1,0,12)) {
		if (isNumber('AFrench','AFrench',1,0,12)) {
			if (isNumber('AMathematics','AMathematics',1,0,12)) {
				if (isNumber('AScience','AScience',1,0,12)) {
					if (isNumber('ACanadianH','ACanadianH',1,0,12)) {
						if (isNumber('ACanadianGeo','ACanadianGeo',1,0,12)) {
							if (isNumber('AArts','AArts',1,0,12)) {
								if (isNumber('AHealth','AHealth',1,0,12)) {
									if (isNumber('ACivics','ACivics',1,0,12)) {
										if (isNumber('ACareerStud','ACareerStud',1,0,12)) {
											// if( isChosen2(document.getElementById('AEngTSSCWSlist'),'AEngTSSCWSlist','AEngTSSCWSlistTD')) {
												if (isNumber('AEngThirdSocStudCaWorldStud','AEngThirdSocStudCaWorldStud',1,0,12)) {
													// if( isChosen2(document.getElementById('AHealthArtsBusilist'),'AHealthArtsBusilist','AHealthArtsBusilistTD')) {
														if (isNumber('AHealthArtsBusi','AHealthArtsBusi',1,0,12)) {
													
															// if( isChosen2(document.getElementById('AScTechEdulist'),'AScTechEdulist','AScTechEdulistTD')) {
																if (isNumber('AScTechEdu','AScTechEdu',1,0,12)) {
																	if (isNotEmpty('AOSSLT',1,'AOSSLT')) {
														
/*	ATotalCompulCred
	AOptionCredits
	ACommunity
	*/
																	return true;
																	}
																}
															// }
														}
													// }
												}
											// }
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	return false;
}

function validateFormQ03(form) {
	var numcoursem1 = 0;
	var numcoursem2 = 0;
	if (document.getElementById('block119')){
	if ( document.getElementById('block119').checked )  {
		document.getElementById('block11TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block11,'block11TD')  ) {
		/* if (isNotEmpty('block11reqtxt',1,'block11reqtxt')) {
			document.getElementById('block11reqtxt').className = '';
		}
		else
		return false;
		*/
		document.getElementById('block11TD').className = 'itemdone2';
		numcoursem1++;
	}
	}
	if (document.getElementById('block129')){
	if ( document.getElementById('block129').checked )  {
		document.getElementById('block12TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block12,'block12TD')  ) {
		/* if (isNotEmpty('block12reqtxt',1,'block12reqtxt')) {
			document.getElementById('block12reqtxt').className = '';
		}
		else
		return false;
		*/
		document.getElementById('block12TD').className = 'itemdone2';
		numcoursem1++;
	}
	}
	if (document.getElementById('block139')){
	if ( document.getElementById('block139').checked )  {
		document.getElementById('block13TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block13,'block13TD')  ) {
		/*
		if (isNotEmpty('block13reqtxt',1,'block13reqtxt')) {
			document.getElementById('block13reqtxt').className = '';
		}
		else
		return false;
		*/
		document.getElementById('block13TD').className = 'itemdone2';
		numcoursem1++;
	}
	}
	if (document.getElementById('block149')){
	if ( document.getElementById('block149').checked )  {
		document.getElementById('block14TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block14,'block14TD')  ) {
		/*
		if (isNotEmpty('block14reqtxt',1,'block14reqtxt')) {
			document.getElementById('block14reqtxt').className = '';

		}
		else
		return false;
		*/
		document.getElementById('block14TD').className = 'itemdone2';
		numcoursem1++;
	}
	}
	if (document.getElementById('block159')){
	if ( document.getElementById('block159').checked )  {
		document.getElementById('block15TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block15,'block15TD')  ) {
		/*
		if (isNotEmpty('block15reqtxt',1,'block15reqtxt')) {
			document.getElementById('block15reqtxt').className = '';
		}
		else
		return false;
		*/
		document.getElementById('block15TD').className = 'itemdone2';
		numcoursem1++;
	}
	}
	if (document.getElementById('block219')){
	if ( document.getElementById('block219').checked )  {
		document.getElementById('block21TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block21,'block21TD')  ) {
		/*
		if (isNotEmpty('block21reqtxt',1,'block21reqtxt')) {
			document.getElementById('block21reqtxt').className = '';
		}
		else
		return false;
		*/
		document.getElementById('block21TD').className = 'itemdone2';
		numcoursem2++;
	}
	}
	if (document.getElementById('block229')){
	if ( document.getElementById('block229').checked )  {
		document.getElementById('block22TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block22,'block22TD')  ) {
		/*
		if (isNotEmpty('block22reqtxt',1,'block22reqtxt')) {
			document.getElementById('block22reqtxt').className = '';

		}
		else
		return false;
		*/
		document.getElementById('block22TD').className = 'itemdone2';
		numcoursem2++;
	}
	}
	if (document.getElementById('block239')){
	if ( document.getElementById('block239').checked )  {
		document.getElementById('block23TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block23,'block23TD')  ) {
		/*
		if (isNotEmpty('block23reqtxt',1,'block23reqtxt')) {
			document.getElementById('block23reqtxt').className = '';
		}
		else
		return false;
		*/
		document.getElementById('block23TD').className = 'itemdone2';
		numcoursem2++;
	}
	}
	if (document.getElementById('block249')){
	if ( document.getElementById('block249').checked )  {
		document.getElementById('block24TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block24,'block24TD')  ) {
		/*
		if (isNotEmpty('block24reqtxt',1,'block24reqtxt')) {
			document.getElementById('block24reqtxt').className = '';
		}
		else
		return false;
		*/
		document.getElementById('block24TD').className = 'itemdone2';
		numcoursem2++;
	}
	}
	if (document.getElementById('block259')){
	if ( document.getElementById('block259').checked )  {
		document.getElementById('block25TD').className = 'itemdone2';
	}
	else if ( isValidRadio(form.block25,'block25TD')  ) {
		/*
		if (isNotEmpty('block25reqtxt',1,'block25reqtxt')) {

			numcoursem2++;
		}
		else
		return false;
		*/
		document.getElementById('block25TD').className = 'itemdone2';
		numcoursem2++;
	}
}
	
if ( document.getElementById('block119') ){
	// semester 1 is registered
	if ( numcoursem1 > 4 ){
		alert ('Semester 1: '+numcoursem1+' courses selected \n(max. 4 per semester)');
		return false;
	}
	else if ( numcoursem1 < 3 ){
		alert ('Semester 1: '+numcoursem1+' courses selected \n(min. 3 per semester)');
		return false;
	}
	else {
		document.getElementById('block11TD').className = 'itemdone2';
		document.getElementById('block12TD').className = 'itemdone2';
		document.getElementById('block13TD').className = 'itemdone2';
		document.getElementById('block14TD').className = 'itemdone2';
		document.getElementById('block15TD').className = 'itemdone2';
	}
}
if ( document.getElementById('block219') ){
	// semester 2 is registered
	if ( numcoursem2 > 4 ){
		alert ('Semester 2: '+numcoursem2+'  courses selected \n(max. 4 per semester)');
		return false;
	}
	else if ( numcoursem2 < 3 ){
		alert ('Semester 2: '+numcoursem2+' courses selected \n(min. 3 per semester)');
		return false;
	}
	else {
		document.getElementById('block21TD').className = 'itemdone2';
		document.getElementById('block22TD').className = 'itemdone2';
		document.getElementById('block23TD').className = 'itemdone2';
		document.getElementById('block24TD').className = 'itemdone2';
		document.getElementById('block25TD').className = 'itemdone2';
	}
}

if ( isValidRadio(form.frenchcredit,'frenchTD') ) {
	
}
else {
	alert ('Please, select any French option');
		return false;
}

if (isNotEmpty('frenchlist',2,'frenchlist')) {
	
}
else {
		return false;
}

if (isNotEmpty('signature',2,'signature')) {
	
}
else {
		return false;
}
if (isNotEmpty('datelocation',2,'datelocation')) {
	
}
else {
		return false;
}
}

function validateFormTrip(form) {
	/*
	if ( isValidRadio(form.Easter,'C') ) {
		
	}
	else {
		document.getElementById('easterbreak').className='itemNOTdone';
		alert ('Please, select either Habitat for Humanity, Tunisia or Egypt');
			return false;
			document.getElementById('easterbreak').className='itemNOTdone';
	}
	*/
	if (isEMailAddr('parentemail')) {
	}
	else {
			return false;
	}
}
function validateFormTripConfirm(form) {
	if (isEMailAddr('parentemail')) {
	}
	else {
			return false;
	}
}

