btc = {};

btc.hasjs =
{
	nonjselements : null,	
	productButtons : null,
	featureSelects : null,
	brandSelects : null,
	
	init : function ()
	{
		btc.hasjs.nonjselements = 
		[
			document.getElementById('nojsbrandselect'),
			document.getElementById('nojsphoneselect'),
			document.getElementById('nojsfiltertop'),
			document.getElementById('nojsfilterbottom'),
			document.getElementById('nojsdeviceselect'),
			document.getElementById('nojsfiltertopbrand'),
			document.getElementById('nojsfilterbottombrand')
		];

		btc.hasjs.productButtons =  [document.getElementById ('btconn-button-compare-top'), document.getElementById ('btconn-button-compare-bottom')];
		btc.hasjs.printButtons =  [document.getElementById ('btconn-print-top'), document.getElementById ('btconn-print-bottom')];
		btc.hasjs.featureSelects =  [document.getElementById ('btconn-filter-top'), document.getElementById ('btconn-filter-bottom')];
		btc.hasjs.brandSelects =  [document.getElementById('btconn-filter-top-brand'), document.getElementById('btconn-filter-bottom-brand')];
		
		btc.hasjs.hideElements ();
		btc.hasjs.attachEventHandlers ();
	},
	
	hideElements : function ()
	{
		var elements = btc.hasjs.nonjselements;
		var length = elements.length;
		for(var index = 0; index < length; index++)
		{
			var element = elements[index];
		
			if(element)
			{
				element.style.display = 'none';
			}
		}
	},
	
	attachEventHandlers : function ()
	{
		btc.event.register (btc.hasjs.productButtons, 'click', btc.hasjs.eventHandlers.products.click);
		btc.event.register (btc.hasjs.featureSelects, 'change', btc.hasjs.eventHandlers.feature.change);
		btc.event.register (btc.hasjs.brandSelects, 'change', btc.hasjs.eventHandlers.brand.change);
		btc.event.register (btc.hasjs.printButtons, 'click', btc.hasjs.eventHandlers.print);
	},
	
	eventHandlers : 
	{
		products :
		{
			click : function ( e ){ btc.search.filterOnProducts (e); btc.search.scrollToResults(); return false;}
		},
		
		feature : 
		{
			change : function ( e ){btc.search.filterOnFeature (e); btc.search.scrollToResults(); return false;}
		},
		
		brand :
		{
			change : function ( e ){btc.search.filterOnBrand (e); btc.search.scrollToResults(); return false;}
		},
		
		print : function ( e ){ window.print (); return false;}
	}
};



/**
* add the stylesheet to the document to have other styles when js is enabled
*/
document.write( "<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"/lib/css/btconn/btconn-js.css\" />" );