
var		caNaviReq=null;
var		caNavi=null;
var		caNaviSpecialsReq=null;
var		caNaviSpecials=null;
var		caCatalogId='';

var		caLevel3Zusatz=new Array(
	// 					Level 3								Pre		Pre Class				Post		Post Class		Part 		PartClass
/*	new Array('Sale Aktion Blusen', 	'', 	'', 						'', 		'', 					'Sale', 'level3Sale'), 
	new Array('Sale Aktion Hemden', 	'', 	'', 						'', 		'', 					'Sale', 'level3Sale'), 
	new Array('Sale Aktion Schuhe', 	'', 	'', 						'', 		'', 					'Sale', 'level3Sale'), 
	new Array('Sale Aktion Jacken', 	'', 	'', 						'', 		'', 					'Sale', 'level3Sale'),
	new Array('XL Sale', 					'', 	'', 						'', 		'', 					'Sale', 'level3Sale'),
	new Array('Umstand Sale', 					'', 	'', 						'', 		'', 					'Sale', 'level3Sale')*/
);
var 	caLevel4Zusatz=new Array(
	// 					Level 4								Pre		Pre Class				Post		Post Class		Part 		PartClass
	//new Array('New Grunge', 					'', 	'', 						'', 		'', 					'New Grunge', 'level4bold')
);


function caLoadNaviXML(naviFileName)
{
	var			funcObj=new Object();
	var			zusatz='';


	switch (caGetNaviLevel1())
	{
		case 'Women':
			zusatz = 'Women_';
			break;

		case 'Men':
			zusatz = 'Men_';
			break;

		case 'Babies':
			zusatz = 'Babies_';
			break;

		case 'Minis':
			zusatz = 'Minis_';
			break;

		case 'Kids':
			zusatz = 'Kids_';
			break;
	}

	funcObj.func = caOnLoadNaviComplete;

	caNaviReq = new AJAXRequest();
	caNaviReq.addEvent(STATE_READY, funcObj);
	caNaviReq.setURL('../JSNavi/de/' + zusatz + naviFileName + caGetCacheParam());
	caNaviReq.load();
}

function caOnLoadNaviComplete()
{
	var			xmlObj=new XML.ObjTree();
	var			naviTxt=this.objXML.responseText.replace(/&#x([A-F0-9]{2})/gi, '\\u00$1');
	var			funcObjSpecials=new Object();


	caNavi = xmlObj.parseXML(unescape(naviTxt)).root;
	if (typeof caNavi == 'object');
	{
		caWriteNavi();
		caWriteNaviBrands();
	}

	// Specials navi.
	if (caGetNaviLevel1() != 'Women' && caGetNaviLevel1() != 'Men' && caGetNaviLevel1() != 'Babies' && caGetNaviLevel1() != 'Minis' && caGetNaviLevel1() != 'Kids')
		return;

	funcObjSpecials.func = caOnLoadNaviSpecialsComplete;

	caNaviSpecialsReq = new AJAXRequest();
	caNaviSpecialsReq.addEvent(STATE_READY, funcObjSpecials);
	caNaviSpecialsReq.setURL('../JSNavi/de/specials.xml' + caGetCacheParam());
	caNaviSpecialsReq.load();
}

function caOnLoadNaviSpecialsComplete()
{
	var			xmlObj=new XML.ObjTree();
	var			naviTxt=this.objXML.responseText.replace(/&#x([A-F0-9]{2})/gi, '\\u00$1');


	caNaviSpecials = xmlObj.parseXML(unescape(naviTxt)).root;
	if (typeof caNaviSpecials == 'object');
		caWriteNaviSpecials();
}

function caWriteNaviSpecials()
{
	var			strNavi='';
	var			specials='';
	var			tmp;


	if ((caGetNaviLevel1() == 'Minis' || caGetNaviLevel1() == 'Kids') && 
			caGetNaviLevel2() == '')
		return '';

	// Specials navi.
	strNavi += '<div style="position:relative;left:23px;top:0px;">';
	strNavi += caWriteNaviHeader('Specials:', '#878787');
	strNavi += '<div style="position:absolute;width:208px;height:3px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);'+caGetTransparencyCSS(80)+'"></div>';
	strNavi += '<div style="position:relative;left:3px;top:0px;width:198px;height:3px;overflow:hidden;background-color:#FFFFFF;"></div>';
	try
	{
		specials = caLoadNaviTree_(caNaviSpecials);

		// New.
		tmp = caLoadNaviDivisionNew(caNavi);
		if (tmp != '')
		{
			if (specials != '')
			{
				specials += '<div style="position:relative;width:208px;height:5px;overflow:hidden;">';
				specials += '<div style="position:absolute;left:0px;top:0px;width:208px;height:5px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'"></div>';
				specials += '<div style="position:relative;left:3px;top:0px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
				specials += '</div>';
			}
			specials += tmp;
		}

		// Sale.
		tmp = caLoadNaviDivisionSale(caNavi);
		if (tmp != '')
		{
			if (specials != '')
			{
				specials += '<div style="position:relative;width:208px;height:5px;overflow:hidden;">';
				specials += '<div style="position:absolute;left:0px;top:0px;width:208px;height:5px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'"></div>';
				specials += '<div style="position:relative;left:3px;top:0px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
				specials += '</div>';
			}
			specials += tmp;
		}
	}
	catch (error)
	{
		strNavi = error;
	}
	strNavi += specials;
	strNavi += '<div style="position:relative;">';
	strNavi += '<div style="width:208px;height:12px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_unten.gif);'+caGetTransparencyCSS(80)+'"></div>';
	strNavi += '<div style="position:absolute;top:0px;left:3px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
	strNavi += '</div>';
	strNavi += '</div>';

	if (specials == '')
		return;

	var		abDiv=document.getElementById('ab_100001');
	abDiv.innerHTML = strNavi;
}

function caWriteNaviBrands()
{
	var			strNavi='';
	var			brands='';


	// Don't show the brand navi for minis and kids.
	if (caGetNaviLevel1() == 'Minis')
		return;

	// Specials navi.
	strNavi += '<div style="position:relative;left:23px;top:0px;">';
	strNavi += caWriteNaviHeader('Marken:', '#878787');
	strNavi += '<div style="position:absolute;width:208px;height:3px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);'+caGetTransparencyCSS(80)+'"></div>';
	strNavi += '<div style="position:relative;left:3px;top:0px;width:198px;height:3px;overflow:hidden;background-color:#FFFFFF;"></div>';
	try
	{
		brands = caLoadNaviBrands(caNavi);
	}
	catch (error)
	{
		strNavi = error;
	}
	strNavi += brands;
	strNavi += '<div style="width:208px;height:12px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_unten.gif);'+caGetTransparencyCSS(80)+'"></div>';
	strNavi += '</div>';

	if (brands == '')
		return;

	document.getElementById('navi').innerHTML = document.getElementById('navi').innerHTML + strNavi;
}

function caWriteNavi()
{
	var			strNavi='';
	var			naviName=caGetNaviLevel1()+':';


	switch (caGetNaviLevel1())
	{
		case 'Babies':
			naviName += '(Gr&ouml;&szlig;e 50-92)';
			break;

		case 'Minis':
			naviName += '(Gr&ouml;&szlig;e 92-122)';
			break;

		case 'Kids':
			if (caGetNaviLevel2() == 'Girls')
				naviName += '(Gr&ouml;&szlig;e 122-176)';
			else if (caGetNaviLevel2() == 'Boys')
				naviName += '(Gr&ouml;&szlig;e 122-182)';
			break;
	}

	strNavi += '<div style="position:relative;left:23px;top:0px;">';
	strNavi += caWriteNaviHeader(naviName, '#002F5C');
	strNavi += '<div style="position:absolute;width:208px;height:3px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);'+caGetTransparencyCSS(80)+'"></div>';
	strNavi += '<div style="position:relative;left:3px;top:0px;width:198px;height:3px;overflow:hidden;background-color:#FFFFFF;"></div>';
	try
	{
		// Static navigation for minis and kids.
		if (caGetNaviLevel1() == 'Service')
			strNavi += caLoadNaviService(caNavi);
		else if ((caGetNaviLevel1() == 'Minis' || caGetNaviLevel1() == 'Kids') && caGetNaviLevel2() == '')
			strNavi += caLoadNaviMinisKids();
		else if (caGetNaviLevel1() == 'Women' || caGetNaviLevel1() == 'Men' || caGetNaviLevel1() == 'Babies' || caGetNaviLevel1() == 'Minis' || caGetNaviLevel1() == 'Kids')
			strNavi += caLoadNaviTree(caNavi);
		else
			strNavi = '';
	}
	catch (error)
	{
		strNavi = error;
	}
	if (strNavi != '')
	{
		strNavi += '<div style="position:relative;">';
		strNavi += '<div style="width:208px;height:12px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_unten.gif);'+caGetTransparencyCSS(80)+'"></div>';
		strNavi += '<div style="position:absolute;top:0px;left:3px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
		strNavi += '</div>';
		strNavi += '</div>';
	}

	// A/B Test - 100001
	strNavi += '<div id="ab_100001"></div>';

	// Append, so that the specials will be shown on top.
	document.getElementById('navi').innerHTML = document.getElementById('navi').innerHTML + strNavi;
}

function caLoadNaviService(naviTree)
{
	var			strOut='';
	var			isActive;
	var			i;
	var			j;
	var			firstL3=true;


	if (typeof naviTree.cat == 'undefined')
		return '';

	if (typeof naviTree.cat.length == 'undefined')
		naviTree.cat = new Array(naviTree.cat);

	for (i=0;i<naviTree.cat.length;++i)
	{
		if (naviTree.cat[i]['-CatalogName'] == caGetNaviLevel1() && (naviTree.cat[i]['-FlagHidden'] == '0' || typeof naviTree.cat[i]['-FlagHidden'] == 'undefined'))
		{
			if (typeof naviTree.cat[i].cat.length == 'undefined')
				naviTree.cat[i].cat = new Array(naviTree.cat[i].cat);

			for (j=0;j<naviTree.cat[i].cat.length;++j)
			{
				if (naviTree.cat[i].cat[j]['-FlagHidden'] != '0' && typeof naviTree.cat[i].cat[j]['-FlagHidden'] != 'undefined')
					continue;

				isActive = naviTree.cat[i].cat[j]['-CatalogName'] == caGetNaviLevel2();

				if (!firstL3)
				{
					strOut += '<div style="position:relative;width:208px;height:5px;overflow:hidden;">';
					strOut += '<div style="position:absolute;left:0px;top:0px;width:208px;height:5px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'"></div>';
					strOut += '<div style="position:relative;left:3px;top:0px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
					strOut += '</div>';
				}
				firstL3 = false;

				strOut += caWriteNaviLevel2(
					naviTree.cat[i].cat[j]['-CatalogName'], 
					naviTree.cat[i].cat[j]['-CatalogID'], 
					isActive);
			}

			return strOut;
		}
	}

	return strOut;
}

function caLoadNaviMinisKids()
{
	var			strOut='';


	strOut += '<div style="position:relative;">';

	// Shadow border.
	strOut += '<div style="position:absolute;top:0px;left:0px;width:208px;height:41px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'">';
	strOut += '</div>';

	strOut += '<div style="position:relative;left:3px;top:0px;width:198px;background-color:#FFFFFF;">';
	strOut += '<table cellspacing="0" cellpadding="0" border="0" width="192">';
	strOut += '<tr>';
	strOut += '<td width="15"><img src="../Data/Img/Navi/symbol_closed.gif"></td>';
	strOut += '<td width="177" height="18">'+caGetLinkBegin(false, '', caGetNaviLevel1(), 'Girls', 'Kollektion')+'<div class="level3off" style="width:177px;cursor:pointer;">Girls</div></a></td>';
	strOut += '</tr>';
	strOut += '<tr><td height="5"></td></tr>';
	strOut += '<tr>';
	strOut += '<td width="15"><img src="../Data/Img/Navi/symbol_closed.gif"></td>';
	strOut += '<td width="177" height="18">'+caGetLinkBegin(false, '', caGetNaviLevel1(), 'Boys', 'Kollektion')+'<div class="level3off" style="width:177px;cursor:pointer;">Boys</div></a></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';

	strOut += '</div>';

	return strOut;
}

function caLoadNaviTree_(naviTree)
{
	var			strWrite='';
	var			i;
	var			j;
	var			k;
	var			l;
	var			isActive;
	var			firstL3=true;
	var			l3;


	if (typeof naviTree.cat == 'undefined')
		return '';

	if (typeof naviTree.cat.length == 'undefined')
		naviTree.cat = new Array(naviTree.cat);

	for (i=0;i<naviTree.cat.length;++i)
	{
		if (naviTree.cat[i]['-CatalogName'] == caGetNaviLevel1() && (naviTree.cat[i]['-FlagHidden'] == '0' || typeof naviTree.cat[i]['-FlagHidden'] == 'undefined'))
		{
			if (typeof naviTree.cat[i].cat.length == 'undefined')
				naviTree.cat[i].cat = new Array(naviTree.cat[i].cat);

			for (j=0;j<naviTree.cat[i].cat.length;++j)
			{
				// Hack for level2 == empty.
				if (naviTree.cat[i].cat[j]['-CatalogName'] == 'empty')
					naviTree.cat[i].cat[j]['-CatalogName'] = '';

				// New and sale will be shown under "specials".
				if (naviTree.cat[i].cat[j]['-CatalogName'].indexOf('Sale') == 0 || 
						naviTree.cat[i].cat[j]['-CatalogName'].indexOf('Reduzierte Einzelteile') == 0 || 
						naviTree.cat[i].cat[j]['-CatalogName'].indexOf('Neuheiten') == 0)
					continue;

				if (naviTree.cat[i].cat[j]['-CatalogName'] == caGetNaviLevel2() && (naviTree.cat[i].cat[j]['-FlagHidden'] == '0' || typeof naviTree.cat[i].cat[j]['-FlagHidden'] == 'undefined'))
				{
					if (typeof naviTree.cat[i].cat[j].cat.length == 'undefined')
						naviTree.cat[i].cat[j].cat = new Array(naviTree.cat[i].cat[j].cat);

					for (k=0;k<naviTree.cat[i].cat[j].cat.length;++k)
					{
						if (naviTree.cat[i].cat[j].cat[k]['-FlagHidden'] != '0' && typeof naviTree.cat[i].cat[j].cat[k]['-FlagHidden'] != 'undefined')
							continue;

						isActive = naviTree.cat[i].cat[j].cat[k]['-CatalogName'] == caGetNaviLevel3();

						if (!firstL3)
						{
							strWrite += '<div style="position:relative;width:208px;height:5px;overflow:hidden;">';
							strWrite += '<div style="position:absolute;left:0px;top:0px;width:208px;height:5px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'"></div>';
							strWrite += '<div style="position:relative;left:3px;top:0px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
							strWrite += '</div>';
						}
						firstL3 = false;

						for (l3=0;l3<caLevel3Zusatz.length;++l3)
						{
							if (caLevel3Zusatz[l3][0] == naviTree.cat[i].cat[j].cat[k]['-CatalogName'])
							{
								strWrite += caWriteNaviLevel3Ext(
									naviTree.cat[i].cat[j].cat[k]['-CatalogName'], 
									caLevel3Zusatz[l3][1], caLevel3Zusatz[l3][2], 
									caLevel3Zusatz[l3][3], caLevel3Zusatz[l3][4], 
									caLevel3Zusatz[l3][5], caLevel3Zusatz[l3][6], 
									naviTree.cat[i].cat[j].cat[k]['-CatalogID'], 
									isActive);
/*								strWrite += caWriteNaviLevel3Ext(
									naviTree.cat[i].cat[j].cat[k]['-CatalogName'], 
									caLevel3Zusatz[l3][1], 
									caLevel3Zusatz[l3][2], 
									naviTree.cat[i].cat[j].cat[k]['-CatalogID'], 
									isActive);*/
								break;
							}
						}
						if (l3 == caLevel3Zusatz.length)
						{
							strWrite += caWriteNaviLevel3(
								naviTree.cat[i].cat[j].cat[k]['-CatalogName'], 
								naviTree.cat[i].cat[j].cat[k]['-CatalogID'], 
								isActive);
						}

						if (isActive == false)
							continue;

						if (typeof naviTree.cat[i].cat[j].cat[k].cat == 'undefined')
						{
							// Direkt die Übersicht anzeigen.
							caCatalogId = naviTree.cat[i].cat[j].cat[k]['-CatalogID'];
							continue;
						}

						if (typeof naviTree.cat[i].cat[j].cat[k].cat.length == 'undefined')
							naviTree.cat[i].cat[j].cat[k].cat = new Array(naviTree.cat[i].cat[j].cat[k].cat);

						for (l=0;l<naviTree.cat[i].cat[j].cat[k].cat.length;++l)
						{
							if (naviTree.cat[i].cat[j].cat[k].cat[l]['-FlagHidden'] != '0' && typeof naviTree.cat[i].cat[j].cat[k].cat[l]['-FlagHidden'] != 'undefined')
								continue;

							isActive = naviTree.cat[i].cat[j].cat[k].cat[l]['-CatalogName'] == caGetNaviLevel4();

							strWrite += caWriteNaviLevel4(
								naviTree.cat[i].cat[j].cat[k].cat[l]['-CatalogName'], 
								naviTree.cat[i].cat[j].cat[k].cat[l]['-CatalogID'], 
								isActive);
						}
					}

					return strWrite;
				}
			}

			return strWrite;
		}
	}

	return strWrite;
}

function caLoadNaviTree(naviTree)
{
	var			strWrite='';
	var			i;
	var			j;
	var			k;
	var			l;
	var			isActive;
	var			firstL3=true;
	var			l3;


	if (typeof naviTree.c == 'undefined')
		return '';

	if (typeof naviTree.c.length == 'undefined')
		naviTree.c = new Array(naviTree.c);

	for (i=0;i<naviTree.c.length;++i)
	{
		if (naviTree.c[i]['-cn'] == caGetNaviLevel1())
		{
			if (typeof naviTree.c[i].c.length == 'undefined')
				naviTree.c[i].c = new Array(naviTree.c[i].c);

			for (j=0;j<naviTree.c[i].c.length;++j)
			{
				// Hack for level2 == empty.
				if (naviTree.c[i].c[j]['-cn'] == 'empty')
					naviTree.c[i].c[j]['-cn'] = '';

				// New and sale will be shown under "specials".
				if (naviTree.c[i].c[j]['-cn'].indexOf('Sale') == 0 || 
						naviTree.c[i].c[j]['-cn'].indexOf('Reduzierte Einzelteile') == 0 || 
						naviTree.c[i].c[j]['-cn'].indexOf('Neuheiten') == 0)
					continue;

				if (naviTree.c[i].c[j]['-cn'] == caGetNaviLevel2())
				{
					if (typeof naviTree.c[i].c[j].c.length == 'undefined')
						naviTree.c[i].c[j].c = new Array(naviTree.c[i].c[j].c);

					for (k=0;k<naviTree.c[i].c[j].c.length;++k)
					{
						if (naviTree.c[i].c[j].c[k]['-cn'] == 'Download' || 
								naviTree.c[i].c[j].c[k]['-cn'] == 'Miss Here & There')
							continue;

						isActive = naviTree.c[i].c[j].c[k]['-cn'] == caGetNaviLevel3();

						if (!firstL3)
						{
							strWrite += '<div style="position:relative;width:208px;height:5px;overflow:hidden;">';
							strWrite += '<div style="position:absolute;left:0px;top:0px;width:208px;height:5px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'"></div>';
							strWrite += '<div style="position:relative;left:3px;top:0px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
							strWrite += '</div>';
						}
						firstL3 = false;

						for (l3=0;l3<caLevel3Zusatz.length;++l3)
						{
							if (caLevel3Zusatz[l3][0] == naviTree.c[i].c[j].c[k]['-cn'])
							{
								strWrite += caWriteNaviLevel3Ext(
									naviTree.c[i].c[j].c[k]['-cn'], 
									caLevel3Zusatz[l3][1], caLevel3Zusatz[l3][2], 
									caLevel3Zusatz[l3][3], caLevel3Zusatz[l3][4], 
									caLevel3Zusatz[l3][5], caLevel3Zusatz[l3][6], 
									naviTree.c[i].c[j].c[k]['-ID'], 
									isActive);
/*								strWrite += caWriteNaviLevel3Ext(
									naviTree.c[i].c[j].c[k]['-cn'], 
									caLevel3Zusatz[l3][1], 
									caLevel3Zusatz[l3][2], 
									naviTree.c[i].c[j].c[k]['-ID'], 
									isActive);*/
								break;
							}
						}
						if (l3 == caLevel3Zusatz.length)
						{
							strWrite += caWriteNaviLevel3(
								naviTree.c[i].c[j].c[k]['-cn'], 
								naviTree.c[i].c[j].c[k]['-ID'], 
								isActive);
						}

						if (isActive == false)
							continue;

						if (typeof naviTree.c[i].c[j].c[k].c == 'undefined')
						{
							// Direkt die Übersicht anzeigen.
							caCatalogId = naviTree.c[i].c[j].c[k]['-ID'];
							continue;
						}

						if (typeof naviTree.c[i].c[j].c[k].c.length == 'undefined')
							naviTree.c[i].c[j].c[k].c = new Array(naviTree.c[i].c[j].c[k].c);

						for (l=0;l<naviTree.c[i].c[j].c[k].c.length;++l)
						{
							isActive = naviTree.c[i].c[j].c[k].c[l]['-cn'] == caGetNaviLevel4();

							strWrite += caWriteNaviLevel4(
								naviTree.c[i].c[j].c[k].c[l]['-cn'], 
								naviTree.c[i].c[j].c[k].c[l]['-ID'], 
								isActive);
						}
					}

					return strWrite;
				}
			}

			return strWrite;
		}
	}

	return strWrite;
}

function caLoadNaviDivisionNew(naviTree)
{
	var			strOut='';
	var			i;
	var			j;
	var			k;
	var			l;
	var			isActive;
	var			firstL3=true;


	if (typeof naviTree.c == 'undefined')
		return '';

	if (typeof naviTree.c.length == 'undefined')
		naviTree.c = new Array(naviTree.c);

	for (i=0;i<naviTree.c.length;++i)
	{
		if (naviTree.c[i]['-cn'] == caGetNaviLevel1())
		{
			if (typeof naviTree.c[i].c.length == 'undefined')
				naviTree.c[i].c = new Array(naviTree.c[i].c);

			for (j=0;j<naviTree.c[i].c.length;++j)
			{
				// Hack for level2 == empty.
				if (naviTree.c[i].c[j]['-cn'] == 'empty')
					naviTree.c[i].c[j]['-cn'] = '';

				// We need new only.
				if (naviTree.c[i].c[j]['-cn'].indexOf('Neuheiten') != 0)
					continue;

				if (caGetNaviLevel1() == 'Minis' || caGetNaviLevel1() == 'Kids')
				{
					if (caGetNaviLevel2().indexOf('Girls') >= 0 && naviTree.c[i].c[j]['-cn'].indexOf('Girls') < 0)
						continue;
					if (caGetNaviLevel2().indexOf('Boys') >= 0 && naviTree.c[i].c[j]['-cn'].indexOf('Boys') < 0)
						continue;
				}

				if (typeof naviTree.c[i].c[j].c.length == 'undefined')
					naviTree.c[i].c[j].c = new Array(naviTree.c[i].c[j].c);

				for (k=0;k<naviTree.c[i].c[j].c.length;++k)
				{
					isActive = naviTree.c[i].c[j].c[k]['-cn'] == caGetNaviLevel3();

					if (!firstL3)
					{
						strOut += '<div style="position:relative;width:208px;height:5px;overflow:hidden;">';
						strOut += '<div style="position:absolute;left:0px;top:0px;width:208px;height:5px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'"></div>';
						strOut += '<div style="position:relative;left:3px;top:0px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
						strOut += '</div>';
					}
					firstL3 = false;

/*					strOut += caWriteNaviLevel3NewSale(
						naviTree.c[i].c[j].c[k]['-cn'], 
						'New', 
						'level3New', 
						naviTree.c[i].c[j].c[k]['-ID'], 
						isActive);*/
					strOut += caWriteNaviLevel3(
						naviTree.c[i].c[j].c[k]['-cn'], 
						naviTree.c[i].c[j].c[k]['-ID'], 
						isActive);

					if (isActive == false)
						return strOut;

					if (typeof naviTree.c[i].c[j].c[k].c.length == 'undefined')
						naviTree.c[i].c[j].c[k].c = new Array(naviTree.c[i].c[j].c[k].c);

					for (l=0;l<naviTree.c[i].c[j].c[k].c.length;++l)
					{
						isActive = naviTree.c[i].c[j].c[k].c[l]['-cn'] == caGetNaviLevel4();

						strOut += caWriteNaviLevel4(
							naviTree.c[i].c[j].c[k].c[l]['-cn'], 
							naviTree.c[i].c[j].c[k].c[l]['-ID'], 
							isActive);
					}

					return strOut;
				}

				return strOut;
			}

			return strOut;
		}
	}

	return strOut;
}

function caLoadNaviDivisionSale(naviTree)
{
	var			strOut='';
	var			i;
	var			j;
	var			k;
	var			l;
	var			isActive;
	var			firstL3=true;


	if (typeof naviTree.c == 'undefined')
		return '';

	if (typeof naviTree.c.length == 'undefined')
		naviTree.c = new Array(naviTree.c);

	for (i=0;i<naviTree.c.length;++i)
	{
		if (naviTree.c[i]['-cn'] == caGetNaviLevel1())
		{
			if (typeof naviTree.c[i].c.length == 'undefined')
				naviTree.c[i].c = new Array(naviTree.c[i].c);

			for (j=0;j<naviTree.c[i].c.length;++j)
			{
				// Hack for level2 == empty.
				if (naviTree.c[i].c[j]['-cn'] == 'empty')
					naviTree.c[i].c[j]['-cn'] = '';

				// Only sale will be shown under "specials".
				if (naviTree.c[i].c[j]['-cn'].indexOf('Sale') != 0 && 
						naviTree.c[i].c[j]['-cn'].indexOf('Reduzierte Einzelteile') != 0)
					continue;

				if (caGetNaviLevel1() == 'Minis' || caGetNaviLevel1() == 'Kids')
				{
					if (caGetNaviLevel2().indexOf('Girls') >= 0 && naviTree.c[i].c[j]['-cn'].indexOf('Girls') < 0)
						continue;
					if (caGetNaviLevel2().indexOf('Boys') >= 0 && naviTree.c[i].c[j]['-cn'].indexOf('Boys') < 0)
						continue;
				}

				if (typeof naviTree.c[i].c[j].c.length == 'undefined')
					naviTree.c[i].c[j].c = new Array(naviTree.c[i].c[j].c);

				for (k=0;k<naviTree.c[i].c[j].c.length;++k)
				{
					isActive = naviTree.c[i].c[j].c[k]['-cn'] == caGetNaviLevel3();

					if (!firstL3)
					{
						strOut += '<div style="position:relative;width:208px;height:5px;overflow:hidden;">';
						strOut += '<div style="position:absolute;left:0px;top:0px;width:208px;height:5px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'"></div>';
						strOut += '<div style="position:relative;left:3px;top:0px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
						strOut += '</div>';
					}
					firstL3 = false;

					strOut += caWriteNaviLevel3Ext(
						naviTree.c[i].c[j].c[k]['-cn'], 
						'', '', 
						'', '', 
						'Sale', 'level3Sale', 
						naviTree.c[i].c[j].c[k]['-ID'], 
						isActive);
					/*strOut += caWriteNaviLevel3NewSale(
						naviTree.c[i].c[j].c[k]['-cn'], 
						'Sale', 
						'level3Sale', 
						naviTree.c[i].c[j].c[k]['-ID'], 
						isActive);*/
					/*strOut += caWriteNaviLevel3(
						naviTree.c[i].c[j].c[k]['-cn'], 
						naviTree.c[i].c[j].c[k]['-ID'], 
						isActive);*/

					if (isActive == false)
						return strOut;

					if (typeof naviTree.c[i].c[j].c[k].c.length == 'undefined')
						naviTree.c[i].c[j].c[k].c = new Array(naviTree.c[i].c[j].c[k].c);

					for (l=0;l<naviTree.c[i].c[j].c[k].c.length;++l)
					{
						isActive = naviTree.c[i].c[j].c[k].c[l]['-cn'] == caGetNaviLevel4();

						strOut += caWriteNaviLevel4(
							naviTree.c[i].c[j].c[k].c[l]['-cn'], 
							naviTree.c[i].c[j].c[k].c[l]['-ID'], 
							isActive);
					}

					return strOut;
				}

				return strOut;
			}

			return strOut;
		}
	}

	return strOut;
}

function caLoadNaviBrands(naviTree)
{
	var			strOut='';
	var			i;
	var			j;
	var			k;
	var			l;
	var			isActive;
	var			firstL3=true;
	var			l3;


	if (typeof naviTree.c == 'undefined')
		return '';

	if (typeof naviTree.c.length == 'undefined')
		naviTree.c = new Array(naviTree.c);

	for (i=0;i<naviTree.c.length;++i)
	{
		if (naviTree.c[i]['-cn'] == caGetNaviLevel1())
		{
			if (typeof naviTree.c[i].c.length == 'undefined')
				naviTree.c[i].c = new Array(naviTree.c[i].c);

			for (j=0;j<naviTree.c[i].c.length;++j)
			{
				// Hack for level2 == empty.
				if (naviTree.c[i].c[j]['-cn'] == 'empty')
					naviTree.c[i].c[j]['-cn'] = '';

				if ((caGetNaviLevel2() == 'Girls' || caGetNaviLevel2() == 'Boys') && naviTree.c[i].c[j]['-cn'] != caGetNaviLevel2())
					continue;

				// We need new only.
				if (naviTree.c[i].c[j]['-cn'].indexOf('Neuheiten') == 0 || 
						naviTree.c[i].c[j]['-cn'].indexOf('Sale') == 0 || 
						naviTree.c[i].c[j]['-cn'].indexOf('Reduzierte Einzelteile') == 0 || 
						naviTree.c[i].c[j]['-cn'] == '')
					continue;

				if (typeof naviTree.c[i].c[j].c.length == 'undefined')
					naviTree.c[i].c[j].c = new Array(naviTree.c[i].c[j].c);

				for (k=0;k<naviTree.c[i].c[j].c.length;++k)
				{
					if (naviTree.c[i]['-cn'] == 'Kids' && (naviTree.c[i].c[j].c[k]['-cn'] != 'Miss Here & There' && naviTree.c[i].c[j].c[k]['-cn'] != 'Download'))
						continue;

					isActive = naviTree.c[i].c[j].c[k]['-cn'] == caGetNaviLevel3();

					if (!firstL3)
					{
						strOut += '<div style="position:relative;width:208px;height:5px;overflow:hidden;">';
						strOut += '<div style="position:absolute;left:0px;top:0px;width:208px;height:5px;overflow:hidden;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'"></div>';
						strOut += '<div style="position:relative;left:3px;top:0px;width:198px;height:5px;background-color:#FFFFFF;"></div>';
						strOut += '</div>';
					}
					firstL3 = false;

					strOut += caWriteNaviLevel3Brand(
						naviTree.c[i].c[j].c[k]['-cn'], 
						naviTree.c[i].c[j].c[k]['-ID'], 
						isActive);

					if (isActive == false)
						continue;

					if (typeof naviTree.c[i].c[j].c[k].c == 'undefined')
					{
						// Direkt die Übersicht anzeigen.
						caCatalogId = naviTree.c[i].c[j].c[k]['-ID'];
							continue;
					}

					if (typeof naviTree.c[i].c[j].c[k].c.length == 'undefined')
						naviTree.c[i].c[j].c[k].c = new Array(naviTree.c[i].c[j].c[k].c);

					for (l=0;l<naviTree.c[i].c[j].c[k].c.length;++l)
					{
						isActive = naviTree.c[i].c[j].c[k].c[l]['-cn'] == caGetNaviLevel4();

						for (l3=0;l3<caLevel4Zusatz.length;++l3)
						{
							if (caLevel4Zusatz[l3][0] == naviTree.c[i].c[j].c[k].c[l]['-cn'])
							{
								strOut += caWriteNaviLevel4Ext(
									naviTree.c[i].c[j].c[k].c[l]['-cn'], 
									caLevel4Zusatz[l3][1], caLevel4Zusatz[l3][2], 
									caLevel4Zusatz[l3][3], caLevel4Zusatz[l3][4], 
									caLevel4Zusatz[l3][5], caLevel4Zusatz[l3][6], 
									naviTree.c[i].c[j].c[k].c[l]['-ID'], 
								isActive);
								break;
							}
						}
						if (l3 == caLevel4Zusatz.length)
						{
							strOut += caWriteNaviLevel4(
								naviTree.c[i].c[j].c[k].c[l]['-cn'], 
								naviTree.c[i].c[j].c[k].c[l]['-ID'], 
								isActive);
						}
					}
				}
			}

			return strOut;
		}
	}

	return strOut;
}

function caWriteNaviHeader(text, bgColor)
{
	var			strOut='';


	strOut += '<div style="position:relative;">';

	strOut += '<div style="position:absolute;top:0px;left:0px;width:208px;padding-left:6px;padding-top:6px;background-image:url(../Data/Img/Navi/schatten_oben.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'">';
	strOut += '<div style="width:192px;font-family:Arial;font-weight:bold;font-size:13px;">';
	strOut += '<div style="padding: 2px 8px 2px 8px;">';
	strOut += text;
	strOut += '</div>';
	strOut += '</div>';
	strOut += '</div>';

	strOut += '<div style="position:relative;width:208px;padding-left:3px;padding-top:3px;">';
	strOut += '<div style="width:195px;padding-left:3px;padding-top:3px;background-color:#FFFFFF;">';
	strOut += '<div style="width:192px;font-family:Arial;font-weight:bold;font-size:13px;color:#FFFFFF;vertical-align:middle;background-color:'+bgColor+';">';
	strOut += '<div style="padding: 2px 8px 2px 8px;">';
	strOut += text;
	strOut += '</div>';
	strOut += '</div>';
	strOut += '</div>';
	strOut += '</div>';

	strOut += '</div>';

	return strOut;
}

function caWriteNaviLevel2(catalogName, catalogId, isSelected)
{
	var			classId;
	var			symbol;
	var			strOut='';
	var			level1=caGetNaviLevel1();


	if (isSelected == true)
		caCatalogId = catalogId;

	classId = (isSelected && caGetNaviLevel4() == '') ? 'level3on' : 'level3off';
	symbol = (isSelected) ? 'symbol_open.gif' : 'symbol_closed.gif';

	strOut += '<div style="position:relative;">';

	// Transparent shadow.
	strOut += '<div style="position:absolute;top:0px;left:0px;width:208px;padding-left:6px;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15"></td>';
	strOut += '<td width="177" height="18"><div class="'+classId+'" style="width:177px;">'+catalogName+'</div></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';

	strOut += '<div style="position:relative;width:208px;padding-left:3px;">';
	strOut += '<div style="padding-left:3px;background-color:#FFFFFF;width:195px;">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15" valign="top"><img src="../Data/Img/Navi/'+symbol+'"></td>';
	strOut += '<td width="177" height="18">'+caGetLinkBegin(false, '', level1, catalogName)+'<div class="'+classId+'" style="width:177px;cursor:pointer;">'+catalogName+'</div></a></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';
	strOut += '</div>';

	strOut += '</div>';

	return strOut;
}

function caWriteNaviLevel3(catalogName, catalogId, isSelected)
{
	var			classId;
	var			symbol;
	var			strOut='';
	var			level1=caGetNaviLevel1();
	var			level2=caGetNaviLevel2();
	var			level3=catalogName.replace('<br>', ' ');


	if (isSelected == true)
		caCatalogId = catalogId;

	classId = (isSelected && caGetNaviLevel4() == '') ? 'level3on' : 'level3off';
	symbol = (isSelected) ? 'symbol_open.gif' : 'symbol_closed.gif';

	strOut += '<div style="position:relative;">';

	// Transparent shadow.
	strOut += '<div style="position:absolute;top:0px;left:0px;width:208px;padding-left:6px;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15"></td>';
	strOut += '<td width="177" height="18"><div class="'+classId+'" style="width:177px;">'+catalogName+'</div></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';

	strOut += '<div style="position:relative;width:208px;padding-left:3px;">';
	strOut += '<div style="padding-left:3px;background-color:#FFFFFF;width:195px;">';
	strOut += '<table cellspacing="0" cellpadding="0" border="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15" valign="top"><img src="../Data/Img/Navi/'+symbol+'"></td>';
	strOut += '<td width="177" height="18">'+caGetLinkBegin(false, '', level1, level2, level3)+'<div class="'+classId+'" style="width:177px;cursor:pointer;">'+catalogName+'</div></a></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';
	strOut += '</div>';

	strOut += '</div>';

	return strOut;
}

function caWriteNaviLevel3Brand(catalogName, catalogId, isSelected)
{
	var			classId;
	var			symbol;
	var			strOut='';
	var			level1=caGetNaviLevel1();
	var			level2=caGetNaviLevel2();
	var			level3=catalogName.replace('<br>', ' ');
	var			nameAppend='';


	if (isSelected == true)
		caCatalogId = catalogId;

	classId = (isSelected && caGetNaviLevel4() == '') ? 'level3on' : 'level3off';
	symbol = (isSelected) ? 'symbol_open.gif' : 'symbol_closed.gif';

	switch (catalogName)
	{
		case 'Clockhouse':
			nameAppend = '<br>modisch, trendy';
			break;

		case 'Yessica':
		case 'Angelo Litrico':
			nameAppend = '<br>up to date, modern';
			break;

		case 'Canda':
			nameAppend = '<br>wertbewusst, klassisch';
			break;

		case 'Westbury':
			nameAppend = '<br>zeitlos, elegant';
			break;

		case 'Download':
			nameAppend = '<br>cool, hip';
			break;

		case 'Miss Here & There':
			nameAppend = '<br>cool, trendy';
			break;

		default:
			nameAppend = '';
			break;
	}

	strOut += '<div style="position:relative;">';

	// Transparent shadow.
	strOut += '<div style="position:absolute;top:0px;left:0px;width:208px;padding-left:6px;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15"></td>';
	strOut += '<td width="177" height="18"><div class="'+classId+'" style="width:177px;">'+catalogName+nameAppend+'</div></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';

	strOut += '<div style="position:relative;width:208px;padding-left:3px;">';
	strOut += '<div style="padding-left:3px;background-color:#FFFFFF;width:195px;">';
	strOut += '<table cellspacing="0" cellpadding="0" border="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15" valign="top"><img src="../Data/Img/Navi/'+symbol+'"></td>';
	strOut += '<td width="177" height="18">'+caGetLinkBegin(false, '', level1, level2, level3)+'<div class="'+classId+'" style="width:177px;cursor:pointer;">'+catalogName+'<span style="color:#878787;font-weight:normal">'+nameAppend+'</span>'+'</div></a></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';
	strOut += '</div>';

	strOut += '</div>';

	return strOut;
}

function caWriteNaviLevel3Ext(catalogName, preName, preClass, postName, postClass, partName, partClass, catalogId, isSelected)
{
	var			classId;
	var			symbol;
	var			strOut='';
	var			level1=caGetNaviLevel1();
	var			level2=caGetNaviLevel2();
	var			level3=catalogName.replace('<br>', ' ');
	var			partIdx=catalogName.indexOf(partName);
	var			name;
	var			i;


	if (isSelected == true)
		caCatalogId = catalogId;

	classId = (isSelected && caGetNaviLevel4() == '') ? 'level3on' : 'level3off';
	preClass += (isSelected && caGetNaviLevel4() == '') ? 'on' : 'off';
	postClass += (isSelected && caGetNaviLevel4() == '') ? 'on' : 'off';
	partClass += (isSelected && caGetNaviLevel4() == '') ? 'on' : 'off';
	symbol = (isSelected) ? 'symbol_open.gif' : 'symbol_closed.gif';

	if (partIdx >= 0)
		name = catalogName.split(partName);
	else
		name = new Array(catalogName);

	strOut += '<div style="position:relative;">';

	// Transparent shadow.
	strOut += '<div style="position:absolute;top:0px;left:0px;width:208px;padding-left:6px;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15"></td>';
	strOut += '<td width="177" height="18"><div class="'+classId+'" style="width:177px;"><span class="'+preClass+'">'+preName+'</span>';
	for (i=0;i<name.length;++i)
	{
		strOut += name[i];
		if (i != name.length-1)
			strOut += '<span class="'+partClass+'">' + partName + '</span>';
	}
	strOut += '<span class="'+postClass+'">'+postName+'</span></div></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';

	strOut += '<div style="position:relative;width:208px;padding-left:3px;">';
	strOut += '<div style="padding-left:3px;background-color:#FFFFFF;width:195px;">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15" valign="top"><img src="../Data/Img/Navi/'+symbol+'"></td>';
	strOut += '<td width="177" height="18">'+caGetLinkBegin(false, '', level1, level2, level3);
	strOut += '<div class="'+classId+'" style="width:177px;cursor:pointer;"><span class="'+preClass+'">'+preName+'</span>';
	for (i=0;i<name.length;++i)
	{
		strOut += name[i];

		if (i != name.length-1)
			strOut += '<span class="'+partClass+'">' + partName + '</span>';
	}
	strOut += '<span class="'+postClass+'">'+postName+'</span></div>';
	strOut += '</a></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';
	strOut += '</div>';

	strOut += '</div>';

	return strOut;
}

function caWriteNaviLevel3NewSale(catalogName, catalogName2, classId2, catalogId, isSelected)
{
	var			classId;
	var			symbol;
	var			strOut='';
	var			level1=caGetNaviLevel1();
	var			level2=caGetNaviLevel2();
	var			level3=catalogName.replace('<br>', ' ');


	if (isSelected == true)
		caCatalogId = catalogId;

	classId = (isSelected && caGetNaviLevel4() == '') ? 'level3on' : 'level3off';
	classId2 += (isSelected && caGetNaviLevel4() == '') ? 'on' : 'off';
	symbol = (isSelected) ? 'symbol_open.gif' : 'symbol_closed.gif';

	strOut += '<div style="position:relative;">';

	// Transparent shadow.
	strOut += '<div style="position:absolute;top:0px;left:0px;width:208px;padding-left:6px;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15"></td>';
	strOut += '<td width="177" height="18"><div class="'+classId+'" style="width:177px;">'+catalogName+' <span class="'+classId2+'">'+catalogName2+'</span></div></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';

	strOut += '<div style="position:relative;width:208px;padding-left:3px;">';
	strOut += '<div style="padding-left:3px;background-color:#FFFFFF;width:195px;">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18">';
	strOut += '<tr>';
	strOut += '<td width="15" valign="top"><img src="../Data/Img/Navi/'+symbol+'"></td>';
	strOut += '<td width="177" height="18">'+caGetLinkBegin(false, '', level1, level2, level3)+'<div class="'+classId+'" style="width:177px;cursor:pointer;">'+catalogName+' <span class="'+classId2+'">'+catalogName2+'</span></div></a></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';
	strOut += '</div>';

	strOut += '</div>';

	return strOut;
}

function caWriteNaviLevel4(catalogName, catalogId, isSelected)
{
	var			strOut='';
	var			classId;
	var			level1=caGetNaviLevel1();
	var			level2=caGetNaviLevel2();
	var			level3=caGetNaviLevel3();


	if (isSelected == true)
		caCatalogId = catalogId;

	classId = (isSelected) ? 'level4on' : 'level4off';

	strOut += '<div style="position:relative;">';

	// Transparent shadow.
	strOut += '<div style="position:absolute;top:0px;left:0px;width:208px;padding-left:6px;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18" valign="middle">';
	strOut += '<tr>';
	strOut += '<td width="15"></td>';
	strOut += '<td width="12"></td>';
	strOut += '<td width="165" class="'+classId+'"><div style="width:165px;">'+catalogName+'</div></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';

	strOut += '<div style="position:relative;width:208px;padding-left:3px;">';
	strOut += '<div style="padding-left:3px;background-color:#FFFFFF;width:195px;">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18" valign="middle">';
	strOut += '<tr>';
	strOut += '<td width="15"></td>';
	strOut += '<td width="12" valign="top"><img src="../Data/Img/Navi/symbol_dot.gif"></td>';
	strOut += '<td width="165" class="'+classId+'">'+caGetLinkBegin(false, '', level1, level2, level3, catalogName)+'<div style="width:165px;cursor:pointer;">'+catalogName+'</div></a></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';
	strOut += '</div>';

	strOut += '</div>';

	return strOut;
}

function caWriteNaviLevel4Ext(catalogName, preName, preClass, postName, postClass, partName, partClass, catalogId, isSelected)
{
	var			strOut='';
	var			classId;
	var			level1=caGetNaviLevel1();
	var			level2=caGetNaviLevel2();
	var			level3=caGetNaviLevel3();
	var			partIdx=catalogName.indexOf(partName);
	var			name;
	var			i;


	if (isSelected == true)
		caCatalogId = catalogId;

	classId = (isSelected) ? 'level4on' : 'level4off';
	preClass += (isSelected) ? 'on' : 'off';
	postClass += (isSelected) ? 'on' : 'off';
	partClass += (isSelected) ? 'on' : 'off';

	if (partIdx >= 0)
		name = catalogName.split(partName);
	else
		name = new Array(catalogName);

	strOut += '<div style="position:relative;">';

	// Transparent shadow.
	strOut += '<div style="position:absolute;top:0px;left:0px;width:208px;padding-left:6px;background-image:url(../Data/Img/Navi/schatten_mitte.gif);background-repeat:repeat-y;'+caGetTransparencyCSS(80)+'">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18" valign="middle">';
	strOut += '<tr>';
	strOut += '<td width="15"></td>';
	strOut += '<td width="12"></td>';
	strOut += '<td width="165" class="'+classId+'"><div style="width:165px;"><span class="'+preClass+'">'+preName+'</span>';
	for (i=0;i<name.length;++i)
	{
		strOut += name[i];
		if (i != name.length-1)
			strOut += '<span class="'+partClass+'">' + partName + '</span>';
	}
	strOut += '<span class="'+postClass+'">'+postName+'</span></div></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';

	strOut += '<div style="position:relative;width:208px;padding-left:3px;">';
	strOut += '<div style="padding-left:3px;background-color:#FFFFFF;width:195px;">';
	strOut += '<table cellspacing="0" cellpadding="0" width="192" height="18" valign="middle">';
	strOut += '<tr>';
	strOut += '<td width="15"></td>';
	strOut += '<td width="12" valign="top"><img src="../Data/Img/Navi/symbol_dot.gif"></td>';
	strOut += '<td width="165" class="'+classId+'">'+caGetLinkBegin(false, '', level1, level2, level3, catalogName)+'<div style="width:165px;cursor:pointer;"><span class="'+preClass+'">'+preName+'</span>';
	for (i=0;i<name.length;++i)
	{
		strOut += name[i];
		if (i != name.length-1)
			strOut += '<span class="'+partClass+'">' + partName + '</span>';
	}
	strOut += '<span class="'+postClass+'">'+postName+'</span></div></a></td>';
	strOut += '</tr>';
	strOut += '</table>';
	strOut += '</div>';
	strOut += '</div>';

	strOut += '</div>';

	return strOut;
}

