
window.onload = function() {
  window.alert = function() { /* silence google */ };
  calvis.ready(main);
}

function main() {
 // var calId = 'developer-calendar@google.com';
  
  calId = jQuery("#feedId").val();

  
  var calendar = new calvis.Calendar();

  // set the CSS IDs for various visual components for the calendar container
  calendar.setCalendarBody('calendarBodyDiv');
  calendar.setNavControl('navControlDiv');
  calendar.setViewControl('viewControlDiv');
  calendar.setStatusControl('statusControlDiv');
  calendar.setEventCallback('click', displayEvent);

  // set the calenar to pull data from this Google Calendar account
  calendar.setPublicCalendar(calId);  

  calendar.setDefaultView('month');
  // display the calendar
  calendar.render();  

  // global lightbox dialog to display event details
  eventWindow = new Widget.Dialog;


}

function displayEvent(event) {  
  var title = event.getTitle().getText();  
  var date = event.getTimes()[0].getStartTime().getDate();
  var endDate = event.getTimes()[0].getEndTime().getDate();
  
  var alkuPva =  date.getDate() +'.' + (date.getMonth()+1) + '.' + date.getFullYear();
  var alkuMin = date.getMinutes();
  if(alkuMin == 0) alkuMin = '00';
  
  var alkuTun = date.getHours() + '';
  if( alkuTun.length == 1) alkuTun = '0'+alkuTun;
  
  var alkuKlo =  alkuTun +'.' + alkuMin;
  
  
  var loppuPva = endDate.getDate() +'.' + (endDate.getMonth()+1) + '.' + endDate.getFullYear();
  var loppuMin = date.getMinutes();
  if(loppuMin == 0) loppuMin = '00';
  var loppuTun = endDate.getHours() + '';
  if( loppuTun.length == 1) loppuTun = '0'+loppuTun;
  
  var loppuKlo =  loppuTun +'.' + loppuMin;
  
  var pvays = '';
  if(alkuPva == loppuPva) pvays = alkuPva +' '+ alkuKlo +' - '+ loppuKlo;
  else pvays = alkuPva +' - '+ loppuPva ;
  
  var content = event.getContent().getText();  
  var location_ = event.getLocations()[0].getValueString().split('@')[0];
  //var eventId = event.id.$t;
  
  var eventHtml = [];
  eventHtml.push('<h1>');
  eventHtml.push(title);
  eventHtml.push('</h1>');
  

  eventHtml.push('<p>');
  eventHtml.push('<label>Milloin </label>');
  eventHtml.push('<span class="kalenteriText">');
  eventHtml.push(pvays);
  eventHtml.push('</span>');
  eventHtml.push('</p>');
  eventHtml.push('<p>');
  eventHtml.push('<label>Kuvaus </label>');
  eventHtml.push('<span class="kalenteriText">');
  eventHtml.push(content);
  eventHtml.push('</span>');
  eventHtml.push('</p>');

  eventHtml.push('<p>');
  eventHtml.push('<label>Missä </label>');
  eventHtml.push(location_);
  
  //  Checks / converts? Sitomo -> Yliopistonkatu 58, TRE
  
  eventHtml.push(' (<a onclick="jQuery(\'#map\').animate({opacity:1, height:\'190px\'}, 250, function() {  }); displayMap(\''+location_+'\'); return false;" href="">Kartta</a>)');
  
  if(location_.toLowerCase().indexOf('yliopistonkatu 58') > -1 ) eventHtml.push ('<span class="sitomo">SITOMO</span>');
  eventHtml.push('</p>');
 
  
  eventHtml.push('<p>');
  eventHtml.push('<a href="ilmoittaudu">Ilmoittaudu &raquo;</a>')
  eventHtml.push('</p>');
  
  eventHtml.push('<div align="center">');
  eventHtml.push('<table>');
  eventHtml.push('<tr>');
  eventHtml.push('<td>');
  eventHtml.push('<div style="border: 1px solid #AAA; opacity:0;  width: 580px; height:0px; " id="map"/>');
  eventHtml.push('</td>');
  eventHtml.push('<td>');
  //eventHtml.push('<div id="video"></div>');
  eventHtml.push('</td>');
  eventHtml.push('</tr>');
  eventHtml.push('</table>');
  eventHtml.push('</div>');
  
  // after this the eventHtml is in the DOM  tree
  eventWindow.alert(eventHtml.join(''));

  //displayMap(location_);
 // displayVideo(title);
}      


function displayMap(location_) {

  var geocoder = new GClientGeocoder();
  geocoder.getLatLng(
    location_,
    function(point) {
      if (point) {        
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.setCenter(point, 13);
        var marker = new GMarker(point);
        map.addOverlay(marker);
		// hide map
		jQuery("#map").hide();
      } else {
        document.getElementById('map').parentNode.removeChild(document.getElementById('map'));
      }
    }
  );
}


function getGeocode(json) {
  var mapData = eval(json);
  console.log(mapData);

  var status = mapData.Status.code;
  console.log(status);
  if (status == '200') {
    var lng = mapData.Placemark[0].Point.coordinates[0];
    var lat = mapData.Placemark[0].Point.coordinates[1];
    console.log(lat + ' ' + lng);

    var point = new GLatLng(lat,lng);
    map.setCenter(point, 13);
    map.addOverlay(new GMarker(point));


  }
}
/*
function displayVideo(title) {

  var keywords = title.replace(/ /g, '+');

  var callbackName = 'processYouTubeFeed';

  var youtubeFeed =
    ['http://gdata.youtube.com/feeds/api/videos?callback=',
    callbackName, '&alt=json-in-script&vq=',
    keywords].join('');

  var script = document.createElement('script');
  script.src = youtubeFeed;

  document.body.appendChild(script);
}

function processYouTubeFeed(feed) {
 
  var data = eval(feed);

  if (data.feed.openSearch$totalResults.$t > 0) {

    var url = data.feed.entry[0].link[0].href;
    var id = url.replace('http://www.youtube.com/watch?v=', '');
    var videoUrl = 'http://www.youtube.com/v/' + id;

    var html = [];

    html.push('<object width="250" height="200">');
    html.push('<param name="movie" value="');
    html.push(videoUrl);
    html.push('"></param>');
    html.push('<param name="wmode" value="transparent"></param>');
    html.push('<embed src="');
    html.push(videoUrl);
    html.push('" type="application/x-shockwave-flash"');
    html.push(' wmode="transparent" width="250" height="200">');
    html.push('</embed></object>');

    document.getElementById('video').innerHTML = html.join('');
  }
}
*/

