function ShowInfoBox(strUrl, blnNoModal)
{
  if (!blnNoModal && window.showModalDialog)
  {
    var strFeatures = "center: yes; dialogWidth: 400px; dialogHeight: 350px; help: no; status: no; scroll: no";
    var objUser = window.showModalDialog(strUrl, window, strFeatures);
  }
  else
  {
    var intWidth = 400;
    var intHeight = 350;

    // Sjekker om vinduet er større enn skjermen (20 -> ie vindufeil)
    if (intWidth + 20 > screen.availWidth) intWidth = screen.availWidth - 20;
    if (intHeight + 20 > screen.availHeight) intHeight = screen.availHeight - 20;

    // Beregn hjelpevinduets optimale posisjon
    var intX = top.document.body.offsetWidth / 2 - intWidth / 2;
    var intY = top.document.body.offsetHeight / 2 - intHeight / 2;

    // Sjekk at vinduet ikke plasseres utenfor skjermen
    if (intX + intWidth + 20 > screen.availWidth) intX = screen.availWidth - intWidth - 20;
    if (intY + intHeight + 20 > screen.availHeight) intY = screen.availHeight - intHeight - 20;
    if (intX < 0) intX = 0;
    if (intY < 0) intY = 0;

    //Oppretter vindu, setter plassering og størrelse og riktig adresse
    var strSettings = "width=" + intWidth + ", height=" + intHeight + ", left=" + intX + ", top=" + intY + ", toolbar=no, fullscreen=no, location=no, status=no, menubar=no, resizable=yes, scrollbars=no";
    windowInfo = window.open(strUrl, "infoWin", strSettings);
  }
}

function SendQuestion()
{
  var strMessage = "";
  // Sjekker at nødvendige felter er fylt ut
  if (document.forms[0].wwq_QName.value == "")
    strMessage = "Du må fylle ut feltet Navn!\n";
  if ((document.forms[0].wwq_QPhone.value == "") && (document.forms[0].wwq_QMail.value == ""))
    strMessage += "Du må fylle ut ett av feltene Telefon og E-post!\n";
  if (document.forms[0].wwq_CategoryId.value == "0")
    strMessage += "Du må velge tema!\n";
  if (document.forms[0].wwq_Question.value == "")
    strMessage += "Du må fylle ut informasjon om hva forespørselen gjelder!";
  if (strMessage != "")
  {
    alert(strMessage);
    return false;
  }
  // Fyller ut tittel for melding
  Dato = new Date();
  document.forms[0].wwq_Title.value = "Melding fra " + document.forms[0].wwq_QName.value + ", " + Dato.getDate() + "." + Dato.getMonth() + "." + Dato.getFullYear();
  return true;
}

function MonthLength(intMonth, intYear)
{
  // Sjekk måneder med 30 dager
  if ( (intMonth == 4) || (intMonth == 6) || (intMonth == 9) || (intMonth == 11) )
    return 30;

  // Sjekk om februar har et skuddår - alle år delbar på 4, bortsett fra de delelig på 100 (men IKKE 400)
  if (intMonth == 2)
  {
    var leapyear = false;
    if ( (Math.floor(intYear/4) == (intYear/4)) &&
        ((Math.floor(intYear/100) != (intYear/100)) || (Math.floor(intYear/400) == (intYear/400))) )
      return 29;

    return 28;
  }

  return 31;
}

function CheckDate(elDate)
{
  if (!elDate) elDate = this;

  var strInput = new String(elDate.value);

  if (strInput == "") return true;

  // Gjør om alle kjente typer separatorer
  strInput = strInput.replace(new RegExp(",", "g"), ".");
  strInput = strInput.replace(new RegExp(";", "g"), ".");
  strInput = strInput.replace(new RegExp(":", "g"), ".");
  strInput = strInput.replace(new RegExp(" ", "g"), ".");
  strInput = strInput.replace(new RegExp("-", "g"), ".");
  strInput = strInput.replace(new RegExp("_", "g"), ".");
  strInput = strInput.replace(new RegExp("/", "g"), ".");
  strInput = strInput.replace(new RegExp("\\\\", "g"), ".");

  // Splitt teksten på separatorer
  var arParts = strInput.split(".");

  // Dato på formen ddmm
  if (arParts.length == 1 && strInput.length == 4)
  {
    arParts[0] = strInput.substring(0, 2);
    arParts[1] = strInput.substring(2, 4);
    arParts[2] = "";
  }

  // Dato på formen ddmmåå
  if (arParts.length == 1 && strInput.length == 6)
  {
    arParts[0] = strInput.substring(0, 2);
    arParts[1] = strInput.substring(2, 4);
    arParts[2] = strInput.substring(4, 6);
  }

  // Dato på formen ddmmåååå
  if (arParts.length == 1 && strInput.length == 8)
  {
    arParts[0] = strInput.substring(0, 2);
    arParts[1] = strInput.substring(2, 4);
    arParts[2] = strInput.substring(4, 8);
  }

  // Finn gjeldende dato
  var today = new Date();
  var dateNow = today.getDate();
  var monthNow = today.getMonth() + 1;
  var yearNow = today.getYear();
  yearNow = new String(yearNow);

  // Gjør om dag til tall
  var date = parseInt(arParts[0], 10);
  if (isNaN(date)) date = dateNow;

  // Gjør om måned til tall
  var month = parseInt(arParts[1], 10);
  if (isNaN(month)) month = monthNow;

  // Gjør om år til tall
  var year = parseInt(arParts[2], 10);
  if (isNaN(year)) year = yearNow;

  if (date < 1) date = 1;
  if (date > 31) date = 31;
  if (month < 1) month = 1;
  if (month > 12) month = 12;
  if (year < 0) year = today.getYear();

  // Tar hensyn til ulik lengde på månedene (f.eks 30.02.2006 -> 28.02.2006)
  var monthlen = MonthLength(month, year);
  if (date > monthlen) date = monthlen;

  // Gjør om alle tall til tekster
  date = new String(date);
  month = new String(month);
  year = new String(year);

  // Korriger lengde på tall (foranstilte nuller)
  while (date.length < 2) date = "0" + date;
  while (month.length < 2) month = "0" + month;
  if (year.length < 4) year = yearNow.substring(0, 4 - year.length) + year;

  // Erstatt original verdi
  elDate.value = date + "." + month + "." + year;

  return true;
}

function CheckTime(elTime)
{
  var strInput = new String(elTime.value);

  if (strInput == "") return true;

  // Gjør om alle kjente typer separatorer
  strInput = strInput.replace(new RegExp(",", "g"), ".");
  strInput = strInput.replace(new RegExp(";", "g"), ".");
  strInput = strInput.replace(new RegExp(":", "g"), ".");
  strInput = strInput.replace(new RegExp(" ", "g"), ".");
  strInput = strInput.replace(new RegExp("-", "g"), ".");
  strInput = strInput.replace(new RegExp("_", "g"), ".");
  strInput = strInput.replace(new RegExp("/", "g"), ".");
  strInput = strInput.replace(new RegExp("\\\\", "g"), ".");

  // Splitt teksten på separatorer
  var arParts = strInput.split(".");

  // Tid på formen t/tt
  if (arParts.length == 1 && strInput.length < 3 && strInput.length > 0)
  {
    arParts[0] = strInput;
    arParts[1] = "";
  }

  // Tid på formen tmm
  if (arParts.length == 1 && strInput.length == 3)
  {
    arParts[0] = strInput.substring(0, 1);
    arParts[1] = strInput.substring(1, 3);
  }

  // Tid på formen ttmm
  if (arParts.length == 1 && strInput.length == 4)
  {
    arParts[0] = strInput.substring(0, 2);
    arParts[1] = strInput.substring(2, 4);
  }

  // Gjør om time til tall
  var hour = parseInt(arParts[0], 10);
  if (isNaN(hour)) hour = 0;

  // Gjør om minutt til tall
  var minute = parseInt(arParts[1], 10);
  if (isNaN(minute)) minute = 0;

  // Korrigere time
  if (hour < 0) hour = 0;
  if (hour > 23) hour = 23;

  // Korrigere minutt
  if (minute < 0) minute = 0;
  if (minute > 59) minute = 59;

  // Gjør om alle tall til tekster
  hour = new String(hour);
  minute = new String(minute);

  // Korriger lengde på tall
  while (hour.length < 2) hour = "0" + hour;
  while (minute.length < 2) minute = "0" + minute;

  // Erstatt original verdi
  elTime.value = hour + "." + minute;

  return true;
}
