id = 0;

$(document).ready(function(){
  $(".refine_go").click(function() {
    doRefine();
  });
  $("#car_pics img:first-child").addClass("fist_car_pic");
  // bind keydown event (enter) to input field
  $("#refine_keyword_input").keydown(function(event) {
    if(event.keyCode == 13){
      doRefine();
    }
  });

  //change select text style after option is selected
  $("select, option").change(function () {
    $(this).css("color","#000").css("font-style","normal");
  });

  //change input text style for search form when a value is entered
  $("#auto_trefwoord").focus(function () {
    $(this).css("color","#000").css("font-style","normal");
  });

  //add class to remove first-child's margin
  $("#car_pics img:first-child").addClass("fist_car_pic");

  $("a#search_add_auto").click(function () {
    $(".modeladd").show();
    $("a#search_add_auto").hide();
  });
  $("a#bladeren_model").click(function () {
    $("#modelbladeren").toggle();
  });

  //slide google map
  $("a.showmap").click(function () {
    if ($("#map").is(":hidden")) {
    $("#map").slideDown("slow");
      setTimeout(mapChecks, 500);
    }
    else {
      $("#map").slideUp("slow");
    }
  });

  // find anchor href and make list item clickable
  $("#searchresults li").css("cursor", "pointer").click(function(){
    if(!$(this).hasClass("saved_cars")) {
     window.location=$(this).find("h2 a").attr("href");
    }
	});

	try {
    $("#breadcrumbs a").after("&nbsp;&raquo;&nbsp;");
    $(".page_prev a").prepend("&nbsp;&laquo;&nbsp;");
    $(".page_next a").append("&nbsp;&raquo;&nbsp;");
	} catch(err) {}
  $("a[rel=external]").each(function(i){this.target="_blank";});

  $("#auto_prijs_min").change( function() {
    var selectedId = document.getElementById('auto_prijs_max').selectedIndex;
    var selectedMinId =  document.getElementById('auto_prijs_min').selectedIndex;
    var maxOpts = document.getElementById('auto_prijs_min').options.length;
    var maxPrijsMaxOpts =  document.getElementById('auto_prijs_max').options.length;
    if(selectedMinId >= selectedId) {
      if((selectedMinId + 4) > maxOpts) {
         document.getElementById('auto_prijs_max').selectedIndex = maxPrijsMaxOpts - 1;
      } else {
      document.getElementById('auto_prijs_max').selectedIndex = selectedMinId + 4;
      }
    }
   });

  $("#auto_prijs_max").change( function() {
    var selectedId = document.getElementById('auto_prijs_max').selectedIndex;
    var selectedMinId =  document.getElementById('auto_prijs_min').selectedIndex;
    var maxOpts = document.getElementById('auto_prijs_min').options.length;
    if(selectedId < 1) {
       document.getElementById('auto_prijs_min').selectedIndex = selectedId;
     } else if(selectedId < 4) {
        if(selectedId < 3) {
          document.getElementById('auto_prijs_min').selectedIndex = selectedId - 1;
        } else {
          document.getElementById('auto_prijs_min').selectedIndex = selectedId - 2;
        }
      }
    else if(selectedId <= selectedMinId) {
      document.getElementById('auto_prijs_min').selectedIndex = selectedId - 4;
    }
   });

  $("#auto_prijs_min_refine").change( function() {
    var selectedId = document.getElementById('auto_prijs_max_refine').selectedIndex;
    var selectedMinId =  document.getElementById('auto_prijs_min_refine').selectedIndex;
    var maxOpts = document.getElementById('auto_prijs_min_refine').options.length;
    if(selectedMinId >= selectedId) {
      if((selectedMinId + 4) > maxOpts) {
         document.getElementById('auto_prijs_max_refine').selectedIndex = selectedMinId;
      } else {
      document.getElementById('auto_prijs_max_refine').selectedIndex = selectedMinId + 4;
      }
    }
  });

 $("#auto_prijs_max_refine").change( function() {
    var selectedId = document.getElementById('auto_prijs_max_refine').selectedIndex;
    var selectedMinId =  document.getElementById('auto_prijs_min_refine').selectedIndex;
    var maxOpts = document.getElementById('auto_prijs_min_refine').options.length;
    if(selectedId < 4) {
      if(selectedId < 2) {
        document.getElementById('auto_prijs_min_refine').selectedIndex = selectedId;
      }
      else {
        document.getElementById('auto_prijs_min_refine').selectedIndex = selectedId - 1;
      }
    }
    else if(selectedId <= selectedMinId) {
      document.getElementById('auto_prijs_min_refine').selectedIndex = selectedId - 4;
    }
   });
    $("#auto_bouwjaar_min").change( function() {
    var selectedMinId = document.getElementById('auto_bouwjaar_min').selectedIndex;
    var selectedId = document.getElementById('auto_bouwjaar_max').selectedIndex;
    if(selectedMinId >= selectedId) {
      if((selectedMinId + 2) > document.getElementById('auto_bouwjaar_max').options.length) {
        document.getElementById('auto_bouwjaar_max').selectedIndex = selectedMinId;
      } else {
          document.getElementById('auto_bouwjaar_max').selectedIndex = selectedMinId + 2;
      }
    }
  });

  $("#auto_bouwjaar_max").change( function() {
    var selectedMinId = document.getElementById('auto_bouwjaar_min').selectedIndex;
    var selectedId = document.getElementById('auto_bouwjaar_max').selectedIndex;
    if(selectedMinId >= selectedId) {
     if(selectedId < 2) {
       document.getElementById('auto_bouwjaar_min').selectedIndex = selectedId;
     } else {
       document.getElementById('auto_bouwjaar_min').selectedIndex  = selectedId - 2;
     }
    }
  });

  $("#auto_km_min").change( function() {
    var selectedMinId = document.getElementById('auto_km_min').selectedIndex;
    var selectedId = document.getElementById('auto_km_max').selectedIndex;
    var maxOpts = document.getElementById('auto_km_min').options.length;
    if(selectedMinId >= selectedId) {
     if(selectedId < 2) {
       document.getElementById('auto_km_max').selectedIndex = selectedMinId;
     } else if ((selectedMinId + 2) >= maxOpts) {
       document.getElementById('auto_km_max').selectedIndex = selectedMinId;
     } else {
       document.getElementById('auto_km_max').selectedIndex  = selectedMinId + 2;
     }
    }
  });

  $("#auto_km_max").change( function() {
    var selectedMinId = document.getElementById('auto_km_min').selectedIndex;
    var selectedId = document.getElementById('auto_km_max').selectedIndex;
    if(selectedMinId >= selectedId) {
    if(selectedId < 2) {
       document.getElementById('auto_km_min').selectedIndex = selectedId;
     } else {
       document.getElementById('auto_km_min').selectedIndex  = selectedId - 2;
     }
    }
  });

  $("#auto_bouwjaar_min_refine").change( function() {
    var selectedMinId = document.getElementById('auto_bouwjaar_min_refine').selectedIndex;
    var selectedId = document.getElementById('auto_bouwjaar_max_refine').selectedIndex;
    if(selectedMinId >= selectedId) {
      if((selectedMinId + 2) > document.getElementById('auto_bouwjaar_max_refine').options.length) {
        document.getElementById('auto_bouwjaar_max_refine').selectedIndex = selectedMinId;
      } else {
          document.getElementById('auto_bouwjaar_max_refine').selectedIndex = selectedMinId + 2;
      }
    }
  });

  $("#auto_bouwjaar_max_refine").change( function() {
    var selectedMinId = document.getElementById('auto_bouwjaar_min_refine').selectedIndex;
    var selectedId = document.getElementById('auto_bouwjaar_max_refine').selectedIndex;
    if(selectedMinId >= selectedId) {
     if(selectedId < 2) {
       document.getElementById('auto_bouwjaar_min_refine').selectedIndex = selectedId;
     } else {
       document.getElementById('auto_bouwjaar_min_refine').selectedIndex  = selectedId - 2;
     }
    }
  });

  $("#auto_km_min_refine").change( function() {
    var selectedMinId = document.getElementById('auto_km_min_refine').selectedIndex;
    var selectedId = document.getElementById('auto_km_max_refine').selectedIndex;
    var maxOpts = document.getElementById('auto_km_min_refine').options.length;
    if(selectedMinId >= selectedId) {
     if(selectedId < 2) {
       document.getElementById('auto_km_max_refine').selectedIndex = selectedMinId;
     } else if ((selectedMinId + 2) >= maxOpts) {
       document.getElementById('auto_km_max_refine').selectedIndex = selectedMinId;
     } else {
       document.getElementById('auto_km_max_refine').selectedIndex  = selectedMinId + 2;
     }
    }
  });

  $("#auto_km_max_refine").change( function() {
    var selectedMinId = document.getElementById('auto_km_min_refine').selectedIndex;
    var selectedId = document.getElementById('auto_km_max_refine').selectedIndex;
    if(selectedMinId >= selectedId) {
    if(selectedId < 2) {
       document.getElementById('auto_km_min_refine').selectedIndex = selectedId;
     } else {
       document.getElementById('auto_km_min_refine').selectedIndex  = selectedId - 2;
     }
    }
  });


});

var mapChecks = function () {
	map.checkResize();
 	map.setCenter(new GLatLng(specslong,specslat),12);
}


// functie om de juiste url te maken
function buildUrl() {
	// ?s=mip|500+map|900+specs|1,8,59,83;
	var newurl = '';
	//var merk  	  	  = $("#auto_merk").val(); 		   // m
	//var model 	  	  = $("#auto_model").val();        // mo
	var prijs_min 	  = $("#auto_prijs_min").val();    // mip
	var prijs_max     = $("#auto_prijs_max").val();    // map
	var bouwjaar_min  = $("#auto_bouwjaar_min").val(); // mib
	var bouwjaar_max  = $("#auto_bouwjaar_max").val(); // mab
	var kilometer_min = $("#auto_km_min").val();       // mik
	var kilometer_max = $("#auto_km_max").val(); 	   // mak
	var carrosserie   = $("#auto_carrosserie").val(); 	// c
	var kleur 		    = $("#auto_kleur").val(); 	    // k
	var brandstof 	  = $("#auto_brandstof").val(); 	// b
	var transmissie   = $("#auto_transmissie").val(); // t
	var provincie 	  = $("#auto_provincie").val(); // prov

	var model = '';
	$("select[name='mo']").each( function() {
	  if((this.value.length > 0) && this.value != 'leeg') {
    model = model + this.value + ',';
	  }
  });


	model = model.substr(0, model.length - 1);

 	// check of er iets geselecteerd is.
	//if(model.length == 0) {
	//	$("#auto_merk").css("border","solid 2px #7d1f1f").css("background", "#ecdede")
 	//	return false;
 	//}
  if(prijs_min != undefined) {
	 prijs_min 	  = '+mip|'+prijs_min;
	 newurl = newurl + prijs_min;
  }
	if(prijs_max != undefined && prijs_max != 'geen maximum') {
		prijs_max     = '+map|'+prijs_max;
		newurl = newurl + prijs_max;
	}
	if(bouwjaar_min != undefined) {
		bouwjaar_min  = '+mib|'+bouwjaar_min;
		newurl = newurl + bouwjaar_min;
	}
	if(bouwjaar_max != undefined) {
	 bouwjaar_max  = '+mab|'+bouwjaar_max;
	 newurl = newurl + bouwjaar_max;
	}
	if(kilometer_min != undefined) {
		kilometer_min = '+mik|'+kilometer_min;
		newurl = newurl + kilometer_min;
	}
	if(kilometer_max != undefined) {
		kilometer_max = '+mak|'+kilometer_max;
		newurl = newurl + kilometer_max;
	}
	if(model != undefined) {
	  model = '+mo|'+model;
	  newurl = newurl + model;
	}

	if(provincie != undefined && provincie.length > 0) {
		prov = '+prov|'+provincie;
		newurl = newurl + prov;

	}

	// bouw de optie lijst
	var optionz = '';

		//specs opbouwen
	if(transmissie != undefined && transmissie.length > 0) {
	  optionz+= ',' + transmissie;
	}
  if(carrosserie != undefined && carrosserie.length > 0) {
		optionz+= ',' + carrosserie;
  }
  if(kleur != undefined && kleur.length > 0) {
		optionz+= ',' + kleur;
  }
  if(brandstof != undefined && brandstof.length > 0) {
		optionz+= ',' + brandstof;
	}
	$("input[name='inputs']").each( function() {
		if(this.checked == true) {
			optionz+= ',' + this.value;
		}
  });
  if(optionz.length > 0) {
   if(optionz.substr(0, 1) == ',') {
      optionz = optionz.substr(1, optionz.length);

    }
     newurl = newurl + '+specs|' + optionz;
  }

	if(newurl.substr(newurl.length - 1, newurl.length) == ',') {
	  newurl= newurl.substr(0, newurl.length - 1);
	}
	newurl = newurl.substr(1, newurl.length);
  document.location.href='http://www.autorunner.nl/zoeken.php?s='+newurl;

}
function getModel(merk,id) {
  if(id == undefined) {
    id = "";
  }


	$("#auto_model" + id).html('<option>Modellen ophalen...</option>');
	$.get("./js/buildmenu.php?merk=" + merk, function(data){
	    $("#auto_model" + id).html(data);
	});
}
function addMerk() {
	var link;
	if (id < 6) {
		$("#select_wrap_merk_adder").append("<select onchange='getModel(this.value," + id +")' id='auto_merk" + id +"' name='auto_merk" + id +"'></select>");
		$("#auto_merk" + id).html($("#auto_merk").html());
		$("#select_wrap_model_adder").append("<select id='auto_model" + id +"' name='mo'> <option selected=selected value='leeg'>Kies een merk</option></select>");
		id++;
	}
	if(id == 6) {
		$(".add_auto").css('display', 'none');
		$(".add_auto").click(function() {
      return false;
  });
	}
  //change select text style after option is selected
  $("select, option").change(function () {
    $(this).css("color","#000").css("font-style","normal");
  });
}

function addModel() {
	if (id < 6) {
    addMerk();
    curOption  = id - 1;
    prevOption = id - 2;
    if(prevOption == 1) {
      prevOption = '';
    }
   curIndex = $("#auto_merk" + prevOption)[0].selectedIndex;
   curValue = $("#auto_merk" + prevOption)[0].value;
   $("#auto_merk" + curOption)[0].selectedIndex = curIndex;
   if(curValue != 'leeg') {
    getModel(curValue, curOption);
   }
  }
}

function doRefine ( ) {

  var minPrijs = $("#auto_prijs_min_refine").val();
  var maxPrijs = $("#auto_prijs_max_refine").val();
  var minBouwjaar = $("#auto_bouwjaar_min_refine").val();
  var maxBouwjaar = $("#auto_bouwjaar_max_refine").val();
  var minKm = $("#auto_km_min_refine").val();
  var maxKm = $("#auto_km_max_refine").val();

  var tWoord = $("#refine_keyword_input").val();
  if(tWoord == 'zoek op trefwoord') {
    tWoord = '';
  }
  tWoord = tWoord.replace(' ', '+');


  var options = '';
  var provincies = '';
  var models = '';
  $(".refine_list input[type='checkbox']").each( function() {
    if(this.className == 'prov'){
    	if(this.checked == true) {
    		provincies = provincies + this.id + ',' }
    	}

    else{

	  	if(this.checked == true) {
	  	   var optIdStr = this.id.split(":");
	       options = options + optIdStr[1] + ',' }
          }
  });

  $(".curmodels").each( function() {
    models = models + this.value + ',';
  });

  var addedModel = $("#auto_model").val();
  if( addedModel != '' && addedModel != 'undefined') {
    models = models + addedModel + ',';
  }
  options = options.substr(0, (options.length - 1));
  models = models.substr(0, (models.length - 1));
  provincies = provincies.substr(0, (provincies.length - 1));
  new_url = "http://www.autorunner.nl/zoeken.php?s=mip|"+minPrijs+"+map|"+maxPrijs+"+mib|"+minBouwjaar+"+mab|"+maxBouwjaar+"+mik|"+minKm+"+mak|"+maxKm+"+specs|"+options+"+prov|"+provincies+"+mo|"+models+"+tw|"+tWoord;

  document.location.href = new_url;

}

function deleteCar ( id2 ) {
  var curCount = $("#saved_cars_count").html();
  var curCarsDel = $.cookie('ar_compare');
  var toSaveDel = '';
  var curIdsDel = curCarsDel.split(',');
  for(i = 0; i <= curIdsDel.length; i++)
  {
     if(curIdsDel[i] != id2 && curIdsDel[i] != null) {
      toSaveDel = toSaveDel + curIdsDel[i] + ',';
    }
  }
  curCount = curCount - 1;
  curCount = curCount || '0';
  toSaveDel = toSaveDel.substr(0, toSaveDel.length - 1); // remove last ,
  $.cookie('ar_compare', toSaveDel, { expires: 365, path: '/', domain: '.autorunner.nl' });
  $('#auto_save_'+id2).html('auto verwijderd - <a class="add_saved" href="javascript:void(0);" onclick="saveCar('+id2+');">ongedaan maken</a>');
  $("#saved_cars_count").html(curCount);
  toSaveDel = '';
}

function saveCar ( id_save ) {
  var curCount = $("#saved_cars_count").html();
  var curCars = $.cookie('ar_compare');
  var toSave = '';
  if(curCars != null) {
    var curIds = curCars.split(',');
    var found;
    found = 0;
    for(i = 0; i <= curIds.length; i++)
    {
      if(curIds[i] == id_save) {
        found++;
       }
    }
  }
  if(found > 0) {
    $('#auto_save_'+id_save).html('auto is reeds opgeslagen');
    return false;
  } else {

    if(curCars != null && curCars != '') {
       toSave = curCars + ',' + id_save;
    } else {
       toSave = id_save;
    }
  }
   curCount++;
   $.cookie('ar_compare', toSave, { expires: 365, path: '/', domain: '.autorunner.nl' });
   $('#auto_save_'+id_save).html('auto opgeslagen');
   $("#saved_cars_count").html(curCount);
   toSave = '';
}

