function copytext(id) {
	if (el = document.getElementById(id)) {
		el.select(); 
		document.execCommand('Copy');
	}
}

function ctrlEnter(event) {
    if((event.ctrlKey) && ((event.keyCode == 0xA)||(event.keyCode == 0xD)))
        {
        return true;
        }
		else return false;
}


function fnShowProps(obj, objName){
   var result = "";
   for (var i in obj) // обращение к свойствам объекта по индексу
       result += objName + "." + i + " = " + obj[i] + "<br />\n";
   alert(result);
}

function stripslashes( str ) {
   // *     example 1: stripslashes('Kevin\'s code');
   // *     returns 1: "Kevin's code"
   // *     example 2: stripslashes('Kevin\\\'s code');
   // *     returns 2: "Kevin\'s code"
   return (str+'').replace(/\0/g, '0').replace(/\\([\\'"])/g, '$1');
}
function str_replace(needle, replacement, haystack) {
	var temp = haystack.split(needle);
	return temp.join(replacement);
}

function preventSelection(element){
  var preventSelection = false;

  function addHandler(element, event, handler){
    if (element.attachEvent)
      element.attachEvent('on' + event, handler);
    else
      if (element.addEventListener)
        element.addEventListener(event, handler, false);
  }
  function removeSelection(){
    if (window.getSelection) { window.getSelection().removeAllRanges(); }
    else if (document.selection && document.selection.clear)
      document.selection.clear();
  }
  function killCtrlA(event){
    var event = event || window.event;
    var sender = event.target || event.srcElement;

    if (sender.tagName.match(/INPUT|TEXTAREA/i))
      return;

    var key = event.keyCode || event.which;
    if (event.ctrlKey && key == 'A'.charCodeAt(0))  // 'A'.charCodeAt(0) можно заменить на 65
    {
      removeSelection();

      if (event.preventDefault)
        event.preventDefault();
      else
        event.returnValue = false;
    }
  }

  // не даем выделять текст мышкой
 /* 
  addHandler(element, 'mousemove', function(){
    if(preventSelection)
      removeSelection();
  });
  addHandler(element, 'mousedown', function(event){
    var event = event || window.event;
    var sender = event.target || event.srcElement;
    preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
  });
  */

  // борем dblclick
  // если вешать функцию не на событие dblclick, можно избежать
  // временное выделение текста в некоторых браузерах
  addHandler(element, 'mouseup', function(){
    if (preventSelection)
      removeSelection();
    preventSelection = false;
  });

  // борем ctrl+A
  // скорей всего это и не надо, к тому же есть подозрение
  // что в случае все же такой необходимости функцию нужно
  // вешать один раз и на document, а не на элемент
  addHandler(element, 'keydown', killCtrlA);
  addHandler(element, 'keyup', killCtrlA);
}


function showLoadingMessage() {
        var sizes = getWindowSizes();
        var scrolls = getScrollXY();
        var h =  xajax.$('loadingMessage').style.height.substring(0,
xajax.$('loadingMessage').style.height.length-2);
        var w =  xajax.$('loadingMessage').style.width.substring(0,
xajax.$('loadingMessage').style.width.length-2);
        var xTop = sizes[1]/2 + scrolls[1] - h;
        var xLeft = sizes[0]/2 + scrolls[0] - w/2;
        xajax.$('loadingMessage').style.top = xTop+'px';
        xajax.$('loadingMessage').style.left = xLeft+'px';
        xajax.$('loadingMessage').style.display='block';
}

function hideLoadingMessage() {
        xajax.$('loadingMessage').style.display = 'none';
}

function siteLoading() {
	document.getElementById('site_loading_progress_wrapper').style.display="none";
	document.getElementById('site_wrapper').style.display="block";
}
///////////////////////////////////////////////////////////////
function setCenter2(id_layer) {
var scrollLeft, scrollTop;
if (window.pageYOffset) {
	scrollTop = window.pageYOffset
}
else if (document.documentElement && document.documentElement.scrollTop) {
	scrollTop = document.documentElement.scrollTop;
}
else if (document.body) {
	scrollTop = document.body.scrollTop;
}
if (window.pageXOffset) {
	scrollLeft=window.pageXOffset
}
else if (document.documentElement && document.documentElement.scrollLeft) {
	scrollLeft=document.documentElement.scrollLeft;
}
else if (document.body) {
	scrollLeft=document.body.scrollLeft;
}
var windowWidth, windowHeight;
if (window.innerWidth) {
	windowWidth=window.innerWidth;
}
else if (document.documentElement && document.documentElement.clientWidth) {
	windowWidth=document.documentElement.clientWidth;
}
else if (document.body) {
	windowWidth=document.body.offsetWidth;
}
if (window.innerHeight) {
	windowHeight=window.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight){
	windowHeight=document.documentElement.clientHeight;
}
else if (document.body){
	windowHeight=document.body.clientHeight;
}
var layerWidth, layerHeight;
layerWidth=document.getElementById(id_layer).offsetWidth;
layerHeight=document.getElementById(id_layer).offsetHeight;

var delta;
delta = windowHeight - layerHeight;
if (delta < 0) delta=0;
document.getElementById(id_layer).style.top = (delta)/2 + scrollTop + 'px';
document.getElementById(id_layer).style.left = (windowWidth - layerWidth)/2 + 'px';
}
///////////////////////////////////////////////////////////////
function showWin(id) {
	if (document.getElementById(id)) document.getElementById(id).style.display = 'block';
}
///////////////////////////////////////////////////////////////
function hideWin(id) {
	if (document.getElementById(id)) document.getElementById(id).style.display = 'none';
}
///////////////////////////////////////////////////////////////
function checkAll(oForm, cbName, checked) {
	for (var i=0; i < oForm[cbName].length; i++) oForm[cbName][i].checked = checked;
}
////////////////////////////////////////////////////////////////
function askConfirm(text, func_name) {
	if (confirm(text)) {
		eval(func_name);
		return false;
	}
	else return false;
}
///////////////////////////////////////////////////////////////
function setCenter(divID, w, h)
{

	if (div = document.getElementById(divID)) {
		var sizes = getWindowSizes();
		var scrolls = getScrollXY();
		if (!h) h = div.style.height.substring(0,  div.style.height.length-2);
		if (!w) w = div.style.width.substring(0,  div.style.width.length-2);
		//if (!h) h = document.getElementById('popup_sub').offsetHeight;
		//if (!w) w = document.getElementById('popup_sub').offsetWidth;
		var xTop = sizes[1]/2 + scrolls[1] - h/2;
		var xLeft = sizes[0]/2 + scrolls[0] - w/2;
		div.style.top = xTop+'px';
		div.style.left = xLeft+'px';
	}
}
///////////////////////////////////////////////////////////////
function getScrollXY() {
   var scrOfX = 0, scrOfY = 0;
   if( typeof( window.pageYOffset ) == 'number' ) {
     //Netscape compliant
     scrOfY = window.pageYOffset;
     scrOfX = window.pageXOffset;
   } else if( document.body && ( document.body.scrollLeft ||
document.body.scrollTop ) ) {
     //DOM compliant
     scrOfY = document.body.scrollTop;
     scrOfX = document.body.scrollLeft;
   } else if( document.documentElement &&
( document.documentElement.scrollLeft ||
document.documentElement.scrollTop ) ) {
     //IE6 standards compliant mode
     scrOfY = document.documentElement.scrollTop;
     scrOfX = document.documentElement.scrollLeft;
   }
   return [ scrOfX, scrOfY ];
}
///////////////////////////////////////////////////////////////
function getWindowSizes() {
   var myWidth = 0, myHeight = 0;
   if( typeof( window.innerWidth ) == 'number' ) {
     //Non-IE
     myWidth = window.innerWidth;
     myHeight = window.innerHeight;
   } else if( document.documentElement &&
( document.documentElement.clientWidth ||
document.documentElement.clientHeight ) ) {
     //IE 6+ in 'standards compliant mode'
     myWidth = document.documentElement.clientWidth;
     myHeight = document.documentElement.clientHeight;
   } else if( document.body && ( document.body.clientWidth ||
document.body.clientHeight ) ) {
     //IE 4 compatible
     myWidth = document.body.clientWidth;
     myHeight = document.body.clientHeight;
   }
   return [ myWidth, myHeight ];
}
///////////////////////////////////////////////////////////////

function closeWindow(id_layer) {
	document.getElementById(id_layer).style.visibility = "hidden";
}
