$(document).ready(
      	 function () {
          $("#lr_car_make_key").html("<option value=\"\">Select Make</option>");
          $("#lr_car_make_key").attr("disabled", "disabled");
          $("#lr_car_model_key").html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key").attr("disabled", "disabled");
          $("#lr_car_sub_model_key").html("<option value=\"\">Select Sub-Model</option>");
          $("#lr_car_sub_model_key").attr("disabled", "disabled");
          $("#lr_car_motor_key").html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key").attr("disabled", "disabled");
          $("#lr_car_variable1_key").html("<option value=\"\">Select Variable 1</option>");
          $("#lr_car_variable1_key").attr("disabled", "disabled");
          $("#lr_car_variable2_key").html("<option value=\"\">Select Variable 2</option>");
          $("#lr_car_variable2_key").attr("disabled", "disabled");

          $("#lr_car_make_key2").html("<option value=\"\">Select Make</option>");
          $("#lr_car_make_key2").attr("disabled", "disabled");
          $("#lr_car_model_key2").html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key2").attr("disabled", "disabled");
          $("#lr_car_sub_model_key2").html("<option value=\"\">Select Sub-Model</option>");
          $("#lr_car_sub_model_key2").attr("disabled", "disabled");
          $("#lr_car_motor_key2").html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key2").attr("disabled", "disabled");
          $("#lr_car_variable1_key2").html("<option value=\"\">Select Variable 1</option>");
          $("#lr_car_variable1_key2").attr("disabled", "disabled");
          $("#lr_car_variable2_key2").html("<option value=\"\">Select Variable 2</option>");
          $("#lr_car_variable2_key2").attr("disabled", "disabled");

          $("#lr_car_make_key3").html("<option value=\"\">Select Make</option>");
          $("#lr_car_make_key3").attr("disabled", "disabled");
          $("#lr_car_model_key3").html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key3").attr("disabled", "disabled");
          $("#lr_car_sub_model_key3").html("<option value=\"\">Select Sub-Model</option>");
          $("#lr_car_sub_model_key3").attr("disabled", "disabled");
          $("#lr_car_motor_key3").html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key3").attr("disabled", "disabled");
          $("#lr_car_variable1_key3").html("<option value=\"\">Select Variable 1</option>");
          $("#lr_car_variable1_key3").attr("disabled", "disabled");
          $("#lr_car_variable2_key3").html("<option value=\"\">Select Variable 2</option>");
          $("#lr_car_variable2_key3").attr("disabled", "disabled");

      	 }
      );
        function populateSelect(populatorID, populateeID, dbKey, defaultValue) {
          if(populatorID == null || populateeID == null || dbKey == null || populatorID == "" || populateeID == "" || dbKey == "") {
            alert("populateSelect(): missing parameters");
            return;
          }

          var passedData = new Object();

          passedData[dbKey] = $("#" + populatorID).val();
	  var p = document.getElementById("sprod_key");
          if(p)
            passedData["prod_key"] = p.value;

          $.post("simple_ajax_calls.php", passedData,
            function (data) {
              // Assuming data is returned as: (key1#)value1;;(key2#)value2;;...
              // Keys are optional in the returned data
              //alert(data);
              var selectOptions = "";
              var kvPairs = data.split(";;");
	      var selectObj = null;

	      selectObj = document.getElementById(populateeID);
	      selectObj.options.length = 0;

              for(var i = 0; i < kvPairs.length; i++) {
                var key = "";
                var val = "";
                if(kvPairs[i].match("#") != null) {
                  var items = kvPairs[i].split("#");
                  key = items[0];
                  val = items[1];
                }
                else {
                  val = kvPairs[i];
                  key = val;
                }

		selectObj.options[selectObj.options.length] = new Option(key, val);
              }
              $("#" + populateeID).attr("disabled", "");
              if(selectObj != null) {
                if(defaultValue == null)
                  selectObj.selectedIndex = 0;
                else {
                  var defValIdx = 0;
                  for(var x = 0; x < selectObj.options.length; x++)
                  {
                  	//alert(selectObj.options[x].value);
                    if(selectObj.options[x].value == defaultValue) {
                      defValIdx = x;
                    }
                  }
                  selectObj.selectedIndex = defValIdx;
                }
              }
            }
          );
        }


        function populateModels(setNumber, defVal) {

        	var hiddenObj = document.getElementById("nc_make_year" + setNumber);
        	var hiddenObj2 = document.getElementById("nc_make_model_year" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("lr_car_year" + setNumber).value + "::" + document.getElementById("lr_car_make_key" + setNumber).value;
          else {
            alert("Make and year not selected");
            return;
          }
          
		//alert(hiddenObj.value);
		$("#lr_car_sub_model_key" + setNumber).html("<option value=\"\">Select Sub Model</option>");
          $("#lr_car_sub_model_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Engine</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make_year" + setNumber, "lr_car_model_key" + setNumber, "nc_make_year", defVal);
        }

        function populateModels2(setNumber, defVal) {

        	var hiddenObj = document.getElementById("nc_make_year" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("nc_make_year" + setNumber).value;
          else {
            alert("Make and year not selected");
            return;
          }

          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Engine</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make_year" + setNumber, "lr_car_model_key" + setNumber, "nc_make_year", defVal);
        }


        function populateModelsPK(setNumber, defVal) {

        	var hiddenObj = document.getElementById("nc_make_year" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("nc_make_year" + setNumber).value;
          else {
            alert("Make and year not selected");
            return;
          }

          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Engine</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make_year" + setNumber, "lr_car_model_key" + setNumber, "nc_make_year1", defVal);
        }
        function populateYears(setNumber, defVal) {
          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Engine</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("lr_car_model_key" + setNumber, "lr_car_year" + setNumber, "car_model_key", defVal);
        }

        function populateMotors2(setNumber, defVal) {
          var hiddenObj = document.getElementById("nc_make_model_year" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("nc_make_model_year" + setNumber).value;
          else {
            alert("Make and model not selected");
            return;
          }

          populateSelect("nc_make_model_year" + setNumber, "lr_car_motor_key" + setNumber, "nc_make_model_year", defVal);
        }
        function populateMotors(setNumber, defVal) {
          var hiddenObj = document.getElementById("nc_make_model_year" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("lr_car_make_key" + setNumber).value + "::" + document.getElementById("lr_car_model_key" + setNumber).value+ "::" + document.getElementById("lr_car_year" + setNumber).value;
          else {
            alert("Make and model not selected");
            return;
          }

          populateSelect("nc_make_model_year" + setNumber, "lr_car_motor_key" + setNumber, "nc_make_model_year", defVal);
        }

        function populateMakesCat(setNumber) {
          var hiddenObj = document.getElementById("cat_year" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("p_cat" + setNumber).value + "::" + document.getElementById("car_year" + setNumber).value;
          else {
            alert("Category and year not selected");
            return;
          }

          $("#lr_car_make_key" + setNumber).html("<option value=\"\">Select Make</option>");
          $("#lr_car_make_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_model_key" + setNumber).html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("cat_year" + setNumber, "car_make_key" + setNumber, "cat_year");
        }

        function populateMakesNoCat(setNumber, defVal) {
          var hiddenObj = document.getElementById("nc_year" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("lr_car_year" + setNumber).value;
          else {
            alert("Year not selected");
            return;
          }

          $("#lr_car_make_key" + setNumber).html("<option value=\"\">Select Make</option>");
          $("#lr_car_make_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_model_key" + setNumber).html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_sub_model_key" + setNumber).html("<option value=\"\">Select Sub Model</option>");
          $("#lr_car_sub_model_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("lr_car_year" + setNumber, "lr_car_make_key" + setNumber, "nc_year", defVal);
        }

        function populateMakesNoCat1(setNumber, defVal) {
          var hiddenObj = document.getElementById("nc_year" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("lr_car_year" + setNumber).value;
          else {
            alert("Year not selected");
            return;
          }

          $("#lr_car_make_key" + setNumber).html("<option value=\"\">Select Make</option>");
          $("#lr_car_make_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_model_key" + setNumber).html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("lr_car_year" + setNumber, "lr_car_make_key" + setNumber, "nc_year1", defVal);
        }

        function populateMakesPK(setNumber, defVal) {
          var hiddenObj = document.getElementById("nc_year_pk" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("nc_year_pk" + setNumber).value ;
          else {
            alert("Year not selected");
            return;
          }
//alert(hiddenObj.value);
          $("#lr_car_make_key" + setNumber).html("<option value=\"\">Select Make</option>");
          $("#lr_car_make_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_model_key" + setNumber).html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_year_pk" + setNumber, "lr_car_make_key" + setNumber, "nc_year_pk", defVal);
        }

        function populateModelsCat(setNumber) {
          var hiddenObj = document.getElementById("cat_year_make" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("p_cat" + setNumber).value + "::" + document.getElementById("car_year" + setNumber).value + "::" +
				document.getElementById("car_make_key" + setNumber).value;
          else {
            alert("Category, year, make not selected");
            return;
          }

          $("#lr_car_model_key" + setNumber).html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("cat_year_make" + setNumber, "car_model_key" + setNumber, "cat_year_make");
        }

        function populateModelsNoCat(setNumber) {
          var hiddenObj = document.getElementById("nc_make" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("car_make" + setNumber).value + "::" + document.getElementById("car_make" + setNumber).value;
          else {
            alert("Make not selected");
            return;
          }

          $("#lr_car_model_key" + setNumber).html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key" + setNumber).attr("disabled", "disabled");
          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make" + setNumber, "car_model_key" + setNumber, "car_make_key");
        }


        function populateModelsNoCat2(setNumber) {
          var hiddenObj = document.getElementById("nc_make2" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("car_make2" + setNumber).value + "::" + document.getElementById("car_make2" + setNumber).value;
          else {
            alert("Make not selected");
            return;
          }

          $("#lr_car_model_key2" + setNumber).html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key2" + setNumber).attr("disabled", "disabled");
          $("#lr_car_motor_key2" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key2" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make2" + setNumber, "car_model_key2" + setNumber, "car_make_key");
        }
		function populateModelsNoCat3(setNumber) {
          var hiddenObj = document.getElementById("nc_make3" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("car_make3" + setNumber).value + "::" + document.getElementById("car_make3" + setNumber).value;
          else {
            alert("Make not selected");
            return;
          }

          $("#lr_car_model_key3" + setNumber).html("<option value=\"\">Select Model</option>");
          $("#lr_car_model_key3" + setNumber).attr("disabled", "disabled");
          $("#lr_car_motor_key3" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key3" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make3" + setNumber, "car_model_key3" + setNumber, "car_make_key");
        }

        function populateSubModels(setNumber, defVal) {
          var hiddenObj = document.getElementById("nc_make_model_year" + setNumber);
          if(hiddenObj)
          {
          	hiddenObj.value = document.getElementById("lr_car_make_key" + setNumber).value+ "::" + document.getElementById("lr_car_model_key" + setNumber).value
           + "::" +  document.getElementById("lr_car_year" + setNumber).value;
          }
          else {
            hiddenObj.value = document.getElementById("lr_car_make_key" + setNumber).value+"::"+document.getElementById("lr_car_model_key" + setNumber).value+"::"+document.getElementById("lr_car_year" + setNumber).value;
          }
$("#lr_car_motor_key" + setNumber).html("<option value=\"\">Engine</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make_model_year" + setNumber, "lr_car_sub_model_key" + setNumber, "nc_sub_models", defVal);
        }

        function populateSubModels2(setNumber, defVal) {
          var hiddenObj = document.getElementById("nc_make_model_year" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("nc_make_model_year" + setNumber).value;
          else {
            alert("Make and model not selected");
            return;
          }
$("#lr_car_motor_key" + setNumber).html("<option value=\"\">Engine</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make_model_year" + setNumber, "lr_car_sub_model_key" + setNumber, "nc_sub_models", defVal);
        }


        function populateMotorsCat(setNumber) {
          var hiddenObj = document.getElementById("cat_year_make_model" + setNumber);

          if(hiddenObj)
            hiddenObj.value = document.getElementById("p_cat" + setNumber).value + "::" + document.getElementById("car_year" + setNumber).value + "::" +
				document.getElementById("car_make_key" + setNumber).value + "::" + document.getElementById("car_model_key" + setNumber).value;
          else {
            alert("Category, year, make not selected");
            return;
          }

          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("cat_year_make_model" + setNumber, "car_motor_key" + setNumber, "cat_year_make_model");
        }

        function populateMotorsNoCat(setNumber) {
          var hiddenObj = document.getElementById("nc_make_model" + setNumber);


          if(hiddenObj)
            hiddenObj.value = document.getElementById("car_make" + setNumber).value + "::" + document.getElementById("car_model_key" + setNumber).value;
          else {
            alert("Make and model not selected");
            return;
          }

          $("#lr_car_motor_key" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make_model" + setNumber, "car_motor_key" + setNumber, "car_model_key");
        }

        function populateMotorsNoCat2(setNumber) {
          var hiddenObj = document.getElementById("nc_make_model2" + setNumber);


          if(hiddenObj)
            hiddenObj.value = document.getElementById("car_make2" + setNumber).value + "::" + document.getElementById("car_model_key2" + setNumber).value;
          else {
            alert("Make and model not selected");
            return;
          }

          $("#lr_car_motor_key2" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key2" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make_model2" + setNumber, "car_motor_key2" + setNumber, "car_model_key");
        }
        function populateMotorsNoCat3(setNumber) {
          var hiddenObj = document.getElementById("nc_make_model3" + setNumber);


          if(hiddenObj)
            hiddenObj.value = document.getElementById("car_make3" + setNumber).value + "::" + document.getElementById("car_model_key3" + setNumber).value;
          else {
            alert("Make and model not selected");
            return;
          }

          $("#lr_car_motor_key3" + setNumber).html("<option value=\"\">Select Motor</option>");
          $("#lr_car_motor_key3" + setNumber).attr("disabled", "disabled");
          populateSelect("nc_make_model3" + setNumber, "car_motor_key3" + setNumber, "car_model_key");
        }

        function populateMotorsPK(setNumber, defVal) {

          var hiddenObj = document.getElementById("nc_year_make_model" + setNumber);
          /*alert(document.getElementById("nc_make_model" + setNumber).value);*/

          if(hiddenObj)
          {
            hiddenObj.value = document.getElementById("nc_year_make_model" + setNumber).value;

          }
          else {
            alert("Model and Year not selected");
            return;
          }
  		 // alert(hiddenObj.value);
          populateSelect("nc_year_make_model" + setNumber, "lr_car_motor_key" + setNumber, "nc_year_make_model", defVal);
        }