function check_magic_input(e, text, state)
{
  if (state && e.value == text) e.value = '';
  else if (!state && e.value === '') e.value = text;
}

var menu_mouse_over = 0;

function show_menu(id)
{
  var menu_div = _ge('submenu_'+id);

  if (menu_div)
  {
    menu_div.style.display = 'block';
  }

  return false;
}

function hide_menu(id)
{
  var menu_div = _ge('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)
{
  return menu_div_over(id, flag);
}

function menu_div_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 toggle_wait()
{
  return false;
}

function toggle_visibility(id)
{
  var e = _ge(id);

  if (e)
  {
    e.style.visibility = e.style.visibility != 'visible' ? 'visible' : 'hidden';
  }
}

function calendar_goto(y)
{
  window.location.href = '/'+cms_paths_ar['calendar']+'/'+y+'/';
  return false;
}

function toggle_feedback_form()
{
  var e = _ge('feedback_form_div');

  if (e) e.style.display = e.style.display != 'block' ? 'block' : 'none';

  if (feedback_message_div && e.style.display == 'block')
  {
    feedback_message_div.style.display = 'none';
  }
}

/* current song */

var cs_timer_id = 0;

function init_current_song()
{
  cs_timer_id = setTimeout("get_current_song()", 10000);
}

function get_current_song()
{
  if (cs_timer_id) clearTimeout(cs_timer_id);

  var url = '/xml/get_song_now.php';
  diXMLRequest.get(url, get_current_song_response);
}

function get_current_song_response(xmlDoc)
{
  var rs;

  try {
    rs = xmlDoc.documentElement.getElementsByTagName('result');
  } catch(e) {}

  if (!rs) return;

  for (var i = 0; i < rs.length; i++)
  {
    var name = rs[i].getAttribute('name');

    switch (name)
    {
      case 'song':
        var cursong_full = rs[i].getAttribute('artist')+' - '+rs[i].getAttribute('title');
        var cursong = str_cut_end(cursong_full, cur_song_cut_len);
        var e = _ge('current_song_span');
        if (e)
        {
          e.innerHTML = '<nobr>'+cursong+'</nobr>';
        }
        var e2 = _ge('popup_div_current_song_title');
        if (e2)
        {
          e2.innerHTML = '<nobr>'+cursong_full+'</nobr>';
        }
        break;

      case 'segment':
        var cursegment_full = rs[i].getAttribute('title');
        var cursegment = str_cut_end(cursegment_full, cur_segment_cut_len);
        var e = _ge('current_segment_span');
        if (e)
        {
          e.innerHTML = '<nobr>'+cursegment+'</nobr>';
        }
        var e2 = _ge('popup_div_current_segment_title');
        if (e2)
        {
          e2.innerHTML = '<nobr>'+cursegment_full+'</nobr>';
        }
        var e3 = _ge('current_segment_img');
        if (e3)
        {
          e3.src = rs[i].getAttribute('pic');
          e3.style.width = rs[i].getAttribute('pic_w');
          e3.style.width = rs[i].getAttribute('pic_h');
        }
        break;
    }
  }

  init_current_song();
}

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 project_filter_select_all_tags(on)
{
  for (var i = 0; i < tags_id_ar.length; i++)
  {
    var e = _ge('tag_'+tags_id_ar[i]);

    if (e) e.checked = on ? true : false;
  }
}

/* popups */

var selected_obj = null;
var selected_id = 0;
var div_prefix = 'popup_div_';

// это отступ от всплывающего окна до курсора мыши
var div_offset_x = 10;
var div_offset_y = 10;
//

function engage(e)
{
  var event = e ? e : window.event;

  if (selected_obj) move_selected_obj(event);

  if (!is_ie4up && e.preventDefault) e.preventDefault();
  return false;
}

function move_selected_obj(event)
{
  selected_obj.style.left = event.clientX + document.body.scrollLeft + div_offset_x;
  selected_obj.style.top = event.clientY + document.body.scrollTop + div_offset_y;

  selected_obj.style.display = 'block';
}

function show_div(id)
{
  if (id == selected_id) return;

  var d = document.getElementById(div_prefix+id);

  if (d)
  {
    selected_obj = d;
    selected_id = id;
  }
}

function hide_div(id)
{
  if (id != selected_id) return;

  var d = document.getElementById(div_prefix+id);

  if (d)
  {
    d.style.display = 'none';
    selected_obj = null;
    selected_id = 0;
  }
}

function show_left_subitems(type)
{
  if (type == 'instrument' || type == 'branch' || type == 'news')
  {
    var e = _ge('left_menu_'+type+'_div');

    e.style.display = e.style.display != 'block' ? 'block' : 'none';
  }
}

function show_messages_from_user(id)
{
  var e = _ge('thread_w_user_'+id);
  var a = _ge('a_toggler_'+id);

  if (e && a)
  {
    if (e.style.display != 'block') set_messages_read(id);

    a.innerHTML = e.style.display == 'block' ? 'Открыть список сообщений' : 'Скрыть список сообщений';
    e.style.display = e.style.display == 'block' ? 'none' : 'block';
  }
}

function show_message_reply_form(user_id, user_login)
{
  var a = _ge('my_msg_anchor_'+user_id);
  if (!a) a = _ge('my_msg_anchor_default');

  var to_user_login = _ge('to_user_login');

  if (!user_login)
  {
    a_user_login = _ge('a_user_login_'+user_id);
    if (a_user_login) user_login = a_user_login.innerHTML;
  }

  if (user_login) to_user_login.innerHTML = user_login;

  if (user_login && a && message_reply_div && message_to_user_id)
  {
    a.parentNode.insertBefore(message_reply_div, a);
    message_reply_div.style.display = (message_to_user_id.value == user_id && message_reply_div.style.display == 'block')
      ? 'none'
      : 'block';

    message_to_user_id.value = user_id;
  }
}

function set_messages_read(user_id)
{
  var xml_url = '/xml/message_read.php';
  var __query_str = 'user_id='+escape(user_id);

  diXMLRequest.post(xml_url, __query_str, set_messages_read_response);
}

function set_messages_read_response(xmlDoc)
{
  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  if (rs[0].getAttribute('ok'))
  {
    var user_greeting_msg_count = _ge('user_greeting_msg_count');
    var user_greeting_msg_link = _ge('user_greeting_msg_link');
    var cur_count = user_greeting_msg_count.innerHTML;

    var read_count = parseInt(rs[0].getAttribute('read_count'));

    if (cur_count.length && read_count)
    {
      cur_count = cur_count.substr(2);
      cur_count = cur_count.substr(0, cur_count.length - 1);
      cur_count = parseInt(cur_count);
      if (!cur_count || isNaN(cur_count)) cur_count = 0;

      cur_count -= read_count;

      if (user_greeting_msg_count)
        user_greeting_msg_count.innerHTML = cur_count > 0 ? ' ('+cur_count+')' : '';
      if (user_greeting_msg_link)
        user_greeting_msg_link.style.fontWeight = cur_count > 0 ? 'bold' : 'lighter';
    }
  }
  else
  {
    alert('Сообщения не были отмечены как прочитанные. Обратитесь к администратору.')
  }
}
