var menuTimeOut = 250;
var menuTimer = null;
var menuItem = null;

function MenuOpen(id) 
{
    MenuCancelTimer();

    if (menuItem) menuItem.style.visibility = 'hidden';

    menuItem = document.getElementById(id);
    menuItem.style.visibility = 'visible';

}

function MenuClose() 
{
    if (menuItem) menuItem.style.visibility = 'hidden';
}

function MenuStartTimer() 
{
    menuTimer = window.setTimeout(MenuClose, menuTimeOut);
}

function MenuCancelTimer() 
{
    if (menuTimer) {
        window.clearTimeout(menuTimer);
        menuTimer = null;
    }
}

function PopulateConcerts() 
{
    var query = window.location.search.substring(1);
    var pos = query.indexOf('=');
    var key = '';
    var val = '';
    if (pos > 0) {
        key = query.substring(0,pos);
        val = query.substring(pos+1);
    }
    if (key == 'year')
        PopulateConcertsYear(val);
    else 
        PopulateConcertsYear('2010'); 
}

function PopulateConcertsYear(dataset) 
{
    HighlightYear(dataset)

    var concerts = GetConcertData(dataset) 

    var div = document.getElementById("concerts");
    for (var i = 0; i < concerts.length; i++) {
        var content = ""
        content = content + "<div class=\"concert\">";
        if (concerts[i].date)
            content = content + "<div class=\"date\">" + concerts[i].date + "</div>";  
        if (concerts[i].venue)
            content = content + "<div class=\"venue\">";            
        if (concerts[i].venue_url && concerts[i].venue)
            content = content + " <a href=\"" + concerts[i].venue_url + "\" target=\"_new\" >";   
        if (concerts[i].venue)
            content = content + concerts[i].venue;  
        if (concerts[i].venue_url && concerts[i].venue)
            content = content + "</a>";
        if (concerts[i].venue_address && concerts[i].venue)
            content = content + ", ";
        if (concerts[i].venue_address)
            content = content + concerts[i].venue_address;
        if (concerts[i].venue)
            content = content + "</div>";
        if (concerts[i].programme)
            content = content + "<div class=\"programme\">" + concerts[i].programme + "</div>";            
        if (concerts[i].notes)
            content = content + "<div class=\"notes\">" + concerts[i].notes + "</div>";
        if (concerts[i].contact_url || concerts[i].contact_email || concerts[i].contact_phone) {
            content = content + "<div class=\"contact\">Contact: ";
            if (concerts[i].contact_url) {
                content = content + "<a href=\"" + concerts[i].contact_url + "\" target=\"_new\" >";
                content = content + concerts[i].contact_url;
                content = content + "</a>";
                if (concerts[i].contact_email && concerts[i].contact_phone) {
                    content = content + ", ";
                }
                else if (concerts[i].contact_email || concerts[i].contact_phone) {
                    content = content + " or ";
                }
            }
            if (concerts[i].contact_email) {
                content = content + "<a href=\"mailto:" + concerts[i].contact_email;
                content = content + "?subject=The Brook Street Band";
                if (concerts[i].date) {
                    content = content + " - " + concerts[i].date;
                }
                content = content + "\" >";
                content = content + concerts[i].contact_email;
                content = content + "</a>";
                if (concerts[i].contact_phone) {
                    content = content + " or ";
                }
            }
            if (concerts[i].contact_phone) {
                content = content + concerts[i].contact_phone;
            }
            content = content + "</div>";
        }
        content = content + "</div>";
        
        div.innerHTML = div.innerHTML + content;
    }
}

function GetConcertData(dataset) 
{
    var data;
    switch(dataset) {
    case "2000":
        data = concerts_2000;
        break;
    case "2001":
        data = concerts_2001;
        break;
    case "2002":
        data = concerts_2002;
        break;
    case "2003":
        data = concerts_2003;
        break;
    case "2004":
        data = concerts_2004;
        break;
    case "2005":
        data = concerts_2005;
        break;
    case "2006":
        data = concerts_2006;
        break;  
    case "2007":
        data = concerts_2007;
        break;
    case "2008":
        data = concerts_2008;
        break;
    case "2009":
        data = concerts_2009;
        break;
    case "2010":
        data = concerts_2010;
        break;        
    case "2011":
        data = concerts_2011;
        break; 
    case "2012":
        data = concerts_2012;
        break;   
    case "forthcoming":
        data = concerts_forthcoming;
        break;
    case "next":
        data = concerts_next;
        break;                                           
    }
    
    return data;
}

function HighlightYear(year) 
{
    var div = document.getElementById(year);
    if (div) {
        div.style.backgroundColor = '#194994';
        div.style.color = 'white';
        div.innerHTML = year;
    }
}

function LoadNews()
{
    var req = new XMLHttpRequest();   
    req.open('GET', 'news.txt', true);   
    req.onreadystatechange = function (aEvt) {   
        if (req.readyState == 4) {   
            if(req.status == 200)   
                ShowNews(req.responseText);   
            else  
                ShowNews("No news at the moment\nPlease check again soon");   
        }   
    };
    
    req.send(null);  
}

function ShowNews(news) 
{
    var string = new String;

    var fred = news.indexOf("\r\n\r\n");

    string = "<p>" + news.toString();
    string = string.replace(/\r\n\r\n/g, "</p><p>");
    string = string.replace(/\r\n/g, "<br />");
    string = string.replace(/\n\n/g, "</p><p>");
    string = string.replace(/\n/g, "<br />");
    string = string + "</p>";
    
    var div = document.getElementById("news");
    div.innerHTML = string;
}
