﻿var currentSlide = 1;
var numberSlides = 4;
var intervalID;
var goTo;

google.load ('search', '1');

$(document).ready(function () {
  //  Hide all but the first slide
  $("#slide1 ~ div").css ('display', 'none');

  currentSlide = 1;
  
  updateBBCFeed ();
  setInterval ("updateBBCFeed()", 300000);
  intervalID = setInterval ("doTransitions()", 10000);
  
  doGoogleFoo ();
  
  drawBackNextButtons ();
});

//  Checks which buttons are required, and then adds them
function drawBackNextButtons () {
  document.getElementById ('port-navigation').innerHTML = "";
  
  var backIcon = "«";
  var nextIcon = "»";
  
  var nextNeeded = true;
  var backNeeded = true;
  
  if (currentSlide == 1) {
    backNeeded = false;
  } else if (currentSlide == numberSlides) {
    nextNeeded = false;
  }
  
  if (backNeeded) {
    var backa = document.createElement ('span');
    backa.setAttribute ('onclick', 'updateSlides (-1);clearInterval(intervalID);');
    var tempa = document.createTextNode (backIcon + " ");
    backa.appendChild (tempa);
    document.getElementById ('port-navigation').appendChild (backa);
  }
  if (nextNeeded) {
    var nextb = document.createElement ('span');
    nextb.setAttribute ('onclick', 'updateSlides (1);clearInterval(intervalID);');
    var tempb = document.createTextNode (nextIcon);
    nextb.appendChild (tempb);
    document.getElementById ('port-navigation').appendChild (nextb);
  }
  
  return;
}

function updateBBCFeed () {
  document.getElementById ('bbcfeedarea').innerHTML = "";
  $.get("proxy.php?u=http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml", null, function (data, textStatus) {
    var items = data.childNodes[1].childNodes[0];
    if (!items) var items = data.childNodes[2].childNodes[0];
    var ptag;
    var atag;
    var itemtitle;
    for (var i = 9; i <= 18; i++) {
      ptag = document.createElement ('p');
      atag = document.createElement ('a');
      atag.setAttribute ('href', items.childNodes[i].childNodes[2].firstChild.nodeValue);
      itemtitle = document.createTextNode (items.childNodes[i].firstChild.firstChild.nodeValue);
      atag.appendChild (itemtitle);
      ptag.appendChild (atag);
      document.getElementById ('bbcfeedarea').appendChild (ptag);
    }
  }, "xml");
  return;
}

//  Hide the old slide, show the new
function updateSlides (changeSlideTo) {
  $('#slide' + currentSlide).fadeOut(500);
  currentSlide = currentSlide + changeSlideTo;
  setTimeout ("$('#slide' + currentSlide).fadeIn(500)", 500);
  drawBackNextButtons();
}

function doGoogleFoo () {
  doGoogleSearch ();
  doGoogleMaps ();
}

function doGoogleSearch () {
  var searchControl = new google.search.SearchControl();
  searchControl.addSearcher(new google.search.WebSearch());
  searchControl.draw(document.getElementById("googlesearch"));
  searchControl.execute("xkcd");
}

function doGoogleMaps () {
  var latlng = new google.maps.LatLng(52.6298935,-1.1372389);
  var myOptions = {
    zoom: 15,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}

function doTransitions () {
  if (currentSlide == 1) goTo = 1; else if (currentSlide == numberSlides) goTo = -1;
  updateSlides (goTo);
}