var isOpera = Boolean(window["opera"]);
var isIE = (navigator.appName.indexOf("Microsoft") != -1) && !isOpera;

function uPicOver(span) {
	var avatarPath, img;
	avatarPath = "http://avt.foto.mail.ru/";
	img = document.getElementById("forUserPicShow");
	img.src = avatarPath + span.id + "/_avatar";
	img.style.top = absPosition(span).y + span.offsetHeight;
	img.style.left = absPosition(span).x;
	img.style.display = "";
}

function uPicOut(span) {
	var img;
	var img = document.getElementById("forUserPicShow");
	img.style.display = "none";
	img.src = "wait.gif";

}

function gebi(eid) {
    return document.getElementById(eid);
}

function absPosition(obj) { // Определяем top - left координаты блока obj
    var ox = 0;
    var oy = 0;
    while( obj ) {
        ox += obj.offsetLeft;
        if(Theme_tmpl)
		{//только для ИЕ, для выпадающего меню рядом с пользоватетем и для постов!!! сделано так потому что неправильно определяются координаты из-за позиционирования родительских блоков
			if(navigator.appName == "Microsoft Internet Explorer" && obj.nodeName == "A" && obj.id == "post_menu")
				oy += 1;
			else
	        oy += obj.offsetTop;
		}
		else oy += obj.offsetTop;
        //  В некоторых случаях почему-то для элемента на странице отсутствует офсет
        if ( obj.offsetParent == null ) {
            obj = obj.nodeName == 'BODY' ?  null : obj.parentNode;
        }

        if ( obj!=null ) obj = obj.offsetParent;
    }
    return {x:ox,y:oy};
}

function check_winsize(){
	var size;
	if (document.all) size=window.document.body.clientWidth;
	else size=window.innerWidth;
	if (size>820){
		document.getElementById("zapis_div").style.width=size*0.63;
	} else {
		document.getElementById("zapis_div").style.width=500;
	}
}

function show_add_to_friends_on_load()
{
    if(window.location.search.indexOf('show_add_to_friend=1')>=0) 
		show_friend_group_selector('for_friend_group_selector',PerlVar_JournalEmail);
}

function get_back_param_str() { 
	return encodeURIComponent(document.getElementById("back_param_input").value);
}

/* попапы */

var popup_l = false;
//функция для отображения popup окна, при нажатии на ссылку  "увеличить" под аватаром
function popup_larger(Url) 
{
	if (popup_l) popup_l.close();
	popup_l = window.open(Url,'popup','width=580,height=580,toolbars=no,scrollbars=yes,resizable=yes,left='+(screen.width-580)/2+',top='+(screen.height-580)/2);
	if (popup_l) popup_l.focus();
}	
	
/* mp3 player*/

function embed_mp3_player(URL) {
   // Get Operating System
   var isWin = navigator.userAgent.toLowerCase().indexOf("windows") != -1;
   if (isWin) { // Use MIME type application/x-mplayer2
      visitorOS="Windows";
   } else { // Use MIME type audio/mpeg, audio/x-wav, etc.
      visitorOS="Other";
   }

   var objTypeTag = "application/x-mplayer2"; // The MIME type to load the WMP plugin in non-IE browsers on Windows
   if (visitorOS != "Windows") { objTypeTag = "audio/mpeg"}; // The MIME type for Macs and Linux

   document.writeln("<div>");
   document.writeln("<object width='280' height='69'>"); // Width is the WMP minimum. Height = 45 (WMP controls) + 24 (WMP status bar)
   document.writeln("<param name='type' value='" + objTypeTag + "'>");
   document.writeln("<param name='src' value='" + URL + "'>");
   document.writeln("<param name='autostart' value='0'>");
   document.writeln("<param name='showcontrols' value='1'>");
   document.writeln("<param name='showstatusbar' value='1'>");
   document.writeln("<embed src ='" + URL + "' type='" + objTypeTag + "' autoplay='false' autostart='0' width='280' height='69' controller='1' showstatusbar='1' bgcolor='#ffffff'></embed>");

   // Firefox and Opera Win require both autostart and autoplay
   document.writeln("</object>");
   document.writeln("</div>");
}

/* journal */

function has_javascript()
{
    app_name=navigator.userAgent.toLowerCase();
    opera_exist=app_name.indexOf("opera");
    nets_exist=app_name.indexOf("netscape");
    nets_vers=parseFloat(app_name.substring(nets_exist+9, app_name.length));
    opera_vers=parseFloat(app_name.substring(opera_exist+6, app_name.length));
    if ((opera_exist!=-1 && opera_vers<=7.5) || (nets_exist!=-1 && nets_vers<7.1)) return false;
    return true;
}

function black_list_confirm(url,action,username) {
	if (action=="add") {
		if (confirm("Добавить "  + username + " в Черный список? ")) {
		location="http://" + PerlVar_BlogsPerlHost + "/"+url;
		}
	} else {
		if (confirm("Удалить " + username + " из Черного списка?")) {
		location="http://" + PerlVar_BlogsPerlHost + "/"+url;
		}
	}
}

function get_cookie(name)
{
    var prefix = name + "=";
    var start = document.cookie.indexOf(prefix);
    if (start == -1) return null;
    start += prefix.length;
    var end = document.cookie.indexOf(";", start);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(start, end));
}

function set_cookie(name, value)
{
    var cookie = name + "=" + escape(value) + ";expires=Sun, 31-Dec-34 23:59:59 GMT;path=/";
    if (cookie.length <= 4000) document.cookie = cookie;
} 

function screen_post_callback(result, id, to_screen) {
    if (result) {
        var scr = document.getElementById('screen_post_link_'+id);
        var unscr = document.getElementById('unscreen_post_link_'+id);
        if (to_screen) {
            scr.style.display = 'none';
            unscr.style.display = '';
        } else {
            scr.style.display = '';
            unscr.style.display = 'none';
        }
    }
}

function screen_post(id, to_screen) {
    perl_screen_post(id, to_screen, screen_post_callback);
}

function cfm(obj) {
		if(typeof(PerlVar_Extlinks_Alert)!='undefined' &&  PerlVar_Extlinks_Alert==0) return true;
        var txt = obj.href;
        txt = txt.replace(/http:\/\/([A-Za-z0-9_\-\.]+)[^>]*/ig , "$1");
        return confirm('Вы собираетесь перейти по внешней ссылке на сайт: "'+txt+'"\n\nАдминистрация компании Mail.ru не несет ответственности за содержимое сайта "'+txt+'" и настоятельно рекомендует никогда не вводите пароль от своего почтового ящика на посторонних ресурсах. \n\nОткрыть сайт?');
}

function cfmu(url) {
		if(typeof(PerlVar_Extlinks_Alert)!='undefined' &&  PerlVar_Extlinks_Alert==0) return true;
        return confirm('Вы собираетесь перейти по внешней ссылке на сайт: "'+url+'"\n\nАдминистрация компании Mail.ru не несет ответственности за содержимое сайта "'+url+'" и настоятельно рекомендует никогда не вводите пароль от своего почтового ящика на посторонних ресурсах. \n\nОткрыть сайт?');
}

function getElementPosition(elemId)
{
    var elem = document.getElementById(elemId);	
    var w = elem.offsetWidth;
    var h = elem.offsetHeight;	
    var l = 0;
    var t = 0;	
    while (elem)
    {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }

    return {"left":l, "top":t, "width": w, "height":h};
}

function getClientWidth()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight()
{
	var a='';
	a=(document.documentElement.clientHeight<document.body.clientHeight)?document.documentElement.clientHeight:document.body.clientHeight;
	if(document.documentElement.clientHeight==0 || document.documentElement.clientHeight=='undefined') a=document.body.clientHeight;
	if(document.body.clientHeight==0 || document.body.clientHeight=='undefined') a=document.documentElement.clientHeight;
	return a;  
}

function getBodyScrollTop()
{
	return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function getBodyScrollLeft()
{
	return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}

function shadowDiv(key, color){
	var shad = gebi('shadow_div');
	if(!color) color = '#333';
	if(key == '1'){
			shad.style.backgroundColor = color;
			shad.style.height = document.body.scrollHeight;
			shad.style.display= '';
		}else{
			shad.style.display= 'none';
		}
		
}

