$(document).ready(function() {
	$("#id_brand").attr('disabled', 'disabled');
	$("#id_height").attr('disabled', 'disabled');
	$("#id_width").attr('disabled', 'disabled');
	$("#id_rim_size").attr('disabled', 'disabled');
});

function manageHint(id, show) {
  if (show) {
    $('#arrow' + id).css('display', 'block');
  }
  else {
    $('#arrow' + id).css('display', 'none');
  }
}

function load_brands() {
  
  var id_category = parseInt($('#id_category').val());
  
  if((id_category>0)){
    $.ajax({
        type : 'POST',
        url : './forms/tyre_finder_ajax.php',
        dataType : 'html',
        data: {
            op: 'load_brands',
            id_category: id_category
        },
        success : function(data){
          //data = eval(data);
          data = data.split(";");          
          $('#id_brand').empty().append(new Option('Please Select', '-1', true, true));
          $('#id_brand').append(new Option('All', '0', true, false));
          
          // add brands into combo
          for(var i=0; i<data.length; i++){
            var tmp_data = data[i].split("|");
            $('#id_brand').append(new Option(tmp_data[1], tmp_data[0], true, false));
          }

          // empty all selectboxes
          $('#id_height').empty().append(new Option('Please Select', '0', true, true));
          $('#id_width').empty().append(new Option('Please Select', '0', true, true));
          $('#id_rim_size').empty().append(new Option('Please Select', '0', true, true));
          
          if (data.length > 0) {
            $("#id_brand").removeAttr('disabled');
            //highlight next selectbox
            $("*").removeClass("tf_select");
            $("*").removeClass("tf_button");
            $("#id_brand").addClass("tf_select");
          }
          else {
            $("#id_brand").attr('disabled', 'disabled');
            //highlight submit button
            $("*").removeClass("tf_select");
            $("#find-tyre").addClass("tf_button");
          }

          $("#id_height").attr('disabled', 'disabled');
          $("#id_width").attr('disabled', 'disabled');
          $("#id_rim_size").attr('disabled', 'disabled');
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            alert("Some error occured! "+errorThrown);
        }
      });
  }
  else {
    //highlight submit button
    $("*").removeClass("tf_select");
    $("*").removeClass("tf_button");
    $("#id_category").addClass("tf_select");
    $('#id_brand').empty().append(new Option('Please Select', '0', true, true));
    $('#id_height').empty().append(new Option('Please Select', '0', true, true));
    $('#id_width').empty().append(new Option('Please Select', '0', true, true));
    $('#id_rim_size').empty().append(new Option('Please Select', '0', true, true));
    
    $("#id_brand").attr('disabled', 'disabled');
    $("#id_height").attr('disabled', 'disabled');
    $("#id_width").attr('disabled', 'disabled');
    $("#id_rim_size").attr('disabled', 'disabled');
  }
}

function load_heights() {

  var id_category = parseInt($('#id_category').val());
  var id_brand = parseInt($('#id_brand').val());
  
  if((id_brand>=0)){
    $.ajax({
        type : 'POST',
        url : './forms/tyre_finder_ajax.php',
        dataType : 'html',
        data: {
            op: 'load_heights',
            id_category: id_category,
            id_brand: id_brand
        },
        success : function(data){
          data = data.split(";");
          $('#id_height').empty().append(new Option('Please Select', '-1', true, true));
          $('#id_height').append(new Option('All', '0', true, false));
          // add brands into combo
          for(var i=0; i<data.length; i++){
            var tmp_data = data[i].split("|");
            if(parseInt(tmp_data[0])>1)
              $('#id_height').append(new Option(tmp_data[1], parseInt(tmp_data[0]), true, false));
          }

          // empty all selectboxes
          $('#id_width').empty().append(new Option('Please Select', '0', true, true));
          $('#id_rim_size').empty().append(new Option('Please Select', '0', true, true));
          
          if (data.length > 0) {
            $("#id_height").removeAttr('disabled');
            // highlight next selectbox
            $("*").removeClass("tf_select");
            $("*").removeClass("tf_button");
            $("#id_height").addClass("tf_select");
            
            manageHint(2, false);
            manageHint(3, false);
            
            manageHint(1, true);
          }
          else {
            $('#id_height').empty().append(new Option('None', '0', true, true));
            
            $("#id_height").attr('disabled', 'disabled');
            // highlight submit button
            $("*").removeClass("tf_select");
            $("#find-tyre").addClass("tf_button");
          }          
          
          $("#id_width").attr('disabled', 'disabled');
          $("#id_rim_size").attr('disabled', 'disabled');
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            alert("Some error occured! "+errorThrown);
        }
      });
  }
  else {
    $('#id_height').empty().append(new Option('Please Select', '0', true, true));
    $('#id_width').empty().append(new Option('Please Select', '0', true, true));
    $('#id_rim_size').empty().append(new Option('Please Select', '0', true, true));
    
    $("#id_height").attr('disabled', 'disabled');
    $("#id_width").attr('disabled', 'disabled');
    $("#id_rim_size").attr('disabled', 'disabled');
  }
}
  
function load_widths() {

  var id_category = parseInt($('#id_category').val());
  var id_brand = parseInt($('#id_brand').val());
  var id_height = parseInt($('#id_height').val());

  if((id_height>=0)){
    $.ajax({
        type : 'POST',
        url : './forms/tyre_finder_ajax.php',
        dataType : 'html',
        data: {
            op: 'load_widths',
            id_category: id_category,
            id_brand: id_brand,
            id_height: id_height
        },
        success : function(data){
          data = data.split(";");
          $('#id_width').empty().append(new Option('Please Select', '-1', true, true));
          $('#id_width').append(new Option('All', '0', true, false));
          // add brands into combo
          for(var i=0; i<data.length; i++){
            var tmp_data = data[i].split("|");
            if(parseInt(tmp_data[0])>1)
              $('#id_width').append(new Option(tmp_data[1], parseInt(tmp_data[0]), true, false));
          }

          // empty all selectboxes
          $('#id_rim_size').empty().append(new Option('Please Select', '0', true, true));
          
          if (data.length > 0) {
            $("#id_width").removeAttr('disabled');
            // highlight next selectbox
            $("*").removeClass("tf_select");
            $("*").removeClass("tf_button");
            $("#id_width").addClass("tf_select");
            
            manageHint(1, false);
            manageHint(3, false);
            
            manageHint(2, true);
          }
          else {
            $('#id_width').empty().append(new Option('None', '0', true, true));
            
            $("#id_width").attr('disabled', 'disabled');
            // highlight submit button
            $("*").removeClass("tf_select");
            $("#find-tyre").addClass("tf_button");
          }          
          
          $("#id_rim_size").attr('disabled', 'disabled');
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            alert("Some error occured! "+errorThrown);
        }
      });
  }
  else {
    $('#id_width').empty().append(new Option('Please Select', '0', true, true));
    $('#id_rim_size').empty().append(new Option('Please Select', '0', true, true));
    
    $("#id_width").attr('disabled', 'disabled');
    $("#id_rim_size").attr('disabled', 'disabled');
  }
}

function load_rim_sizes() {

  var id_category = parseInt($('#id_category').val());
  var id_brand = parseInt($('#id_brand').val());
  var id_height = parseInt($('#id_height').val());
  var id_width = parseInt($('#id_width').val());

  if((id_width>=0)){
    $.ajax({
        type : 'POST',
        url : './forms/tyre_finder_ajax.php',
        dataType : 'html',
        data: {
            op: 'load_rim_sizes',
            id_category: id_category,
            id_brand: id_brand,
            id_height: id_height,
            id_width: id_width
        },
        success : function(data){
          data = data.split(";");
          $('#id_rim_size').empty().append(new Option('Please Select', '-1', true, true));
          $('#id_rim_size').append(new Option('All', '0', true, false));

          // add brands into combo
          for(var i=0; i<data.length; i++){
            var tmp_data = data[i].split("|");
            if(parseInt(tmp_data[0])>1)
              $('#id_rim_size').append(new Option(tmp_data[1], parseInt(tmp_data[0]), true, false));
          }
          
          if (data.length > 0) {
            $("#id_rim_size").removeAttr('disabled');
            // highlight next selectbox
            $("*").removeClass("tf_select");
            $("*").removeClass("tf_button");
            $("#id_rim_size").addClass("tf_select");
            
            manageHint(1, false);
            manageHint(2, false);
            
            manageHint(3, true);
          }
          else {
            $('#id_rim_size').empty().append(new Option('None', '0', true, true));
            
            $("#id_rim_size").attr('disabled', 'disabled');
            // highlight submit button
            $("*").removeClass("tf_select");
            $("#find-tyre").addClass("tf_button");
          }          
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            alert("Some error occured! "+errorThrown);
        }
      });
  }
  else {
    $('#id_rim_size').empty().append(new Option('Please Select', '0', true, true));
    
    $("#id_rim_size").attr('disabled', 'disabled');
  }
}
