
var doc =  "https://spreadsheets.google.com/ccc?key=0AvpTB1ggOL78dFFlZlBrVGlqRmtzREQybE91Z0lDQ0E&hl=en_GB";

google.load('visualization', '1',
        {'packages': ['table', ]});
google.setOnLoadCallback(initialize);

function initialize() {
    // The URL here is the URL of the spreadsheet.
    // This is where the data is.
    var query = new google.visualization.Query(doc);
    var sql = "SELECT B,C,D,E,F,G  ORDER BY A DESC LIMIT";
    if (pLimit != null)
        sql = sql.replace('LIMIT', 'LIMIT ' + pLimit);
    else
        sql = sql.replace('LIMIT', '');
    query.setQuery(sql);
    query.send(draw);
}

function outputYear(currYear, lastYear)
{
    var y = "";
    if (pLimit == null && currYear != lastYear)
    {

        y=  "<h4 class='pprYear'>" + currYear +"</h4>";
    }

    return y;
}

function draw(response) {
    if (response.isError()) {
        // alert('Error in query'  + response.getMessage() + ' ' + response.getDetailedMessage());
        if (pLimit != null)
        {
            // don't display error details on home page
            $('#papers').append("Data source currently unavailable.<br/>Please try again later.");
        }
        else
        {
            $('#papers').append("Data source currently unavailable.<br/>Please try again later.<br/>" + response.getMessage() + "<br/>"+ response.getDetailedMessage()); 
        }
    }
    else
    {
        var data = response.getDataTable();

        var ttlRows = data.getNumberOfRows();
        var curYear = 0;

        for (var i = 0; i < ttlRows; i++)
        {

            var html  = "<div class='pprRow'>" 
                + "<div class='pprTitle'>pTitle</div>"

                +"<div class='pprAuthors'>pAuthors</div>"
                +  "<div class='pprPublication'>pPublication</div>"
                + "<div class='pprPubMed'><a class='external' href='http://www.ncbi.nlm.nih.gov/pubmed/pPubMed'>PubMed pPubMed</a></div>" 	
                + "<div class='pprAbstract'>pAbstract</div>"
                +"</div>";


            var paperData =  new Array();
            for (var j = 0; j < pClasses.length; j++)
            {
                var value = data.getValue(i,j);
                if (j == 0)
                {

                    html = outputYear(value,curYear) +html;
                    curYear = value;
                }
                var key = pClasses[j];

                var regexp = 'p' + key;
                if (value == null || value == '')
                {
                    regexp = 'ppr' + key;
                    value = "pprBlank";
                }
                var r = new RegExp(regexp, 'g');
                html = html.replace(r,value);
            }

            $('#papers').append(html).fadeIn(3000);

        }

    }
}

var pClasses = ["Year", "PubMed","Title", "Publication",  "Authors", "Abstract", ]
