var date_interval_selector;


function dateIntervalSelectorInt()
{

    this.autoBindAllFieldsInt= function()
    {
        this.bindDatePeriodSelectorInt( "period_left_interhome", "period_right_interhome");
    }

    this.bindDatePeriodSelectorInt= function( left_boundary_selector, right_boundary_selector )
    {
        $("#"+left_boundary_selector).datepicker( {
            dateFormat: 'dd.mm.yy',
            minDate: this.min_date,
            dayNames: lang.dayNames,
            dayNamesMin: lang.dayNameAbbreviations,
            monthNames: lang.monthNames,
            firstDay: lang.firstDayOfTheWeek,
            onSelect: function( old_date )
                {
                var new_date= new Date();
                    var slices= old_date.split( '.' );

                    if( slices[ 1 ][ 0 ] == '0' )
                        slices[ 1 ]= slices[ 1 ][ 1 ];
                new_date.setFullYear( parseInt( slices[ 2 ] ), parseInt( slices[ 1 ] )-1, parseInt( slices[ 0 ] ) );

                new_date.setDate( new_date.getDate()+1 );

                $('#'+right_boundary_selector ).datepicker('option', 'minDate', new_date );

                var id = document.getElementById('accId');
            
                var from = document.getElementById(left_boundary_selector);
                var to = document.getElementById(right_boundary_selector);
                var insAins = document.getElementById('InsAins');

                if(from.value!='' && to.value!='')
                {
                    if(isDateInt(from.value) && isDateInt(to.value))
                    {
                        if(checkDatePeriodInt(from.value, to.value))
                        {
                           

                            var placePrice = document.getElementById('interhomePrice');
                            removeAllChildNodes(placePrice); 

//                             <div class="loaderWindow" id="ajaxLoaderWindow"><img alt="Loading data, please wait" src="/main/img/loader.gif" style="width: 32px" /><br /><tal:block i18n:translate=""> '+lang.dict.loadingData+'</tal:block></div>

                            var messages = new Array();
                           messages[messages.length] = '<img alt="Loading data, please wait" src="/main/img/ajax-loader.gif" style="width: 32px" /><br /><tal:block i18n:translate=""> '+lang.dict.loadingData+'</tal:block>';
                        //    messages[messages.length] = "LOL";    
                            messageWindow( lang.dict.interhomeReservationPanel, messages);
          
     


                           // var loader = document.getElementById('ajaxLoaderWindow');
                            //loader.style.display = 'block';

                            var urlL = "/webserv/priceFromInterhome.php?from="+from.value+"&to="+to.value+"&id="+id.value+"&insAins="+insAins.options[insAins.selectedIndex].value;
                            advAJAX.get({
                            url: urlL,
                            onSuccess : displayPriceInt
                            });   
                        }
                    }
                    check29Days(from.value);
                    
                }
                }
            });

        $('#'+right_boundary_selector ).datepicker( {
            dateFormat: 'dd.mm.yy',
            minDate: this.min_date,
            dayNames: lang.dayNames,
            dayNamesMin: lang.dayNameAbbreviations,
            monthNames: lang.monthNames,
            firstDay: lang.firstDayOfTheWeek,
            onSelect: function( old_date )
                {
                    var new_date= new Date();
                     var slices= old_date.split( '.' );

                    if( slices[ 1 ][ 0 ] == '0' )
                        slices[ 1 ]= slices[ 1 ][ 1 ];

                    new_date.setFullYear( parseInt( slices[ 2 ] ), parseInt( slices[ 1 ] )-1, parseInt( slices[ 0 ] ) );

                    new_date.setDate( new_date.getDate()-1 );

                    $("#"+left_boundary_selector).datepicker('option', 'maxDate', new_date );

                    var id = document.getElementById('accId');
                    var from = document.getElementById(left_boundary_selector);
                    var to = document.getElementById(right_boundary_selector);
                    var insAins = document.getElementById('InsAins');
                   
                    if(from.value!='' && to.value!='')
                    {
                        if(isDateInt(from.value) && isDateInt(to.value))
                        {
                                if(checkDatePeriodInt(from.value, to.value))
                                {
                                    var placePrice = document.getElementById('interhomePrice');
                                    removeAllChildNodes(placePrice); 

                                    var messages = new Array();
                                    messages[messages.length] = '<img alt="Loading data, please wait" src="/main/img/ajax-loader.gif" style="width: 32px" /><br /><tal:block i18n:translate=""> '+lang.dict.loadingData+'</tal:block>';
                                    messageWindow( lang.dict.interhomeReservationPanel, messages);
                    
                                   // var loader = document.getElementById('ajaxLoaderWindow');
                                   // loader.style.display = 'block';

                                    var urlL = "/webserv/priceFromInterhome.php?from="+from.value+"&to="+to.value+"&id="+id.value+"&insAins="+insAins.options[insAins.selectedIndex].value;
                                    advAJAX.get({
                                    url: urlL,
                                    onSuccess : displayPriceInt
                                    });   
                                }
                        }

                        check29Days( from.value );
                     }
                }
        });
    }


    return this;
}


function updatePrice( event )
{  
    var sender= getEventTarget( event );
    var id = document.getElementById('accId');
    var from = document.getElementById('period_left_interhome');
    var to = document.getElementById('period_right_interhome');

                    if(from.value!='' && to.value!='')
                    {
                        if(isDateInt(from.value) && isDateInt(to.value))
                        {
                                if(checkDatePeriodInt(from.value, to.value))
                                {
                                    var placePrice = document.getElementById('interhomePrice');
                                    removeAllChildNodes(placePrice); 
                
                                   // var loader = document.getElementById('ajaxLoaderWindow');
                                   // loader.style.display = 'block';

                                    var messages = new Array();
                                    messages[messages.length] = '<img alt="Loading data, please wait" src="/main/img/ajax-loader.gif" style="width: 32px" /><br /><tal:block i18n:translate=""> '+lang.dict.loadingData+'</tal:block>';
                                    messageWindow( lang.dict.interhomeReservationPanel, messages);
                     


                                    var urlL = "/webserv/priceFromInterhome.php?from="+from.value+"&to="+to.value+"&id="+id.value+"&insAins="+sender.options[sender.selectedIndex].value;
                                    advAJAX.get({
                                    url: urlL,
                                    onSuccess : displayPriceInt
                                    });   
                                }
                        }
                    }
}


function initDateIntervalSelectorInt()
{
    if(document.getElementById('period_left_interhome'))
    {
    date_interval_selector= new dateIntervalSelectorInt();
    date_interval_selector.autoBindAllFieldsInt();
    var insAins = document.getElementById('InsAins');
    

    addPortableEventListener( insAins, 'change', updatePrice);

    var from = document.getElementById('period_left_interhome');
    var to = document.getElementById('period_right_interhome');
    var divToHide = document.getElementById('reservationToHide');

    if(from.value!='' && to.value!='')
    {
        if( document.getElementById( 'hide_interhome_form_box' ) )
            divToHide.style.display = 'none';
        else
        {
            divToHide.style.display = 'block';
            check29Days( from.value );
        }
    }
    else
    {
        divToHide.style.display = 'none';
    }

    var paymentMode = document.getElementById('paymentMode');
     var fieldsetToHide = document.getElementById('creditCartData');

     if(paymentMode.options[paymentMode.selectedIndex].value=='1')
     {
            fieldsetToHide.style.display = 'block';
     }
     else
     {
        fieldsetToHide.style.display = 'none';
     }

    
    addPortableEventListener( paymentMode, 'change', displayCreditCartData);
    }
    
}


runOnLoad( initDateIntervalSelectorInt );
