// David Hawkings
// May 2004


// Script to build the Left sub navigation for Customer Service areas of transcanada.com

// Adapted from previous versions. 




//***********************************************************************

//***********************************************************************

//  Global menu functions

//***********************************************************************

//***********************************************************************

// Entry point into this script.  This function will create the top level menu items (Alberta, BC System, Mainline, Foothills) and then pass control to "buildMenu()" 
function buildGISBMenu () {
  try {
    var pathArray = getPathArray();
	  var topDir = pathArray[0]; // defined in scripts.js
    var topDirDisplayName = translateDir(topDir);// defined in scripts.js	
	  getOpenTableTags();
	  writeSpacer(20);
    switch(topDir){
      case "Alberta":
		writeMenuItem( translateDir("Customer_Express"), "/Customer_Express/index.html", "sideGrayNavTop");
		  
        writeLine();
        writeSpacer(8);
	      writeMenuItem( translateDir("Alberta"), "/Alberta/index.html","sideGrayNavTop");
        buildMenu(topDir);
        writeLine();
        writeSpacer(8);
		
//		writeMenuItem( translateDir("BC_System"), "/BC_System/index.html", "sideGrayNavTop");
		writeMenuItem( translateDir("Mainline"), "/Mainline/index.html", "sideGrayNavTop");
		writeMenuItem( translateDir("Foothills"), "/Foothills/index.html", "sideGrayNavTop");

    //    break;
		
 //     case "BC_System":
//		writeMenuItem(translateDir("Customer_Express"), "/Customer_Express/index.html", "sideGrayNavTop");
//		writeMenuItem( translateDir("Alberta"), "/Alberta/index.html", "sideGrayNavTop");
		  
 //       writeSpacer(8);
 //       writeLine();
  //      writeSpacer(8);
//	      writeMenuItem(translateDir("BC_System"), "/BC_System/index.html", "sideGrayNavTop");
 //       buildMenu(topDir);
  //      writeLine();
   //     writeSpacer(8);
		
	//      writeMenuItem(translateDir("Mainline"), "/Mainline/index.html", "sideGrayNavTop");
	//      writeMenuItem(translateDir("Foothills"), "/Foothills/index.html", "sideGrayNavTop");

        break;
		
      case "Mainline":
		 
		writeMenuItem(translateDir("Customer_Express"), "/Customer_Express/index.html", "sideGrayNavTop");
		writeMenuItem(translateDir("Alberta"), "/Alberta/index.html", "sideGrayNavTop");
//		writeMenuItem(translateDir("BC_System"), "/BC_System/index.html", "sideGrayNavTop");
		  
        writeSpacer(8);
        writeLine();
        writeSpacer(8);
	      writeMenuItem(translateDir("Mainline"), "/Mainline/index.html", "sideGrayNavTop");
        buildMenu(topDir);
        writeLine();
        writeSpacer(8);
		
	      writeMenuItem(translateDir("Foothills"), "/Foothills/index.html", "sideGrayNavTop");

        break;
		
      case "Foothills":
		 
		writeMenuItem(translateDir("Customer_Express"), "/Customer_Express/index.html", "sideGrayNavTop");
		writeMenuItem(translateDir("Alberta"), "/Alberta/index.html", "sideGrayNavTop");
//		writeMenuItem(translateDir("BC_System"), "/BC_System/index.html", "sideGrayNavTop");
		writeMenuItem(translateDir("Mainline"), "/Mainline/index.html", "sideGrayNavTop");
		  
        writeSpacer(8);
        writeLine();
        writeSpacer(8);
	      writeMenuItem(translateDir("Foothills"), "/Foothills/index.html", "sideGrayNavTop");
        buildMenu(topDir);
        writeLine();
        writeSpacer(8);
		
        break;
      case "Customer_Express":
        writeSpacer(8);
        writeLine();
        writeSpacer(8);
	      writeMenuItem(translateDir("Customer_Express"), "/Customer_Express/index.html", "sideGrayNavTop");
        buildCustomerExpressMenu(topDir);
        writeLine();
        writeSpacer(8);
		
        var secondDir = getPathArray()[1];
      	if (!(secondDir == "" || secondDir == "index.html")) // add update link unless at Customer Express home page.
        addUpdateLink();
		
	      writeMenuItem(translateDir("Alberta"), "/Alberta/index.html", "sideGrayNavTop");
//	      writeMenuItem(translateDir("BC_System"), "/BC_System/index.html", "sideGrayNavTop");
	      writeMenuItem(translateDir("Mainline"), "/Mainline/index.html", "sideGrayNavTop");
	      writeMenuItem(translateDir("Foothills"), "/Foothills/index.html", "sideGrayNavTop");
		  

        break;
		
      default:
	  	  writeMenuItem(translateDir("Customer_Express"), "/Customer_Express/index.html", "sideGrayNavTop");
	      writeMenuItem(translateDir("Alberta"), "/Alberta/index.html", "sideGrayNavTop");
//	      writeMenuItem(translateDir("BC_System"), "/BC_System/index.html", "sideGrayNavTop");
	      writeMenuItem(translateDir("Mainline"), "/Mainline/index.html", "sideGrayNavTop");
	      writeMenuItem(translateDir("Foothills"), "/Foothills/index.html", "sideGrayNavTop");
	      
        
    }
	  getCloseTableTags();
  }
  catch(e) {
     alert("Error: " + e.name + "\nMessage: " + e.message);
  }
}

// This function will determine location within site and pass control to appropriate function for building sub menus.
function buildMenu (site) {
	if (location.href.indexOf("customer_activities") != -1) {
		customerActivitiesExpanded (site);
	}
	else if (location.href.indexOf("info_postings") != -1 || location.href.indexOf("PDFTariff") != -1) {
		informationalPostingExpanded1 (site);
	}
	else {
		createOriginalMenu (site);
	}
}

//  Menu 1
function customerActivitiesExpanded (site) {
  writeOpenTD();
  getOpenTableTags ();
  writeSpacer(4);
  getCustomerActivities (site);
  writeSpacer(4);
  nominations (site);
  flowingGas (site);
  invoicing (site);
  capacityRelease (site);
  contracts (site);
  operationalReporting (site);
  writeSpacer(4);
  getInformationalPosting (site);
  getCloseTableTags ();
  createOriginalStaticMenu (site);  
  writeSpacer(8);
  writeCloseTD();
    writeLine();
}


// Menu 2 
function informationalPostingExpanded1 (site) {
  writeOpenTD();
  getOpenTableTags ();
  writeSpacer(4);
  getCustomerActivities (site);
  getInformationalPosting (site);
  writeSpacer(4);
  affiliatedMarketerInfo (site);
  capacity (site);
  //daniel
  //implementationProcedures (site);
  indexOfCustomers (site);
  orgcharts (site);
  notices (site);
  tariff (site);
  systemMap (site);
  writeSpacer(4);
  getCloseTableTags ();
  createOriginalStaticMenu (site);  
  writeSpacer(8);
  writeCloseTD();
  writeLine();
}

// Menu 3 
function createOriginalMenu (site) {
  writeOpenTD();
  getOpenTableTags ();
  writeSpacer(4);
  getCustomerActivities (site);
  getInformationalPosting (site); 
  serviceOfferings (site);
  regulatoryInformation (site);
//  ngtlCodeOfConduct (site);
  industryCommittee (site);
  sideContacts (site);
  siteMap (site);
  writeSpacer(8);
  getCloseTableTags ();
  writeCloseTD();
  writeLine();
}

function createOriginalStaticMenu (site) {
  getOpenTableTags ();
  serviceOfferings (site);
  regulatoryInformation (site);
 // ngtlCodeOfConduct (site);
  industryCommittee (site);
  sideContacts (site); 
  siteMap (site);
  getCloseTableTags ();
}

function buildCustomerExpressMenu(site) {
  writeOpenTD();
  getOpenTableTags ();
  writeSpacer(4);
  writeMenuItem("Pricing & Tolls", "/" + site + "/pricing_tolls/index.html", "sideGrayNavMain");
  writeCustExSubMenuItem("/" + site + "/pricing_tolls/ab.html","/" + site + "/pricing_tolls/ml.html","/" + site + "/pricing_tolls/bc.html","/" + site + "/pricing_tolls/fh.html"); 
  writeSpacer(4);
  writeMenuItem("Contacts", "/" + site + "/contacts/index.html", "sideGrayNavMain");
  writeMenuItem("Cool Tools", "/" + site + "/tools/index.html", "sideGrayNavMain");
  writeMenuItem("Pipeline Capacity", "/" + site + "/capacity/index.html", "sideGrayNavMain");
  writeMenuItem("Services & Tariffs", "/" + site + "/services/index.html", "sideGrayNavMain");
  writeCustExSubMenuItem("/" + site + "/services/ab.html","/" + site + "/services/ml.html","/" + site + "/services/bc.html","/" + site + "/services/fh.html"); 
  writeSpacer(4);
  getCloseTableTags ();
  writeCloseTD();
  writeSpacer(8);
}

/**********************************************************
  Individual Menu Items
*************************************************************/
function getCustomerActivities (site) {
  link = '/' + site + '/customer_activities/index.html';
  writeMenuItem ("Customer Activities", link, "sideGrayNavMain");
}

function getInformationalPosting (site) {
  link = '/' + site + '/info_postings/index.html';
  writeMenuItem ("Informational Postings", link, "sideGrayNavMain");
}

function serviceOfferings (site) {
  link = '/' + site + '/service_offerings/index.html';
  writeMenuItem ("Service Offerings", link, "sideGrayNavMain");
}

function regulatoryInformation (site) {
// Regulatory information in Alberta site is contained in folder called "Regulatory Info" whereas with BC and Mainline it's just "Regulatory".  Did not want to change directory name for possible problems that may cause.
    switch (site) {
        case 'Alberta':
          link = '/' + site + '/regulatory_info/index.html';
          writeMenuItem ("Regulatory Information", link, "sideGrayNavMain");
          break;
//        case 'BC_System':
        case 'Foothills':
        case 'Mainline':
          link = '/' + site + '/regulatory/index.html';
          writeMenuItem ("Regulatory Information", link, "sideGrayNavMain");
     }
}

function ngtlCodeOfConduct (site) {
//we only want his on the Alberta site
  switch (site) {
        case 'Alberta':
          link = '/' + site + '/compliance/index1.htm';
          writeMenuItem ("NGTL Inter-Affiliate Code of Conduct", link, "sideGrayNavMain");
          break;
//        case 'BC_System':
        case 'Foothills':
        case 'Mainline':
     }
}

function industryCommittee (site) {
  link = '/' + site + '/industry_committee/index.html';
  writeMenuItem ("Industry Committee", link, "sideGrayNavMain");
}

function sideContacts (site) {
  link = '/' + site + '/contacts/index.html';
  writeMenuItem ("Contacts", link, "sideGrayNavMain");
}

function siteMap (site) {
  link = '/' + site + '/site_map/index.html';
  writeMenuItem ("Site Map", link, "sideGrayNavMain");
}

function nominations (site) {
  link = '/' + site + '/customer_activities/nominations.html';
  writeMenuItem ("Nominations", link, "sideGrayNavSub");
}

function flowingGas (site) {
    switch (site) {
        case 'Alberta':
          link = 'https://services.tcpl.ca/cor/ext/IRMenuIndexAB.htm?IRMenuFlow_AB.htm';
          writeMenuItem ("Flowing Gas", link, "sideGrayNavSub");
          break;
//        case 'BC_System':
        case 'Foothills':
          link = '/' + site + '/customer_activities/flowing_gas.html';
          writeMenuItem ("Flowing Gas", link, "sideGrayNavSub");
			    break;
        case 'Mainline':
          link = 'https://services.tcpl.ca/cor/ext/IRMenuIndexML.htm?IRMenuFlow_ML.htm';
          writeMenuItem ("Flowing Gas", link, "sideGrayNavSub");
     }
 }

function invoicing (site) {
  link = '/' + site + '/customer_activities/invoicing.html';
  writeMenuItem ("Invoicing", link, "sideGrayNavSub");
}

function capacityRelease (site) {
  link = '/' + site + '/customer_activities/capacity_release.html';
  writeMenuItem ("Capacity Release", link, "sideGrayNavSub");
}

function contracts (site) {
  link = '/' + site + '/customer_activities/contracts.html';
  writeMenuItem ("Contracts", link, "sideGrayNavSub");
}

function operationalReporting (site) {
    switch (site) { 	
		  case 'Mainline':
        link = 'https://services.tcpl.ca/cor/ext/IRMenuIndexML.htm';
        writeMenuItem ("Operational Reporting", link, "sideGrayNavSub");
        break;
      case 'Alberta':
        link = '/' + site + '/customer_activities/reporting/index.html';
        writeMenuItem ("Operational Reporting", link, "sideGrayNavSub");
			  break;
//      case 'BC_System':
      case 'Foothills':
     }
}
function affiliatedMarketerInfo (site) {
  link = '/' + site + '/info_postings/affiliated_marketer.html';
  writeMenuItem ("Affiliated Marketer", link, "sideGrayNavSub");
}

function capacity (site) {
  link = '/' + site + '/info_postings/capacity.html';
  writeMenuItem ("Capacity", link, "sideGrayNavSub");
}

//daniel
/*********************************************************************************
(function implementationProcedures (site) {
    switch (site) {
        case 'Alberta':
          link = '/' + site + '/info_postings/ngtl_code_of_conduct.pdf';
          writeMenuItem ("Implementation Procedures", link, "sideGrayNavSub");
          break;
        case 'BC_System':
        case 'Foothills':
        case 'Mainline':
     }
}
*********************************************************************************/

function indexOfCustomers (site) {
  link = '/' + site + '/info_postings/index_of_customers.html';
  writeMenuItem ("Index Of Customers", link, "sideGrayNavSub");
}

function notices (site) { 
  link = '/' + site + '/info_postings/notices.html';
  writeMenuItem ("Notices", link, "sideGrayNavSub");
}

function orgcharts (site) { 
  link = '/' + site + '/info_postings/organizational_charts.html';
  writeMenuItem ("Organizational Charts", link, "sideGrayNavSub");
}	

function tariff (site) { 
  link = '/' + site + '/info_postings/tariff/index.html';
  writeMenuItem ("Tariff", link, "sideGrayNavSub");
}

function systemMap (site) {
  link = '/' + site + '/info_postings/system_map.html';
  writeMenuItem ("System Map", link, "sideGrayNavSub");
}


/*****************************************************************
  Generic functions for building page items.  
  All html is written in these functions.
*********************************************************************/

function getOpenTableTags () {
  document.write ('		<table border="0" cellpadding="0" cellspacing="0" width="180">');
}

function getCloseTableTags () {
  document.write ('</TABLE>');
}

function writeMenuItem (text,link, style) {

  // If the link represents the current page or section, use the hilite version of the style.
  if (isCurrent(link)){
    style = style + "Hilite";
  }

  
  document.write ('   <tr>');
  document.write ('    <td class="sideGrayNav" width="160">');
  document.write ('     <table border="0" cellpadding="0" cellspacing="0">');
  document.write ('     <tr nowrap >');
  document.write ('      <td class="sideGrayNav" nowrap width="160"><a href="');
  document.write (link);
  document.write ('" class="');
  document.write (style);
  document.write ('" >');
  document.write (text);
  document.write ('       </a></td>');
  document.write ('     </tr>');
  document.write ('    </table>');
  document.write ('   </td>');
  document.write ('  </tr>');
}

function writeCustExSubMenuItem(AB_link,ML_link,FH_link) {

  var links = new Array(AB_link, ML_link, FH_link);
  var linklabels = new Array("AB", "ML", "FH");

  document.write('<tr>');
  document.write('  <td width="160" class="sideGrayNav">');

  var length = links.length; 
  for (var i = 0; i<length; i++){
    var link = links[i];
    linklabel = linklabels[i];
    var style = "sideGrayNavSub";
    // If the link represents the current page or section, use the hilite version of the style.
    if (isCurrent(link)){
      style = "sideGrayNavSubHilite";
    }

    // Unless it is the first link, put a pipe.  We want a pipe symbol between each link
    if (!(i == 0)){
      document.write('&nbsp;|&nbsp;');
    }
    document.write('<a href="' + link + '" class="' + style + '">' + linklabel + '</a> ');
  }
  document.write('</td></tr>');
}

function writeSpacer (height) {
	document.write ('  <TR><td width="1"><img src="/CS_Common/images/spacer.gif" width="1" height="' + height + '"></td></tr>');  
}

function writeLine() {
    document.write ('<tr> <td bgcolor="#ffffff" width="180"><img src="/CS_Common/images/spacer.gif" width="180" height="1" border="0"></td> </tr>');
}

function writeOpenTD() {
    document.write ('<td width="160" valign="top">');
}

function writeCloseTD() {
    document.write ('</td>');
}

function addUpdateLink() {
  document.write ('<tr><td > <table> <tr> <td width="20">&nbsp;</td><td> <a href="/Customer_Express/Update/"><img  width="125" src="/Customer_Express/Update/Images/update_logo_small.gif" border="0"></a></td></tr></table></td></tr> ');
}

