<!--

var defaultEmptyOK = false;
var whitespace = " \t\n\r";
var mPrefix = "Het veld "
var mSuffix = " is leeg.\nDit is een verplicht veld. Vul dit veld als nog in."
var decimalPointDelimiter = ","

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

function checkString(theField, s, emptyOK)
{   
    if (checkString.arguments.length == 2) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (isWhitespace(theField.value)) 
       return warnEmpty (theField, s);
    else return true;
}

function IsEmail(oField, layoutName)
{
	var sErrorMessage = 'Het e-mailadres wat u heeft ingevuld in het veld ' + layoutName + '\nis geen geldig e-mailadres.';
	
	if(oField.value == "")
		return true;
		
	var x = oField.value
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	if (filter.test(x))
	{
		return true;
	}
	else
	{
		
		alert(sErrorMessage);
		oField.focus();
		return false;
	}
}

function IsNum2(Field) 
{
	if (isNaN(Field.value))
	{
		return false;
	}
	return true;
}

function IsNum(Field) 
{
    theNum = parseFloat(Field.value);
    if (Field.value != '' + theNum)
    {
       return false;
       }
    return true;
}

function checkNumeriek2(theField, s)
{
    if (IsNum2(theField) == false)
    {
		theField.focus();
		theField.select();
	 	alert(mPrefix + s + " mag alleen cijfers bevatten.");
       	return false;
    }
	else return true;

}

function checkNumeriek(theField, s)
{
    if (IsNum(theField) == false)
    {
		theField.focus();
		theField.select();
	 	alert(mPrefix + s + " mag alleen cijfers bevatten.");
       	return false;
    }
	else return true;

}
function checkRadioButton(oField, layoutName)
{
	for(i=0;i<oField.length;i++)
	{
		if(oField[i].checked == true)
			return true;
	}
	oField[0].focus();
	alert(layoutName + ' is een verplicht veld.');

	return false;
}

function CompareDate(a , b , sName1, sName2) 
{
  var sA = makeDate(a[0],a[1],a[2]);
  var sB = makeDate(b[0],b[1],b[2]);


  if ((sA == "" && sB == "") || (sA != "" && sB == ""))
  {
  	return true;	
  }
  if (sA == "" && sB != "")
  {
  	alert("Het veld " + sName1 + " is leeg deze dient ingevuld te zijn");    
  	return false;	
  }
	
  var strA = sA.split("/");
  var strB = sB.split("/");
  var datA = new Date(strA[2], strA[0], strA[1]);
  var datB = new Date(strB[2], strB[0], strB[1]);
  
  if (datA < datB) 
  { 
  	return true; 
  }
  else 
  {
    if (datA > datB) 
    { 
    	alert("Het veld " + sName2 + " dient groter te zijn dan het veld " + sName1);    
    	return false; 
    }
    else 
    { 
    	return true; 
    }
  }
}

function DateDiff(start, end, interval, rounding) 
{

    var iOut = 0;

    var startMsg = "Controleer de aankomstdatum en de vertrekdatum\n"
        startMsg += "Deze moeten een correcte datum zijn.\n\n"
        startMsg += "Probeer het opnieuw." ;
		
    var intervalMsg = "Sorry the dateAdd function only accepts\n"
        intervalMsg += "d, h, m OR s intervals.\n\n"
        intervalMsg += "Please try again." ;

    var bufferA = Date.parse( start ) ;
    var bufferB = Date.parse( end ) ;
    	
 
    if ( isNaN (bufferA) || isNaN (bufferB) ) {
        alert( startMsg ) ;
        return null ;
    }

    if ( interval.charAt == 'undefined' ) {
        alert(intervalMsg) ;
        return null ;
    }
    
    var number = bufferB-bufferA ;
    
    switch (interval.charAt(0))
    {
        case 'd': case 'D': 
            iOut = parseInt(number / 86400000) ;
            if(rounding) iOut += parseInt((number % 86400000)/43200001) ;
            break ;
        case 'h': case 'H':
            iOut = parseInt(number / 3600000 ) ;
            if(rounding) iOut += parseInt((number % 3600000)/1800001) ;
            break ;
        case 'm': case 'M':
            iOut = parseInt(number / 60000 ) ;
            if(rounding) iOut += parseInt((number % 60000)/30001) ;
            break ;
        case 's': case 'S':
            iOut = parseInt(number / 1000 ) ;
            if(rounding) iOut += parseInt((number % 1000)/501) ;
            break ;
        default:
	
        alert(intervalMsg) ;
        return null ;
    }
    
    return iOut ;
}

function makeDate(Day, Month, Year)
{
	Day = Day.value.toString();
	Month = Month.value.toString();
	Year = Year.value.toString();
	
	if(Day == "" && Month == "" && Year == "")
	{
		sValue = ""
		return sValue;
	}
	
	if(Day == "")
	{
		alert('Dag is niet ingevuld');
		return 'false';
	}
	if(Month == "")
	{
		alert('Maand is niet ingevuld');
		return 'false';
	}
	if(Year == "")
	{
		alert('Jaartal is niet ingevuld');
		return 'false';
	}
	if(isNaN(Year))
	{
		alert('Jaartal is niet numeriek');
		return 'false';
	}
	if(Year.length != 4)
	{
		alert("Jaartal dient uit 4 cijfers te bestaan");
		return 'false';
	}
	
	var sDateReturn = Month + "/" + Day + "/" + Year;
	if (!isDate(Day,Month,Year))
	{
		alert('U heeft geen juiste datum opgegeven');
		return 'false';
	}
	else
	{
		return sDateReturn;
	}
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function isDate (day,month,year) 
{
    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
    if ( (y2k(test.getYear()) == year) &&
         (month == test.getMonth()) &&
         (day == test.getDate()) )
        return true;
    else
        return false
}

function checkCheckBox(oField, layoutName)
{
	var iLength;
	iLength = oField.length;
	
	if(!oField.length)
	{
		if(oField.checked == false)
		{
			oField.focus();			
			alert(layoutName + " moet aangevinkt zijn.");
			return false;
		}
	}
	else
	{
		for(i=0;i<oField.length;i++)
		{
			if(oField[i].checked == true)
				return true;
		}
		oField[0].focus();		
		alert("er moet minimaal een " + layoutName + " aangevinkt zijn");
		return false;
	}
	
	return true;

}

function warnEmpty (theField, s)
{  
	theField.focus()
    alert(mPrefix + s + mSuffix)
    return false
}

function isWhitespace (s)
{   
	var i;

    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}

function checkMoney(theField, s)
{
	if (theField.value.indexOf('.') != -1)
	{
		alert("Het getal dient met een komma gescheiden te worden en niet met een punt");
		return false;
	}
	if (isFloat(theField.value) == false)
	{
		theField.focus();
		theField.select();
		alert(mPrefix + s + " moet een geldig getal te zijn");
		return false;
	}
	else
	{
	return true;
	}
}

function isFloat(s)

{   var i;
    var seenDecimalPoint = false;

    if (isEmpty(s)) 
       if (isFloat.arguments.length == 1) return defaultEmptyOK;
       else return (isFloat.arguments[1] == true);

    if (s == decimalPointDelimiter) return false;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
        else if (!isDigit(c)) return false;
    }
    return true;
}

//-->
