$(document).ready(function() {
  var et_month;
  var et_year;
  var et_make;
  var et_fuel;
  var et_model;
  var et_type;
  var et_cubature;
  var et_transmission;
  var number_km;
  var first_registration;
  var type_show_format;
  var show_etax_form;
  var short_tab;
  var always_use_et_make_db;

  function prepare_params() {
    et_month = $('#et_month').val();    
    et_year = $('#et_year').val();
    et_make = $('#et_make').val();
    et_fuel = $('#et_fuel').val();
    et_model = $('#et_model').val();
    et_cubature = $('#et_cubature').val();
    et_transmission = $('#et_transmission').val();
    et_type = $('#et_type').val();
    show_etax_form = $('#show_etax_form').val();
    type_show_format = $('#type_show_format').val();
    short_tab = $('#short_tab').val();
    always_use_et_make_db = $('#always_use_et_make_db').val();
  }
  
  function reset_all_params() {
    //$('#et_year').selectOptions("0");  
    $('#et_fuel').selectOptions("0");  
    $('#et_model').selectOptions("0");  
    $('#et_cubature').selectOptions("0");  
    $('#et_transmission').selectOptions("0");  
    
  }

    
  function call_all_change(init) {
    if(init != 'et_model' && $('#et_model').val() == 0 ) {     
      eurotax_form_change('et_model');
    }
    if(init != 'et_fuel' && $('#et_fuel').val() == 0) {
      eurotax_form_change('et_fuel');
      //if($('#et_fuel option').length)
    }
    if(init != 'et_transmission' && $('#et_transmission').val() == 0) {
      eurotax_form_change('et_transmission');
    }
    if(init != 'et_year' && $('#et_year').val() == 0) {
      eurotax_form_change('et_year');
    }
    if(init != 'et_cubature' && $('#et_cubature').val() == 0) {
      eurotax_form_change('et_cubature');
    }
    
    recalc_cars_count();
    return false;
  }
  
  
  $('#et_make').change(function(event) {       
    reset_all_params();
    if($(this).val() == 0) {
      $('#etax_main_pars select').attr("disabled","disabled");
      $(this).removeAttr("disabled");
     // $('#et_year').removeAttr("disabled");  
    //  $('#et_fuel').removeAttr("disabled");  
      //$('#et_model').removeAttr("disabled");          
    } else {
      //$('#etax_main_pars select').removeAttr("disabled");
      $('#et_year').removeAttr("disabled");  
      if($('#et_year').val() != 0) {
        $('#et_fuel').removeAttr("disabled");  
        call_all_change('et_year'); 
      }
      //call_all_change('');
      
    }
    recalc_cars_count();
   
    return false;
  });
  
  $('#et_year').change(function(event) { 
    $('#et_fuel').selectOptions("0");
    $('#et_model').selectOptions("0");
    $('#et_transmission').selectOptions("0");
    $('#et_cubature').selectOptions("0");
    call_all_change('et_year'); 
    
    if($(this).val() == 0) {
       $('#etax_main_pars select').attr("disabled","disabled");
       $(this).removeAttr("disabled");
       $('#et_make').removeAttr("disabled");  
      // $('#et_fuel').removeAttr("disabled");  
    } else {
       if($('#et_make').val() != 0) {
        $('#et_fuel').removeAttr("disabled");  
       }
    }
       
    if ($('#rok_vyroby').length != 0 && $('#et_year').val() > 0 && $('#rok_vyroby').val() != $('#et_year').val() ) {
      $('#rok_vyroby').selectOptions($('#et_year').val());
      $('#rok_vyroby').change();
    }
    return false;
  });
   
  $('#et_fuel').change(function(event) {    
    $('#et_model').selectOptions("0");
    $('#et_transmission').selectOptions("0");
    $('#et_cubature').selectOptions("0");
    call_all_change('et_fuel'); 
    
    if($(this).val() == 0) {
       $('#etax_main_pars select').attr("disabled","disabled");
       $(this).removeAttr("disabled");
       $('#et_year').removeAttr("disabled");  
       $('#et_make').removeAttr("disabled");  
    } else {
       $('#etax_main_pars select').removeAttr("disabled");
    }
    
    //nastavi textovy nazev policka palivo    
    set_fuel_text();
 
    return false;
  });
  
  $('#fuel_text').change(function(event) {    
    
  });
  
  function set_fuel_text() {
    if($('#et_fuel').val() == '00100001') { //benzin
      $('#fuel_text').selectOptions('benzín');
    } else if($('#et_fuel').val() == '00100003') { //nafta
      $('#fuel_text').selectOptions('nafta');
    } else if($('#et_fuel').val() == '00100006') { //benzin nebo plyn
      $('#fuel_text').selectOptions('benzín');
    } else {
      $('#fuel_text').selectOptions('jiné');
    }
  }
  
  
  $('#et_transmission').change(function(event) { 
    $('#et_cubature').selectOptions("0");
    call_all_change('et_transmission'); 
  });
  
  $('#et_cubature').change(function(event) { 
    call_all_change('et_cubature'); 
  });
  
  $('#et_model').change(function(event) { 
   // eurotax_form_change('et_type');
    $('#et_cubature').selectOptions("0");  
    $('#et_transmission').selectOptions("0");  
   // $('#et_fuel').selectOptions("0");  
    call_all_change('et_model'); 
    
    return false;
  });
  
  $('#et_type').change(function(event) { 
    //eurotax_form_change('fill_type_data');
    //calculate_price();
    return false;
  });
  
  $('#change2no_etax_click').click(function(event) { 
    $('#et_make_temp').val($('#et_make').val());
    $('#eurotax_cover').hide();
    $('#user_fill_cover').show();
    $('#change2no_etax').hide();
    $('#change2etax').show();
    $('#show_etax_form').val('0');

    eurotax_form_change('show_etax_form');
    return false;
  });
  
  $('#not_my_car3').click(function(event) {
    $('#not_my_car').click();
  });
  $('#not_my_car2').click(function(event) {
    $('#not_my_car').click();
  });
  
  $('#not_my_car').click(function(event) {
     //null_filled_type_data();   
     $('#eurotax_cover_cars').hide();
     $('#secondary_pars').hide();
     $('#show_etax_form').val('0');
     $('#user_fill_cover').show();
     $('#et_fuel_cover').hide();
     $('#fuel_text_cover').show();
     $('#etax_main_pars select').removeAttr("disabled");
  });
  
  $('#search_my_car').click(function(event) {
     $('#user_fill_cover').hide();
     $('#secondary_pars').show();
     $('#eurotax_cover_cars').show();
   
     $('#type_tab_cover').show();
     $('#show_cars_cover').show();
     $('#cars_count_cover').show();
     $('#no_car_info2').show();
           
     $('#show_etax_form').val('1');  
     $('#fuel_text_cover').hide();
     $('#et_fuel_cover').show();
     $('#et_make').change();
     $('#et_year').change();
     $('#et_fuel').change();
  });
  
  
  $('#change2etax_click').click(function(event) { 
    $('#user_fill_cover').hide();
    $('#eurotax_cover').show();
    $('#change2etax').hide();
    $('#change2no_etax').show();
    $('#show_etax_form').val('1');
    
    eurotax_form_change('show_etax_form');
    return false;
  });
  
  $('#number_km').change(function(event) { 
    calculate_price();
  });
  
  $('#first_registration').change(function(event) { 
    calculate_price();
  });
  
  $('#show_cars').click(function(event) { 
    eurotax_form_change('et_type');
    //$('#show_cars').hide();
    $('#no_car_info2').show();
    $('#show_cars_cover').hide();
    $('#cars_count_cover').hide();
  });
  
  
  function eurotax_form_change(what_change) {
   // set_to_null(what_change);
    prepare_params();
  
    $.get(base_url + '/eurotax_src.php', 
      {et_month: et_month, et_year: et_year,  et_make: et_make, et_fuel: et_fuel, et_cubature: et_cubature
      , et_transmission: et_transmission
      , et_model: et_model,et_type: et_type, type_show_format: type_show_format, action: what_change
      , show_etax_form: show_etax_form, short_tab: short_tab, always_use_et_make_db: always_use_et_make_db },
      function(data) {              
    
           if(what_change == 'et_make') {
             $('#et_make').selectOptions("0");  
             null_select('et_fuel');
             null_select('et_model');
             null_select('et_type');           
           } else if(what_change == 'show_etax_form') {
             
             $('#et_make').html(data); 
             if($('#et_make_temp').val()) {
                $('#et_make').selectOptions($('#et_make_temp').val());  
             } else {
               $('#et_make').selectOptions("0");  
             }    
           } else if(what_change == 'et_fuel') {
             $('#et_fuel').html(data);   
             $('#et_fuel').selectOptions("0");  
        
          //   null_select('et_model');
             null_select('et_type');
           } else if(what_change == 'et_transmission') {
             $('#et_transmission').html(data);   
             $('#et_transmission').selectOptions("0");  
         
          //   null_select('et_model');
             null_select('et_type');
           } else if(what_change == 'et_year') {
             $('#et_year').html(data);   
             $('#et_year').selectOptions("0");  
     
             null_select('et_type');
           } else if(what_change == 'et_cubature') {
             $('#et_cubature').html(data);   
             $('#et_cubature').selectOptions("0");  
        
             null_select('et_type');
           } else if(what_change == 'et_model') {
             $('#et_model').html(data);   
             $('#et_model').selectOptions("0");  

             null_select('et_type');
           } else if(what_change == 'et_type') {
             if(show_etax_form == 1) {
               null_filled_type_data();
             }
             if(type_show_format == 'table') {
               $('#inner_type_data').html(data);
               do_type_tab();
               over_type_tab();
               do_change_type();
               $('#inner_type_data').show();
               //$('#type_tab_cover').show();
             //  $('#choose_buttons').show();
               
               if($('#only_one_type').val() == 1) {
                
                  $('#type_input_1').click();
               }
             } else {
               $('#et_type').html(data);   
               $('#et_type').selectOptions("0");  
             }
           } else if(what_change == 'fill_type_data') {
          
             data = data.split(";");
             $('#objem').val(data[0]);   
             $('#vykon').val(data[1]);
             $('#hmotnost').val(data[2]);  
             
             if($('#seat_number_id').val()) {
               seat_id = $('#seat_number_id').val();
               $('#'+seat_id).val(data[3]);
             }            
            
             if(data[10]) {
               $('#et_model').selectOptions(data[10]);
             }
             if(data[6]) {
               $('#et_fuel').selectOptions(data[6]);
               set_fuel_text();
             }
             if(data[9]) {
               //$('#et_transmission').selectOptions(data[9]);
             }
             if(data[0]) {
               //$('#et_cubature').selectOptions(data[0]);
             }
             
     
               
             // Tichopad - prirazeni spravne kategorie, pokud je ve formulari
             if ($('#druh_vozidla').length != 0) {
             	var vyber = '';
              	if (data[0] < 1000) {
               		vyber = 'OA1';
              	} else if (data[0] < 1350) {
              		vyber = 'OA2';
              	} else if (data[0] < 1850) {
               		vyber = 'OA3';
              	} else if (data[0] < 2500) {
               		vyber = 'OA4';
              	} else {
               		vyber = 'OA5';
              	}
              	$('#druh_vozidla').find('option').each(function(index) {
      				  if ($(this).val() == vyber) {
      				  	$(this).attr('selected', true);
      				  	return false;
      				  }
      				  });
             }
   
             // -------
        
           }  // konec fill_type_data
         
	    } 
	    //function data
    );
    
    /*
    if(what_change != 'et_type' && what_change != 'fill_type_data') {
      recalc_cars_count();
    }
    */
  }
  //eurotax_form_changedo_change_type()
  
  
  function recalc_cars_count() {
    prepare_params();
   
    $.get(base_url + '/eurotax_src.php', 
      {et_month: et_month, et_year: et_year,  et_make: et_make, et_fuel: et_fuel, et_cubature: et_cubature
      , et_transmission: et_transmission
      , et_model: et_model,et_type: et_type, type_show_format: type_show_format, action: 'cars_count'
      , show_etax_form: show_etax_form, short_tab: short_tab, always_use_et_make_db: always_use_et_make_db },
      function(data) {              
         $('#cars_count').html(data);    
       
         if(data == 0) {
           $('#type_tab_cover').hide();
          // $('#choose_buttons').hide();
           $('#show_cars_cover').hide();
           $('#no_car_info').show();
           $('#no_car_info2').hide();
         } else if(data <= 100) {
           eurotax_form_change('et_type');
           $('#show_cars_cover').hide();
           $('#cars_count_cover').hide();
           $('#type_tab_cover').show();
           $('#no_car_info').hide();
           $('#no_car_info2').show();
         } else if(data <= 150) {
           $('#show_cars_cover').show();
           $('#cars_count_cover').show();
           $('#show_cars').removeAttr('disabled');
           $('#show_cars').show();
            $('#type_tab_cover').show();
           null_select('et_type');
           $('#inner_type_data').hide();
          // $('#type_tab_cover').hide();
           //$('#choose_buttons').hide();
           $('#no_car_info').hide();
           $('#no_car_info2').show();
         } else {          
           null_select('et_type');
            $('#type_tab_cover').show();
           $('#inner_type_data').hide();
          // $('#type_tab_cover').hide();
          // $('#choose_buttons').hide();
           $('#show_cars_cover').show();
           $('#cars_count_cover').show();
           $('#show_cars').attr('disabled','disabled');
           $('#no_car_info').hide();
           $('#no_car_info2').show();
         }

          if(data <= 12) {
            // $('#type_tab_cover').css({"width": "630px"});
            // $('#choose_buttons').css({"width": "630px"});
            // var height = 20+ data * 25;
            // height = height + 'px';
            // $('#inner_type_data').css({"height": height});
          } else {
           //  $('#type_tab_cover').css({"width": "650px"});
            // $('#choose_buttons').css({"width": "650px"});
             //$('#type_tab td.td6').css({"width": "20px"});
          }
         
	    });
	    //function data
  }
  
  
  
  function null_select(id) {
     //$('#'+id).html('<option value="0">- vyberte -<option>');
     $('#'+id).selectOptions("0");
     if(id == 'et_type') {
        if(show_etax_form == 1) {
          null_filled_type_data();
        }
     }
  }
  
  /*
  function set_to_null(sel_id) {
    if(sel_id == 'et_make') {
       $('#et_model').selectOptions("0");  
    }
  }
  */

  
  //vymaza data ktera se plni pokud se zvoli typ vozidla
  function null_filled_type_data() {
     $('#objem').val('');   
     $('#vykon').val('');
     $('#hmotnost').val('');  
     if($('#seat_number_id').val()) {
       seat_id = $('#seat_number_id').val();
       $('#'+seat_id).val('');
     }
     
     if(show_etax_form == 1) {
       $('#model_typ_text').val('');    
     }
     
  }
  
  function do_change_type() {
    $('.change_type').click(function(event) { 
    //  $('#et_model').change(); //zavolani f-ce zmeni modelu -> a teda 
      return false;
    });
  }
  
 
  
  
  function calculate_price() {
       
    number_km = $('#number_km').val();
    first_registration = $('#first_registration').val();
    et_type = $('#et_type').val();
    et_make = $('#et_make').val();
    et_model = $('#et_model').val();

    if(!number_km || !first_registration || !et_type) return false;
    
    $.get(base_url + '/eurotax_src.php', 
      {et_type: et_type, number_km: number_km,  first_registration: first_registration,
       et_make: et_make, et_model: et_model, action: 'calculate_price' },
      function(data) {              
        data = data.split(";");
        
        if($('#new_price_id').val()) {
          $('#' + $('#new_price_id').val()).val(data[1]);
          if ($('#' + $('#new_price_id').val()+'_bez_DPH').length != 0) {
            var bez_dph = Math.round(data[1] / 1.2,0);
            $('#' + $('#new_price_id').val()+'_bez_DPH').val(bez_dph);
          }
        }
        if($('#current_price_id').val()) {
          $('#' + $('#current_price_id').val()).val(data[0]);
          if ($('#' + $('#current_price_id').val()+'_bez_DPH').length != 0) {
            var bez_dph = Math.round(data[0] / 1.2,0);
            $('#' + $('#current_price_id').val()+'_bez_DPH').val(bez_dph);
          }
        }
        
        //honzova f-ce pro preneseni ceny
        transfer_price();

	    } 
	    //function data
    );
  }
  
  //F-ce kontroluje jesli jsou zadane vsechna data
  function validate_car_data(type) {
    var msg = '';
    if(type == 'user') {
      if(!$('#objem').val()) {
        msg = msg + "Musíte zadat objem vozidla.\n";
        $('#objem').addClass('err_empty');
      } else {
        $('#objem').removeClass('err_empty');
      }
      if(!$('#vykon').val()) {
        msg = msg + "Musíte zadat výkon vozidla.\n";
        $('#vykon').addClass('err_empty');
      } else {
        $('#vykon').removeClass('err_empty');
      }
      if(!$('#hmotnost').val()) {
        msg = msg + "Musíte zadat hmotnost vozidla.\n";
        $('#hmotnost').addClass('err_empty');
      } else {
        $('#hmotnost').removeClass('err_empty');
      }
      if($('#et_make').val() == 0) {
        msg = msg + "Musíte vybrat značku vozidla.\n";
      }
      if($('#fuel_text').val() == 0) {
        msg = msg + "Musíte vybrat typ paliva.\n";
      }
    } else {
      if($('#et_make').val() == 0) {
        msg = msg + "Musíte vybrat značku vozidla.\n";
      }
      if(!$('#et_type').val()) {
        msg = msg + "Musíte vybrat typ vozidla.\n";
      }
    }
    
    if(msg != '') {
      alert(msg);
      return false;
    }
    return true;
  }
  
  function over_type_tab() {
    //type tab
    $('#type_tab tr').mouseover(function(event) { 
      if($(this).attr('class') != 'active') {
        $(this).addClass('on_hover');
      }
      return false;
    });
    
    $('#type_tab tr').mouseout(function(event) { 
      $(this).removeClass('on_hover');
      return false;
    });
  }
  
   $('#use_car').click(function(event) {
     /*
     if($('#agc').val() == 1) {
       $('#agc').val('0');
       alert('pruser');
       return false;
     } else {
       $('#agc').val('1');
     }
     */
     if(!validate_car_data('etax')) {
       return false;
     }
     
     $('#dl_close_use_car').val('1');
     eurotax_form_change('fill_type_data');       
     $('#dialog_eurotax').dialog('close');
      return false;
   });
   
   //vybral si zadani auta rucne a potrvdil udaje
   $('#use_car_user_fill').click(function(event) {
     if($('#agc').val() == 1) {
       $('#agc').val('0');
       return false;
     } else {
       $('#agc').val('1');
     }
     if(!validate_car_data('user')) {
       return false;
     }
     $('#dl_close_use_car').val('1');
     $('#et_type').val('');
     $('#use_car').attr('disabled');
     $('#dialog_eurotax').dialog('close');
     $('#show_etax_form').val('0');
     return false;
   });
   
  
  function do_type_tab() {
   // $('#type_tab .typVozidla').click(function(event) {				
    $('#type_tab tr td.input_radio input').click(function(event) {				   
      
    //  $("#type_tab tr td.input_radio input").each( function() {                       
        // var i_id = $(this).attr("id").substring(11);
      //   alert(i_id);
       //  $('#tr_id_' + i_id).click();
       //  return false;
   //   });
      
      //$('#type_tab tr td.input_radio input').removeAttr('checked');
     // $(this).attr('checked','checked');
     // alert($(this).attr('checked'));
     //$(this).parents("tr").click();
    //  return false;
     
    });
    
    
    $('#type_tab tr').click(function(event) {				     
        //ziskani ID radku
          
        var tr_id = $(this).attr('id').substring(6);
       
        //$('#type_tab tr td.input_radio input').removeAttr('checked');
        //$('#type_input_' + tr_id).attr('checked','checked');
       
        $('#et_type').val($('#type_input_' + tr_id).val());
        $('#type_tab tr').removeClass('active');
        $(this).addClass('active');
        //$('#use_car').removeAttr('disabled');
        $('#use_car').click();
        
        //ziskani nazvu ID typu
  			//var type_val_id = 'type_input_' + tr_id + '_value';
  			//var type_val = $('#'+type_val_id).val(); //ziskani hodnoty ID typu vozidla
  			
  		  //$('#et_type').val(type_val); //vlozeni ID typu vozidla
  		  //$('#et_type').change(); //zavolani zmen a teda refill udaju o vozidle (vykon, objem...)
  		  
  		  //schovani vsech radku tabulky s vyberem typu vozidla
  		  //$('#type_tab tr').hide();
  		  
  		  //$(this).attr('class','active');
  		  //$(this).show();		
  		  //$(this).css({"background-color": "transparent"});
  		  
        //nastaveni u vybraneho radku class na active
  		  //$(this).parents("tr").attr('class','active');
  		  
  		  //zobrazeni hlavicky tabulky
  		 // $('#type_tab .thead_row').show();
  		  
  		  //zobrazeni vybraneho radku
  		  
  		 // $(this).parents("tr").show();		
  		 // $(this).parents("tr").css({"background-color": "transparent"});
  		  //$('#type_itd_' + tr_id +' input').hide();
  		 // $('#type_itd_' + tr_id +' a').show();
  		  //nahradeni tlacikta Vybrat -> odkazem zmenit
  		//  var type_itd = $('#type_itd_' + tr_id).html();
  		 // $('#type_itd_' + tr_id).html('<a href="#" id="change_type" onclick="do_change_type();return false;">změnit</a>');
  		  
  		  return false; 		
  		});
    //Type TAB
   }
   
   do_type_tab();
   over_type_tab();
   do_change_type();
   
  /* 
   $('input:text.date').datepicker();
   $('#first_registration').datepicker( "option", "yearRange", '1920:2010' );
   $('input:text.date').datepicker('option', {dateFormat: 'd.m.yy'});
   
   */
})


