function interhomeTranslate( translated )
{
    //console.log("interhomeTranslate");

    //console.log( translated );

  

    if( lang.externals[ translated ] )
    {
        return lang.externals[ translated ];
    }
    if( translated.substr( 0, 34 ) == 'Startday is not valid. Please try ' )
    {
        var result= lang.externals[ 'Startday is not valid. Please try ' ];
        var days= translated.substr( 34 );
        
        days= days.replace( /[ ,]+/g, ',' );

        // console.log( days );

        var spl= days.split( ',' );

        var result_days= new Array();
        
        for( var itr= 0; itr < spl.length; itr++ )
            result_days.push( lang.externals[ spl[ itr ] ] );

        result+= result_days.join( ', ' )+'.';
        
        return result;
    }

    return lang.dict.interhomeUnknownError;
}





function isDateInt(txtDate)
{  
    //console.log(txtDate);

   var objDate;   
   var mSeconds;   

   
   if (txtDate.length != 10) return false;  
   
 
   var month   = txtDate.substring(3,5)  - 1;  
   var day = txtDate.substring(0,2);  
   var year  = txtDate.substring(6,10);  
   
    //console.log(month, day, year);

  
   if (txtDate.substring(2,3) != '.') return false;  
   if (txtDate.substring(5,6) != '.') return false;  
   
   if (year < 999 || year > 3000) return false;  
   
   // convert txtDate to the milliseconds  
   mSeconds = (new Date(year, month, day)).getTime();  
   
   // set the date object from milliseconds  
   objDate = new Date();  
   objDate.setTime(mSeconds);  
   
   // if there exists difference then date isn't valid  
   if (objDate.getFullYear() != year)  return false;  
   if (objDate.getMonth()    != month) return false;  
   if (objDate.getDate()     != day)   return false;  
   
   // otherwise return true  
   return true;  
 }  

function checkDatePeriodInt(from, to)
 {
   var month1 = from.substring(3,5)-1;  
   var day1 = from.substring(0,2);  
   var year1 = from.substring(6,10);  

   var month2 = to.substring(3,5)-1;  
   var day2 = to.substring(0,2);  
   var year2 = to.substring(6,10);  
 
   mSeconds1 = (new Date(year1, month1, day1)).getTime();  
   mSeconds2 = (new Date(year2, month2, day2)).getTime();

   if( mSeconds1 > mSeconds2 )
    {
        return false;
    }
   else
    {
        return true;
    }
 }




function displayPriceInt( result )
{
    //var loader = document.getElementById('ajaxLoaderWindow');
   // loader.style.display = 'none';

    removeAdditionalCostsTable();
    
    var placePrice = document.getElementById('interhomePrice');
    var inputText = result.responseText;
    var result_data = JSON.parse( inputText );
    
    printAdditionalCostsTable( result_data.AdditionalCosts );
       
    var insOptions = document.getElementById('InsAins');

    var place = document.getElementById('insTarget');
    removeAllChildNodes(place);

 
    if(result_data.ReturnCode==true)
    {
        

       removeAllChildNodes(placePrice); 
       //placePrice.appendChild(document.createTextNode("Price: "+result_data.PriceClientTotal+" "+result_data.Currency)); 
        
       var messages = new Array();
       messages[messages.length] =  " "+ lang.dict.priceForSelectedPeriod+ " "+result_data.PriceClientTotal+" "+result_data.Currency;

        
       messageWindow( lang.dict.interhomeReservationPanel, messages);
          
   



        if(result_data.InsExtraCode1!='' && insOptions.options[insOptions.selectedIndex].value=='Y')
        {
            var selectobj = document.createElement("select");
            selectobj.name="extraIns";
            var option1 = document.createElement("option");
            option1.value=result_data.InsExtraCode1;
            option1.appendChild(document.createTextNode(result_data.InsExtraDesc1+' '+result_data.PriceInsExtra1+' '+result_data.Currency));  
            selectobj.appendChild(option1);  

            var saveIns1 = new Array();
            saveIns1[saveIns1.length] = result_data.InsExtraCode1;
            saveIns1[saveIns1.length] = result_data.InsExtraDesc1;
            saveIns1[saveIns1.length] = result_data.PriceInsExtra1;
            saveIns1[saveIns1.length] = result_data.Currency;                    

            var input1obj = document.createElement("input");
            input1obj.type='hidden';
            input1obj.name="ins1";
            input1obj.value= JSON.stringify(saveIns1);
            //console.log(input1obj.value);

            place.appendChild(input1obj);

            if(result_data.InsExtraCode2!='')
            {    
                var option2 = document.createElement("option");
                option2.value=result_data.InsExtraCode2;
                option2.appendChild(document.createTextNode(result_data.InsExtraDesc2+' '+result_data.PriceInsExtra2+' '+result_data.Currency));  
                selectobj.appendChild(option2);  

                var saveIns2 = new Array();
                saveIns2[saveIns2.length] = result_data.InsExtraCode2;
                saveIns2[saveIns2.length] = result_data.InsExtraDesc2;
                saveIns2[saveIns2.length] = result_data.PriceInsExtra2;
                saveIns2[saveIns2.length] = result_data.Currency;                    
    
                var input2obj = document.createElement("input");
                input2obj.type='hidden';
                input2obj.name="ins2";
                input2obj.value= JSON.stringify(saveIns2);
                //console.log(input2obj.value);
    
                place.appendChild(input2obj);
            }

            place.appendChild(selectobj);      
        }
    
        if(insOptions.options[insOptions.selectedIndex].value=='N')
        {
            removeAllChildNodes(place);    
            place.appendChild(document.createTextNode( lang.dict.none ));
        }

        var divToHide = document.getElementById('reservationToHide');
        divToHide.style.display = 'block';
    
    }
    else
    { 
      removeAllChildNodes(placePrice); 

	

      if(result_data.ERRORS[0].length)
      { 
        var error_string = '';  
        for(var i=0; i<result_data.ERRORS[0].length; i++)
        {
            error_string = error_string+result_data.ERRORS[0][i].ErrorCodeDesc+". "; 
        }                                                                   

      //  placePrice.appendChild(document.createTextNode("Error: "+error_string));

       var messages = new Array();
       messages[messages.length] = "W czasie wyznaczania ceny apartamentu wystąpił błąd: "+interhomeTranslate( error_string );

       messageWindow( lang.dict.interhomeReservationPanel, messages);
      
        

      }
      else
      {
//         placePrice.appendChild(document.createTextNode("Error: "+result_data.ERRORS[0].ErrorCodeDesc));

       var messages = new Array();
       messages[messages.length] = "W czasie wyznaczania ceny apartamentu wystąpił błąd: "+interhomeTranslate( result_data.ERRORS[0].ErrorCodeDesc );

       messageWindow( lang.dict.interhomeReservationPanel, messages);

      }
      
      removeAllChildNodes(place);    
      place.appendChild(document.createTextNode( lang.dict.none ));
                
      var divToHide = document.getElementById('reservationToHide');
      divToHide.style.display = 'none';  
    }

}

function check29Days( from )
{
   var ar_from = from.split(".", 3);
   var myDate = new Date();
   myDate.setFullYear(ar_from[2]-0,ar_from[1]-1,ar_from[0]-0); 
 
   var today = new Date();
   today.setDate(today.getDate()+29);

    var paymentMode = document.getElementById('paymentMode');
    var allOptions = paymentMode.getElementsByTagName('option');


   if (today>myDate)
    {
        for(var i = allOptions.length-1; i>=0; i--)
         {
            if(allOptions[i].value=='4')
            {
                paymentMode.removeChild(allOptions[i]);
            }
         }
    }
    else
    {
        var exists = false;
        for(var i = allOptions.length-1; i>=0; i--)
         {
            if(allOptions[i].value=='4')
            {
                exists = true;
            }
         }
        
        if(!exists)
        {
             var option = document.createElement("option");
             option.value=4;
             option.appendChild(document.createTextNode('invoice'));  
             paymentMode.appendChild(option);   
        }
    }
}




function removeAdditionalCostsTable()
{
    var wrapper= document.getElementById( 'additionalCostsWrapper' );
    if( wrapper )
        wrapper.parentNode.removeChild( wrapper );
}





function printAdditionalCostsTable( table_data )
{
    var reservation_form= document.getElementById( 'reservationToHide' );

    removeAdditionalCostsTable();

    
    var wrapper= document.createElement( 'fieldset' );
    wrapper.id= 'additionalCostsWrapper';
//     wrapper.style.display= 'none';
    
    var legend= document.createElement( 'legend' );
    legend.innerHTML= lang.dict.additiona_costs_title;;

    wrapper.appendChild( legend );

    var table= document.createElement( 'table' );
    
    var header= document.createElement( 'tr' );

    var name_head= document.createElement( 'th' );
    name_head.innerHTML= lang.dict.additional_attributes_name;
    header.appendChild( name_head );
    
    var price_head= document.createElement( 'th' );
    price_head.innerHTML= lang.dict.additional_attributes_price;
    header.appendChild( price_head ); 

    var description_head= document.createElement( 'th' );
    description_head.innerHTML= lang.dict.additional_attributes_description;
    header.appendChild( description_head ); 

    table.appendChild( header );
    
    for( itr= 0; itr < table_data.length; itr++ )
    {
        var row= document.createElement( 'tr' );

        row.className= 'row'+ itr%2;
        
        var name_row= document.createElement( 'td' );
        name_row.innerHTML= table_data[ itr ].NkType;
        row.appendChild( name_row );
        
        var price_row= document.createElement( 'td' );
        price_row.innerHTML= '' + table_data[ itr ].NkAmount + ' '+ table_data[ itr ].Currency;;
        row.appendChild( price_row );
        
        var description_row= document.createElement( 'td' );
        description_row.innerHTML= table_data[ itr ].NkDescription;
        row.appendChild( description_row );
        
        table.appendChild( row );
    }
    
    wrapper.appendChild( table );
    reservation_form.parentNode.insertBefore( wrapper, reservation_form );
}





/*

{"CreationDate":"0001-01-01","Currency":"EUR","EndDate":"2010-10-02","NkAmount":200,"NkCode":"DE","NkDescription":"P\u0142atne na miejscu sta\u0142a warto\u015b\u0107","NkNum":0,"NkTxt":"DE","NkType":"Kaucja zwrotna","StartDate

*/




function displayCreditCartData(event)
{
    var sender= getEventTarget( event );
    
    var fieldsetToHide = document.getElementById('creditCartData');
    
    if(sender.options[sender.selectedIndex].value=='1')
    {
        fieldsetToHide.style.display = 'block';
    }
    else
    {
        fieldsetToHide.style.display = 'none';
    }
}

