function p_validate(code)
{
		var regPostCode = /^[1-9]{1}[0-9]{3}$/;
		if(regPostCode.test(code) == false)
		{
			return false;	
		} else {
			return true;
		}	
}

function NewWindow(url)
{
	window.open(url,"New window");	
}

function createXMLHttpRequest()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}

function postcodelookup(g_id) {
    var divEle = 'p_output';
   	var postc = document.getElementById('postcode').value;
	
	if(p_validate(postc))
	{
		 var request = createXMLHttpRequest();
		 
		 if ( !request ) { 
   			 alert( request );
   		 return false;
    	 }
		 
		 var callback = function( oXML ) 
		 {
			 document.getElementById( divEle ).innerHTML = oXML.responseText;
			 document.getElementById('o_gemeente').focus();
			 
    	 }

		 var queryString = "postcode=" + postc;
		 if(g_id != '')
		 {
		 	 queryString = queryString + "&g_id=" + g_id;	
		 }
			
   		 request.connect(
   		 'includes/postcode.php',
    		'GET',
    		queryString,
    		callback
    		);
		 
	
	} else {
		window.alert("Ongeldige postcode");
		postc.focus();
		return false;
	}
}

function recordlookup(id)
{
	var divEle = 'l_output';
	var request = createXMLHttpRequest();
	
	if( !request) {
		alert(request);
		return false;
	}
	
	var callback = function(oXML)
	{
		document.getElementById(divEle).innerHTML = oXML.responseText;
	}
	
	var queryString = "name=" + id;
	
	request.connect("includes/recordlist.php",'GET',queryString,callback);

	var box = document.getElementById('listbox');
	box.style.display = 'block';
}

function recordlookup2(id)
{
	var divEle = 'r_output';
	var request = createXMLHttpRequest();
	
	if( !request) {
		alert(request);
		return false;
	}
	
	var callback = function(oXML)
	{
		document.getElementById(divEle).innerHTML = oXML.responseText;
	}
	
	var queryString = "id="+id;
	
	request.connect("includes/recordview.php",'GET',queryString,callback);

	var box = document.getElementById('recordbox');
	box.style.display = 'block';
}

function DeleteLid(id)
{
	var divEle = 'r_output';
	var request = createXMLHttpRequest();
	
	if( !request) {
		alert(request);
		return false;
	}
	
	var callback = function(oXML)
	{
		document.getElementById(divEle).innerHTML = oXML.responseText;
	}
	
	var queryString = "id=" + id + "&del=1";
	
	request.connect("includes/recordview.php",'GET',queryString,callback);
	var box = document.getElementById('recordbox');
	box.style.display = 'block';
}

function moreFields() {
	var lnaam = document.getElementsByName('naam[]');
	var lvnaam = document.getElementsByName('vnaam[]');
	var lnat = document.getElementsByName('nat[]');
	var lmail = document.getElementsByName('mail[]');
	
	for(x=0;x<lnaam.length;x++)
	{
		lnaam[x].style.border = '1px solid #ddd';
		lvnaam[x].style.border = '1px solid #ddd';
		lnat[x].style.border = '1px solid #ddd';
		lmail[x].style.border = '1px solid #ddd';
	}
	
	var newFields = document.getElementById('readroot').cloneNode(true);
	newFields.id = '';
	newFields.style.display = 'block';
	var newField = newFields.childNodes;
	for(i=0;i<newField.length;i++)
	{
		if(newField[i].id == "read")
		{
			newField[i].id = "";	
		}
	}
	
	var insertHere = document.getElementById('writeroot');
	insertHere.parentNode.insertBefore(newFields,insertHere);
}

function SelectMoveRows(SS1,SS2)
{
    var SelID = '';
    var SelText='';
    // Move rows from SS1 to SS2 from bottom to top
    for (i=SS1.options.length - 1; i>=0; i--)
    {
        if (SS1.options[i].selected == true)
        {
            SelID=SS1.options[i].value;
            SelText=SS1.options[i].text;
            var newRow = new Option(SelText,SelID);
            SS2.options[SS2.length]=newRow;
            SS1.options[i]=null;
        }
    }
    SelectSort(SS2);
}

function SelectSort(SelList)
{
    var ID='';
    var Text='';
    for (x=0; x < SelList.length - 1; x++)
    {
        for (y=x + 1; y < SelList.length; y++)
        {
            if (SelList[x].text > SelList[y].text)
            {
                // Swap rows
                ID=SelList[x].value;
                Text=SelList[x].text;
                SelList[x].value=SelList[y].value;
                SelList[x].text=SelList[y].text;
                SelList[y].value=ID;
                SelList[y].text=Text;
            }
        }
    }
}

function SelectAll(selectBox)
{
    // is the select box a multiple select box?
    if (selectBox.type == "select-multiple") {
        for (var i = 0; i < selectBox.options.length; i++) {
            selectBox.options[i].selected = true;
        }
    }
}

function SubmitSport(c,to)
{	
	var status = 0;
	
	for(x=0;x<c;x++)
	{
		SelectAll(document.getElementById('lsport'+x));
	}
	
	if(to == "next")
	{
		for(i=0;i<c;i++)
		{
			var temp = parseInt(ValidateSport(document.getElementById('lsport'+i)));
			if(ValidateSport(document.getElementById('lsport'+i)) == 1)
			status += temp;
		}
	} else {
		status = c;
	}
	
	if(status == c)
	{
		var towards = document.getElementById('to');
		towards.value = to;
	
		var el = document.getElementById('frmsport');
		el.submit();
	} else {
		window.alert("Gelieve voor alle personen een sport te selecteren.");
	}
}

function ClearTextbox(id)
{
	var el = document.getElementById(id);
	el.value = "";
}

function LeaveTextbox(id,txt)
{
	var el = document.getElementById(id);
	el.value = txt;
}

function SubmitSportAdmin()
{
	SelectAll(document.getElementById('lssport'));
	
	if(parseInt(ValidateSport(document.getElementById('lssport'))) > 0)
	{
		var el = document.getElementById('afrmsport');
		el.submit();
	}	else {
		window.alert("Gelieve voor alle personen een sport te selecteren.");
	}
}

function SubmitDownload()
{
	si = document.getElementById('scode').selectedIndex;
	sc = document.getElementById('scode').options[si].value;
	window.open("output_xls3.php?scode=" + sc);
	
}

function DownloadAlles()
{
	window.open("output_xls2.php");	
}

function ValidateSport(selectBox)
{
	x = 0;
	
	if(selectBox.options.length > 0)
	{
		x = 1;	
	}
	
	return x;
}

function RemoveChild(t)
{
	t.parentNode.parentNode.removeChild(t.parentNode);	
}

function validateMailInschrijving()
{
	status = 0;
	r = false;
	lnaam = document.getElementsByName('naam[]');
	l = document.getElementsByName('naam[]');
	
	if(l.length > 2)
	{
		for(i=0;i<l.length;i++)
		{
			if(lnaam[i].id != "read")
			{
				if(l[i].value != "")
				{
					if(validateMail(l[i].value))
					{
						status++;	
					} else {
						l[i].style.border = '1px solid red';
					}
				}
			}
		}
	} else if(validateMail(l[1].value))
	{
		status++;	
	} else {
		l[1].style.border = '1px solid red';
	}

	if(status>0)
	{
		r = true;
	} else {
		for(x=0;x<l.length;x++)
		{
			l[x].style.border = '1px solid red';	
		}
	}
	
	return r;
}

function ClearBorder(x)
{
	var lnaam = document.getElementsByName('naam[]');
	var lvnaam = document.getElementsByName('vnaam[]');
	var lnat = document.getElementsByName('nat[]');
	var lmail = document.getElementsByName('mail[]');

	lnaam[x].style.border = '1px solid #ddd';
	lvnaam[x].style.border = '1px solid #ddd';
	lnat[x].style.border = '1px solid #ddd';
	lmail[x].style.border = '1px solid #ddd';
}

/*function submitInschrijven()
{
	var lnaam = document.getElementsByName('naam[]');
	var lvnaam = document.getElementsByName('vnaam[]');
	var lnat = document.getElementsByName('nat[]');
	var lmail = document.getElementsByName('mail[]');
	var count = 0;
	
	for(x=0;x<lnaam.length;x++)
	{		
	ClearBorder(x);
	if(lnaam[x].parentNode.id != "read")
		{		
			if(validateText(lnaam[x].value))
			{
				count++;
			} else {
				//show *
				lnaam[x].style.border = '1px solid red';
			}
			if(validateText(lvnaam[x].value))
			{
				count++;	
			} else {
				//show *
				lvnaam[x].style.border = '1px solid red';
			}
			if(validateText(lnat[x].value))
			{
				count++;	
			} else {
				//show *
				lnat[x].style.border = '1px solid red';
			}
		}
	}
	
	if(validateMailInschrijving())
	{
		
		count++;	
	} 
	
	var test = 0;
	test = (lnaam.length-1)*3;
	test = test + 1;
	if(test == count)
	{
		var el = document.getElementById('register');
		el.submit();
	} else {
		window.alert("Gelieve uw ingevulde gegevens na te kijken:\r\n\t- Naam,voornaam en nationaliteit laten toe\r\n\t\t- Letters\r\n\t\t- Spaties\r\n\t- Zorg voor ten minste 1 geldig e-mailadres.");
		return false
	}
	
	var elef = document.getElementById('register');
	elef.submit();
}*/

function validateNr(n)
{
	var reg = new RegExp(/^[0-9]+$/);
	var status = false;
	
	if(reg.test(n))
	{
		status = true;	
	}
	
	return status;
}

function validateBus(s)
{
	var reg = new RegExp(/^([a-zA-Z '-]+)$/);
	var reg2 = new RegExp(/^[0-9]+$/);
	var status = false;
	
	if(reg.test(s) || reg2.test(s))
	{
		status = true;
	}
	
	return status;
	
}

function validateText(s)
{
	var reg = new RegExp(/^([a-zA-Z '-]+)$/);
	var status = false;
	
	if(reg.test(s))
	{
		status = true;
	}
	
	return status;
	
}

function validateMail(m)
{
	var reg = new RegExp(/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/);
	var status = false;
	
	if(reg.test(m))
	{
		status = true;	
	}
	
	return status;
}

function submitAdres(to)
{
	s = 0;
	t = 0;
	
	var straat = document.getElementById('straat');
	var nummer = document.getElementById('nummer');
	var bus = document.getElementById('bus');
	var postcode = document.getElementById('postcode');
	
	straat.style.border = '1px solid #bbb';
	nummer.style.border = '1px solid #bbb';
	bus.style.border = '1px solid #bbb';
	postcode.style.border = '1px solid #bbb';
	postcode.style.background = '#ddd';
	straat.style.background = '#ddd';
	nummer.style.background = '#ddd';
	bus.style.background = '#ddd';
	straat.style.background = '#ddd';
	
	if(to == 'next'){
		if(validateText(straat.value))
		{
			s++;
		} else {
			straat.style.border = '1px solid red';
			straat.style.background = '#F28D99';
		}
		if(validateNr(nummer.value))
		{
			s++;
		}else {
			nummer.style.border = '1px solid red';
			nummer.style.background = '#F28D99';
		}
		
		if(validateBus(bus.value))
		{
			t++;
		}else if(bus.value == "") {
			t++;
		} else {
			bus.style.border = '1px solid red';
			bus.style.background = '#F28D99';
		}
		
		if(postcode.value != "")
		{
			s++;
		} else {
			postcode.style.border = '1px solid red';
			postcode.style.background = '#F28D99';
		}
		
	} else {
		s =3;
		t = 1;
	}
	
	if(s == 3)
	{
		if(t == 1){
			var towards = document.getElementById('toAdres');
			towards.value = to;

			var elediv = document.getElementById('adresAbo');
			elediv.submit();
		}
	} else {
		window.alert("Gelieve uw ingevulde gegevens na te kijken.\r\n\t- Straat en bus zijn laten enkel toe:\r\n\t\t- Letters\r\n\t\t- Spaties\r\n\t- Bus en postcode enkel cijfers.");
		return false;
	}
}

function submitTel()
{
	var c = 0;
	var temp = 0;
	
/*	if(validateDate(document.getElementById('pdate').value))
	{
		c++;
	}*/
	
	document.getElementById('tel').style.border = '1px solid #bbb';
	document.getElementById('tel').style.background = '#ddd';
	document.getElementById('gsm').style.border = '1px solid #bbb';
	document.getElementById('gsm').style.background = '#ddd';
	
	if(document.getElementById('tel').value == '')
	{
		c++;
	} else if(validateTel(document.getElementById('tel').value))
	{
		c++;
		temp++;
	} else {
		document.getElementById('tel').style.border = '1px solid red';
		document.getElementById('tel').style.background = '#F28D99';
	}
	
	if(document.getElementById('gsm').value == '')
	{
		if(temp == 1)
		{
			c++;
		}
	} else if(validateGSM(document.getElementById('gsm').value))
	{
		c++;	
	}else {
		document.getElementById('gsm').style.border = '1px solid red';
		document.getElementById('gsm').style.background = '#F28D99';
	}
	
	if(c == 2)
	{
		var ele = document.getElementById('betaling');
		ele.submit();
	} else {
		document.getElementById('tel').style.border = '1px solid red';
		document.getElementById('tel').style.background = '#F28D99';
		document.getElementById('gsm').style.border = '1px solid red';
		document.getElementById('gsm').style.background = '#F28D99';
		window.alert("Gelieve uw ingevulde gegevens na te kijken.");
		
		return false;
	}
		
}

function validateDate(d)
{
	var reg = new RegExp(/^\d{1,2}\/\d{1,2}\/\d{4}$/);
	var status = false;
	
	if(reg.test(d))
	{
		status = true;
	}
	
	return status;
	
}

function validateTel(t)
{
	var reg = new RegExp(/^(0\d\/\d{7}|0\d{2}\/\d{6})$/);
	var status = false;
	
	if(reg.test(t))
	{
		status = true;
	}
	
	return status;
}

function validateGSM(g)
{
	var reg = new RegExp(/^(0\d{3}\/\d{6})$/);
	var status = false;
	
	if(reg.test(g))
	{
		status = true;
	}
	
	return status;
}

