/*

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

*/

$(function() {
    $("#st_alert").dialog({
                autoOpen: false,
                modal: true,
                dialogClass: 'alert_dialog',
                buttons: {
                        Ok: function() {
                                $(this).dialog('close');
                        }
                }
    });

});

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 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 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')){
//	ajax('/forum/search.php','',);
	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 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;
    }
}

function search_news(){
    var scrit = getObj("st_search");
    scrit.value = translitTagAware(scrit.value);
}

function st_register(){
    var navbar_username = getObj('navbar_username');
    var navbar_pass = getObj('navbar_pass');
    var navbar_pass_again = getObj('navbar_pass_again');
    var navbar_email = getObj('navbar_email');
    var secnum = getObj('secnum');
    
    if(navbar_username.value != ''){
	if((navbar_pass.value != navbar_pass_again.value) || (navbar_pass.value == '' && navbar_pass_again.value == '')){
	    show_alert_dialog('Создание нового профайла','Указанные вами пароли являются разными или не указаны, проверьте пароли!');
	} else {
	    if(navbar_email.value == ''){
		show_alert_dialog('Создание нового профайла','Вы не указали адрес электронной почты!');
	    } else {
		if(secnum.value != ''){
		    ajax('/include/stech_dynamic.php','ac=2&usr='+navbar_username.value,ok_SENT_register);
		} else {
		    show_alert_dialog('Создание нового профайла','Вы не указали код проверки цифрами');
		}
	    }
	}
    } else {
	show_alert_dialog('Создание нового профайла','Вы не указали название профайла (логин)!');
    }
}
function ok_SENT_register(response){
    var navbar_username = getObj('navbar_username');
    
    if(response == 'OK'){
	var reg_btn = getObj('reg_btn');
	reg_btn.style.visibility = 'hidden';

	var navbar_pass = getObj('navbar_pass');
	var secnum = getObj('secnum');
	var secunum_index = getObj('secunum_index');
	var navbar_email = getObj('navbar_email');
	ajax('/include/stech_dynamic.php','ac=3&usr='+navbar_username.value+'&msg='+navbar_email.value+'&msg2='+navbar_pass.value+'&val='+secnum.value+'&val2='+secunum_index.value,ok_SENT_createprofile);
    } else {
	show_alert_dialog('Создание нового профайла','Выбранный вами профайл уже занят, выберите другой!');
    }
}
function ok_SENT_createprofile(response){
    if(response == 'OK'){
	var portal_login = getObj('portal_login');
	portal_login.submit();
    } else {
	if(response == 'INVSEC'){
	    show_alert_dialog('Создание нового профайла','Вы указали неверный код проверки!');
	    var reg_btn = getObj('reg_btn');
	    reg_btn.style.visibility = 'visible';
	} else {
	    show_alert_dialog('Создание нового профайла',response);
	}
    }
}
function show_alert_dialog(title,descr){
    var st_alert = getObj('st_alert');
    if(st_alert != null){
	st_alert.title = title;
	st_alert.innerHTML = descr;
	$("#st_alert").dialog("option","dialogClass",'alert_dialog');
	$("#st_alert").dialog("option","width",460);
	$("#st_alert").dialog("option","title",title);
	$("#st_alert").dialog('open');
    }
}
function do_mp_login(){
    var mp_login = getObj('mp_login');
    if(mp_login != null){
	mp_login.submit();
    }
}
function open_smilie_layer(){
    var lay = getObj('smilielayer'); var lay_link = getObj('sm_link'); var lay_body = getObj('smilielayer_body');
    if((lay != null) && (lay_link != null) && (lay_body != null)){
	var lay_left = findPos(lay_link).left; var lay_top = findPos(lay_link).top;
	
	lay_body.src = '/include/st_forum_smilies.php';
	lay.style.position='absolute';
	lay.style.left = lay_left+'px';
	lay.style.top = lay_top+'px';
	lay.style.display='block';
    }
}
function open_photo_layer(){
    var lay = getObj('photolayer'); var lay_link = getObj('ph_link'); var lay_body = getObj('photolayer_body');
    if((lay != null) && (lay_link != null)){
	var lay_left = findPos(lay_link).left; var lay_top = findPos(lay_link).top;
	
	lay_body.src = '/include/st_fotki_lister.php?cat=0';
	lay.style.position='absolute';
	lay.style.left = lay_left+'px';
	lay.style.top = lay_top+'px';
	lay.style.display='block';
    }
}
function close_smiliebox(){
    var parentWin = window.parent.document;
    parentWin.getElementById('smilielayer').style.display = 'none';
}
function take_smilie(sm){
    var parentWin = window.parent.document;
    var msg_win = parentWin.getElementById('message');
    var note_input_field = parentWin.getElementById('note_input_field');
    if(msg_win != null) msg_win.value = msg_win.value+' '+sm+' ';
    if(note_input_field != null) note_input_field.value = note_input_field.value+' '+sm+' ';
}
function close_photobox(){
    var parentWin = window.parent.document;
    parentWin.getElementById('photolayer').style.display = 'none';
}
function take_photo(sm){
    var parentWin = window.parent.document;
    var msg_win = parentWin.getElementById('message');
    if(msg_win != null){
        msg_win.value = msg_win.value+' [FOTO]'+sm+'[/FOTO] ';
    }
}


