var defaultMenu = "";

function MenuItem(label,href,id,displayClass){
	this.initMenuItem(label,href,id,displayClass);
}

function MenuItem_Initialize (label,href,id,displayClass) {
	this.label = label;
	this.href = href;
	this.id = id;
	this.active = 0;
	this.displayClass = displayClass;
}

function MenuItem_SetActive(first) {
	this.active = "Y";

	if (first) 
		this.displayClass = " class=\"selectnone\" ";
	else 
		this.displayClass = " class=\"select\" ";	
}

function MenuItem_ClearActive() {
	this.active = "N";
	this.displayClass = "";
}


MenuItem.prototype.initMenuItem = MenuItem_Initialize;
MenuItem.prototype.setActive = MenuItem_SetActive;
MenuItem.prototype.clearActive = MenuItem_ClearActive;


//---------------------------------------------------------------------------

function Menu(label,href,id,displayClass){
	this.initMenu(label,href,id,displayClass);
}

function Menu_Initialize(label,href,id,displayClass){
	this.label = label;
	this.href = href;
	this.id = id;
	this.menuItems = new Array();
	this.displayClass = displayClass;
	this.active = false;
}

function Menu_AddMenuItem (label,href,id) {
	if (this.menuItems.length == 0) 
		this.menuItems[0] = new MenuItem(label,href,id,"class=\"none\"");
	else
		this.menuItems[this.menuItems.length] = new MenuItem(label,href,id,"");
}

function Menu_PrintMenu (){
	var temp = new String();
		
	for (var i=0;i<this.menuItems.length;i++){
		if ( this.menuItems[i].href != "" ) {
			temp = temp + "<li><a href=\"" + this.menuItems[i].href + "\"" +
						this.menuItems[i].displayClass +
						" onMouseOver=\"clearTimer()\" onMouseOut=\"startTimer()\">" +
						this.menuItems[i].label + 
						"</a></li>";
		} else {
			temp = temp + "<li><a " + this.menuItems[i].displayClass +
						" onMouseOver=\"clearTimer()\" onMouseOut=\"startTimer()\">" +
						this.menuItems[i].label + 
						"</a></li>";

		}
	}
	return temp;
}

function Menu_SetActive(label,first){
	if (first) 
		this.displayClass = " class=\"selectnone\" ";
	else 	
		this.displayClass = " class=\"select\" ";

	for (var i=0;i<this.menuItems.length;i++) {
		if (this.menuItems[i].label == label) {
			this.menuItems[i].setActive(i==0);
			this.active = true;
		}
	}
}

function Menu_SetActiveId(id,first){
	if (first) 
		this.displayClass = " class=\"selectnone\" ";
	else 	
		this.displayClass = " class=\"select\" ";
		
	for (var i=0;i<this.menuItems.length;i++) {
		if (this.menuItems[i].id == id) {
			this.menuItems[i].setActive(i==0);
			this.active = true;
		}
	}
}

function Menu_SetDisplayClass(displayClass){
	this.displayClass = displayClass;
}

Menu.prototype.initMenu = Menu_Initialize;
Menu.prototype.add = Menu_AddMenuItem;
Menu.prototype.print = Menu_PrintMenu;
Menu.prototype.setActive = Menu_SetActive;
Menu.prototype.setActiveId = Menu_SetActiveId;
Menu.prototype.setDisplayClass = Menu_SetDisplayClass;

//---------------------------------------------------------------------------

function MainMenu(){
	this.initMainMenu();
}

function MainMenu_Initialize(){
	this.defaultMenu = "";
	this.menu = new Array();
	this.active = "N";
}

function MainMenu_Add(label,href,id){
	if (this.menu.length == 0) 
		this.menu[0] = new Menu(label,href,id,"class=\"none\"");
	else
		this.menu[this.menu.length] = new Menu(label,href,id,"");	
	
	return this.menu[this.menu.length -1];
};

function MainMenu_SetActive(menu,secMenu){
	for (var i=0; i<this.menu.length; i++){
		if ( this.menu[i].label == menu) {
			this.defaultMenu = this.menu[i];
			this.active = i;
			this.menu[i].setActive(secMenu,i==0);
		}
	}
}

function MainMenu_SetActiveId(id,secId){
	for (var i=0; i<this.menu.length; i++){
		if (this.menu[i].id == id) {
			this.defaultMenu = this.menu[i];
			this.active = i;
			this.menu[i].setActiveId(secId,i==0);
		}
	}
}

function MainMenu_getDefault(){
	return this.active;
}

function MainMenu_PrintMenu(){
	var temp = new String();

	for (var i=0;i<this.menu.length;i++){
		if ( this.menu[i].href != '' ) {
			temp = temp + "<li><a href=\"" + this.menu[i].href + "\" " +			
				this.menu[i].displayClass +
				" onMouseover=\"setMenu(" + i + ")\" onMouseOut=\"startTimer()\">" +
		 		this.menu[i].label + "</a></li>";
		} else {
			temp = temp + "<li><a " +			
				this.menu[i].displayClass +
				" onMouseover=\"setMenu(" + i + ")\" onMouseOut=\"startTimer()\">" +
		 		this.menu[i].label + "</a></li>";

		}
	}
	temp = temp + "&nbsp;&nbsp;&nbsp;";

	document.getElementById("primaryMenu").innerHTML = temp;	


	
	if (!isNaN(this.active))	
//		if (this.menu[this.active].active) 
			document.getElementById("secondaryMenu").innerHTML = this.menu[this.active].print();
}

function MainMenu_PrintSecondaryMenu(m){
	if (this.menu[m])
		return this.menu[m].print();
	else
		return "";
}

MainMenu.prototype.initMainMenu = MainMenu_Initialize;
MainMenu.prototype.add = MainMenu_Add;
MainMenu.prototype.setActive = MainMenu_SetActive;
MainMenu.prototype.setActiveId = MainMenu_SetActiveId;
MainMenu.prototype.getDefault = MainMenu_getDefault;
MainMenu.prototype.print = MainMenu_PrintMenu;
MainMenu.prototype.printSecondaryMenu = MainMenu_PrintSecondaryMenu;

//---------------------------------------------------------------------------

function Footer(){
this.init();
}

function Footer_Initialize() {
	this.faq = "";
	this.help = "";
	this.bmlContent = "";	
}

function Footer_SetFAQs(faq){
	this.faq = faq;
}

function Footer_SetHelp(help){
	this.help = help;
}

function Footer_SetBMLContent(bmlContent) {
	this.bmlContent = bmlContent;
}

function Footer_Print() {
	var temp = new String();
	
	temp = "<ul>" +
		"<li><a class=\"first\" href=\"" + menuHost + "/\">Home</a></li>";	

	if (this.faq)
		temp = temp + "<li><a href=\"" + this.faq + "\">FAQs</a></li>";
	else
		temp = temp + "<li><a href=\"" + menuHost + "/yts/faq/index.html\">FAQs</a></li>";
	
   if (this.help) 
		temp = temp + "<li><a href=\"" + this.help + "\">Help</a></li>";
	else
		temp = temp + "<li><a href=\"" + menuHost + "/yts/help/index.html\">Help</a></li>";	

	temp = temp + "<li><a href=\"" + menuHost + "/yts/contact/index.html\">Contact Us</a></li>" +
      "<li><a href=\"" + menuHost + "/yts/site_policy/index.html\">Site Policy</a></li>" +
		"<li><a href=\"" + menuHost + "/yts/sitemap/index.html\">Site Map</a></li>" + 
      "</ul>";
	

	if ( this.bmlContent ) {
		temp = temp + this.bmlContent;
	}
	
	if (document.getElementById("footer2c"))
		document.getElementById("footer2c").innerHTML = temp;
	else if (document.getElementById("footerlinks"))
		document.getElementById("footerlinks").innerHTML = temp;
	else if (document.getElementById("footerlinksmid"))
		document.getElementById("footerlinksmid").innerHTML = temp;
}

Footer.prototype.init = Footer_Initialize;
Footer.prototype.setFAQs = Footer_SetFAQs;
Footer.prototype.setHelp = Footer_SetHelp;
Footer.prototype.setBMLContent = Footer_SetBMLContent;
Footer.prototype.print = Footer_Print;

//---------------------------------------------------------------------------

var timeOutID = 0;

function setMenu(m){
	clearTimer();
	document.getElementById("secondaryMenu").innerHTML = menu.printSecondaryMenu(m);
}

function startTimer(){
	if (timeOutID == 0) {
		window.clearTimeout(timeOutID);
	}
	timeOutID = window.setTimeout("resetMenu()",5000);
}

function clearTimer(){
	window.clearTimeout(timeOutID);
	timeOutId = 0;
}

function resetMenu(){
	setMenu(menu.getDefault());
}

function setAccountLine(text){
document.getElementById("mastheadLine").innerHTML = text;
}

function defineMenu() {
	var m = menu.add("PRODUCTS",menuHost+"/products/productHierarchy.do",81);
	m.add("Network Infrastructure",menuHost+"/products/productHierarchy.do?supertab=L01",93);
	m.add("Mobile Devices &amp; Accessories",menuHost+"/products/productHierarchy.do?supertab=L02",94);
	m.add("Install, Test &amp; Maint.",menuHost+"/products/productHierarchy.do?supertab=L03",95);
	m.add("GSA",menuHost+"/products/productHierarchy.do?pplan=GSA",96);
	m.add("Outlet",menuHost+"/products/outlet/productHierarchy.do",97);

	var accountLink = "";

	// Look for an eprisePage URL (with /yts) or a Thomson Financial page (with phoenix.zhtml)
	var eprisePage = self.location.href.indexOf( "/yts" ) != -1 || self.location.href.indexOf( "phoenix.zhtml" ) != -1;


	if ( eprisePage || menuAccountLink == 'DISPLAY' ) {
		accountLink = menuHost+'/account/getAccountInfo.do';
	}
	
	m = menu.add("MY ACCOUNT", accountLink,1);	
	
	if (  eprisePage || menuLoginLink == 'DISPLAY' ) {
		m.add("Login/Logout",menuHost+"/logon/logonLogout.do",3);
	}
	
	if ( eprisePage || menuRegistrationLink == 'DISPLAY' ) {
		m.add("Registration",menuHost+"/registration/initregistration.jsp",5);	
	}

	if ( eprisePage || menuWorksheetLink == 'DISPLAY' ) {
		m.add("Worksheet",menuHost+"/worksheets/displayWorksheet.do?type=worksheet",2);
	}
	
	if ( eprisePage || menuMyOrdersLink == 'DISPLAY' ) {
		m.add("My Orders",menuHost+"/orderstatus/editOrderHistory.do",4);
	}

	if ( eprisePage || menuAccountPreferencesLink == 'DISPLAY' ) {
		m.add("Preferences",menuHost+"/preferences/index.jsp",6);					  			  
	}					  			  

	m = menu.add("CUSTOMER SERVICE",menuHost+"/yts/customerservice/index.html",80);
	m.add("Tech. Support",menuHost+"/yts/customerservice/techsupport/index.html",86);
	m.add("Delivery & Returns",menuHost+"/yts/customerservice/delivery_returns/doingbusiness.html",82);
	m.add("Credit & Finance",menuHost+"/yts/customerservice/credit/index.html",83);
	m.add("Warranty",menuHost+"/yts/customerservice/warranty/home.html",84);	
	m.add("Contact Us",menuHost+"/yts/customerservice/contact/index.html",85);	

	m = menu.add( "ABOUT TESSCO",menuHost+"/yts/corporate/index.html",79);
	m.add("Investors","http://phx.corporate-ir.net/phoenix.zhtml?c=85842&p=irol-irhome",87);
	//m.add("Shareowners","/yts/corporate/investor/index.html",87);
	m.add("Partner With TESSCO",menuHost+"/yts/partner/index.html",85);
	m.add("News & Events",menuHost+"/yts/resourcecenter/news_events/index.html",89);
	m.add("Publications",menuHost+"/yts/resourcecenter/publications/index.html",90);
	m.add("Join Our Team",menuHost+"/yts/careers/index.html",91);
}

var menuHost = "";

try {
	menuHost = menuRootURL;
} 
catch( e ) {
	menuHost = "";
}

var menu = new MainMenu("menu");
defineMenu();

var footer = new Footer();


