var topNavSelection = {
	initialize : function() {
		var navElements = $$('#categorymenu li a');
		var selectedCategoryID = $('currentlySelectedTopCategoryId');
		var selectedContentID = $('currentlySelectedContentId');
		var selectedSpecialCategory = $('currentlySelectedSpecialCategory');
		var selectionBreadcrumb = null;
		try {
			var bcValue = $F('currentlySelectedBreadcrumb');
			if (bcValue) {
				selectionBreadcrumb = eval(bcValue);
			} else {
				selectionBreadcrumb = [];
			}
		} catch(e) {
			selectionBreadcrumb = [];
		}
		for (var i = 0; i < navElements.length; i++) {
			var element = navElements[i];
			var params = element.href.toQueryParams();
			// when cgid was not found as a parameter
			// try to parse it from the url
			if((!("cgid" in params) || params.cgid == "") && element.href.match(/([^/]*),[^,]*,sc\.html/)) {
				params.cgid = RegExp.$1;
			}
			// same for cid
			if((!("cid" in params) || params.cgid == "") && element.href.match(/([^/]*),[^,]*,pg\.html/)) {
				params.cid = RegExp.$1;
			}
			if (element.href.endsWith('#')) {
				params.cgid = null;
				params.cid = null;
				isByAttributeSearch = false;
			}
			
			if("tcgid" in params && params.tcgid != ""){
				var breadcrumbContainsCategory = selectionBreadcrumb.indexOf(params.tcgid);
			}else{	
				var breadcrumbContainsCategory = selectionBreadcrumb.indexOf(params.cgid);
			}
			
			// category
			if ((params.cgid && selectedCategoryID && selectedCategoryID.value == params.cgid) || breadcrumbContainsCategory != -1) {
				if (!selectedSpecialCategory) {
					element.up().addClassName('active');
				}
			} else if (params.cid && selectedContentID && selectedContentID.value == params.cid) {
				element.up().addClassName('active');
			}
			
			// special category selection (NEW/SALE)
			if ((selectedSpecialCategory && element.href.indexOf(selectedSpecialCategory.value) != -1)) {
				element.up().addClassName('active');
			}
		}
		document.fire('soli:topnavselection:markedactive')
	}
};
if ('observe' in document) {
	document.observe('dom:loaded', function() {
		topNavSelection.initialize();
	});
}
