/*---- on DOM Ready ----*/
$(function() {
	/*---- change op selecteren order of aantal ----*/
	$(".toolTip").mouseenter(function(){
		$(this).find(".toolTipContent").css({display: "block", zIndex: "2000"});
	});
	$(".toolTip").mouseleave(function(){
		$(this).find(".toolTipContent").css({display: "none", zIndex: "0"});
	});	
	
	$("#cavShow, #cavSort").change(function() {
		getAanpassenData(1);
		//sendData(1,new Object);
	});
	
	$(".btnSearch").click(function() {
		sendData(1, new Object);
		$(".cavChangeSearchForm #merkSA").find("option").each(function(i) {
			if(i == 0) {
				$(this).attr("selected", "selected");
			} else {
				$(this).removeAttr("selected");	
			}
		});

		$(".cavChangeSearchForm #modelSA").find("option").each(function(i) {
			if(i == 0) {
				$(this).attr("selected", "selected");
			} else {
				$(this).removeAttr("selected");	
			}
		});
		
	});
	
	$(".btnChange").click(function() {
		getAanpassenData(1);
	});

	$(".btnDelete").click(function() {
		$.post("cavResetSession.php",{},
			function(data){
				if (data.succes) {
					window.location.reload();
				}
			},"json");
	});


	$(".aanpassenStatus").click(function() {
		var font = $(this).css("font-weight");
		$(".aanpassenStatus").each(function(i) {
			$(this).css({fontWeight:"normal"});
			$(this).removeAttr("href");
			$(this).css({cursor: "pointer"});
		});
		if (font != 700 && font != "bold") {
			$(this).css({fontWeight:"bold"});
		}
		getAanpassenData(1);
	});

	$(".aanpassenBrandstof").click(function() {
		var font = $(this).css("font-weight");
		$(".aanpassenBrandstof").each(function(i) {
			$(this).css({fontWeight:"normal"});
			$(this).removeAttr("href");
			$(this).css({cursor: "pointer"});
		});
		if (font != 700 && font != "bold") {
			$(this).css({fontWeight:"bold"});
		}
		getAanpassenData(1);
	});

	$(".aanpassenTransmissie").click(function() {
		var font = $(this).css("font-weight");
		$(".aanpassenTransmissie").each(function(i) {
			$(this).css({fontWeight:"normal"});
			$(this).removeAttr("href");
			$(this).css({cursor: "pointer"});
		});
		if (font != 700 && font != "bold") {
			$(this).css({fontWeight:"bold"});
		}
		getAanpassenData(1);
	});

	$(".aanpassenCarrosserie").click(function() {
		var font = $(this).css("font-weight");
		$(".aanpassenCarrosserie").each(function(i) {
			$(this).css({fontWeight:"normal"});
			$(this).removeAttr("href");
			$(this).css({cursor: "pointer"});
		});
		if (font != 700 && font != "bold") {
			$(this).css({fontWeight:"bold"});
		}
		getAanpassenData(1);
	});


	$(".multiPurposeMediaFormColomn #merk").change(
		function() {
			updateModelsMP($(this).val(), "");
		}
	);

	$(".cavChangeSearchForm #merkSA").change(
		function() {
			updateModelsSA($(this).val(), "");
		}
	);

	$(".multiPurposeMediaFormColomn #model").change(
		function() {
			$(".multiPurposeMediaFormColomn #modelHidden").val("");
		}
	);
	
	/*---- cavSearchFormSelectOptions ----*/		
	function changeOptionTxt(obj){
		$(obj).find(".checkAll").click(function(){
			if($(this).attr("checked") == true){
				$(obj).find("input:checkbox").attr("checked", "checked");
				$(obj).find(".checkAllTitle").text("Alles deselecteren");
			} else {
				$(obj).find("input:checkbox").removeAttr("checked", "checked");
				$(obj).find(".checkAllTitle").text("Alles selecteren");
			}
		});

		if($(obj).find("input:checkbox:checked").length > 0){
			$(obj).find("p").text("Bekijk opties");
			$(obj).find("p").css({fontWeight: "bold"});
		} else {
			$(obj).find("p").text("Opties toevoegen");
			$(obj).find("p").css({fontWeight: "normal"});
		}
	}
	
	$(".cavSearchFormSelectOptions").click(function() {
		if($(this).find(".selectOptions").is(":hidden")) {
			$(this).css({zIndex: 10});
			$(this).find(".selectOptions").fadeIn(300);
			changeOptionTxt(this);
		} else {
			if($(this).find(".selectOptions").is(":visible")) {
				$(".cavSearchFormSelectOptions").mouseleave(function() {
					$(".cavSearchFormSelectOptions").css({zIndex: 0});
					$(this).find(".selectOptions").fadeOut(300);
				});
			}
			changeOptionTxt(this);
		}
	});		
});

function updateModelsMP(merk, merkSelect) {
	$.post("cavUpdateModel.php", { merk:merk },
	function(modelData) {
		var modelOptionObj = "<option value=\"\">Geen voorkeur</option>\n";
		for (i in modelData) {
			modelOptionObj += "<option value=\"" + modelData[i].model + "\"" + (merkSelect == modelData[i].model ? "selected=\"selected\"" : "" ) + ">" + modelData[i].modelDisplay + "</option>\n";	
		}
		$(".multiPurposeMediaFormColomn #model").html(modelOptionObj);
	}, "json");
}

function updateModelsSA(merk, merkSelect) {
	$.post("cavUpdateModel.php", { merk:merk },
	function(modelData) {
		var modelOptionObj = "<option value=\"\">Kies een model</option>\n";
		for (i in modelData) {
			modelOptionObj += "<option value=\"" + modelData[i].model + "\"" + (merkSelect == modelData[i].model ? "selected=\"selected\"" : "" ) + ">" + modelData[i].modelDisplay + "</option>\n";	
		}
		$(".cavChangeSearchForm #modelSA").html(modelOptionObj);
	}, "json");
}


/*---- CavDataView ----*/
function getAanpassenData(pageNumber) {
	dataObj = new Object;
	
	$(".aanpassenStatus").each(function(i) {
		if ($(this).css("font-weight") == 700 || $(this).css("font-weight") == "bold") {
			dataObj[$(this).attr("rel")] = $(this).attr("rev");	
		}
	});

	$(".aanpassenBrandstof").each(function(i) {
		if ($(this).css("font-weight") == 700 || $(this).css("font-weight") == "bold") {
			dataObj[$(this).attr("rel")] = $(this).attr("rev");	
		}
	});
	$(".aanpassenTransmissie").each(function(i) {
		if ($(this).css("font-weight") == 700 || $(this).css("font-weight") == "bold") {
			dataObj[$(this).attr("rel")] = $(this).attr("rev");	
		}
	});
	$(".aanpassenCarrosserie").each(function(i) {
		if ($(this).css("font-weight") == 700 || $(this).css("font-weight") == "bold") {
			dataObj[$(this).attr("rel")] = $(this).attr("rev");	
		}
	});
	
	dataObj.merk = $(".cavChangeSearchForm #merkSA").val();
	dataObj.model = $(".cavChangeSearchForm #modelSA").val();

	dataObj.prijsVan = $(".cavChangeSearchForm #minPrijsSA").val();
	dataObj.prijsTot = $(".cavChangeSearchForm #maxPrijsSA").val();
	dataObj.kilometerstand = $(".cavChangeSearchForm #kmMinSA").val() + "-" + $(".cavChangeSearchForm #kmMaxSA").val();
	dataObj.bouwjaarVan = $(".cavChangeSearchForm #bouwjaarMinSA").val();
	dataObj.bouwjaarTot = $(".cavChangeSearchForm #bouwjaarMaxSA").val();
	
	sendData(pageNumber, dataObj);
}

function sendData(pageNumber, optionObj) {
	$("#cavCarDataView").html("<div class=\"cavCarDataViewLoader\"><img src=\"images/layout/loader.gif\" alt=\"Autos worden geladen\" /><br /><label>Auto's worden geladen</label></div>");
	
	if (!optionObj.exLease && !optionObj.exShowroom && !optionObj.nieuwVoorraad && !optionObj.occasions && !optionObj.teVerwachten) {
		$(".cavRecordsoort:checked").each( 
			function(i) {
				optionObj[$(this).attr("id")] = $(this).val();
			}
		);
	}
	
	if (!optionObj.merk || optionObj.merk == "") {
		optionObj.merk = $(".multiPurposeMediaFormColomn #merk").val();
	}
	if (!optionObj.model || optionObj.model == "") {
		if ($(".multiPurposeMediaFormColomn #model").val() == "" && $(".multiPurposeMediaFormColomn #modelHidden").val() != "") {
			optionObj.model = $(".multiPurposeMediaFormColomn #modelHidden").val();
		} else {
			optionObj.model = $(".multiPurposeMediaFormColomn #model").val();
		}
	}
	
	optionObj.garantie = $(".multiPurposeMediaFormColomn #garantie").val();
	
	if (!optionObj.brandstof) {
		optionObj.brandstof = $(".multiPurposeMediaFormColomn #brandstof").val();
	}
	
	if (!optionObj.prijsVan || optionObj.prijsVan == "") {
		optionObj.prijsVan = $(".multiPurposeMediaFormColomn #prijsVan").val();
	}
	if (!optionObj.prijsTot || optionObj.prijsTot == "") {
		optionObj.prijsTot = $(".multiPurposeMediaFormColomn #prijsTot").val();
	}
	if (!optionObj.bouwjaarVan || optionObj.bouwjaarVan == "") {
		optionObj.bouwjaarVan = $(".multiPurposeMediaFormColomn #bouwjaarVan").val();
	}
	if (!optionObj.bouwjaarTot || optionObj.bouwjaarTot == "") {
		optionObj.bouwjaarTot = $(".multiPurposeMediaFormColomn #bouwjaarTot").val();
	}
	
	optionObj.vermogenVan = $(".multiPurposeMediaFormColomn #vermogenVan").val();
	optionObj.vermogenTot = $(".multiPurposeMediaFormColomn #vermogenTot").val();

	optionObj.gewichtVan = $(".multiPurposeMediaFormColomn #gewichtVan").val();
	optionObj.gewichtTot = $(".multiPurposeMediaFormColomn #gewichtTot").val();



	if (!optionObj.transmissie || optionObj.transmissie == "") {
		optionObj.transmissie = $(".multiPurposeMediaFormColomn #transmissie").val();
	}
	
	if (!optionObj.kilometerstand || optionObj.kilometerstand == "") {
		optionObj.kilometerstand = $(".multiPurposeMediaFormColomn #kilometerstand").val();
	}
	
	optionObj.btwverrekenbaar = $(".multiPurposeMediaFormColomn #btwverrekenbaar").val();
	
	if (!optionObj.carrosserie || optionObj.carrosserie == "") {
		optionObj.carrosserie = $(".multiPurposeMediaFormColomn #carrosserie").val();
	}
	
	optionObj.vestiging = $(".multiPurposeMediaFormColomn #vestiging").val();
	optionObj.kleur = $(".multiPurposeMediaFormColomn #kleur").val();

	$(".cavSearchForm").find(".checkboxElement:checkbox:checked").each(
		function(i) { 
			optionObj[$(this).attr("name")] = $(this).val(); 
		}
	);

	optionObj.kenteken = $("#kenteken").val();

	optionObj.pageNumber = pageNumber;
	optionObj.cavShow = $("#cavShow").val();
	optionObj.orderBy = $("#cavSort").val();
	
	getCarData(optionObj);
}

function getCarData(optionObj) {
	$.post("cavgetdata.php", optionObj ,
		function(carData){
			buildView(carData);
		}, "json");	
}

function buildView(carData) {
	if (carData.succes == "ja")	{
		buildPager(carData.pager);
		$("#cavCarDataView").html("");
		for (i in carData.cars) {
			if(carData.cars[i].dealeracties)
			{
				var dataDiv = "<div class=\"cavCarElement cavCarElementAction\" rel=\"" + carData.cars[i].autoid + ".html\" >\n";
			} 
			else
			{
				var dataDiv = "<div class=\"cavCarElement " + (carData.cars[i].actieprijs != "0,00" ? " cavCarElementAction":"") + "\" rel=\"" + carData.cars[i].autoid + ".html\">\n";
			}				dataDiv += "<div class=\"cavCarElementImage\">\n";
					if (carData.cars[i].thumb120 != "noImage") {
						dataDiv += "<img src=\"" + carData.cars[i].thumb120 + "\" />";
					} else {
						dataDiv += "<img src=\"images/layout/thumb120_nocar.jpg\" />";
					}			
				dataDiv +="</div>\n";
	
				dataDiv	+= "<div class=\"cavCarElementModel\">\n";
					dataDiv += "<span class=\"cavCarElementTitle\">Merk/Model</span>\n";
					dataDiv += "<strong class=\"cavCarElementModelTitle\">" + carData.cars[i].merk + " " + carData.cars[i].model + "</strong>\n";
					dataDiv += "<p>" + carData.cars[i].uitvoering + "</p>\n";
				dataDiv +="</div>\n";
	
				dataDiv	+= "<div class=\"cavCarElementSpecs\">\n";
						dataDiv	+= "<span class=\"cavCarElementTitle\">Specificaties</span><br clear=\"all\" />\n";
						dataDiv	+= "<strong>Bouwjaar</strong><span>" + carData.cars[i].bouwjaar + "</span><br clear=\"all\" />\n";
						dataDiv	+= "<strong>Brandstof</strong><span>" + carData.cars[i].brandstof + "</span><br clear=\"all\" />\n";
						dataDiv	+= "<strong>Km-stand</strong><span>" + carData.cars[i].kilometerstand + " km</span><br clear=\"all\" />\n";
						dataDiv	+= "<strong>Garantie</strong><span>" + (carData.cars[i].indicatiebovaglid == "J" ? "Bovag":"") + " " + (carData.cars[i].indicatienapdeelnemer == "j" ? "NAP":"") + " " + (carData.cars[i].merkgarantiecode1 != "" ? carData.cars[i].merkgarantie_omschrijving:"") + "</span><br clear=\"all\" />\n";
						//dataDiv	+= "<strong>Voertuigtype</strong><span>" + carData.cars[i].carType + "</span><br clear=\"all\" />\n";
				dataDiv	+= "</div>\n";
	
				dataDiv	+= "<div class=\"cavCarElementPrice\">\n";
					dataDiv	+= "<span class=\"cavCarElementTitle\">Vestiging/Prijs</span><br clear=\"all\" />\n";
					dataDiv	+= "<strong>Vestiging</strong><span>" + carData.cars[i].woonplaats_aanbieder + "</span><br clear=\"all\" />\n";
					if (carData.cars[i].actieprijs == "0,00") {
						dataDiv	+= "<strong>Prijs</strong><span class=\"cavCarPrice\">&euro; " + carData.cars[i].showroomvraagprijs + "</span><br clear=\"all\" />\n";
					} else {
						dataDiv	+= "<strong>Nieuwprijs</strong><span class=\"cavCarNewPrice\">&euro; " + carData.cars[i].showroomvraagprijs + "</span><br clear=\"all\" />\n";
						dataDiv	+= "<strong>Nu</strong><span class=\"cavCarActionPrice\">&euro; " + carData.cars[i].actieprijs + "</span><br clear=\"all\" />\n";
					}
				dataDiv	+= "</div>\n";
			dataDiv +="</div>\n";
			$(dataDiv).appendTo($("#cavCarDataView"));
		}
		
		$(".cavCarElement").bind("click" , function() {
				location.href = $(this).attr("rel");
			});
	} else {
		$("#cavCarDataView").html("<div class=\"cavCarDataViewLoader\"><label><strong>Er zijn geen auto's gevonden die voldoen aan uw zoekopdracht.</strong></label></div>");
	}
	$(".contentAreaBox h1").html("<strong>" + carData.pager.totalcarsfound + "</strong> zoekresultaten gevonden binnen <strong>" + carData.pager.totalcars + "</strong> auto's");
//	updateTotalNumbers(carData.totals);
}

/*function updateTotalNumbers(totals) {
	if (totals.brandstof.B > 0) { $("#brandstofB").html(totals.brandstof.B); } else { $("#brandstofB").html(0); }
	if (totals.brandstof.D) { $("#brandstofD").html(totals.brandstof.D); } else { $("#brandstofD").html(0); }
	if (totals.brandstof.G) { $("#brandstofG").html(totals.brandstof.G); } else { $("#brandstofG").html(0); }
	if (totals.brandstof.E) { $("#brandstofE").html(totals.brandstof.E); } else { $("#brandstofE").html(0); }

	if (totals.transmissie.H) { $("#transmissieH").html(totals.transmissie.H); } else { $("#transmissieH").html(0); }
	if (totals.transmissie.A) { $("#transmissieA").html(totals.transmissie.A); } else { $("#transmissieA").html(0); }
	if (totals.transmissie.C) { $("#transmissieC").html(totals.transmissie.C); } else { $("#transmissieC").html(0); }
}*/

function buildPager(pager) {
	var totalPages = Math.ceil(pager.totalcarsfound / pager.maxcarpage);
	$(".cavPagerLeft").html("");
	if (totalPages > 1) {
		var pagerData = "";
			if (pager.pagenumber == 1) {
				var disabledPrev = " cavPrevBtnOff";
			} else {
				var disabledPrev = "";
			}
			
			if (pager.pagenumber == totalPages) {
				var disabledNext = " cavNextBtnOff";
			} else {
				var disabledNext = "";
			}
			
			pagerData += "<a href=\"#\" title=\"Vorige pagina\" class=\"cavPrevBtn" + disabledPrev + " pager\" rel=\"" + (parseInt(pager.pagenumber) - 1) + "\"></a>\n";
			pagerData += "<div class=\"cavPages\">\n";
				
				
			if (pager.pagenumber != 1) {
				pagerData += "<a href=\"#\" rel=\"1\" class=\"pager\" title=\"Pagina 1\">1</a>\n";
			} else {
				pagerData += "<span>1</span>\n";
			}
		
			if (pager.pagenumber > 5) {
				pagerData += "<span class=\"cavPagesDots\">...</span>\n";
	
				if ((pager.pagenumber-2) < (totalPages - 6)) {
					var startPage = (pager.pagenumber - 2);
				} else {
					var startPage = (totalPages - 6);
				}
	
				if ((startPage + 6) < totalPages) {
					var endPage = (startPage + 5) - 1;
				} else {
					var endPage = (totalPages - 1);
				}
			} else {
				var startPage = 2;
				if ((startPage + 5) < totalPages) {
					var endPage = (startPage + 5);
				} else {
					var endPage = (totalPages - 1);
				}
			}
	
			for (i = startPage; i <= endPage; i++) {
				if (i != pager.pagenumber) {
					pagerData += "<a href=\"#\" rel=\"" + i + "\" class=\"pager\" title=\"Pagina " + i + "\">" + i + "</a>\n";
				} else {
					pagerData += "<span>" + i + "</span>\n";
				}
			}
	
	
			if (endPage + 1 < totalPages) {
				pagerData += "<span class=\"cavPagesDots\">...</span>\n";
			}
			
			
			if (pager.pagenumber != totalPages) {
				pagerData += "<a href=\"#\" rel=\"" + totalPages + "\" class=\"pager\" title=\"Pagina " + totalPages + "\">" + totalPages + "</a>\n";
			} else {
				pagerData += "<span>" + totalPages + "</span>\n";
			}
			pagerData += "</div>\n";
			pagerData += "<a href=\"#\" title=\"Volgende pagina\" class=\"cavNextBtn" + disabledNext + " pager\" rel=\"" + (parseInt(pager.pagenumber) + 1) + "\"></a>\n";
		$(pagerData).appendTo($(".cavPagerLeft"));
	
		// opnieuw binden van clickevent aan de a href.
		$(".pager").bind('click',function() {
			$(this).css({cursor: "pointer"});
			$(this).removeAttr("href");
	
			// als ik niet de class canNextbtnOff of cavPrevBtnOff bevat dan mag ik nieuwe data ophalen.
			if (($(this).attr("className") != "cavPrevBtn cavPrevBtnOff pager") && ($(this).attr("className") != "cavNextBtn cavNextBtnOff pager")) {
				getAanpassenData($(this).attr("rel"));
				//sendData($(this).attr("rel"), new Object);
			}
		});
	}
}
