 
 
 var SELECTED_RANGE = null;
 function getSelectionHandler() {
 			
 			var startDate = null;
              var ignoreEvent = false;
              return function(cal) {
              		 var selectionObject = cal.selection;
										
						
                      // avoid recursion, since selectRange triggers onSelect
                      if (ignoreEvent)
                              return;

                      var selectedDate = selectionObject.get();
                                         
                    
                      if (startDate == null) {
                      		              
                              startDate = selectedDate;
                              SELECTED_RANGE = null;
                              
                              //cal.args.min = Calendar.intToDate(selectedDate);
                              cal.refresh();
                              document.forms[0].von.value=Calendar.printDate(Calendar.intToDate(selectedDate),"%d.%m.%Y");
                              document.forms[0].bis.value="";
                        } else {
                        	  tdate=testRange(startDate,selectedDate);
                        	  if(tdate){
                        	  	//tdate=Calendar.intToDate(selectedDate);
                        	  	cal.selection.unselect(selectedDate);
                        	  	alert("Sie k\u00F6nnen keinen Zeitraum aussuchen, der schon besetzte Tage beinhaltet!")
                        	  	return;
                        	  	//selectedDate=tdate;
                        	  }                     	  
                              ignoreEvent = true;
                              selectionObject.selectRange(startDate, selectedDate);
                              ignoreEvent = false;
                              SELECTED_RANGE = selectionObject.sel[0];
                              if(!isNaN(selectedDate)){
                              if(selectedDate > startDate)
                     		  	document.forms[0].bis.value=Calendar.printDate(Calendar.intToDate(selectedDate),"%d.%m.%Y");
                     		  else {
                     		  	document.forms[0].von.value=Calendar.printDate(Calendar.intToDate(selectedDate),"%d.%m.%Y");
                     		  	document.forms[0].bis.value=Calendar.printDate(Calendar.intToDate(startDate),"%d.%m.%Y");
                     		  	}
							  }	
                              // alert(SELECTED_RANGE.toSource());
                              //
                              // here SELECTED_RANGE contains two integer numbers: start date and end date.
                              // you can get JS Date objects from them using Calendar.intToDate(number)

                              startDate = null;
                             // document.getElementById("info").innerHTML = selectionObject.print("%d.%m.%Y") +
                             //         "<br />Danke. Sie k\u00F6nnen fortfahren!";

                              // (*)
                              cal.args.min = null;
                              cal.refresh();
                      }
              };
};


function testRange(start,end){
	for(i=0;i<von_DATES.length;i++){
       if(von_DATES[i]!="0"){
	   	if(von_DATES[i]>start & von_DATES[i]<end) return von_DATES[i];
	}}
	
	return false; 
}

function testdate(date){
	var jetzt = new Date();
	j=Calendar.dateToInt(jetzt);
	if(j>=date) return true;
	
	for(i=0;i<von_DATES.length;i++){
       if(von_DATES[i]!="0"){
	   	if(bis_DATES[i]=="0")	if(von_DATES[i]==date) return true;
		if(von_DATES[i]<date & bis_DATES[i]>date) return true;
		
		
	}}
	return false;
	 
}

function ersterTag(){
	for(i=0;i<von_DATES.length;i++){
       if(von_DATES[i]!="0"){
	   	var myid = "d"+von_DATES[i];
	   	var ele =document.getElementById(myid);
	   	ele.style.backgroundColor ="blue";
	}}
	for(i=0;i<bis_DATES.length;i++){
       if(von_DATES[i]!="0"){
	   	var myid = "d"+von_DATES[i];
	   	var ele =document.getElementById(myid);
	   	ele.style.backgroundColor ="lime";
	}}
}


