

function checkAddToSchoolForm(frm){
	if (!checkHTML(frm.elements['ad_container|ad|student|nickname'].value))
		{ return false};
	if (!checkHTML(frm.elements['ad_container|ad|student|about_me'].value))
		{ return false};
	return checkPeriod(frm);
}

function checkTextAreaSize(frmElement,maxlen) {
	if(frmElement.value.length > 1000){
		alert("De tekst in 'Waarom was jij gek op...' mag maximaal 1000 karakters lang zijn.\nDeze is nu " + frmElement.value.length + " karakters.");
		return false;
	}
}

function checkImportForm(frm){
	// called when submitting a 'import my registration details' form
	var strFeedBack = '';
	if (frm.login.value.indexOf('@') == -1)
		{ strFeedBack += 'Er is geen e-mailadres ingevuld\n\n';
		}; 
	if (frm.reg_password.value.length < 2)
		{ strFeedBack += 'Er is geen wachtwoord ingevuld\n\n';
		}; 
	if (!frm.tc.checked)
		{ strFeedBack += 'Je moet de voorwaarden accepteren\n\n';
		}; 
	if (strFeedBack != '')	
		{ alert(strFeedBack);
		  return false;
		};
	return true;
	};
	
function checkRegistrationForm(frm){
	if (!checkEmail(frm.email.value))
		{ return false};
		
	if (frm.elements['preference|me_now'].value.length > 4000){alert("De tekst in 'Over mijzelf nu' mag maximaal 4000 karakters lang zijn.\nDeze is nu " + frm.elements['preference|me_now'].value.length + " karakters.");return false;};
		
	var i ;
	var strInput;
	var strFieldname;
	for(i=0;i<frm.elements.length;i++){
		//alert(frm.elements[i].name);
		strInput = frm.elements[i].value;
		var htmlTagReg = "<(.|\n)+?>";                            
		var regex = new RegExp(htmlTagReg);
		if (regex.test(strInput)){
			if(frm.elements[i].name == 'first_name'){strFieldname = 'Voornaam'}
			if(frm.elements[i].name == 'last_name'){strFieldname = 'Achternaam'}
			if(frm.elements[i].name == 'suffix'){strFieldname = 'Voorvoegsel'}
			if(frm.elements[i].name == 'preference|previous_name'){strFieldname = 'Meisjesnaam'}
			if(frm.elements[i].name == 'preference|me_now'){strFieldname = 'Over mijzelf nu'}
			if(frm.elements[i].name == 'address|home|city'){strFieldname = 'Woonplaats'}
			if(frm.elements[i].name == 'address|home|postal_code'){strFieldname = 'Postcode'}
			if(frm.elements[i].name == 'email'){strFieldname = 'E-mailadres'}
			alert("In '" + strFieldname + "' zijn HTML tags niet toegestaan.");	
			return false;
		};
	};
	
		
	var countryCode = frm.elements['address|home|country_code'].value
	var postCode = frm.elements['address|home|postal_code'].value
	
		if(countryCode == 'NLD' && postCode == '') {			
			alert("Graag ook postcode invullen");	
			return false;
		};
	
	
		if(countryCode == 'NLD' && postCode != '') {
			var postcodeReg = /^([0-9]{4})( ?)([a-zA-Z]{2})\s*$/i;                       
			var regex = new RegExp(postcodeReg);
			postCode = postCode.replace(/ /,'');
			if (!regex.test(postCode))
				{
				alert(postCode + " is geen correcte postcode.");	
				return false
				}
				else
				{	// insert a space to normalize the PC
					postCode=postCode.substring(0,4) + ' ' + postCode.substring(4,6).toUpperCase();
					frm.elements['address|home|postal_code'].value = postCode;
				}


		}
		frm.login_name.value=frm.email.value;
		
		if (frm.tc){
			if (!frm.tc.checked) 
			{	alert("U heeft de algemene voorwaarden niet geaccepteerd");
				return false;
			};
		};
	return true;
}

function showPreview(flmSelect){
	if(flmSelect.selectedIndex != -1)
	{ var strImageRef = flmSelect.options[flmSelect.selectedIndex].value			
	  document.images['preview'].src = '/common/img/' + strImageRef;
	}
	else
	{
	  document.images['preview'].src = '/schoolbank/images/spacer.gif' ;
	};
			
};

function setSelectedValue(elmDropdown, strSelectedValue){
	if (strSelectedValue != '')
		{
			for (var lngI = 0; lngI < elmDropdown.options.length; lngI++)
				{
					if (elmDropdown.options[lngI].value == strSelectedValue)
						{ elmDropdown.selectedIndex =lngI;
						};
				}
		}
	}
	

function setDescription(o, f){
	for (var i=0; i <o.length; i++)
	
		if (o[i].checked)
			f.elements['paymentService|submit|order|description'].value = o[i].title;
};	

function checkPasswordUnsubscribe(f) {
	if (f.password.value == ''){
		alert('vul een wachtwoord in');
		return false;
	}
	else
		f.submit();
		
}

function validateSchoolDetails(f){
	return (validateSchoolName(f) && validateSchoolStreet(f));
};

function validateSchoolName(f){

		var max_lenght = 50;
		var min_lenght = 2;		

		var sSchoolname = f.elements['ad_container|ad|school|school_name'].value;
		
		// encode the name
		sSchoolname = sSchoolname.replace(/</g, "&lt;");
		sSchoolname = sSchoolname.replace(/>/g, "&gt;");
		sSchoolname = sSchoolname.replace(/&/g, "&amp;");
		sSchoolname = sSchoolname.replace(/"/g, "'");
		
		// name to long
		if (sSchoolname.length > max_lenght)
		{	alert('De naam van het bedrijf is een verplicht invoerveld van maximaal ' + max_lenght +  ' karakters.');
			return false;
		}
		
		
		// name to short
		if (sSchoolname.length < min_lenght)
		{	alert('De naam van het bedrijf is een verplicht invoerveld van minimaal ' + min_lenght +  ' karakters.');
			return false;
		}
		
		f.elements['ad_container|ad|school|description'].value = sSchoolname;
		
		return true;
};		

function validateSchoolStreet(f){

		var max_lenght = 50;
		var min_lenght = 0;		
		
		var sStreet = f.elements['ad_container|ad|school|address|line_1'].value;
		
		// encode the name
		sStreet = sStreet.replace(/</g, "&lt;");
		sStreet = sStreet.replace(/>/g, "&gt;");
		sStreet = sStreet.replace(/&/g, "&amp;");
		
		// name to long
		if (sStreet.length > max_lenght)
		{	alert('Het adres van het bedrijf is een verplicht invoerveld van maximaal ' + max_lenght +  ' karakters.');
			return false;
		}
		
		// name to short
		if (sStreet.length < min_lenght)
		{	alert('Het adres van het bedrijf is een verplicht invoerveld van minimaal ' + min_lenght +  ' karakters.');
			return false;
		}
		
		f.elements['ad_container|ad|school|address|line_1'].value = sStreet;
		return true;
};

function checkEmail(email) {
	//var strEmail = f.email_friend.value;
		var strEmail = email;
		
		// pipe-separated list of non country code Top Level Domains 
		
		var strNonCCTLDs = 'aero|biz|com|coop|edu|info|int|mil|museum|name|net|org|pro';
		
	    var emailReg = '^[a-z0-9\_][[a-z0-9\.\+\_\-]*[@](([a-z0-9]([a-z0-9]|[-])*)[.])+([a-z]{2}|' + strNonCCTLDs+ ')$' ;

		var regex = new RegExp(emailReg, "i");
		if (!regex.test(strEmail)){
			alert(strEmail + " Dit is geen goed e-mailadres");	
			return false;
		}
		else
			//alert(strEmail+ " email OK");	
			return true;
}

function checkSendMessage(msg){
	if (msg.length < 1){ 
		alert("U heeft niets ingevuld");
		return false;	
	}
	if (msg.length > 8000){ 
		alert("Uw bericht is te groot");
		return false;	
	}

	return checkHTML(msg);
	
}

function checkHTML(msg){
		var htmlTagReg = "<(.|\n)+?>";                            
		var regex = new RegExp(htmlTagReg);
		if (regex.test(msg)){
			alert(" Html tags zijn niet toegestaan.");	
			return false;
		}
		else
			return true; 
}



function removeWrongCharacters(f){
	var strSearchNameXML = "";
	sText = f.elements['search_element|school|search_text|contains|and|nvarchar|'].value 
	var strTest = sText;
	
	strTest = ' ' + strTest.replace(/[^ ]/g,'#') + ' ';
	//alert(strTest);
	if (strTest.indexOf(' # ') != -1)
	{	
		alert("Zoekwoorden moeten tenminste 2 karakters zijn");
		return false;
	}
	else {
		sText = sText.replace(/&/g, "&amp;");
		sText = sText.replace(/</g, "&lt;");
		sText = sText.replace(/>/g, "&gt;");
		

		f.elements['search_element|school|search_text|contains|and|nvarchar|'].value = sText;
	}
}




function submitUserSearch(f){
	
	var nu = new Date()
	var intYear = parseInt(nu.getYear());
		if (intYear < 1900){ 
			intYear += 1900 
		}
	var yob = parseInt(f.elements['yob'].value);

	if(yob >= intYear){
		alert("geboortejaar moet kleiner zijn dan het huidige jaar");
		return false;
	}
	if(f.elements['yob'].value.length > 0){
		if(isNaN(yob)){
			alert("Geboortejaar moet een jaartal zijn.");
			return false;
		}
	}
	
	var re = new RegExp("[0-9]");
	
	
	var strSearchXML ='';
	var first_name = f.elements['search_element|student|first_name|like|and|nvarchar|'].value;
	if (first_name != ''){
		strSearchXML = strSearchXML + add_to_search(first_name, 'voornaam');
	}
	var searchable_name = f.elements['search_element|student|student_searchable_name|contains|and|nvarchar|'].value;
	if (searchable_name != ''){
		strSearchXML = strSearchXML + add_to_search(searchable_name, 'achternaam');
	};	
	var nickname = f.elements['search_element|student|nickname|like|and|nvarchar|'].value;
	if (nickname != ''){
		strSearchXML = strSearchXML + add_to_search(nickname, 'bijnaam');
	};	
	var prov = f.elements['prov'].selectedIndex;
	if (prov != 0 ) {
	  prov = f.elements['prov'].options[f.elements['prov'].selectedIndex].text;
	  strSearchXML = strSearchXML + add_to_search(prov, 'provincie');	  
	};
	var search_categories = f.elements['search_categories'].selectedIndex;	
	var city_name = '';
	if (search_categories != 0 ) {
	  city_name = f.elements['search_categories'].options[f.elements['search_categories'].selectedIndex].text;
	  strSearchXML = strSearchXML + add_to_search(city_name, 'stad');	  
	};		
	var age = f.elements['age'].value;
	if (age != ''){
		strSearchXML = strSearchXML + add_to_search(age, 'leeftijd');
	};	
	var yob = f.elements['yob'].value;
	if (yob != ''){
		strSearchXML = strSearchXML + add_to_search(yob, 'geboortejaar');
	};		
	var period = parseInt(f.elements['period_around'].value);
	
	if(f.elements['period_around'].value.length > 0){
		if(isNaN(period)){
			alert("Schooljaar moet een jaartal zijn.");
			return false;
	
		}
	}
	if (isNaN(period) == false){
		strSearchXML = strSearchXML + '<schooljaar>' + period + '</schooljaar>';
	};
			
	var save_search='true';
	if (!first_name && !searchable_name && !nickname && !city_name)
	{
		save_search = 'false';
	};
	strSearchXML = strSearchXML + add_to_search(save_search, 'save_search');
	
	if (strSearchXML !='') {
		f.search_name.value = strSearchXML;
	}	
	if (!first_name && !searchable_name && !nickname && !prov && !search_categories && !age && !period && !yob )
	{	alert('Je moet minstens een van de zoekvelden invullen.')
		return false;
	}
	parseAllSearchText(f);
	fillSearchYears(f);
};

function add_to_search(sText, strNodeName)
{

		sText = sText.replace(/</g, "&lt;");
		sText = sText.replace(/>/g, "&gt;");
		sText = sText.replace(/&/g, "&amp;");
		
		sText = '<' + strNodeName + '>' + sText + '</' + strNodeName+ '>'
		
		return sText;
}

function parseAllSearchText(f){

	replaceSearchText(f.elements['search_element|student|first_name|like|and|nvarchar|']);
	replaceSearchText(f.elements['search_element|student|student_searchable_name|contains|and|nvarchar|']);
	replaceSearchText(f.elements['search_element|student|nickname|like|and|nvarchar|']);
};

function replaceSearchText(oInput){

	sText =  oInput.value
	sText = sText.replace(/</g, "&lt;");
	sText = sText.replace(/>/g, "&gt;");
	sText = sText.replace(/&/g, "&amp;");
	oInput.value = sText;

};

function fillSearchYears(frm){
	if (frm.yob.value != '')
		{	frm.elements['search_element|student|yob|gt|and|int|'].value = frm.yob.value - 4;
			frm.elements['search_element|student|yob|lt|and|int|'].value = parseInt(frm.yob.value) + 4;
		};
	if (frm.period_around.value != '')
		{	
			
			frm.elements['search_element|student|start|lt|and|date|'].value = frm.period_around.value + '/12/31';
			frm.elements['search_element|student|end|gt|and|date|'].value = frm.period_around.value + '/01/01';
		};
	
	};
	

function displayDate(){
			var nu = new Date()
			var months = new Array(12)
			months[0]  = 'jan';
			months[1]  = 'feb';
			months[2]  = 'maart';
			months[3]  = 'april';
			months[4]  = 'mei';
			months[5]  = 'juni';
			months[6]  = 'juli';
			months[7]  = 'aug';
			months[8]  = 'sept';
			months[9]  = 'okt';
			months[10] = 'nov';
			months[11] = 'dec';
			strDate = "";
			strDate = strDate + '';
			strDate = strDate + nu.getDate();
			strDate = strDate + ' ';
			strDate = strDate + months[nu.getMonth()];
					
			strDate = strDate + ' ';
			intYear = nu.getYear();
			if (intYear < 1900){intYear += 1900};
			strDate = strDate + intYear;
		
			return strDate
	};

function datePeriodLink(flmStart,flmEnd,blnDir)
	// function forces the start date to be before the end date
	{
		if (blnDir == 0)
			{ if (flmStart.selectedIndex > flmEnd.selectedIndex)
				{ flmEnd.selectedIndex = flmStart.selectedIndex };
			};
		if (blnDir == 1)
			{ if (flmStart.selectedIndex > flmEnd.selectedIndex)
				{ flmStart.selectedIndex = flmEnd.selectedIndex };
			};
	};
	
function koppelJaarLeeftijd(frm)
	{
	var ag = frm.age;
	var yea = frm.yob;
	
	if (parseInt(yea.value))
	   {var nu = new Date();
		var intYear = parseInt(nu.getYear());
		if (intYear < 1900)
			{ intYear += 1900 };
		if (yea.value < intYear)
		   {
			 ag.value = intYear - parseInt(yea.value);
		   }
		else
		   {
			 yea.value = intYear;
			 ag.value=0
		   }
	   };
	};
	
function koppelLeeftijdJaar(frm){
	var ag = frm.age;
	var yea = frm.yob;
	
	if (parseInt(ag.value))
		{var nu = new Date();
		 var intYear = parseInt(nu.getYear());
		 if (intYear < 1900)
			{ intYear += 1900 };
		 if(ag.value > 0)
			{yea.value = intYear - parseInt(ag.value);
			}
		  else
			{yea.value = intYear;
			 ag.value=0
			}
		};
	
	};
	
preloading = ""

 function preloadImg() {
        
                                                           //1: laad alle 1e plaatjes
			

            mZoekSchool1 = new Image();                                              
			mZoekSchool1.src  = "/images/new_nav/N1_U.gif";

            mZoekVriend1 = new Image();                                              
            mZoekVriend1.src  = "/images/new_nav/N2_U.gif";
            
            mMijnMap1 = new Image();                                              
            mMijnMap1.src  = "/images/new_nav/N3_U.gif";
            
            mInfo1 = new Image();                                                           
            mInfo1.src = "/images/new_nav/N4_U.gif";

            mHelp1 = new Image();                                                           
            mHelp1.src = "/images/new_nav/N5_U.gif";

											
															//2: laad alle 2e plaatjes                                      
           
            mZoekSchool2 = new Image();                                              
			mZoekSchool2.src  = "/images/new_nav/N1_A.gif";

            mZoekVriend2 = new Image();                                              
            mZoekVriend2.src  = "/images/new_nav/N2_A.gif";
            
            mMijnMap2 = new Image();                                              
            mMijnMap2.src  = "/images/new_nav/N3_A.gif";
            
            mInfo2 = new Image();                                                           
            mInfo2.src = "/images/new_nav/N4_A.gif";

            mHelp2 = new Image();                                                           
            mHelp2.src = "/images/new_nav/N5_A.gif";

            preloading = "ready"                                                    //nu kan de functie changeImg worden aangeroepen

                                                               
              
      
  }

  function changeImg(Name,Pi,Nr) {
        //alert (eval(Pi + Nr + ".src"));
                if (preloading == "ready") 
					document [Name].src = eval(Pi + Nr + ".src");
  }		
  
  	function moveItem(strText, strValue, boxTo){
	
		var size;
										
			size = boxTo.length;
			boxTo[size] = new Option(strText, strValue);
			boxTo[size].selected = true;
									
		}
								
		function moveItems(boxFrom, boxTo)
		{	var strValue, strText;
			var size;
			var i, count;
												
			if (boxFrom.selectedIndex == -1)
			{	alert('U heeft geen foto geselecteerd.')
				return false;
			}	
			count=0;			
			for (i=0; i != boxFrom.length; i++)
			{	if (boxFrom.options[i].selected == true)
				{	//alert('add ' + boxFrom.options[i].text + ' to right');
					strValue = boxFrom.options[i].value;
					strText = boxFrom.options[i].text;
					moveItem(strText, strValue, boxTo);
					count++
				}
			}
												
			for (i=0; i != boxFrom.length; i++)
			{	if (boxFrom.options[i].selected == true)
				{	//alert('remove ' + boxFrom.options[i].text + ' from left');
					boxFrom.options[i] = null;
					i--;
				}
			}
		}
					
		function selectAll(box){
			for (i=0; i != box.length; i++)
			{	box.options[i].selected=true;
			}
		}
					

				
	
	function checkPeriod(f){
	if (f.elements['ad_container|ad|student|attended_period|@start'].options[f.elements['ad_container|ad|student|attended_period|@start'].selectedIndex].value > f.elements['ad_container|ad|student|attended_period|@start'].options[f.elements['ad_container|ad|student|attended_period|@end'].selectedIndex].value)
	{ 	alert('Ongeldige periode')
		return false;
	}
	return true;	
};




		function checkName(f){
			re = new RegExp(".+\.jpg|gif|jpe", "i")
			s = f.elements['name'].value;
				
			if (!re.test(s))
				alert('Alleen jpg en gif bestanden worden geaccepteerd')	
					
			return re.test(s);
		};
		
		function checkDescription(f){
			var s = f.elements['description'].value;
			
			
			
			var max_lenght = 250;	
			var bTooLong = (s.length > max_lenght);
			
			if (bTooLong)
				alert('Omschrijving is te lang.\nOmschrijving mag maximaal 250 karakters zijn.')	
					
			return (!bTooLong);
		};	
		
		function canSubmit(f){
				return (checkDescription(f)	&& checkName(f));
		};		

function validateLogin(frm,blnTestEmailValid)
	{ var strFeedBack = '';
		if (frm.login_name.value.replace(/ /,'') == '')
			{ strFeedBack += 'Je moet je login naam (e-mail adres) nog invullen\n';
			};
		if (frm.password.value.replace(/ /,'') == '')
			{ strFeedBack += 'Je moet je wachtwoord nog invullen\n';
			};
		if (strFeedBack != '')
			{ alert(strFeedBack);
			  return false
			}
		else
			{ return true
			};
	};
	
	
function validateImgUpd(frm)
	{ var strFeedBack = '';
			
		if (frm.description.value.length > 255)
			{ 
				strFeedBack += 'De omschrijving is te lang.\n\nDeze kan maximaal 255 karakters zijn\nen is nu '+ frm.description.value.length +' karakters.';
			};
		if (strFeedBack != '')
			{ alert(strFeedBack);
			  return false
			}
		else
			{ return true
			};
	};
	
	
function checkForUserIdentifyingInfo(strValue, strFieldName){

		return true;
		
		// returns false if info is contained in the text that will allow other users to contact this person

		var strPattern = "@";                            
		var regex = new RegExp(strPattern);
		//if (regex.test(strValue)){
		//	alert(' Geen e-mailadressen opnemen in \'' + strFieldName + '\' alstublieft');	
		//	return false;
		//};
		
		strPattern = '://';                 
		regex = new RegExp(strPattern);
		if (regex.test(strValue)){
			alert(' Geen URL opnemen in \'' + strFieldName + '\' alstublieft');	
			return false;
		};
		
		strPattern = 'www\\.';                   
		regex = new RegExp(strPattern);
		if (regex.test(strValue)){
			alert(' Geen URL opnemen in \'' + strFieldName + '\' alstublieft');	
			return false;
		};
		
		strPattern = '\\bat\\b.*\\bdot\\b';                   
		regex = new RegExp(strPattern);
		if (regex.test(strValue)){
			alert(' Geen e-mailbeschrijving opnemen in \'' + strFieldName + '\' alstublieft');	
			return false;
		};
		
		strPattern = 'hotmail|\\.nl|\\.com|\\.net|\\.co|\\.org';   
		      
		regex = new RegExp(strPattern);
		if (regex.test(strValue)){
			alert(' Geen internetadressen opnemen in \'' + strFieldName + '\' alstublieft');	
			return false;
		};
		
		
		strPattern = '<\w+>';                   
		regex = new RegExp(strPattern);
		if (regex.test(strValue)){
			alert(' Geen HTML opnemen in \'' + strFieldName + '\' alstublieft');	
			return false;
		};
		
		return true; 
		
};
	
function ValidateSubjectQuestion(f)
{
	document.sendhelpmailform.subjtext.value = document.sendhelpmailform.selectproblem.options[document.sendhelpmailform.selectproblem.selectedIndex].text;
	
	if(f.selectproblem.value == 0){
		alert('Kies een onderwerp');
		return false;
	}
	
	else if(f.email.value == ''){
		alert('Vul een geldig e-mailadres in');
		return false;
	}
	else if(f.email.value.indexOf("@") == -1){
		alert('Vul een geldig e-mailadres in');
		return false;
	}
	
	else{
		return true;
	}
};	
	

function validateSelectbox(f)
{
	if(f.selectproblem.value == 0){
		alert('Kies eerst een onderwerp voordat u het probleem gaat beschrijven');
		return false;
	}
	
	else{
		return true;
	}
};

lngActiveDivId = -1;

function showDiv(){

var help_id = document.sendhelpmailform.selectproblem.options[document.sendhelpmailform.selectproblem.selectedIndex].value;

		if (lngActiveDivId != -1)
			{ document.getElementById(lngActiveDivId).style.display='none';
			};
			
			if (help_id != 0)
				{ document.sendhelpmailform.text.value = arrQuestion[help_id];
					lngActiveDivId = help_id;
				document.getElementById(help_id).style.display='block';
				
				}
			else
				{document.sendhelpmailform.text.value = '';
					lngActiveDivId = -1;
				};
		
	}

	