function getBounds(element)
{
  var left = element.offsetLeft;
  var top = element.offsetTop;
  for (var parent = element.offsetParent; parent; parent = parent.offsetParent)
  {
    left += parent.offsetLeft;
    top += parent.offsetTop;
  }
  return {left: left, top: top, width: element.offsetWidth, height: element.offsetHeight};
}

function _get_time_now()
{
 var mydate = new Date();
 return mydate.getTime();
}
var loadedurls={};
function crel(url)
{
 if (!loadedurls[url])
 {
 var t=document.createElement('script');
   t.type="text/javascript";
   t.src=url;
   var d=document.getElementById('appendajax');
   d.appendChild(t);
 }
}
function ajax_request (query_string, script)
{ if (!script) script="ajax.php";
 //alert('34 43534');
 try
 {
   var http = get_http();
   http.open('POST', ipb_var_home_url+script+'?__=' +Math.random(), true);
   http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   http.send(query_string);
   http.onreadystatechange = function() {
   if (http.readyState == 4)
     if (http.responseText)
      ajax_ev(http.responseText);
   }
 }  catch (e)
 {if (query_string.length<2000)crel(ipb_var_home_url+script+'?'+query_string+"&__=" +Math.random());}
}
function get_http(){
    var xmlhttp;
    if (!xmlhttp && typeof (XMLHttpRequest) != undefined) {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
           try {
           xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
           }
           catch (E) {
            xmlhttp = false;
            }
        }
    }
    return xmlhttp;
}
function ajax_ev(a){eval(a);}
function encodeurl ( url ){return escape(url).replace(/\+/g, "%2B");}


function std_window_resize( box, pix ){var cur_height = parseInt( box.rows ) ? parseInt( box.rows ) : 20;var new_height = cur_height + pix;if ( new_height > 0 ){box.rows = new_height;
        }

        return false;
}
function lang_build_string(){if ( ! arguments.length || ! arguments ){return;}var string = arguments[0];for( var i = 1 ; i < arguments.length ; i++ ){var match  = new RegExp('<%' + i + '>', 'gi');string = string.replace( match, arguments[i] );}return string;}
var pm_ref_height=200;
var pm_ref_width=550;
var pm_ref_time=15000;
var lastdocomm=0;
function pm_resize (h,w)
{ var d=document.getElementById('root');
  d.style.height=h+'px';
  d.style.width=w+'px';
  document.getElementById('handle').style.width=(w-8)+'px';
  document.getElementById('pm_cont').style.height=(h-20)+'px';
}
function pm_refresh(mid){if(_get_time_now()-pm_ref_lastload>=pm_ref_time && _get_time_now()-pm_page_load>=pm_ref_time) ajax_request('act=check_pm&mid='+mid+'&loaded='+pm_ref_loaded_modules+'&lastload='+pm_ref_lastload+'&nextdiv='+pm_ref_next_div+'&last_id='+pm_ref_last_id+'&md='+pm_ref_md, "pmcheck.php");}

// Глобальные переменные
var isCSS, isW3C, isIE4, isNN4, isIE6CSS;
// функция инициализации
// это обязательно нужно инициализировать ПОСЛЕ загрузки
// страницы, чтобы документ успел сформировать свое содержимое
function initAPI() {
   if (document.images) {
      isCSS = (document.body && document.body.style) ? true : false;
      isW3C = (isCSS && document.getElementById) ? true : false;
      isIE4 = (isCSS && document.all) ? true : false;
      isNN4 = (document.layers) ? true : false;
      isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
   }
}
// собственно инициализируем этот API
window.onload = initAPI;
// получаем строку с именем объекта или ссылку на него
function getObject(obj) {
   var theObj;
   if (typeof obj == "string") {
      if (isW3C) {
         theObj = document.getElementById(obj);
      } else if (isIE4) {
         theObj = document.all(obj);
      } else if (isNN4) {
         theObj = document.layers(obj).document;
      }
   } else {
      theObj = obj;
   }
   return theObj;
}

