xajax.loadingFunction = meoverlayon;
xajax.doneLoadingFunction = meoverlayoff;

var cal1; 
var cal2; 
var cal3; 
var cal4; 

function alertme1(s1, s2, s3, s4) {
    var adate = cal1.getSelectedDates();
    var month = adate[0].getMonth()+1;
    cal1.hide();
   
    xajax_modifyArrivalDate(adate[0].getDate(), month, adate[0].getFullYear(), ses);
}

function alertme2() {
    var adate = cal2.getSelectedDates();
    var month = adate[0].getMonth()+1;
    cal2.hide();
    
    xajax_modifyDepartureDate(adate[0].getDate(), month, adate[0].getFullYear(), ses);
}

function alertme3() {
    var adate = cal3.getSelectedDates();
    var month = adate[0].getMonth()+1;
    cal3.hide();
    
    xajax_modifyOutwardDate(adate[0].getDate(), month, adate[0].getFullYear(), ses);
}

function alertme4() {
    var adate = cal4.getSelectedDates();
    var month = adate[0].getMonth()+1;
    cal4.hide();
    
    xajax_modifyReturnDate(adate[0].getDate(), month, adate[0].getFullYear(), ses);
}

function setCal2MinDate(d, m, y) {
    cal2.cfg.setProperty("mindate", new Date(y,(m-1),d));
    cal2.render();
}

function setCal2MinMaxDates(dmin, mmin, ymin, dmax, mmax, ymax) {
    cal2.cfg.setProperty("mindate", new Date(ymin,(mmin-1),dmin));
    cal2.cfg.setProperty("maxdate", new Date(ymax,(mmax-1),dmax));
    cal2.render();
}

function setCal3MinMaxDates(dmin, mmin, ymin, dmax, mmax, ymax) {
    cal3.cfg.setProperty("mindate", new Date(ymin,(mmin-1),dmin));
    cal3.cfg.setProperty("maxdate", new Date(ymax,(mmax-1),dmax));
    cal3.render();
}

function setCal4MinMaxDates(dmin, mmin, ymin, dmax, mmax, ymax) {
    cal4.cfg.setProperty("mindate", new Date(ymin,(mmin-1),dmin));
    cal4.cfg.setProperty("maxdate", new Date(ymax,(mmax-1),dmax));
    cal4.render();
}

function selectthechosendate(d,m,y) {
   cal1.selectEvent.unsubscribe(alertme1); 
   cal1.cfg.setProperty("pagedate", m+'/'+y);
   cal1.select(new Date(y,(m-1),d));
   cal1.render();
   
   cal1.selectEvent.subscribe(alertme1); 
}

function selectthechosendate2(d,m,y) {
   cal2.selectEvent.unsubscribe(alertme2); 
   cal2.cfg.setProperty("pagedate", m+'/'+y);
   cal2.select(new Date(y,(m-1),d));
   cal2.render();
   
   cal2.selectEvent.subscribe(alertme2); 
}

function selectthechosendate3(d,m,y) {
   cal3.selectEvent.unsubscribe(alertme3); 
   cal3.cfg.setProperty("pagedate", m+'/'+y);
   cal3.select(new Date(y,(m-1),d));
   cal3.render();
   
   cal3.selectEvent.subscribe(alertme3); 
}

function selectthechosendate4(d,m,y) {
   cal4.selectEvent.unsubscribe(alertme4); 
   cal4.cfg.setProperty("pagedate", m+'/'+y);
   cal4.select(new Date(y,(m-1),d));
   cal4.render();
   
   cal4.selectEvent.subscribe(alertme4); 
}

function initCal1(s, p, l, h, a) {
	var tabA = new Array();
	if(a != null && a!="") {
		tabA = a.split(",");
	}

    cal1 = new YAHOO.widget.Calendar(
        "cal1",
        "cal1Container", 
        {
            close:true,
            selected:s,
            pagedate:p,
            mindate :l,
            maxdate :h,
            authorized :tabA
        }
   );
   cal1.selectEvent.subscribe(alertme1); 

   //ndaniloff - jour suivant si s est dans la liste des jours restreints
	if(tabA.length > 0) {
   	var adate = new Array();
   	var dateTab = s.split("/");
   	adate[0] = new Date(dateTab[2], dateTab[0]-1, dateTab[1]);
	var day = adate[0].getDay();
	
	reload = false;
	
	while(tabA.indexOf(""+day) == -1) {
		
		adate[0].setDate(adate[0].getDate()+1);
		day = adate[0].getDay();
		reload = true;
	}
	if(reload) {
    	xajax_modifyArrivalDate(adate[0].getDate(), adate[0].getMonth()+1, adate[0].getFullYear(), ses);
		cal1.cfg.setProperty("selected", adate);
	}
   }
   //end ndaniloff
	
   cal1.render();
   YAHOO.util.Event.addListener("show1up", "click", cal1.show, cal1, true); 
   cal1.hide();
} 

function initCal2(s, p, l, h) { 
    cal2 = new YAHOO.widget.Calendar(
        "cal2",
        "cal2Container", 
        {
            close:true,
            selected:s,
            pagedate:p,
            mindate :l,
            maxdate :h
        }
   );
   cal2.selectEvent.subscribe(alertme2); 
   cal2.render();
   YAHOO.util.Event.addListener("show2up", "click", cal2.show, cal2, true); 
   cal2.hide();
} 

function initCal3(s, p, l, h) { 
    cal3 = new YAHOO.widget.Calendar(
        "cal3",
        "cal3Container", 
        {
            close:true,
            selected:s,
            pagedate:p,
            mindate :l,
            maxdate :h
        }
   );
   cal3.selectEvent.subscribe(alertme3); 
   cal3.render();
   YAHOO.util.Event.addListener("show3up", "click", cal3.show, cal3, true); 
   cal3.hide();
} 

function initCal4(s, p, l, h) { 
    cal4 = new YAHOO.widget.Calendar(
        "cal4",
        "cal4Container", 
        {
            close:true,
            selected:s,
            pagedate:p,
            mindate :l,
            maxdate :h
        }
   );
   cal4.selectEvent.subscribe(alertme4); 
   cal4.render();
   YAHOO.util.Event.addListener("show4up", "click", cal4.show, cal4, true); 
   cal4.hide();
} 