window.addEvent('domready', function() {
	//CALENDARI
    var date=new Array();
    $$('.data_init').each(function(data) {
        var id=data.get('id');
        //se il value dell'input non Ã¨ vuoto inizializza la data
        if($(id).get('value')) var inizia=[$(id).get('value').substr(6,4),$(id).get('value').substr(3,2)-1,$(id).get('value').substr(0,2)];
        else {
            var ora= new Date();
            var inizia=false;
        }
        //se l'imput ha la classe da_ora o a_ora cambia le date minime e massime
        var adesso= new Date();
        var ora=[adesso.getFullYear(),adesso.getMonth(),adesso.getDate()]
        if($(id).hasClass('a_ora')) var d_to=ora;
        if($(id).hasClass('da_ora')) var d_from=ora;
        var hoy = new Date();
        var salidaFrom = new Date(hoy.getFullYear(),hoy.getMonth(),hoy.getDate()+7);
        salidaFrom = [salidaFrom.getFullYear(),salidaFrom.getMonth(),salidaFrom.getDate()];
        date[id]=$(id).datePicker({
            klass: "datePicker",
            format: '%d-%m-%Y',
            from: d_from,
            to:d_to,
            setInitial: true,
            initial: inizia,
            days: ["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],
            draggable: true,
            position: {x:"right",y:"top"},
            offset: {x:22,y:0},
            updateElement:true,
            firstday: 1,
            onUpdate: function(){
                if($(id).get('rel')) {
                    var legato=$(id).get('rel');
                    //$(legato).set('value')
                    //recupera la prima data
                    var valore=$(id).get('value');
                    var data_1= new Date();
                    data_1.set('date',valore.substr(0,2));
                    data_1.set('month',valore.substr(3,2)-1);
                    data_1.set('year',valore.substr(6,4));
                    //recupera la seconda data
                    var valore=$(legato).get('value');
                    var data_2= new Date();
                    data_2.set('date',valore.substr(0,2));
                    data_2.set('month',valore.substr(3,2)-1);
                    data_2.set('year',valore.substr(6,4));
                    //alert(data_1.diff(data_2));
                    var giorno_dopo=data_1.clone();
                    giorno_dopo.increment('day',1);
                    if(data_1.diff(data_2)<=0) {
                        //se il datepicker del giorno dopo Ã¨ gia stato inizializzato lo modifica
                        if(date[legato]){
                            date[legato].options.from=[giorno_dopo.get('year'),giorno_dopo.get('month'),giorno_dopo.get('date')];
                            date[legato].setFullDate(giorno_dopo.get('year'),giorno_dopo.get('month'),giorno_dopo.get('date'));
                            date[legato].update();
                        }
                        //altrimenti aggiorna semplicemente il value dell'input in attesa che il datepicker venga creato
                        else {
                            var risultato=giorno_dopo.format("%d-%m-%Y");
                            $(legato).set('value',risultato);
                        }
                    }
                    //aggiorna la data minima della seconda data
                    if(date[legato]){
                        date[legato].options.from=[giorno_dopo.get('year'),giorno_dopo.get('month'),giorno_dopo.get('date')];
                        date[legato].update();
                    }
                }
				$(id).fireEvent('change');
            }
        },"click");
        if( $(id).getNext('img'))$(id).getNext('img .dp_ico').addEvent('click',function(evento) {date[id].show();});

    });
});
