function exceptObj(category, nextcategory, item, nextitem, oneandonly)
{
	this.category 		= category;
	this.nextcategory = nextcategory;
	this.item 				= item;
	this.nextitem 		= nextitem;
	this.oneandonly   = oneandonly;
}  // exceptObj

function initExcepts()
{
	for (i=0; i<excepts.length; i++)
	{
		var c 		= excepts[i].category;
		var nc 		= excepts[i].nextcategory;
		var itm;
		var nitm;

		var found = false;
		for (ci=0; ci<cats[c].length && !found; ci++ )
		{
			if ( cats[c][ci] == excepts[i].item )
			{
				found = true;
				itm		= ci;
			}
		}

		found = false;
		for (ci=0; ci<cats[nc].length && !found; ci++ )
		{
			if ( cats[nc][ci] == excepts[i].nextitem )
			{
				found = true;
				nitm		= ci;
			}
		}

		cn = -1;
		var y = -1;
		for(x=0; x<cats.length-1 && (x != c || y != nc); x++)
		{
			for(y=x+1; y<cats.length && (x != c || y != nc); y++)
			{
				cn++;
			}
		}

		for ( x=0; x<defs[cn].length; x++  ) {
			for (k=0; k<defs[cn][x].length; k++)
			{
				if ( x == itm ) {
					if ( k == nitm )
					{
						defs[cn][x][k] = 1;
					}
					else
					{
						defs[cn][x][k] = 0;
					}
				}
				else
				{
					if ( k == nitm &&  excepts[i].oneandonly)
					{
						defs[cn][x][k] = 0;
					}
				}

			}
		}

	}
}  // initExcepts

excepts = new Array();

exccnt = 0;
// excepts[exccnt++] = new exceptObj(catA, catB, ItemA, ItemB, oneandonlyFlag);
excepts[exccnt++] = new exceptObj(0, 1, "Gebrauchtwagen", "alle Marken", 1);		// bei "Gebrauchtwagen" soll nur "alle Marken" auftauchen UND "alle Marken" soll auch nur bei "Gebrauchtwagen" auftauchen
excepts[exccnt++] = new exceptObj(0, 1, "Nutzfahrzeuge", "Volkswagen", 0);      // bei "Nutzfahrzeuge" soll nur "Volkswagen" auftauchen, "Volkswagen" kann aber auch anderweitig auftauchen

initExcepts();


