function FilterByDiscType (type_id) {

	// Blokowanie Caseów
	var BlockCaseData = disc_case_disabled[type_id];
	for(var i=0; i <  BlockCaseData.length; i++) {
		var BlockCaseID = BlockCaseData[i];
		ElementDisable($(case_elements[BlockCaseID]));
	}

	// Blokowanie Front Insert
	var BlockInsertFrontData =  disc_insert_front_disabled[type_id];
	for(var x = 0; x < BlockInsertFrontData.length; x++) {
		var InsertFrontID = BlockInsertFrontData[x];
		ElementDisable ($(insert_front_elements[InsertFrontID]));
	}

	// Blokowanie Rear Insert
	var BlockInsertDataRear =  disc_insert_rear_disabled[type_id];
	for(var x = 0; x < BlockInsertDataRear.length; x++) {
		var InsertRearID = BlockInsertDataRear[x];
		ElementDisable ($(insert_rear_elements[InsertRearID]));
	}

	// Dostepne Casy dla wybranego DiscType
	var CaseData = disc_case_enabled[type_id];

	// Odblokowujemy Casy Dostepne
	for(var i=0; i <  CaseData.length; i++) {

		var CaseID = CaseData[i];

		if(SelectedInsertFront() && SelectedInsertRear()) {
			if(IsInArray (SelectedInsertFront(), case_insert_front_enabled[CaseID]) &&
			IsInArray (SelectedInsertRear(), case_insert_rear_enabled[CaseID])) {
				ElementEnable ($(case_elements[CaseID]));
			}

		} else if (SelectedInsertFront()) {
			if (IsInArray (SelectedInsertFront(), case_insert_front_enabled[CaseID])) {
				ElementEnable ($(case_elements[CaseID]));
			}

			var InsertDataF = case_insert_front_enabled[CaseID];
			for(var x = 0; x < InsertDataF.length; x++) {
				var InsertFID = InsertDataF[x];
				if(!SelectedCase() || IsInArray(SelectedCase(), insert_front_case_enabled[InsertFID])) {
					ElementEnable ($(insert_front_elements[InsertFID]));
				}
			}

		} else if (SelectedInsertRear()) {
			if (IsInArray (SelectedInsertRear(), case_insert_rear_enabled[CaseID])) {
				ElementEnable ($(case_elements[CaseID]));
			}

			var InsertDataR = case_insert_rear_enabled[CaseID];
			for(var x = 0; x < InsertDataR.length; x++) {
				var InsertRID = InsertDataR[x];
				if(!SelectedCase() || IsInArray(SelectedCase(), insert_rear_case_enabled[InsertRID])) {
					ElementEnable ($(insert_rear_elements[InsertRID]));
				}
			}

		} else {
			ElementEnable ($(case_elements[CaseID]));

			// Odblokowac insert front & rear wszystkie
			var InsertDataF = case_insert_front_enabled[CaseID];
			for(var x = 0; x < InsertDataF.length; x++) {
				var InsertFID = InsertDataF[x];
				if(!SelectedCase() || IsInArray(SelectedCase(), insert_front_case_enabled[InsertFID])) {
					ElementEnable ($(insert_front_elements[InsertFID]));
				}
			}

			var InsertDataR = case_insert_rear_enabled[CaseID];
			for(var x = 0; x < InsertDataR.length; x++) {
				var InsertRID = InsertDataR[x];
				if(!SelectedCase() || IsInArray(SelectedCase(), insert_rear_case_enabled[InsertRID])) {
					ElementEnable ($(insert_rear_elements[InsertRID]));
				}
			}
		}
	}
}


function FilterByCaseID (case_id) {

	// Blokujemy Niedozwolone DiscType dla danego Case
	var BlockDiscData = case_disc_disabled[case_id];
	for(var i=0; i <  BlockDiscData.length; i++) {
		var BlockDiscID = BlockDiscData[i];
		ElementDisable ($(disc_elements[BlockDiscID]));
	}

	// Blokujemy Niedozwolone Front Inserts dla danego Case
	var BlockInsertFrontData =  case_insert_front_disabled[case_id];
	for(var x = 0; x < BlockInsertFrontData.length; x++) {
		var InsertFrontID = BlockInsertFrontData[x];
		ElementDisable ($(insert_front_elements[InsertFrontID]));
	}

	// Blokujemy Niedozwolone Rear Inserts dla danego Case
	var BlockInsertDataRear =  case_insert_rear_disabled[case_id];
	for(var x = 0; x < BlockInsertDataRear.length; x++) {
		var InsertRearID = BlockInsertDataRear[x];
		ElementDisable ($(insert_rear_elements[InsertRearID]));
	}

	// Cellowrap visible?
	var CellowrapVisible =  case_cellowrap_enabled[case_id];
	if (CellowrapVisible) {
		CelloEnable();
	} else {
		CelloDisable();
		$('input_cellowrap').checked = false;
		$('ac_input_cellowrap').value = 'no';
	}

	// Dostepne DiscType dla danego Case
	var DiscData = case_disc_enabled[case_id];

	// Odblokowujemy Disc dostępne
	for(var i=0; i <  DiscData.length; i++) {
		var DiscID = DiscData[i];
		ElementEnable ($(disc_elements[DiscID]));
	}

	// Odblokowac insert front & rear wszystkie
	var InsertDataF = case_insert_front_enabled[case_id];
	for(var x = 0; x < InsertDataF.length; x++) {
		var InsertFID = InsertDataF[x];

		if (!SelectedInsertRear() || IsInArray (SelectedInsertRear(), insert_front_insert_rear_enabled[InsertFID])) {
			ElementEnable ($(insert_front_elements[InsertFID]));
		}

	}

	var InsertDataR = case_insert_rear_enabled[case_id];
	for(var x = 0; x < InsertDataR.length; x++) {
		var InsertRID = InsertDataR[x];

		if (!SelectedInsertFront() || IsInArray (SelectedInsertFront(), insert_rear_insert_front_enabled[InsertRID])) {
			ElementEnable ($(insert_rear_elements[InsertRID]));
		}
	}
}


function FilterByInsertFrontID (insert_id) {
	// Blokujemy Casy
	var CaseData = insert_front_case_disabled[insert_id];
	for(var i=0; i < CaseData.length; i++) {
		var CaseID = CaseData[i];
		ElementDisable ($(case_elements[CaseID]));
	}

	// Blokujemy Disc
	var DiscData = insert_front_disc_disabled[insert_id];
	for(var x=0; x <  DiscData.length; x++) {
		var DiscID = DiscData[x];
		ElementDisable ($(disc_elements[DiscID]));
	}

	//Blokujemy Insert Rear
	var InsertDataR = insert_front_insert_rear_disabled[insert_id];
	for(var x = 0; x < InsertDataR.length; x++) {
		var InsertRID = InsertDataR[x];
		ElementDisable ($(insert_rear_elements[InsertRID]));
	}

	// Odblokować case
	var CaseData = insert_front_case_enabled[insert_id];
	for(var i=0; i < CaseData.length; i++) {
		var CaseID = CaseData[i];
		if((!SelectedInsertRear() || IsInArray(SelectedInsertRear(), case_insert_rear_enabled[CaseID]))
		&& (!SelectedDiscType() || IsInArray(SelectedDiscType(), case_disc_enabled[CaseID]))) {
			ElementEnable ($(case_elements[CaseID]));
		}
	}


	//Odblokować Disc
	var DiscData = insert_front_disc_enabled[insert_id];
	for(var i=0; i < DiscData.length; i++) {
		var DiscID = DiscData[i];
		if((!SelectedInsertRear() || !IsInArray(SelectedInsertRear(), disc_insert_rear_disabled[DiscID])) &&
		(!SelectedCase() || IsInArray(SelectedCase(), disc_case_enabled[DiscID]))) {
			ElementEnable ($(disc_elements[DiscID]));
		}
	}


	// Odblokować Insert Rear
	var RearData = insert_front_insert_rear_enabled[insert_id];
	for(var i=0; i < RearData.length; i++) {
		var RearID = RearData[i];

		if(!SelectedCase() || IsInArray(SelectedCase(), insert_rear_case_enabled[RearID])) {
			ElementEnable ($(insert_rear_elements[RearID]));
		}
	}
}

function FilterByInsertRearID (insert_id) {
	// Blokujemy Casy
	var CaseData = insert_rear_case_disabled[insert_id];
	for(var i=0; i < CaseData.length; i++) {
		var CaseID = CaseData[i];
		ElementDisable ($(case_elements[CaseID]));
	}

	// Blokujemy Disc
	var DiscData = insert_rear_disc_disabled[insert_id];
	for(var x=0; x <  DiscData.length; x++) {
		var DiscID = DiscData[x];
		ElementDisable ($(disc_elements[DiscID]));
	}

	//Blokujemy Insert Front
	var InsertDataF = insert_rear_insert_front_disabled[insert_id];
	for(var x = 0; x < InsertDataF.length; x++) {
		var InsertFID = InsertDataF[x];
		ElementDisable ($(insert_front_elements[InsertFID]));
	}


	// Odblokować case
	var CaseData = insert_rear_case_enabled[insert_id];
	for(var i=0; i < CaseData.length; i++) {
		var CaseID = CaseData[i];
		if((!SelectedInsertFront() || IsInArray(SelectedInsertFront(), case_insert_front_enabled[CaseID]))
		&& (!SelectedDiscType() || IsInArray(SelectedDiscType(), case_disc_enabled[CaseID]))) {
			ElementEnable ($(case_elements[CaseID]));
		}
	}

	//Odblokować Disc
	var DiscData = insert_rear_disc_enabled[insert_id];
	for(var i=0; i < DiscData.length; i++) {
		var DiscID = DiscData[i];
		if((!SelectedInsertFront() || !IsInArray(SelectedInsertFront(), disc_insert_front_disabled[DiscID])) &&
		(!SelectedCase() || IsInArray(SelectedCase(), disc_case_enabled[DiscID]))) {
			ElementEnable ($(disc_elements[DiscID]));
		}
	}

	// Odblokować Insert Front
	var RearData = insert_rear_insert_front_enabled[insert_id];
	for(var i=0; i < RearData.length; i++) {
		var RearID = RearData[i];
		if(!SelectedCase() || IsInArray(SelectedCase(), insert_front_case_enabled[RearID])) {
			ElementEnable ($(insert_front_elements[RearID]));
		}
	}

}