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

var pkgselector, baseprice;
function pkgselector_loader() {
	baseprice = $E('#thePrice a').innerHTML;
	pkgselector = {
		buttons: Class.empty,
		subnav: Class.empty,
		lblsMain: new Array(),
		lblsSub: new Array(),
		multi: false,
		tabs: $$('#pkgselector .pkgselector_tab'),
		init: function() {
			var td,lbl,lbl1,lbl2;
			$('pkgselector').getParent().setStyle('vertical-align','top');
			$$('.pkgselector_tab h3').each(function(h,i) {
				lbl = h.innerHTML.match(/-->(.*)<!--/)[1];
				if (lbl.test(/: /)) {
					// multi tab version
					pkgselector.multi = true;
					lbl1 = lbl.match(/(.*): (.*)/)[1]; // main tab
					if (!pkgselector.lblsMain.contains(lbl1)) {
						pkgselector.lblsMain.include(lbl1);
						td = new Element('td');
						td.innerHTML = lbl1;
						td.addEvent('click', pkgselector.track.pass(lbl1));
						lbl1 = pkgselector.lblsMain.indexOf(lbl1);
						td.addEvent('click', pkgselector.changeMainTab.pass(lbl1));
						td.setStyle('cursor','pointer');
						td.injectInside($E('#pkgselector_head tr'));
						pkgselector.lblsSub[lbl1] = new Array();
					} else {
						lbl1 = pkgselector.lblsMain.indexOf(lbl1);
					}
					if (!$chk($('pkgselector_subhead'))) {
						$E('#pkgselector_head th').innerHTML = 'Select a Model';
						var sh = new Element('div');
						sh.id = 'pkgselector_subhead';
						sh.innerHTML = 'Package Options';
						sh.injectAfter($('pkgselector_head'));
					}
					lbl2 = lbl.match(/(.*): (.*)/)[2]; // sub tab
					pkgselector.lblsSub[lbl1].include({ 'tab': i, 'label': lbl2 });
					h.getParent().setProperty('rel',lbl1 + '#' + lbl2);
				} else {
					td = new Element('td');
					td.innerHTML = lbl;
					td.addEvent('click', pkgselector.changeTab.pass(i));
					td.addEvent('click', pkgselector.track.pass(lbl));
					td.setStyle('cursor','pointer');
					td.injectInside($E('#pkgselector_head tr'));
					h.getParent().setProperty('rel',i);
				}
			});
			if (!pkgselector.multi) $E('#pkgselector_head th').innerHTML = 'Select an Option';
			pkgselector.buttons = $$('#pkgselector_head td');
		},
		track: function(lbl) {
			lbl = lbl.replace(/ /g, '-');
			lbl = lbl.replace(/[®™]/g, '');
			lbl = lbl.replace(/&trade;/g, '');
			lbl = lbl.replace(/&reg;/g, '');
			_hbLink('PkgSel_' + lbl);
		},
		changeMainTab: function(mt) {
			// multi tab version only
			pkgselector.changeTab( pkgselector.lblsSub[mt][pkgselector.lblsSub[mt].length - 1].tab );
		},
		changeTab: function(tab) {
			var turnon;
			pkgselector.tabs.each(function(t,i) {
				if (i==tab) {
					t.setStyle('display','block');
					var p = $E('.packagesku', t).innerHTML.match(/Stock #:\s*(\d*)/i);
					if (p.length>1 && typeof(pricing)!='undefined' && pricing[p[1]]) {
						$E('#pricing .flleft').setHTML('<p>Selected <br/>Option:</p>');
						$E('#thePrice a').setHTML('$ ' + pricing[p[1]]);
					} else {
						$E('#pricing .flleft').setHTML('<p>Base Model <br/>Starting at:</p>');
						$E('#thePrice a').setHTML(baseprice);
					}
					turnon = t.getProperty('rel');
				} else {
					t.setStyle('display','none');
				}
			});
			if (pkgselector.multi) {
				turnon = turnon.split('#');
				pkgselector.buttons.each(function(b,i) {
					if (i==turnon[0]) {
						if (!b.hasClass('active')) {
							b.addClass('active');
							pkgselector.writeSubnav(i);
						}
						pkgselector.subnav.each(function(c,j) {
							if (c.innerHTML==turnon[1]) {
								c.addClass('active');
							} else {
								c.removeClass('active');
							}
						});
					} else {
						b.removeClass('active');
					}
				});
			} else {
				pkgselector.buttons.each(function(b,i) {
					if (i==turnon) b.addClass('active');
					else b.removeClass('active');
				});
			}
		},
		writeSubnav: function(sel) {
			// Only used with multi tab version
			var td;
			$('pkgselector_subhead').innerHTML = '<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><th>Select an Option</th></tr></table>';
			pkgselector.lblsSub[sel].each(function(l) {
				td = new Element('td');
				td.innerHTML = l.label;
				td.addEvent('click', pkgselector.changeTab.pass(l.tab));
				td.addEvent('click', pkgselector.track.pass(pkgselector.lblsMain[sel] + '_' + l.label));
				td.setStyle('cursor','pointer');
				td.injectInside($E('#pkgselector_subhead tr'));
			});
			pkgselector.subnav = $$('#pkgselector_subhead td');
		}
	}
	pkgselector.init();
	pkgselector.changeTab(pkgselector.tabs.length-1);
}
window.addEvent('domready', pkgselector_loader);