
// Show image
function show_image(url)
{
  var content = '<a href="javascript:JSPcloseWindow(\'image_block\')" id="image_block_content" title="Закрыть"></a>';
  JSPopenWindow("image_block", content, 250, 10);

  document.getElementById("image_block").style.display = "none";

  simpleRequest("/show_image.php", {url:url});
}

// Filter for symbols at time of typing
// Always allows digits and main control keys
// "allowedSymbols" must be string
function checkSymbols(event, allowedSymbols)
{
  if (!allowedSymbols) allowedSymbols = '';
  tmp = allowedSymbols;
  allowedSymbols = new Array();
  for (i=0;i<tmp.length;i++) allowedSymbols[i] = tmp.charCodeAt(i).toString();

  if (navigator.userAgent.match(/gecko/i)) {
    // Allows "allowedSymbols", digits, "backspace", "delete" and horizontal arrows
    allowedSymbols = allowedSymbols.concat(Array('47','48','49','50','51','52','53','54','55','56','57','8','46','37','39'));
    if (allowedSymbols.indexOf(event.charCode.toString())==-1 && allowedSymbols.indexOf(event.keyCode.toString())==-1) {
      event.preventDefault();
    }
  } else {
    allowedSymbols = allowedSymbols.concat(Array('48','49','50','51','52','53','54','55','56','57'));
    var found = false;
    for (i=0;i<allowedSymbols.length;i++) if (allowedSymbols[i] == event.keyCode) found = true;
    if (!found) event.returnValue=false
  }
}

// Checks an e-mail (unoriginal, modified)
function checkEmail(str) {
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
    res =  (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  else
    var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
    var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
    res = (!r1.test(str) && r2.test(str));
  if (res) return false;
  else {
    alert('E-mail некорректный');
    return true;
  }
} 

// Checks phone fields
function checkPhone(id)
{
  if (document.getElementById("phone_"+id).value.length != 0) {
    if (document.getElementById("phone_"+id+"_code").value.length < 1) {
      alert('Не выбран телефонный код');
      return 1;
    } 
    if (document.getElementById("phone_"+id+"_code").value.length == 4) {
      if (document.getElementById("phone_"+id).value.length != 6) {
        alert('Длина в поле телефона некорректна');
        return 2;
      }
    } else {
      if (document.getElementById("phone_"+id).value.length != 7) {
        alert('Длина в поле телефона некорректна');
        return 2;
      }
    }
  }
  return 0;
}

// Checks a phones (phones w/o codes and on the contrary)
function checkPhones()
{
  if ((document.getElementById("phone_1_code").selectedIndex==0 && document.getElementById("phone_1").value!='') ||
    (document.getElementById("phone_2_code").selectedIndex==0 && document.getElementById("phone_2").value!='') ||
    (document.getElementById("phone_3_code").selectedIndex==0 && document.getElementById("phone_3").value!='') ||
    (document.getElementById("phone_1_code").selectedIndex!=0 && document.getElementById("phone_1").value=='') ||
    (document.getElementById("phone_2_code").selectedIndex!=0 && document.getElementById("phone_2").value=='') ||
    (document.getElementById("phone_3_code").selectedIndex!=0 && document.getElementById("phone_3").value=='')
    ) {
    alert('Неверный формат телефона! Возможно, не указан код телефона.');
    return false;
  } else return true;
}

// Checks phones and e-mail for duplicating with other accounts
// "where_check" is bit map, bits: users, agents, graylist
function check_account(only_phones, where_check)
{
  if (!where_check) where_check = '100';
  if (!only_phones) email = document.getElementById("email").value;
  phone_1 = document.getElementById("phone_1_code").value + document.getElementById("phone_1").value;
  phone_2 = document.getElementById("phone_2_code").value + document.getElementById("phone_2").value;
  phone_3 = document.getElementById("phone_3_code").value + document.getElementById("phone_3").value;
  if (!only_phones) simpleRequest("check_account.php", {email:email,phone_1:phone_1,phone_2:phone_2,phone_3:phone_3,where_check:where_check});
  else simpleRequest("check_account.php", {phone_1:phone_1,phone_2:phone_2,phone_3:phone_3,only_phones:1,where_check:where_check});
}

// Switch additional fields at adding of notice
function check_deal_type()
{
  if (document.getElementById("deal_type").value=="1" || document.getElementById("deal_type").value=="3") {
    if (navigator.userAgent.match(/gecko/i)) {
      document.getElementById("furniture").style.display = "table-row";
      document.getElementById("pay_period").style.display = "table-row";
      document.getElementById("lease_term_block").style.display = "table-row";
    } else {
      document.getElementById("furniture").style.display = "block";
      document.getElementById("pay_period").style.display = "block";
      document.getElementById("lease_term_block").style.display = "block";
    }
  } else {
    document.getElementById("furniture").style.display = "none";
    document.getElementById("pay_period").style.display = "none";
    document.getElementById("lease_term_block").style.display = "none";
  }
  // Short forms
  if (document.getElementById("deal_type").value=="0" || document.getElementById("deal_type").value=="1") {
    if (navigator.userAgent.match(/gecko/i)) {
      document.getElementById("hiddable_block_1").style.display = "table-row";
      document.getElementById("hiddable_block_8").style.display = "table-row";
      document.getElementById("hiddable_block_2").style.display = "table-row";
      document.getElementById("hiddable_block_3").style.display = "table-row";
      if (document.getElementById("hiddable_block_9") != null)
        document.getElementById("hiddable_block_9").style.display = "table-row";
      document.getElementById("hiddable_block_4").style.display = "table-row";
      document.getElementById("hiddable_block_5").style.display = "table-row";
      document.getElementById("hiddable_block_6").style.display = "table-row";
      if (document.getElementById("deal_type").value=="1") document.getElementById("pay_period").style.display = "table-row";
      document.getElementById("hiddable_block_7a").style.display = "table-cell";
      document.getElementById("hiddable_block_7b").style.display = "table-cell";
    } else {
      document.getElementById("hiddable_block_1").style.display = "block";
      document.getElementById("hiddable_block_8").style.display = "block";
      document.getElementById("hiddable_block_2").style.display = "block";
      document.getElementById("hiddable_block_3").style.display = "block";
      if (document.getElementById("hiddable_block_9") != null)
        document.getElementById("hiddable_block_9").style.display = "block";
      document.getElementById("hiddable_block_4").style.display = "block";
      document.getElementById("hiddable_block_5").style.display = "block";
      if (document.getElementById("deal_type").value=="1") document.getElementById("pay_period").style.display = "block";
      document.getElementById("hiddable_block_7a").style.display = "block";
      document.getElementById("hiddable_block_7b").style.display = "block";
    }
  } else {
      document.getElementById("hiddable_block_1").style.display = "none";
      document.getElementById("hiddable_block_8").style.display = "none";
      document.getElementById("hiddable_block_2").style.display = "none";
      document.getElementById("hiddable_block_3").style.display = "none";
      if (document.getElementById("hiddable_block_9") != null)
        document.getElementById("hiddable_block_9").style.display = "none";
      document.getElementById("hiddable_block_4").style.display = "none";
      document.getElementById("hiddable_block_5").style.display = "none";
      document.getElementById("pay_period").style.display = "none";
      document.getElementById("hiddable_block_7a").style.display = "none";
      document.getElementById("hiddable_block_7b").style.display = "none";
  }
}

// Switch additional fields in search form
function check_deal_type_search()
{
  if (document.getElementById("deal_type_search").value=="1" || document.getElementById("deal_type_search").value=="3") {
    document.getElementById("furniture_search").style.display = "block";
  } else {
    document.getElementById("furniture_search").style.display = "none";
  }
}

// 
function markFieldIncorrect(id)
{
  document.getElementById(id).style.backgroundColor = 'red';
  return false;
}

// Checks form of adding of notice
function checkForm1(is_commercial)
{
  var is_ok = true;

  if (document.getElementById('region').value == '') is_ok = markFieldIncorrect('region');
  if (document.getElementById('deal_type').value == '') is_ok = markFieldIncorrect('deal_type');
  if (!is_commercial && document.getElementById('address_2').value=='' && document.getElementById('deal_type').value<2) is_ok = markFieldIncorrect('address_2');


      if (document.getElementById('email').value == '') is_ok = markFieldIncorrect('email');
      if (document.getElementById('phone_1').value=='' || document.getElementById('phone_1').value.length<7) is_ok = markFieldIncorrect('phone_1');
      if (document.getElementById('phone_1_code').options[document.getElementById('phone_1_code').selectedIndex].text == '') is_ok = markFieldIncorrect('phone_1_code');
  
      if (document.getElementById('first_name_1').value == '') is_ok = markFieldIncorrect('first_name_1');
      if (document.getElementById('first_name_2').value == '') is_ok = markFieldIncorrect('first_name_2');
    
  if (is_ok) {
    if (document.getElementById('address_1').value == '') document.getElementById('address_1').value = document.getElementById('address_2').value;
    if (document.getElementById('address_3').value == '') document.getElementById('address_3').value = document.getElementById('address_2').value;

    document.add_form.submit();
  } else alert('Не заполнено одно из обязательных полей!');
}

// Checks form of registration
function checkForm2()
{
  var is_ok = true;

  is_ok = checkPhones();

  if (document.getElementById('email').value == '') is_ok = markFieldIncorrect('email');
  if (document.getElementById('phone_1').value=='' || document.getElementById('phone_1').value.length<7) is_ok = markFieldIncorrect('phone_1');


      if (document.getElementById('first_name_1').value == '') is_ok = markFieldIncorrect('first_name_1');
      if (document.getElementById('first_name_2').value == '') is_ok = markFieldIncorrect('first_name_2');
    
  if (is_ok) {
    document.profile_form.submit();
  } else alert('Не заполнено одно из обязательных полей!');
}

// Checks a form of adding of business
function checkForm3()
{
  var is_ok = true;
  if (document.getElementById('business_sid').selectedIndex == 0) is_ok = false;

  if (is_ok) {
    document.business_form.submit();
  } else alert('Не заполнено одно из обязательных полей!');
}

// Checks a form of adding/editing of agent
function checkForm4()
{
  var is_ok = true;
  if (document.getElementById('phone_1_code').selectedIndex==0 || document.getElementById('phone_1').value=='') is_ok = false;

  if (is_ok) {
    document.form_1.submit();
  } else alert('Не заполнено одно из обязательных полей!');
}

// Checks form of adding of agent
function checkForm5()
{
  var is_ok = true;

  is_ok = checkPhones();

  if (document.getElementById('email').value == '') is_ok = markFieldIncorrect('email');
  if (document.getElementById('phone_1').value=='' || document.getElementById('phone_1').value.length<7) is_ok = markFieldIncorrect('phone_1');

  if (is_ok) {
    document.form_1.submit();
  } else alert('Не заполнено одно из обязательных полей!');
}

// 
function controlSearchForm()
{
  if (document.getElementById('search_form').style.display == 'block')
    document.getElementById('search_form').style.display = 'none';
  else
    document.getElementById('search_form').style.display = 'block';
}

// 
function switchBlock(id)
{
  if (document.getElementById(id).style.display == 'block')
    document.getElementById(id).style.display = 'none';
  else
    document.getElementById(id).style.display = 'block';
}
