var testLog = "";



// External Links
// Add a Class to External Links
function externalLinks(id, newWinHttp, newWinFtp)
{
	if (document.getElementById(id) && document.getElementsByTagName("a"))
	{
		var field = document.getElementById(id);
		var links = field.getElementsByTagName("a");
		
		for (var i = 0; i < links.length; i++)
		{
			var href = links[i].getAttribute("href");
			//var location = window.location;
			//var myDomain = location.replace(/http:\/\//, "");
			//myDomain = myDomain.split("/", 1)[0];
			var myDomain = location.hostname;
			var hrefDomain = href.replace(/http:\/\//, "");
			hrefDomain = hrefDomain.split("http://www.piccinettiart.com/index-2.html", 1)[0];
			
			if (href.substr(0, 5).toLowerCase() == "http:" && myDomain.toLowerCase() != hrefDomain.toLowerCase())
			{
				links[i].className += " external-http";
				if(newWinHttp)
				{
					links[i].onclick = function()
					{
						window.open(this.getAttribute("href"));
						return false;
					}
				}
			}
			else if (href.substr(0, 4).toLowerCase() == "http://www.piccinettiart.com/myphotose152.html")
			{
				links[i].className += " external-ftp";
				if(newWinHttp)
				{
					links[i].onclick = function()
					{
						window.open(this.getAttribute("href"));
						return false;
					}
				}
			}
			else if (href.substr(0, 7).toLowerCase() == "mailto:")
			{
				links[i].className += " external-email";
			}
			else if (href.substr(0, 6).toLowerCase() == "msnim:")
			{
				links[i].className += " external-msnim";
			}
			else if (href.substr(0, 6).toLowerCase() == "ymsgr:")
			{
				links[i].className += " external-ymsgr";
			}
			else if (href.substr(0, 4).toLowerCase() == "aim:")
			{
				links[i].className += " external-aim";
			}
			else if (href.substr(0, 7).toLowerCase() == "callto:")
			{
				links[i].className += " external-callto";
			}
			else if (href.substr(0, 6).toLowerCase() == "skype:")
			{
				links[i].className += " external-skype";
			}
			else if (href.substr(0, 5).toLowerCase() == "xmpp:")
			{
				links[i].className += " external-xmpp";
			}
		}
	}
}
// End External Links

// Anchors Tootip
// Replace the titles of the anchors with a customizable dynamic tooltip
var tooArrived;
var tooTimeout;

function anchorsTooltip(id, el)
{
	if (document.getElementById(id) && document.getElementsByTagName(el))
	{
		if (!document.getElementById("titleTooltip"))
		{
			var body = document.getElementsByTagName("body");
			var d = createNewElement("div", "titleTooltip", "", "none", "absolute", "0");
			body[0].appendChild(d);
		}
		
		var field = document.getElementById(id);
		var els = field.getElementsByTagName(el);

		for (var i = 0; i < els.length; i++)
		{
			var title = els[i].getAttribute("title");
			if(title == null || title.length == 0)
			{
				title = "link:";
			}
			els[i].removeAttribute("title");
			
			var tooltip = createNewElement("span", "", "tooltip-"+el, "block", "", "");
			var to = createNewElement("span", "", "top", "block", "", "25");
			tooltip.appendChild(to);
			var ti = createNewElement("span", "", "title", "block", "", "");
			ti.appendChild(document.createTextNode(title));
			tooltip.appendChild(ti);
			if(el == "a") {
				var href = els[i].getAttribute("href");
				href = (href.length > 30) ? href.substr(0, 27) + "..." : href;
				var hr = createNewElement("span", "", "href", "block", "", "");
				hr.appendChild(document.createTextNode(href));
				tooltip.appendChild(hr);
			}
			var bo = createNewElement("span", "", "bottom", "block", "absolute", "");
			tooltip.appendChild(bo);
			
			els[i].tooltip = tooltip;
			
			if (title != "" && title != null)
			{
				els[i].onmouseover = function() { alert(0) };
				
				els[i].onmouseover = function()
				{
					var t = document.getElementById("titleTooltip");
					t.appendChild(this.tooltip);
					t.style.left = (document.mouseX + 50) + "px";
					t.style.top = (document.mouseY + 100) + "px";
					t.style.zIndex = "25";
					t.style.display = "block";
					if (!tooArrived) {
						window.clearTimeout(tooTimeout);
					}
					tooArrived = false;
					tooltipMove();
				}
				
				
				
				els[i].onmousemove = function()
				{
					if(tooArrived)
					{
						var t = document.getElementById("titleTooltip");
						t.style.left = (document.mouseX - 10) + "px";
						t.style.top = (document.mouseY + 25) + "px";
					}
				}
				
				els[i].onmouseout = function()
				{
					var t = document.getElementById("titleTooltip");
					if(t.childNodes.length > 0) t.removeChild(t.firstChild);
					t.style.display = "none";
					t.style.zIndex = "0";
					window.clearTimeout(tooTimeout);
					tooArrived = false;
				}
			}
		}
	}
}

function tooltipMove()
{
	var tooDiv = document.getElementById("titleTooltip");
	var tooLeft = parseInt(tooDiv.style.left.replace(/[^0-9]+/g, ""));
	var tooTop = parseInt(tooDiv.style.top.replace(/[^0-9]+/g, ""));
	var tooMedLeft;
	var tooMedTop;
	
	//alert(tooLeft + " " + tooTop);
	
	tooMedLeft = Math.floor((document.mouseX - 10 + tooLeft) / 2);
	tooMedTop = Math.floor((document.mouseY + 25 + tooTop) / 2);
	
	tooDiv.style.left = tooMedLeft + "px";
	tooDiv.style.top = tooMedTop + "px";
	
	if (tooLeft == tooMedLeft && tooTop == tooMedTop) {
		tooArrived = true;
	}
	else {
		tooTimeout = window.setTimeout("tooltipMove()", 1);
	}
}
// End Anchors Tootip


// Fullscreen Message
var fsMessage = function(url, par, met)
{
	if (!document.getElementById("fsmsglyr"))
	{
		var body = document.getElementsByTagName("body");
		
		// Base Layer
		var d = createNewElement("div", "fsmsglyr", "", "none", "absolute", "23");
		d.style.color = "#FFFFFF";
		d.style.top = document.scrollY + "px";
		d.style.left = document.scrollX + "px";
		alert(document.scrollY);
		d.style.width = "100%";
		d.style.height = "100%";
		d.style.display = "none";
		d.style.cursor = "pointer";
		d.style.textAlign = "center";
		
		// Background
		var bk = createNewElement("div", "", "", "block", "absolute", "24");
		bk.style.background = "#000000";
		bk.style.filter = "alpha(opacity:80)";
		bk.style.opacity = "0.80";
		bk.style.mozOpacity = "0.80";
		bk.style.top = "0px";
		bk.style.left = "0px";
		bk.style.width = "100%";
		bk.style.height = "100%";
		
		// Foreground
		var fg = createNewElement("div", "fsmsgcnt", "", "block", "relative", "25");
		fg.style.top = "0px";
		fg.style.left = "0px";
		fg.style.width = "100%";
		fg.style.height = "100%";
		fg.style.verticalAlign = "middle";
		
		// Close
		var cl = createNewElement("div", "", "close", "block", "absolute", "25");
		cl.style.top = "0px";
		cl.style.right = "0px";
		cl.onclick = function()
		{
			document.getElementById("fsmsglyr").style.display = "none";
		}
		var h = createNewElement("span", "", "text", "", "", "");
		h.appendChild(document.createTextNode("Close"));
		cl.appendChild(h);
		
		// Append
		d.appendChild(bk);
		d.appendChild(fg);
		d.appendChild(cl);
		body[0].appendChild(d);
	}
	
	ahah(url, "fsmsgcnt", '', met, par);
	
	var l = document.getElementById("fsmsglyr");
	l.style.display = "block";
}
// End Fullscreen Message


var createNewElement = function(n, i, c, d, p, z) {
	var o = document.createElement(n);
	if(!empty(i)) o.setAttribute("id", i);
	if(!empty(c)) o.className = c;
	if(!empty(d)) o.style.display = d;
	if(!empty(p)) o.style.position = p;
	if(!empty(z)) o.style.zIndex = z;
	return(o);
}


// Obtain Url GET Parameter Value
// Function for obtain the value of a specified parameter passed via GET (url)
var GET = function(key)
{
	if (key && window.location)
	{
		var urlParams = unescape(window.location.search.substr(1)).split("&");
		for (var i = 0; i < urlParams.length; i++)
		{
			var urlValue = urlParams[i].split("=");
			if (urlValue[0] == key)
			{
				return urlValue[1];
			}
		}
	}
	return null;
}
// End Obtain Url GET Parameter Value


var addEvent = function(obj, evType, fn)
{
	if(obj.addEventListener)
	{
		obj.addEventListener(evType, fn, true);
		return true;
	}
	else if(obj.attachEvent)
	{
		var r = obj.attachEvent("on" + evType, fn);
		return r;
	} 
	else
	{
		return false;
	}
}


// getElmentsByClassName
// Implementation of getElmentsByClassName
var getElementsByClassName = function(oElm, strTagName, strClassName)
{
	if(oElm.getElementsByTagName(strTagName))
	{
		var arrElements = oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i = 0; i < arrElements.length; i++)
		{
			oElement = arrElements[i];      
			if(oRegExp.test(oElement.className))
			{
				arrReturnElements.push(oElement);
			}   
		}
		return (arrReturnElements)
	}
	return false;
}
// End getElmentsByClassName

// Empty
var empty = function(a) {
	return (a.length == 0 ||
		a == "" ||
		a == 0 ||
		a == "0" ||
		a == false ||
		a == null ||
		a == undefined ||
		a == NaN
	) ? true : false;
}
// End Empty

// Trim
//  trim, ltrim and rtrim methods
String.prototype.trim = function () {
	return this.replace(/\s+$|^\s+/g,"");
} 
String.prototype.rtrim = function LTrim() {
	return this.replace(/^\s+/,"");
}  
String.prototype.ltrim = function RTrim() {
	return this.replace(/\s+$/,"");
}
// End Trim


// If NS -- that is, !IE -- then set up for mouse capture
if (!document.all)
{
	document.captureEvents(Event.MOUSEMOVE);
}
// Temporary variables to hold mouse x-y pos.s
document.mouseX = 0;
document.mouseY = 0;
document.scrollX = 0;
document.scrollY = 0;
// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;
// Main function to retrieve mouse x-y pos.s
function getMouseXY(e)
{
	var tempX, tempY, scrollLeft, scrollTop;
	
	if(document.all)
	{	
		scrollLeft = (document.documentElement) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		scrollTop = (document.documentElement) ? document.documentElement.scrollTop : document.body.scrollTop;
		tempX = event.clientX + scrollLeft;
		tempY = event.clientY + scrollTop;
	}
	else
	{
		scrollLeft = self.pageXOffset;
		scrollTop = self.pageYOffset;
		// grab the x-y pos.s if browser is NS
		tempX = e.pageX;
		tempY = e.pageY;
	}  
	
	// catch possible negative values in NS4
	if (tempX < 0)
	{
		tempX = 0;
	}
	if (tempY < 0)
	{
		tempY = 0;
	}
	
	document.scrollX = scrollLeft;
	document.scrollY = scrollTop;
	document.mouseX = tempX;
	document.mouseY = tempY;
	
	return true;
}