﻿google.load('search', '1');

var imageSearch;
var profileImg;

function addPaginationLinks() {

  var cursor = imageSearch.cursor;
  var curPage = cursor.currentPageIndex;
  var pagesDiv = document.createElement('div');
  pagesDiv.id = "gpicpages";

  for (var i = 0; i < cursor.pages.length; i++) {
    var page = cursor.pages[i];

    if (curPage == i) {
      var label = document.createTextNode(' ' + page.label + ' ');
      pagesDiv.appendChild(label);
    } else {
      var link = document.createElement('a');
      link.href = 'javascript:imageSearch.gotoPage('+i+');';
      link.innerHTML = page.label;
      link.style.marginRight = '2px';
      pagesDiv.appendChild(link);
    }
  }

  var contentDiv = document.getElementById('gpiccontent');
  contentDiv.appendChild(pagesDiv);
}

function searchComplete() {

  if (imageSearch.results && imageSearch.results.length > 0) {

    // clear
    var contentDiv = document.getElementById('gpiccontent');
    contentDiv.innerHTML = '';

    var results = imageSearch.results;

    for (var i = 0; i < results.length; i++) {

      var result = results[i];
      var imgContainer = document.createElement('div');
      var newImg = document.createElement('img');

      newImg.src = result.tbUrl;
	  newImg.alt = result.titleNoFormatting;
	  newImg.width = "110";
	  newImg.height = "140";
	  newImg.id = "gpics";
	  
      var newA = document.createElement('a');
      newA.href = result.unescapedUrl;
      newA.target = "_blank";

      imgContainer.appendChild(newA).appendChild(newImg);

      // image
      contentDiv.appendChild(imgContainer);
    }

    // add the paging
    addPaginationLinks(imageSearch);
  }
}

function OnLoad(gvnames) {
  // ImageSearch instance.
  imageSearch = new google.search.ImageSearch();
  
  imageSearch.setResultSetSize(8);


  // Restrict to extra large images only
  imageSearch.setRestriction(google.search.ImageSearch.RESTRICT_SAFESEARCH,
                             google.search.ImageSearch.SAFESEARCH_OFF);
  
  // Restrict to extra large images only
  imageSearch.setRestriction(google.search.ImageSearch.RESTRICT_IMAGESIZE,
                             google.search.ImageSearch.IMAGESIZE_MEDIUM);

  imageSearch.setSearchCompleteCallback(this, searchComplete, null);

  // setname
  imageSearch.execute(gvnames);
}

function profsearchComplete() {

  if (profileImg.results && profileImg.results.length > 0) {

    // clear
    var contentDiv = document.getElementById('profpiccontent');
    contentDiv.innerHTML = '';

    var results = profileImg.results;

    var result = results[0];
    var newImg = document.createElement('img');

    newImg.src = result.tbUrl;
	newImg.alt = result.titleNoFormatting;
	newImg.width = "90";
	newImg.height = "130";
	newImg.id = "profpics";

    // image
    contentDiv.appendChild(newImg);
  }
}

function profOnLoad(gvnames) {
  // ImageSearch instance.
  profileImg = new google.search.ImageSearch();
  
  profileImg.setResultSetSize(1);


  // Restrict to extra large images only
  profileImg.setRestriction(google.search.ImageSearch.RESTRICT_SAFESEARCH,
                             google.search.ImageSearch.SAFESEARCH_OFF);
  
  // Restrict to extra large images only
  profileImg.setRestriction(google.search.ImageSearch.RESTRICT_IMAGESIZE,
                             google.search.ImageSearch.IMAGESIZE_MEDIUM);

  profileImg.setSearchCompleteCallback(this, profsearchComplete, null);

  // setname
  profileImg.execute(gvnames);
}


