/**
 * Plugin: jquery.zRSSFeed
 * 
 * Version: 1.0.1
 * (c) Copyright 2010, Zazar Ltd
 * 
 * Description: jQuery plugin for display of RSS feeds via Google Feed API
 *              (Based on original plugin jGFeed by jQuery HowTo)
 * 
 * History:
 * 1.0.1 - Corrected issue with multiple instances
 *
 **/
(function(g){g.fn.rssfeed=function(l,f){f=g.extend({limit:10,header:false,date:true,showDayMonthOnly:false,content:true,snippet:true,showerror:true,errormsg:"",dateFormat:"mmm dd, yyyy hh:mm:ssa",key:"ABQIAAAAcZ89aAiQZ0ME82WHrG0kPhSQv7HnCgfuuLDILnLIkqljlYCN3xT6bh9oIAXUKNEJLJii9a96yGkGUQ"},f);return this.each(function(h,a){var c=g(a);if(l==null)return false;c="http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q="+l;if(f.limit!=null)c+="&num="+f.limit;if(f.key!=null)c+="&key="+f.key;
g.getJSON(c,function(d){if(d.responseStatus==200){d=d.responseData.feed;var e=f;if(d){var b="";if(e.header)b+='<div class="rssHeader"><a href="'+d.link+'" title="'+d.description+'" target="_blank">'+d.title+"</a></div>";for(var i=0;i<d.entries.length;i++){b+='<dl class="sPost">';var j=d.entries[i],m=(new Date(j.publishedDate)).format(e.dateFormat);b+='<dt class="postHeadline"><a href="'+j.link+'" title="View this feed at '+d.title+'" target="_blank">'+j.title+"</a></dt>";if(e.date)b+='<dd class="postDate">'+m+"</dd>";if(e.content)b+=
'<dd class="postBody">'+(e.snippet&&j.contentSnippet!=""?j.contentSnippet.replace("...",'... <a href="'+j.link+'" target="_blank">read more</a>'):j.content)+"</dd>";b+="</dl>"}g(a).html(b)}}else{if(f.showerror)e=f.errormsg!=""?f.errormsg:d.responseDetails;g(a).html('<div class="rssError"><p>'+e+"</p></div>")}})})}})(jQuery);
var dateFormat=function(){var g=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,l=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,f=/[^-+\dA-Z]/g,h=function(a,c){a=String(a);for(c=c||2;a.length<c;)a="0"+a;return"<span>"+a+"</span>"};return function(a,c,d){var e=dateFormat;if(arguments.length==1&&Object.prototype.toString.call(a)=="[object String]"&&!/\d/.test(a)){c=a;a=undefined}a=a?new Date(a):
new Date;if(isNaN(a))throw SyntaxError("invalid date");c=String(e.masks[c]||c||e.masks["default"]);if(c.slice(0,4)=="UTC:"){c=c.slice(4);d=true}var b=d?"getUTC":"get",i=a[b+"Date"](),j=a[b+"Day"](),m=a[b+"Month"](),p=a[b+"FullYear"](),k=a[b+"Hours"](),q=a[b+"Minutes"](),r=a[b+"Seconds"]();b=a[b+"Milliseconds"]();var o=d?0:a.getTimezoneOffset(),s={d:"<span>"+i+"</span>",dd:h(i),ddd:e.i18n.dayNames[j],dddd:e.i18n.dayNames[j+7],m:m+1,mm:h(m+1),mmm:e.i18n.monthNames[m],mmmm:e.i18n.monthNames[m+12],yy:String(p).slice(2),
yyyy:p,h:k%12||12,hh:h(k%12||12),H:k,HH:h(k),M:q,MM:h(q),s:r,ss:h(r),l:h(b,3),L:h(b>99?Math.round(b/10):b),t:k<12?"a":"p",tt:k<12?"am":"pm",T:k<12?"A":"P",TT:k<12?"AM":"PM",Z:d?"UTC":(String(a).match(l)||[""]).pop().replace(f,""),o:(o>0?"-":"+")+h(Math.floor(Math.abs(o)/60)*100+Math.abs(o)%60,4),S:["th","st","nd","rd"][i%10>3?0:(i%100-i%10!=10)*i%10]};return c.replace(g,function(n){return n in s?s[n]:n.slice(1,n.length-1)})}}();
dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};
dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};Date.prototype.format=function(g,l){return dateFormat(this,g,l)};
