Your IP : 216.73.216.240


Current Path : /home/juvelize/www/administrator/components/com_myrssreader/js/
Upload File :
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);
}