/*

    Russian.Fi main JS
    Suomitech Oy, 2010
    No copying!

*/

function findPos(obj) {
  var pos = new Object;
  pos.left = 0;
  pos.top = 0;
        if (obj.offsetParent)   {
                while (obj.offsetParent) {
                  pos.left += obj.offsetLeft;
                        pos.top  += obj.offsetTop;
                        obj = obj.offsetParent;
                };
        }       else if (obj.x) {
          pos.left = obj.x;
          pos.top = obj.y;
        };
        return pos;
};

function show_hidden_layer(objname){
      var o = getObj(objname);
      if(o.style.display == 'none') {
        o.style.display = 'block';
      } else {
        o.style.display = 'none';
      }
}

function getObj(name){
      if (document.getElementById)
      {
            return document.getElementById(name);
      }
      else if (document.all)
      {
            return document.all[name];
      }
      else if (document.layers)
      {
            return document.layers[name];
      }
}

function closeLayer(layerclose){
    if (! document.getElementsByTagName) { return; };
    var layer = getObj(layerclose);
    layer.style.display = "none";
}

function show_layer(layershow,relativeto,fo,lo,ro) {
  if (! document.getElementsByTagName) { return; };

  layerdata = layershow;

  var uni_layer = getObj(layershow);
  var rel_layer = getObj(relativeto);
  var pos = findPos(rel_layer);

  uni_layer.style.position = 'absolute';

  if (lo == null){
    lo = 0;
  }
  if (ro == null){
    ro = 0;
  }

  if(document.selection){
    uni_layer.style.top = (pos.top+17-ro) + "px";
    uni_layer.style.left = (pos.left+14-lo) + "px";
  } else {
    uni_layer.style.top = (pos.top+20-ro) + "px";
    uni_layer.style.left = (pos.left+10-lo) + "px";
  }

  uni_layer.style.display = "block";

  if (fo != null){
    var focus_element = getObj(fo);
    focus_element.focus();
  }
}

function poisk_search(){
    var he = getObj('poiskfi');
    var ps = getObj('mp_search');
    var ps_top = getObj('mp_search_top');
    var ps_middle = getObj('mp_search_middle');
    var sfor = '';

    if(he != null){ sfor = encodeURIComponent(he.value); }
    if(ps != null){ if(ps.value != '') {sfor = encodeURIComponent(ps.value); }}
    if(ps_top != null){ if(ps_top.value != '') {sfor = encodeURIComponent(ps_top.value); }}
    if(ps_middle != null){ if(ps_middle.value != '') {sfor = encodeURIComponent(ps_middle.value); }}

    if(sfor != encodeURIComponent('поиск на poisk.fi')){
	document.location.href = 'http://www.poisk.fi/index.php?s='+sfor+'&o=1,1,1,1,1,1,1';
	return false;
    } else {
	alert('Неверное ключевое слово для поиска');
	return false;
    }
}

function ajax(url, vars, callbackFunction) {
  var request;
  if( typeof XMLHttpRequest == "undefined" ) {
      request = new ActiveXObject("Microsoft.XMLHTTP");
  } else {
      request = null;
      request = new XMLHttpRequest();
  }

  request.open("POST", url, true);
  request.setRequestHeader("Content-Type",
                           "application/x-www-form-urlencoded; charset=CP1252;");

  request.onreadystatechange = function() {
    if (request.readyState == 4 && request.status == 200) {
      if (request.responseText) {
        callbackFunction(request.responseText);
      }
    }
  };
  request.send(vars);
}

function ok_SENT_postdel(response){
    if(response == 'NOMOD'){
	alert('У Вас нет прав на удаление данного сообщения!');
    } else {
	if(response.length > 0){
	    var post_body = getObj('flood_body_'+response);
	    if(post_body != null){
		post_body.innerHTML = 'Сообщение удалено.';
	    }
	}
    }
}

function delzap(postid){
    var post_body = getObj('flood_body_'+postid);
    if(post_body != null){
	ajax('/include/stech_dynamic.php','ac=1&postid='+postid+'&val=0',ok_SENT_postdel);
    }
}

function stech_showlayer(objname){
      var o = getObj(objname);
      if(o.style.display == 'none') {
        o.style.display = 'block';
      } else {
        o.style.display = 'none';
      }
}

function delProfile(vbu){
    if(confirm('Бы совершенно уверены в том, что хотите удалить свой профайл из системы Russian.fi? Администрация портала не восстанавливает удаленные аккаунты. Стоит задумаьтся, решает ли удаление профайла саму причину, по которой профайл удаляется...')){
	document.location.href='/include/profidel.php?ref='+vbu;
    }
}