
// Delete news Yes/No
function YesNo(src) {
  var ans;
  if (src == "news") {
    ans = confirm("Radera nyheten?");
  } else if (src == "sticky") {
    ans = confirm("Ta bort nyheten som sticky?");
  }
  if (ans == true) {
    return true;
  } else {
    return false;
  }
}

// Check sticky date if activated
function ValidateSticky(doc) {
  var news  = doc.news;
  var now   = new Date;
  var yyyy  = now.getFullYear();
  var mm    = now.getMonth()+1;
  var dd    = now.getDate();
  var nono  = false;

  if (news.sticky_date_active.checked) {
    var val_yyyy = news.sticky_date_yyyy.value;
    var val_mm   = news.sticky_date_mm.value;
    var val_dd   = news.sticky_date_dd.value;

    if (val_yyyy < yyyy) {
      nono = true;
    } else if (val_yyyy == yyyy) {
      if (val_mm < mm) {
        nono = true;
      } else if (val_mm == mm) {
        if (val_dd <= dd) {
          nono = true;
        }
      }
    }
    if (nono == true) {
      alert("Förfallodatumet måste vara i framtiden (" + val_dd + "/" + val_mm + "/" + val_yyyy + ")");
      news.sticky_date_dd.focus();
      return false;
    }
  }
  return true;
}

// Validate news form
function ValidateNewsForm(doc) {
  var news  = doc.news;
  var now   = new Date;
  var yyyy  = now.getFullYear();
  var mm    = now.getMonth()+1;
  var dd    = now.getDate();
  var nono  = false;
  var s     = new String();
  var s1    = new String();
  var s2    = new String();
  var ans   = false;
  var len   = 0;
  var count = 0;

  // Check valid date if activated
  if (news.valid_active.checked) {
    var val_yyyy = news.valid_date_yyyy.value;
    var val_mm   = news.valid_date_mm.value;
    var val_dd   = news.valid_date_dd.value;

    if (val_yyyy < yyyy) {
      nono = true;
    } else if (val_yyyy == yyyy) {
      if (val_mm < mm) {
        nono = true;
      } else if (val_mm == mm) {
        if (val_dd <= dd) {
          nono = true;
        }
      }
    }
    if (nono == true) {
      alert("Förfallodatumet måste vara i framtiden (" + val_dd + "/" + val_mm + "/" + val_yyyy + ")");
      news.valid_date_dd.focus();
      return false;
    }
  }

  // Check title
  if (Trim(news.title.value).length == 0) {
    alert("En Titel måste anges");
    news.title.focus();
    return false;
  }

  // Check text (only mandatory if picture exist)
  if (Trim(news.text.value).length == 0 && Trim(news.picture.value).length > 0) {
    alert("En Text måste anges då en bild är vald");
    news.text.focus();
    return false;
  }

  // Check picture type
  if (CheckPicType(news,"picture","bilden") == false) {
    return false;
  }

  // Check extern and intern links not empty
  if (Trim(news.link_ext_txt.value).length == 7 && 
      Trim(news.link_int_txt.value).length == 0 && 
      news.link_art_id.value == 0 &&
      news.link_int_id.value == 0) {
      alert("Ett av länkalternativen måste anges");
      news.link_ext_txt.focus();
      return false;
  }

  // Check that only one link is entered
  if (Trim(news.link_ext_txt.value).length != 7) {
    count++;
  }
  if (Trim(news.link_int_txt.value).length > 0) {
    count++;
  }
  if (news.link_art_id.value > 0) {
    count++;
  }
  if (news.link_int_id.value > 0) {
    count++;
  }
  if (count > 1) {
    alert("Bara ett av länkalternativen får anges");
    news.link_ext_txt.focus();
    return false;
  }

  // Check extern link
  if ((Trim(news.link_ext_txt.value).substring(0,7)).toUpperCase() != "HTTP://") {
    alert("Den externa länken måste börja på http://");
    news.link_ext_txt.focus();
    return false;
  }

  // Check article link status if article link not selected
  if (news.link_art_id.value == 0 && news.link_art_status.checked) {
    alert("Artikelns status kan bara väljas om en artikel är vald");
    news.link_art_id.focus();
    return false;
  }

  return true;
}

function LTrim(str) {
  for (var i=0; str.charAt(i)==" "; i++);
  return str.substring(i,str.length);
}

function RTrim(str) {
  for (var i=str.length-1; str.charAt(i)==" "; i--);
  return str.substring(0,i+1);
}

function Trim(str) {
  return LTrim(RTrim(str));
}

function CheckPicType(art,field,desc) {
  var str = new String();
  var len = 0;
  var sts = true;

  str = eval("news." + field + ".value");
  str = Trim(str);
  len = str.length;

  if (len > 4) {
    str = str.substring((len-3),len);
    if (str.toUpperCase() != "JPG") {
      sts = false;
    }
  } else if (len > 0) {
    sts = false;
  }
  if (sts == false) {
    alert("Formatet på " + desc + " måste vara JPG");
    eval("news." + field + ".focus()");
  }
  return sts;
}

