function Date_getDay(ms){
  return Math.round(ms / 86400000);
}
function Date_parse(str){
  if(/*@cc_on !@*/0){//IE
    var d = str.split("-");
    str = [d[1], d[2], d[0]].join("/");
  }
  return Date.parse(str);
}
google.load("jquery", "1");
google.load("jqueryui", "1");
google.load("swfobject", "2");
google.setOnLoadCallback(function(){

  $.getJSON("http://www.google.com/calendar/feeds/a03ovh2e9ep9md039ot1clspt8%40group.calendar.google.com/public/full?alt=jsonc&singleevents=true&callback=?", function(result){
    var dates = {};
    var items = result.data.totalResults?result.data.items:[];
    for(var i=0; i<items.length; i++){
      var item = items[i];
      var days = Date_getDay(Date_parse(item.when[0].start.substring(0,10)));
      dates[days] = item;
    }
    
    $("#calendar").datepicker({
      onSelect: function(date){
        var time = Date_getDay(Date_parse(date));
        var event = dates[time];
        if(!$("#calendar-dialog").length){
          $("<div/>")
            .attr("id", "calendar-dialog")
            .addClass("hide")
            .appendTo("body");
        }
        var content = [];
        var date_time = event.when[0].start.substring(0, 19).replace(/-/g, "/").replace("T", " at ");
        content.push("On "+date_time);
        content.push(event.details);
        $("#calendar-dialog").html(content.join("<br/><br/>")).dialog({
          title: event.title,
          modal: true,
          width: 400
        });
      },
      beforeShowDay: function(date){
        return [Date_getDay(date.getTime()) in dates]; 
      }
    });
  });

  $("#hiv-more-link").click(function(){
    $("#hiv-more").slideDown();
    $(this).remove();
    return false;
  });
  
  if($("#contact-map").length){
    google.load("maps", "3",  {other_params:"sensor=false", callback: function(){
      var map = new google.maps.Map(document.getElementById("contact-map"), {
        zoom: 17,
        center: new google.maps.LatLng(40.007919, -83.009273),
        mapTypeId: google.maps.MapTypeId.ROADMAP
      });
      var marker = new google.maps.Marker({
        position: map.getCenter(), 
        map: map
      });
      var address = "2231 North High Street, Columbus, OH 43201";
      var info_window = new google.maps.InfoWindow({
        content: [
          "<strong>Columbus Free Clinic</strong>",
          "<div>"+address+"</div>",
          "<a href='http://maps.google.com/maps?daddr="+encodeURIComponent(address)+"' target='_blank'>Direction To Here</a>"
        ].join("")
      });
      google.maps.event.addListener(marker, "click", function() {
        info_window.open(map, marker);
      });
      google.maps.event.addListener(map, "click", function() {
        info_window.close();
      });
    }});
  }
  
  if($("#media").length){
    $.getJSON("http://gdata.youtube.com/feeds/api/videos?author=columbusfreeclinic&alt=jsonc&v=2&orderby=published&max-results=5&callback=?", function(result){
      var videos = result.data.items;
      var media = $("#media");
      for(var i=0; i<videos.length; i++){
        var video = videos[i];
        var id = "video-"+video.id;
        var wrapper = $("<div/>").attr("id", id).addClass("video");
        $("<h3/>").text(video.title).appendTo(wrapper);
        var video_container = $("<div/>").attr("id", id+"-container").appendTo(wrapper);
        $("<p/>").text(video.description).appendTo(wrapper);
        wrapper.appendTo(media);
        swfobject.embedSWF("http://www.youtube.com/v/"+video.id, id+"-container", "600", "390", "9.0.0");
      }
    });
  }
});
