function fillModelSelection(vehicleClassId,modelId,mileageId,langPleaseSelect) {
	var modelNames = indexClassModel.get(vehicleClassId);
	
	$(modelId).options.length = 0;
	
	var optEl = new Element("option", {"value" : ""});
	optEl.appendChild(document.createTextNode(langPleaseSelect));
	$(modelId).appendChild(optEl);	
	
	for(var i=0; i<modelNames.length; i++) {
		var optEl = new Element("option", {"value" : modelNames[i]});
		optEl.appendChild(document.createTextNode(modelNames[i]));
		$(modelId).appendChild(optEl);
	}
	
	$(modelId).disabled = "";
	
	$(mileageId).selectedIndex = 0;
	$(mileageId).disabled = "disabled";
}
function fillModelResultSelection(vehicleClassId,languageCode,langPleaseSelect) {
	var modelNames = indexClassModel.get(vehicleClassId);
	
	for (var i = 1; i < 5; i++) {
		$('model'+i).disabled = "";
		
		$('model'+i).options.length = 0;
		
  	var optEl = new Element("option", {
  		"value": ""
  	});
  	optEl.appendChild(document.createTextNode(langPleaseSelect));
  	$('model'+i).appendChild(optEl);
  	
  	for (var ii = 0; ii < modelNames.length; ii++) {
  		var optEl = new Element("option", {
  			"value": modelNames[ii]
  		});
  		optEl.appendChild(document.createTextNode(modelNames[ii]));
  		$('model'+i).appendChild(optEl);
  	}
		
		$('model'+i+'Image').src = 'fileadmin/images/content/' + languageCode + '/model_default.jpg';
  }
	
	emptyResultData();
}
function fillMileageSelection(modus,modelName,modelId,mileageId,jQuerySelector,languageCode) {
	if (modelName == 0) {
		switch(modus) {
			case "selectionMini":
				break;
			case "resultSelection":
				$(modelId + 'Image').src = 'fileadmin/images/content/' + languageCode + '/model_default.jpg';
				break;
		}
	} else {
		models.each(function(currentModel){
			if ((currentModel.value.model == modelName || currentModel.value.name == modelName) &&
					currentModel.value.group > 0) {
				showOverlayModelType(modus,currentModel.value.group,modelId,mileageId,jQuerySelector);
			} else if (currentModel.value.model == modelName) {
				$(mileageId).disabled = "";
				switch(modus) {
					case "selectionMini":
						break;
					case "resultSelection":
						if (currentModel.value.image) {
							$(modelId + 'Image').src = 'fileadmin/images/vehicles/' + currentModel.value.image;
						} else {
							$(modelId + 'Image').src = 'fileadmin/images/content/' + languageCode + '/model_default.jpg';
						}
						break;
				}
			}
	  });
	}
}
function showOverlayModelType(modus,modelGroup,modelId,mileageId,jQuerySelector) {
	jQuery("#" + jQuerySelector + "List").remove();
	
	jQuery("#" + jQuerySelector + "Content").append('<div id="' + jQuerySelector + 'List" class="content_table clearfix"></div>');
	
	indexGroupModel.each(function(currentGroup) {
		if (currentGroup.key == modelGroup) {
			var htmlString = "";
			
			currentGroup.value.each(function(currentModelType) {
				switch(modus) {
					case "selectionMini":
						jQuery("#" + jQuerySelector + "List").append('<div class="thumbnail"><img src="fileadmin/images/vehicles/' + models.get(currentModelType.value[0]).image + '" width="138" height="88" alt="" title="" /><input type="radio" name="selectedType" class="input_radio" value="' + models.get(currentModelType.value[0]).name + '" onclick="closeOverlayModelType(\'' + modus + '\',\'' + models.get(currentModelType.value[0]).name + '\',' + false + ',\'' + modelId + '\',\'' + mileageId + '\',\'' + jQuerySelector + '\')" /><label>' + models.get(currentModelType.value[0]).name + '</label></div>');
						break;
					case "resultSelection":
						jQuery("#" + jQuerySelector + "List").append('<div class="thumbnail"><img src="fileadmin/images/vehicles/' + models.get(currentModelType.value[0]).image + '" width="138" height="88" alt="" title="" /><input type="radio" name="selectedType" class="input_radio" value="' + models.get(currentModelType.value[0]).name + '" onclick="closeOverlayModelType(\'' + modus + '\',\'' + models.get(currentModelType.value[0]).name + '\',\'' + models.get(currentModelType.value[0]).image + '\',\'' + modelId + '\',\'' + mileageId + '\',\'' + jQuerySelector + '\')" /><label>' + models.get(currentModelType.value[0]).name + '</label></div>');
						break;
				}
			});
			//alert(jQuery("#" + jQuerySelector).html());
		}
	});
	
	// 1. Define the overlay.
  var jqOverlay = jQuery("#" + jQuerySelector).overlay({
    expose: '#fff',
		closeOnClick: false
  });
  // 2. Open the just defined overlay.
  jqOverlay.load();
}
function closeOverlayModelType(modus,modelTypeName,modelTypImage,modelId,mileageId,jQuerySelector) {
	$(modelId).options[$(modelId).selectedIndex].value = modelTypeName;
	$(modelId).options[$(modelId).selectedIndex].text = modelTypeName;
	
	switch(modus) {
		case "selectionMini":
			var milageOptionId = 1;
			
			models.each(function(currentModel){
				if (currentModel.value.name == modelTypeName) {
					$(mileageId).options[milageOptionId].value = currentModel.value.mileage;
					
					$(mileageId).disabled = "";
					
					milageOptionId = milageOptionId + 1;
				}
			});
	
			$(mileageId).disabled = "";
			break;
		case "resultSelection":
			$(modelId + 'Image').src = 'fileadmin/images/vehicles/' + modelTypImage;
			break;
	}
	
	// 1. Define the overlay.
	var jqOverlay = jQuery("#" + jQuerySelector).overlay();
	// 2. Close the just defined overlay.
	jqOverlay.close();
}
function emptyResultData() {
	jQuery("div.content_col15_item").children().html("<p>&nbsp;</p>");
	$('fahrwerkIcon').src = "fileadmin/images/icons/grey17/fahrwerk.gif";
	$('motorIcon').src = "fileadmin/images/icons/grey17/motor.gif";
	$('karosserieIcon').src = "fileadmin/images/icons/grey17/karosserie.gif";
	$('bremsenIcon').src = "fileadmin/images/icons/grey17/bremsen.gif";
	$('elektrikIcon').src = "fileadmin/images/icons/grey17/elektrik.gif";
}