brName = navigator.appName; brVer = navigator.appVersion; brAgent = navigator.userAgent;

isDOM = document.getElementById ? true:false;
isOpera = (window.opera && isDOM) ? true:false;
isOpera6 = (isOpera && window.print)? true:false;
isOpera7= (isOpera && document.readyState)? true:false;
isOpera8= /Opera[^\d]*8/.test(brAgent);
isOpera9= /Opera[^\d]*9/.test(brAgent);
isIE = (document.all && document.all.item && !isOpera)? true:false
isSafari=/\WSafari\W/.test(brAgent);
isNN= (brName=="Netscape")? true:false;
isMozilla= (isNN && isDOM)? true:false;

// Opacity change
var opacityTo = new Array();
var filterStep = 5;
var filterTimeOut = 0.01;
var activeTo = new Array();

function setElementOpacity(sElemId, nOpacity){
	var opacityProp = getOpacityProperty(), elem = document.getElementById(sElemId);
	if (!elem || !opacityProp) return;
	if (opacityProp=="filter"){
		nOpacity *= 100;
		var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
		if (oAlpha) oAlpha.opacity = nOpacity;
		}
	else elem.style[opacityProp] = nOpacity;
}

function getElementOpacity(sElemId){
	var opacityProp = getOpacityProperty(), elem = document.getElementById(sElemId);
	if (!elem || !opacityProp) return;
	if (opacityProp=="filter"){
		var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
		if (oAlpha) _opacity = oAlpha.opacity/100;
		}
  	else _opacity = elem.style[opacityProp];
	return _opacity;
}

function getOpacityProperty() {
	if (typeof document.body.style.opacity == 'string') return 'opacity';
	else if (typeof document.body.style.MozOpacity == 'string') return 'MozOpacity';
	else if (typeof document.body.style.KhtmlOpacity == 'string') return 'KhtmlOpacity';
	else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) return 'filter';
	return false; //нет прозрачности
}

function filterColor(layer,dir,limit){
	_opacity = getElementOpacity(layer);
	_opacity = parseFloat(0+_opacity);
	document.getElementById(layer).style.display = (_opacity == 0 && dir<0)? 'none' : 'block';
	if((isIE || isMozilla || isSafari || isOpera) && ((_opacity < limit && _opacity < 1 && dir>0) || (_opacity > 0 && _opacity > limit && dir<0 && !P))) {
		clearTimeout(opacityTo[layer]);
		_opacity += (dir*filterStep/100);
		setElementOpacity(layer,_opacity);
		opacityTo[layer]=setTimeout("filterColor('"+ layer + "','"+dir+"','"+limit+"')",  filterTimeOut);
	}
	else clearTimeout(opacityTo[layer]);
}

function waitMouse(layer) {
	clearTimeout(activeTo[layer]);
	if (document.getElementById(layer) && !P) activeTo[layer] = setTimeout("filterColor('"+layer+"',-1,0)", 1000);
}

function сhooseBlock(block){
	for(i=0;i<blocks_length;i++){
		if(document.getElementById('block_content_part'+(i+1))!=undefined){
		document.getElementById('block_content_part'+(i+1)).style.display = (i == block-1)? 'block' : 'none';
		document.getElementById('block_smenu'+(i+1)).className = (i == block-1)? 'selected' : '';
		}
	}
}

function showLayer(layer){
	document.getElementById(layer).style.display = (document.getElementById(layer).style.display != 'block' || document.getElementById(layer).style.display == 'none')? 'block' : 'none';
}

function showTabRow(layer){
	document.getElementById(layer).style.display = (document.getElementById(layer).style.display == 'none')? ((isIE)? 'block' : 'table-row') : 'none';	
}

function showEventYear(year){
	if(this_year) document.getElementById('block_events'+this_year).style.display = 'none';
	document.getElementById('block_events'+year).style.display = 'block';
	this_year = year;
}

//	ВОПРОС В F.A.Q.

function showOnlineRequestError(statusText){
	alert("Ошибка");
	return false;
}

function showOnlineRequestRequest(formData, jqForm, options) { 
	
	f1 = jqForm[0][2]['value']; // Имя
	f2 = jqForm[0][6]['value']; // Почта
	f4 = jqForm[0][7]['value']; // Сообщение
	
	if (f1 == "") {
		alert("Введите, пожалуйста, Ваше имя");
		return false;
	}
 	else if (((f2 == "") || (f2.indexOf('@')<0) || (f2.indexOf('.')<0))) {
		alert("Введите, пожалуйста, корректный e-Mail");
		return false;
	}
	else if (f4 == "") {
		alert("Введите, пожалуйста, текст запроса");
		return false;
	}
	else return true;
}

function showOnlineRequestResponse(responseText, statusText)  { 
	return false;
}



function strip_tags(str){
	return str.replace(/<\/?[^>]+>/gi, '');  
}

function trim ( str, charlist ) {  
	charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');  
	var re = new RegExp('^[' + charlist + ']+|[' + charlist + ']+$', 'g');  
	return str.replace(re, '');  
} 


//	ЛИЧНЫЕ ДАННЫЕ
function showPersonalError(statusText){
	alert("Ошибка при выполнении операции");
	return false;
}

function showPersonalRequest(formData, jqForm, options) { 
	var f1 = jqForm[0][3]['value'];var f3 = jqForm[0][4]['value'];var f2 = jqForm[0][5]['value'];
	if (f1 == "") { alert("Введите, пожалуйста, Ваш логин"); return false; }
 	else if ((f3 == "") || (f3.indexOf('@')<0) || (f3.indexOf('.')<0)) { alert("Введите, пожалуйста, корректный e-mail"); return false; }
	else if (f2 == "") { alert("Введите, пожалуйста, Ваш пароль"); return false; }
	else return true; 
}

function showPersonalResponse(responseText, statusText)  { 
	var sys_message = trim(strip_tags(responseText));
	alert(sys_message);
	if(sys_message=="\r\nВы успешно зарегистрированы в системе. Ваши регистрацонные данные высланы на Ваш e-Mail" || sys_message=="\r\nВаши регистрационные данные изменены и высланы на Ваш e-Mail") loadData('/forum/');
	return false;
}

//	ДОБАВЛЕНИЕ СООБЩЕНИЯ

function showAddMessageError(statusText){
	alert("Ошибка при добавлении собщения");
	return false;
}

function showAddMessageRequest(formData, jqForm, options) { 
	if(jqForm[0][2]['value'] == ''){
		alert('Введите текст сообщения');
		return false;
	}
	else return true; 
}

function showAddMessageResponse(responseText, statusText)  { 
	alert(responseText);
	loadData(this_url);
	return false;
}

//	ДОБАВЛЕНИЕ ТЕМЫ

function showAddTopicError(statusText){
	alert("Ошибка");
	return false;
}

function showAddTopicRequest(formData, jqForm, options) { 
	if(jqForm[0][1]['value'] == '' || jqForm[0][2]['value'] == ''){ alert('Введите тему и сообщение'); return false; }
	else return true; 
}

function showAddTopicResponse(responseText, statusText)  { 
	alert(responseText);
	loadData(this_url);
	return false;
}

//	АВТОРИЗАЦИЯ

function showLoginError(statusText){
	alert("Логин или пароль введены неверно");
	return false;
}		

function showLoginRequest(formData, jqForm, options) { 
	if(jqForm[0][1]['value'] == '' || jqForm[0][2]['value'] == ''){
		alert('Введите Ваши ЛОГИН и ПАРОЛЬ');
		return false;
	}
	else return true; 
} 
 
function showLoginResponse(responseText, statusText)  { 
	if(responseText == 'Вы ввели неверное сочетание логина и пароля. Попробуйте ещё раз!') alert(responseText);
		else location.href='/forum/';
}

//	НАПОМИНАЛКА ПАРОЛЯ

function showRemindError(statusText){
	alert("Ошибка при передаче данных");
	return false;
}	

function showRemindRequest(formData, jqForm, options) { 
	if(jqForm[0][1]['value'] == '' && jqForm[0][2]['value'] == ''){
		alert('Введите Ваш ЛОГИН или E-MAIL');
		return false;
	}
	else return true; 
}

function showRemindResponse(responseText, statusText)  { 
	alert(responseText);
	showLayer('remindpasswordForm'); showLayer('loginForm');
	return false;
}
