
var MyFeeds={applyTo:function(cb,obj){return function(){cb.apply(obj,arguments)};},getEventElement:function(name,evt){if(name=="src"){return($.browser.mozilla)?evt.target:evt.srcElement;}
else if(name=="to"){return($.browser.mozilla)?evt.relatedTarget:evt.toElement;};return null;},coerceInt:function(p_i){p_i=parseInt(p_i);return(isNaN(p_i)?0:p_i);},cancelEvent:function(evt){evt.cancelBubble=true;if(evt.stopPropagation){evt.stopPropagation();};evt.returnValue=false;if(evt.preventDefault){evt.preventDefault();};return false;},getCookie:function(name){var cookieName=name+"=";var cooks=document.cookie.split(';');if(cooks.length>0){for(var i=0;i<cooks.length;i++){var ca=cooks[i];while(ca.charAt(0)==' '){ca=ca.substring(1,ca.length);}
if(ca.indexOf(cookieName)==0){return ca.substring(cookieName.length,ca.length);}}}
return null;},setCookie:function(cookieName,cookieValue,expireDate){var newExpire;if(expireDate!=null||expireDate!=""){newExpire=new Date();newExpire.setYear(newExpire.getFullYear()+5);}
else{newExpire=expireDate;};if(typeof document!="undefined"){document.cookie=cookieName+"="+cookieValue+";expires="+newExpire.toGMTString();return true;};return false;},SubscribeContainer:function(selector,_ns){var me=this;me.selector=selector;me.container=$(me.selector);me.columns=new Array();me.pid=me.linkcount=me.cols=me.maxfeeds=me.loadmessage=me.dupfeederr=me.maxfeederr=me.invaliderr=me.emptyerr=me.service='';me.fetchArgs=null;me.feedCount=0;me.subscriptionBindings=new Array();me._ns=_ns;me.cookiekey="MyFeeds"+me.pid+me._ns;},Subscription:function(_parent){var me=this;me.parent=_parent;me.element=me.headerElement=me.list=me.response=me.localpath=null;}}
MyFeeds.SubscribeContainer.prototype={initializeComponents:function(){var me=this;me.localpath=me.service;me.wrapper=$("<div></div>",me.container).addClass("subswrap").prependTo($("div.content:first",me.container)).hide();me.subscontainer=$("<div></div>",me.container).addClass("subscon").appendTo(me.wrapper);me.subscontainer.append("<div class='clear'></div>");me.errorpanel=$("<div>&nbsp</div>",me.container).addClass("suberr").insertBefore($("span:last",me.container)).hide();me.form=$("form:last",me.container).removeAttr("action").removeAttr("method");me.addFeedLinks=$("a.myfeedsadd",me.container)
me.url=$("form input:first",me.container);me.url.attr("name",me.url.attr("id"));me.url.attr("autocomplete","on");me.url.attr("initvalue",me.url.attr("value"));bindComponents();function bindComponents(){for(var f=0;f<me.addFeedLinks.size();f++){$(me.addFeedLinks[f]).bind("click",function(evt){me.url.data(me._ns+":url",$(MyFeeds.getEventElement("src",evt)).attr("rss"));me.formSubmit(evt);return false;});};me.url.bind("focus",function(evt){if(me.errorpanel.text!="&nbsp;"){me.showMessage("#999","");}
else{me.url.data(me._ns+":url","");};});me.form.bind("submit",MyFeeds.applyTo(me.formSubmit,me));}
me.loadSubs();},getSubsBinding:function(_url){if(typeof this.subscriptionBindings!="undefined"&&this.subscriptionBindings!=null){for(var s=0;s<this.subscriptionBindings.length;s++){if(this.subscriptionBindings[s].url.toLowerCase()==_url.toLowerCase()){return this.subscriptionBindings[s];};};};return null;},getPersistState:function(){var ck=MyFeeds.getCookie(this.cookiekey);return ck?ck:"";},setPersistState:function(_val){MyFeeds.setCookie(this.cookiekey,_val);},persisteSubs:function(_oSub){var pStatus=this.getPersistState();var subsArray=pStatus.split("|");for(var i=0;i<subsArray.length;i++){if(subsArray[i]==_oSub.url.toLowerCase()){return;}}
if(pStatus){pStatus=pStatus+"|"+_oSub.url.toLowerCase();}else{pStatus=_oSub.url;}
this.setPersistState(pStatus);},unpersisteSubs:function(_oSub){var pStatus=this.getPersistState();if(pStatus){pStatus=pStatus.replace(_oSub.url,"");pStatus=pStatus.replace(/\|\|/g,"|").replace(/^\||\|$/,"");};this.setPersistState(pStatus);},loadSubs:function(){var subsArray=this.getPersistState().split("|");for(var i=0;i<subsArray.length;i++){if(subsArray[i]!=""){this.addSubs(subsArray[i]);}}
this.resetSubsClass();},addSubs:function(_url){this.showMessage("#999",this.loadmessage);var subs=new MyFeeds.Subscription(this);subs.fetch(_url);this.feedCount++;return subs;},removeSubs:function(_oSubs){if(this.subscriptionBindings){this.subscriptionBindings.remove(_oSubs);};this.feedCount--;if(this.feedCount==0){this.wrapper.hide();};this.unpersisteSubs(_oSubs);_oSubs.dispose();this.resetSubsClass();},onSubsAdded:function(_oSubs){this.persisteSubs(_oSubs);this.subscriptionBindings.push(_oSubs);this.resetSubsClass();},createSubsWrapper:function(){return $("<div></div>",this.subscontainer).addClass("sub").appendTo(this.subscontainer);},showMessage:function(color,message){if(message!="&nbsp;"&&message!=""){$(this.errorpanel).css("color",color);$(this.errorpanel).html(message);$(this.errorpanel).hide();$(this.errorpanel).fadeIn("normal");}else{$(this.errorpanel).html("&nbsp;");}},formSubmit:function(evt){MyFeeds.cancelEvent(evt);var url=this.url.data(this._ns+":url");url=url?url:this.url.attr("value");this.url.data(this._ns+":url","");if(url==""){this.showMessage("red",this.emptyerr);}
else if(this.maxfeeds==this.feedCount){this.showMessage("red","{0}".format(this.maxfeederr.replace("{#do not remove this text#}",this.maxfeeds)));}
else if(this.getSubsBinding(url)){this.showMessage("red",this.dupfeederr);}
else{this.showMessage("#999","");var sub=this.addSubs(url);}
return false;},resetSubsClass:function(){var me=this;var subscontainer=this.subscontainer;var outterWidth=$.browser.msie&&$.browser.version=="6.0"?me.subscontainer.width()
-MyFeeds.coerceInt(!me.container.css("margin-left")?0:me.container.css("margin-left").replace(/[A-za-z]/g,""))
-MyFeeds.coerceInt(!me.container.css("margin-right")?0:me.container.css("margin-right").replace(/[A-za-z]/g,""))
-MyFeeds.coerceInt(!me.container.css("border-left-width")?0:me.container.css("border-left-width").replace(/[A-za-z]/g,""))
-MyFeeds.coerceInt(!me.container.css("border-right-width")?0:me.container.css("border-right-width").replace(/[A-za-z]/g,""))
-MyFeeds.coerceInt(!me.wrapper.css("margin-left")?0:me.wrapper.css("margin-left").replace(/[A-za-z]/g,""))
-MyFeeds.coerceInt(!me.wrapper.css("margin-right")?0:me.wrapper.css("margin-right").replace(/[A-za-z]/g,"")):me.subscontainer.width();function resetClassByOrder(){var element=$(this);element.removeClass("firsts").removeClass("lasts");if((subscontainer.children().index(this)+1)%me.cols==1){element.addClass("firsts");}
if((subscontainer.children().index(this)+1)%me.cols==0){element.addClass("lasts");};element.width(MyFeeds.coerceInt(outterWidth/me.cols)-
MyFeeds.coerceInt(element.css("padding-left").replace(/[A-za-z]/g,""))-
MyFeeds.coerceInt(element.css("border-left-width").replace(/[A-za-z]/g,""))-
MyFeeds.coerceInt(element.css("border-right-width").replace(/[A-za-z]/g,""))-
MyFeeds.coerceInt(element.css("padding-right").replace(/[A-za-z]/g,""))+"px");}
this.subscontainer.find("> div.clear").remove();this.subscontainer.find("> .sub").each(resetClassByOrder);this.subscontainer.find("> .lasts").after($("<div></div>",subscontainer).addClass("clear"));this.subscontainer.find("> .sub:last").after($("<div></div>",subscontainer).addClass("clear"));if($.browser.msie){this.container.find(".child:first ul").hide();this.container.find(".child:first ul").show();}}}
MyFeeds.Subscription.prototype={build:function(){var me=this;me.element=me.parent.createSubsWrapper();function appendNodes(_item){if(_item){var item=$(_item);var listItem=listItemLink=null;listItem=$("<li></li>",me.list);if(items.index(_item)==0){listItem.addClass("first")}
if(items.index(_item)==items.size()-1){listItem.addClass("last")}
listItemLink=$("<a></a>",listItem);listItemLink.attr("href",item.find("link").text());listItemLink[0].innerHTML=item.find("> title").text();var description=item.find("> description");if(description.text()){if($(description.text()).size())description=$(description.text());listItemLink.attr("title",description.text());}
listItem.append(listItemLink);me.list.append(listItem);}}
function createRemoveF(_oSubs){function onRemoveClick(){var parent=_oSubs.parent;parent.removeSubs(_oSubs);return false;}
var bRemove=$("<a></a>",me.element).attr("href","#").addClass("srmv").click(onRemoveClick);return bRemove;}
me.parent.wrapper.show();me.element.append(createRemoveF(me));me.headerElement=$("<a></a>",me.element).addClass("myhdr");me.headerElement[0].innerHTML=(me.response.find("rss > channel > title").length==1)?me.response.find("rss > channel > title").text():me.response.find("rss > channel > title:first").text();if(me.response.find("rss > channel > link").text()!=""){me.headerElement.attr("href",me.response.find("rss > channel > link").text());};me.element.append(me.headerElement);me.list=$("<ul></ul>",me.element).addClass("linklist16");var items=me.response.find("rss > channel > item");for(var i=0;i<me.parent.linkcount;i++){appendNodes(items[i]);}
me.parent.showMessage("#999","");me.element.append(me.list);},fetch:function(_url){var me=this;me.url=_url;_url=(_url.toLowerCase().substring(0,7)=="http://")?_url:"http://"+_url;me.localpath=me.parent.localpath+"?returnheadlines="+me.parent.linkcount+"&fetchurl="+_url;$.ajax({url:me.localpath,success:MyFeeds.applyTo(me.responseSuccess,me),dataType:"xml",error:MyFeeds.applyTo(me.responseError,me)})},responseError:function(_oBind){this.response=$(_oBind);this.parent.showMessage("red",this.parent.invaliderr);this.parent.removeSubs(this);},responseSuccess:function(_oBind){if(typeof _oBind.Package!="undefined"){_oBind=_oBind.Package;};this.response=$(_oBind);if(!this.response.find("> rss").size()){this.parent.showMessage("red",this.parent.invaliderr);this.parent.removeSubs(this);return;}
else{this.build();this.parent.onSubsAdded(this);};},dispose:function(_oBind){var oDispose=null;if(!arguments.length){oDispose=this;}
else{oDispose=_oBind;}
if(oDispose.element){oDispose.element.remove();oDispose.element.removeData(oDispose.parent._ns+":url");}
oDispose.element=oDispose.parent=oDispose.headerElement=oDispose.list=oDispose.response=oDispose.url=oDispose.localpath=null;oDispose=null;}}