// Generated Tue, 22 Apr 2008 13:37:37 +0200

// Validation functions


// Callable: is_base
function is_base(value, context) {
    var f = function(value, context) {return true; };
    if (f(value, context)===true) return true;
    return 'base';
}

// Callable: new AjaxValidator('ajax', )


// Callable: is_date
function is_date(value, context) {
    var f = function(value, context) {    var d = parseInt(value.day);
    if (!d) return true;
    var m = parseInt(value.month)-1;
    var y = parseInt(value.year);
    var dte = new Date(y,m,d);
    return (dte.getDate()==d) && (dte.getMonth()==m) && (dte.getFullYear()==y); };
    if (f(value, context)===true) return true;
    return 'date';
}

// Callable: function(value) { return is_maximumdate( new Date(parseInt(value.year), parseInt(value.month), parseInt(value.day)), , , ); }
function is_maximumdate(thevalue, y,m,d) { if(thevalue > new Date(y,m,d)) return VALIDATION_MESSAGES.date; return true; }

// Callable: function(value) { return is_minimumdate( new Date(parseInt(value.year), parseInt(value.month), parseInt(value.day)), , , ); }
function is_minimumdate(thevalue, y,m,d) { if(thevalue < new Date(y,m,d)) return VALIDATION_MESSAGES.date; return true; }

// Callable: is_validchoice
function is_validchoice(value, context) {
    var f = function(value, context) {return true; };
    if (f(value, context)===true) return true;
    return 'validchoice';
}

// Callable: is_choicerequired
function is_choicerequired(value, context) {
    var f = function(value, context) {return (typeof value=='object' && typeof value['none'] == 'undefined') || (value.length&&value.length>0); };
    if (f(value, context)===true) return true;
    return 'required';
}

// Callable: function(value) { return is_choicevalue(value, ''); }
function is_choicevalue(value, target) { if ( (typeof value=='object' && value[target] != null) || (value.length&&value==target)) return true; return VALIDATION_MESSAGES.choicevalue; }

// Callable: is_multichoicerequired
function is_multichoicerequired(value, context) {
    var f = function(value, context) {if(typeof value=='string')return value.length>0;for(var x in value) { if (typeof value[x] == 'function') continue; if (value[x]===x) return true; } return false; };
    if (f(value, context)===true) return true;
    return 'multichoicerequired';
}

// Callable: is_filev2required
function is_filev2required(value, context) {
    var f = function(value, context) {return value.hasfile==1; };
    if (f(value, context)===true) return true;
    return 'filerequired';
}

// Callable: is_filerequired
function is_filerequired(value, context) {
    var f = function(value, context) {return (!!value)&&(value.length>0); };
    if (f(value, context)===true) return true;
    return 'filerequired';
}

// Callable: 


// Callable: 


// Callable: 


// Callable: 


// Callable: 


// Callable: 


// Callable: 


// Callable: is_mustbetrue
function is_mustbetrue(value, context) {
    var f = function(value, context) {if (typeof value == 'object') for(k in value) { if (typeof value[k] == 'function') continue; value = value[k]; break; }; return parseInt(value)===1; };
    if (f(value, context)===true) return true;
    return 'mustbetrue';
}

// Callable: is_mustbefalse
function is_mustbefalse(value, context) {
    var f = function(value, context) {if (typeof value == 'object') for(k in value) { if (typeof value[k] == 'function') continue; value = value[k]; break; }; return parseInt(value)===0; };
    if (f(value, context)===true) return true;
    return 'mustbefalse';
}

// Callable: new AjaxValidator('unique', )


// Callable: is_geo
function is_geo(value, context) {
    var f = function(value, context) {var r = /^\s*-?\d*([\.]\d+)?\s*$/; if (!value.lat.match(r) || !value.lon.match(r)) return false;if (Math.abs(parseFloat(value.lat)) > 90) return false;if (Math.abs(parseFloat(value.lon)) > 180) return false;return true; };
    if (f(value, context)===true) return true;
    return 'geo';
}

// Callable: function(value){return is_uploadextension(value, ({extensions:[]}));}
function is_uploadextension(value, context) {
    var f = function(value, context) {if (!value.length) return true; var regexp = '\.('+context.extensions.join('|')+')$'; return !!value.match(new RegExp(regexp, 'i')) };
    if (f(value, context)===true) return true;
    return 'fileextension';
}

// Callable: is_flashuploaddone
function is_flashuploaddone(value, context) {
    var f = function(value, context) {var id = window.current_element;
var f = FlashUploadDatatype.isBusy(id);
return !f; };
    if (f(value, context)===true) return true;
    return 'flashuploaddone';
}

// Callable: 


// Callable: function(value){return is_flashuploadsize(value, ({min_size:false,max_size:false}));}
function is_flashuploadsize(value, context) {
    var f = function(value, context) {return true; };
    if (f(value, context)===true) return true;
    return 'filesize';
}

// Callable: function(value){return is_uploadsize(value, ({min_size:false,max_size:false}));}
function is_uploadsize(value, context) {
    var f = function(value, context) {var s = document.getElementById(window.current_element+'-size').value; if (!s||!s.length)return true; s = parseInt(s); return ( (context.min_size === false || s >= context.min_size) && (context.max_size === false || s <= context.max_size)); };
    if (f(value, context)===true) return true;
    return 'filesize';
}

// Callable: is_textrequired
function is_textrequired(value, context) {
    var f = function(value, context) {return value.replace(/^\s+|\s+$/g, '') != (new String("")) && value.length && value.length > 0; };
    if (f(value, context)===true) return true;
    return 'required';
}

// Callable: 


// Callable: is_richtextrequired
function is_richtextrequired(value, context) {
    var f = function(value, context) {value = value.replace(/<.*?>/mg, "").replace(/\s+/mg, ""); return value.length > 0; };
    if (f(value, context)===true) return true;
    return 'required';
}

// Callable: function(value) { return is_regexp(value, ) }
function is_regexp(value, regexp) { if (value.match(regexp)) return true; return VALIDATION_MESSAGES.textregexp; }

// Callable: is_integer
function is_integer(value, context) {
    var f = function(value, context) {return is_regexp(value, /^\d*$/); };
    if (f(value, context)===true) return true;
    return 'integer';
}

// Callable: is_double
function is_double(value, context) {
    var f = function(value, context) {return is_regexp(value, /^\d*[\.,]?\d*$/); };
    if (f(value, context)===true) return true;
    return 'double';
}

// Callable: is_email
function is_email(value, context) {
    var f = function(value, context) {return is_regexp(value, /(^.+@.+\...+$|^\s*$)/); };
    if (f(value, context)===true) return true;
    return 'email';
}

// Callable: is_numberrequired
function is_numberrequired(value, context) {
    var f = function(value, context) {return value.match(/^\d+([\.,]\d*)?$/) != null; };
    if (f(value, context)===true) return true;
    return 'required';
}

// Callable: 


// Callable: 


// Callable: is_zipcode
function is_zipcode(value, context) {
    var f = function(value, context) {return is_regexp(value, /(^\s*[0-9]{4}\s*[a-zA-Z]{2}\s*$)|(^\s*[0-9]{5}(-[0-9]{4})?\s*$)/); };
    if (f(value, context)===true) return true;
    return 'zipcode';
}

// Callable: is_telephone
function is_telephone(value, context) {
    var f = function(value, context) {return is_regexp(value, /((\+|00)[0-9\-]+)?$/); };
    if (f(value, context)===true) return true;
    return 'telephone';
}

// Callable: new AjaxValidator('hostname', )


// Callable: is_password
function is_password(value, context) {
    var f = function(value, context) {    return (value.pw == value.pwconfirm); };
    if (f(value, context)===true) return true;
    return 'password';
}

// Callable: is_emailconfirm
function is_emailconfirm(value, context) {
    var f = function(value, context) {    return (value.email == value.emailconfirm); };
    if (f(value, context)===true) return true;
    return 'emailconfirm';
}

// Callable: is_passwordrequired
function is_passwordrequired(value, context) {
    var f = function(value, context) {return value.pw.length && value.pw.length > 0; };
    if (f(value, context)===true) return true;
    return 'required';
}

// Callable: is_passwordlowstrength
function is_passwordlowstrength(value, context) {
    var f = function(value, context) {return (value.pw.length && value.pw.length >= 4) || value.pw.length == 0 };
    if (f(value, context)===true) return true;
    return 'passwordlowstrength';
}

// Callable: is_passwordmediumstrength
function is_passwordmediumstrength(value, context) {
    var f = function(value, context) {if((value.pw.match(/[A-Z]/) && value.pw.match(/[0-9]/) && value.pw.match(/^.{4,}$/)) || value.pw.length == 0) return true; return false; };
    if (f(value, context)===true) return true;
    return 'passwordmediumstrength';
}

// Callable: is_passwordhighstrength
function is_passwordhighstrength(value, context) {
    var f = function(value, context) {if(value.pw.match(/[A-Z]/) && value.pw.match(/[0-9]/) && value.pw.match(/^.{4,}$/) && value.pw.match(/\W/) || value.pw.length == 0) return true; return false; };
    if (f(value, context)===true) return true;
    return 'passwordhighstrength';
}

// Callable: is_selectionwidgetrequired
function is_selectionwidgetrequired(value, context) {
    var f = function(value, context) {return value.replace(/^\s+|\s+$/g, '') != (new String("")) && value.length && value.length > 0; };
    if (f(value, context)===true) return true;
    return 'selectionwidget_required';
}
// Validation messages
var VALIDATION_MESSAGES = new Array();
VALIDATION_MESSAGES['base'] = ({brief:"De basis-validatie is ongeldig",extended:"Dit is een extended bericht voor de basisvalidatie."});
VALIDATION_MESSAGES['ajax'] = ({brief:"ajax: Undefined validation messages",extended:"ajax: Undefined validation messages (server-side)"});
VALIDATION_MESSAGES['date'] = ({brief:"%s bevat geen geldige datum",extended:"De datum die U heeft ingevoerd bij %s is niet geldig."});
VALIDATION_MESSAGES['date'] = ({brief:"%s bevat geen geldige datum",extended:"De datum die U heeft ingevoerd bij %s is niet geldig."});
VALIDATION_MESSAGES['date'] = ({brief:"%s bevat geen geldige datum",extended:"De datum die U heeft ingevoerd bij %s is niet geldig."});
VALIDATION_MESSAGES['validchoice'] = ({brief:"Ongeldige waarde voor %s",extended:"U heeft een ongeldige waarde ingevuld voor dit veld."});
VALIDATION_MESSAGES['required'] = ({brief:"%s is een verplicht veld",extended:"Voer alstublieft een waarde in voor %s."});
VALIDATION_MESSAGES['choicevalue'] = ({brief:"Kies de juiste waarde voor %s",extended:"Voor dit veld moet u verplicht een bepaalde waarde kiezen."});
VALIDATION_MESSAGES['multichoicerequired'] = ({brief:"%s is een verplicht veld",extended:"Vink minimaal 1 veld aan."});
VALIDATION_MESSAGES['filerequired'] = ({brief:"%s is een verplicht bestand",extended:"Selecteer een bestand bij %s."});
VALIDATION_MESSAGES['filerequired'] = ({brief:"%s is een verplicht bestand",extended:"Selecteer een bestand bij %s."});
VALIDATION_MESSAGES['fileextension'] = ({brief:"Het bestand voor %s heeft een ongeldige extensie",extended:"Kies a.u.b. een bestand met een geldige extensie"});
VALIDATION_MESSAGES['file'] = ({brief:"file: Undefined validation messages",extended:"file: Undefined validation messages (server-side)"});
VALIDATION_MESSAGES['filesize'] = ({brief:"Het bestand voor %s voldoet niet aan de bestandgrootte-eisen",extended:"U moet oftewel een kleiner dan wel een groter bestand uploaden"});
VALIDATION_MESSAGES['imagedimension'] = ({brief:"imagedimension: Undefined validation messages",extended:"imagedimension: Undefined validation messages (server-side)"});
VALIDATION_MESSAGES['imagedimensionmin'] = ({brief:"De afbeelding bij %s heeft een te kleine afmeting",extended:"Kies a.u.b. een grotere afbeelding"});
VALIDATION_MESSAGES['imagedimensionmax'] = ({brief:"De afbeelding bij %s heeft een te grote afmeting",extended:"Kies a.u.b. een kleinere afbeelding"});
VALIDATION_MESSAGES['imagedimensionexact'] = ({brief:"De afbeelding bij %s heeft een ongeldige afmeting",extended:"Kies a.u.b. een goede afbeelding"});
VALIDATION_MESSAGES['mustbetrue'] = ({brief:"U moet %s aanvinken",extended:"Voordat u door kunt gaan, moet u dit invoerveld aanvinken."});
VALIDATION_MESSAGES['mustbefalse'] = ({brief:"mustbefalse: Undefined validation messages",extended:"mustbefalse: Undefined validation messages (server-side)"});
VALIDATION_MESSAGES['unique'] = ({brief:"%s moet een unieke waarde hebben",extended:"Er is al een e-mail adres aanwezig met deze waarde voor '%s'. Vult u a.u.b. een andere waarde in."});
VALIDATION_MESSAGES['geo'] = ({brief:"%s moet een geldige geografische coordinaat zijn",extended:"Controleer a.u.b. of het coordinaat wat u heeft ingevoerd, geldig is. Een breedtegraad van -180 tot 180, een lengtegraad loopt van -90 tot 90."});
VALIDATION_MESSAGES['fileextension'] = ({brief:"Het bestand voor %s heeft een ongeldige extensie",extended:"Kies a.u.b. een bestand met een geldige extensie"});
VALIDATION_MESSAGES['flashuploaddone'] = ({brief:"flashuploaddone: Undefined validation messages",extended:"flashuploaddone: Undefined validation messages (server-side)"});
VALIDATION_MESSAGES['fileextension'] = ({brief:"Het bestand voor %s heeft een ongeldige extensie",extended:"Kies a.u.b. een bestand met een geldige extensie"});
VALIDATION_MESSAGES['filesize'] = ({brief:"Het bestand voor %s voldoet niet aan de bestandgrootte-eisen",extended:"U moet oftewel een kleiner dan wel een groter bestand uploaden"});
VALIDATION_MESSAGES['filesize'] = ({brief:"Het bestand voor %s voldoet niet aan de bestandgrootte-eisen",extended:"U moet oftewel een kleiner dan wel een groter bestand uploaden"});
VALIDATION_MESSAGES['required'] = ({brief:"%s is een verplicht veld",extended:"Voer alstublieft een waarde in voor %s."});
VALIDATION_MESSAGES['textmaxlength'] = ({brief:"De waarde voor %s is te lang",extended:"Kijk alstublieft na of de waarde van %s niet te lang is."});
VALIDATION_MESSAGES['required'] = ({brief:"%s is een verplicht veld",extended:"Voer alstublieft een waarde in voor %s."});
VALIDATION_MESSAGES['textregexp'] = ({brief:"Ongeldig formaat voor %s",extended:"Kijk na of de waarde voor %s het goede formaat bevat."});
VALIDATION_MESSAGES['integer'] = ({brief:"%s moet een geheel nummer zijn",extended:"Kijk alstublieft na of de waarde van %s een geheel getal is."});
VALIDATION_MESSAGES['double'] = ({brief:"%s moet een decimaal getal zijn",extended:"Kijk alstublief na of de waarde van %s een decimaal getal is."});
VALIDATION_MESSAGES['email'] = ({brief:"%s bevat geen geldig e-mail adres",extended:"Zorg er alstublieft voor dat de waarde van %s een geldig e-mail adres is (naam@domeinnaam.nl)."});
VALIDATION_MESSAGES['required'] = ({brief:"%s is een verplicht veld",extended:"Voer alstublieft een waarde in voor %s."});
VALIDATION_MESSAGES['minmax'] = ({brief:"",extended:""});
VALIDATION_MESSAGES['minmax'] = ({brief:"",extended:""});
VALIDATION_MESSAGES['zipcode'] = ({brief:"%s is geen geldige postcode",extended:"Voer alstublieft een geldige postcode in"});
VALIDATION_MESSAGES['telephone'] = ({brief:"%s is geen geldig internationaal telefoonnummer",extended:"Begin het internationaal telefoonnummer met 00 of +, bijv. 003120xxxxxxx of +3120xxxxxxx"});
VALIDATION_MESSAGES['hostname'] = ({brief:"%s heeft een ongeldig domein",extended:"De ingevulde domeinnaam voor %s lijkt niet te bestaan, en kan dus niet worden gebruikt voor dit veld."});
VALIDATION_MESSAGES['password'] = ({brief:"Wachtwoorden komen niet overeen.",extended:"De wachtwoorden komen niet overeen. Zorg ervoor dat beide wachtwoorden precies hetzelfde worden ingevoerd."});
VALIDATION_MESSAGES['emailconfirm'] = ({brief:"E-mail adressen komen niet overeen.",extended:"De e-mail adressen komen niet overeen. Zorg ervoor dat beide e-mail adressen precies hetzelfde worden ingevoerd."});
VALIDATION_MESSAGES['required'] = ({brief:"%s is een verplicht veld",extended:"Voer alstublieft een waarde in voor %s."});
VALIDATION_MESSAGES['passwordlowstrength'] = ({brief:"Het wachtwoord voldoet niet aan de minimale eis.",extended:"Het wachtwoord voldoet niet aan de minimale eis. Zorg ervoor dat het\n   wachtwoord minimaal uit 4 karakters bestaat."});
VALIDATION_MESSAGES['passwordmediumstrength'] = ({brief:"Het wachtwoord voldoet niet aan de minimale eisen.",extended:"Het wachtwoord voldoet niet aan de minimale eisen. Zorg ervoor dat het\n   wachtwoord minimaal uit 4 karakters bestaat, minimaal 1 hoofdletter en\n   minimaal 1 cijfer bevat."});
VALIDATION_MESSAGES['passwordhighstrength'] = ({brief:"Het wachtwoord voldoet niet aan de minimale eisen.",extended:"Het wachtwoord voldoet niet aan de minimale eisen. Zorg ervoor dat het\n   wachtwoord minimaal uit 4 karakters bestaat, minimaal 1 hoofdletter, 1\n   cijfer en 1 speciaal teken bevat."});
VALIDATION_MESSAGES['selectionwidget_required'] = ({brief:"Selecteer a.u.b. minstens 1 item van de lijst om door te kunnen.",extended:"Selecteer a.u.b. minstens 1 item van de lijst om door te kunnen."});
