// app store tracking delegate
var appDelegate = {

	trackingNameForSection: function(tracker, id, section) {
		// ignore the onload one
		if (tracker.count < 2) {
			tracker.count++;
			return false;
		}

		// ignore the category swapper
		var trigger = section._triggers[0],
			category,
			span,
			trackingName;

		if (trigger.up('#section-nav')) return false;

		// get the category out of the id
		category = document.location.hash;
		category = category.substring(1, category.indexOf('.')).replace(/-/,' ');

		trackingName = category + ' - ' + id.replace(/-/g,' ');
		return trackingName.toLowerCase();
	},

	sectionDidChange: function(tracker, view, incoming, id, properties) {
		properties.referrer = document.URL;
		return properties;
	}
};


var slider;

Event.observe(window, 'load', function() {
	var sectionNav = new MultiSwapView(),
		sliderElements = $$('.nav-item'),
		sliderItems = new Array(),
		sliderItem,
		elementSpan,
		elementText,
		elementWords,
		i = 0,
		word,
		tracker,
		howToBrowserDelegate = new howToBrowser();
	
	sectionNav.setDelegate(howToBrowserDelegate);
	sectionNav.setBaseTriggerAndSelectorClassNames('browser-link', 'browser-selector-link');
	sectionNav.setView('initial', 'howto-section', 'nav-link');
	sectionNav.draw();

	sliderElements.each(function(element) {
		elementSpan = element.down('span');
		elementText = elementSpan.innerHTML;
		elementWords = elementText.split(' ');

		for (i = 0, word; word = elementWords[i]; i++) {
			if (word.length > 13) {
				elementSpan.innerHTML = elementText.truncate(13);
			}
		}

		sliderItems.push(new HowToSliderItem(element));
		element.parentNode.removeChild(element); // just for IE
	});

	slider = new HowToSlider('section-nav');
	slider.items = sliderItems;
	slider.render(10);
	slider.resetPages();

	if (AC.Detector.isWebKit() && typeof(window.CSSVariablesDeclaration) != 'undefined') {
		$('howto-section').addClassName('hasPrettyScrollbars');
	}

	tracker = new AC.ViewMaster.Tracker();
	tracker.setDelegate(appDelegate);
	
	$$('.howto-browser .category-nav')[0].style.overflow = 'visible';
});
