﻿/*/*/
// expects "dd-mm-yyyy"
function ValidDate(value)
{

	  var datePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{2}|\d{4})$/;
	  var matchArray = value.match(datePattern);

	  //Check valid format
	  if (matchArray == null) { return false; }

	  day = matchArray[1];
	  month   = matchArray[3];
	  year  = matchArray[5];

	  // check month range
	  if (month < 1 || month > 12) { return false; }

	  //Check day range
	  if (day < 1 || day > 31) { return false; }

	  //Check months with 30 days
	  if ((month==4 || month==6 || month==9 || month==11) && day>30) { return false; }

	  //Check Feb days
	  if (month == 2) {
		var leapYr = (year%4 == 0 && (year%100 != 0 || year%400 == 0));
		if (day > 29 || (day>28 && !leapYr)) { return false; }
	  }

	  return true;
}

function ValidEmail(value)
{
	var pt = /^(?:[a-zA-Z0-9_'^&amp;/+-])+(?:\.(?:[a-zA-Z0-9_'^&amp;/+-])+)*@(?:(?:\[?(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\.){3}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\]?)|(?:[a-zA-Z0-9-]+\.)+(?:[a-zA-Z]){2,}\.?)$/;
	return pt.test(value);
}

function ValidNumber(value)
{
	var regNumber = /^[0-9]*[1-10]+$|^[1-10]+[0-9]*$/;
	if(value==""){
		return true;
	}else{
		return /^\d+(?!\.)$/.test(value);
	}
}

function ValidName(value)
{
    //12-11-07 Robu
    //\À\Á\Â\Ã\Ä\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ò\Ó\Ô\Õ\Ö\Ù\Ú\Û\Ü\á\â\ã\ä\ç\è\é\ê\ë\ì\í\î\ï\ò\ó\ô\õ\ö\ù\ú\û\ü\ý
    //toegevoegd
	//var regAll2= /^[\u05D0-\u05EAa-zA-Z0-9€`~!\À\Á\Â\Ã\Ä\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ò\Ó\Ô\Õ\Ö\Ù\Ú\Û\Ü\á\â\ã\ä\ç\è\é\ê\ë\ì\í\î\ï\ò\ó\ô\õ\ö\ù\ú\û\ü\ý@#%&_=:;"',/\-\s\.\$\^\{\[\(\|\)\]\}\*\+\?\\]+$/;
    var regAll2= /^[\u05D0-\u05EAa-zA-Z0-9€`~!\À\Á\Â\Ã\Ä\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ò\Ó\Ô\Õ\Ö\Ù\Ú\Û\Ü\á\â\ã\ä\ç\è\é\ê\ë\ì\í\î\ï\ò\ó\ô\õ\ö\ù\ú\û\ü\ý@#%&_=:;"',/\-\s\.\$\^\{\[\(\|\)\]\}\*\+\?\\]+$/;
	return regAll2.test(value);
}

function ValidFileExtension(value)
{
	var arrSpl = value.split(".");
	var ret = false;
	if(arrSpl.length > 1){
		var ext = arrSpl[arrSpl.length-1].toLowerCase();
		switch(ext){
			case "jpg":
			case "gif":
			case "png":
				ret = true;
				break;
			default:
				ret = false;
				break;
		}
	}
	return ret;
}

// expects "dd-mm-yyyy"
function CompareDates(start, end)
{
	var arrStart = start.split("-");
	var arrEnd = end.split("-");
	var newStart = arrStart[2] + arrStart[1] + arrStart[0];
	var newEnd = arrEnd[2] + arrEnd[1] + arrEnd[0];
	if(newStart == newEnd){
		return 0;
	}else{	
		if(newEnd > newStart){
			return 1;			
		}else{
			return -1;		
		}
	}
}

// general utils
// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}
