function empty(field)
{
	field.value = trim(field.value);
	if ( field.value.length == 0 )
	{
		field.focus();
		return (true);
	}
	else
	{
		return (false);
	}
	return (true);
}

function valuesize(field,maxlength) {
	if (parseInt(field.value.length)<maxlength)
		return false;
	else
		return true;
}

function ltrim( value )
{
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

function rtrim( value )
{
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

function trim( value )
{
	return ltrim(rtrim(value));
}

function clear_spaces( value )
{
	return trim(value.replace(/\s*/g, ''));
}


function isInt(aValue)
{
	var i = aValue.value;

	var parsedVal = parseInt(i);
	return ( (parsedVal == i) && (!isNaN(parsedVal)) );
}

function isNumeral(aValue)
{
	var len = aValue.length-1;
	var i = len;

	while (i >= 0) {
		if ( (aValue.charAt(i) < "0") || (aValue.charAt(i) > "9") )
			return false;
		i--;
	}

	return true;
}


function checkPerc(aVal)
{
	var thisVal = aVal.replace(".", ",");
	var testInt = thisVal.replace(",", "");
    var len = thisVal.length-1;

    var i = thisVal.lastIndexOf(",");
	if (i == -1)
		return ( (thisVal.length <= 3) && (isNumeral(testInt)) );

	if ( ((len - i) == 2) || ((len - i) == 1) )
		if (i <= 3)
			return (isNumeral(testInt));

	return false;
}

function checkDecimal(aVal, scale, precision)
{
	if (aVal.length == 0)
		return true;

	var thisVal = aVal.replace(".", ",");
	var testInt = thisVal.replace(",", "");
    var len = thisVal.length-1;

    var i = thisVal.lastIndexOf(",");
	if (i == -1)
		return ( (thisVal.length <= scale) && (isNumeral(testInt)) );

	if ( ((len - i) <= precision) && ((len - i) != 0) )
		if (i <= scale)
			return (isNumeral(testInt));

	return false;
}


function isEmail(argvalue)
{
    var regexp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
    return regexp.test(argvalue.value);
}

function isURL(argvalue) {

  if (argvalue.indexOf(" ") != -1)
    return false;
  else if (argvalue.indexOf("http://") == -1)
    return false;
  else if (argvalue == "http://")
    return false;
  else if (argvalue.indexOf("http://") > 0)
    return false;

  argvalue = argvalue.substring(7, argvalue.length);
  if (argvalue.indexOf(".") == -1)
    return false;
  else if (argvalue.indexOf(".") == 0)
    return false;
  else if (argvalue.charAt(argvalue.length - 1) == ".")
    return false;

  if (argvalue.indexOf("/") != -1) {
    argvalue = argvalue.substring(0, argvalue.indexOf("/"));
    if (argvalue.charAt(argvalue.length - 1) == ".")
      return false;
  }

  if (argvalue.indexOf(":") != -1) {
    if (argvalue.indexOf(":") == (argvalue.length - 1))
      return false;
    else if (argvalue.charAt(argvalue.indexOf(":") + 1) == ".")
      return false;
    argvalue = argvalue.substring(0, argvalue.indexOf(":"));
    if (argvalue.charAt(argvalue.length - 1) == ".")
      return false;
  }

  return true;

}

function customSplit(strvalue, separator, arrayName) {
  var n = 0;

  if (separator.length != 0) {
    while (strvalue.indexOf(separator) != -1) {
      eval("arr"+n+" = strvalue.substring(0, strvalue.indexOf(separator));");
      strvalue = strvalue.substring(strvalue.indexOf(separator)+separator.length,
          strvalue.length+1);
      n++;
    }
    eval("arr" + n + " = strvalue;");
    arraySize = n+1;
  }
  else {
    for (var x = 0; x < strvalue.length; x++) {
      eval("arr"+n+" = \"" + strvalue.substring(x, x+1) + "\";");
      n++;
    }
    arraySize = n;
  }

  eval(arrayName + " = new makeArray(arraySize);");

  for (var i = 0; i < arraySize; i++)
    eval(arrayName + "[" + i + "] = arr" + i + ";");

  return arraySize;
}

function Trim(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}

function radioValue(radioButton) {
	for (i=0;i<radioButton.length;i++)
	{
		if (radioButton[i].checked==true)
			return radioButton[i].value;
	}
	return -1;
}

function checkDate (day,month,year)
{
  //alert( day + month+ year);
	if (empty(year) || year.value < 1920 || year.value > 2020)
	{
		return 'Jaar moet tussen 1920 en 2020 liggen';
	}

	if (empty(day))
	{
		return 'dag moet een waarde hebben';
	}

	if (!isInt(day))
	{
		return 'dag moet een gehele waarde hebben';
	}



  var maxday = 0;
	var monthName = "";

	switch (month.value) {
		case "1":
			monthName = "januari";
			break;
		case "2":
			monthName = "februari";
			break;
		case "3":
			monthName = "maart";
			break;
		case "4":
			monthName = "april";
			break;
		case "5":
			monthName = "mei";
			break;
		case "6":
			monthName = "juni";
			break;
		case "7":
			monthName = "juli";
			break;
		case "8":
			monthName = "augustus";
			break;
		case "9":
			monthName = "september";
			break;
		case "10":
			monthName = "oktober";
			break;
		case "11":
			monthName = "november";
			break;
		case "12":
			monthName = "december";
			break;
	}


	switch (month.value) {
		case "1":
		case "3":
		case "5":
		case "7":
		case "8":
		case "10":
		case "12":
			maxday = 31;
			break;
		case "2":
			if (LeapYear(year.value))
				maxday = 29
			else
				maxday = 28;
			break;
		case "4":
		case "6":
		case "9":
		case "11":
			maxday = 30;
			break;
	}

	if ((maxday < day.value) || (day.value < 1))
	{
		if (maxday < 30)
		{
		  return ("De maand " + monthName + " heeft maar " + maxday + " dagen in " + year.value + ".");
		}
		else
		  return ("De maand " + monthName + " heeft maar " + maxday + " dagen" + ".");
	}
	return "";
}

function LeapYear(intYear)
{
	if (intYear % 100 == 0)
	{
		if (intYear % 400 == 0) { return true; }
	}
	else
	{
		if ((intYear % 4) == 0) { return true;	}
	}
	return false;
}

function getFirstElementByName(name)
{
	var ctrls = document.getElementsByName(name);
	if (ctrls != null && ctrls.length > 0)
	{
		return ctrls[0];
	}
	
	return null;
}


