function Left(str, n){if (n <= 0) return ""; else if (n > String(str).length) return str; else return String(str).substring(0,n);}

Date.prototype.setISO8601 = function(dString){
   var regexp = /(\d\d\d\d)(-)?(\d\d)(-)?(\d\d)(T)?(\d\d)(:)?(\d\d)(:)?(\d\d)(\.\d+)?(Z|([+-])(\d\d)(:)?(\d\d))/;
   if (dString.toString().match(new RegExp(regexp))) {
      var d = dString.match(new RegExp(regexp));
      var offset = 0;

      this.setUTCFullYear(parseInt(d[1]));
      this.setUTCMonth(d[3] - 1);
      this.setUTCDate(d[5]);
      this.setUTCHours(d[7]);
      this.setUTCMinutes(d[9]);
      this.setUTCSeconds(d[11]);
      if (d[12])
         this.setUTCMilliseconds(parseFloat(d[12]) * 1000);
      else
         this.setUTCMilliseconds(0);
      if (d[13] != 'Z') {
         offset = (d[15] * 60) + parseInt(d[17]);
         offset *= ((d[14] == '-') ? -1 : 1);
         this.setTime(this.getTime() - offset * 60 * 1000);
      }
   }
   else {
      this.setTime(Date.parse(dString));
   }
   return this;
}

function parseFeed(sUrl, sIcon, iItems, iCharsTitle, iChars, sDiv){
  jQuery.getFeed({
    url: sUrl + "&rand=" + Math.round(10000*Math.random()),
    cache: false,
    success: function(feed) {
      var datum = new Date();
      var den = new Date()
      var vlozeno;
      for(var i = 0; i < feed.items.length && i < iItems; i++) {

        var item = feed.items[i];
        var polozka = new Array(8);
        den = datum.setISO8601(item.updated)
        vlozeno = false;

        polozka[0] = Date.parse(den);
        polozka[1] = feed.title;
        polozka[2] = feed.link;
        polozka[3] = feed.logo;
        polozka[4] = den.getDate() + "." + (den.getMonth()+1) + ".";
        polozka[5] = item.title;
        polozka[6] = item.link;
        polozka[7] = item.description;
        polozka[8] = Math.round(polozka[0]*Math.random());

        if (polozka[4] == "NaN.NaN.") {polozka[4] = "";}

        if (polozka[7].length >= iChars) {
          intLastDelimPos = Left(polozka[7], iChars).lastIndexOf(" ")
          if (intLastDelimPos <= 0) {
            intLastDelimPos = iChars;
          }
          polozka[7] = Left(polozka[7], intLastDelimPos) + "..."
        }
        
        if (polozka[5].length >= iCharsTitle) {
          intLastDelimPos = Left(polozka[5], iCharsTitle).lastIndexOf(" ")
          if (intLastDelimPos <= 0) {
            intLastDelimPos = iCharsTitle;
          }
          polozka[5] = Left(polozka[5], intLastDelimPos) + "..."
        }

        jQuery(".feedpolozka").each(function (i, v) {
          if (polozka[0] >= jQuery(v).attr("class").replace("feedpolozka ", "")) {
            jQuery(v).before("<div id=\"" + polozka[8] + "\" class=\"feedpolozka " + polozka[0] + "\"><dd><span>" + polozka[4] + "</span><a href=\"" + polozka[2] + "\"><img src=\"http://www.svetoutdooru.cz/Images/Design/" + sIcon + "\" border=0 alt=\"" + polozka[1] + "\" /></a> <a href=\"" + polozka[6] + "\">" + polozka[5] + "</a> <p>" + polozka[7] + "</p></dd></div>");
            vlozeno = true;
            return false;
          }
        })
        if (!vlozeno) {
          jQuery(sDiv).append("<div id=\"" + polozka[8] + "\" class=\"feedpolozka " + polozka[0] + "\"><dd><span>" + polozka[4] + "</span><a href=\"" + polozka[2] + "\"><img src=\"http://www.svetoutdooru.cz/Images/Design/" + sIcon + "\" border=0 alt=\"" + polozka[1] + "\" /></a> <a href=\"" + polozka[6] + "\">" + polozka[5] + "</a> <p>" + polozka[7] + "</p></dd></div>");
        }
      }
    }
  });
}
