var nIeladetieObjekti = 0;
var aTmpThis = new Array();
var aReq = new Array();

// objekts
function RssIelade(cUrl, cBaseDiv) 
{
    this.oRssDiv1;
    this.oRssDiv2;
    this.oRssDiv3;
    
    this.aRssDati;
    this.nHeight = 110;
    this.lKustiba = true;
    this.lIeladets = false;
    this.nNakoshaisIeraksts = 0;
    this.cBaseDivName = cBaseDiv;
    this.nKartasNr = 0;
    this.nShowItems = 2;

    nIeladetieObjekti++;
    this.nKartasNr = nIeladetieObjekti;

    // funkcijas
    this.RssGjenereeHtml    = RssGjenereeHtml;
    this.RssIerakstaHtml    = RssIerakstaHtml;
    this.RssKustibaStop     = RssKustibaStop;
    this.RssKustibaAiziet   = RssKustibaAiziet;
    this.RssKustiba         = RssKustiba;
    this.RssNakoshaisIeraksts   = RssNakoshaisIeraksts;
    this.ProcessReqChange   = ProcessReqChange;
    
    // defaultais diva saturs
	this.oDiv = document.getElementById(this.cBaseDivName);
	this.oDiv.innerHTML = "...";

    // aiziet
	loadXMLDoc(cUrl, this);
}

function RssNakoshaisIeraksts() 
{
	this.nNakoshaisIeraksts++
	if (this.aRssDati.length<=this.nNakoshaisIeraksts)
		this.nNakoshaisIeraksts = 0
	
	return this.RssIerakstaHtml(this.aRssDati[this.nNakoshaisIeraksts])
}

// txt datums 2 num datums
function Datums2Num(cMenesis) {
	var aMenesi = new Array()
	aMenesi["Jan"] = "01"
	aMenesi["Feb"] = "02"
	aMenesi["Mar"] = "03"
	aMenesi["Apr"] = "04"
	aMenesi["May"] = "05"
	aMenesi["Jun"] = "06"
	aMenesi["Jul"] = "07"
	aMenesi["Aug"] = "08"
	aMenesi["Sep"] = "09"
	aMenesi["Oct"] = "10"
	aMenesi["Nov"] = "11"
	aMenesi["Dec"] = "12"
	return aMenesi[cMenesis]
}

// viena itema htmls
function RssIerakstaHtml(aDati) {
	var cHtml = ''
	cHtml += "<h2><a href=\""+ aDati['link'] +"\">" + aDati['title'] + "</a></h2>"
	cHtml += "<p class=\"datums\">";    // + ", " + aDati['source'] 

	if (aDati['pubDate']) {
		var aDatums = aDati['pubDate'].split(" ")
		cHtml += aDatums[1] + "." + Datums2Num(aDatums[2]) + "."+ aDatums[3] + ", "+ aDatums[4];
	}

	cHtml += "</p>"
	if (aDati['description']) {
		cHtml += "<p><a href=\""+ aDati['link'] +"\">"+ aDati['description'] +"</a></p>"
	}
	return cHtml
}

// kustina kastiites
function RssKustiba(oRssObject) 
{
	var nTop = 0
	var nSolis = -6
	var nLaiks = 100
	var nRakstaLaiks = 2000

	if (!oRssObject.lKustiba) 
    {
        aTmpThis[oRssObject.nKartasNr] = oRssObject;
        setTimeout("aTmpThis["+oRssObject.nKartasNr+"].RssKustiba(aTmpThis["+oRssObject.nKartasNr+"])", nLaiks);
		return true;
	}

	nTop = parseInt(oRssObject.oRssDiv1.style.top)
	oRssObject.oRssDiv1.style.top = nTop + nSolis + "px"

	// paarbauda vai pirmo nevajag aizmest apaskhaa
	if ((nTop + nSolis + oRssObject.nHeight)<=0) 
    {
		oRssObject.oRssDiv1.style.top = (oRssObject.nHeight*this.nShowItems) + "px";
		oRssObject.oRssDiv1.innerHTML = oRssObject.RssNakoshaisIeraksts();
		nLaiks = nRakstaLaiks;
	}
    
	nTop = parseInt(oRssObject.oRssDiv2.style.top);
	oRssObject.oRssDiv2.style.top = nTop + nSolis + "px";
	if ((nTop + nSolis + oRssObject.nHeight)<=0) 
    {
		oRssObject.oRssDiv2.style.top = (oRssObject.nHeight*this.nShowItems) + "px";
		oRssObject.oRssDiv2.innerHTML = oRssObject.RssNakoshaisIeraksts();
		nLaiks = nRakstaLaiks;
	}	
    
	nTop = parseInt(oRssObject.oRssDiv3.style.top);
	oRssObject.oRssDiv3.style.top = nTop + nSolis + "px";
	if ((nTop + nSolis + oRssObject.nHeight)<=0) 
    {
		oRssObject.oRssDiv3.style.top = (oRssObject.nHeight*this.nShowItems) + "px";
		oRssObject.oRssDiv3.innerHTML = oRssObject.RssNakoshaisIeraksts();
		nLaiks = nRakstaLaiks;
	}

    aTmpThis[oRssObject.nKartasNr] = oRssObject;
    setTimeout("aTmpThis["+oRssObject.nKartasNr+"].RssKustiba(aTmpThis["+oRssObject.nKartasNr+"])", nLaiks);
}

function RssKustibaStop() 
{
	this.lKustiba = false
}

function RssKustibaAiziet() 
{
	this.lKustiba = true
}

// sagatavo html un iemet divaa
function RssGjenereeHtml(aDati) 
{

	var cHtml = ''

	cHtml += "<div class=\"rssclass\" id=\""+ this.cBaseDivName +"RssDyn1\" style=\"height: "+ this.nHeight +"; top: 0px;\"></div>";
	cHtml += "<div class=\"rssclass\" id=\""+ this.cBaseDivName +"RssDyn2\" style=\"height: "+ this.nHeight +"; top: "+ this.nHeight +"px;\"></div>";
    cHtml += "<div class=\"rssclass\" id=\""+ this.cBaseDivName +"RssDyn3\" style=\"height: "+ this.nHeight +"; top: "+ (this.nHeight*2) +"px;\"></div>";

	this.oDiv.innerHTML = cHtml

	this.oRssDiv1 = document.getElementById(this.cBaseDivName +"RssDyn1")
	this.oRssDiv1.innerHTML = this.RssIerakstaHtml(aDati[this.nNakoshaisIeraksts++])
    
	this.oRssDiv2 = document.getElementById(this.cBaseDivName +"RssDyn2")
	this.oRssDiv2.innerHTML = this.RssIerakstaHtml(aDati[this.nNakoshaisIeraksts++])
    
	this.oRssDiv3 = document.getElementById(this.cBaseDivName +"RssDyn3")
	this.oRssDiv3.innerHTML = this.RssIerakstaHtml(aDati[this.nNakoshaisIeraksts++])

	this.aRssDati = aDati
	
	if (!this.lIeladets)
    {
        aTmpThis[this.nKartasNr] = this;
        var cFunkcijasNosaukums = "this.RssKustiba(aTmpThis["+this.nKartasNr+"])"
        setTimeout(cFunkcijasNosaukums, 2000);
    }

	this.lIeladets = true
}

// sagatavo atbildi
function ProcessReqChange(rRekvests, oRssObject) 
{

	if (rRekvests.readyState == 4) 
    {
		if (rRekvests.status == 200 && rRekvests.responseXML != null) 
        {
			var oXML = rRekvests.responseXML
            
			// nolasa kanaalu
			var cTitle = oXML.getElementsByTagName('title')[0].firstChild.data
			var cLink = oXML.getElementsByTagName('link')[0].firstChild.data
            
			var oItems = oXML.getElementsByTagName("item")
            
			var aIeraksti = new Array()
			var aTmpIeraksts = new Array()
            
			// sagatavo rss datus
			for (var nItemI = 0; nItemI<oItems.length; nItemI++) 
            {
				for (var i = 0; i<oItems[nItemI].childNodes.length ;i++) 
                {
					if (oItems[nItemI].childNodes[i].nodeType==1) 
                    {
						aTmpIeraksts[oItems[nItemI].childNodes[i].nodeName] = (oItems[nItemI].childNodes[i].firstChild!=null ? oItems[nItemI].childNodes[i].firstChild.nodeValue : '')
					}
				}
				aIeraksti.push(aTmpIeraksts)
				aTmpIeraksts = Array()
			}
            
			oRssObject.RssGjenereeHtml(aIeraksti)
		} else 
        {
            // sho vajag paartaisiit uz innerhtml
            oRssObject.oDiv.innerHTML = "problem loading xml";
		}
	}
}

// nolasa xml
function loadXMLDoc(url, oRssObject)
{

  if(window.XMLHttpRequest) 
  {
    try {
      aReq[oRssObject.nKartasNr] = new XMLHttpRequest();
        } catch(e) {
      aReq[oRssObject.nKartasNr] = false;
        }
  }
  else if(window.ActiveXObject)
  {
    try 
    {
      aReq[oRssObject.nKartasNr] = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) 
    {
        try {
          aReq[oRssObject.nKartasNr] = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
          aReq[oRssObject.nKartasNr] = false;
        }
    }
  }

  if(aReq[oRssObject.nKartasNr]) 
  {
    aTmpThis[oRssObject.nKartasNr] = oRssObject;
    aReq[oRssObject.nKartasNr].onreadystatechange = function () { ProcessReqChange(aReq[oRssObject.nKartasNr], aTmpThis[oRssObject.nKartasNr]); };
    aReq[oRssObject.nKartasNr].open("GET", url, true);
    aReq[oRssObject.nKartasNr].send(null);
  }
}