var B81SittaPageclass = new Class({
	imageframe				:null,
	screenWidth				:null,
	screenHeight			:null,
	
	cms_option				:null,
	cms_view				:null,
	cms_layout				:null,
	cms_pagecount			:null,
	
	content_jsView			:null,
	content_baseItems		:null,
	content_jsPageData		:null,
	content_jsPageDataCount	:null,
	content_jsPages			:null,
	content_actJsPage		:null,
	
	innerAjaxClass			:null,
	innerRefreshData		:null,
	innerRefreshContainer	:null,
	
	performsPage			:false,
	
	isDataBuild				:true,

	
	getOptions: function(){
		return {
			imageframecontainer:	'imageframe',
			templatepath: 			'',
			flashmenu: 				true,
			minWidth:				1000,
			minHeight: 				768,

			
			blogClass: 				'blog',
			blogArticleClass: 		'intro_article',
			articleClass: 			'contentpaneopen',
			articlePartsClass: 		'inner_article_part',
			
			scrollDuration:			1500,
			scrollTransition:		Fx.Transitions.Quad.easeInOut,
			buttonOpacDuration:		300,
			buttonOpacStart:		0.02,
			buttonActiveOpacStart:	0.3,
			buttonOpacEnd:			0.9,
			
			refreshDuration:		500
		};
	},
	
	initialize: function(initSiteValues, options){
		this.setOptions(this.getOptions(), options);
		
		//set basics
		this.cms_option = initSiteValues.option;
		this.cms_view = initSiteValues.view;
		this.cms_layout = initSiteValues.layout;
		
		//set imageframe
		this.imageframe = new B81SittaImageframe(this, this.options.imageframecontainer);
		
		this.setCoreEvents();
		this.setScreenDimensions();
	},
	
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	////////////////////////////////// EVENTHANDLING
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	setCoreEvents: function() {
		window.addEvent('resize', function() { this.onBodyResize(); }.bind(this) );
		document.addEvent('mousewheel', function(e) { this.mousePageSwap(e); }.bind(this) );
		document.addEvent('keydown', function(e) { this.keyPageSwap(e); }.bind(this) );
		this.addEvent('onScreenSizeSet', this.onScreenSizeSet);
		this.addEvent('onMainScreenSetup', this.onMainScreenSetup);
		this.addEvent('onContentBaseSetup', this.onContentBaseSetup);
		this.addEvent('onAfterContentSetup', this.onAfterContentSetup);
		this.addEvent('onAjaxRefresh', this.onAjaxRefresh);
		this.addEvent('onAfterAjaxRefreshProcess', this.onAfterAjaxRefreshProcess);
		this.addEvent('onPageswap', this.onPageswap);
	},
	
	onBodyResize: function() {
		this.setScreenDimensions();
	}, 
	
	onScreenSizeSet: function() {
		this.mainScreenSetup();
		this.imageframe.onResize();
	}, 
	
	onMainScreenSetup: function() {
		this.contentBaseSetup();
	},
	
	onContentBaseSetup: function() {
		this.setupJavascriptScreenBeahavior();
	},
	
	onAfterContentSetup: function() {
		//setup javascript pagebuttons
		this.setupPageButtons();
		this.checkButtonActivity();
	},
	
	onAjaxRefresh: function() {
		this.isDataBuild = true;
		this.doContentRefreshBegin();
		this.addEvent('onAfterAjaxRefreshBegin', this.onAfterAjaxRefreshBegin);
	},
	
	onAfterAjaxRefreshBegin: function() {
		this.removeEvent('onAfterAjaxRefreshBegin')
		this.doContentRefreshProcess();
		this.setScreenDimensions();
	},
	
	onAfterAjaxRefreshProcess: function() {
		this.doContentRefreshFinish();
		this.innerAjaxClass.fireEvent('onDataComplete');
	},

	
	mousePageSwap: function(e) {
		var evt = new Event(e);
		if(!this.performsPage) {
			if(evt.wheel > 0) {
				this.doPrevousPage();
			} else {
				this.doNextPage();
			}
		}
	},
	
	keyPageSwap: function(e) {
		var evt = new Event(e);
		if(!this.performsPage) {
			if(evt.key == 'left') {
				this.doPrevousPage();
			} else if(evt.key == 'right'){
				this.doNextPage();
			}
		}
	},
	
	onPageswap: function() {
		this.checkButtonActivity();
	},

	
	
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	////////////////////////////////// CORE PAGE FUNCTIONS
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	mainScreenSetup: function(isInit) {
		//this.checkBodyOverflow();
		//get bodyframe heigth influences
		var screenHeight = this.screenHeight;
		var main_outerMinHeight = parseInt($('main_outer').getStyle('min-height'));
		var top_outerHeight = this.getElementMeasures($('top_outer')).height;
		var main_outerHeight = screenHeight - top_outerHeight;
		//set main_outer height if bigger than min-height
		if(main_outerHeight >= main_outerMinHeight) {
			$('main_outer').setStyle('height', main_outerHeight+'px'); 
		}
		
		this.fireEvent('onMainScreenSetup');
	},
	
	checkBodyOverflow: function() {
		var tgt = $('sit_main');
		if(this.screenHeight >= this.options.minHeight) {
			tgt.setStyle('overflow-y', 'hidden');	
		} else {
			tgt.setStyle('overflow-y', 'visible');	
		}
		
		if(this.screenWidth >= this.options.minWidth) {
			tgt.setStyle('overflow-x', 'hidden');	
		} else {
			tgt.setStyle('overflow-x', 'visible');	
		}
	},
	
	contentBaseSetup: function() {
		//get maincontent heigth influences
		var imageframeHeight = this.getElementMeasures($('imageframe')).height;
		var mcBase = this.getElementMeasures($('main_outer')).height;
		var bodyframe_outerHeight = mcBase - imageframeHeight;
		
		//set bodyframe 
		$('bodyframe_outer').setStyle('height', bodyframe_outerHeight+'px');
		
		//set up contentframe for javascript
		$('content').setStyles({
							   	'height': bodyframe_outerHeight+'px',
		 						'width': ( this.getElementMeasures($('bodyframe_outer')).width - (2*40) )+'px',
								'margin-left': '40px'
							   });
		
		//remove basically css padding-left of contentframe-childs
		var cChilds = $('content').getChildren();
			cChilds.each(function(el, cc) { el.setStyle('padding-left', '0px'); });

		
		//setup maincontents
		var contHeight = bodyframe_outerHeight;
			contHeight = contHeight - this.getElementMeasures($('pathway')).height;
			contHeight = contHeight - this.getElementMeasures($('claim')).height ;
		//check vertical-paddings
		//var pwPad = parseInt($('pathway').getStyle('padding-top'))+parseInt($('pathway').getStyle('padding-bottom'));
		//var clPad = parseInt($('claim').getStyle('padding-top'))+parseInt($('claim').getStyle('padding-bottom'));
		
		$('maincontent').setStyle('height', contHeight+'px');
		$('maincontent').setStyle('overflow', 'hidden');

		$('mainbody').setStyle('height', contHeight+'px');
		$('mainbody').setStyle('overflow', 'hidden');

										
										
		if(!$('mainbody').hasClass('small')) {
			$('mainbody').setStyle('width', '100%');
		} else {
			$('mainbody').setStyle('width', '70%');
		}
		
		//do event for properly setting up the content-base settings
		this.fireEvent('onContentBaseSetup');
	},
	
	setupJavascriptScreenBeahavior: function(isInit) {
		this.content_jsPages = null;
		this.content_baseDataItems = null;
		this.setContentBaseItems();

		this.content_jsView = this.getComponentView();
		switch(this.content_jsView) {
			case'article':
				this.setupArticleView();
			break;
			case'blog':
				this.setupBlogView();
			break;
		}
	},
	
	getComponentView:function() {
		switch(this.cms_option) {
			case 'com_content':
				if(this.cms_view == 'article') {
					var cv = 'article';	
				} else {
					if(this.cms_layout == 'blog') {
						var cv = 'blog';	
					}
				}
			break;
		}
		return cv;
	},
	
	setContentBaseItems: function() {
		var screenWidth = this.screenWidth;
		if(screenWidth < 1200) {
			this.content_baseDataItems = 2;
		} else if(screenWidth > 1200) {
			this.content_baseDataItems = 3;
		} else if(screenWidth > 1500) {
			this.content_baseDataItems = 4;
		}
	},
	
	setupArticleView:function() {
		if(this.isDataBuild == true) {
			var tempArticlePageData = $$('.'+this.options.articleClass+' .'+this.options.articlePartsClass);
			if(!tempArticlePageData || tempArticlePageData.length < 1) { return; }	
			
			//set content-element JS-IDs and turn temparay into pagedata 
			this.content_jsPageData = new Array();
			tempArticlePageData.each(function(el,i) {
								el.setProperty('id', 'content_'+i);
								this.content_jsPageData.push(el);
								//double-sized needs a faked content-scroll-item
								if(el.hasClass('form')) {
									var inject = el.getParent();
									var empty = $('content_'+i+'_empty');
									if(!empty) {
										empty = new Element('div', { 'id': 'content_'+i+'_empty', 'class':'form_empty' });
										empty.injectInside(inject);
										this.content_jsPageData.push(empty);
									}
								}
							  }.bind(this));
		}
		
		var articleContentPaneOpen = $$('.'+this.options.articleClass)[0];
		//content page basics
		this.setupContentPages(articleContentPaneOpen, this.content_jsPageData);
		
		//setup content-element measures
		this.setupContentElementMeasures(this.content_jsPageData);


		//reset to page 1
		this.content_actJsPage = 1;
		if(this.isDataBuild == false) {
			this.doPageNum(1);
		} else {
			this.isDataBuild = false;
		}
		
		this.fireEvent('onAfterContentSetup');
	},
	
	setupBlogView:function() {
		if(this.isDataBuild == true) {
			this.content_jsPageData = $$('.'+this.options.blogClass+' .'+this.options.blogArticleClass);
			if(!this.content_jsPageData || this.content_jsPageData.length < 1) {return;}
			
			//set content-element JS-IDs
			this.content_jsPageData.each(function(el, i) {
								el.setProperty('id', 'content_'+i);
							  });
		}
		
		//blogpage-target
		var blog = $$('.'+this.options.blogClass)[0];
		
		//content page basics
		this.setupContentPages(blog, this.content_jsPageData);
		
		//setup content-element measures
		this.setupContentElementMeasures(this.content_jsPageData);
		
		//reset to page 1
		this.content_actJsPage = 1;
		if(!this.isDataBuild) {
			this.doPageNum(1);
		} else {
			this.isDataBuild = false;
		}
		
		this.fireEvent('onAfterContentSetup');
	},
	
	setupContentPages: function(cif, elArray) {
		if(elArray.length > this.content_baseDataItems) {
			this.content_jsPages = Math.ceil(elArray.length/this.content_baseDataItems);
			cif.setStyle('width', ((this.getElementMeasures($('mainbody')).width*this.content_jsPages)+100)+'px');
		} else {
			cif.setStyle('width', (this.getElementMeasures($('mainbody')).width+100)+'px');
		}
	},
	
	setupContentElementMeasures: function(elArray) {
		var widthPerc = Math.floor(100/this.content_baseDataItems);
		var widthBase = this.getElementMeasures($('mainbody')).width;
		var elementWidthRaw = Math.floor(this.getPercentValue(widthBase, widthPerc));
		
		//check for width influences
		var marginLeft = parseInt(elArray[0].getStyle('margin-left'));
		var marginRight = parseInt(elArray[0].getStyle('margin-right'));
		var paddingLeft = parseInt(elArray[0].getStyle('padding-left'));
		var paddingRight = parseInt(elArray[0].getStyle('padding-right'));

		elementWidth = elementWidthRaw - ( marginLeft / 2 ) - ( marginRight / 2) - ( paddingLeft / 2) - ( paddingRight / 2);
		
		var elementHeight = this.getElementMeasures($('mainbody')).height;
		//check for height influences
		var marginTop = parseInt(elArray[0].getStyle('margin-top'));
		var marginBottom = parseInt(elArray[0].getStyle('margin-bottom'));
		elementHeight = elementHeight - marginTop - marginBottom;
		
		elArray.each(function(el, i) {
								if(!el.hasClass('form_empty')) {  
									var useWidth = elementWidth;
									//forms use double size
									if(el.hasClass('form')) {
										useWidth = (elementWidth+elementWidthRaw);
									}
									el.setStyles({'height': elementHeight+'px', 'width': useWidth+'px'});
								} else {
									var inel = el.getParent();
									var pel = $( el.id.substr(0, el.id.indexOf('_empty')) );
									var pelMeasures = this.getElementMeasures(pel);
									var inMeasures = this.getElementMeasures(inel);
									el.setStyles({
													'position': 'relative',
													'margin-left': pelMeasures.left+(pelMeasures.width/2)-inMeasures.left+'px',
													'top': '-42px',
													'width':'10px'/*,
													'height':'10px',
													'background-color':'#FFF'*/
												});
								}
						  }.bind(this));
	},
		
	setupPageButtons: function() {
		var buttonHeight = this.getElementMeasures($('bodyframe_outer')).height;
		
		if(!$('pg_prev') && !$('pg_next')) {
			var btLeft = new Element('div', {
									 'id' : 'pg_prev',
									 'class' : 'pagebutton_prevous',
									 'styles' : {
												'width': '40px',
												'position': 'absolute',
												'left': '0px',
												'margin': '0px',
												'padding': '0px'
												}
									 });
			btLeft.addEvent('click', function() { this.doPrevousPage() }.bind(this) );
			btLeft.addEvent('mouseover', function() { this.doHighlightButton('prevous') }.bind(this) );
			btLeft.addEvent('mouseout', function() { this.doHighlightButton() }.bind(this) );
			
			var btRight = new Element('div', {
									 'id' : 'pg_next',
									 'class' : 'pagebutton_next'
									 });
			btRight.addEvent('click', function() { this.doNextPage() }.bind(this) );
			btRight.addEvent('mouseover', function() { this.doHighlightButton('next') }.bind(this) );
			btRight.addEvent('mouseout', function() { this.doHighlightButton() }.bind(this) );
			
			btLeft.injectBefore('content');
			btRight.injectBefore('content');
		}
		//set prevbasics
		$('pg_prev').setOpacity(this.options.buttonOpacStart);
		$('pg_prev').setStyle('height', buttonHeight+'px');
		
		//set nextbasics
		$('pg_next').removeAttribute('style');
		$('pg_next').setStyles({
								'width': '40px',
								'height': buttonHeight+'px',
								'position': 'absolute',
								'margin': '0px',
								'padding': '0px'
								});
		$('pg_next').setOpacity(this.options.buttonOpacStart);
		
		var placeRight = window.innerWidth;
		if(placeRight-40 < this.options.minWidth) {
			placeRight = this.options.minWidth-50;
			$('pg_next').setStyle('left', placeRight+'px');
		} else {
			$('pg_next').setStyle('right', '0px');
		}
	},
	
	checkButtonActivity: function(none) {
		var next = $('pg_next');
		var prev = $('pg_prev');
		
		if(next && prev) {
			if(!none) {
				//check prevous
				if(this.content_jsPages != null && this.content_actJsPage > 1) {
					prev.setOpacity(this.options.buttonActiveOpacStart);
					prev.addClass('active_button');
				} else {
					prev.setOpacity(this.options.buttonOpacStart);
					prev.removeClass('active_button');
				}
				//check next
				if(this.content_jsPages != null && this.content_jsPages > this.content_actJsPage) {
					next.setOpacity(this.options.buttonActiveOpacStart);
					next.addClass('active_button');
				} else {
					next.setOpacity(this.options.buttonOpacStart);
					next.removeClass('active_button');
				}
			} else {
				prev.setOpacity(this.options.buttonOpacStart);
				prev.removeClass('active_button');
				next.setOpacity(this.options.buttonOpacStart);
				next.removeClass('active_button');
			}
		}
	},
	
	doHighlightButton: function(value) {
		if(value == 'prevous' && this.content_jsPages != null && this.content_actJsPage > 1) {
			var tgt = $('pg_prev');
			var start = tgt.getStyle('opacity');
			var end = this.options.buttonOpacEnd;
		} else if(value == 'next' && this.content_jsPages != null && this.content_jsPages > this.content_actJsPage) {
			var tgt = $('pg_next');
			var start = tgt.getStyle('opacity');
			var end = this.options.buttonOpacEnd;
		} else if(!value) {
			if($('pg_prev').getStyle('opacity') > this.options.buttonActiveOpacStart) {
				var tgt = $('pg_prev');
				var start = tgt.getStyle('opacity');
				if(tgt.hasClass('active_button')) {
					var end = this.options.buttonActiveOpacStart;
				} else {
					var end = this.options.buttonOpacStart;
				}
			} else if($('pg_next').getStyle('opacity') > this.options.buttonActiveOpacStart) {
				var tgt = $('pg_next');
				var start = tgt.getStyle('opacity');
				if(tgt.hasClass('active_button')) {
					var end = this.options.buttonActiveOpacStart;
				} else {
					var end = this.options.buttonOpacStart;
				}
			}
		}
		if(tgt) {
			if(tgt.highlightFX && tgt.highlightFX != null) {
				tgt.highlightFX.stop();
				tgt.highlightFX = null;
			}
			tgt.highlightFX = new Fx.Style(tgt, 'opacity', {
												wait: false,
												duration: this.options.buttonOpacDuration,
												transition: Fx.Transitions.Quad.easeInOut,
												onComplete: function() { tgt.highlightFX = null; }
										   }).start(start, end)
		}
	}, 
	
	doNextPage: function() {
		if(this.content_jsPages != null && this.content_jsPages > this.content_actJsPage) {
			this.content_actJsPage++;
			
			//getItem
			var itemNum = (this.content_actJsPage-1)*this.content_baseDataItems;
			var itm = this.content_jsPageData[itemNum].id
			
			//do swap
			this.fireEvent('onPageswap');
			this.performsPage = true;
			var scr = new Fx.Scroll('mainbody', {
				duration: this.options.scrollDuration,
				offset: {'x': 0, 'y': 0},
				transition: this.options.scrollTransition,
				wheelStops: false,
				onComplete: function() { this.performsPage = false; }.bind(this)
			});
			scr.toElement(this.content_jsPageData[itemNum].id);
		}
	}, 
	
	doPrevousPage: function() {
		if(this.content_jsPages != null && this.content_actJsPage > 1) {
			this.content_actJsPage--;
			
			//getItem
			var itemNum = (this.content_actJsPage-1)*this.content_baseDataItems;
			var itm = this.content_jsPageData[itemNum].id
			
			//do swap
			this.fireEvent('onPageswap');
			this.performsPage = true;
			var scr = new Fx.Scroll('mainbody', {
				wait: false,
				duration: this.options.scrollDuration,
				offset: {'x': 0, 'y': 0},
				transition: this.options.scrollTransition,
				wheelStops: false,
				onComplete: function() { this.performsPage = false; }.bind(this)
			});
			scr.toElement(itm);
		}
	}, 
	
	doPageNum: function(num) {
		if(this.content_jsPages != null && (this.content_jsPages > num && num >= 1)) {
			this.content_actJsPage = num;
			
			//getItem
			var itemNum = (num-1)*this.content_baseDataItems;
			var itm = this.content_jsPageData[itemNum].id
			
			//do swap
			this.performsPage = true;
			this.fireEvent('onPageswap');
			var scr = new Fx.Scroll('mainbody', {
				wait: false,
				duration: 100,
				offset: {'x': 0, 'y': 0},
				transition: this.options.scrollTransition,
				wheelStops: false,
				onComplete: function() { this.performsPage = false; }.bind(this)
			});
			scr.toElement(itm);
		}
	}, 
	
	
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	////////////////////////////////// CORE Refresh FUNCTIONS
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	doContentRefreshBegin: function() {
		for(rc=0;rc<this.innerRefreshContainer.length;rc++) {
			var rc_name = this.innerRefreshContainer[rc];
			var rc_tgt = $(rc_name);
			var start = rc_tgt.getStyle('opacity');
			var end = 0;
			if(rc_tgt.refreshFX && rc_tgt.refreshFX != null) {
				rc_tgt.refreshFX.stop();
				rc_tgt.setOpacity(0);
				rc_tgt.refreshFX = null;
			}
			rc_tgt.refreshFX = new Fx.Style(rc_tgt, 'opacity', {
												wait: false,
												duration: this.options.buttonOpacDuration,
												transition: Fx.Transitions.Quad.easeInOut,
												onComplete: function() { rc_tgt.refreshFX = null; 
																		 this.fireEvent('onAfterAjaxRefreshBegin');
																		 }.bind(this)
										   }).start(start, end)
		}
	},
	
	doContentRefreshProcess: function() {
		for(rc=0;rc<this.innerRefreshContainer.length;rc++) {
			var rc_name = this.innerRefreshContainer[rc];
			var rc_tgt = $(rc_name);
			rc_tgt.innerHTML = this.innerRefreshData[rc_name];
		}
		this.fireEvent('onAfterAjaxRefreshProcess');
	},
	
	doContentRefreshFinish: function() {
		for(rc=0;rc<this.innerRefreshContainer.length;rc++) {
			var rc_name = this.innerRefreshContainer[rc];
			var rc_tgt = $(rc_name);
			var start = 0;
			var end = 1;
			if(rc_tgt.refreshFX && rc_tgt.refreshFX != null) {
				rc_tgt.refreshFX.stop();
				rc_tgt.setOpacity(0);
				rc_tgt.refreshFX = null;
			}
			rc_tgt.refreshFX = new Fx.Style(rc_tgt, 'opacity', {
												wait: false,
												duration: this.options.buttonOpacDuration,
												transition: Fx.Transitions.Quad.easeInOut,
												onComplete: function() { rc_tgt.refreshFX = null; }
										   }).start(start, end)
		}
	},
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	////////////////////////////////// CORE SIZE FUNCTIONS
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	setScreenDimensions: function() {
		this.screenWidth = window.getWidth();	
		this.screenHeight = window.getHeight();
		if(!this.screenWidth) {
			this.screenWidth = window.outerWidth;
		} 
		if(!this.screenHeight) {
			this.screenHeight = window.outerHeight;
		}
		this.fireEvent('onScreenSizeSet');
	},
	
	getScreenDimensions: function() {
		var dim = new Object({'width' : this.screenWidth, 'height' : this.screenHeight});
		return dim;
	},
	
	getElementMeasures: function(el) {
		if(!el) return false; 
		var sizes = el.getSize();
		var position = el.getPosition();
		var sizeObj = new Object();
			sizeObj.width = sizes.size.x;
			sizeObj.height = sizes.size.y;
			sizeObj.top = position.y;
			sizeObj.left = position.x;
		
		return sizeObj;
	},
		
	getPercentValue: function(value, percent) {
		percent = Number(percent);
		var percvalue = value*(percent/100);
		return percvalue;
	},
	
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	////////////////////////////////// AJAX-FRAME ADITIONAL HANDLER
	////////////////////////////////////////////////////////////////////////////////////////////////////// 
	onAjaxRequestStart: function(AJAXclass, contentdata, refreshcontainer) {
		this.checkButtonActivity(true);
		this.imageframe.onAjaxRequestStart();	
	},
	
	//ajaxhandler
	contentRefreshHandler: function(AJAXclass, contentdata, refreshcontainer) {
		//set pagedata
		this.cms_option = AJAXclass.parsedData.pagedata.option;
		this.cms_view = AJAXclass.parsedData.pagedata.view;
		this.cms_layout = AJAXclass.parsedData.pagedata.layout;
		
		this.innerAjaxClass = AJAXclass;
		this.innerRefreshData = contentdata;
		this.innerRefreshContainer = refreshcontainer;
		
		this.fireEvent('onAjaxRefresh');
	},
	
	onAjaxCompleteMenuRefresh: function(AJAXclass) {
		var menudata = AJAXclass.parsedData.menudata;
		var activeId = menudata.id;
		if(this.options.flashmenu) {
			//handle flashmenustuff
			this.imageframe.onAjaxComplete(activeId);
		} else {
			//handle topmenustuff
			var menu = $('topmenucontainer');
			if(menu && menu.getStyle('display') != 'none') {
				var activeItem = $$('#topmenucontainer li.item'+activeId)[0];
				var checkParent = activeItem.getParent();
				if(!activeItem.hasClass('parent') && !checkParent.hasClass('menutopmenu')) {
					el = activeItem;
					while(!el.hasClass('parent')) { el = el.getParent(); }
					var activeParent = el;
				}
				//clear all
				$$('#topmenucontainer li').each(function(el,i) { el.removeClass('active'); });
				
				//set new
				activeItem.addClass('active');
				if(activeParent) {
					activeParent.addClass('active');
				}
			}
		}
	},
	
	onAjaxCompleteTrackGA: function(AJAXclass) {
		var host = AJAXclass.options.host;
		var hash = AJAXclass.actualHash;
		if(hash.indexOf('#') != -1) {
			hash = hash.substr(2);
		}
		window.gaTrackPageAjaxCall(host+hash);
	}
});
B81SittaPageclass.implement(new Options);
B81SittaPageclass.implement(new Events);
