// JavaScript Document

 //google.load('search', '1.0');

	var siteSearch;

    function searchRequest(searchstring) {
      // Initialize the web searcher
      var searchControl = new google.search.SearchControl();

      siteSearch = new GwebSearch();

	  siteSearch.setUserDefinedLabel("boei.nl");
      siteSearch.setUserDefinedClassSuffix("siteSearch");
      siteSearch.setSiteRestriction("boei.nl");
      searchControl.addSearcher(siteSearch);

      siteSearch.setResultSetSize(google.search.Search.LARGE_RESULTSET);
	  siteSearch.setSearchCompleteCallback(this, searchComplete, null);

      siteSearch.execute(searchstring);
    }


	 function addPaginationLinks() {

      var cursor = siteSearch.cursor;
      var curPage = cursor.currentPageIndex; // check current page
      var pagesDiv = document.createElement('div');
	  	  pagesDiv.setAttribute("class", 'pages-wrapper');
		  pagesDiv.setAttribute("className", 'pages-wrapper');

	  var text = document.createElement('span');
		  text.innerHTML = "Pagina's: <br/>";
      	  pagesDiv.appendChild(text);

		 if(curPage > 0){
	  var prevLink = document.createElement('a');
	 	  prevLink.href = 'javascript:siteSearch.gotoPage('+(curPage-1)+');';

		  prevLink.setAttribute("class", 'pages');
		  prevLink.setAttribute("className", 'pages');

		  prevLink.innerHTML = "&laquo; vorige";
          pagesDiv.appendChild(prevLink);
	  }

	  for (var i = 0; i < cursor.pages.length; i++) {

        var page = cursor.pages[i];
        if (curPage == i) {

		  var label = document.createElement('div');
		  label.innerHTML = page.label;
          label.setAttribute("class", 'active-page');
		  label.setAttribute("className", 'active-page');
		  pagesDiv.appendChild(label);

        } else {

		  var pageLink = document.createElement('a');
          pageLink.href = 'javascript:siteSearch.gotoPage('+i+');';

		  pageLink.setAttribute("class", 'pages');
		  pageLink.setAttribute("className", 'pages');

		  pageLink.innerHTML = page.label;
          pagesDiv.appendChild(pageLink);

        }
      }
	  if(curPage < (cursor.pages.length-1)){
	  var nextLink = document.createElement('a');
	 	  nextLink.href = 'javascript:siteSearch.gotoPage('+(curPage+1)+');';

		  nextLink.setAttribute("class", 'pages');
		  nextLink.setAttribute("className", 'pages');

		  nextLink.innerHTML = "volgende &raquo;";
          pagesDiv.appendChild(nextLink);
	  }

      var contentDiv = document.getElementById('searchresults');
      contentDiv.appendChild(pagesDiv);
    }

    function searchComplete() {

	  var contentDiv = document.getElementById('searchresults');
      contentDiv.innerHTML = '';

	  if (siteSearch.results && siteSearch.results.length > 0) {

	    var total = document.createElement('div');

		  total.setAttribute("class", 'total');
		  total.setAttribute("className", 'total');

		  total.innerHTML = "Totaal aantal gevonden resultaten: "+siteSearch.cursor.estimatedResultCount;
         // contentDiv.appendChild(total);

        var results = siteSearch.results;
        for (var i = 0; i < results.length; i++) {

  	     var result = results[i];
		 var ext = getfileextension(result.url);

		 if(ext != ''){
			ext = "("+ ext +")";
		 }

         var resultHTML="";
		 resultHTML += "<p>";
		 resultHTML += "<a class='page-title' href=\"" + result.unescapedUrl + "\">" + result.title + "<\/a><br \/>";
         resultHTML += result.content + "<br \/>";
		 resultHTML += "<a href=\"" + result.unescapedUrl + "\">meer &raquo;<\/a> " + ext + "<br \/>";
		// resultHTML += "<span class=\"url\">" + result.url + "<\/span>";&raquo;
		 resultHTML += "<\/p>";
          var title = document.createElement('div');
          title.innerHTML = resultHTML;
          contentDiv.appendChild(title);

        }
        addPaginationLinks(siteSearch);

	  }else{

		var noResults = document.createElement('div');

		  noResults.innerHTML = "Uw zoekopdracht heeft geen resultaten opgeleverd";
          contentDiv.appendChild(noResults);
	  }
    }


function getfileextension(file)
{
	 if(!file ) return "";

	 var filename = file;

	 if( filename.length == 0 ) return "";

	 var dot = filename.lastIndexOf(".");

	 if( dot == -1 ) return "";

	 var extension = filename.substr(dot,filename.length);

	 var docExtensions = new Array();
		 docExtensions[0]=".doc"
		 docExtensions[1]=".docx"
		 docExtensions[2]=".log"
		 docExtensions[3]=".msg"
		 docExtensions[4]=".pages"
		 docExtensions[5]=".rtf"
		 docExtensions[6]=".txt"
		 docExtensions[7]=".wpd"
		 docExtensions[8]=".pdf"

	 var docType = '';
	 docType = in_array(extension, docExtensions);

	 return docType;
}


function in_array( what, where ){
	var ext='';
	for(var i=0;i<where.length;i++){
	  if(what == where[i]){
	    ext=what;
        break;
	  }
	}
	return ext;
}
