function $_GET(q,s) {
    s = (s) ? s : window.location.search;
    var re = new RegExp('&amp;'+q+'=([^&amp;]*)','i');
    return (s=s.replace(/^\?/,'&amp;').match(re)) ?s=s[1] :s='';
}


var GoogleAPI = new Object();
GoogleAPI.SearchNews = function()
{
    GoogleAPI.callback = GoogleAPI.onNewsSearched;
    var gateway = "/gateway.php?feed="+ escape("http://ajax.googleapis.com/ajax/services/search/news?v=1.0&rsz=large&start="+
      		     GoogleAPI.Index +"&q=")+ GoogleAPI.Query;
    GoogleAPI.makeRequest(gateway);
}
GoogleAPI.onNewsSearched = function(request)
{	
    var divNews = document.getElementById('gnews');
    divNews.innerHTML = '';
	
    if(this.request.responseText)
    {
        var gnews = json_parse(this.request.responseText);


        var results = gnews.responseData.results;
        if(results.length > 0)
        {	

            for(var i=0; i<results.length; i++)
            {
                var post = document.createElement('div');
                post.className = 'newspost';
                var postHref = document.createElement('a');
                postHref.href = results[i].unescapedUrl;
                postHref.className = 'title';
                postHref.target = "_blank";
                postHref.innerHTML = results[i].titleNoFormatting;
                var postDate = document.createElement('i');
                postDate.innerHTML = 'from '+ results[i].publisher +
                 ' posted '+ results[i].publishedDate+ ' ';
                post.appendChild(postHref);
                post.appendChild(postDate);
                if(results[i].clusterUrl)
                {
                    var clusterHref = document.createElement('a');
                    clusterHref.href = results[i].clusterUrl;
                    clusterHref.className = 'related';
                    clusterHref.target = "_blank";
                    clusterHref.innerHTML = 'Related Stories';
                    post.appendChild(clusterHref);
                }
                divNews.appendChild(post);
            }
var googleicon = document.createElement('a');
 		googleicon.href = "http://www.google.com";
		googleicon.innerHTML = '<br /><IMG SRC="http://www.google.com/logos/Logo_40wht.gif" border="0" ALT="Google" align="absmiddle">';
		googleicon.target = "_new";
		divNews.appendChild(googleicon);
	     var prevBtn = document.createElement('a');
            prevBtn.href = "#"+(GoogleAPI.Index+8);
            prevBtn.className = "prev";
            prevBtn.innerHTML = "&lt; Prev News&nbsp;&nbsp;";
            prevBtn.onclick = function() { GoogleAPI.Index-=8;
		if (GoogleAPI.Index<0)GoogleAPI.Index=0;
             GoogleAPI.SearchNews(); }
            divNews.appendChild(prevBtn);

            var moreBtn = document.createElement('a');
            moreBtn.href = "#"+(GoogleAPI.Index+8);
            moreBtn.className = "more";
            moreBtn.innerHTML = "&nbsp;&nbsp;More News &gt;";
            moreBtn.onclick = function() { GoogleAPI.Index+=8;
             GoogleAPI.SearchNews(); }
            divNews.appendChild(moreBtn);
		
        }
        else {}
	//GoogleAPI.ThrowError("There were no news results recieved");
    }
    else GoogleAPI.ThrowError("There was an error receiving the news feed, refresh the page to try again");
}
GoogleAPI.makeRequest = function(gw)
{
    this.request = (window.XMLHttpRequest) ? new XMLHttpRequest():
     new ActiveXObject("Microsoft.XMLHTTP"); 
    this.request.onreadystatechange = function() { GoogleAPI.checkReadyState(); };
    this.request.open('GET', gw, true);
    this.request.send(gw);
}
GoogleAPI.ThrowError = function(msg)
{
    alert(msg);
}
GoogleAPI.checkReadyState = function()
{
    switch(this.request.readyState)
    {
        case 1: break;
        case 2: break;
        case 3: break;
        case 4:
            this.callback(this.request);
}
}

