function show_emo(){
document.getElementById("emo").style.display = "block";}

function hide_emo(){
document.getElementById("emo").style.display = "none";}

function add_smile(smile){
document.getElementById('message').value=document.getElementById('message').value+smile;}

function ajx(){
ajax = typeof window.external=='object' && typeof document.all=='object'
? new ActiveXObject("Microsoft.XMLHTTP")
: new XMLHttpRequest();

var mess = "message="+document.getElementById('message').value;
ajax.open('post','http://all-lyrics.ru/engine/modules/chat/chat.php',true);
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(mess);
document.getElementById('message').value='';
document.getElementById('frame_mess').contentWindow.location.reload();
return false;}

function refr(){
path = "../engine/modules/captcha.php?"+Math.random();
document.kod.src=path;
}
function show_select(){
document.getElementById('select_v').style.display = "block"}

function hide_select(){
document.getElementById('select_v').style.display = "none";}

function zm_select(text,id){
document.getElementById("a2").innerHTML = text;
document.getElementById('zapas').value=id;
document.getElementById('select_v').style.display = "none";}

function resize_textarea(to, id)
{
var orig = 400; // устанавливаем высоту в пикселях по умолчанию
var step = 50; // устанавливаем шаг, на который будем уменьшать или увеличивать высоту

// получаем переменную с ID textarea
var textarea = document.getElementById(id);

// если необходимо уменьшить поле
if (to == 0)
{
// узнаем текущую высоту textarea, через доступ к стилю
// с помощью регулярного выражения replace, вырезаем из значения 'px'
// или те единицы измерения, которые необходимо
var t_height = textarea.style.height.replace('px', '');

// если текущая высота меньше или равна высоте по умолчанию
// присваиваем значение по умолчанию
if (t_height <= orig) textarea.style.height = orig + 'px';

// иначе
else
{
// приводим все значения к числовому типу данных
// с помощью функции parseInt()
// и из текущей высоты t_height вычитаем шаг, 
// на который необходимо уменьшить высоту
var height = parseInt(t_height) - parseInt(step);

// устанавливаем полученное значение стилю textarea
textarea.style.height = height + 'px';
}

}

// если необходимо увеличить поле
else
{
// узнаем текущую высоту textarea, через доступ к стилю
var t_height = textarea.style.height.replace('px', '');

// к текущей высоте t_height прибавляем шаг, 
// на который необходимо увеличить высоту
var height = parseInt(t_height)+parseInt(step);

// устанавливаем полученное значение стилю textarea
textarea.style.height = height + 'px';
}
return false;	
}

function SetCookie (name, value) {  
var ExpDate = new Date (); 
ExpDate.setTime(ExpDate.getTime() + (12*30*24* 60 * 60 * 1000));
var expires=ExpDate;
var argv = SetCookie.arguments;  
var argc = SetCookie.arguments.length;  
var path = (argc > 3) ? argv[3] : null;  
var domain = (argc > 4) ? argv[4] : null;  
var secure = (argc > 5) ? argv[5] : false;  
document.cookie = name + "=" + escape (value) +  
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +  
((path == null) ? "" : ("; path=" + path)) +  
((domain == null) ? "" : ("; domain=" + domain)) +  
((secure == true) ? "; secure" : "");}

// Объявим глобальные переменные
// Переменная состояния, по умолчанию ничего не двигается = false
var moveState = false;
// Переменные координат мыши в начале перемещения, пока неизвестны
var x0, y0;
// Начальные координаты элемента, пока неизвестны
var divX0, divY0;

// Объявим функцию для определения координат мыши
function defPosition(event) {
    var x = y = 0;
    if (document.attachEvent != null) { // Internet Explorer & Opera
        x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
        y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
    }
    if (!document.attachEvent && document.addEventListener) { // Gecko
        x = event.clientX + window.scrollX;
        y = event.clientY + window.scrollY;
    }
    return {x:x, y:y};
}

// Функция инициализации движения
// Записываем всё параметры начального состояния
function initMove(div, event) {
    var event = event || window.event;
    x0 = defPosition(event).x;
    y0 = defPosition(event).y;
    divX0 = parseInt(div.style.left);
    divY0 = parseInt(div.style.top);
    moveState = true;
}

// Если клавишу мыши отпустили вне элемента движение должно прекратиться
document.onmouseup = function() {
    moveState = false;
}

// И последнее
// Функция обработки движения:
function moveHandler(div, event) {
    var event = event || window.event;
    if (moveState) {
        div.style.left = divX0 + defPosition(event).x - x0;
        div.style.top  = divY0 + defPosition(event).y - y0;
    }
}
 document.onmousemove = function  moveTip(e) {
 floatTipStyle = document.getElementById("floatTip").style;
  w = 250; // Ширина слоя
  // Для браузера IE
  if (document.all)  { 
    x = event.x + document.body.scrollLeft; 
    y = event.y + document.body.scrollTop; 
  // Для остальных браузеров
  } else { 
    x = e.pageX; // Координата X курсора
    y = e.pageY; // Координата Y курсора
  }
  // Показывать слой справа от курсора 
  if ((x + w +  10) < document.body.clientWidth) { 
    floatTipStyle.left = x + 'px';
  // Показывать слой слева от курсора
  } else { 
    floatTipStyle.left  = x - w + 'px';
  }
  // Положение от  верхнего края окна браузера
  floatTipStyle.top = y + 20 + 'px';
 }
 
 function toolTip(msg) {
  floatTipStyle = document.getElementById("floatTip").style;
  if (msg) {
  // Выводим текст подсказки
    document.getElementById("floatTip").innerHTML  = msg;
  //  Показываем слой
    floatTipStyle.display =  "block";
  } else { 
  // Прячем  слой
    floatTipStyle.display = "none";
  } 
 }
 
 function insertTag(elem, tagstart, tagend) {
// Mozilla и другие вменяемые браузеры
	elem =document.getElementById(elem);
	
	if (elem.setSelectionRange) {
	
		var end = elem.selectionEnd;
		var scrollTop=elem.scrollTop;
		var scrollLeft=elem.scrollLeft;
		if(tagend!=""){
			elem.value = elem.value.substring(0, elem.selectionStart) +
				tagstart +
			elem.value.substring(elem.selectionStart, elem.selectionEnd) +
				tagend +
			elem.value.substring(elem.selectionEnd, elem.value.length);
		}
		else{
			elem.value = elem.value.substring(0, elem.selectionStart) +
			elem.value.substring(elem.selectionStart, elem.selectionEnd) +
			tagstart +
			elem.value.substring(elem.selectionEnd, elem.value.length);
		}
			elem.setSelectionRange(end,end);
		elem.focus();
		elem.scrollTop=scrollTop;
		elem.scrollLeft=scrollLeft;

	}
// MSIE
	else {
		var selectedText = document.selection.createRange().text;
		if (selectedText != "") {
		if(tagend!=""){
			var newText = tagstart + selectedText + tagend;
		}
		else{
			var newText = selectedText+tagstart;
		}
		document.selection.createRange().text = newText;
		}
		else{
		elem.innerHTML=tagstart+elem.innerHTML+tagend;
		}		
	}
} // insertTag


function sizeArea(text){
	var elem=document.getElementById(text);
	if(elem.scrollHeight>=elem.offsetHeight){
		elem.style.height=elem.scrollHeight+'px';
	}
}

/*
Создание XMLHttpRequest-объекта
Возвращает созданный объект или null,
если XMLHttpRequest не поддерживается
*/
function createRequestObject() {
    var request = null;
    try {
        request=new ActiveXObject('Msxml2.XMLHTTP');
    } catch (e){}
    if(!request) try {
        request=new ActiveXObject('Microsoft.XMLHTTP');
    } catch (e){}
    if(!request) try {
        request=new XMLHttpRequest();
    } catch (e){}
    return request;
}

/*
Выполнение POST-запроса 
url  - адрес запроса
data - параметры в виде простого ассоциативного массива
	{ name : value, ...} 
callback - (не обяз.) callback-функция,
	которая будет вызвана после выполнения запроса
	и получения ответа от сервера
*/
function serverRequest(data,url) {
    var request = createRequestObject();
    if(!request) return false;
    request.onreadystatechange  = function() { 
                    };
    request.open('POST', url, true);
    if (request.setRequestHeader)
        request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.send(data);
    return true;
}
