var win=null;
var form = document.getElementById('form_aanmelden');

function GetInfo()
{
	return true;
	f_info.style.display="block";
	s_info.innerText='Text here';
}

function veldfocus(veld)
{
	veld.select();
	veld.style.backgroundColor = '#FFFF00';
}
function veldfocusout(veld)
{
	veld.style.backgroundColor = '#FFFFFF';
}

function calcu()
{
	var prijs = 0;
	if (form_aanmelden != null)
	{
		if (form_aanmelden.wiebetaald.value != 'A')
		{
			for (i=0; i < form_aanmelden.length; i++)
			{
				if (form_aanmelden[i].ARTIKEL == 'J')
				{
					if ((form_aanmelden[i].checked) && (!form_aanmelden[i].disabled))
					{
						prijs += (form_aanmelden[i].PRIJS * 1);
					}
				}
			}
		}
	}
	
	var regexp = '\.';
	var bron = prijs + '';
	bron = bron.replace(regexp, ',');
	if (window.s_prijs != null) { s_prijs.innerHTML = formatcijfer(bron, 2, 0); }
}

function formatcijfer(bron, decimals, sign)
{
	var regexp;
	
	if (bron == '') { bron = '0'; }
	if (bron.substring(0, 1) == ',') { bron = '0' + bron; }
	bron = cijfersonly(bron, sign);
	
	if (decimals > 0)
	{
		regexp = '\,';
		bron = bron.replace(regexp, '.'); // vervang komma door een punt.
		var s = bron.indexOf(".");
		if (s == -1)
		{
			bron += ',';
			var cijfers_achter_komma = 0;
		}
		else
		{
			var cijfers_achter_komma = bron.length - s - 1;
		}
		for (i = cijfers_achter_komma; i < decimals; i++)
		{
			bron += '0';
		}
	}
	if (decimals == 0)
	{
		// afkappen wat er is
		regexp = '\,';
		bron = bron.replace(regexp, '.'); // vervang komma door een punt.
		var s = bron.indexOf(".");
		if (s > -1)
		{
			bron = bron.substring(0, s);
		}
	}
	regexp = '\.';
	bron = bron.replace(regexp, ','); // vervang punt door een komma.
	return bron;
}

function cijfersonly(bron, sign)
{
	var regexp;
	var deeltekst = '';
	var gevonden_kommas = 0;
	
	if (sign == '1')
	{ regexp = /[^0-9,]/g; }
	else
	{ regexp = /[^0-9,-]/g; }
	bron = bron.replace(regexp, '');
	
	// er mag maar 1 komma ingevoerd worden.
	for (i=0; i <= bron.length; i++)
	{
		deeltekst = bron.substring(i, 1);
		if (deeltekst == ',')
		{ gevonden_kommas = gevonden_kommas + 1; }
	}
	if (gevonden_kommas > 1) { alert('teveel kommas'); }
	return bron;
}

	function onlynum()
	{
		caller=event.srcElement;
		if(caller.value!='')
		{
			if(/[^0-9]/.test(caller.value))
			{
  				caller.value = caller.value.replace(/([^0-9])/g,"");
			}
			
		}
	}


//msgcount=0;

//CHECK FOR ALL SPACES

function trimAll(strValue)
{
   objRegExp = /^(\s*)$/;
   if(objRegExp.test(strValue))
   {
      strValue = strValue.replace(objRegExp,'');
      if(strValue.length==0)
	  {
	  	  return strValue;
	  }
   }
   else
   {
      //CHECK FOR LEADING AND TRAILING SPACES
      objRegExp = /^\s+|\s+$/g;
      if(objRegExp.test(strValue))
      {
         strValue = strValue.replace(objRegExp,'');
      }
	  else
	  {
	      ''
	  }
	  
 	  //CHECK FOR MORE THAN ONE SPACE                             
	  objRegExp = /\s{2,}/g;
	  if(objRegExp.test(strValue))
	  {
         strValue = strValue.replace(objRegExp,' ');
         return strValue;
      }
	  else
	  {
         return strValue;
	  }       
   }
}

function checkData()
{
    fieldstring='';
    ma=form_aanmelden.elements;
    mal=form_aanmelden.elements.length;

    //RESET BACKGROUNDCOLOR AND MESSAGE
    for (i=0;i<mal;i++)
    {
        form_aanmelden.elements[i].style.backgroundColor='white';
    }
    txtcount=0;

    //CONTROLEER OF ER LEGE VERPLICHTE VELDEN ZIJN
    for (var j=0;j<mal;j++)
    {
        name=form_aanmelden.elements[j].parentElement.parentElement.children[0].innerText;
        form_aanmelden.elements[j].value=trimAll(form_aanmelden.elements[j].value)
       
        if (  (form_aanmelden.elements[j].value == '')
			&&(form_aanmelden.elements[j].type=='text')
        	&&(form_aanmelden.elements[j].name!='_FAX')
        	&&(form_aanmelden.elements[j].name!='_MOBIEL')
        	&&(form_aanmelden.elements[j].name!='_BNKREK')
        	&&(form_aanmelden.elements[j].name!='_GIRO')
        	&&(form_aanmelden.elements[j].name!='_GIRONAAM')
        	&&(form_aanmelden.elements[j].name!='_BTWNR')
        	&&(form_aanmelden.elements[j].name!='_BNKSOORT')
        	&&(form_aanmelden.elements[j].name!='')
        	)
			{
				fieldstring+=name+'\n';
				form_aanmelden.elements[j].style.backgroundColor='yellow';
			}
    }
    
	if ((form_aanmelden._GESLACHT != null) && (tr_aanmelden.style.display == ''))
	{
		if ((!form_aanmelden._GESLACHT[0].checked) && (!form_aanmelden._GESLACHT[1].checked))
		{
				fieldstring += 'Vul aub uw geslacht in.\n';
		}
	}    
	if ((form_aanmelden.BNKSOORT != null) && (tr_aanmelden.style.display == ''))
	{
		if ((form_aanmelden._BNKREK.value == '') && (form_aanmelden._GIRO.value == '')) { fieldstring += 'U moet ofwel een bankrekening, of een girorekening invullen.\n'; }
		
		if (form_aanmelden.BNKSOORT[0].checked)
		{
			if (form_aanmelden._BNKREK.value != '')
			{
				if (!elfproef(form_aanmelden._BNKREK.value)) { return false; }
			}
			else
			{
				fieldstring += 'U moet het bankrekeningnummer nog invullen.\n';
			}
		}
		if (form_aanmelden.BNKSOORT[1].checked)
		{
			if (form_aanmelden._GIRO.value != '')
			{
				if (form_aanmelden._GIRONAAM.value == '')
				{
					fieldstring += 'U moet de tenaamstelling nog invullen.\n';
				}
			}
			else
			{
				fieldstring += 'U moet het girorekeningnummer nog invullen.\n';
			}
		}
	}

	if (tr_aanmelden.style.display == '')
	{
		var minstenseen = false;
		for (i=0; i < form_aanmelden.length; i++)
		{
			if ((form_aanmelden[i].checked) && (form_aanmelden[i].ARTIKEL == 'J')) { minstenseen = true; }
		}
		if (!minstenseen) { fieldstring += 'U moet minstens 1 module aanvinken.\n'; }
	}
    
	if (tr_demo.style.display == '')
	{
		var minstenseen = false;
		for (i=0; i < form_aanmelden._CONTRACT_DEMO_ONLINE.length; i++)
		{
			if (form_aanmelden._CONTRACT_DEMO_ONLINE[i].checked) { minstenseen = true; }
		}
		for (i=0; i < form_aanmelden._CONTRACT_DEMO_TS.length; i++)
		{
			if (form_aanmelden._CONTRACT_DEMO_TS[i].checked) { minstenseen = true; }
		}
		if (!minstenseen) { fieldstring += 'U moet minstens 1 module aanvinken.\n'; }
	}
	else
	{
		// controleer dat er een module aangevinkt is.
		var minstenseen = false;
		if (document.all._CONTRACT_DEMO_TS[0].checked) { minstenseen = true; }
		if (document.all._CONTRACT_DEMO_TS[1].checked) { minstenseen = true; }
		if (document.all._CONTRACT_DEMO_TS[2].checked) { minstenseen = true; }
		if (document.all._CONTRACT_DEMO_TS[3].checked) { minstenseen = true; }
		if (document.all._DEMO_IM_ONLINE.checked) { minstenseen = true; }
		if (!minstenseen) { fieldstring += 'U moet minstens 1 module aanvinken.\n'; }
	}

    if (document.all._AFD != null)
    {
        if (document.all._AFD.selectedIndex == 0) { fieldstring += 'De vestiging moet nog gekozen worden.\n'; }
    }

    //MAAK MELDING VAN LEGE VERPLICHTE VELDEN
    if (fieldstring!='')
    {
        alert('De volgende velden moeten nog worden ingevuld:\n'+fieldstring);
        return false;
    }
    else
    {
		if (tr_demo.style.display == '')
		{
			if ((!form_aanmelden._DEMO_IM_ONLINE.checked) && (!form_aanmelden._DEMO_IM_TS.checked))
			{
				alert('Wilt u Web-based en/of Web-enabled werken?');
				return false;
			}
		}
		if (form_aanmelden._GESLACHT != null)
		{
			if ((!form_aanmelden._GESLACHT[0].checked) && (!form_aanmelden._GESLACHT[1].checked))
			{
				alert('Het veld aanhef is nog niet ingevuld.');
				return false;
			}
		}
		if (!checktext()) { return false; }
		if (!checkpostcode()) { return false; }
		if (!checkpostcode()) { return false; }
		if (!checkphonefax()) { return false; }
		if (!checkbank()) { return false; }
		if (!checkmail()) { return false; }
		if (!checkbank()) { return false; }
		if (!checkvoorwaarden()) { return false; }
		return true;
    }
}

//CONTROLEER OP LETTERS
function checktext()
{
    names=/[a-zA-Z]/;
    bed=form_aanmelden._NAAM1.value;
    
    if ((!names.test(bed))&&(!bed==''))
    {
        txtcount=1;
        form_aanmelden._NAAM1.focus();
        form_aanmelden._NAAM1.style.backgroundColor='yellow';
    }
    naco=form_aanmelden._NAAM2.value;
    
    if((!names.test(naco))&&(!naco==''))
    {
        txtcount=1;
        form_aanmelden._NAAM2.focus();
        form_aanmelden._NAAM2.style.backgroundColor='yellow';
    }

    if (form_aanmelden._ADRES)
    {
        straat=form_aanmelden._ADRES.value;
        if(!names.test(straat))
        {
            txtcount=1;
            form_aanmelden._ADRES.focus();
            form_aanmelden._ADRES.style.backgroundColor='yellow';
        }
    }
    
    if (form_aanmelden._PLAATS)
    {
        wplaats=form_aanmelden._PLAATS.value;
        if(!names.test(wplaats))
        {
            txtcount=1;
            form_aanmelden._PLAATS.focus();
            form_aanmelden._PLAATS.style.backgroundColor='yellow';
        }
    }

    if(txtcount>0)
    {
        alert('In een bedrijfsnaam, contactpersoon, straatnaam en/of plaatsnaam behoren ook letters voor te komen.');
        return false;
    }
    else
    {
        return true;
    }
}

//CONTROLEER INGEVULDE POSTCODE
function checkpostcode()
{
    if (!form_aanmelden._POSTCD) 
    {
     return true;
    }
    else
    {
    postcode=form_aanmelden._POSTCD.value;
    pcreg=/[0-9]{4}(\s)?[a-zA-Z]{2}/;
    if(pcreg.test(postcode))
    {
        return true;
    }
    else
    {
        form_aanmelden._POSTCD.focus();
        form_aanmelden._POSTCD.style.backgroundColor='yellow';
        alert('De ingevulde postcode is niet correct.');
        form_aanmelden._POSTCD.focus();
        return false;
    }
}
}

//CONTROLEER INGEVULD TELEFOONNUMMER EN FAXNUMMER
function checkphonefax()
{
   if (!form_aanmelden._TEL) 
   { 
        return true;
   }
   
   telefoon=form_aanmelden._TEL.value;
   faxnr=form_aanmelden._FAX.value;
   
   nrs=/([()+-]{0,2}\d){10,}/;

   if (nrs.test(telefoon))
   {
       if((form_aanmelden._FAX)&&(form_aanmelden._FAX.value!=''))
       {
       if (nrs.test(faxnr))
            {
                return true;
            }
            else
            {
                form_aanmelden._FAX.style.backgroundColor='yellow';
                form_aanmelden._FAX.focus();
                alert('*Het ingevulde faxnummer is niet correct.\n*Het veld Faxnummer mag leeg blijven.\n*U kunt in dit veld alleen cijfers invoeren.\n*Een telefoon- of faxnummer bestaat uit minstens 10 cijfers.');
		        return false;
            }
        }
        else
        {
            return true;
        } 
   }
   else
   {
        form_aanmelden._TEL.style.backgroundColor='yellow';
        form_aanmelden._TEL.focus();
        alert('Het ingevulde telefoonnummer is niet correct.\nU kunt in dit veld alleen cijfers invoeren.\nEen telefoon- of faxnummer bestaat uit minstens 10 cijfers.');
        return false;
   }
}


function checkbank()
{
	if (tr_demo.style.display = '') { return true; }
	if (form_aanmelden.BNKSOORT == null) { return true; }
	
	if(form_aanmelden.BNKSOORT[0].checked==true)
	{
		ec=0;
		agetal=0;
		tempgetal=0;
		showstring='';
		getal=form_aanmelden._BNKREK.value;
		nrs=/[^0-9]/;
		
		if((getal.length!=9)||(nrs.test(getal)))
		{
			alert('Een bankrekeningnummer dient uit negen cijfers te bestaan.\nDit nummer bestaat uit '+getal.length+' cijfers en/of andere tekens.');
	        return false;
		}
		else
		{
			for (i=0;i<getal.length;i++)
			{
				agetal+=(getal.substring(1+i,i))*(getal.length-i);
			}
			
			if (agetal%11!=0)
			{
				alert('Bankrekening '+getal+' voldoet NIET aan de elfproef.\nControleer het ingevulde bankrekeningnummer.');
		        return false;
			}
			else
			{
				return true;
			}
		}
	}
	else
	{
		if ((form_aanmelden.BNKSOORT[1].checked)&&((form_aanmelden._GIRONAAM.value.length==0)||(form_aanmelden._GIRO.value==0)))
		{
			alert('Voor een automatische incasso van een girorekening\ndient u een girorekeningnummer en\nde tenaamstelling van de girorekening in te vullen.');
			return false;
		}
		else
		{
			return true;
		}
	}	
}

//CONTROLEER INGEVULD Emailadres
function checkmail()
{
    /*
    if ((form_aanmelden._EMAIL.id != 'req')&&(form_aanmelden._EMAIL.value==''))
    {
         return true;
    }
   */
    em=form_aanmelden._EMAIL.value;
    emex=/\b[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9]{2,4}\b/;
    if (!emex.test(em))
	{
        form_aanmelden._EMAIL.style.backgroundColor='yellow';
        form_aanmelden._EMAIL.focus();
        alert('Het ingevulde e-mailadres is geen geldig e-mailadres.');
        return false;
	}
	else
	{
		return true;
    }
}

function checkvoorwaarden()
{
	if (tr_aanmelden.style.display == '')
	{
		if(form_aanmelden.AKKOORD.checked==false)
		{
			alert('U dient zich akkoord te verklaren met de leveringsvoorwaarden.');
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		return true;
	}
}

function NewWindow(mypage,myname,w,h,scroll,pos)
{
	if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
	if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
	else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
	if (win != null) { if (!win.closed) { win.close(); } }
	win=window.open(mypage,myname,settings);
}

function elfproef(bankrek)
{
	var ec = 0;
	var abankrek = 0;
	var tempbankrek = 0;
	var showstring = '';
	var nrs = /[0-9]/;
	if (!nrs.test(bankrek))
	{
		alert('Een bankrekeningnummer mag alleen uit cijfers bestaan.');
		return false;
	}
	if (bankrek.length != 9)
	{
		alert('Een bankrekeningnummer dient uit negen cijfers te bestaan.');
		return false;
	}
	
	for (i=0; i < bankrek.length; i++)
	{
		abankrek += (bankrek.substring(1+i,i))*(bankrek.length-i);
	}
	if (abankrek % 11 != 0)
	{
		alert('Bankrekening ' + bankrek + ' is GEEN geldig Nederlands bankrekeningnummer.\nControleer het ingevulde bankrekeningnummer.');
		return false;
	}
	var foutebankrekeningen = ['123456789', '000000000'];
	for (var i=0; i < foutebankrekeningen.length; i++)
	{
		if (foutebankrekeningen[i] == bankrek)
		{
			alert('Bankrekening ' + bankrek + ' is GEEN geldig Nederlands bankrekeningnummer.\nControleer het ingevulde bankrekeningnummer.');
			return false;
		}
	}
	return true;
}

function naarpolis()
{
	var url = '';
	url += '&NAAM1=' + form_aanmelden._NAAM1.value;
	url += '&ADRES=' + form_aanmelden._ADRES.value;
	url += '&POSTCD=' + form_aanmelden._POSTCD.value;
	url += '&PLAATS=' + form_aanmelden._PLAATS.value;
	return url;
}
