<!--
var xmlHttp = new Array();

function GetXmlHttpObject() {
	var HttpObj = null;
	try	{
		HttpObj = new XMLHttpRequest();
	} catch (e) {
		try {
			HttpObj = new ActiveXObject('Msxml2.XMLHTTP');
		}
		catch (e) {
			HttpObj = new ActiveXObject('Microsoft.XMLHTTP');
		}
	}
	return HttpObj;
}

function checkKey(e) {
	var key = window.event ? e.keyCode : e.which;
	if (key == 13) {
		getCompany();
	} else {
		return true;	
	}
}

function keyStroke(e, validate) {
	var key = window.event ? e.keyCode : e.which;
	if (key == 8 || key == 0) return true;
	if (key == 124 ) return false;
	if (validate == 1 && key == 32) return false;
	if (validate == 3 || validate == 2) {
		if (key < 48 || key > 57) {
			if (key != 44 && key != 45) {
				return false;
			} else {
				if (validate == 2 && key == 44) {
					return false;
				}
			}
		}
	}
}

function showPerson(id, a) {
	var table = document.getElementById('table' + id);
	if(table.className == 'hidden') {
		table.className = '';
		a.innerHTML = 'Verbergen';
	} else {
		table.className = 'hidden';	
		a.innerHTML = 'Tonen';
	}
	return false;
}

function checkForm(block_id) {
	var formitem = document.getElementById('checkfields' + block_id).value.split('#**#');
	for (var x = 0; x < formitem.length; x++) {
		var formproperties = formitem[x].split('#|#');
		var formfield = formproperties[0];
		var fieldname = formproperties[1];
		var validate = parseInt(formproperties[2]);
		var compulsary = parseInt(formproperties[3]);
		var unique = parseInt(formproperties[4]);
		if (validate != 2) {
			if (document.getElementById(formfield)) {
				var a = doTrim(document.getElementById(formfield));
				document.getElementById(formfield).value = a;
			}
		}
		if (validate == 2) {
			var found = false;
			for (var i = 0; i < document.getElementsByName(formfield).length; i++) {
				if (document.getElementsByName(formfield)[i].checked) found = true;
			}
			if (found == false) {
				translate(2, '', ': ' + fieldname);
				return false;
			}
		}
		if (compulsary == 1) {
			if (document.getElementById(formfield).value == '') {
				if (document.getElementById(formfield).style.visibility != 'hidden') {
					translate(3, '', ': ' + fieldname);
					document.getElementById(formfield).focus();
					return false;
				}
			}
		}
		if (validate == 1) {
			if (emailCheck(formfield, compulsary) == false) {
				translate(4, '', '');
				document.getElementById(formfield).focus();
				return false;
			}
		}
		if (unique == 1) {
			var result = parseInt(document.getElementById(formfield + '_unique').value);
			if (result == 0) {
				translate(5, '', ': ' + fieldname);
				document.getElementById(formfield).focus();
				return false;
			}
		}
	}
	return;
}

function getCompany() {
	var value = document.getElementById('searchValue').value;
	xmlHttp[1] = GetXmlHttpObject();
	var url = 'includes/ajax.asp?script=getcompany&value=' + escape(value) + '&sid=' + Math.random();
	xmlHttp[1].open('GET', url, true);
	xmlHttp[1].onreadystatechange = function() {
		if (xmlHttp[1].readyState == 4) {
			result = xmlHttp[1].responseText;
			document.getElementById('company').innerHTML = '';
			document.getElementById('company').innerHTML = result;
			document.getElementById('search').style.display = 'none';
			document.getElementById('registrationForm').className = '';
		}
	}
	xmlHttp[1].send(null);
}

function addPerson() {
	var div;
	
	var addCount = parseInt(document.getElementById('addCount').value);
	addCount = addCount + 1;
	document.getElementById('addCount').value = addCount;
	var ids = document.getElementById('ids').value;
	document.getElementById('ids').value = ids + '#!#' + addCount + '#!#';
	//console.log(document.getElementById('ids').value);
	var personCount = parseInt(document.getElementById('personCount').value);
	personCount = personCount + 1;
	document.getElementById('personCount').value = personCount;
	
	xmlHttp[1] = GetXmlHttpObject();
	var url = 'includes/ajax.asp?script=addperson&value=' + addCount + '&sid=' + Math.random();
	xmlHttp[1].open('GET', url, true);
	xmlHttp[1].onreadystatechange = function() {
		if (xmlHttp[1].readyState == 4) {
			result = xmlHttp[1].responseText;
			div = document.createElement('div');
			div.id = 'person' + addCount;
			div.innerHTML = result;
			document.getElementById('persons').appendChild(div);
		}
	}
	xmlHttp[1].send(null);
}

function deletePerson(id) {
	var div = document.getElementById('person' + id);
	div.parentNode.removeChild(div);
	var value = parseInt(document.getElementById('personCount').value);
	value = value - 1;
	document.getElementById('personCount').value = value;
	var ids = document.getElementById('ids').value;
	ids = ids.replace('#!#' + id + '#!#','');
	document.getElementById('ids').value = ids;
	//console.log(document.getElementById('ids').value);
	/*var deleted = document.getElementById('personsDeleted').value;
	if(deleted == '') {
		deleted = id;	
	} else {
		deleted = deleted + ',' + id;
	}
	document.getElementById('personsDeleted').value = deleted;*/
}

function checkUnique(dbtable, dbfield, id, formfield) {
	xmlHttp[1] = GetXmlHttpObject();
	var url = 'includes/ajax.asp?script=checkunique&dbtable=' + dbtable + '&dbfield=' + dbfield + '&dbvalue=' + escape(document.getElementById(formfield).value) + '&id=' + id + '&sid=' + Math.random();
	xmlHttp[1].open('GET', url, true);
	xmlHttp[1].onreadystatechange = function() {
		if (xmlHttp[1].readyState == 4) {
			result = xmlHttp[1].responseText;
			document.getElementById(formfield + '_unique').value = result;
		}
	}
	xmlHttp[1].send(null);
}

function showDesc(id) {
	var div = document.getElementById('desc' + id);
	if(div.className == 'hidden') {
		div.className = '';	
	} else {
		div.className = 'hidden';
	}
}

function checkRegistrationForm() {
	var errors = '';
	var field;
	var val;
	var element;
	var companyId;
	var companyFields = 'companyName|bedrijfsnaam,companyAddress|adres,companyZipcode|postcode,companyCity|plaats';
	companyFields = companyFields + ',companyContact|Bedrijfscoördinator,contactTelephone|telefoon,contactEmail|email-adres';
	var personFields = 'personTitle|titel,personInitials|initialen,personFirstNames|voornamen,personCallSign|roepnaam';
	personFields = personFields + ',personLastName|achternaam,personBirthDate|geboortedatum,personCity|plaats,personEmail|email-adres';
	personFields = personFields + ',personFunction|functie,personCategory|categorie,personIntroducee|Introducees';
	
	companyId = parseInt(document.getElementById('companyId').value);
	var personCount = parseInt(document.getElementById('personCount').value);
	
	if(companyId == 0) {
	
		companyFields = companyFields.split(',');
		for(var i = 0; i < companyFields.length; i++) {
			field = companyFields[i].split('|');
			element = document.getElementById(field[0]);
			val = element.value;
			if(field[0] == 'contactEmail') {
				if(val == '') {
					element.className = element.className + ' error';
					errors = errors + 'U bent vergeten een ' + field[1] + ' op te geven\n';
				} else if(emailCheck(field[0],1) == false) {
					element.className = element.className + ' error';
					errors = errors + 'U heeft een ongeldig ' + field[1] + ' opgegeven\n';
				} else {
					element.className = element.className.replace(' error','');				
				}
			} else {
				if(val == '') {
					element.className = element.className + ' error';
					errors = errors + 'U bent vergeten een ' + field[1] + ' op te geven\n';
				} else {
					element.className = element.className.replace(' error','');
				}
			}
		}
		
	}
	if(errors == '') {
		if(personCount == 0) {
			errors = errors + 'U hebt nog geen personen opgegeven.\n';	
		} else {
			personFields = personFields.split(',');
			var personIds = document.getElementById('ids').value;
			//console.log(personIds);
			var length = personIds.length - 6;
			personIds = personIds.substr(3,length);
			//console.log(personIds);
			personIds = personIds.split('#!##!#');
			var groups;
			var groupCounter;
			
			for(var i = 0; i < personIds.length; i++) {
				groupCounter = 0;
				for(var j = 0; j < personFields.length; j++) {
					
					field = personFields[j].split('|');
					element = document.getElementById(field[0] + personIds[i]);
					val = element.value;
					
					if(field[0] == 'personEmail') {
						
						
						if(val == '') {
						
							element.className = element.className + ' error';
							errors = errors + 'U bent vergeten een ' + field[1] + ' op te geven\n';
						
						} else if(emailCheck(field[0] + personIds[i],1) == false) {
						
							element.className = element.className + ' error';
							errors = errors + 'U hebt een ongeldig ' + field[1] + ' opgegeven\n';
						
						} else {
							
							element.className = element.className.replace(' error','');				
						
						}
					
					} else if(field[0] == 'personIntroducee') {
						
						if(element.checked == true) {
							element = document.getElementById('personExtraTickets' + personIds[i]);
							val = parseInt(element.value);
							
							if(val < 1) {
								element.className = element.className + ' error';
								errors = errors + 'U bent vergeten het aantal kaarten op te geven';
							} else {
								element.className = element.className.replace(' error');
							}
							
						} else {
							element.className = element.className.replace(' error');
							document.getElementById('personExtraTickets' + personIds[i]).value = 0;		
						}
						
					} else {
						
						if(val == '') {
							
							element.className = element.className + ' error';
							if(field[0] == 'personInitials') {
							
								errors = errors + 'U bent vergeten de ' + field[1] + ' op te geven\n';
								
							} else if(field[0] == 'personFirstNames') {
								
								errors = errors + 'U bent vergeten de ' + field[1] + ' op te geven\n';
								
							} else {
								
								errors = errors + 'U bent vergeten een ' + field[1] + ' op te geven\n';
							}
							
						} else {
							
							element.className = element.className.replace(' error','');
							
						}
					}
				}
				groups = document.getElementById('personGroups' + personIds[i]).getElementsByTagName('input');
				for(var j = 0; j < groups.length; j++) {
					if(groups[j].checked == true) {
						groupCounter++	
					}
				}
				if (groupCounter == 0) {
					errors = errors + 'U heeft nog geen groepen geselecteerd.\n';	
				}				
				if(errors != '') {
					break;	
				}
			}
			
		}
	}
	if(errors == '') {
		return true;	
	} else {
		alert(errors);
		return false;
	}
}

function checkExtraTickets(id) {
	var checkbox = document.getElementById('personIntroducee' + id);
	var extraTickets = document.getElementById('personExtraTickets' + id);
	if(checkbox.checked == true) {
		extraTickets.disabled = false;
	} else {
		extraTickets.disabled = true;
		extraTickets.value = 0;
	}
}

function emailCheck(formfield, compulsary) {
	var emailStr=document.getElementById(formfield).value
	if (compulsary == 0 && emailStr == '') return true;
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) return false;
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i = 0; i < user.length; i++) {
		if (user.charCodeAt(i) > 127) return false;
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i) > 127) return false;
	}
	if (user.match(userPat)==null) return false;
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i = 1;i <= 4; i++) {
			if (IPArray[i] > 255) return false;
		}
		return true;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i = 0; i < len; i++) {
		if (domArr[i].search(atomPat) == -1) return false;
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) return false;
	if (len < 2) return false;
	return true;
}

function translate(id, before, after) {
	xmlHttp[2] = GetXmlHttpObject();
	var url = 'includes/ajax.asp?script=translate&id=' + id + '&rid=' + Math.random();
	xmlHttp[2].open('GET', url, true);
	xmlHttp[2].onreadystatechange = function() {
		if (xmlHttp[2].readyState == 4) {
			response = before + xmlHttp[2].responseText + after;
			alert(response);
		}
	}
	xmlHttp[2].send(null);
}

function tagReaction(reaction_id) {
	xmlHttp[1] = GetXmlHttpObject();
	var url = 'includes/ajax.asp?script=tagreaction&reaction_id=' + reaction_id + '&tagged=1&rid=' + Math.random();
	xmlHttp[1].open('GET', url, true);
	xmlHttp[1].onreadystatechange = function() {
		if (xmlHttp[1].readyState == 4) {
			document.getElementById('ok' + reaction_id).innerHTML = document.getElementById('tagMessage').value;
		}
	}
	xmlHttp[1].send(null);
}

function showAdvanced() {
	if (document.getElementById('advanced').style.display == 'none') {
		document.getElementById('advanced').style.display = 'block';
	} else {
		document.getElementById('advanced').style.display = 'none';
	}
}

function doTrim(obj) {
	var a = trim(obj.value);
	obj.value = a;
	return a;
}

function trim(strValue) {
	if (strValue.length < 1) return '';
	strValue = rTrim(strValue);
	strValue = lTrim(strValue);
	return strValue;
}

function rTrim(strValue) {
	var w_space = String.fromCharCode(32);
	var v_length = strValue.length;
	var strTemp = '';
	if (v_length < 0) return '';
	var iTemp = v_length - 1;
	while(iTemp > -1) {
		if (strValue.charAt(iTemp) != w_space) {
			strTemp = strValue.substring(0, iTemp + 1);
			break;
		}
		iTemp = iTemp - 1;
	}
	return strTemp;
}

function lTrim(strValue) {
	var w_space = String.fromCharCode(32);
	if (v_length < 1) return '';
	var v_length = strValue.length;
	var strTemp = '';
	var iTemp = 0;
	while (iTemp < v_length) {
		if (strValue.charAt(iTemp) != w_space) {
			strTemp = strValue.substring(iTemp, v_length);
			break;
		}
		iTemp = iTemp + 1;
	}
	return strTemp;
}

var BrowserDetect = {
	init: function ()
	{
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data)
	{
		for (var i=0;i<data.length;i++)
		{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString)
			{
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString)
	{
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{	// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{	// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};

BrowserDetect.init();
//-->
