﻿//This function loads the menu for the site
function writeMenu() {
    // get the names of the areas
    var area_names = new Array();
    area_names = areaNames();
    var thisArea = findSubSite();
    //loop through the areas
    for (i = 0; i < area_names.length; i++) {
        //check if this is the active subsite
        if (area_names[i].toLowerCase() == thisArea) {
            //If this subsite is active then load the transport links for it
            document.write("<ul class = \"left\">");
            loadSubLinks(areaNames[i]);
            document.write("</ul>");
        }
    }
}
//This function loads the links to the subpages for an area
function loadSubLinks(area) {
    var transport_names = transportNames();
    var transport_links = transportLinks();
    var sub_names;
    var sub_links;
    var path = window.location.pathname;
    var found;
    //loads all of the transport pages
    for (j = 0; j < transport_names.length; j++) {
        found = writeSubLinks(transport_links[j], transport_names[j]);
        //check to see if this transport type is active and if it is write links to its subpages
        if (found == true) {
            document.write("<ul class = \"left\">");
            sub_names = getSubPages(j);
            sub_links = getSubPageLinks(j);
            for (k = 0; k < sub_names.length; k++) {
                if (sub_links[k] == path.substring(path.lastIndexOf('/') + 1, path.length)) {
                    document.write("<li><a href = " + sub_links[k] + " class = \"this\">" + sub_names[k] + "</a></li>");
                } else {
                    document.write("<li><a href = " + sub_links[k] + ">" + sub_names[k] + "</a></li>");
                }
            }
            document.write("</ul>");
        }
    }
}
//write links to the subpages for an area
function writeSubLinks(link, name) {

    var shortName;
    var thisPage = findTransType();
    var found;
    if (link.indexOf("_") == -1) {
        shortName = link.substring(0, link.indexOf('.'));
    } else {
        shortName = link.substring(0, link.indexOf('_'));
    }
    if (thisPage == shortName) {
        document.write("<li><a href = " + link + "  class = \"this\">" + name + "</a></li>");
        found = true;
    } else {
        document.write("<li><a href = " + link + ">" + name + "</a></li>");
        found = false;
    }
    return found;
}

function addOptions() {
    var values = new Array();
    values[0] = "Kennet";
    values[1] = "Devizes";
    values[2] = "Marlborough";
    values[3] = "Pewsey";
    values[4] = "Tidworth";
    var site = findSubSite();
    for (i = 0; i < values.length; i++) {
        if (values[i].toLowerCase() == site) {
            document.write("<option value = " + values[i] + " selected = \"selected\">" + values[i] + "</option>");
        }
        else {
            document.write("<option value = " + values[i] + ">" + values[i] + "</option>");
        }
    }
}
function go(page) {
    if (page == "kennet") {
        var url = "../index.shtml";
    }
    else {
        var url = "../" + page + "\/index.shtml";
    }
    location.href = url;
}


function areaNames() 
{
    var aNames = new Array();
    aNames[0] = "Kennet";
    aNames[1] = "Devizes";
    aNames[2] = "Marlborough";
    aNames[3] = "Pewsey";
    aNames[4] = "Tidworth";
    return aNames;
}

function areaLinks() {
    var aLinks = new Array();
    aLinks[0] = "index.shtml";
    aLinks[1] = "devizes/index.shtml";
    aLinks[2] = "marlborough/index.shtml";
    aLinks[3] = "Pewsey/index.shtml";
    aLinks[4] = "tidworth/index.shtml";
    return aLinks;
}

function sublinksBus() {
    var sublinks = new Array();
    sublinks[0] = "bus_local_bus_information.shtml";
    sublinks[1] = "bus_fares_concessions.shtml";
    sublinks[2] = "bus_school_transport.shtml";
    sublinks[3] = "bus_transport_accessible_wheelchairs.shtml";
    sublinks[4] = "bus_community_run_transport.shtml";
    sublinks[5] = "bus_bus_shelters.shtml";
    sublinks[6] = "bus_bus_operators.shtml";
    return sublinks;
}
function subnamesBus() {
    var subnames = new Array
    subnames[0] = "Timetables";
    subnames[1] = "Fares and Passes";
    subnames[2] = "School Transport";
    subnames[3] = "Wheelchair Access";
    subnames[4] = "Voluntary and NHS Transport";
    subnames[5] = "Bus Shelters";
    subnames[6] = "Operators";
    return subnames;
}

function sublinksCoach() {
    var sublinks = new Array();
    sublinks[0] = "coach_local_coach_operators.shtml";
    sublinks[1] = "coach_national_express.shtml";
    return sublinks;
}

function subnamesCoach() {
    var subnames = new Array
    subnames[0] = "Local Coach Operators";
    subnames[1] = "National Express";
    return subnames;
}

function sublinksRail() {
    var sublinks = new Array();
    sublinks[1] = "rail_train_operators.shtml";
    sublinks[0] = "rail_timetables_fare_information.shtml";
    sublinks[2] = "rail_local_rail_information.shtml";
    sublinks[3] = "rail_rail_travel_abroad.shtml";
    return sublinks;
}

function subnamesRail() {
    var subnames = new Array
    subnames[1] = "Train Operators";
    subnames[0] = "Timetables and Fare Information";
    subnames[2] = "Rail Bus Links";
    subnames[3] = "Rail Travel Abroad";
    return subnames;
}

function sublinksTaxi() {
    var sublinks = new Array();
    sublinks[0] = "taxi_licensed_taxi_operators.shtml";
    sublinks[1] = "taxi_wheel_chair_accessible_taxis.shtml";
    sublinks[2] = "taxi_fares_legislation.shtml";
    return sublinks;
}

function subnamesTaxi() {
    var subnames = new Array
    subnames[0] = "Licensed Taxi Operators";
    subnames[1] = "Wheel Chair Accessible Taxis";
    subnames[2] = "Fares &amp; Legislation";
    return subnames;
}

function sublinksCycling() {
    var sublinks = new Array();
    sublinks[0] = "cycling_local_rambles.shtml";
    sublinks[1] = "cycling_local_cycle_routes.shtml";
    return sublinks;
}

function subnamesCycling() {
    var subnames = new Array
    subnames[0] = "Local Rambles";
    subnames[1] = "Local Cycle Routes";
    return subnames;
}

function sublinksJourney() {
    var sublinks = new Array();
    sublinks[0] = "journey_planning.shtml";
    sublinks[1] = "journey_wilts_and_beyond.shtml";
    sublinks[2] = "journey_park_and_ride.shtml";
    return sublinks;
}

function subnamesJourney() {
    var subnames = new Array
    subnames[0] = "Travel Planning and Maps";
    subnames[1] = "Wiltshire and Beyond";
    subnames[2] = "Park and Ride";
    return subnames;
}

function transportNames()
{
        var names = new Array();
        names[0] = "Home";
        names[1] = "Bus and Coach";
        names[2] = "Rail";
        names[3] = "Taxi &amp; Private Hire";
        names[4] = "Cycling";
        names[5] = "Walking";
        names[6] = "Journey Planning";
        names[7] = "Local Links";
        return names;
    }

function transportLinks() {
        var links = new Array();
        links[0] = "index.shtml";
        links[1] = "bus_local_bus_information.shtml";
        links[2] = "rail_train_operators.shtml";
        links[3] = "taxi_licensed_taxi_operators.shtml";
        links[4] = "cycling_local_cycle_routes.shtml";
        links[5] = "walking_local_rambles.shtml";
        links[6] = "journey_planning.shtml";
        links[7] = "local_links.shtml";
        return links;
    }

    function kennetNames() {
        var names = new Array();
        names[0] = "Home";
        names[1] = "About Us";
        names[2] = "News & Issues";
        names[3] = "Links";
        names[4] = "Sponsors";
        names[4] = "Feedback & Complaints";
        names[5] = "Contact Us";
        return names;
    }

    function kennetLinks() {
        var links = new Array();
        links[0] = "index.shtml";
        links[1] = "about_us.shtml";
        links[2] = "news_issues.shtml";
        links[3] = "links.shtml";
        links[4] = "sponsors.shtml";
        links[4] = "feedback.php";
        links[5] = "contact.shtml";
        return links;
    }

    function writeSiteIndex() {
        writeAllLinks("index");
    }

    function findSubSite() {
        var sPath = window.location.pathname;
        var rest = sPath.substring(1, sPath.lastIndexOf('/'));
        return rest;
    } 

function writeAllLinks(type)
{
    // get the names of the areas
    var area_names = new Array();
    var area_links = new Array();
    var transport_types = new Array();
    var transport_links = new Array();
    var subpages = new Array();
    var subpagelinks = new Array();

    area_names = areaNames();
    area_links = areaLinks();
    transport_types = transportNames();
    transport_links = transportLinks();
    
    //start the list
    document.write("<ul class = \"" + type + "\">");
    
    //loop through the 5 areas
    for (i = 0; i < area_names.length; i++) 
    {
        //write the link to the area name
        writeLink(null, area_names[i], area_links[i],type);
        
        //start the list for the pages under the name and categories
        document.write("<ul class = \"" + type + "\">");
        
        //Get the direct subpages (those with no category)
        subpages = getSubPages(0);
        subpagelinks = getSubPageLinks(0);
        
        //Write the direct subpages
        for (k = 0; k < subpages.length; k++) 
        {
            if (i == 0) {
            writeLink(null, subpages[k], subpagelinks[k],type);
            } else {
                document.write("<li class = \""+ type + "\"><a href = \"" + area_names[i].toLowerCase() + "/" + subpagelinks[k] + "\">" + subpages[k] + "</a></li>");
            } 
        }
        
        //line break between direct subpages and the categories
        document.write("<br>");
        
        //Excluding Kennet, loop through the categories
        if (i > 0) 
        {
            for (j = 1; j < transport_types.length; j++) 
            {
                //Write the link for the category name (ie. bus)
                writeLink(area_names[i], transport_types[j], transport_links[j],type);
                
                //get the subpage names and links for that category
                subpages = getSubPages(j);
                subpagelinks = getSubPageLinks(j);
                
                //write a list of the subpage links
                document.write("<ul class = \""+ type + "\">");
                for (k = 0; k < subpages.length; k++) 
                {
                    writeLink(area_names[i], subpages[k], subpagelinks[k],type);
                }
                document.write("</ul>");
            }
        }
        document.write("</ul>");
    }
    document.write("</ul>");
}

function writeLink(areaname, name, link, type) {
    if (areaname != null) {
        document.write("<li class = \"" + type + "\"><a href = \"" + areaname.toLowerCase() + "/" + link + "\">" + name + "</a></li>");
    } else {
    document.write("<li class = \"" + type + "\"><a href = \"" + link + "\">" + name + "</a></li>");           
    }
   }

function getSubPages(type) {
    var subpage_names = new Array();
    if (type == "0") {
        subpage_names = kennetNames();
    }
    else if (type == "1") {
        subpage_names = subnamesBus();
    }
    else if (type == "2") {
        subpage_names = subnamesRail();
    }
    else if (type == "3") {
        subpage_names = subnamesTaxi();
    }
    else if (type == "4") {
        subpage_names = subnamesCycling();
    }
    else if (type == "5") {
    subpage_names[0] = "Walking";
    }
    else if (type == "6") {
        subpage_names = subnamesJourney();
    }
    else if (type == "7") {
        subpage_names[0] = "Links";
    }
    else {
        subpage_names = null;
    }
    return subpage_names;
}

function getSubPageLinks(type) {
    var subpage_links = new Array();
    if (type == "0") {
        subpage_links = kennetLinks();
    }
    else if (type == "1") {
        subpage_links = sublinksBus();
    }
    else if (type == "2") {
        subpage_links = sublinksRail();
    }
    else if (type == "3") {
        subpage_links = sublinksTaxi();
    }
    else if (type == "4") {
        subpage_links = sublinksCycling();
    }
    else if (type == "5") {
        subpage_links[0] = "Walking";
    }
    else if (type == "6") {
        subpage_links = sublinksJourney();
    }
    else if (type == "7") {
        subpage_links[0] = "Links";
    }
    else {
        subpage_links = null;
    }
    return subpage_links;
}

function findSubSite() {
    var sPath = window.location.pathname;
    var rest = sPath.substring(0, sPath.lastIndexOf('/'));
    rest = rest.substring(rest.lastIndexOf('/')+1,rest.length);
    return rest;
}

function findTransType() {
    var sPath = window.location.pathname;
    rest = sPath.substring(sPath.lastIndexOf('/')+1, sPath.length);
    if (rest.indexOf('_') != -1) {
        rest = rest.substring(0, rest.indexOf('_'));
    } else {
    rest = rest.substring(0, rest.indexOf('.'));
    }
    return rest;
}



