
function initMoreProviders() {
	AppendProviderList();
	var allTags = document.getElementsByTagName("A");

	for(var i=0;i<allTags.length;i++) {
		if(allTags[i].className == "SubscribeLink") {
			allTags[i].onclick = function() {
				var div = document.getElementById("ProviderList");
				var rssUrl = this.href;
				if(div) {
					var oDiv = div;
					div.style.visibility = "visible";
					//document.getElementById("ProviderUrl").innerHTML = rssUrl;
					document.getElementById("ProviderListCancelButton").onclick = function() {
						oDiv.style.visibility = "hidden";	
					}
					
					var allLinks = div.getElementsByTagName("A");
					for(var j=0;j<allLinks.length;j++) {
						if(allLinks[j].className == "Provider") {
							allLinks[j].onclick = function() {
								//alert("opening: " + this.href+escape(rssUrl));
								var linkUrl = this.getAttribute("href")=="#" ? rssUrl : this.href + escape(rssUrl);
								//alert(linkUrl);
								var newwindow = window.open(linkUrl,"provider");
								
								newwindow.focus();
								oDiv.style.visibility = "hidden";
								return false;
							}
						}
					}
					
					div.style.left = getPos(this)[0] - div.offsetWidth + this.offsetWidth;
					if(getPos(div)[0] < 0) {
						//alert("fixing");
						div.style.left = getPos(this)[0];
					}
					div.style.top = getPos(this)[1] + this.offsetHeight;
					
					
					return false;
				}
			}
			
		}
	}
}

function AppendProviderList() {
	if(document.getElementById) {
		if(!document.getElementById("ProviderList")) {
			var Providers = new Array(
				new Array("#","/images/icons/rssbutton_xml.gif")
				, new Array("http://www.google.com/ig/add?client=reader&feedurl=","/images/icons/rssbutton_google.gif")
				//, new Array("http://e.my.yahoo.com/config/cstore?.opt=content&.page=p1&.url=","http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif")
				//, new Array("http://www.bloglines.com/sub/","/images/icons/rssbutton_bloglines.gif")
				//, new Array("http://www.live.com/?mkt=en-us&add=","/images/rssbutton_live.gif")
				, new Array("http://www.netvibes.com/subscribe.php?url=","http://www.netvibes.com/img/add2netvibes.gif")
				, new Array("http://www.plusmo.com/add?url=","/images/plusmo.gif")
				);
			
			var providerListDiv = document.createElement("div");
			providerListDiv.id = "ProviderList";
			
			var div = document.createElement("div");
			div.id = "ProviderUrl";
			providerListDiv.appendChild(div);
			
			var div = document.createElement("div");
			div.innerHTML = "<strong>Subscribe using:</strong>";
			providerListDiv.appendChild(div);
			
			var ul = document.createElement("ul");
			for(var i=0;i<Providers.length;i++) {
				var li = document.createElement("li");
				var a = document.createElement("a");
				var img = document.createElement("img");
				img.border = "0";
				img.title = "Subscribe...";
				img.src = Providers[i][1];
				
				a.appendChild(img);
				a.className = "Provider";
				a.href = Providers[i][0];
				
				li.appendChild(a);
				
				ul.appendChild(li);
			}
			
			providerListDiv.appendChild(ul);
			
			var input = document.createElement("input");
			input.type = "button";
			input.name = "CancelButton";
			input.id = "ProviderListCancelButton"
			input.value = "Cancel";
			providerListDiv.appendChild(input);
			
			document.body.appendChild(providerListDiv);
		}
	}
}

function getPos(obj) {
	var left = obj.offsetLeft;
	var top = obj.offsetTop;
	
	while(obj = obj.offsetParent) {
		left += obj.offsetLeft;
		top += obj.offsetTop;
	}
	
	return new Array(left,top);
}