function go(url) {
  if (url) {
    window.location.assign(url);
  }
}

function wopen(url, w, h) {
  if (!url) {
    return false;
  }
  var sw = screen.width;
  if (sw >= 1024) {
    h = h + 150;
  }
  var left = Math.round((screen.width - w)/2);
  var top = Math.round((screen.height - h)/2);
  window.open(url, "_blank", "toolbar=0,scrollbars=1,resizable=1,width="+w+",height="+h+",left="+left+",top="+top);
  return false; 
}

function check_email(str) {
  if (!str.length) {
    return false;
  }
  var r = /^[._a-z0-9-]+@[._a-z0-9-]+\.[a-z]{2,4}$/i;
  if (!r.test(str)) {
    return false;
  }
  return true;
}

function loadCategoryList(level, parent, start) {
  if (1 == level) {
    disableCategory(2);
    disableCategory(3);
  }
  if (0 == parent && level != 0) {
    var e = $("#category-level-" + level + " select");
    e.empty();
    $("<option value='0'> &nbsp; </option>").appendTo(e);

  } else if (CAT[parent] && CAT[parent].length) {
    enableCategory(level);

    var e = $("#category-level-" + level + " select");
    e.empty();
    $("<option value='0'> &nbsp; </option>").appendTo(e);
    for (var i in CAT[parent]) {
      $("<option value='" + i + "'>" + CAT[parent][i] + "</option>").appendTo(e);
    }
    if (DSK_preselected && DSK_preselected[level]) {
      $(e).val(DSK_preselected[level]);
    }
    if (0 == level) {
      loadCategoryList(1, e.val(), start);
    } else if (1 == level) {
      loadCategoryList(2, e.val(), start);
    } else if (2 == level) {
      loadCategoryList(3, e.val(), start);
    }

  } else {
    if (2 == level) {
      disableCategory(2);
      disableCategory(3);
    } else if (3 == level) {
      disableCategory(3);
    }
  }
  if (0 == level && 1 != start) {
    disableCategory(2);
    disableCategory(3);
  }
  return true;
}

function disableCategory(level) {
  $("#category-level-" + level).css("visibility", "hidden");
  if (2 == level) {
    $("#hassub2").val(0);
  } else if (3 == level) {
    $("#hassub3").val(0);
  }
}

function enableCategory(level) {
  $("#category-level-" + level).css("visibility", "visible");
  if (2 == level) {
    $("#hassub2").val(1);
  } else if (3 == level) {
    $("#hassub3").val(1);
  }
}

function checkCategory() {
  if ($("#category-level-0 select").val() < 1) {
    alert(WERR1);
    return false;
  } else if ($("#category-level-1 select").val() < 1) {
    alert(WERR2);
    return false;
  } else if (1 == $("#hassub2").val() && $("#category-level-2 select").val() < 1) {
    alert(WERR3);
    return false;
  } else if (1 == $("#hassub3").val() && $("#category-level-3 select").val() < 1) {
    alert(WERR3);
    return false;
  } else {
    if (1 == $("#hassub3").val()) {
      $("#cid").val($("#category-level-3 select").val());
    } else if (1 == $("#hassub2").val()) {
      $("#cid").val($("#category-level-2 select").val());
    } else {
      $("#cid").val($("#category-level-1 select").val());
    }
    return true;
  }
  return false;
}

function loadRegions(id, sid) {
  if (!id) {
    $("#rajon-add").hide();
    return;
  }
  if (SRID && SRID[id] && SRID[id].length) {
    $("#rajon-add").show();
  
    var e = $("#rajon-add select");
    e.empty();
    $("<option value='0'>&nbsp;</option>").appendTo(e);

    for (var i in SRID[id]) {
      var sel = (sid == i) ? "selected='true'" : "";
      $("<option value='" + i + "' " + sel + ">" + SRID[id][i] + "</option>").appendTo(e);
    }

  } else {
    $("#rajon-add").hide();
  }
}

function updateColorMask(id, val) {
  var e = $("#colormask-" + id);
  if (e) {
    if (COLORS && COLORS[val]) {
      e.css("background-color", COLORS[val]);
    } else {
      e.css("background-color", "#fff");
    }
  }
}

function addToMessage() {
  if (!OPTDATA) {
    return;
  }  var text = "";
  for (i in OPTDATA) {
    if ($("#opt"+i) && $("#opt"+i).val()) {
      if (OPTDATA[i][$("#opt"+i).val()]) {
        text += OPTDATA[i][$("#opt"+i).val()]+", ";
      }
    } else {
      for (j in OPTDATA[i]) {
        if ("checkbox" == $("#opt"+i+"_"+j).attr("type") && true == $("#opt"+i+"_"+j).attr("checked")) {
          text += OPTDATA[i][j]+", ";
        }
      }
    }
  }
  var e = $("#msgtext");
  e.empty();
  e.val(text.toLowerCase());}

function addToCollection(o) {
  var selmsg = $.cookie("msg");
  if (selmsg) {
    selmsg = selmsg.split(" ");
  } else {
    selmsg = [];
  }
  if ('' == selmsg[0]) {
    selmsg.splice(0, 1);
  }
  if ("number" != typeof(o)) {
    if ($(o).attr("checked") == true) {
      var has = false;
      for (i in selmsg) {
        if (selmsg[i] == $(o).val()) {
          has = true;
        }
      }
      if (false == has) {
        selmsg[selmsg.length] = $(o).val();
      }
    } else {
      for (i in selmsg) {
        if (selmsg[i] == $(o).val()) {
          selmsg.splice(i, 1);
          break;
        }
      }
    }
  } else {
    var has = false;
    for (i in selmsg) {
      if (selmsg[i] == o) {
        has = true;
      }
    }    if (false == has) {
      selmsg[selmsg.length] = o;
    }
  }
  $.cookie("msg", selmsg.join(' '), {expires: 1, path: "/"});
}

function presetCollection() {
  var selmsg = $.cookie("msg")
  if (selmsg) {
    selmsg = selmsg.split(" ");
  } else {
    selmsg = [];
  }
  if ('' == selmsg[0]) {
    selmsg.splice(0, 1);
  }
  if (selmsg.length < 1) {
    return;
  }
  for (i in selmsg) {
    $("#mid" + selmsg[i]).attr("checked", true);
  }
}

function clearSelection() {
  if (confirm(WC1)) {
    $.cookie("msg", "", {expires: -1, path: "/"});
    window.location.reload();
  }
  return false;
}

function searchFormCheck() {
  if ($("#level0").size()) {
    if (0 == $("#level0").val()) {
      alert(WERR1);
      return false;
    }
    if (0 == $("#level1").val()) {
      alert(WERR2);
      return false;
    }
  }
  return true;
}

function passFormCheck(f) {
  if (!$(f.oldpass).val()) {
    alert(WERR1);
    return false;
  }
  if (!$(f.newpass).val() || !$(f.newpass2).val()) {
    alert(WERR2);
    return false;
  }
  if ($(f.newpass2).val() != $(f.newpass).val()) {
    alert(WERR3);
    return false;
  }
  return true;
}

function profileFormCheck(f) {
  if (!$(f.name).val()) {
    alert(WERR1);
    return false;
  }
  if (!$(f.sname).val()) {
    alert(WERR2);
    return false;
  }
  if (!$(f.email).val()) {
    alert(WERR3);
    return false;
  }
  return true;
}

function feedbackFormCheck(f) {
  if (!$.trim($(f.email).val())) {
    alert(WERR1);
    return false;
  }
  if (!$.trim($(f.message).val())) {
    alert(WERR1);
    return false;
  }
  return true;
}

function regFormCheck(f) {
  if (!$.trim($(f.name).val())) {
    alert(WERR1);
    return false;
  }
  if (!$.trim($(f.sname).val())) {
    alert(WERR1);
    return false;
  }
  if (!$.trim($(f.phone).val())) {
    alert(WERR1);
    return false;
  }
  if (!$.trim($(f.email).val())) {
    alert(WERR1);
    return false;
  }
  var c = /[^a-zA-Z0-9]/;
  if (!$.trim($(f.login).val()) || c.test($(f.login).val())) {
    alert(WERR1);
    return false;
  }
  return true;
}

