// JavaScript Document for Gary Force Honda
var loadFlag = false;
var gfhMenu;
window.onload = Loaded;


// function to call when window is done loading
function Loaded() {
  gfhMenu = new MenuClass();
  gfhMenu.setupListeners();
  gfhMenu.resetStyles;
	loadFlag = true;

 // gfhMenu.links['homeLink'].showSubMenu();
  //gfhMenu.links['siteMap'].hide();
  //gfhMenu.showSubMenus();
}


function MenuClass() {
	// variable declaration
	this.links = new Array();
	
	// set up LinkClasses
	this.homeLink = new LinkClass;
	this.newCarsLink = new LinkClass;
	this.preOwnedLink = new LinkClass;
	this.financeLink = new LinkClass;
	this.serviceLink = new LinkClass;
	this.partsLink = new LinkClass;
	this.sitemapLink = new LinkClass;
	
	// setup handles to actual elements
	this.homeLink.handle = document.getElementById('homeLink');
	this.newCarsLink.handle = document.getElementById('newCarsLink');
	this.preOwnedLink.handle = document.getElementById('preOwnedLink');
	this.financeLink.handle = document.getElementById('financeLink');
	this.serviceLink.handle = document.getElementById('serviceLink');
	this.partsLink.handle = document.getElementById('partsLink');
	this.sitemapLink.handle = document.getElementById('sitemapLink');
	
	// setup submenu handles to actual elements
	this.homeLink.subHandle = document.getElementById('homeSub');
	this.newCarsLink.subHandle = document.getElementById('newCarSub');
	this.preOwnedLink.subHandle = document.getElementById('preOwnedSub');
	this.financeLink.subHandle = document.getElementById('financeSub');
	this.serviceLink.subHandle = document.getElementById('serviceSub');
	this.partsLink.subHandle = document.getElementById('partsSub');
	this.sitemapLink.subHandle = document.getElementById('sitemapSub');
	
	// setup array values
	this.links['homeLink'] = this.homeLink;
	this.links['newCarsLink'] = this.newCarsLink;
	this.links['preOwnedLink'] = this.preOwnedLink;
	this.links['financeLink'] = this.financeLink;
	this.links['serviceLink'] = this.serviceLink;
	this.links['partsLink'] = this.partsLink;
	this.links['sitemapLink'] = this.sitemapLink;
	
	// set up listeners
	this.setupListeners = function (){
	  var contentArea = document.getElementById('contentArea');
		contentArea.onmouseover= hideSubs;
		for ( var i in this.links ){
			if (this.links[i].handle){
			   this.links[i].handle.onmousedown = headingClick;
			   this.links[i].handle.onclick = headingClick;
			   this.links[i].handle.onmouseclick = headingClick;
			   this.links[i].handle.onmouseover = showSubMenu;
			}
		} // end foreach
	} // end function setupListeners
	
	//resetStyles
	this.resetStyles = function (){
		for ( var i in this.links ){
			if (this.links[i].handle){
			   this.links[i].highlightOff();
			}
		} // end foreach
	} // end function resetStyles
	
	this.hideSubMenus = function (){
		showObj('bragFlashContainer');
		showObj('footerArea');
		this.links['sitemapLink'].show();
		for ( var i in this.links ){
			if (this.links[i].handle){
			   if (this.links[i].handle.id != 'sitemapLink')
			     this.links[i].hideSubMenu();
			}
		} // end foreach
	}

	this.showSubMenus = function (){
		hideObj('bragFlashContainer');
		hideObj('footerArea');
		this.links['sitemapLink'].hide();
		
		for ( var i in this.links ){
			if (this.links[i].handle){
				if (this.links[i].subHandle){
			   		//alert('attempting to open subMenu: '+this.links[i].subHandle.id);
			   		this.links[i].showSubMenu();
				} // end if subHandle is defined
			} // end if handle is defined
		} // end foreach
	}
} // end class MenuClass


function LinkClass() {
	var handle;
	var background;
	var subHandle;
	
	this.hide = function (){
		this.handle.style.display = 'none';
		this.handle.style.visibility = 'hidden';
	} // end function hide
	
	this.show = function (){
		this.handle.style.display = '';
		this.handle.style.visibility = 'visible';
	} // end function show
	
	this.highlightOn = function (){
		this.handle.style.fontSize = '14pt';
		this.handle.style.color = '#fff';
	} // end function highlightOn
	
	this.highlightOff = function (){
		this.handle.style.fontSize = '12pt';
		this.handle.style.color = '#aaf';
	} // end function highlightOff
	
	this.changeText = function (newText){
		this.handle.innerHTML = newText;	
	} // end function changeText
	
	this.hideSubMenu = function (){
		this.subHandle.style.display = 'none';
		this.subHandle.style.visibility = 'hidden';
	}
	
	this.showSubMenu = function (){
		//alert('setting '+this.subHandle.id+'.style.display = block');
		this.subHandle.style.display = 'block';
		this.subHandle.style.visibility = 'visible';
	}
		
}

// taken from global.js 
function getEventObj(e) {
	if (!e) e = window.event;
	var trg = null;
	if (e.target) {trg = e.target;}else if(e.srcElement){trg = e.srcElement;}
	return trg;
}

// used for ajaxing content to main target
function putContent(url,target,pars){
		var myAjax1 = new Ajax.Updater(target, 'loading.html', {method: 'get'});
	    var myAjax2 = new Ajax.Updater(target, url, {method: 'get', parameters: pars}); 		
}  // end function putContent

function showSubMenu(e){
	//window.clearInterval(t);
	if (loadFlag){
	var source = getEventObj(e);
	gfhMenu.hideSubMenus();
	gfhMenu.resetStyles();
	gfhMenu.links[source.id].highlightOn();

	if (source.id == 'sitemapLink')
		gfhMenu.showSubMenus()
	else 
		gfhMenu.links[source.id].showSubMenu();
  } // end if loadFlag
} // end function showSubMenu

function headingClick(e){
	var source = getEventObj(e);
	
	switch (source.id){
		case 'homeLink' : document.location.href='index.html'; break;
		case 'newCarsLink' : document.location.href='newCarLanding.php'; break;
		case 'preOwnedLink' : document.location.href='inventorySearch.php'; break;
		case 'serviceLink' : document.location.href='staff.php?dept=service'; break;
		case 'financeLink' : document.location.href='staff.php?dept=finance'; break;
		case 'partsLink' : document.location.href='partsLanding.php'; break;
	} // end switch
} // end function headingClick

function startMenuCloseTimer(e){
	//t=setInterval("hideSubs()",3000);
} // end function startMenuCloseTimer

function isset(varname){
  return(typeof(window[varname])!='undefined');
}

function hideSubs(){
 	gfhMenu.hideSubMenus();
	//window.clearInterval(t);
}


function showroomListeners(){

	//buttonElement = document.getElementById('buttonElement');
	//buttonPilot = document.getElementById('buttonPilot');
	//buttonFit = document.getElementById('buttonFit');
	//buttonRidgeline = document.getElementById('buttonRidgeline');
	//buttonCRV = document.getElementById('buttonCRV');
	//buttonAccord = document.getElementById('buttonAccord');
	//buttonOdyssey = document.getElementById('buttonOdyssey');
	//buttonS2000 = document.getElementById('buttonS2000');
	//buttonCivic = document.getElementById('buttonCivic');
	
	//carDetail = document.getElementById('carDetail');
	
	buttonElement.onclick = showroomClick;
	buttonElement.onmouseover = showroomHover;
} // end function showroomListeners;

function showroomClick(e){
		
} // end function showroomClick(e)

function showroomHover(e){
	var source = getEventObj(e);
	
	switch (source.id){
		case 'buttonElement' : carDetail.style.backgroundImage = 'url(images/backgroundElement.jpg)'; break;
		case 'buttonPilot' : carDetail.style.backgroundImage = 'url(images/backgroundPilot.jpg)'; break;
		case 'buttonFit' : carDetail.style.backgroundImage = 'url(images/backgroundFit.jpg)'; break;
		case 'buttonRidgeline' : carDetail.style.backgroundImage = 'url(images/backgroundRidgeline.jpg)'; break;
		case 'buttonCRV' : carDetail.style.backgroundImage = 'url(images/backgroundCRV.jpg)'; break;
		case 'buttonAccord' : carDetail.style.backgroundImage = 'url(images/backgroundAccord.jpg)'; break;
		case 'buttonOdyssey' : carDetail.style.backgroundImage = 'url(images/backgroundOdyssey.jpg)'; break;
		case 'buttonS2000' : carDetail.style.backgroundImage = 'url(images/backgroundS2000.jpg)'; break;
		case 'buttonCivic' : carDetail.style.backgroundImage = 'url(images/backgroundCivic.jpg)'; break;
	} // end switch
}

