/*******************************************************
* External addons to weblog: Detects external links 
* in posts and adds an unordered list before it
* (c)2004 Sergi Meseguer (meddle AT dzygn DOT com),
********************************************************/

var External = {
	// Events methods by Scott Andrew (www.scottandrew.com):
	addEvent : function(obj, evType, fn, useCapture){
		if (obj.addEventListener){
			obj.addEventListener(evType, fn, useCapture);
			return true;
		} 
		else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		} 
		else {
			return false;
		}
	}, 
	
	// Function adapted from Dan Pupius (pupius.co.uk):
	getElementsByClass : function(className,node) {
		if(!node) node=document;
		var refTags = node.getElementsByTagName("*") ? node.getElementsByTagName("*") : document.all;
		var retVal = new Array();
		for(var r=0;r<refTags.length;r++) {
			if(refTags[r].className == className) 
			retVal.push(refTags[r]);
		}
		return retVal; 
	},
	
	// Detects external links in posts and adds an unordered list before it, by Sergi (http://meddle.dzygn.com/):
	detectExternal : function() { 
		// BEWARE CLASS:
		var WhereFrom = External.getElementsByClass("node_content");
		for(var i=0; i<WhereFrom.length; i++) { 
		var HREFS = new Array(0);
		var TITLS = new Array(0);
			var Lincs = WhereFrom[i].getElementsByTagName("a");
			//***** ADD POST'S LINKS
			for(var k=0; k<Lincs.length; k++) { 
				var url = Lincs[k].href;
				//if(url.indexOf(document.domain) == -1)  //beware if you use /www.domain and /domain
				if(url.indexOf("simplelogica.net") == -1)  
				{
					HREFS.push(Lincs[k].href);
					if(!Lincs[k].title) TITLS.push(Lincs[k].innerHTML);
					else TITLS.push(Lincs[k].title); 
				}
			}
			
			// BEWARE CLASS:
			var Coms = External.getElementsByClass("comment");
			for(var c=0; c<Coms.length; c++) {
				var LincsCom = Coms[c].getElementsByTagName("a");
				//***** ADD COOMENTS' LINKS TOO
				for(var x=0; x<LincsCom.length; x++) {
					var url = LincsCom[x].href;
					//if(url.indexOf(document.domain) == -1)  //beware if you use /www.domain and /domain
					if(url.indexOf("simplelogica.net") == -1)  
					{
						HREFS.push(LincsCom[x].href);
						if(!LincsCom[x].title) TITLS.push(LincsCom[x].innerHTML);
						else TITLS.push(LincsCom[x].title); 
					}
				}
			}

			if(HREFS.length>0){
				// BEWARE CLASS/NODE:
				var WhereTo = External.getElementsByClass("firmado", WhereFrom[i]);

				var Afegit = "<h3>Resumen de enlaces externos dejados en este post</h3><ol>";
				for(var j=0; j<WhereTo.length; j++) { 
					
					var donde = WhereTo[j].parentNode;
					var DIV = document.createElement("div");
					donde.insertBefore(DIV, donde.firstChild);
				
					for(var m=0; m<HREFS.length; m++) { 
						Afegit += "<li><a href='"+HREFS[m]+"' title='"+TITLS[m]+"'>"+TITLS[m]+"</a></li>";
					}
					Afegit += "</ol>";
					DIV.innerHTML += Afegit; 
				}
				
			}
		}

	}
}

// extending Array, by Aaron Boodman (youngpup.net):
Array.prototype.indexOf = function(foo) { 
	for (var i = 0; i < this.length; i++)  
	if (foo == this[i]) return i;  
	return -1;  
}

// adds 1 or more elements to an array (IE only)
// by Dave Schontzler, www.stilleye.com
if(!Array.prototype.push)
{
	Array.prototype.push =  function()
	{
		for(var i=0; j=arguments[i]; i++) this[this.length] = j;
		return this.length;
	}
}

if (document.getElementById && document.getElementsByTagName) {
	External.addEvent(window, "load", External.detectExternal, false);
}

