// xGetElementById, Copyright 2001-2005 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

function xGetElementById(e)
{
  if(typeof(e)!='string') return e;
  if(document.getElementById) e=document.getElementById(e);
  else if(document.all) e=document.all[e];
  else e=null;
  return e;
}

function EchoDate(_date) {
	var y = _date.substring(0,4);
	var m = _date.substring(5,7);
	var d = _date.substring(8,10);
	return (""+d+"/"+m+"/"+y);
}

function OutFilter(str) {
	var SWFObject_counter = 0;
	var out_str = str;
	var r = /\n/g;
	out_str = out_str.replace(r,'<br />');
	var r = /<br \/>\s*?<br \/>/g;
	out_str = out_str.replace(r,'\n');
	var r = /(\[\*\])+/g;
	out_str = out_str.replace(r,'[*]');
	r = /\[\*\](.*?)\[\*\]/g;
	out_str = out_str.replace(r,'<b>$1</b>');
	r = /!url=(.*?)!(.*?)!/g;
	out_str = out_str.replace(r,'<a href="$1" title="$2">$2</a>');
	r = /!img=(.*?)!(.*?)!/g;
	out_str = out_str.replace(r,'<img src="$1" alt="$2" border="0" />');
	r = /!urlimg=(.*?)!(.*?)!(.*?)!/g;
	out_str = out_str.replace(r,'<a href="$1" title="$3"><img src="$2" alt="$3" border="0" /></a>');
	r = /!flash=(.*?)!(.*?)!(.*?)!(.*?)!/;
	var matches = null;
	while (matches = r(out_str)) {
		SWFObject_counter++;
		out_str = out_str.replace(r,'<div id="flash'+SWFObject_counter+'" style="width:$2px ; height:$3px ; "></div><script type="text/javascript" language="JavaScript">var so = new SWFObject("$1","flash'+SWFObject_counter+'","$2","$3","$4","#FFFFFF");so.write("flash'+SWFObject_counter+'");</script>');
	}
	r = /\[!\]url=(.*?)\[!\](.*?)\[!\]/g;
	out_str = out_str.replace(r,'<a href="$1" title="$2">$2</a>');
	r = /\[!\]img=(.*?)\[!\](.*?)\[!\]/g;
	out_str = out_str.replace(r,'<img src="$1" alt="$2" border="0" />');
	r = /\[!\]urlimg=(.*?)\[!\](.*?)\[!\](.*?)\[!\]/g;
	out_str = out_str.replace(r,'<a href="$1" title="$3"><img src="$2" alt="$3" border="0" /></a>');
	r = /\[!\]flash=(.*?)\[!\](.*?)\[!\](.*?)\[!\](.*?)\[!\]/;
	var matches = null;
	while (matches = r(out_str)) {
		SWFObject_counter++;
		out_str = out_str.replace(r,'<div id="flash'+SWFObject_counter+'" style="width:$2px ; height:$3px ; "></div><script type="text/javascript" language="JavaScript">var so = new SWFObject("$1","flash'+SWFObject_counter+'","$2","$3","$4","#FFFFFF");so.write("flash'+SWFObject_counter+'");</script>');
	}

	var out_arr = out_str.split('\n');

	out_str = ''; var p = '';
	var table_str = ''; var table_tr;
	for (var i = 0; i < out_arr.length; i++) {
	  p = out_arr[i];
		table_arr = p.split('\t');
		if (table_arr[0] == p) {
			if (table_str.length) {
				table_str = '<table>'+table_str+'</table>';
				out_str += table_str;
				table_str = '';
			}
			out_str +=	'<p>'+p+'</p>';
		} else {
			table_tr = '';
			for (var k = 0; k < table_arr.length; k++) {
				table_tr += '<td>'+table_arr[k]+'</td>';
			}
			table_str += '<tr>'+table_tr+'</tr>';
		}
	}
	if (table_str.length) {
		table_str = '<table>'+table_str+'</table>';
		out_str += table_str;
	}

	return out_str;
}

function ShowPreview() {
	w1 = window.open('','preview','width=500,height=600');
	var el_title;
	var str_title = '';
	if (el_title = xGetElementById('title'))
		str_title = el_title.value;
	var el_descr;
	var str_descr = '';
	if (el_descr = xGetElementById('descr'))
		str_descr = el_descr.value;
	var el_date;
	var str_date = '';
	if (el_date = xGetElementById('date'))
		str_date = el_date.innerHTML;
	var el_pic;
	var str_file = '';
	if (el_pic = xGetElementById('picture'))
		str_file = el_pic.src;
	
	w1.document.open();
	w1.document.write('<html><head><link rel="stylesheet" href="styles.css" type="text/css" /><script type="text/javascript" src="swfobject.js" language="JavaScript"></script></head><body style="margin: 0">');
	w1.document.write('<h1>Заголовок раздела</h1>');
	w1.document.write('<div id="news_archive" style="margin: 0 10px 0 10px">');
	w1.document.write('<div class="news_title"><span class="news_date">'+((str_date.length)?str_date:'')+'</span> &minus; '+str_title+'</div>');
	w1.document.write('<div class="news_text">');
	if (str_file.length) {
		w1.document.write('<div class="news_image"><img src="'+str_file+'" width="200" height="200" alt="'+str_title+'" align="left"></div>');
	}
	w1.document.write(OutFilter(str_descr));
	w1.document.write('</div>');
	w1.document.write('<br />');
	w1.document.write('</div>');
	w1.document.write('</body></html>');
	w1.document.close();

}

function ShowPreviewPage() {
	w1 = window.open('','preview','width=500,height=600');
	var el_heading;
	var str_heading = '';
	if (el_heading = xGetElementById('heading'))
		str_heading = el_heading.value;
	var el_body;
	var str_body = '';
	if (el_body = xGetElementById('body'))
		str_body = el_body.value;
	
	w1.document.open();
	w1.document.write('<html><head><link rel="stylesheet" href="styles.css" type="text/css" /></head><body style="margin: 0">');
	w1.document.write('<h1>'+str_heading+'</h1>');
	w1.document.write('<div id="content" style="margin: 0 10px 0 10px">');
	w1.document.write(OutFilter(str_body));
	w1.document.write('</div>');
	w1.document.write('</body></html>');
	w1.document.close();

}

var req=null;

function initXMLHTTPRequest(){
	var xRequest=null;
	if (window.XMLHttpRequest){
		xRequest=new XMLHttpRequest();
	}
	else if (window.ActiveXObject){
		xRequest=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xRequest;
}

function sendRequest(_url,_method,_params){
	req=initXMLHTTPRequest();
	if (req){
		req.onreadystatechange=onReadyState;
		req.open(_method,_url,true);
		req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		req.send(_params);
	}
}

function onReadyState(){
	var ready=req.readyState;
	if (ready==4){
		window.location.reload();
	}
}

function sendRequestRandlink(){
	req=initXMLHTTPRequest();
	if (req){
		req.onreadystatechange=onReadyStateRandlink;
		req.open('GET','modules/randlink/random_js.php',true);
		req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		req.send(null);
	}
}

function onReadyStateRandlink(){
	var ready=req.readyState;
	if (ready==4){
		var el = xGetElementById('randlink_text');
		if (el) el.innerHTML=req.responseText;
	}
}

function sendRequestVote(_URL){
	req=initXMLHTTPRequest();
	if (req){
		req.onreadystatechange=onReadyStateVote;
		req.open('GET',_URL,true);
		req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		req.send(null);
	}
}

function onReadyStateVote(){
	var ready=req.readyState;
	if (ready==4){
		var el = xGetElementById('polls');
		if (el) el.innerHTML=req.responseText;
	}
}

function MenuShow(_id) {
	el = xGetElementById("submenu");
	if (el) {
		if (arr_tree[_id]) {
			el.innerHTML=arr_tree[_id];
		} else {
			el.innerHTML='';
		}
	}
}

function SearchFocus(_on) {
	if (_on) {
		xGetElementById('bukvape').innerHTML=' ';
		xGetElementById('searchphrase').value=' ';
	} else {
		var str = xGetElementById('searchphrase').value;
		var r = /\s*/g;
		str = str.replace(r,'');
		if (!str.length) {
				xGetElementById('bukvape').innerHTML='П';
				xGetElementById('searchphrase').value='оиск по сайту';
		}
	}	
}
