var minCategoryDistance = 30;
var maxCategoryDistance = 30;
var betweenAnimationsTimeout = 800;
var changeShowcaseTimeout = 1000;
var categorySliderWidth = 0; //updated in prepare()
var mainGroupSliderWidth = 0; //updated in prepare()
var maxMainGroupsVisible = 6;
var mainGroupWidth = 140;
var arrowSpacing = 20;
var activeShowcaseClass = 'activeShowCase';
//initialized in prepare()
var sliderCatalog, sliderBar, groupCategories, categoryContainer, mainGroupContainer, 
	categories, showcaseContainer, categoryArrowLeft, categoryArrowRight, 
	mainGroupArrowLeft, mainGroupArrowRight, showcases;
//script objects	
var categorySlider, mainGroupSlider, showcase, portal;

function prepare(){
	sliderCatalog = $('sliderCatalog');
	categorySliderWidth = $('categorySlider').getWidth();
	mainGroupSliderWidth = $('mainGroupSlider').getWidth();
	sliderBar = $('sliderBar');
	mainGroupContainer = $('mainGroupSlider-categories');
	groupCategories = mainGroupContainer.childElements();
	// IE hack
	for(i=0; i < groupCategories.length; i ++){
		if(! groupCategories[i].isLastCategory){			
			Object.extend(groupCategories[i], Element.prototype); 
		}
	}
	categoryContainer = $('categorySlider-categories');
	categories = categoryContainer.childElements();
	// IE hack
	for(j=0; j < categories.length; j ++){
		if(! categories[j].isLastCategory){			
			Object.extend(categories[j], Element.prototype); 
		}
	}
	categoryArrowLeft = $('categorySlider-arrowLeft');
	categoryArrowRight = $('categorySlider-arrowRight');
	mainGroupArrowLeft = $('mainGroupSlider-arrowLeft');
	mainGroupArrowRight = $('mainGroupSlider-arrowRight');
	showcaseContainer = $('showCaseContainer');
	showcases = showcaseContainer.childElements();
	// IE hack
	for(k=0; k < showcases.length; k ++){
		if(! showcases[k].isLastCategory){			
			Object.extend(showcases[k], Element.prototype); 
		}
	}	
	portal = new Portal();
	categorySlider = new CategorySlider();
	mainGroupSlider = new MainGroupSlider();
	showcaseSwitcher = new ShowcaseSwitcher();
	
	categorySlider.prepare();
	mainGroupSlider.prepare();
	portal.showComponentsAfterSetup();
}
