

function DoSearch() {				
	// Create a search control
	var searchControl = new google.search.SearchControl();

	// Add in a WebSearch
	var ws = new google.search.WebSearch();	
	ws.setResultSetSize(google.search.Search.LARGE_RESULTSET);

	// Restrict our search to pages from this site
	ws.setSiteRestriction(site);  	
	ws.setLinkTarget(google.search.Search.LINK_TARGET_SELF);	
	ws.setSearchCompleteCallback(null, SeachComplete, [ws]);	
	ws.setNoHtmlGeneration(); // we generate our own
	google.search.Search.getBranding(document.getElementById("googlebranding"));		
	
	// Build an empty URL structure in which we will store
	// the individual query values by key.
	var objURL = new Object();	 	 
	// Use the String::replace method to iterate over each
	// name-value pair in the query string. Location.search
	// gives us the query string (if it exists).
	window.location.search.replace( new RegExp( "([^?=&]+)(=([^&]*))?", "g" ),
	 
		// For each matched query string pair, add that
		// pair to the URL struct using the pre-equals
		// value as the key.
		function( $0, $1, $2, $3 ){
			objURL[ $1 ] = $3;
		}
	);

		var query = objURL['q'];
		query = decodeURIComponent(query);
		
	ws.execute(query);
}

function GetFileExtension(url) {
            url = url.replace(/^\s|\s$/g, ""); 
            if (/\.\w+$/.test(url)) {
                if (url.match(/([^\/\\]+)\.(\w+)$/) )
                    return RegExp.$2;
                else
                    return '';
            }
            else {
               return '';
            }
        }
        


function SeachComplete(ws) {
	if(!ws.results){return;}
	$('#gsearchresults').html('');		
		
	if(ws.results.length == 0) {
		$('#gsearchresults').append('<div class="QueryErrorContainer">Sorry, no results were found.</div>');
	}
	else {
		for(var i=0,len=ws.results.length; i<len; i++) {
			var r = ws.results[i];
			var type = GetFileExtension(r.unescapedUrl);
			if(type == '') type='htm'
			$('#gsearchresults').append('<div class="linkPanel"><div class="LinkImage"><a href="' + r.unescapedUrl + '"><img alt="' + type + ' icon" src="/EBDSCore/Images/FileIcons/' + type +'.gif" border="0" /></a></div><div class="linkDetails"><a href="' + r.unescapedUrl + '">' + r.titleNoFormatting + '</a><div class="linkPanelDesc">' + r.content + '</div><div class="floatClearer">&nbsp;</div></div>');
		}
	}					
	
	if(ws.cursor) {		
		//alert(ws.cursor.estimatedResultCount);
		//alert(ws.cursor.pages.length);
		$('#pager').html('');				                
        $('#pager').append('<span>Pages:</span>');        
        for(var i=0, len=ws.cursor.pages.length; i<len; i++){ 
			var linkclass = 'pagerLink';
			if(i == ws.cursor.currentPageIndex) {
				linkclass += ' currentPage';				
			}       			
			$('#pager').append('<a class="' + linkclass + '" href="#">' + ws.cursor.pages[i].label + '</a>');						                    
        }                
        // Wire up the onlcik events of the links
        $("#pager").find("a").click(function() {	
			var pageNum = $(this).html();
			pageNum = pageNum - 1;			
			ws.gotoPage(pageNum);
        });
	}
}
