var globalTimer;
addLoadEvent(initImagePopups);
addLoadEvent(initExternalLinks);

function initExternalLinks() {
	var hyperlinks = getElementsByRelName("external");
	for(var i = 0; i < hyperlinks.length; i++) {
		hyperlinks[i].target = "_blank";
	}
}

function initImagePopups() {
	var girlPics = getElementsByClassName("girlPic");
	for(var i = 0; i < girlPics.length; i++) {
		setOpacity(girlPics[i], 8);
		girlPics[i].onmouseout = function() { setOpacity(this, 8); }
		girlPics[i].onmouseover = function() { setOpacity(this, 10); }
		girlPics[i].onclick = function() { doImagePopup(this); }
	}
}

function doImagePopup(image) {
	var imagePopup = document.getElementById("imagePopup");
	
	var scrolledY;
	if(self.pageYOffset) {
		scrolledY = self.pageYOffset;
	} else if(document.documentElement && document.documentElement.scrollTop) {
		scrolledY = document.documentElement.scrollTop;
	} else if(document.body) {
		scrolledY = document.body.scrollTop;
	}

	var centerY;
	if(self.innerHeight) {
		centerY = self.innerHeight;
	} else if(document.documentElement && document.documentElement.clientHeight) {
		centerY = document.documentElement.clientHeight;
	} else if(document.body) {
		centerY = document.body.clientHeight;
	}

	var y = scrolledY + (centerY - 425) / 2;

	imagePopup.firstChild.src = image.src;
	imagePopup.firstChild.alt = image.alt;

	imagePopup.childNodes[1].innerHTML = image.alt;
	imagePopup.style.top = y + "px";
	imagePopup.style.display = "block";

	imagePopup.firstChild.onclick = function() { this.parentNode.style.display = "none"; }
}

// Helper functions...
function setOpacity(element, opacity) {
	element.style.opacity = opacity / 10;
	element.style.filter = 'alpha(opacity=' + opacity * 10 + ')';
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if(typeof window.onload != 'function') { window.onload = func; } else {
		window.onload = function() {
			if(oldonload) { oldonload(); }
			func();
		}
	}
}

function getElementsByClassName(classname) {
	var node = document.getElementsByTagName("body")[0];
	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.getElementsByTagName("*");
	for(var i = 0, j = els.length; i < j; i++) if(re.test(els[i].className)) a.push(els[i]);
	return a;
}

function getElementsByRelName(relname) {
	var node = document.getElementsByTagName("body")[0];
	var a = [];
	var re = new RegExp('\\b' + relname + '\\b');
	var els = node.getElementsByTagName("*");
	for(var i = 0, j = els.length; i < j; i++) if(re.test(els[i].rel)) a.push(els[i]);
	return a;
}

function clearGlobalTimer() { //clearInterval(globalTimer); }
}

// Tween Class
// David Kirkbride, 1st May 2008
function Tween(el, attr, tMin, tMax, inc, vel) {
	this.el = el;
	this.attr = attr;
	this.tMin = tMin;
	this.tCur = this.tMin;
	this.tMax = tMax;
	this.inc = inc;
	this.vel = vel;
	


	this.start();
}

Tween.prototype.start = function() {	
	this.updatePos();
	var t = this;
	globalTimer = setInterval(function() { t.tween(); }, this.vel);
}

Tween.prototype.updatePos = function() {
	switch(this.attr) {
		case "x": this.el.style.left = this.tCur + "%"; break;
		case "y": this.el.style.top = this.tCur + "%"; break;
		case "a":
			if(!document.all) {
				this.el.style.opacity = this.tCur / 10;
			} else {
				this.el.style.filter = "alpha(opacity=" + this.tCur / 100 + ")";
			}
		break;
	}
}

Tween.prototype._onTweenStopped = function() {
	clearInterval(globalTimer);
	this.onTweenStopped();
}

Tween.prototype.onTweenStopped = function() {
	return false;
}

Tween.prototype.tween = function() {
	//if(this.tMin < this.tMax) {
		//if(this.tCur < this.tMax) { this.tCur += this.inc; } else { this._onTweenStopped(); }
//	} else {
		if(this.tCur >= (this.tMax + 5)) { this.tCur -= this.inc; } else { this._onTweenStopped(); }
	//}
	this.updatePos();
}