﻿function prss(lddv, od, txa, rssmid, rsstid, rsspid, rsscid, rsscact, rssuril, rsstpe)
{
    var odp = "#" + od;
    
    if( $(odp).find("div.nav").length == 0 )
    {
        $(odp).find('div:gt(0)').attr("style", "visibility:visible");
        $(odp).pager('div', { prevText: 'Previous', nextText: 'Next', cid: rsscid, tid: rsstid, mid: rssmid, pid: rsspid, cact: rsscact });
    }
}

function lrss(lddv, od, rssXml, rssmid, rsstid, rsspid, rsscid, rsscact, rssuril, rsstpe)
{
    var dvhtml = ""
    var odp = "#" + od;
    var _od = getElementWithId(od);
    
    try
    {
        var parser = new DOMImplementation();
        var paxml = true;
        var domDoc;
        var i = 0;
        var dvsrt = "<div>";
        var dvend = "";
        var _oclk = "onclick=\"rfctrfk('" + rssmid + "', '" + rsspid + "', '3', '', '" + rsstid + "')\""
        
        try
        {
	        var domDoc = parser.loadXML(rssXml);
        }
        catch(dderr)
        {
	        if (dderr.code == DOMException.SYNTAX_ERR)
	        {
	            paxml = false;
	        
		        var _t =  "";
                var _l = "";
                
                var _riStrtIdx = rssXml.indexOf("<item>") + 6;
                var _riEndIdx = rssXml.indexOf("</item>", _riStrtIdx);
                
                while((_riStrtIdx > -1) && (_riEndIdx > -1) && (i < 10))
                {
                    var _ri = rssXml.substring(_riStrtIdx, _riEndIdx);
                
                    var _rtStrtIdx = _ri.indexOf("<title>") + 7;
                    var _rtEndIdx = _ri.indexOf("</title>", _rtStrtIdx);
                    var _rlStrtIdx = _ri.indexOf("<link>") + 6;
                    var _rlEndIdx = _ri.indexOf("</link>", _rlStrtIdx);
                    
                    _t = _ri.substring(_rtStrtIdx,_rtEndIdx);
                    _l = _ri.substring(_rlStrtIdx,_rlEndIdx);
                    
                    _t = clcdata(_t);
                    _l = clcdata(_l);
                    _l = _l.replace("amp;", "");
                    
                    if( _t.length > 75 )
                    {
                        _t = _t.substr(0, 75) + "..."
                    }
                    
                    if( i % 5 == 0 )
                    {   
                        dvhtml = dvhtml + dvend;
                        
                        if( dvsrt == "<div>" )
                        {
                            dvsrt = "<div style='height: 1px; overflow:hidden; visibility:hidden;'>"
                        }
                        
                        dvhtml = dvhtml + dvsrt;
                        dvend = "</div>"
                    }
                    
                    var _rslhtml = "<a href=" + _l + " target='blank' class='rssLink' " + _oclk + ">" + _t + "</a><br />"
                    dvhtml = dvhtml + _rslhtml;
                
                    _riStrtIdx = rssXml.indexOf("<item>", _riEndIdx) + 6;
                    _riEndIdx = rssXml.indexOf("</item>", _riStrtIdx);
                    
                    i = i + 1;
                }
	        }
        }
        
        if(paxml)
        {
            var docRoot = domDoc.getDocumentElement();
            var _items = docRoot.selectNodeSet("//channel/item");
            var _itemsCnt = _items.getLength();
        
            for (i; i < _itemsCnt; i++)
            {
                var _item = _items.item(i);
              
                var _t =  ""
                var _l = ""

                try
                {
                    _t =  _item.selectNodeSet("title/text()").item(0).getNodeValue();
                    _l =  _item.selectNodeSet("link/text()").item(0).getNodeValue();
                }
                catch(eitemo)
                {
                    try
                    {
                        var _rItem = _item.toString();
                        var _rtStrtIdx = _rItem.indexOf("<title>") + 7;
                        var _rtEndIdx = _rItem.indexOf("</title>");
                        var _rlStrtIdx = _rItem.indexOf("<link>") + 6;
                        var _rlEndIdx = _rItem.indexOf("</link>");

                        _t = _rItem.substring(_rtStrtIdx,_rtEndIdx);
                        _l = _rItem.substring(_rlStrtIdx,_rlEndIdx);
                    }
                    catch(eitemi)
                    {
                        _t = ""
                        _l = ""
                    }
                }

                _t = clcdata(_t);
                _l = clcdata(_l);
                _l = _l.replace("amp;", "");
                
                if( _t.length > 75 )
                {
                    _t = _t.substr(0, 75) + "..."
                }

                //if(i == 0 ) { alert("_t: " + _t + "\n_l: " + _l); }
                //var _d = "";
                //try {  _d = _item.selectNodeSet("description/text()").item(0).getNodeValue(); } catch(ex) { _d = ""; }
                
                if( i % 5 == 0 )
                {   
                    dvhtml = dvhtml + dvend;
                    dvhtml = dvhtml + dvsrt;
                    dvend = "</div>"
                }
                
                var _rslhtml = "<a href=" + _l + " target='blank' class='rssLink' " + _oclk + ">" + _t + "</a><br />"
                dvhtml = dvhtml + _rslhtml;
            }
        }
        
        if( dvend.length > 0 )
        {
            dvhtml = dvhtml + dvend;
        }
        
        hdlddv(lddv);
    }
    catch(er)
    {
        hdlddv(lddv);
    }
    
    if( dvhtml.length > 0 )
    {
        _od.innerHTML = dvhtml;
    
        if( $(odp).find("div.nav").length == 0 )
        {
            $(odp).find('div:gt(0)').attr("style", "visibility:visible");
            $(odp).pager('div', { prevText: 'Previous', nextText: 'Next', cid: rsscid, tid: rsstid, mid: rssmid, pid: rsspid, cact: rsscact }); 
        }
    }
    else if( rsstpe == "s" )
    {
        _od.innerHTML = "<br /><br /><font class='rssError'>The stories for the news feed are currently unavailable.  The news provider is most likely having issues serving information.  Once the provider’s issues have been resolved the stories should be available again.</font>"
    }
    else
    {
        _od.innerHTML = "<br /><br /><font class='rssError'>The stories for the RSS url " + rssuril + " are unavailable.<br /><br />If the url " + rssuril + " is valid, the news provider is most likely having issues serving information.  Once the provider's issues have been resolved the stories should be available again.<br /><br />If the url is invalid or no longer active, do the following:<br />1) Delete this module by clicking the 'X' in its upper right-hand corner.<br />2) Find the valid URL for the RSS feed.<br />3) Click the button at the top of the page to customize your site.<br />4) Click the 'Add an RSS Feed' tab.<br />4) Enter the feed URL and name.<br />5) Click the 'Add' button.</font>";
    }
}

function clcdata(_t)
{
    if( _t.indexOf("<![CDATA[") > -1 )
    {
        _t = _t.replace("<![CDATA[", "");
        _t = _t.replace("]]>", "");
        _t = _t.replace("amp;", "");
    }
    
    return _t;
}

function hdlddv(lddv)
{
    var _lddv = getElementWithId(lddv);
    _lddv.style.visibility = "hidden";
    _lddv.style.height = "0px";
    _lddv.innerHTML = "";
}

function lrssxle(e)
{
    try
    {
        lgjser(e);
    }
    catch(er)
    {
    }
}

function ldrss(lddv, od, txa, rssmid, rsstid, rsspid, rsscid, rsscact, rssuril, drssuril)
{
    if( spActvGcv() == 1 )
    {
        var _skp = inskp();
        var _sk = _incsk;
        var _skparg = {"sk" : _sk, "skp" : _skp, "ru" : drssuril};
        var _wsargs = JSON.stringify(_skparg);
        var _wsurl = "http://" + window.location.hostname + "/ws/dta.asmx/gdrs"

        $.ajax({
          type: "POST",
          url: _wsurl,
          data: _wsargs,
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function(rstxt) {
                lrss(lddv, od, rstxt.d, rssmid, rsstid, rsspid, rsscid, rsscact, drssuril, "d");
            }
        });
    }
}

function rdrss(lddv, od, txa, rssmid, rsstid, rsspid, rsscid, rsscact, rssuril, drssuril)
{
    if( spActvGcv() == 1 )
    {
        var _skp = inskp();
        var _sk = _incsk;
        var _skparg = {"sk" : _sk, "skp" : _skp, "ru" : drssuril};
        var _wsargs = JSON.stringify(_skparg);
        var _wsurl = "http://" + window.location.hostname + "/ws/dta.asmx/rdrs"

        $.ajax({
          type: "POST",
          url: _wsurl,
          data: _wsargs,
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function(rstxt) {
                lrss(lddv, od, rstxt.d, rssmid, rsstid, rsspid, rsscid, rsscact, drssuril, "d");
            }
        });
    }
}

function lsrss(lddv, od, txa, rssmid, rsstid, rsspid, rsscid, rsscact, rssuril, si)
{
    if( spActvGcv() == 1 )
    {
        var _skp = inskp();
        var _sk = _incsk;
        var _skparg = {"sk" : _sk, "skp" : _skp, "si" : si};
        var _wsargs = JSON.stringify(_skparg);
        var _wsurl = "http://" + window.location.hostname + "/ws/dta.asmx/gsrs"

        $.ajax({
          type: "POST",
          url: _wsurl,
          data: _wsargs,
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function(rstxt) {
                lrss(lddv, od, rstxt.d, rssmid, rsstid, rsspid, rsscid, rsscact, rssuril, "s");
            }
        });
    }
}