/* --------------------------------------------------
	1. Dealer locator Results Table
-------------------------------------------------- */

General.event.ready( function( )
{	
	var resultsTable = document.getElementById( "dealer-locator-results" );
	if( resultsTable == undefined ) return;

	var tbody = resultsTable.getElementsByTagName( "tbody" );
	if( tbody.length <= 0 ) return;
	tbody = tbody[0];
	
	var firstRow = tbody.getElementsByTagName( "tr" );
	if( firstRow.length <= 0 ) return;
	firstRow = firstRow[0];
	
	var infoDiv = firstRow.getElementsByTagName( "div" );
	if( infoDiv.length <= 0 ) return;
	infoDiv = infoDiv[0];
	if( infoDiv.className != "info" ) return; 
			
	document.getElementById( "dealer-info" ).innerHTML = infoDiv.innerHTML;
} );

General.event.register( document , 'click' , function( e ){ 
	var theNode = e.targetNode;
	if( theNode.nodeName != "A" ) return true;
	if( theNode.className.indexOf( "toggle-search" ) == -1 ) return true;
	if( !theNode.href || theNode.href.indexOf( "#" ) == -1 ) return true;	
	var match = theNode.href.match(/\#([a-z\-]+)/);
	if( !match[1] ) return true;
	
	e.cancelEvent( );
	return false;
} );

General.event.register( window , 'load' , function( e ){ 
	var mainTable = document.getElementsByTagName( "TABLE" );
	var found = false;
	if( mainTable == undefined ) return;
	if( mainTable.length < 1 ) return;
	
	for( var i = 0; i < mainTable.length; i++ )
	{
		if( mainTable[i].className.indexOf("dealer-locator-results") != -1 )
		{
			mainTable = mainTable[i];
			found = true;
			break;
		}
	}
	
	if( found == false ) return;
	
	var tableRows = mainTable.getElementsByTagName( "TR" );
	
	for( var i = 0; i < tableRows.length; i++ )
	{
		if( tableRows[i].className.indexOf( " current" ) != -1 )
		{
			General.global.selectedDealer = tableRows[i];
		}
		
		General.event.register( tableRows[i] , 'mousedown' , function( e ){ 
			var theNode = e.targetNode;
			if( theNode.nodeName != "TR" && theNode.parentNode ) theNode = theNode.parentNode;
			if( theNode.nodeName != "TR" && theNode.parentNode ) theNode = theNode.parentNode;
			if( theNode.nodeName != "TR" ) return;
			if( theNode.className.indexOf( " current" ) != -1 ) return;
			var infoDiv = theNode.getElementsByTagName( "DIV" );
			if( infoDiv.length <= 0 ) return;
			infoDiv = infoDiv[0];
			if( infoDiv.className != "info" ) return; 
			
			document.getElementById( "dealer-info" ).innerHTML = infoDiv.innerHTML;
			
			General.global.selectedDealer.className = General.global.selectedDealer.className.replace(/\s{0,1}current/,"");
			theNode.className = theNode.className + " current";
			General.global.selectedDealer = theNode;
			
			
		} );
	}
} );

/* @eof */
