/* new op mei 2011  javascripts */

/* ################## CHECK CLIENT COMPUTER #################### */
/* whichBrowser */
var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = (userAgent.indexOf('opera') != -1);
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == "Apple Computer, Inc."));
var is_mac	  = (navigator.appVersion.indexOf("Mac") != -1);
var is_macPPC = (is_mac && (navigator.appVersion.indexOf("PPC") != -1 || navigator.appVersion.indexOf("PowerPC") != -1));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4    = ((is_ie) && (userAgent.indexOf("msie 4.") != -1));
var is_ie5    = ((is_ie) && (userAgent.indexOf("msie 5.") != -1));
var is_ie6    = ((is_ie) && (userAgent.indexOf("msie 6.") != -1));
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon    = (userAgent.indexOf('konqueror') != -1);
var is_ns     = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));
var is_ns5    = ((is_ns) && (parseInt(navigator.appVersion) == 5));
var is_safari  = (userAgent.indexOf('safari') != -1);
var is_ieMac  = ((is_macPPC) && (is_ie));

// catch possible bugs with WebTV and other older browsers
var is_regexp = (window.RegExp) ? true : false;

/* whichDOM */
var vbDOMtype = '';
if (document.getElementById){
	vbDOMtype = "std";
}else if (document.all){
	vbDOMtype = "ie4";
}else if (document.layers){
	vbDOMtype = "ns4";
}
/* END ###############CHECK CLIENT COMPUTER #################### */

/*globals*/
var newWindow;
var kennisWindow;
var antwoordObjecten = 0;
var url = "http://mijnpediatrie.praktischepediatrie.nl/content/webformulier.html";
var urlKennisWaarschuwing = "http://mijnpediatrie.praktischepediatrie.nl/content/opmerkingKennis.html";


function verstuurForm(event){
	if((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)){
		sendInfo('loginnaam','wachtwoord');
		return false;
	}else{
		return true;
	}
}
/********************
checking formulieren
*********************/
function sendInfo(){
var sendForm = document.NtForm;
var argumenten = sendInfo.arguments;
var checked = 0;

	if(argumenten.length>0){
		for(var i = 0; i < argumenten.length; i++){
			if(argumenten[i]=='vGeslacht'){
				if(!checkRadio(argumenten[i])){
					readyForSending = false;
					break;
				}else{
					readyForSending = true;
					checked = 1;
				}
			}
			if((argumenten[i]=='vEmail')||(argumenten[i]=='email')){
				if(!checkEmail(argumenten[i])){
					sendForm[argumenten[i]].focus();
					readyForSending = false;
					break;
				}else{
					readyForSending = true;
					checked = 1;
				}
			}
			
			if(argumenten[i]=='vBeroepsver'){
				if(!checkDropDown(argumenten[i])){
					readyForSending = false;
					break;
				}else{
					readyForSending = true;
					checked = 1;
				}
			}

			if(argumenten[i]=='vPostcode'){
				// postcode in nl?
				var index  = sendForm['vLand'].options.selectedIndex;
				var inputValue = sendForm['vLand'][index].value;
				if(inputValue=='NEDERLAND'){
					if(!checkPostcode(argumenten[i])){
						readyForSending = false;
						break;
					}else{
						readyForSending = true;
						checked = 1;
					}
				}
			}
			if(argumenten[i]=='vGeboortedatum'){
				if(!buildGeboortedatum(argumenten[i])){
					readyForSending = false;
					break;
				}else{
					readyForSending = true;
					checked = 1;
				}
			}
			if(argumenten[i]=='vNummer'){
				if(!checkNum(argumenten[i])){
					readyForSending = false;
					break;
				}else{
					checked = 1;
				}
			}
			
			if(argumenten[i]=='vTelefoon'){
				if(!checkTel(argumenten[i])){
					readyForSending = false;
					break;
				}else{
					readyForSending = true;
					checked = 1;
				}
			}
			if(argumenten[i]=='vFax'){
				if(!checkTel(argumenten[i])){
					readyForSending = false;
					break;
				}else{
					readyForSending = true;
					checked = 1;
				}
			}
			
			if(argumenten[i]=='factuurVerzend'){
				if(sendForm.factuurVerzend[1].checked){
					if(!factuurGegevens(argumenten[i])){
						readyForSending = false;
						break;
					}else{
						readyForSending = true;
						checked = 1;
					}
				}else{
					readyForSending = true;
					checked = 1;
				}
			}
			if(argumenten[i]=='akkoord'){
				if(!showVoorwaarden(argumenten[i])){
					readyForSending = false;
					break;
				}else{
					readyForSending = true;
					checked = 1;
				}
			}
			if(checked==0){
				if(!checkVerplicht(argumenten[i])){
					sendForm[argumenten[i]].focus();
					readyForSending = false;
					break;
				}else{
					readyForSending = true;
				}
			}
			checked=0;
		}
	}
	
	if(readyForSending) {
		
		if((sendForm.todo.value == "insAboData")||(sendForm.todo.value == "updateAboData")){
			dataPoetsen();
		}else{
			//skip it
		}
		sendForm.submit();
		
	} else {
		alert("Gegevens worden niet verstuurd!");
	}

}

function factuurGegevens(input){
var sendForm = document.NtForm;
var argumenten = new Array('fGeslacht','fVoorletters','fNaam','fAdres','fNummer','fPostcode','fWoonplaats','fTelefoon','fFax');
	
	for(var i = 0; i < argumenten.length; i++){
		if(argumenten[i]=='fGeslacht'){
			if(!checkRadio(argumenten[i])){
				readyForSending = false;
				break;
			}else{
				checked = 1;
			}
		}
		if(argumenten[i]=='fNummer'){
			if(!checkNum(argumenten[i])){
				readyForSending = false;
				break;
			}else{
				checked = 1;
			}
		}
		if(argumenten[i]=='fPostcode'){
			if(!checkPostcode(argumenten[i])){
				readyForSending = false;
				break;
			}else{
				checked = 1;
			}
		}
		if(argumenten[i]=='fTelefoon'){
			if(!checkTel(argumenten[i])){
				readyForSending = false;
				break;
			}else{
				checked = 1;
			}
		}
		if(argumenten[i]=='fFax'){
			if(!checkTel(argumenten[i])){
				readyForSending = false;
				break;
			}else{
				checked = 1;
			}
		}
		if(checked==0){
			if(!checkVerplicht(argumenten[i])){
				sendForm[argumenten[i]].focus();
				readyForSending = false;
				break;
			}else{
				readyForSending = true;
			}
		}
		checked=0;
	}
	
	if(readyForSending){
		return true;
	}else{
		return false;
	}
}

/* checkers */

/* controle radioknoppen boxes */
function checkRadio(input){
var allElements = document.getElementsByName(input);
	for (var i=0; i < allElements.length; i++) {
	    if(allElements[i].checked){
		return true;
		break;
	    }
	}
	if(input=="vGeslacht"){
		alert("Geslacht is een verplicht veld!");
	}
	if(input=="fGeslacht"){
		alert("Geslacht is een verplicht veld!");
	}
	return false;
}
/* controle invoer dropdown boxes */
function checkDropDown(input){
var sendForm = document.NtForm;
var index  = sendForm[input].options.selectedIndex;
var inputValue = sendForm[input][index].value;
	if(inputValue==0){
		if(input == 'vBeroepsver'){
			alert("U moet nog aangeven van welke beroepsvereniging u lid bent!");
		}else{
			alert("drop down niet gevuld")
		}
		return false;
	}
	return true;
}
function checkVerplicht(input){
var sendForm = document.NtForm;
	var checkStr = sendForm[input].value;
	if((checkStr=="")||(checkStr==null)){
		alert(sendForm[input].id +" is een verplicht veld!");
		return false;
	}
	return true
}

/* alleen nummers toegestaan */
function checkNum(input){
var sendForm = document.NtForm;
var checkStr = sendForm[input].value;
var checkNum = "0123456789 "; 
	for (i = 0;  i < (checkStr.length);  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkNum.length;  j++)
			if (ch == checkNum.charAt(j))
				break;
			if (j == checkNum.length){
				// loop is doorlopen en er is niets gevonden
				if(input=="vNummer"){
					alert("alleen cijfers toegestaan in het veld huisnummer(postadres)!");
				}
				if(input=="fNummer"){
					alert("alleen cijfers toegestaan in het veld huisnummer(factuuradres)!");
				}
				
				return false;
				break;
			}
	}
	return true
}
/* postcode controle */
function checkPostcode(input){
var sendForm = document.NtForm;
var checkNum = "0123456789"; 
var checkChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var checkStr = sendForm[input].value;
var allValid = true;
	if (checkStr.length==7){
		for (i = 0;  i < (checkStr.length-3);  i++){
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkNum.length;  j++)
				if (ch == checkNum.charAt(j))
					break;
				if (j == checkNum.length){
					allValid = false;
					break;
				}
		}
		for (i = 5;  i < checkStr.length;  i++){
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkChar.length;  j++)
				if (ch == checkChar.charAt(j))
					break;
				if (j == checkChar.length){	
					allValid = false;
					break;
				}
		}
		if (!allValid){
			    alert("Vul aub een correcte postcode in.");
			    return false;
		}
		return true;
	} else {
		alert("vul juiste postcode in 4 cijfers spatie 2 letters");
		return false;
	}
}
function checkTel(input){
var sendForm = document.NtForm;
	if((sendForm[input].value=="")||(sendForm[input].value==null)){
		// veld is niet verplicht
		sendForm[input].value = 0;
		return true;
	}else{
		var checkOK = "0123456789-/ ";
		var checkStr = sendForm[input].value;
		var allValid = true;
		for (i = 0;  i < checkStr.length;  i++){
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
				if (ch == checkOK.charAt(j))
					break;
				if (j == checkOK.length){
					allValid = false;
			 		break;
				}
			}
		if (!allValid){
		    sendForm[input].focus();
		    alert("Vul aub alleen cijfers en verbindingstekens voor het telefoonnummer in.");
   		 	return false;
		}
		return true
	}
}
function checkEmail(input){
var sendForm = document.NtForm;
var email=sendForm[input].value;

	if (email == '' || ((email.indexOf('@', 0) == -1) ||(email.indexOf('.', 0) == -1))){
		alert ("Vul een geldig email-adres in!");
		return false;
	}	
	return true;
}

function buildGeboortedatum(){
var sendForm = document.NtForm;
	if((sendForm.vGeboortejaar.value=="0000")||(sendForm.vGeboortejaar.value=="")){
		sendForm.vGeboortedatum.value = "0000-00-00";
	}else{
		/* waarde van geboorteDatum */
		if(sendForm.vGeboortejaar.value!=""){
			var tmpJaar = sendForm.vGeboortejaar.value;
			var tmpMaand = sendForm.vGeboortemaand.value;
			var tmpDag = sendForm.vGeboortedag.value;
			if(tmpMaand.length==1){
				tmpMaand = "0"+ tmpMaand;
			}
			if((tmpMaand > 12)&&(readyForSending)){
				alert("geboortdatum is niet juist ingevoerd!");
				sendForm.vGeboortedag.focus();
				return false;
			}
			if(tmpDag.length==1){
				tmpDag = "0"+ tmpDag;
			}
			if((tmpDag > 31)&&(readyForSending)){
				alert("geboortdatum is niet juist ingevoerd!");
				sendForm.vGeboortedag.focus();
				return false;
			}
			if(tmpJaar.length==2){
				tmpJaar = "19"+ tmpJaar;
			}
			tmpVerjaardag = tmpJaar +"-"+ tmpMaand +"-"+ tmpDag;
			sendForm.vGeboortedatum.value = tmpVerjaardag;
		}
	}
	return true;
}
function showVoorwaarden(input){
	if(document.getElementById(input).checked == true){
		return true;
	}else{
		var r=confirm("Gaat u akkoord met de algemene voorwaarden?");
		if (r==true){
			return true;
		}else{
			return false;
		}
	}
}
function dataPoetsen(){
var sendForm = document.NtForm;
	sendForm.vNaam.value = ucfirst(sendForm.vNaam.value);
	sendForm.vAdres.value = ucfirst(sendForm.vAdres.value);
	sendForm.vWoonplaats.value = sendForm.vWoonplaats.value.toUpperCase();
	sendForm.vOrganisatie.value = ucfirst(sendForm.vOrganisatie.value);
	/* waarde van het landCode */
	sendForm.vLandcode.value = landen[sendForm.vLand.options.selectedIndex].landCode;

}	

function ucfirst (str) {
    var f = str.charAt(0).toUpperCase();
    return f + str.substr(1);
}
/********************
einde checking formulieren
*********************/

/********************
verander inlog gegevens
*********************/
function changeLoginValues(){
var sendForm = document.NtForm;
readyForSending = true;
readySendBox = true;

	if(sendForm.loginCheck.checked){
		sendForm.chgLogin.value = sendForm.loginCheck.value;
		if(!checkVerplicht('loginnaamOld')){
			sendForm.loginnaamOld.focus();
			readyForSending = false;
		} else if(!checkVerplicht('iInlog')){
			sendForm.iInlog.focus();
			readyForSending = false;
		}
	}else{
		if(checkFilled('iInlog')){
			alert("U dient het verander Loginnaam nog aan te vinken!");
			readySendBox = false;
			readyForSending = false;
		}
	}
	if(sendForm.wwoordCheck.checked){
		sendForm.chgWwoord.value = sendForm.wwoordCheck.value;
		if(!checkVerplicht('wwoordOld')){
			sendForm.wwoordOld.focus();
			readyForSending = false;
		} else if(!checkVerplicht('iPassw')){
			sendForm.iPassw.focus();
			readyForSending = false;
		} else if(!checkVerplicht('wwoordRetype')){
			sendForm.wwoordRetype.focus();
			readyForSending = false;
		} else if(sendForm.wwoordRetype.value!=sendForm.iPassw.value){
			sendForm.wwoordRetype.value="";
			sendForm.wwoordRetype.focus();
			readyForSending = false;
			alert("nieuwe en herhaalde wachtwoord komen niet overeen!")
		}
	}else{
		if(checkFilled('iPassw')){
			alert("U dient het verander wachtwoord nog aan te vinken!");
			readySendBox = false;
			readyForSending = false;
		}
	}
	if(readySendBox){
		if ((!sendForm.wwoordCheck.checked)&&(!sendForm.loginCheck.checked)){
			readyForSending = false;
			alert("u dient een van de checkboxen aan te vinken!")
		}
	}		
	if(!checkVerplicht('vEmail')){
		sendForm.vEmail.focus();
		readyForSending = false;
	}
	if(readyForSending){
		sendForm.submit();
	}
}

function checkFilled(input){
var sendForm = document.NtForm;
	var checkStr = sendForm[input].value;
	if(checkStr!=""){
		return (true);
	}
	return false;
}

/********************
einde verander inlog gegevens
*********************/

/********************
 webformulier
*********************/
function openBrWindow() {
	if (!newWindow || newWindow.closed){
		newWindow = window.open(url,'newWindow','width=650,height=750,scrollbars=AUTO');
		newWindow.focus();
	} else {
		//window's already open: bring to focus
		newWindow.focus();
		newWindow = window.open(url,'newWindow','width=650,height=750,scrollbars=AUTO');
	}
}
function openKennisWindow() {
	if (!kennisWindow || kennisWindow.closed){
		kennisWindow = window.open(urlKennisWaarschuwing,'kennisWindow','width=750,height=450,scrollbars=NO');
		kennisWindow.focus();
	} else {
		//window's already open: bring to focus
		kennisWindow.focus();
		kennisWindow = window.open(urlKennisWaarschuwing,'kennisWindow','width=750,height=450,scrollbars=NO');
	}
}

/********************
 kennistoetsen
*********************/
function startKennis(input){
var sendForm = document.NtForm;
var readyForSending = false;
var noAnswer = false;
var idNummer;
var vragen;

var pres = whichBtn(sendForm["vraag"]);

	if(pres===false){
		alert("U heeft nog geen vraagreeks geselecteerd!");
		noAnswer = true;
		readyForSending = false;
	}else{
		/* undefined --> 1 radioknop */
		if(sendForm["vraag"].length===undefined){
			idNummer = vraagReeksen[0].idNummer;
			readyForSending = true;
		}else{
			var valRadio = sendForm["vraag"][pres].value;
			idNummer = vraagReeksen[valRadio].idNummer;
			if(input=='toonRubriek'){
				vragen = vraagReeksen[valRadio].aantalVragen;
			}
			readyForSending = true;
		}
	}
	
	if(readyForSending){
		/* niet nodig voor Pediatrie
		if(input=='showKennis'){
			openKennisWindow();
		}
		*/
		startToets(idNummer,vragen,input);
	} else if(noAnswer){
		// just skip it
	} else {
		alert("fout 1.1 bij versturen van gegevens")
	}
}



function startToets(input,reeks,caller){
var sendForm = document.NtForm;
	if(caller=='toonRubriek'){
		sendForm.whichToets.value=input;
		sendForm.vragenInReeks.value=reeks;
	}else{
		sendForm.kennistoets.value=input;
	}
	sendForm.submit();
	
	
}

function whichBtn(buttonGroup){
// is er wel op een radioknop gedrukt
	// undefined --> er is maar een radioknop
	if(buttonGroup.length===undefined){
		if(buttonGroup.checked){
			return buttonGroup.value;
		}else{
			return false;
		}
	}else{
		for(var i=0; i<buttonGroup.length;i++){
			if(buttonGroup[i].checked){
				return i;
			}
		}
		return false;
	}
}

function sendCasus(){
var sendForm = document.kennisCasus;
	sendForm.submit();
}
function sendCertificaat(){
var sendForm = document.kennistoetsInsturen;
	sendForm.submit();
}
function eindeToets(){
var sendForm = document.kennistoetsEinde;
	sendForm.submit();
}
function vraagOverzicht(){
var sendForm = document.overzichtVragen;
	sendForm.submit();
}
function maakKennis(){
var sendForm = document.NtForm;
	sendForm.submit();
}

function beginKennistoets(){
var sendForm = document.beginToets;
	sendForm.submit();
}

function bekijkKennistoets(){
var sendForm = document.bekijkToets;
	sendForm.submit();
}

function bekijkKlantgegevens(){
var sendForm = document.bekijkGegevens;
	sendForm.submit();
}

function veranderKlantgegevens(){
var sendForm = document.veranderGegevens;
	sendForm.submit();
}

function bevestigVraag(){
var sendForm = document.NtForm;
var readyForSending = false;
var sendArray = new Array();
 
var pres = whichBtn(sendForm["vraag"]);
	if(pres===false){
		alert("U heeft nog geen antwoord gegeven");
		readyForSending = false;
	}else{
		var valRadio = sendForm["vraag"][pres].value;
		var name = "vraag"+sendForm.whichVraag.value;
		sendArray[0]= name+"="+valRadio;
		readyForSending = true;
	}
	var tmpContent = sendArray.join("");
	
	if(readyForSending){
		sendForm.sendString.value = tmpContent;
		sendForm.submit();
	}
}

/**********************
start sub dreamweavers
*********************/
function findObj(n, d) { 
  var p,i,x;  
	if(!d){ 
		d=document;
	}
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
    	d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
  	if(!(x=d[n])&&d.all){
		x=d.all[n]; 
	}
	for (i=0;!x&&i<d.forms.length;i++){ 
		x=d.forms[i][n];
	}
  	for(i=0;!x&&d.layers&&i<d.layers.length;i++){
		x=findObj(n,d.layers[i].document);
	}
  	if(!x && d.getElementById){
		x=d.getElementById(n); 
	}
	return x;
}


function showHideLayers(objNum,p,v) { 
	//first hide all vraaglayers
	hideObject();
	//druk laag naar beneden
	pushLayerDown(objNum);
	
	var objName = "vraag_";
	var inputObject = objName+objNum;
		if ((obj=findObj(inputObject))!=null) { 
    		if (obj.style) {
			obj=obj.style;	 
			if(obj.visibility=='visible'){
				obj.visibility='hidden';
			}else{
				obj.visibility='visible';
			}
		}
	}

}
function hideObject(){
//hideLayers
var objName = "vraag_";
	for(i=1;i<(antwoordObjecten+1);i++){
	var inputObject = objName+i;
		if ((obj=findObj(inputObject))!=null){ 
			if (obj.style){ 
				obj=obj.style;
				obj.visibility='hidden';
			}
		}
	}
}
function pushLayerDown(objNum){
// allereerst worden de lagen hersteld in orginele positie
	for(i=1;i<(antwoordObjecten+1);i++){
		var inputObject = "antwoord_"+i;
		if ((obj=findObj(inputObject))!=null){ 
			if (obj.style){
				obj=obj.style;
				obj.zIndex = 2;
			}
		}
	}
	// dan worden alle lagen naar beneden gedrukt
	for(i=(objNum+1);i<(antwoordObjecten+1);i++){
		var inputObject = "antwoord_"+i;
		if ((obj=findObj(inputObject))!=null){ 
			if (obj.style){
				obj=obj.style;
				obj.zIndex = 1;
			}
		}
	}
}
function countObj(inputObj){
// tel de antwoordobjecten 100 is fictief
	for(i=1;i<100;i++){
	var inputObject = inputObj+i;
		if ((obj=findObj(inputObject))!=null){ 
				antwoordObjecten++;
		}else{
			break;
		}
	}
}


/********************
 einde kennistoetsen
*********************/

/********************
 print pagina
*********************/
/* Next is all for printing Page*/
var da = (document.all) ? 1 : 0;
var pr = (window.print) ? 1 : 0;
var mac = (navigator.userAgent.indexOf("Mac") != -1); 

function printPage(frame, arg) {
  if (frame == window) {
    printThis();
  } else {
    link = arg; // a global variable 
    printFrame(frame);
  }
}

function printThis() {
  if (pr) { // NS4, IE5
    window.print();
  } else if (da && !mac) { // IE4 (Windows)
    vbPrintPage();
  } else { // other browsers
    alert("Sorry, your browser doesn't support this feature.");
  }
}

function printFrame(frame) {
  if (pr && da) { // IE5
    frame.focus();
    window.print();
    link.focus();
  } else if (pr) { // NS4
    frame.print();
  } else if (da && !mac) { // IE4 (Windows)
  	alert("waiting to print")
    frame.focus();
    setTimeout("vbPrintPage(); link.focus();", 100);
  } else { // other browsers
    alert("Sorry, your browser doesn't support this feature.");
  }
}

if (da && !pr && !mac) with (document) {
  writeln('<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>');
  writeln('<' + 'SCRIPT LANGUAGE="VBScript">');
  writeln('Sub window_onunload');
  writeln('  On Error Resume Next');
  writeln('  Set WB = nothing');
  writeln('End Sub');
  writeln('Sub vbPrintPage');
  writeln('  OLECMDID_PRINT = 6');
  writeln('  OLECMDEXECOPT_DONTPROMPTUSER = 2');
  writeln('  OLECMDEXECOPT_PROMPTUSER = 1');
  writeln('  On Error Resume Next');
  writeln('  WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER');
  writeln('End Sub');
  writeln('<' + '/SCRIPT>');
}
/********************
 einde print pagina
*********************/

