function trim(str) {
   return str.replace(/^\s*|\s*$/g,"");
}


function lenstring(aString,aLength,aCharacter) {
	if(aString.length<aLength) {
		returnString="";
		for(tel=0;tel<(aLength-aString.length);tel++) {
			returnString+=aCharacter;
		}
		return returnString+aString;
	} else {
		return aString;
	}
}

function changeLastNamePrefix(aFormElement) {
	var regcaps = /\b[A-Z]+\b/
	var regexp = /[^'a-zA-Z0-9@\.\(\)\/, -�������������������������������]/
	
	while(aFormElement.value.search(regexp)!=-1) {
		aFormElement.value = aFormElement.value.replace(regexp,"")
	}
	var wordArray = aFormElement.value.split(" ")
	
	for(var i=0;i<wordArray.length;i++) {
		//only change the first letter if they are not all capitalized
		if(wordArray[i].search(regcaps)==-1) {
			switch(wordArray[i].toLowerCase()) {
				case "van" : case "der" : case "de" : case "den" : case "v/d" : case "vd" : case "v.d." : case "v.d" :
					if(wordArray[i].toLowerCase()=="v/d" || wordArray[i].toLowerCase()=="vd" || wordArray[i].toLowerCase()=="v.d." || wordArray[i].toLowerCase()=="v.d") {
						wordArray[i]="van de";
					}
					wordArray[i]=wordArray[i].toLowerCase();
					break;
				default :
					wordArray[i] = wordArray[i].substring(0,1).toUpperCase() + wordArray[i].substring(1,wordArray[i].length).toLowerCase()
			}
		}
	}
	aFormElement.value=wordArray.join(" ").toLowerCase();
}

function changeName(aFormElement) {
	var regcaps = /\b[A-Z]+\b/
	var regexp = /[^'a-zA-Z0-9@\.\(\), -�������������������������������]/
	while(aFormElement.value.search(regexp)!=-1) {
		aFormElement.value = aFormElement.value.replace(regexp,"")
	}
	var wordArray = aFormElement.value.split(" ")
	
	
	for(var i=0;i<wordArray.length;i++) {
		//only change the first letter if they are not all capitalized
		if(wordArray[i].search(regcaps)==-1) {
			switch(wordArray[i].toLowerCase()) {
				case "van" : case "der" : case "de" : case "den" :
					wordArray[i]=wordArray[i].toLowerCase();
					break;
				default :
					wordArray[i] = wordArray[i].substring(0,1).toUpperCase() + wordArray[i].substring(1,wordArray[i].length).toLowerCase()
			}
		}
	}
	aFormElement.value=wordArray.join(" ")
}

function changeLoginName(aFormElement) {
	var regexp = /[^a-zA-Z0-9]/
	while(aFormElement.value.search(regexp)!=-1) {
		aFormElement.value = aFormElement.value.replace(regexp,"")
	}
	aFormElement.value=aFormElement.value.toLowerCase();
}

function addPoints(aFormElement) {
	//all elements which are not a-zA-Z have to be deleted
	var regexp = /[^a-zA-Z]/
	
	while(aFormElement.value.search(regexp)!=-1) {
		aFormElement.value = aFormElement.value.replace(regexp,"")
	}
	//define the startstring this is a string with only characters
	aStartString=aFormElement.value.toUpperCase()
	//set the Form-element to a string with nothing
	aFormElement.value=""
	//now put the points inside the string
	for(var i=0;i<aStartString.length;i++) {
		aFormElement.value+=aStartString.charAt(i) + "."
	}
	//only 10 characters are allowed
	aFormElement.value=aFormElement.value.substring(0,10)
}

function changeZipCode(aFormElement) {
  aFormElement.value=trim(aFormElement.value);
  aFormElement.value = aFormElement.value.toUpperCase()
  if (aFormElement.value.length == 7) {
    aFormElement.value = aFormElement.value.substr(0,4) + " " + aFormElement.value.substr(5,2)
  } else {
	  aFormElement.value = aFormElement.value.substr(0,4) + " " + aFormElement.value.substr(4,2)
  }
  aFormElement.value=trim(aFormElement.value);
}


function changePhoneNumber(aFormElement) {
	var regexp = /[^0-9 \-\+\(\)]/
	if(aFormElement.value!="") {
		while(aFormElement.value.search(regexp)!=-1) {
			aFormElement.value = aFormElement.value.replace(regexp,"");
		}
		aFormElement.value = aFormElement.value.replace(/[)]/,"-");
		aFormElement.value = aFormElement.value.replace("--","-");
		regexp = /[^0-9\-]/
		while(aFormElement.value.search(regexp)!=-1) {
			aFormElement.value = aFormElement.value.replace(regexp,"");
		}
		if(aFormElement.value.substr(0,1)!="0") {
			aFormElement.value="0" + aFormElement.value;
		}
		if(aFormElement.value.search(/[-]/)==-1) {
			if(aFormElement.value.substr(0,2)=="06") {
				aFormElement.value = aFormElement.value.substr(0,2) + "-" + aFormElement.value.substr(2,8);
			} else if(
				aFormElement.value.substr(0,3)=="010" ||
				aFormElement.value.substr(0,3)=="013" ||
				aFormElement.value.substr(0,3)=="015" ||
				aFormElement.value.substr(0,3)=="020" ||
				aFormElement.value.substr(0,3)=="023" ||
				aFormElement.value.substr(0,3)=="024" ||
				aFormElement.value.substr(0,3)=="026" ||
				aFormElement.value.substr(0,3)=="030" ||
				aFormElement.value.substr(0,3)=="033" ||
				aFormElement.value.substr(0,3)=="035" ||
				aFormElement.value.substr(0,3)=="036" ||
				aFormElement.value.substr(0,3)=="038" ||
				aFormElement.value.substr(0,3)=="040" ||
				aFormElement.value.substr(0,3)=="043" ||
				aFormElement.value.substr(0,3)=="045" ||
				aFormElement.value.substr(0,3)=="046" ||
				aFormElement.value.substr(0,3)=="050" ||
				aFormElement.value.substr(0,3)=="053" ||
				aFormElement.value.substr(0,3)=="055" ||
				aFormElement.value.substr(0,3)=="058" ||
				aFormElement.value.substr(0,3)=="070" ||
				aFormElement.value.substr(0,3)=="071" ||
				aFormElement.value.substr(0,3)=="072" ||
				aFormElement.value.substr(0,3)=="073" ||
				aFormElement.value.substr(0,3)=="074" ||
				aFormElement.value.substr(0,3)=="075" ||
				aFormElement.value.substr(0,3)=="076" ||
				aFormElement.value.substr(0,3)=="077" ||
				aFormElement.value.substr(0,3)=="078" ||
				aFormElement.value.substr(0,3)=="079"
			) {
				aFormElement.value = aFormElement.value.substr(0,3) + "-" + aFormElement.value.substr(3,7);
			} else {
				aFormElement.value = aFormElement.value.substr(0,4) + "-" + aFormElement.value.substr(4,6);
			}
		}
		if(aFormElement.value=="-") {
			aFormElement.value = "";
		}
		aFormElement.value = aFormElement.value.substr(0,11);
		if(aFormElement.value.length!=11) {
			alert("Telefoonnummer is niet geldig, moet 10 cijfers bevatten");
		}
	}
}

function changeMoney(aFormElement) {
	if (aFormElement.value!="") {
		if (aFormElement.value.charAt(aFormElement.value.length-2)=="." || aFormElement.value.charAt(aFormElement.value.length-3)==".") {
			aFormElement.value = aFormElement.value.toString().replace(/[.]/,"~");
			aFormElement.value = aFormElement.value.toString().replace(/[,]/,"");
		} else {
			aFormElement.value = aFormElement.value.toString().replace(/[,]/,"~");
			aFormElement.value = aFormElement.value.toString().replace(/[.]/,"");
		}
		
		var regexp = /[^0-9~]/
	
		while(aFormElement.value.search(regexp)!=-1) {
			aFormElement.value = aFormElement.value.replace(regexp,"")
		}
		aFormElement.value = aFormElement.value.toString().replace(/[~]/,".");
		sign = (aFormElement.value == (aFormElement.value = Math.abs(aFormElement.value)));
		aFormElement.value = Math.floor(aFormElement.value*100+0.50000000001);
		cents = aFormElement.value%100;
		aFormElement.value = Math.floor(aFormElement.value/100).toString();
		if(cents<10)
			cents = "0" + cents;
		for (var i = 0; i < Math.floor((aFormElement.value.length-(1+i))/3); i++)
			aFormElement.value = aFormElement.value.substring(0,aFormElement.value.length-(4*i+3))+'.'+aFormElement.value.substring(aFormElement.value.length-(4*i+3));
		aFormElement.value=((sign)?'':'-') + aFormElement.value + "," + cents;
	}
}

function clearMoney(aFormElement) {
	if (aFormElement.value.charAt(aFormElement.value.length-3)==".") {
		aFormElement.value = aFormElement.value.toString().replace(/[.]/,"~");
		aFormElement.value = aFormElement.value.toString().replace(/[,]/,"");
	} else {
		aFormElement.value = aFormElement.value.toString().replace(/[,]/,"~");
		aFormElement.value = aFormElement.value.toString().replace(/[.]/,"");
	}
	
	var regexp = /[^0-9~]/

	while(aFormElement.value.search(regexp)!=-1) {
		aFormElement.value = aFormElement.value.replace(regexp,"")
	}
	aFormElement.value = aFormElement.value.toString().replace(/[~]/,",");
	aFormElement.select();
}

function changeInteger(aFormElement) {
	var regexp = /[^0-9]/

	while(aFormElement.value.search(regexp)!=-1) {
		aFormElement.value = aFormElement.value.replace(regexp,"")
	}
}

function changeEmailAddress(aFormElement) {
	var regexp = /[^0-9a-z@\._\-]/
	
	aFormElement.value=aFormElement.value.replace(">",".");
	aFormElement.value=aFormElement.value.toLowerCase()
	while(aFormElement.value.search(regexp)!=-1) {
		aFormElement.value = aFormElement.value.replace(regexp,"")
	}
}

function cropText(aFormElement,aSize) {
	aFormElement.value = aFormElement.value.substring(0,aSize)
}

function changeDate(aFormElement) {
	var aDay,aMonth,aYear;
	
	theDate = new Date();
	theYear = theDate.getYear();
	if (theYear<1900) theYear=theYear+1900;

	var regexp = /[\/]/
	while(aFormElement.value.search(regexp)!=-1) {
		aFormElement.value = aFormElement.value.toString().replace(regexp,"-");
	}
	regexp = /[^0-9/-]/
	while(aFormElement.value.search(regexp)!=-1) {
		aFormElement.value = aFormElement.value.replace(regexp,"")
	}
	DateArray=aFormElement.value.split("-");
	if(DateArray.length==3) {
		if(DateArray[0]>100) {
			aDay=(DateArray[2] % 31)==0?31:(DateArray[2] % 31);
			aMonth=(DateArray[1] % 12)==0?12:(DateArray[1] % 12);
			aYear=DateArray[0];
		} else {
			aDay=(DateArray[0] % 31)==0?31:(DateArray[0] % 31);
			aMonth=(DateArray[1] % 12)==0?12:(DateArray[1] % 12);
			if(DateArray[2]>50 && DateArray[2]<100) {
				aYear="19" + lenstring(DateArray[2].toString(),2,"0");
			} else if(DateArray[2]<50) {
				aYear="20" + lenstring(DateArray[2].toString(),2,"0");
			} else {
				aYear=DateArray[2];
			}
		}
		aFormElement.value=lenstring(aDay.toString(),2,"0") + "-" + lenstring(aMonth.toString(),2,"0") + "-" + lenstring(aYear.toString(),4,"0");
	} else if(DateArray.length==2) {
		aDay=(DateArray[0] % 31)==0?31:(DateArray[0] % 31);
		aMonth=(DateArray[1] % 12)==0?12:(DateArray[1] % 12);
		aYear=theYear;
		aFormElement.value=lenstring(aDay.toString(),2,"0") + "-" + lenstring(aMonth.toString(),2,"0") + "-" + lenstring(aYear.toString(),4,"0");
	} else {
		aFormElement.value="";
	}
}