// Converts all alt tags on images into nice css stylable popups
// Author: Kane Wallmann

function gallery(div_name)
{
	elements = document.getElementById(div_name).getElementsByTagName('img');
	
	for(a = 0; a < elements.length; a++)
	{
		x = elements[a];
		xalt = x.title;
		xtitle = x.alt;
		
		popup = document.createElement("div");
		popup.id = "gpopup_" + a;
		popup.style.visibility = 'hidden';
		popup.style.position = 'absolute';
		popup.className = 'popup';
		
		popup.innerHTML = xtitle;
		
		document.body.appendChild(popup);
		
		x.onmouseover = function()
		{
			popup = document.getElementById("gpopup_" + this.a);
			this.timer = setTimeout("popup.style.visibility = 'visible';", 500);
		}
		
		x.onmousemove = function()
		{
			popup.style.left = (tempX + 5) + 'px';
			popup.style.top = (tempY + 5) + 'px';
		}
		
		x.onmouseout = function()
		{
			popup = document.getElementById("gpopup_" + this.a);
			popup.style.visibility = 'hidden';		
			clearTimeout(this.timer);
		}
		
		x.onclick = function()
		{
			popup_win = window.open('', '', 'height=440, width=450,toolbar=no,scrollbars="+scroll+",menubar=no');
			popup_win.document.write("<head>");
			
			popup_win.document.write("<title>Summercool Image Popup</title>");
			popup_win.document.write("</head>");
			popup_win.document.write("<body background='images/page_bg.gif' style='margin: 0px;'><div align='right' style='background-color: #F68F1E; border-bottom: 6px #1A419A solid; padding: 5px; font: 10px Verdana, Arial, Helvetica, sans-serif;'><a href='#' style='color: #ffffff;' onclick='window.close()'>Close</a></div><center>");
			
			file_parse = this.src.split('/');
			filename = file_parse[file_parse.length - 1];
			
			
			popup_win.document.write("<br /><img style='border: 4px solid #ffffff;' height='300' width='420' src='images/" + this.div_name + "/large/" + filename + "'><br /><br />\n");
			popup_win.document.write("<div style='background-color: #ffffff; padding: 5px; font: 10px Verdana, Arial, Helvetica, sans-serif;'>" + this.title_text + "</div>");
			
			
			popup_win.document.write("</center></body>");
		}
		x.style.cursor = "pointer";
		
		x.a = a;
		x.alt_text = xalt;
		x.title_text = xtitle;
		x.alt = '';
		x.title = '';		
		x.div_name = div_name;
	}
	
}

function insert_popups()
{
	elements = document.getElementsByTagName('img');
	
	for(a = 0; a < elements.length; a++)
	{
		x = elements[a];
		xalt = x.title;
		xtitle = x.alt;
		
		if(xalt == 'popup' || xalt == 'window')
		{
			popup = document.createElement("div");
			popup.id = "popup_" + a;
			popup.style.visibility = 'hidden';
			popup.style.position = 'absolute';
			popup.className = 'popup';
			
			popup.innerHTML = xtitle;
			
			document.body.appendChild(popup);
			
			x.onmouseover = function()
			{
				popup = document.getElementById("popup_" + this.a);
				this.timer = setTimeout("popup.style.visibility = 'visible';", 500);
			}
			
			x.onmousemove = function()
			{
				popup.style.left = (tempX + 5) + 'px';
				popup.style.top = (tempY + 5) + 'px';
			}
			
			x.onmouseout = function()
			{
				popup = document.getElementById("popup_" + this.a);
				popup.style.visibility = 'hidden';		
				clearTimeout(this.timer);
			}
			
			if(xalt == 'window')
			{
				x.onclick = function()
				{
					popup_win = window.open('', '', 'height=440, width=450,toolbar=no,scrollbars="+scroll+",menubar=no');
					popup_win.document.write("<head>");
					
					popup_win.document.write("<title>Summercool Image Popup</title>");
					popup_win.document.write("</head>");
					popup_win.document.write("<body background='images/page_bg.gif' style='margin: 0px;'><div align='right' style='background-color: #F68F1E; border-bottom: 6px #1A419A solid; padding: 5px; font: 10px Verdana, Arial, Helvetica, sans-serif;'><a href='#' style='color: #ffffff;' onclick='window.close()'>Close</a></div><center>");
					
					file_parse = this.src.split('/');
					filename = file_parse[file_parse.length - 1];
					
					
					popup_win.document.write("<br /><img style='border: 4px solid #ffffff;' height='300' width='420' src='images/large/" + filename + "'><br /><br />\n");
					popup_win.document.write("<div style='background-color: #ffffff; padding: 5px; font: 10px Verdana, Arial, Helvetica, sans-serif;'>" + this.title_text + "</div>");
					
					
					popup_win.document.write("</center></body>");
				}
				x.style.cursor = "hand";
			}
			
			x.a = a;
			x.alt_text = xalt;
			x.title_text = xtitle;
			x.alt = '';
			x.title = '';			
		}
	}
}

if(window.onload == null)
{
	window.onload = insert_popups;
}
else
{
	var prev_onload = window.onload;
	
	window.onload = function()
	{
		prev_onload();
		insert_popups();
	}
}

// Mouse function borrowed and altered a little to make it cross-browser compatible

var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;

var tempX = 0;
var tempY = 0;

function getMouseXY(e)
{
	if (IE) 
	{
		if(document.documentElement)
		{
			tempX = event.clientX + document.documentElement.scrollLeft;
			tempY = event.clientY + document.documentElement.scrollTop;
		}
		else
		{
			tempX = event.clientX + document.body.scrollLeft;
			tempY = event.clientY + document.body.scrollTop;
		}
	}
	else
	{
		tempX = e.pageX;
		tempY = e.pageY;
	}  
	
	if (tempX < 0){tempX = 0;}
	if (tempY < 0){tempY = 0;}  
	
	return true;
}
