﻿function createExhListMenu()
{
    var ab = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 
    var div = document.getElementById('azMenu')

    for(var i = 0; i < ab.length; i++)
    {
        var c = ab.substr(i, 1);

        var link = document.createElement('A');
        link.href = "Javascript:showCategory(\"Cat" + c + "\");"

        var text = document.createElement("SPAN");
        text.innerHTML = c + ' ';
        link.appendChild(text);

        div.appendChild(link);
    }   
    
    createCompaniesList();
    createAlphaList();
}

function sortByCompanyName(a, b) {
    var x = a.name.toLowerCase();
    var y = b.name.toLowerCase();
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function createAlphaList()
{
    sortedCompanies = companies.sort(sortByCompanyName);
    var alphaListDiv = document.getElementById('fullAlphaList');
    
    for (var i = 0; i < sortedCompanies.length; i++)
    {
        var companyDiv = document.createElement('DIV');
        alphaListDiv.appendChild(companyDiv);
        companyDiv.className = "CompanyName";
        //companyDiv.style['paddingTop'] = '5px';
        
        var text = document.createElement("SPAN");
        text.innerHTML = sortedCompanies[i].name;

        if (sortedCompanies[i].website.length > 0)
        {
            var link = document.createElement('A');

            link.href = 'http://' + sortedCompanies[i].website.replace('http://', "");
            link.target = '_blank';
        
            link.appendChild(text);
            companyDiv.appendChild(link);
        }
        else
        {
            companyDiv.appendChild(text);
        }
                
        var standDiv = document.createElement('DIV');
        alphaListDiv.appendChild(standDiv);
        standDiv.className = "CompanyStand";
        standDiv.appendChild( document.createTextNode( sortedCompanies[i].stand ));
    }
}

function createCompaniesList()
{
    var companyListDiv = document.getElementById('companyList');

    var lastCat = '';
    var topDash = true;
        
    for (var i = 0; i < companies.length; i++)
    {
        var companyDiv = document.createElement('DIV');
        companyListDiv.appendChild(companyDiv);
        companyDiv.className = 'Cat' + companies[i].category.replace(/^4x4 /i, '').substr(0, 1).toUpperCase();
        companyDiv.setAttribute('category', companies[i].category);

        if (lastCat != companies[i].category)
        {
            companyDiv.style['paddingTop'] = '5px';
            
            var cat = document.createElement("DIV");
            cat.appendChild( document.createTextNode( companies[i].category ));
            cat.className = "CompanyCategory";
            companyDiv.appendChild(cat);
            
            var stand = document.createElement("DIV");
            stand.appendChild( document.createTextNode("Stand"));
            
            var btnReturnTop = document.createElement("A");
            stand.appendChild(btnReturnTop);
            btnReturnTop.href = "#top";
            btnReturnTop.className="ReturnToTop";
            var imgReturnTop = document.createElement("IMG");
            var baseUrl = document.getElementById("baseUrl");
            
            if (baseUrl == null)
            {
                imgReturnTop.src = "../../images/btnReturnTop.png";
            }
            else
            {
                imgReturnTop.src = baseUrl.value + "/images/btnReturnTop.png";
            }
            btnReturnTop.appendChild(imgReturnTop);
            
            //todo: include return to top image
            stand.className = "StandHeading";
            companyDiv.appendChild(stand);
            
            lastCat = companies[i].category;
            topDash = false;
        }
        else
        {
            topDash = true;
        }
        
        var name = document.createElement("DIV");
        if (topDash == true)
            name.className = "CompanyName";
        else
            name.className = "CompanyNameNoDash";
        companyDiv.appendChild(name);
        
        var text = document.createElement("SPAN");
        text.innerHTML = companies[i].name;

        if (companies[i].website.length > 0)
        {
            var link = document.createElement('A');

            link.href = 'http://' + companies[i].website.replace('http://', "");
            link.target = '_blank';
        
            link.appendChild(text);
            name.appendChild(link);
        }
        else
        {
            name.appendChild(text);
        }
        
        var stand = document.createElement("DIV");
        if (topDash == true)
            stand.className = "CompanyStand";
        else
            stand.className = "CompanyStandNoDash";
        stand.appendChild( document.createTextNode( companies[i].stand ));
        companyDiv.appendChild(stand);        
    }   
}

function showCategory(cat)
{
    document.getElementById('fullAlphaList').style.display = 'none';
    document.getElementById('companyList').style.display = 'block';

    var divs = document.getElementsByTagName('DIV');
    
    for (var i = 0; i < divs.length; i++)
    {
        var div = divs[i];
        
        if (div.className.match(/^Cat[A-Z0-9]$/))
        {
            if (div.className == cat)
               div.style.display = 'block';
            else
                div.style.display = 'none';
        }
    }
}

function changeCategory()
{
    document.getElementById('fullAlphaList').style.display = 'none';
    document.getElementById('companyList').style.display = 'block';
    
    var dropdown = document.getElementById('cboCategories');
    
    var cat = dropdown.options[dropdown.selectedIndex].text;
    
    var divs = document.getElementsByTagName('DIV');
    
    for (var i = 0; i < divs.length; i++)
    {
        var div = divs[i];
        
        if (div.className.match(/^Cat[A-Z0-9]$/))
        {
            if (cat == 'All Categories')
            {     
               div.style.display = 'block';
            }
            else if (div.getAttribute('category') == cat)
            {
                div.style.display = 'block';
            }
            else
            {
                div.style.display = 'none';
            }
         }                                           
    }    
}

function showAlphaList()
{
    document.getElementById('fullAlphaList').style.display = 'block';
    document.getElementById('companyList').style.display = 'none';
}