//- -//
var xmlHttp = createXmlHttpRequestObject();
//- -//
var rssUrl = "rss.php";
//- -//
var xslUrl = "rss.xsl";
//- -//
var catalogDiv = "catalogDiv";
//- -//
var stylesheetDoc;
//- -//
function createMsxml2DOMDocumentObject(){
	var msxml2DOM;
	var msxml2DOMDocumentVersions = new Array("Msxml2.DOMDocument.6.0",
											  "Msxml2.DOMDocument.5.0",
											  "Msxml2.DOMDocument.4.0");
	for (var i=0; i<msxml2DOMDocumentVersions.length && !msxml2DOM; i++){
		try{
			msxml2DOM = new ActiveXObject(msxml2DOMDocumentVersions[i]);
		}
		catch (e) {}
	}
	if (!msxml2DOM)
	alert("Please upgrade your MSXML version from \n" +
		  "http://msdn.microsoft.com/XML/XMLDownloads/default.aspx");
	else
	return msxml2DOM;
}
//- -//
function loadStylesheet(){
	if(xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)){
		xmlHttp.open("GET", xslUrl, false);
		xmlHttp.send(null);
		if (this.DOMParser)
		{
			var dp = new DOMParser();
			stylesheetDoc = dp.parseFromString(xmlHttp.responseText, "text/xml");
		}
		else if (window.ActiveXObject) // Internet Explorer?
		{
		    stylesheetDoc = createMsxml2DOMDocumentObject();
			stylesheetDoc.async = false;
			stylesheetDoc.load(xmlHttp.responseXML);

		}
	}
}
//- -//
function hGlobal(){
	if (xmlHttp.readyState == 4){
		if (xmlHttp.status == 200){
			response = xmlHttp.responseText; //alert(response);

			if (response.indexOf("ERRNO") >= 0
								 || response.indexOf("error") >= 0
								 || response.length == 0)
			{
				alert(response.length == 0 ? "Server serror." : response);
				return;
			}
			xmlResponse = xmlHttp.responseXML;
			if (window.XMLHttpRequest && window.XSLTProcessor && window.DOMParser)
			{
				var xsltProcessor = new XSLTProcessor();
				xsltProcessor.importStylesheet(stylesheetDoc);
				page = xsltProcessor.transformToFragment(xmlResponse, document);
				var div = document.getElementById("catalogDiv");
				div.innerHTML = "";
				div.appendChild(page);
			}
			// Internet Explorer code
			else if (window.ActiveXObject)
			{
				var theDocument = createMsxml2DOMDocumentObject();
				theDocument.async = false;
				theDocument.load(xmlResponse);
				// display the page of products
				var div = document.getElementById("catalogDiv");
				div.innerHTML = theDocument.transformNode(stylesheetDoc);
			}            
		}
		else
		{
			alert("Error reading server response.")
		}
	}
}
//- -//
function init(){
	loadStylesheet();
	readRandFeed();
}
//-  -//
function addFeed(){
	var feedUrl = document.getElementById('aFeedUrl').value;
	
	if (xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)){
		var params = "action=ADD_FEED&url=" + feedUrl;
		xmlHttp.open("POST", rssUrl, true)
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.onreadystatechange = handlerAddFeed;
		xmlHttp.send(params);
	}
}
//- -//
function handlerAddFeed(){
	if (xmlHttp.readyState == 4){
		if (xmlHttp.status == 200){
			response = xmlHttp.responseText;
			//alert(response);
			var code = '';
			if(response == "OK"){
				code = '<table width="100%" class="text" cellpadding="1px" cellspasing="1px">' +
				       '<tr><td>RSS-стрічка успішно відправлена модератору. Дякуємо за її додавання.</td></tr>' +
					   '<tr><td align="right"><input type="button" class="button" value="OK" onclick="iHide(\'addOk\');" /></td></tr>' +
				       '</table>';
			}else{
				code = '<table width="100%" class="text" cellpadding="1px" cellspasing="1px">' +
				       '<tr><td>Під час відправлення сталася помилка. Повторіть спробу ще.</td></tr>' +
					   '<tr><td align="right"><input type="button" class="button" value="OK" onclick="iHide(\'addOk\'); iShow(\'addFeed\')" /></td></tr>' +
				       '</table>';
			}
			iHide('addFeed');
			document.getElementById('aFeedUrl').value = "";
			document.getElementById('addOkDiv').innerHTML = code;
			iShow('addOk');
		}else{
			alert(xmlHttp.statusText);
		}
	}
}
//- -//
function translateRSS(id, rand){
	document.getElementById('tBody').innerHTML = '<td><b>Кількість заголовків:</b></td><td><input id="titleNum" type="text" /></td>';
	document.getElementById('tButton').innerHTML = '<input type="button" class="button" value="Отримати код" onclick="getCode(\'' + id + '\', \'' + rand + '\');" />';
	iShow('translateRSSCode');
}
function getCode(id, rand){
	var num = document.getElementById('titleNum').value;
	var code = '<script type="text/javascript" src="http://rss.zssn.org.ua/translate_go.php?url=0&i=' + id + '&r=' + rand +'&n=' + num + '"></script>';
	document.getElementById('tBody').innerHTML = '<td><textarea cols="34" rows="4">' + code + '</textarea><br /><p>Вставте даний код на сторінку Вашого сайту.</p>Детальніше про трансляцію RSS читайте <a href="./translate.php" target="_blank">тут</a>.</td>';
	document.getElementById('tButton').innerHTML = '<input type="button" class="button" value="Закрити" onclick="iHide(\'translateRSSCode\');" />';
}
//- -//
function op(m,n){
	var b = new browser();
	if(b.isIE){
		m.style.zoom = 1;
		m.style.background = '#e6fde3';
		m.style.filter = 'alpha(opacity=' + n*10 + ')';
	}else{
		m.style.opacity = n/10;
	}
}
//- -//
function browser(){
	var n = navigator.userAgent;
	if(n.indexOf("Opera") != -1) this.isOpera = 1;
	else if(n.indexOf("MSIE") != -1) this.isIE = 1;
	else if(n.indexOf("Netscape") != -1) this.isNets = 1;
	else if(n.indexOf("Firefox") != -1) this.isMoz = 1;
	return this;
}
//- -//
function iShow(id){
	op(document.getElementById('body'), 5);
	document.getElementById(id).style.display = 'block';
}
//- -//
function iHide(id){
	op(document.getElementById('body'), 10);
	document.getElementById(id).style.display = 'none';
	//fixPNG(document.images);
}
//- -//
function iGo(id, page){
	if (xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)){
		var params = "action=LOAD_FEEDS&id=" + id + "&page=" + page;
		xmlHttp.open("POST", rssUrl, true)
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.onreadystatechange = hGlobal;
		xmlHttp.send(params);
	}
}
//- -//
function readFeed(id, page){
	if (xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)){

		xmlHttp.open("POST", rssUrl, true);
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.onreadystatechange = function(){
		    if (xmlHttp.readyState == 4){
				if (xmlHttp.status == 200){
					response = xmlHttp.responseText; //alert(response);
					document.getElementById('catalogDiv').innerHTML = response;
				}
			}else{
				document.getElementById('catalogDiv').innerHTML = "Завантаження...";
			}
		};
		xmlHttp.send('action=READ_FEED&id='+ id + "&page=" + page);
	}
}
//- -//
function readRandFeed(){
	if(xmlHttp && (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)){

		xmlHttp.open("POST", rssUrl, true);
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4){
				if (xmlHttp.status == 200){
					response = xmlHttp.responseText; //alert(response);
					document.getElementById('catalogDiv').innerHTML = response;
				}
			}
		};
		xmlHttp.send('action=readRandFeed');
	}
}