function appyControlCufon() {
  Cufon.replace("#eventslisthead");
  Cufon.replace(".weekdiv h3");
  Cufon.replace("#eventcontent h1, #eventcontent h2, #eventcontent h3");
}

function refreshCufonList() {
  Cufon.refresh(".weekdiv h3");
}
function refreshCufonEvent() {
  Cufon.refresh("#eventcontent h1, #eventcontent h2, #eventcontent h3");
}

function initEvents() {
  $("#StartImages").ajaxcontrol({width:350});
  if ($("#Event").length > 0)
    $("#Event, #EventImage").ajaxcontrol({onInitDone:getEvents});
  $("#ev1chb").click(function(){nofev=0; getEvents();});
  $("#ev2chb").click(function(){nofev=0; getEvents();});
}

function openEditEvent(id) {
  Events.GetEvent(id, openEditEvent2);
}

function openEditEvent2(response) {
  $("#eev_id").val(response.value[0]);
  $("#eev_head").val(response.value[1]);
  $("#eev_place").val(response.value[2]);
  $("#eev_start").val(response.value[3]);
  $("#eev_end").val(response.value[4]);
  $("#eev_cat").val(response.value[5]);
  $("#eev_visible").attr("checked", response.value[6] == "y");
  $("#editevent").show("normal");
}

function saveEditEvent() {
  var err = "";
  var head = $('#eev_head').val();
  if (head.length == 0) err += "Händelsen måste ha en rubrik<br />";
  var start = $('#eev_start').val();
  if (start.length == 0) err += "Händelsen måste ha en starttid<br />";
  if (err.length > 0) {
    $('#editeverr').html(err).show('normal');
    setTimeout("$('#editeverr').hide('normal')", 4000);
  }
  else
    Events.SaveEditEvent($('#eev_id').val(), head, $('#eev_place').val(), start, $('#eev_end').val(), $('#eev_cat').val(), $('#eev_visible').attr("checked"), saveEditEvent2);
}

function saveEditEvent2(response) {
  if (response.error) {
    $('#editeverr').html(response.error.Message).show('normal');
    setTimeout("$('#editeverr').hide('normal')", 4000);
  }
  else {
    $('#editevent').hide('normal');
    getEvents();
  }
}

function saveNewEvent() {
  var err = "";
  var head = $('#ev_head').val();
  if (head.length == 0) err += "Händelsen måste ha en rubrik<br />";
  var start = $('#ev_start').val();
  if (start.length == 0) err += "Händelsen måste ha en starttid<br />";
  if (err.length > 0) {
    $('#neweverr').html(err).show('normal');
    setTimeout("$('#neweverr').hide('normal')", 4000);
  }
  else
    Events.SaveNewEvent(head, $('#ev_place').val(), start, $('#ev_end').val(), $('#ev_cat').val(), saveNewEvent2);
}

function saveNewEvent2(response) {
  if (response.error) {
    $('#neweverr').html(response.error.Message).show('normal');
    setTimeout("$('#neweverr').hide('normal')", 4000);
  }
  else {
    $('#newevent').hide('normal');
    getEvents();
  }
}

var startdate = new Date();
var lastdate = new Date();
lastdate = lastdate.add("d", 7);
var selevent = "";
var nofev = 0;

function getMoreEvents(newlast) {
  var datevals = newlast.split('-');
  var adate = new Date(parseInt(datevals[0]), parseInt(datevals[1]-1), parseInt(datevals[2]));
  lastdate = adate.add("d", 7);
  getEvents();
}

function getEarlierEvents() {
  startdate = startdate.add('d', -7);
  getEvents()
}

function getEvents() {
  Events.GetEvents(startdate, lastdate, nofev, $("#ev1chb").attr("checked"), $("#ev2chb").attr("checked"), getEvents2);
}

function getEvents2(response) {
  var html = "";
  var weekstr = "";
  var selvals = {
    contpropid:0,
    imgpropid:0,
    head:"",
    time:""
  };
  nofev = (response.value ? response.value.length : 0);
  for (var i=0; i < nofev; i++) {
    var evid = response.value[i][0];
    var head = response.value[i][3];
    var timeplace = response.value[i][2] + " | " + response.value[i][4];
    var imgpropid = parseInt(response.value[i][5]);
    var contpropid = parseInt(response.value[i][6]);

    if (response.value[i][1] != weekstr) {
      weekstr = response.value[i][1];
      html += "<div class='weekdiv'><h3>" + weekstr + "</h3></div>";
    }
    var li = (response.value[i][7] == "y");
    var vis = (response.value[i][8] == "y");
    var editsnip = "&nbsp;&nbsp;<a href='javascript:void(0)' onclick=\"openEditEvent('" + evid + "')\" onfocus='this.blur()'><img src='admin/gfx/edit.gif' alt='Redigera händelse' border='0' /></a>&nbsp;&nbsp;<a href='javascript:void(0)' onclick=\"deleteEvent('" + evid + "')\" onfocus='this.blur()'><img src='admin/gfx/delete.gif' alt='Ta bort händelse' border='0' /></a>";
    html += "<div class='oneevent " + (vis ? "" : "invisevent") + "'>";
    html += "<div class='hl' style='display:none'>" + head + (li ? editsnip : "") + "</div>";
    html += "<div class='ahl' style='display:block'><a href='javascript:void(0)' onclick=\"showEvent(this, '" + head + "', '" + timeplace + "','" + evid + "', " + contpropid + ", " + imgpropid + ")\" onfocus='this.blur()'>" + head + "</a>" + (li ? editsnip : "") + "</div>";
    html += "<div>" + timeplace +  "</div></div>";
  }
  var prevhtml = "";
  if (nofev > 0 && _loggedin)
    prevhtml = "<a href='javascript:void(0)' onclick='getEarlierEvents()' onfocus='this.blur()'>Tidigare händelser</a>&nbsp;&nbsp;&nbsp;&nbsp;";
  var laterhtml = "";
  if (nofev > 0 && response.value[0][9] == "y")
    laterhtml = "<a href='javascript:void(0)' onclick='getMoreEvents(\"" + response.value[0][10] + "\")' onfocus='this.blur()'>Fler händelser</a>";

  $("#eventslist").html(html);
  $("#eventfooter").html(prevhtml + laterhtml);
  refreshCufonList();
}

var eventprops = 0;
function showEvent(a, head, timeplace, evid, contpropid, imgpropid) {
  $("#StartImages").hide();
  eventprops = 0;
  $("#eventcontent").hide();;
  selevent = evid;
  if (a) {
    $("div.hl").css("display","none");
    $("div.ahl").css("display","block");
    $(a).parent().css("display","none");
    $(a).parent().prev().css("display","block");
  }
  $("#EventImage").ajaxcontrol_setPropertyId(imgpropid, showEvent2);
  $("#eventhead").html("<h3>" + head + "</h3>" + timeplace);
  $("#Event").ajaxcontrol_setPropertyId(contpropid, showEvent2);
  if (a) pageTracker._trackPageview('/Event/' + evid + '.aspx');
}
function showEvent2() {
  eventprops++;
  if (eventprops == 2) showEvent3();
}
function showEvent3() {
  $("#eventcontent").show();;
  if (!_loggedin) refreshCufonEvent();

  var top = $('#eventcontent').offset().top;
  var stop = $(window).scrollTop();
  if (stop > top)
    $('html, body').animate({scrollTop:top}, 500);
}

function deleteEvent(id) {
  if (confirm("Är du säker på att du vill ta bort händelsen?"))
    Events.DeleteEvent(id, deleteEvent2);
}
function deleteEvent2(response) {
  getEvents();
}

function cal_onChange(cal, adate) {
  cal.sel.value = adate;
}

function show_cal(a) {
  showCalendar(a.previousSibling.previousSibling, a, true, cal_onChange);
}
