function initPage() {
  new AjaxTiny("TopText", { toolbarLocation: 'external' });

  var response = Search.GetCategories();
  if (!checkResponse("GetCategories", response)) return;

  html = "<select id='categoriesDD' ><option value='0'>--V" + unescape('%e4') + "lj kategori--</option>";
  var categories = response.value.split(';');
  for (var i=0; i < categories.length; i++) {
    var category = categories[i].split('|');
    html += "<option value='" + category[0] + "'>" + category[1] + "</option>";
  }
  html += "</select>";
  document.getElementById("categoriessearch").innerHTML = html;
}

function checkResponse(method, response) {
  if (response.error != null) {
    alert("Fel i " + method + ": " + response.error.Message);
    return false;
  }
  return true;
}

function clearCategory(inp) {
//  if (inp.value.length > 0)
//    document.getElementById("categoriesDD").selectedIndex = 0;
}

var marking = false;

function toggleMarking() {
  marking = !marking;
  var col = (marking ? "yellow" : "transparent");
  var sp = document.getElementsByTagName('span');
  for (var i=0; i < sp.length; i++) {
    if (sp[i].className == "searchphrase")
      sp[i].style.backgroundColor = col;
  }
  var img = document.getElementById("toggleMarking");
  if (marking) {
    img.src = "/gfx/unmark.gif";
    img.alt = "Avmarkera sökta ord";
    img.title = "Avmarkera sökta ord";
  }
  else {
    img.src = "/gfx/mark.gif";
    img.alt = "Markera sökta ord";
    img.title = "Markera sökta ord";
  }
}

function getDDVal(id) {
  var dd = document.getElementById(id);
  return dd.options[dd.selectedIndex].value;
}

function startSearch() {
  document.getElementById("articlediv").style.display = "none";
  document.getElementById("toplistdiv").style.display = "none";
  startLengthy("S" + unescape('%f6') + "ker");
  var freetext = document.getElementById("freetext").value;
//  Search.DoSearch(freetext, getDDVal("writersDD"), getDDVal("categoriesDD"), doneSearch);
  Search.DoSearch(freetext, getDDVal("categoriesDD"), doneSearch);
}

function doneSearch(response) {
  if (!checkResponse("DoSearch", response)) return;

  var html = "";
  if (response.value.length > 0) {
    var articles = response.value.split('~');
    html = "<div>S" + unescape('%f6') + "kningen gav " + articles.length + " tr" + unescape('%e4') + "ffar</div>"
    for (var i=0; i < articles.length; i++) {
      var article = articles[i].split('|');
      html += "<div class='headline'><a href='#' onClick='showArticle(\"" + article[1] + "\")'>" + article[2] + "</a></div>";
      html += "<div class='abstract'>" + article[3] + "</div>";
      html += "<div class='rank' style='display:none'>Relevans: " + article[0] + "</div>";
    }
  }
  else {
    html = "<div>S" + unescape('%f6') + "kningen gav inga tr" + unescape('%e4') + "ffar</div>";
  }

  var searchres = document.getElementById("searchres");
  searchres.innerHTML = html;
  searchres.style.display = "block";
  doneLengthy();
}

function showArticle(articleid) {
  startLengthy("H" + unescape('%e4') + "mtar artikel");
  var freetext = document.getElementById("freetext").value;
  Search.GetArticle(articleid, freetext, doneShowArticle);
}
function doneShowArticle(response) {
  if (!checkResponse("GetArticle", response)) return;

  var res = response.value.split('|');
  var articleid = res[0];
  var writername = res[1];
  var issuename = res[2];
  var issuedate = res[3];
  var articletext = res[4];
  var html = "<div id='printheader_art'><img src='gfx/logo.gif' height='70' width='246' alt='Livsmedel i Fokus' /></div>";
  html += "<h3>Livsmedel i Fokus " + issuename + " - Utgivningsdatum: " + issuedate + "</h3>";
  html += "<div style='margin-top:10px;margin-bottom:10px'>" + articletext + "</div>";
  html += "<h3 style='float:right'>F" + unescape('%f6') + "rfattare: " + writername + "</h3>";
  document.getElementById("articlecontent").innerHTML = html;

  document.getElementById("searchres").style.display = "none";
  document.getElementById("articlediv").style.display = "block";
  document.getElementById("toplistdiv").style.display = "block";

  Search.GetTopList(articleid, doneTopList);
}

function doneTopList(response) {
  if (!checkResponse("GetArticle", response)) return;
  if (response.value.length > 0) {
    var articles = response.value.split(';');
    var html = "<ul class='boxlist'>";
    for (var i=0; i < articles.length; i++) {
      var article = articles[i].split('|');
      var href = (article[2] == "Y" ? "/paperarchive.aspx?article=" + article[0] : "javascript:alert(\"Denna artikel kan bara läsas av inloggade prenumeranter.\");");
      html += "<li><b>" + String(i+1) + "</b>&nbsp;<a href='" + href + "'>" + article[1] + "</a></li>";
    }
    html += "</ul>";
    document.getElementById("toplist").innerHTML = html;
  }
  doneLengthy();
}

function closeArticle(artid) {
  document.getElementById("searchres").style.display = "block";
  document.getElementById("articlediv").style.display = "none";
  document.getElementById("toplistdiv").style.display = "none";
}

function hlClose(img, hl) {
  if (hl) img.src = "/gfx/close_over.gif";
  else img.src = "/gfx/close.gif";
}

function startLengthy(txt) {
  var mess = document.getElementById("message");
  mess.innerHTML = txt;
  mess.style.display = "block";
}

function doneLengthy() {
  var mess = document.getElementById("message");
  mess.style.display = "none";
}