// Kalender program lavet af troels.stummann@adr.dk 
// Alle rettigheder forbeholdes
// 20 Juni 2001 Sted : Houston-Pittsburgh- Reading
// 2 reviderede udgave 5 december 2001
// indeholderfunktioner til opdatering af kalender input som skal bruges i kalender.htm
// disse fuktioner kaldes fra index.htm


// Initalisering af datoer
// Hvis client ur viser ældre dato end start, sættes dd til start dato
function initialiser(Year, Month, Day, Start, Nu){
   var nu = new Date()
   nu.setHours(0)
   nu.setMinutes(0)
   start = new Date(Year, Month, Day)
   if(nu<Start) nu=start
   this.Nu=nu
   this.Start = start
}

// Kalender opdatering fra dd og frem
// ny udgave med "*" som adskilleslse til normerede input
// NB både input og output
// 18 Juni 2001
function updateFile(nu ,opdateret, data)
{
   erArbejdsGrIProgram=1
   dataOut = new Array
   dataOut[0]= opdateret.getTime()+"*"+nu.getTime()+"*"+"opdaterings + nu dato"+"*"

   count=1

   for(e in data){
	opdel= data[e].split("*")

	var start = new Date()
	var slut= new Date()
	start.setTime(opdel[0])
	slut.setTime(opdel[1])
	udSkrivKode=opdel[3]

	if(((start)>=nu)||(slut>=nu)){
		erArbejdsGrIProgram|=udSkrivKode   
		dataOut[count]=data[e]
	 	count++
	}
  }
dataOut[0]+= erArbejdsGrIProgram+"*"+"none" 

return dataOut
}

// Kalender sorterings funktion til xx.sort() 
// 1 step sammen ligner start dato, hvis ens check slut dato
// 20 Juni 2001 
function kalenderSort(string1, string2){
	opdel1=string1.split("*")
	opdel2=string2.split("*")
	start1=opdel1[0]
	start2=opdel2[0]
	test=start1-start2
	if(test==0){
		start1=opdel1[1]
		start2=opdel2[1]
		test=start1-start2
	}
	return test
}

// Kalender opdatering fra dd og frem + addering af kalender input
// indsæt så mange som nødveding efter dataFil
// 18 Juni 2001
// 2 udgave 5 dec 2001
function updatePrograms(nuDato ,dataFil)
{
	max=updatePrograms.arguments.length
	var start = new Date()

	opdel= dataFil[0].split("*")
	var tid=opdel[0]

	var dataFilNy =new Array
	for(e in dataFil){
		j=e
		dataFilNy[e]=dataFil[e]
		}

	for (var i=2; i<max; i++) {
		dataN=updatePrograms.arguments[i]
		opdel= dataN[0].split("*")
		tid=Math.max(tid,opdel[0])
		for(f in dataN){
			if(f==0) continue
			j++
			dataFilNy[j]=dataN[f]
			}
		}

	start.setTime(tid)
	var dataFilOut=new Array

	dataFilOut=updateFile(nuDato ,start, dataFilNy)
	dataFilOut.sort(kalenderSort)
	dataFilOut[0]+= " updatePrograms "+max+" "+j+" "

	return dataFilOut
}

