function AreYouSure(message)
{
	return confirm(message);
}

// прверка нажатия клавиши Enter
function LoginOnEnter(e, formName)
{
	if(e.keyCode == 13)
	{
		xajax_XajaxLogin(xajax.getFormValues(formName));
	}
}
// EOF :: прверка нажатия клавиши Enter	

//подсчет кол-ва символов в указанном элементе, и вставка результата в другой элемент
function CountChar(inputId, outputId)
{
	count = StrLen(inputId);
	outputElement = GetElementData(outputId);
	outputElement.value = count;
}
// EOF :: //подсчет кол-ва символов в указанном элементе

// получаем данные элемента по его id
function GetElementData(elementId)
{
	return document.getElementById(elementId);
}
// EOF :: получаем данные элемента по его id

// получаем данные элемента по его name
function GetElementDataByName(elementId)
{
	return document.getElementByName(elementName);
}
// EOF :: получаем данные элемента по его name

// подсчет длины строки
function StrLen(elementId)
{
	element = GetElementData(elementId);
	return	element.value.length;
}
 // EOF :: подсчет длины строки
 
//удаляем начальные и конечные пробелы 
function Trim(s)
{
  return RTrim(LTrim(s));
}

function LTrim(s)//с начала строки
{
  return s.replace(/^\s+/, ''); 
}

function RTrim(s)//с конца строки
{
  return s.replace(/\s+$/, ''); 
}
// EOF :: удаляем начальные и конечные пробелы

// выбираем все чекбоксы
function SetAllCheckboxOnOff(numCheckboxes, prefix)
{	
	//alert(prefix+numCheckboxes);
	
	for(i = 1; i < numCheckboxes+1; i++)
	{
		var elementId = (prefix+i).toString();
		if(GetElementData(elementId).checked == true)
		{
			GetElementData(elementId).checked = false;
		}
		else
		{
			GetElementData(elementId).checked = true;
		}
	}
	
}
// EOF :: выбираем все чекбоксы

//открываем новое окно
function OpenNewWindow(pathToFile, windowName, width, height)
{
	width = (width == "") ? 400 : parseInt(width);
	height = (height == "") ? 400 :  parseInt(height);
	 
 	newWindow = window.open(pathToFile, ''+windowName+'', 'location=no, menubar=no, resizable=yes, scrollbars=yes, status=no, width='+width+', height='+height+'');
 	
 	newWindow.focus();	
}
// EOF ::открываем новое окно

//меняем значение одного поля (element1) при изменении другого (element2)
function ChangeValue(element1, element2)
{
	element1 = GetElementData(element1);
	element2 = GetElementData(element2);
	if(element2.value != 0)
	{
		element1.value = element2.value;
	}
}
//EOF ::меняем значение одного поля при изменении другого

//скрываем/делаем видимым эелемент с указанным id
function DisplayOnOff(elementId)
{
	element = GetElementData(elementId);
	if(element.style.display == "none")
	{
		element.style.display = "block";
	}
	else
	{
		element.style.display = "none";
	}	
}
//EOF :: скрываем/делаем видимым эелемент с указанным id

// Выбираем все чекбоксы
function CheckAll(form, checkBoxName)
{
	
	//for (var i=0; i < oForm[cbName].length; i++) oForm[cbName][i].checked = checked;
	//alert(form[checkBoxName].length);
	
	//alert(form['checkboxBannersGroupsOnPage[]'].length);
	
	if(!form[checkBoxName].length)
	{
		form[checkBoxName].checked = (form[checkBoxName].checked == true) ? false: true;
	}
	else
	{
		for (var i=0; i < form[checkBoxName].length; i++)
		{
			form[checkBoxName][i].checked = (form[checkBoxName][i].checked == true) ? false: true;		
		}
	}
}

function CheckAllOff(form, checkBoxName)
{
	
	//for (var i=0; i < oForm[cbName].length; i++) oForm[cbName][i].checked = checked;
	
	if(!form[checkBoxName].length)
	{
		form[checkBoxName].checked = false;
	}
	else
	{
		for (var i=0; i < form[checkBoxName].length; i++)
		{
			form[checkBoxName][i].checked = false;
		}
	}
}
//EOF :: Выбираем все чекбоксы

// меняем св-во у группы элементов strElements - строка id элементов, перечисленных через запятую
function ChangeProp(strElements, elementId)
{
	arrayElements = strElements.split(',');
	
	for(i = 0; i < arrayElements.length; i++)
	{
		if(GetElementData(arrayElements[i]).style.display != 'none' && arrayElements[i] != elementId)
		{
			GetElementData(arrayElements[i]).style.display = 'none';
		}
	}	
	GetElementData(elementId).style.display = 'block';
	
	if(elementId != "text") 
	{
		GetElementData('maxSize').style.display = 'block';
	}
	else
	{
		GetElementData('maxSize').style.display = 'none';
	}
}
//EOF :: меняем св-во у группы элементов

// меняем св-во disabled у группы элементов strElements - строка id элементов, перечисленных через запятую
function ChangePropDisabled(strElements)
{
	arrayElements = strElements.split(',');
	
	
	for(i = 0; i < arrayElements.length; i++)
	{
		if(GetElementData(arrayElements[i]).disabled == true)
		{
			GetElementData(arrayElements[i]).disabled = false;
		}
		else
		{
			GetElementData(arrayElements[i]).disabled = true;
		}
	}
	
}
//EOF ::  меняем св-во disabled у группы элементов strElements - строка id элементов, перечисленных через запятую

//проверка, что поле с выбором файле заполнено
function FileSelected(element, formName)
{
	if(Trim(element) != "")
	{
		GetElementData(formName).submit();
	}
	else
	{
		alert("ОШИБКА!\nВы не выбрали файл.");
	}	
}
// EOF :: проверка, что поле с выбором файле заполнено

/**
* Функция достает текстовое содержимое любой ноды. Текстом будем считать
* текстовые ноды и элементы, которые опрашиваем рекурсивно.
*/

function InnerText(node) 
{
//  return node.innerText; //хорошая вещь в ИЕ
//  return node.innerHTML; //из стадарта W3C, но не совсем то что нужно
  var ret = "";
  for(var i=0; i<node.childNodes.length; i++) 
  {
     switch(node.childNodes[i].nodeType)
     {
	    case 1: ret+=innerText(node.childNodes[i]); break; //если элемент
	    case 3: ret+=node.childNodes[i].nodeValue; //если текстовая нода
  	 }
  }
  return ret;
}
//InnerText

// выбор города по региону
function ChangeValueFromSelect(value, id, element)
{
	if(value == 7 || value == 13)
	{
		GetElementData(element).value = GetElementData(id).options[GetElementData(id).selectedIndex].text;
	}
}
//EOF :: выбор города по региону

/**
Ф-ция GetReplaceNodeData(nodeId, replace, replaceWithNode)
@param string nodeId
@param boolen replace
@param string replaceWithNode
@return string inputTextData
*/
function GetReplaceNodeDataInputText(nodeId, inputTextIdName)
{	
	var node = GetElementData(nodeId);
		
	var nodeValue = InnerText(node);
	
	var inputTextData = '<input type="text" style="width: 98%;" name="'+inputTextIdName+'" id="'+inputTextIdName+'" value="'+nodeValue+'"/>';
	
	//alert(inputTextData);
	
	node.innerHTML = inputTextData;
}
//\\GetReplaceNodeData

function SelectProfession(elementId, fieldId)
{
	element = document.getElementById(elementId)	
	if(element.selectedIndex == (element.length-1))
	{
		if(fieldId.style.display == 'none')
		{
			fieldId.style.display = 'block';
		}		
	}
	else
	{
		fieldId.style.display = 'none';
		fieldId.value = '';
	}
}

function Autosize(frameElement) 
{
	var height= document.body.offsetHeight;
	if (isOIE) height= document.body.scrollHeight;
	window.frameElement.style.height= height+'px';
};