
function email (login, serv)
{
	if(serv=="") serv="big-tree.ru";
	eml = login +  "@" + serv;
	return eml;
}


function mylo (login, serv)
{
 document.write (email(login, serv));
}

function namylo (login, serv, subj)
{
eml = "mailto:" + email(login, serv);
re= /\s/;
while(subj.search(re)>0)
subj=subj.replace(re, "%20");

if (subj != "") eml += "?subject=" + subj;
window.location.href = eml;
} 



function setCookie(cookieName, cookieValue)
{
	cookieValue=escape(cookieValue);
	document.cookie=cookieName+"="+cookieValue+"; path=/";

}

function openBig(id) {
win_h=img_h+20;
win_w=img_w+20;
main_big=window.open('/trees/view_photo.php?id='+id+'&pic='+mn_big,'','scrollbars=0,resizable=1,width='+win_w+', height='+win_h+',toolbar=0');
}

function show_block(div_id) {
	block=document.getElementById(div_id);
	if(block.style.display=='none')
		block.style.display='block';
	else
		block.style.display='none';	
}



// ================ forum functions ===================== 


var auth_err_mess = '<a href="/login/">Авторизуйтесь</a>, пожалуйста. Eсли вы не зарегистрированы, <a href="/reg/">зарегистрируйтесь</a>!';


function unpopp(){
	poppDiv=document.getElementById('poppDiv');if(poppDiv){poppDiv.parentNode.removeChild(poppDiv);poppDiv=false;}

		var elements = document.getElementsByTagName('select');
		for(var i = 0; i < elements.length; i++) {
			if(elements[i].style.display=='none') elements[i].style.display='inline';
		}	

}
function popp(id, text, type){
	unpopp();
	
	if(type==0){
		document.getElementById('post_action'+id).style.display='none';
	}	

	document.getElementById('enclosure'+id).innerHTML+='<div id="poppDiv" class="inline-warning"><div><p>'+text+'</p><a href="javascript:unpopp(1)"><img src="/i/close.gif" class="close" width="22" height="22" alt="Close" /></a></div></div>';

	return(false);
}

function show_block(div_id) {
	block=document.getElementById(div_id);
	if(block.style.display=='none')
		block.style.display='block';
	else
		block.style.display='none';	
}

function show_hide_block(div_id_1, div_id_2) {
	show_block=document.getElementById(div_id_1);
	hide_block=document.getElementById(div_id_2);
	hide_block.style.display='block';
	show_block.style.display='none';	
}

// ----- доступность email ---------------------------------------
function check_uniq_email(input_id) {
	
	var input_email=document.getElementById(input_id);
	var note_email=document.getElementById('note_'+input_id);

	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				//
				if(req.responseJS.answer=='y') {
					note_email.innerHTML=req.responseJS.mess;
				}	
				else if(req.responseJS.answer=='n') {
					note_email.innerHTML=req.responseJS.mess;
				}	
			}
		}
	}
	req.caching = false;
	req.open('POST', '/inc/site/ajax/check_uniq_email.php', true);
	req.send({ email: input_email.value });
}



// ----- доступность Ника ---------------------------------------
function check_uniq_nick(input_id) {
	
	var input_nick=document.getElementById(input_id);
	var note_nick=document.getElementById('note_'+input_id);

	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				//
				if(req.responseJS.answer=='y') {
					note_nick.innerHTML=req.responseJS.mess;
				}	
				else if(req.responseJS.answer=='n') {
					note_nick.innerHTML=req.responseJS.mess;
				}	
			}
		}
	}
	req.caching = false;
	req.open('POST', '/inc/site/ajax/check_uniq_nick.php', true);
	req.send({ nick: input_nick.value });
} 


// ----- изменение комментария ---------------------------------------
function show_comment_form_edit(comment_id) {
	
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				//
				if(req.responseJS.answer=='err') {
					popp('_c'.comment_id, 'Комментарий для редактирование не доступен!', 1);
					document.getElementById('comment_2edit'+comment_id).style.display='none';
				}	

				else if(req.responseJS.answer=='n') {
					popp('_c'+comment_id, auth_err_mess, 1);
				}	
				else if(req.responseJS.answer=='y') {
					document.getElementById('comment_2edit'+comment_id).style.display='none';
					document.getElementById('comment_edit_area'+comment_id).innerHTML=req.responseJS.out;
					//если текст коммента скрыт
					if(document.getElementById('comment_2hide'+comment_id)){
						document.getElementById('comment_2hide'+comment_id).style.display='none';
						document.getElementById('comment_txt'+comment_id).style.display='block';
					}
				}
			}
		}
	}
	
	req.caching = false;
	req.open('POST', '/inc/site/ajax/show_comment_form_edit.php', true);
	req.send({ c_id: comment_id });
}

// ----- добавление ответного комментария ---------------------------------------
function show_comment_form_reply(comment_id) {
	
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				//
				if(req.responseJS.answer=='err') {
					popp('_c'.comment_id, 'Не получается создать ответный комментарий!', 1);
					document.getElementById('comment_2edit'+comment_id).style.display='none';
				}	

				else if(req.responseJS.answer=='n') {
					popp('_c'+comment_id, auth_err_mess, 1);
				}	
				else if(req.responseJS.answer=='y') {
					document.getElementById('comment_2edit'+comment_id).style.display='none';
					document.getElementById('comment_reply_area'+comment_id).innerHTML=req.responseJS.out;
					//если текст коммента скрыт
					if(document.getElementById('comment_2hide'+comment_id)){
						document.getElementById('comment_2hide'+comment_id).style.display='none';
						document.getElementById('comment_txt'+comment_id).style.display='block';
					}
				}
			}
		}
	}
	
	req.caching = false;
	req.open('POST', '/inc/site/ajax/show_comment_form_reply.php', true);
	req.send({ c_id: comment_id });
}

// ----- добавление ответного комментария ---------------------------------------


function save_comment(comment_id) {
	
	var comment_txt=document.getElementById('message_c'+comment_id).value;
	

	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				//
				if(req.responseJS.answer=='err') { //неверно заполненна форма
					document.getElementById('comment_edit_mess'+comment_id).innerHTML=req.responseJS.mess;
				}	
				else if(req.responseJS.answer=='time') {//не доступно для редактрования
					document.getElementById('comment_edit_mess'+comment_id).innerHTML=req.responseJS.mess;
					document.getElementById('comment_edit_form'+comment_id).innerHTML='';
				}	
				else if(req.responseJS.answer=='n') {//не авторизован
					document.getElementById('comment_edit_area'+comment_id).innerHTML='';
					popp('_c'+comment_id, auth_err_mess, 1);
				}	
				else if(req.responseJS.answer=='y') { //изменения внесены
					document.getElementById('comment_edit_mess'+comment_id).innerHTML=req.responseJS.mess;
					document.getElementById('comment_txt'+comment_id).innerHTML=req.responseJS.txt;
					document.getElementById('comment_edit_form'+comment_id).innerHTML='';
					document.getElementById('comment_2edit'+comment_id).style.display='inline';
				}
			}
		}
	}
	
	req.caching = false;
	req.open('POST', '/inc/site/ajax/save_comment.php', true);
	req.send({ c_id: comment_id, txt: comment_txt });
}

function comment_edit_cancel(comment_id){
	document.getElementById('comment_edit_area'+comment_id).innerHTML='';
	document.getElementById('comment_2edit'+comment_id).style.display='inline';
}

function comment_reply_cancel(comment_id){
	document.getElementById('comment_reply_area'+comment_id).innerHTML='';
	document.getElementById('comment_reply_area'+comment_id).style.display='inline';
	document.getElementById('comment_2edit'+comment_id).style.display='inline';
}

// ----- Удалить комменарий ---------------------------------------
function hide_comment(m_id, m_type) {
	
	var msg_=document.getElementById('comment_txt'+m_id);
	var msg_hide_=document.getElementById('comment_2hide'+m_id);
	
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				//
				if(req.responseJS.answer=='y') { 
					msg_.className=req.responseJS.mess;
//					msg_text_.innerHTML=req.responseJS.mess_text;
					msg_hide_.innerHTML=req.responseJS.mess_hide;
				//	
				}	
			}
		}
	}
	
	req.caching = false;
	req.open('POST', '/inc/site/ajax/hide_comment.php', true);
	req.send({ comment_id: m_id, type: m_type });
}



function form_validate(form_id) {
	var str_full = "";
	var elements = document.getElementById(form_id).getElementsByTagName('input');
	// цикл по всем элементам формы
	for(var i = 0; i < elements.length; i++) {
	// проверяем, имеется ли образец
		var str = "";     
		var pattern = elements.item(i).getAttribute('pattern');
		var value = elements.item(i).value;     
		var element_id=elements.item(i).getAttribute('id');
		var noteDiv=document.getElementById('note_'+element_id);
		if (pattern != null && pattern != "") {
			// валидация значения элемента, используя образец      
			var offendingChar = value.match(pattern);      
			// если встечен недопустимый символ или элемент оставлен пустым 
	    	if(offendingChar != null || value.length == 0) {
				// показываем сообщения об ошибках
				str += elements.item(i).getAttribute('errorMsg') + "\n" +        "Найдено недопустимое значение: '" + offendingChar + "' \n";
			}
		}
		//проверяем длинну строки
		var min_reqs = elements.item(i).getAttribute('min_reqs');  
		var max_reqs = elements.item(i).getAttribute('max_reqs');  
		if (min_reqs && max_reqs) {
			if (value.length < min_reqs || value.length > max_reqs) {
				str += elements.item(i).getAttribute('errorMsg') + '\n';
			}
		}		
		if (str != "")		{
			if(noteDiv != null) noteDiv.innerHTML=str;
			// подсказка пользователю путем смены цвета фона; здесь красный
			elements.item(i).style.background = "#ffccff";       
		}	
		str_full+=str;
	}
	if (str_full != "") {
		// не посылаем форму
		alert("ERROR ALERT!!\n" +str_full);
		return false;
	} 
	else {
		// значения формы правильны; посылаем    
		document.getElementById(form_id).submit();
		return true;  
	}
}

function input_validate(id) {
	var str = "";
	// проверяем, имеется ли образец
	var elem=document.getElementByID(id);
	var noteDiv=document.getElementByID('note_'+id);
	var pattern = elem.getAttribute('pattern');
	var value = elem.value;     
	if (pattern != null) {
		// валидация значения элемента, используя образец      
		var offendingChar = value.match(pattern);      
		// если встечен недопустимый символ или элемент оставлен пустым 
    	if(offendingChar != null || value.length == 0) {
			// показываем сообщения об ошибках
			str += elem.getAttribute('errorMsg') + "\n" +        "Найдено недопустимое значение: '" + offendingChar + "' \n";
			// подсказка пользователю путем смены цвета фона; здесь красный
			elem.style.background = "red";       
		}
	}
	//проверяем длинну строки
	var min_reqs = elem.getAttribute('min_reqs');  
	var max_reqs = elem.getAttribute('max_reqs');  
	if (min_reqs != null && max_reqs != null) {
		if (value < min_reqs || value > max_reqs) {
			str += elem.getAttribute('errorMsg') + '\n';
		}
	}		
	noteDiv.innerHtml="aaaa";	
	if (str != "") {
		// не посылаем форму
		noteDiv.innerText=str;
		return false;
	} 
	else {
		// значения формы правильны; посылаем    
		return true;  
	}
}

