var mouse_pos = {x: 0, y: 0};

function send_feedback()
{
  var feedback_text = _ge('feedback_text');
  var feedback_back = _ge('feedback_back');
  var feedback_submit = _ge('feedback_submit');

  if (!feedback_text.value) return false;

  feedback_submit.src = '/i/btn_send_wait.gif';
  feedback_submit.disabled = true;

  var xml_url = "/xml/feedback_send.php";
  var __query_str = "text="+escape(feedback_text.value)+"&back="+escape(feedback_back.value);

  diXMLRequest.post(xml_url, __query_str, send_feedback_response);

  return false;
}

function send_feedback_response(xmlDoc)
{
  var feedback_text = _ge('feedback_text');
  var feedback_submit = _ge('feedback_submit');

  feedback_text.value = S.feedback_thanx_msg;
  feedback_text.style.backgroundColor = '#ffe';

  feedback_submit.src = '/i/btn_send.gif';
  feedback_submit.disabled = false;
}

function save_payed_place(id)
{
  var pp_description = _ge('payed_place_description_'+id);
  var pp_msg = _ge('payed_place_msg_'+id);
  var pp_save_img = _ge('pp_save_img_'+id);
  var pp_save_a = _ge('pp_save_a_'+id);

  pp_save_img.src = '/i/btn_save_wait.gif';
  pp_save_a.disabled = true;

  var xml_url = "/xml/payed_place_save.php";
  var __query_str = "id="+escape(id)+"&description="+escape(pp_description.value);

  toggle_wait(true);

  diXMLRequest.post(xml_url, __query_str, save_payed_place_response);

  return false;
}

function save_payed_place_response(xmlDoc)
{
  toggle_wait(false);

  if (!xmlDoc) return;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  var id = parseInt(rs[0].getAttribute('id'));
  var description = rs[0].getAttribute('description');
  var ok = parseInt(rs[0].getAttribute('ok'));
  var text = rs[0].getAttribute('text');

  var pp_description = _ge('payed_place_description_'+id);
  var pp_msg = _ge('payed_place_msg_'+id);
  var pp_save_img = _ge('pp_save_img_'+id);
  var pp_save_a = _ge('pp_save_a_'+id);

  pp_save_img.src = '/i/btn_save.gif';
  pp_save_a.disabled = false;

  pp_msg.innerHTML = text;
}

function project_filter_onclick(name, value)
{
  if (name == 'type')
  {
    if (!_ge('project_filter_type_remote').checked && !_ge('project_filter_type_office').checked)
      _ge('project_filter_'+name+'_'+value).checked = true;
  }
  else if (name == 'is_steady')
  {
    if (!_ge('project_filter_is_steady_0').checked && !_ge('project_filter_is_steady_1').checked)
      _ge('project_filter_'+name+'_'+value).checked = true;
  }
}

function project_filter_toggle_tags_list()
{
  var tags_list_div = _ge('tags_list_div');

  if (tags_list_div)
  {
    tags_list_div.style.visibility = tags_list_div.style.visibility == 'visible' ? 'hidden' : 'visible';
  }
}

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;
  }
}

function project_filter_apply()
{
  var project_filter_submit = _ge('project_filter_submit');
  if (project_filter_submit)
  {
    project_filter_submit.src = '/i/btn_apply_project_filter_wait.gif';
    project_filter_submit.disabled = true;
  }

  var date = new Date();
  date.setFullYear(date.getFullYear() + 1);

  var type = '';
  if (_ge('project_filter_type_remote').checked) type += 'remote,';
  if (_ge('project_filter_type_office').checked) type += 'office,';
  if (type.substr(type.length - 1, 1) == ',') type = type.substr(0, type.length - 1);

  var is_steady = '';
  if (_ge('project_filter_is_steady_0').checked) is_steady += '0,';
  if (_ge('project_filter_is_steady_1').checked) is_steady += '1,';
  if (is_steady.substr(is_steady.length - 1, 1) == ',') is_steady = is_steady.substr(0, is_steady.length - 1);

  var tags = '';
  var all_tags = true;
  for (var i = 0; i < tags_id_ar.length; i++)
  {
    var e = _ge('tag_'+tags_id_ar[i]);

    if (e && e.checked) tags += tags_id_ar[i]+',';
    if (e && !e.checked) all_tags = false;
  }
  if (tags.substr(tags.length - 1, 1) == ',') tags = tags.substr(0, tags.length - 1);

  setCookie('project_filter[type]', type, date);
  setCookie('project_filter[is_steady]', is_steady, date);
  setCookie('project_filter[tags]', all_tags?'':tags, date);

  window.location.reload();
}

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 show_portfolio_form(show, clear_form)
{
  if (show)
  {
    p_form2.div.style.top = (getTop(p_form2.anc) + 20).toString()+'px';
    p_form2.div.style.left = (getLeft(p_form2.anc) + (is_ie4up ? 3 : 0)).toString()+'px';

    if (clear_form)
    {
      p_form.inputs['portfolio_title'].value = '';
      p_form.inputs['portfolio_url'].value = 'http://';
      p_form.inputs['portfolio_description'].value = '';
      p_form2.id.value = '0';
      p_form2.curfile_div.style.display = 'none';

      for (var i = 0; i < p_form2.form.elements.length; i++)
      {
        var e = p_form2.form.elements[i];

        if (e.name.substr(0,6) == 'tags[]') e.checked = false;
      }

      p_form.clear();
    }

    p_form2.div.style.display = 'block';
    p_form2.a.href = 'javascript:show_portfolio_form(false, false);';
    p_form2.img.src = 'i/btn_cancel.gif';
  }
  else
  {
    p_form2.div.style.display = 'none';
    p_form2.a.href = 'javascript:show_portfolio_form(true, true);';
    p_form2.img.src = 'i/btn_add.gif';
  }
}

function edit_portfolio(id)
{
  var xml_url = '/xml/get_portfolio_data.php';
  var __query_str = 'id='+escape(id);

  toggle_wait(true);

  diXMLRequest.get(xml_url+'?'+__query_str, edit_portfolio_response);
}

function edit_portfolio_response(xmlDoc)
{
  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  var ok = parseInt(rs[0].getAttribute('ok'));

  if (ok)
  {
    p_form.inputs['portfolio_title'].value = rs[0].getAttribute('title');
    p_form.inputs['portfolio_url'].value = rs[0].getAttribute('url');
    p_form.inputs['portfolio_description'].value = rs[0].getAttribute('description').replace(/<br>/g,'\n');
    p_form.inputs['portfolio_cost'].value = rs[0].getAttribute('cost');

    if (rs[0].getAttribute('filesize') != 0)
    {
      var s = rs[0].getAttribute('filetype')+', '+rs[0].getAttribute('filesize');
      var px_w = parseInt(rs[0].getAttribute('filesize_px_w'));
      var px_h = parseInt(rs[0].getAttribute('filesize_px_h'));

      if (px_w && px_h)
      {
        s += ' ('+px_w+'x'+px_h+'px)';
      }

      p_form2.curfile_a.innerHTML = s;
      p_form2.curfile_a.href = rs[0].getAttribute('file');
      p_form2.curfile_div.style.display = 'block';
    }
    else
    {
      p_form2.curfile_div.style.display = 'none';
    }

    // tags
    var tags_ar = rs[0].getAttribute('tags').split(/,/);

    for (var i = 0; i < p_form2.form.elements.length; i++)
    {
      var e = p_form2.form.elements[i];

      if (e.name.substr(0,6) == 'tags[]')
      {
        e.checked = tags_ar.in_array(e.value);
      }
    }
    //

    p_form2.id.value = rs[0].getAttribute('id');

    show_portfolio_form(true, false);
  }

  toggle_wait(false);
}

function portfolio_order(id, dir)
{
  var xml_url = '/xml/portfolio_change_order.php';
  var __query_str = 'id='+escape(id)+'&dir='+escape(dir);

  toggle_wait(true);

  diXMLRequest.get(xml_url+'?'+__query_str, portfolio_order_response);
}

function portfolio_order_response(xmlDoc)
{
  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  var idz = new Array;
  idz[1] = new Array;
  idz[2] = new Array;

  for (var i = 0; i < rs.length; i++)
  {
    var id = parseInt(rs[i].getAttribute('id'));
    var name = rs[i].getAttribute('name');
    var value = parseInt(rs[i].getAttribute('value'));
    var ok = parseInt(rs[i].getAttribute('ok'));

    if (ok && (value == 1 || value == 2) && _ge('pr_'+id))
    {
      idz[value][idz[value].length] = id;
    }
  }

  change_rows_order(idz[1], idz[2]);

  toggle_wait(false);
}

function change_rows_order(idz1, idz2)
{
  if (idz1.length != 0 && idz2.length != 0)
  {
    var old_idz = idz1.concat(idz2);
    var new_idz = idz2.concat(idz1);

    var top_elem = _ge('pr_'+idz1[0]);
    var p = top_elem.parentNode;

    for (var i = 0; i < new_idz.length; i++)
    {
      var victim = _ge('pr_'+new_idz[i]);
      //var shim = victim.nextSibling;

      var tmp = victim.cloneNode(true);
      tmp.id += '_';
      p.insertBefore(tmp, top_elem);

      //var tmp = shim.cloneNode(true);
      //p.insertBefore(tmp, top_elem);
    }

    for (var i = 0; i < old_idz.length; i++)
    {
      var victim = _ge('pr_'+old_idz[i]);
      //var shim = victim.nextSibling;

      p.removeChild(victim);
      //p.removeChild(shim);

      var new_born = _ge('pr_'+old_idz[i]+'_');
      new_born.id = new_born.id.substr(0, new_born.id.length - 1);
    }

    var num1 = _ge('pr_num_'+idz1[0]);
    var num2 = _ge('pr_num_'+idz2[0]);

    if (num1 && num2)
    {
      var tmp = num2.innerHTML;
      num2.innerHTML = num1.innerHTML;
      num1.innerHTML = tmp;
    }
  }
}

function portfolio_del(id)
{
  if (confirm('Удалить работу из портфолио?') && confirm('Вы уверены?'))
  {
    var xml_url = '/xml/portfolio_del.php';
    var __query_str = 'id='+escape(id);

    toggle_wait(true);

    diXMLRequest.get(xml_url+'?'+__query_str, portfolio_del_response);
  }
}

function portfolio_del_response(xmlDoc)
{
  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  for (var i = 0; i < rs.length; i++)
  {
    var id = parseInt(rs[i].getAttribute('id'));
    var name = rs[i].getAttribute('name');
    var value = parseInt(rs[i].getAttribute('value'));
    var ok = parseInt(rs[i].getAttribute('ok'));
    var _s = ok ? _ge("pr_"+id) : false;

    if (_s)
    {
      var _p = _s.parentNode;
      _p.removeChild(_s);
    }
  }

  toggle_wait(false);
}

function show_portfolio(id)
{
  var e = _ge('pr_ext_'+id);
  var i = _ge('pr_img_'+id);

  if (e)
  {
    e.style.display = (e.style.display == 'block') ? 'none' : 'block';

    if (i && i.src != i.alt)
    {
      i.src = i.alt;
    }
  }
}

function show_all_portfolio(flag)
{
  var a = document.getElementsByTagName('div');

  for (var j = 0; j < a.length; j++)
  {
    var e = a[j];

    if (e.id.substr(0,7) == 'pr_ext_')
    {
      var i = _ge('pr_img_'+e.id.substr(7));

      e.style.display = !flag ? 'none' : 'block';

      if (i && i.src != i.alt)
      {
        i.src = i.alt;
      }
    }
  }
}

function toggle_wait(v)
{
  var e = _ge('wait_div');
  if (!e) return;

  if (v)
  {
    var x = mouse_pos.x + 25;
    var y = mouse_pos.y + 25;

    e.style.left = x+'px';
    e.style.top = y+'px';

    e.style.visibility = 'visible';
  }
  else
  {
    e.style.visibility = 'hidden';
  }
}

function catch_mouse_pos(e)
{
  if (!e) e = window.event;

  mouse_pos.x = e.clientX;
  mouse_pos.y = e.clientY;
}

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('Сообщения не были отмечены как прочитанные. Обратитесь к администратору.')
  }
}

function close_project(id)
{
  if (confirm('Закрыть проект?') && confirm('Вы уверены?'))
  {
    var xml_url = '/xml/project_close.php';
    var __query_str = 'id='+escape(id);

    toggle_wait(true);

    diXMLRequest.get(xml_url+'?'+__query_str, close_project_response);
  }
}

function close_project_response(xmlDoc)
{
  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  for (var i = 0; i < rs.length; i++)
  {
    var id = parseInt(rs[i].getAttribute('id'));
    var name = rs[i].getAttribute('name');
    var value = parseInt(rs[i].getAttribute('value'));
    var ok = parseInt(rs[i].getAttribute('ok'));

    var h = ok ? _ge('project_head_'+id) : false;
    var a = ok ? _ge('project_actions_'+id) : false;
    var t = ok ? _ge('project_title_'+id) : false;

    if (h && a && t)
    {
      h.className = 'main_job_block_closed';
      a.innerHTML = '';
      t.innerHTML = '[Проект закрыт] '+t.innerHTML;
    }
  }

  toggle_wait(false);
}

function close_da_project(id)
{
  if (confirm('Закрыть проект?') && confirm('Внимание! Открыть заново его потом будет уже невозможно!\nВы уверены?'))
  {
    var xml_url = '/xml/da_project_close.php';
    var __query_str = 'id='+escape(id);

    toggle_wait(true);

    diXMLRequest.get(xml_url+'?'+__query_str, close_da_project_response);
  }
}

function close_da_project_response(xmlDoc)
{
  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  for (var i = 0; i < rs.length; i++)
  {
    var id = parseInt(rs[i].getAttribute('id'));
    var name = rs[i].getAttribute('name');
    var value = parseInt(rs[i].getAttribute('value'));
    var ok = parseInt(rs[i].getAttribute('ok'));

    var h = ok ? _ge('project_head_'+id) : false;
    var a = ok ? _ge('project_actions_'+id) : false;
    var t = ok ? _ge('project_title_'+id) : false;

    if (h && a && t)
    {
      h.className = 'main_job_block_closed';
      a.innerHTML = '';
      t.innerHTML = '[Проект закрыт] '+t.innerHTML;
    }
  }

  toggle_wait(false);
}

function toggle_tag_group(gid)
{
  var g_div = _ge('tag_group_'+gid);

  if (g_div)
  {
    g_div.style.display = g_div.style.display != 'block' ? 'block' : 'none';
  }
}

function edit_blog_post(id)
{
  if (!id) return;

  toggle_wait(true);

  window.location.href = '/'+cms_paths_ar['add_blog_post']+'/'+id+'/';
}

function del_blog_post(id)
{
  if (confirm('Удалить запись?') && confirm('Вы уверены?'))
  {
    var xml_url = '/xml/blog_del.php';
    var __query_str = 'id='+escape(id);

    toggle_wait(true);

    diXMLRequest.get(xml_url+'?'+__query_str, del_blog_post_response);
  }
}

function del_blog_post_response(xmlDoc)
{
  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  for (var i = 0; i < rs.length; i++)
  {
    var id = parseInt(rs[i].getAttribute('id'));
    var name = rs[i].getAttribute('name');
    var value = parseInt(rs[i].getAttribute('value'));
    var ok = parseInt(rs[i].getAttribute('ok'));

    if (ok)
    {
      var victim = _ge('blog_post_'+id);
      var victim2 = _ge('blog_post_sep_'+id);

      if (victim && victim2)
      {
        victim.parentNode.removeChild(victim);
        victim2.parentNode.removeChild(victim2);
      }
    }
  }

  toggle_wait(false);
}

function toggle_friend(friend_id, flag)
{
  var xml_url = '/xml/toggle_friend.php';
  var __query_str = 'friend_id='+escape(friend_id)+'&flag_team='+escape(flag)+'&flag_blog='+escape(flag);

  toggle_wait(true);

  diXMLRequest.get(xml_url+'?'+__query_str, toggle_friend_response);
}

function toggle_friend_response(xmlDoc)
{
  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  for (var i = 0; i < rs.length; i++)
  {
    var user_id = parseInt(rs[i].getAttribute('user_id'));
    var friend_id = parseInt(rs[i].getAttribute('friend_id'));
    var flag_blog = parseInt(rs[i].getAttribute('flag_blog'));
    var flag_team = parseInt(rs[i].getAttribute('flag_team'));
    var ok = parseInt(rs[i].getAttribute('ok'));

    if (ok)
    {
      var user_flag_team_toggle_span = _ge('user_flag_team_toggle_span');
      var user_flag_team_toggle_a = _ge('user_flag_team_toggle_a');

      var new_flag = flag_team ? 0 : 1;

      user_flag_team_toggle_span.innerHTML = S.user_details_flag_team_text[flag_team];
      user_flag_team_toggle_a.innerHTML = S.user_details_flag_team_action[flag_team];
      user_flag_team_toggle_a.href = 'javascript:toggle_friend('+friend_id+','+new_flag+');';
    }
  }

  toggle_wait(false);
}

function show_da_task_form(flag)
{
  var d = _ge('add_da_task_div');
  var a_add_task = _ge('a_add_task');

  d.style.display = flag ? 'block' : 'none';
  a_add_task.innerHTML = flag ? 'Закрыть форму' : 'Новая задача';
}

function toggle_da_task_form(idx)
{
  var d = _ge('add_da_task_div');

  if (d.style.display == 'block') //hiding
  {
    show_da_task_form(false);
  }
  else //snowing
  {
    if (idx) //loading
    {
      var xml_url = '/xml/get_da_task_data.php';
      var __query_str = 'idx='+escape(idx);

      toggle_wait(true);

      diXMLRequest.get(xml_url+'?'+__query_str, get_da_task_data_response);
    }
    else
    {
      at_form.inputs['title'].value = '';
      at_form.inputs['content'].value = '';
      at_form.inputs['assigned_to'].selectedIndex = 0;
      at_form.inputs['severity'].selectedIndex = 0;
      at_form.inputs['priority'].selectedIndex = 0;
      at_form.inputs['deadline_d'].value = deadline_init_date.d;
      at_form.inputs['deadline_m'].value = deadline_init_date.m;
      at_form.inputs['deadline_y'].value = deadline_init_date.y;
      at_form.inputs['da_task_submit'].src = '/i/btn_add_da_task.gif';

      document.forms.add_da_task_form.da_task_idx.value = 0;

      show_da_task_form(true);
    }
  }
}

function get_da_task_data_response(xmlDoc)
{
  toggle_wait(false);

  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  var ok = parseInt(rs[0].getAttribute('ok'));

  if (ok)
  {
    at_form.inputs['title'].value = rs[0].getAttribute('title');
    at_form.inputs['content'].value = rs[0].getAttribute('content').replace(/<br>/g,'\n');
    at_form.inputs['assigned_to'].value = parseInt(rs[0].getAttribute('assigned_to'));
    at_form.inputs['severity'].value = rs[0].getAttribute('severity');
    at_form.inputs['priority'].value = rs[0].getAttribute('priority');
    at_form.inputs['deadline_d'].value = parseInt(rs[0].getAttribute('deadline_d'));
    at_form.inputs['deadline_m'].value = parseInt(rs[0].getAttribute('deadline_m'));
    at_form.inputs['deadline_y'].value = parseInt(rs[0].getAttribute('deadline_y'));
    at_form.inputs['da_task_submit'].src = '/i/btn_save_da_task.gif';

    document.forms.add_da_task_form.da_task_idx.value = rs[0].getAttribute('idx');

    show_da_task_form(true);
  }
}

function da_task_change_status(id, idx)
{
  var st = _ge('status');
  var btn = _ge('da_task_change_status_img');
  if (!st || !btn) { alert('error!'); return false; }

  var sURL = "/xml/da_task_change_status.php?id="+escape(id)+"&idx="+escape(idx)+"&status="+escape(st.value);

  btn.src = '/i/btn_change2_wait.gif';

  diXMLRequest.get(sURL, da_task_change_status_response);
}

function da_task_change_status_response(xmlDoc)
{
  var rs = xmlDoc.documentElement.getElementsByTagName("result");
  if (rs.length == 0) return null;

  var id = parseInt(rs[0].getAttribute("id"));
  var value = parseInt(rs[0].getAttribute("value"));
  var ok = parseInt(rs[0].getAttribute("ok"));
  var color = rs[0].getAttribute("color");

  var btn = _ge('da_task_change_status_img');

  if (ok == 1)
  {
    var e = is_gecko
      ? _ge('da_task_table').firstChild.nextSibling.firstChild
      : _ge('da_task_table').firstChild.firstChild;

   //return false;

    do
    {
      //alert(e.nodeName);

      //if (e.id.substr(0,5) == 'order' && e.id != 'order'+id) break;
      //if (!e.id) continue;

      if (color && e)
      {
        var e2 = is_gecko ? e.firstChild.nextSibling : e.firstChild;

        do
        {
          if (e2.id != 'da_task_details_main_td')
            e2.style.backgroundColor = color;
        } while (e2 = is_gecko ? e2.nextSibling.nextSibling : e2.nextSibling);
      }
    } while (e = is_gecko ? e.nextSibling.nextSibling : e.nextSibling);
  }
  else
  {
    alert('error');
  }

  btn.src = '/i/btn_change2.gif';
}

/* upload forms */

function toggle_da_task_upload_form(a)
{
  if (!da_task_upload_form_div) return;

  da_task_upload_form_div.style.display = da_task_upload_form_div.style.display != 'block' ? 'block' : 'none';
}

function da_task_upload_form_onsubmit()
{
  var e = _ge('da_task_upload_submit');
  var d = _ge('da_task_upload_form_div');
  var er = _ge('da_task_upload_error_msg');

  if (!logged_in)
  {
//    d.style.backgroundColor = '#FF9999';
    er.innerHTML = 'Вы должны войти в систему';
    return false;
  }

  if (e)
  {
    e.value = ' Подождите... ';
    e.disabled = true;
  }

  return true;
}

/* opinions */

function toggle_opinion_form()
{
  var e = _ge('opinion_form_div');

  if (e.style.visibility != 'visible')
  {
    e.style.visibility = 'visible';
  }
  else
  {
    e.style.visibility = 'hidden';
  }
}

function opinion_form_submit()
{
  var opinion_target_user_id = _ge('opinion_target_user_id');
  var opinion_content = _ge('opinion_content');
  var opinion_submit = _ge('opinion_submit');
  var opinion_mark = 0;

  for (var i = 1; i <= 5; i++)
  {
    var e = _ge('opinion_mark_'+i);
    if (e.checked)
    {
      opinion_mark = i;
      break;
    }
  }

  if (opinion_content.value.replace(/^\s+|\s+$/, '').length < 1 || opinion_content.value == 'Вы должны оставить отзыв')
  {
    opinion_content.value = 'Вы должны оставить отзыв';
    opinion_content.focus();
    opinion_content.select();
    return false;
  }

  opinion_submit.src = 'i/btn_add_opinion_wait.gif';

  var xml_url = '/xml/add_opinion.php';
  var __query_str = 'target_user_id='+escape(opinion_target_user_id.value)+'&content='+escape(opinion_content.value)+'&mark='+escape(opinion_mark);

  toggle_wait(true);

  diXMLRequest.post(xml_url, __query_str, opinion_form_submit_response);

  return false;
}

function opinion_form_submit_response(xmlDoc)
{
  toggle_wait(false);

  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  for (var i = 0; i < rs.length; i++)
  {
    var ok = parseInt(rs[i].getAttribute('ok'));
    var text = rs[i].getAttribute('text');

    if (ok)
    {
      window.location.reload();
    }
    else
    {
      alert(text);
    }
  }
}

/* portfolio_marks */

function portfolio_mark_form_submit()
{
  var portfolio_mark_portfolio_id = _ge('portfolio_mark_portfolio_id');
  var portfolio_mark_submit = _ge('portfolio_mark_submit');
  var portfolio_mark_mark = 0;

  for (var i = 1; i <= 5; i++)
  {
    var e = _ge('portfolio_mark_mark_'+i);
    if (e.checked)
    {
      portfolio_mark_mark = i;
      break;
    }
  }

  //portfolio_mark_submit.src = 'i/btn_add_portfolio_mark_wait.gif';

  var xml_url = '/xml/add_portfolio_mark.php';
  var __query_str = 'portfolio_id='+escape(portfolio_mark_portfolio_id.value)+'&mark='+escape(portfolio_mark_mark);

  toggle_wait(true);

  diXMLRequest.post(xml_url, __query_str, portfolio_mark_form_submit_response);

  return false;
}

function portfolio_mark_form_submit_response(xmlDoc)
{
  toggle_wait(false);

  if (!xmlDoc) return false;

  var rs = xmlDoc.documentElement.getElementsByTagName('result');
  if (rs.length == 0) return false;

  for (var i = 0; i < rs.length; i++)
  {
    var ok = parseInt(rs[i].getAttribute('ok'));
    var text = rs[i].getAttribute('text');
    var id = parseInt(rs[i].getAttribute('id'));
    var mark = parseInt(rs[i].getAttribute('mark'));

    if (ok)
    {
      var e = _ge('portfolio_mark_div_'+id);

      if (e) e.innerHTML = 'Ваша оценка этой работе: '+mark+'.00';
    }
    else
    {
      alert(text);
    }
  }
}

function show_projects_filter_div()
{
  var e1 = _ge('sub_menu');
  var e2 = _ge('projects_filter_show_btn');

  if (e1 && e2)
  {
    e1.style.display = 'block';
    e2.style.display = 'none';
  }
}

