var ss = document.styleSheets[0];
if (ss.insertRule) {
	ss.insertRule(".taboff { display: none }", 0); // Mozilla
} else if (ss.addRule) {
	ss.addRule(".taboff", "display: none"); // IE
}

var tabs = new Class({
	initialize: function(tabs, tabContentWrap, tabClass, options) {
		this.options = Object.extend({
			minheight: 200,
			changeurl: false,
			fadetime: 300,
			transition: Fx.Transitions.linear
		}, options || {});

		this.tabs = tabs;
		this.tabs.each(function(tab, i) {
			if (i==0) tab.addClass('tabon');
			tab.addEvent('click', function(e) {
				if (this.options.changeurl==false) e = new Event(e).stop();
				this.activate(tab);
			}.bind(this));
		}.bind(this));

		this.tabContentWrap = tabContentWrap;
		this.tabClass = tabClass;
		this.tabContents = $$('#' + this.tabContentWrap, '#' + this.tabContentWrap + ' .' + this.tabClass);

		var obj = {};
		this.tabContents.each(function(tc, i) {
			if (i==0) {
				var newh = this.tabContents[1].getStyle('height').toInt() + 1;
				if (newh < this.options.minheight) newh = this.options.minheight;
				obj[i] = { 'height': newh };
			} else if (i==1) {
				obj[i] = { 'opacity': 1 };
				tc.setStyles('position: absolute; top: 0; left: 0; z-index: 1;');
			} else {
				obj[i] = { 'opacity': 0 };
				tc.setStyles('position: absolute; top: 0; left: 0; z-index: 1;');
			}
			tc.removeClass('taboff');
		}.bind(this));
		$(this.tabContentWrap).setStyle('overflow', 'hidden');

		this.fx = new Fx.Elements(this.tabContents, { wait: false, duration: this.options.fadetime, transition: this.options.transition }).set(obj);
	},
	activate: function(tab) {
		this.tabs.each(function(t) {
			t.removeClass('tabon');
		});
		tab.addClass('tabon');

		var obj = {};
		this.tabContents.each(function(tc, i) {
			if (i>0) {
				if (tc.id==tab.getProperty('rel')) {
					var newh = tc.getStyle('height').toInt()+1;
					if (newh < this.options.minheight) newh = this.options.minheight;
					obj[0] = { 'height': newh };
					obj[i] = { 'opacity': 1 };
				} else {
					obj[i] = { 'opacity': 0 };
				}
			}
		}.bind(this));

		this.fx.start(obj);
	},
	adjust: function() {
		this.tabContents.each(function(tc, i) {
			if (i==1) {
				var newh = tc.getStyle('height').toInt()+1;
				this.options.minheight = newh;
				this.fx.start({ 0: { 'height': newh } });
			}
		}.bind(this));
	}
});

var pgtabs;
function pgloader() {
	$('prodsubnav').selectedIndex = 0;
	$('familynav').selectedIndex = 0;
	pgtabs = new tabs($$('#sgtabs a'), 'tabcontent', 'tabcontent', { minheight: $('tabbedarea').getStyle('height').toInt(), transition: Fx.Transitions.quadInOut });
}
function pgloaded() {
	if ($chk(pgtabs)) pgtabs.adjust();
}
window.addEvent('domready', pgloader);
window.addEvent('load', pgloaded);