// ---------------------------------------------------------------------
// JAVASCRIPT	: Kamper GUI
// REVISION		: v1.0 2mrt2007
// ---------------------------------------------------------------------
	
var kgdt_maand = new Array ("januari","februari","mraat","april","mei","juni","juli","augustus","september","oktober","november","december");
var kgdt_maandkort = new Array ("jan.","feb.","mrt.","apr.","mei.","jun.","jul.","aug.","sep.","okt.","nov.","dec.");
var kgdt_dagen = new Array ("zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag");
var kgdt_dagenkort = new Array ("zo.", "ma.", "di.", "wo.", "do.", "vr.", "za.");
var kgdt_DigitalClock = new Date();
var kgdt_hours = 0;
var kgdt_minutes = 0;
var kgdt_seconds = 0;
var kgdt_day = 0;
var kgdt_dayofWeek = "";
var kgdt_dayofWeekShort = "";
var kgdt_month = "";
var kgdt_monthNr = 0;
var kgdt_monthShort = "";
var kgdt_year = 0;
var kgdt_dateTimeFormat = "";

// ---- KGUI functions -------------------------------------------------
function kgui_datumTijd(vFormat) {	// V1
	kgui_getActualDate();

	if ( !vFormat ) vFormat = "<DAGNR>-<MAANDNR>-<JAAR>";
	return kgui_formatDateTime(vFormat);}

function kgui_klok(vFormat) {	// V1
	if ( vFormat=="" ) kgdt_dateTimeFormat = "<DAG> <DAGNR> <MAANDKORT>, <HH>:<MM>";
	else kgdt_dateTimeFormat = vFormat;
	setTimeout("kgui_herhaalActueleDatumKlok()",10); }
	
function kgui_getActualDate() {
	kgdt_DigitalClock = new Date();
	kgdt_hours = kgdt_DigitalClock.getHours();
	kgdt_minutes = kgdt_DigitalClock.getMinutes();
	kgdt_seconds = kgdt_DigitalClock.getSeconds();
	kgdt_day = kgdt_DigitalClock.getDate();
	kgdt_dayofWeek = kgdt_dagen[kgdt_DigitalClock.getDay()];
	kgdt_dayofWeekShort = kgdt_dagenkort[kgdt_DigitalClock.getDay()];
	kgdt_monthNr = kgdt_DigitalClock.getMonth()+1;
	kgdt_monthShort = kgdt_maandkort[kgdt_DigitalClock.getMonth()];
	kgdt_month = kgdt_maand[kgdt_DigitalClock.getMonth()];
	kgdt_year = Number(kgdt_DigitalClock.getYear());
	if (kgdt_year<2000) kgdt_year+=1900; 
}
	
function kgui_formatDateTime(vDateTimeFormat) {
	var dateStr = vDateTimeFormat;
	var dag0 = String(kgdt_day) ;
	var maand0 = String(kgdt_monthNr) ;
	var hh0 = String(kgdt_hours) ;
	var mm0 = String(kgdt_minutes) ;
	var ss0 = String(kgdt_seconds) ;

	if (kgdt_day<10) dag0="0"+dag0;
	if (kgdt_monthNr<10) maand0="0"+maand0;
	if (kgdt_hours<10) hh0="0"+hh0;
	if (kgdt_minutes<10) mm0="0"+mm0;
	if (kgdt_seconds<10) ss0="0"+ss0;
	
	dateStr = dateStr.replace(/<DAG>/g,kgdt_dayofWeek);
	dateStr = dateStr.replace(/<DAGNR>/g,kgdt_day);
	dateStr = dateStr.replace(/<DAGNR0>/g,dag0);
	dateStr = dateStr.replace(/<MAANDKORT>/g,kgdt_monthShort);
	dateStr = dateStr.replace(/<MAANDNR>/g,String(kgdt_monthNr-1));
	dateStr = dateStr.replace(/<MAANDNR0>/g,maand0);
	dateStr = dateStr.replace(/<JAAR>/g,String(kgdt_year));	
	dateStr = dateStr.replace(/<JAARKORT>/g,String(kgdt_year).substr(2));	
	dateStr = dateStr.replace(/<HH>/g,hh0);
	dateStr = dateStr.replace(/<MM>/g,mm0);
	dateStr = dateStr.replace(/<SS>/g,ss0);
	return dateStr;
}
	
function kgui_herhaalActueleDatumKlok() {	// V1
	kgui_getActualDate();
	kgdt_dayofWeek = kgdt_dagen[kgdt_DigitalClock.getDay()];
	kgdt_monthShort = kgdt_maandkort[kgdt_DigitalClock.getMonth()];
	MM_findObj('klok').innerHTML = kgui_formatDateTime(kgdt_dateTimeFormat);
	setTimeout("kgui_herhaalActueleDatumKlok()", 60000);}
	
function kgui_convertJJMMDD(vDate) {
	return vDate.substr(4,2)+" "+kgdt_maandkort[Number(vDate.substr(2,2))-1]+" 20"+vDate.substr(0,2);
}
// ---------------------------------------------------------------------

var maandDagen = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
function kgui_checkDate(vDatum) { // v 1.0
	var datumLayout = /^\d{2}-\d{2}-\d{4}$/ ;
	if ( !datumLayout.test(vDatum) ) return false;
	var day = parseInt(vDatum.substr(0,2),10);
	var month = parseInt(vDatum.substr(3,2),10);
	var year = parseInt(vDatum.substr(6,4),10);
	if(!day || !month || !year) return false;
	if(year/4==parseInt(year/4)) maandDagen[1] = 29;
	if(day > maandDagen[month-1]) return false;
	if(month > 12) return false;
	maandDagen[1] = 28;
  	var now = new Date();
	var dateToCheck = new Date();
	dateToCheck.setYear(year);
	dateToCheck.setMonth(month-1);
	dateToCheck.setDate(day);
  
//	var checkDate = dateToCheck.getTime();
//	var futureDate = (now < checkDate);
//	var pastDate = (now > checkDate);

  return true;
} // kgui_checkDate()

function kgui_checkRange(sdate,edate) {  // v 1.0
  if(sdate.length != 8) return false;
  if(edate.length != 8) return false;
  
  var day = parseInt(sdate.substr(0,2),10);
  var month = parseInt(sdate.substr(3,2),10);
  var year = parseInt(sdate.substr(6,4),10);

  if(!day || !month || !year) return false;
  if(year/4==parseInt(year/4)) maandDagen[1] = 29;
  if(day > maandDagen[month-1]) return false;
  maandDagen[1] = 28;
  
  var dstart = new Date();
  dstart.setYear(year);
  dstart.setMonth(month-1);
  dstart.setDate(day);

  day = parseInt(edate.substr(0,2),10);
  month = parseInt(edate.substr(3,2),10);
  year = parseInt(edate.substr(6,4),10);

  if(!day || !month || !year) return false;
  if(year/4==parseInt(year/4)) maandDagen[1] = 29;
  if(day > maandDagen[month-1]) return false;
  maandDagen[1] = 28;
  
  var dend = new Date();
  dend.setYear(year);
  dend.setMonth(month-1);
  dend.setDate(day);

  return (dstart <= dend);
} // kgui_checkRange()

function kgui_checkTime(timestr) { // v 1.1 KGUI scripting
	var regExpressionObj = new RegExp("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$");
	return regExpressionObj.test(timestr) ;
}


