var app_to_show = false;

function di_init()
{
  setupZoom();

  //_add_event(document, 'mousemove', engage);

  if (app_to_show)
    show_popup(app_to_show);
}

function price_hl(idx, size, size2, base_count)
{
  var m = thisMovie('left_price'+idx);

  //alert('flash with html-tag-name left_price'+idx+': '+m);

  if (m)
  {
    m.SetVariable('myObject', 'size='+size+'&size2='+size2+'&base_count='+base_count);

    //alert('SetVariable to "myObject": size='+size+'&size2='+size2+'&base_count='+base_count);
  }
}

function price_unhl(idx)
{
  var m = thisMovie('left_price'+idx);

  if (m)
    m.SetVariable('myObject', 'size=&size2=&base_count=');
}

function toggle_cat_block()
{
  var str = _ge('block_action_str');
  var bl = _ge('categories_block_div');

  if (bl)
  {
    var state = bl.style.display != 'block' ? 1 : 0;

    str.innerHTML = state ? 'свернуть' : 'развернуть';
    bl.style.display = state ? 'block' : 'none';
  }
}

function menu_over(id, state)
{
  var e = _ge('top_menu['+id+']');

  e.src = state ? top_menu_pics2_ar[id] : top_menu_pics_ar[id];
}

function set_menu_visibility(id, status)
{
  var date = new Date();
  date.setFullYear(date.getFullYear() + 1);
  setCookie('left_menu['+id+']', status, date, '/');
}

function get_menu_visibility(id)
{
  return getCookie('left_menu['+id+']') ? true : false;
}

function toggle_left_menu(id, status, to_show_content)
{
  var e = {collapsed: _ge('left_menu_collapsed_'+id), expanded: _ge('left_menu_expanded_'+id), submenu: _ge('left_submenu_'+id)};

  //if (e.submenu || true)
  //{
    if (!to_show_content)
    {
      set_menu_visibility(id, status);

      if (e.collapsed) e.collapsed.style.display = status ? 'none' : 'block';
      if (e.expanded) e.expanded.style.display = status ? 'block' : 'none';
      if (e.submenu) e.submenu.style.display = status ? 'block' : 'none';
    }

    if (status)
    {
      for (var i = 0; i < js_content_ids_ar.length; i++)
      {
        var a = js_content_ids_ar[i];

        if (a.id != id)
          toggle_left_menu(a.id, false, a.to_show_content);
      }
    }
  //}

  return to_show_content ? true : false;
}

//window.onresize = di_init;
//window.onload = di_init;

function show_reply_form(before_obj_id, parent)
{
  var a = _ge(before_obj_id);

  if (!a || !comment_reply_div || !comment_parent) return false;

  a.parentNode.insertBefore(comment_reply_div, a);
  comment_reply_div.style.display = 'block';

  comment_parent.value = parent;

  return false;
}

function toggle_wait(v)
{
}

function item_set_pic(id, pic)
{
  if (selected_pic_id == id) return false;

  var e = _ge('item_pic_big');
  var e1 = _ge('item_pic_'+id);
  var e2 = _ge('item_pic_'+selected_pic_id);

  if (e)
  {
    e.src = pic;
  }

  if (e1)
  {
    e1.className = 'item_ico_active';
  }

  if (e2)
  {
    e2.className = 'item_ico';
  }

  selected_pic_id = id;

  return false;
}

function add_to_comparison(id, rnd)
{
  var url = '/xml/comparison.php';
  var query = 'action=add&id='+escape(id)+'&rnd='+escape(rnd);
  diXMLRequest.get(url+'?'+query, comparison_response);

  return false;
}

function remove_from_comparison(id, rnd)
{
  var url = '/xml/comparison.php';
  var query = 'action=remove&id='+escape(id)+'&rnd='+escape(rnd);
  diXMLRequest.get(url+'?'+query, comparison_response);

  return false;
}

function comparison_response(xml)
{
  var rs = xml.documentElement.getElementsByTagName('result');

  if (rs.length)
  {
    var ok = rs[0].getAttribute('ok') * 1;
    var id = rs[0].getAttribute('id');
    var rnd = rs[0].getAttribute('rnd');
    var action = rs[0].getAttribute('action');
    var html = get_xml_text(rs[0]);
    var limit_exceeded = rs[0].getAttribute('limit_exceeded') * 1;

    switch (action)
    {
      case 'add':
        if (limit_exceeded)
          alert('Вы можете добавить к сравнению не более 3-х товаров');

      case 'remove':
        var e = _ge('comparison_link_'+rnd+id);
        if (e) e.innerHTML = html;
        break;
    }
  }
}

var menu_mouse_over = 0;

function show_menu(id)
{
  var menu_div = _ge('top_submenu_'+id);

  if (menu_div)
    menu_div.style.display = 'block';

  return false;
}

function hide_menu(id)
{
  var menu_div = _ge('top_submenu_'+id);

  if (menu_div)
  {
    if (menu_mouse_over == id)
    {
      if (menu_div.style.display != 'block')
        menu_div.style.display = 'block';
    }
    else
    {
      menu_div.style.display = 'none';
    }
  }

  return false;
}

function menu_element_over(id, flag)
{
  if (flag)
  {
    menu_mouse_over = id;

    show_menu(id);
  }
  else
  {
    if (menu_mouse_over == id)
    {
      menu_mouse_over = 0;

      hide_menu(id);
    }
  }

  return false;
}

function place_incut_photos()
{
  var y_diff = 15;

  var e_i0 = _ge('left_photo[0]');
  var y0 = getTop(e_i0) + e_i0.offsetHeight;

  var cur_y = y0 + y_diff;

  for (var i = 0; i < incut_photo_uid_ar.length; i++)
  {
    var uid = incut_photo_uid_ar[i];

    var e_a = _ge('anchor['+uid+']');
    var e_i = _ge('incut_photo['+uid+']');

    var y = getTop(e_a);

    if (y < cur_y)
      y = cur_y;

    e_i.style.position = 'absolute';
    e_i.style.top = y+'px';

    cur_y += e_i.offsetHeight + y_diff;
  }
}

function prolong_firm(id, title)
{
  if (confirm('Продлить фирму '+title+' еще на 2 недели?'))
  {
    window.location.href = '/xml/firm_action.php?action=prolong&ids='+id+'&back='+escape(window.location.href);
  }
}

function set_search_priority(field, value)
{
  show_search_priority(field, value);

  var e = _ge('search_priority['+field+']');
  if (e) e.value = value;
}

function show_search_priority(field, value)
{
  if (value == -1)
  {
    var e = _ge('search_priority['+field+']');
    if (e) value = e.value;
  }

  var e = _ge('search_priority_div['+field+']');
  if (e) e.className = 'p'+value;
}

function show_user_profile(user_id)
{
  var e = _ge('user_profile['+user_id+']');

  if (e)
  {
    if (e.style.display != 'block')
    {
      e.style.display = 'block';

      var url = '/xml/inc_views_count.php';
      var query = 't=users&id='+escape(user_id);
      diXMLRequest.get(url+'?'+query, show_profile_response);
    }
    else
    {
      e.style.display = 'none';
    }
  }

  window.scrollTo(0,0);

  return false;
}

function show_firm_profile(firm_id)
{
  var e = _ge('firm_profile['+firm_id+']');

  if (e)
  {
    if (e.style.display != 'block')
    {
      e.style.display = 'block';

      var url = '/xml/inc_views_count.php';
      var query = 't=firms&id='+escape(firm_id);
      diXMLRequest.get(url+'?'+query, show_profile_response);
    }
    else
    {
      e.style.display = 'none';
    }
  }

  window.scrollTo(0,0);

  return false;
}

function show_profile_response(xml)
{
  var rs = xml.documentElement.getElementsByTagName('result');

  if (rs.length)
  {
    var ok = rs[0].getAttribute('ok') * 1;
    var id = rs[0].getAttribute('id') * 1;
    var t = rs[0].getAttribute('t');
  }
}

function mass_firm_action()
{
  var ar = _ge_inputs('checkbox', _ge('setup_firms_page'), 'firm_selected[', true);
  var ids_ar = [];
  var sel = _ge('firm_action');

  if (!ar.length)
  {
    alert('Выберите хотя бы одну фирму');
    return false;
  }

  if (!confirm(sel.options[sel.selectedIndex].innerHTML+' выбранные фирм(ы)?'))
    return false;

  for (var i = 0; i < ar.length; i++)
  {
    ids_ar.push(ar[i].value);
  }

  window.location.href = '/xml/firm_action.php?action='+escape(sel.value)+'&ids='+escape(ids_ar.join(','))+'&back='+escape(window.location.href);
}

function gray_bg_show()
{
  var bg_e = _ge('gray-bg');

  if (bg_e)
  {
    var h = Math.max(
      document.documentElement ? document.documentElement.clientHeight : 0,
      document.body.clientHeight,
      document.body.scrollHeight,
      document.body.offsetHeight,
      window.innerHeight || 0,
      get_screen_dimensions('h')
    );

    bg_e.style.height = h+'px';
    di_set_opacity(bg_e, 60);
    bg_e.style.display = 'block';
  }
}

function show_popup(id, type)
{
  var e = _ge(id+'-div');

  if (typeof type != 'undefined')
    diradio(type);

  if (e)
  {
    e.style.display = 'block';

    gray_bg_show();
  }

  return false;
}

function hide_popups()
{
  var bg_e = _ge('gray-bg');
  var app_e = _ge('app-div');
  var callback_e = _ge('callback-div');

  if (bg_e) bg_e.style.display = 'none';
  if (app_e) app_e.style.display = 'none';
  if (callback_e) callback_e.style.display = 'none';

  var e2 = _ge('thanks-content');
  if (e2) e2.style.display = 'block';

  var thanks_e = _ge('thanks-div');
  if (thanks_e) thanks_e.style.display = 'none';

  return false;
}

function callback_submit()
{
  if (callback_form.onSubmit())
  {
    var url = '/xml/callback.php';
    var query = 'name='+escape(callback_form.form.name.value)+'&phone='+escape(callback_form.form.phone.value)+'&time1='+escape(callback_form.form.time1.value)+'&time2='+escape(callback_form.form.time2.value);
    diXMLRequest.post(url, query, callback_submit_response);
  }

  return false;
}

function callback_submit_response(xml)
{
  var rs = xml.documentElement.getElementsByTagName('result');

  if (rs.length)
  {
    var ok = rs[0].getAttribute('ok') * 1;
    var name = rs[0].getAttribute('name');
    var txt = get_xml_text(rs[0]);

    hide_popups();

    var e2 = _ge('thanks-content');
    var thanks_e = _ge('thanks-div');

    if (e2) // app page
    {
      e2.style.display = 'block';
    }
    else if (thanks_e)
    { // other pages
      thanks_e.style.display = 'block';
      gray_bg_show();
      _ge('thanks-popup-title').innerHTML = name == 'app' ? 'Заявка' : 'Заявка на обратный звонок';
      _ge('thanks-popup-content').innerHTML = txt;
    }
  }
}

var radio_ids_ar = ['apartment', 'house', 'button', 'signalling'];

function diradio(id)
{
  var e;

  for (var i = 0; i < radio_ids_ar.length; i++)
  {
    e = _ge('radio['+radio_ids_ar[i]+']');
    e.className = radio_ids_ar[i] == id ? 'selected' : '';
  }

  app_form.form.type2.value = id;
  app_form.check('type2');
}

function app_submit()
{
  if (app_form.onSubmit())
  {
    var url = '/xml/app.php';
    var query = 'name2='+escape(app_form.form.name2.value)+'&phone2='+escape(app_form.form.phone2.value)+'&email2='+escape(app_form.form.email2.value)+'&type2='+escape(app_form.form.type2.value);
    diXMLRequest.post(url, query, callback_submit_response);
  }

  return false;
}

var pic_changer = function()
{
  if (opacity < 100)
  {
    opacity += opacity_step; // incresing new
    opacity2 -= opacity_step; // decreasing old

    di_set_opacity(ad_screen2, opacity);
    di_set_opacity(ad_screen, opacity2);

    //_ge('ad_screen[1]').style.height = Math.round(big_img_height + (opacity / 100) * (parseInt(_ge('project_img2').style.height) - big_img_height))+'px';
  }
  else
  {
    clearInterval(op_timer_id);

    opacity = 0;
    opacity2 = 100;

    var big_img = ad_screen;
    var img2 = ad_screen2;

    big_img.style.backgroundImage = img2.style.backgroundImage;
    di_set_opacity(ad_screen, 100);

    ad_screen2.style.display = 'none';
  }
}

function set_pic_smoothly(pic)
{
  var orig_img = ad_screen;
  var over_img = ad_screen2;

  di_set_opacity(ad_screen2, 0);
  over_img.style.display = 'block'; // place another <img> w/ same pic over

  clearInterval(op_timer_id);
  op_timer_id = setInterval(pic_changer, 35); //50

  if (over_img)            // over_img has new photo inside
  {
    over_img.style.backgroundImage = 'url('+pic+')';
  }

  return false;
}

function show_next_ad()
{
  if (++ad_idx > ads_ar.length - 1)
    ad_idx = 0;

  ad_screen.href = ads_ar[ad_idx].href;
  ad_screen2.href = ads_ar[ad_idx].href;
  set_pic_smoothly(ads_ar[ad_idx].pic);
}

function ad_onclick()
{
  if (ads_ar[ad_idx].onclick)
    return ads_ar[ad_idx].onclick();

  return true;
}

