| Current Path : /home/juvelize/www/administrator/components/com_myrssreader/js/ |
| Current File : /home/juvelize/www/administrator/components/com_myrssreader/js/info_checker.js |
/**
* @package My RSS Reader
* @copyright Copyright (C) 2009 FalsinSoft. All rights reserved.
* @license GNU/GPL
* @website http://falsinsoft-joomla.blogspot.com
* @email falsinsoft@gmail.com
*
*/
var WarningMessage = "";
var ErrorMessage = "";
var InfoMessage = "";
var NormalMessage = "";
var SelectRSSMessage = "";
var RSSList = null;
function CreateXmlHttpReq()
{
var XMLHttp = false;
if(window.XMLHttpRequest)
{
XMLHttp = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
try
{
XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
XMLHttp = false;
}
}
}
return XMLHttp;
}
function SetRSSInfo(Idx)
{
var FindRSSInfoButton = document.getElementById("find_rss_info_button");
var WebUrl = document.getElementById("web_url");
var RSSTitle = document.getElementById("title");
var RSSUrl = document.getElementById("rss_url");
var RSSCat = document.getElementById("category_id_list");
if(Idx > -1)
{
RSSTitle.value = RSSList[Idx].title;
WebUrl.value = RSSList[Idx].web_url;
RSSUrl.value = RSSList[Idx].rss_url;
}
FindRSSInfoButton.innerHTML = NormalMessage;
FindRSSInfoButton.disabled = false;
WebUrl.disabled = false;
RSSTitle.disabled = false;
RSSUrl.disabled = false;
if(RSSCat != null) RSSCat.disabled = false;
}
function ShowSelectRSSSourceWnd()
{
var PopupWnd = document.getElementById("popup_window");
var PopupWndText = document.getElementById("popup_window_text");
var PopupWndRssList = document.getElementById("popup_window_rss_list");
PopupWndText.innerHTML = SelectRSSMessage;
for(PopupWndRssList.innerHTML = '', i = 0; i < RSSList.length; i++)
{
PopupWndRssList.innerHTML += '<input type="radio" name="rss_source_select" id="rss_source'+i+'" value="'+i+'" '+((i == 0) ? 'checked="checked"' : '')+'>';
PopupWndRssList.innerHTML += '<label for="rss_source'+i+'">'+RSSList[i].title+'</label><br />';
}
PopupWnd.style.visibility = "visible";
}
function SelectRSSSource()
{
var PopupWnd = document.getElementById("popup_window");
PopupWnd.style.visibility = "hidden";
for(i = 0; i < RSSList.length; i++)
{
RssSrc = document.getElementById("rss_source"+i);
if(RssSrc.checked == true)
{
SetRSSInfo(i);
break;
}
}
}
function FindRSSInfoStatus(HttpReq)
{
if(HttpReq.readyState == 4)
{
if(HttpReq.status == 200)
{
var RSSInfo;
try
{
RSSInfo = JSON.parse(HttpReq.responseText);
}
catch(err)
{
RSSInfo = null;
}
if(RSSInfo != null)
{
RSSList = RSSInfo.rss;
if(RSSInfo.rss.length > 1)
ShowSelectRSSSourceWnd();
else
SetRSSInfo(0);
}
else
{
alert(ErrorMessage);
SetRSSInfo(-1);
}
}
else
{
var ErrorWindow;
try
{
ErrorWindow = window.open("", "_blank", "height=150,width=500,menubar=no,toolbar=no,fullscreen=no,status=no,location=no");
ErrorWindow.document.body.innerHTML = HttpReq.responseText;
}
catch(e)
{
alert("An error occurred, but the error message cannot be " +
"displayed because of your browser\'s pop-up blocker.\n" +
"Please allow pop-ups from this Web site."
);
}
}
}
}
function FindRSSInfo()
{
var CheckerURL = RootPath+"administrator/components/com_myrssreader/js/info_checker.php";
var FindRSSInfoButton = document.getElementById("find_rss_info_button");
var WebUrl = document.getElementById("web_url");
var RSSTitle = document.getElementById("title");
var RSSUrl = document.getElementById("rss_url");
var RSSCat = document.getElementById("category_id_list");
var HttpReq = CreateXmlHttpReq();
var UrlStr = "";
if(WebUrl.value.length < 7)
{
alert(WarningMessage);
return;
}
UrlStr = WebUrl.value.toLowerCase();
UrlStr = UrlStr.replace(/\s+$|^\s+/g, "");
if(UrlStr.slice(0, 7) != "http://" && UrlStr.slice(0, 8) != "https://") UrlStr = "http://"+UrlStr;
WebUrl.value = UrlStr;
WebUrl.disabled = true;
RSSTitle.disabled = true;
RSSUrl.disabled = true;
if(RSSCat != null) RSSCat.disabled = true;
FindRSSInfoButton.disabled = true;
FindRSSInfoButton.innerHTML = InfoMessage;
HttpReq.onreadystatechange = function() { FindRSSInfoStatus(HttpReq); };
CheckerURL += "?web_url="+escape(WebUrl.value);
CheckerURL += "&rand="+escape(Math.random());
HttpReq.open("GET", CheckerURL, true);
HttpReq.send(null);
}