function isLeeg(veld) {
//retourneert true indien het veld leeg is
        return (veld.value == null || veld.value == "")
}

/*
function setRadioValue(radioVeld, waardeNieuw){
//RV 15-01-2002
//zet een radiobutton op de waardeNieuw.
//retourneert true als gelukt, anders false
   var found = false;
   for (var i = 0; radioVeld[i]; i++) {
       if (radioVeld[i].value == waardeNieuw) {
          radioVeld[i].click();
          found = true;
       }
   }
   return found;
}*/

function setSelectValue(selectVeld, waardeNieuw){
//RV 15-01-2002
//zet een radiobutton op de waardeNieuw.
//retourneert true als gelukt, anders false
   var found = false;
   for (var i = 0; selectVeld[i]; i++) {
       if (selectVeld[i].value == waardeNieuw) {
          selectVeld.selectedIndex = i;
          found = true;
       }
   }
   return found;
}

/*function checkedRadioButton(radioButton) {
/* RV 31122000
 * Retourneert van een radiobutton de input die checked is.
 * Maw de returnwaarde.value geeft de aangeklikte waarde.
 *//*
        var teller = 0;
        //teller < 1000 is voor de zekerheid toegevoegd ivm oneindige lus
        while (!radioButton[teller].checked && teller < 1000) {
                teller++;
        }
        return radioButton[teller]
}*/

function selectedSelectList(selectList) {
/* RV 31122000
 * Retourneert van een selectlist de input die selected is.
 * Maw de returnwaarde.value geeft de geselecteerde waarde.
 */
        var teller = 0;
        //teller < 1000 is voor de zekerheid toegevoegd ivm oneindige lus
        while (!selectList.options[teller].selected && teller <= selectList.length) {
                teller++;
        }

        if (selectList.options[teller].value == "") {
                selectList.options[teller].value = selectList.options[teller].text;
        }

        return selectList.options[teller]
}

/*
function isPosInteger(getal) {
// Deze functie controleert of een string een positieve integer is
//Retourneert true indien het een getal is.
        invoer = getal.toString()
        for (var i=0; i<invoer.length; i++) {
                var teken = invoer.charAt(i);
                if (teken < '0' || teken > '9') {
                        return false;
                }
        }
        return true;
}

function checkPosInteger(veld) {
// Deze functie checkt een positieve integers en geeft een melding als dit niet het geval is.
        var getal = veld.value;
        if        (!isPosInteger(getal)) {
                alert('Vult u alstublieft een getal in');
        }
}
*/

function isGeldigeDatum(datumVeld) {
/* RV 18.12.2000
 * Checkt of een datum veld een geldige waarde bevat.
 * Het geldige formaat hierbij is dd-mm-yyyy.
 * /, . of een spatie zijn hierbij geldige scheidingtekens.
 * Jaren ingevoerd als twee cijfers worden geconverteerd naar 20xx.
 * Als de waarde geldig wordt de geformateerde waarde in het veld gezet,
 * anders wordt een meldig gegeven.
 */
	//alleen controle op geldigheid indien het veld is gevuld
	if (datumVeld.value != '') {
		//maak een nieuw datum object aan en vult deze met deze datum; maand - 1 omdat januari maand 0 is
		var myDate = string2Date(datumVeld.value);
		//alert(myDate.getFullYear());

		//check de invoer
		if (myDate) {
				//zet de juiste waarde in het veld
				datumVeld.value = date2String(myDate);
				return true;
		} else {
				return false;
		}
	}
}

function setFocus()
// JK 19-03-2001
// Zet de cursor in het eerste veld van de eerste form
// RV 10-05-2001: generiek gemaakt zodat deze werkt op alle forms
// RV 07-10-2008: add code to skip any hidden fields
{	
	if (this.document.forms[0]) {
		for (i = 0; i < this.document.forms[0].elements.length; i++) {
			input = this.document.forms[0].elements[i];
			if (input.type != 'hidden') {
				input.focus();
				return;	//done
			}
		}
	}
}

/*
function addToFavorites() {
//RV 20010531
//Add autokm.nl to favorites
        browserName = navigator.appName;
        browserVer = parseInt(navigator.appVersion);
        if (browserName == "Microsoft Internet Explorer" && browserVer >= 4) {
                    window.external.AddFavorite("http://www.autokm.nl", "Autokm.nl - online kilometerregistratie");
        } else {
                alert("Gebruik Ctrl-D om een bookmark toe te voegen in Netscape");
        }
}
*/

function string2Date(datumString) {
/* RV 24.09.2001
 * Converteert een datumstring (dd-mm-yyyy) naar een Date-object
 * Moet alleen aangeroepen worden indien datum in juiste formaat
 * Returns null on error of ongeldige datum
 */
	if (datumString) {
		//formateer de invoer en bepaal waar de scheidingtekens staan staan
		var regularExp = /[\/\.\s]/g;
		var veldInhoud = datumString.replace(regularExp, "-");
		var parts = veldInhoud.split('-');
		
		if (parts.length == 2) {
			var now = new Date();
			parts[2] = now.getFullYear();	//todays year
		}
		
		if (parts[2]) {
			//bepaal de dag, maand, jaar
			var dag = parseInt(parts[0], 10);
			var maand = parseInt(parts[1], 10);
			var jaar = parseInt(parts[2], 10);
			
			//corrigeer jaar indien ingevoerd als twee cijfers
			if (jaar < 100) {
				jaar = jaar + 2000;
			}

			//maak een nieuw datum object aan en vult deze met deze datum; maand - 1 omdat januari maand 0 is
			var myDate = new Date(jaar, maand - 1, dag);
			
		    //alert("Date: " + myDate);
		    return myDate.getFullYear() ? myDate : null;
		}
	}
	return null;
}

function date2String(datum) {
/* RV 24.09.2001
 * Converteert een datumstring (dd-mm-yyyy) naar een Date-object
 */
    var datumString = '';

	if (datum) {
		var dag = datum.getDate();
		var maand = datum.getMonth() + 1;
		var jaar = datum.getFullYear();

		//als jaar geldig is dan zal de datum ook wel geldig zijn he
		if (jaar) {
			//zet de juiste waarde in het veld
			datumString = dag + "-" + maand + "-" + jaar;
		}
	}
	return datumString
}

function datumAdd(datumVeld, nDagen) {
/* RV 24.09.2001
 * Telt bij de datum in het veld n dagen op
 */
	if (datumVeld && nDagen && isGeldigeDatum(datumVeld)) {
		var datumValue = datumVeld.value;
		var datum = string2Date(datumValue)
		datum.setDate(datum.getDate() + nDagen);

		//zet de juiste waarde in het veld
		datumVeld.value = date2String(datum);
	}
	return true;
}

function datumAddMaanden(datumVeld, nMaanden) {
/* RV 24.09.2001
 * Telt bij de datum in het veld n dagen op
 */
	if (datumVeld && nMaanden && isGeldigeDatum(datumVeld)) {
		var datumValue = datumVeld.value;
		var datum = string2Date(datumValue)
		datum.setMonth(datum.getMonth() + nMaanden);

		//zet de juiste waarde in het veld
		datumVeld.value = date2String(datum);
	}
	return true;
}

function getWeekdag(pDatum) {
//RV 26.09.2001
//retourneert de afkorting van de dag van een datum
//zorgt er wel voor dat de invoer-datum geldig is (dd-mm-yyyy)

    Weekdag = "";
    //als gevuld en geldig
    if (pDatum) {
		var Datum = string2Date(pDatum);
		if (Datum) {
	       var Dagnr = Datum.getDay();
	       switch (Dagnr) {
	                        case 0 : Weekdag = "Zo"; break;
	                        case 1 : Weekdag = "Ma"; break;
	                        case 2 : Weekdag = "Di"; break;
	                        case 3 : Weekdag = "Wo"; break;
	                        case 4 : Weekdag = "Do"; break;
	                        case 5 : Weekdag = "Vr"; break;
	                        case 6 : Weekdag = "Za"; break;
	                }
		}
    }
    return Weekdag;
}

/*
function DISABLED_removeQuotes(pForm) {
//RV 3-1-2002
//verwijdert alle enkele en dubbele quotes uit alle tekst en tekstarea's
//van een form. Vraagt hierbij (eenmalig) om toestemming.

    //alert("Input: " + pForm);
    var isAkkoord = false;
    //regular expression: zoekt alle enkele of dubbele quotes in een string
    var regExp = /[\'\"]/g;
    //loop door alle velden
    for (var i = 0; pForm.elements[i]; i++) {
         veld = pForm.elements[i];
         //alert(veld + " " + i + " " + veld.name + " " + veld.type);
         //alleen de text en textarea's
         if (veld.type == 'text' || veld.type == 'textarea') {
             //als dit veld een ' of " bevat
             if (veld.value.search(regExp) >= 0) {
                 //als confirmation nog niet is gevraagd
                 if (!isAkkoord) {
                      //dan vraag een confirmation
                      isAkkoord = confirm("Een van de velden bevat een \' of een \".\n" +
                                     "Dit is niet toegestaan.\n" +
                                     "\n" +
                                     "Kunnen deze karakters worden verwijderd?"
                             );
                      if (!isAkkoord){
                           //dan stoppen we ook subiet
                           return false;
                      }
                 }
                 //doe dan hier de vervanging
                 if (isAkkoord) {
                     //alert("replace");
                     veld.value = veld.value.replace(regExp, "");
                 }
             }
         }
    }
    return true;
}
*/
/*
function getCssProperty(selectorText, propertyName) {
//RV 2002-09-16
//returns the property from the stylesheet with specified name
    var cssProperty;
    if (document.styleSheets) {
        //get cssRules; || is needed to fix a bug in MSIE;
        //second || is just in case both are not supported
        var cssRules = document.styleSheets[0].cssRules || document.styleSheets[0].rules || [];
        //now search for rule with defined name; start at the last item and work backwards
        for (var i = cssRules.length - 1; cssRules[i] && !cssProperty; i--) {
            if (cssRules[i].selectorText.toLowerCase() == selectorText.toLowerCase()) {
                cssProperty = cssRules[i].style[propertyName];
                //cssProperty = cssRules[i].style.color;
            }
        }
    }
    //alert (selectorText + ", " + propertyName + ", " + cssProperty);
    return cssProperty;
}
*/
