/* vars */
var footerLink = "";

/* slidy div */
var timerlen = 5;
var slideAniLen = 250;
var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

function isDefined(property) {
	return (typeof property != 'undefined');
}

// Targets
function externalLinks() {
	if (!document.getElementsByTagName) {
		return;
	}
	var anchors = document.getElementsByTagName("a");
	for (var i=0;i<anchors.length;i++) { 
		var anchor = anchors[i];
		if ((anchor.getAttribute("href")) && (anchor.getAttribute("rel") == "external")) {
			anchor.target = "_blank";
		}
	}
}

function blurLinks() {
	lnks = document.getElementsByTagName("a");
	inpts = document.getElementsByName("input");
	for(i=0;i<lnks.length;i++) {	
		if ((lnks[i].getAttribute("rel") == null) || (lnks[i].getAttribute("rel") == "")) {
			lnks[i].onfocus = new Function("this.blur()");
		}
	}
	for(i=0;i<inpts.length;i++) {
		inpts[i].onfocus= new Function("this.blur()");
	}
}

function makeBool(s) {
	var bool = 1;
	var s = s.toString();
	s = s.toLowerCase();
	bool = (s === "false") ? 0 : 1;
	return bool;
}

function stringContains(s,contains) {
 if (s.indexOf(contains) > -1) {
	 return true;
 }
	return false;
}

function bottomText(statusText) {
	if (footerLink) {
		footerLink.innerHTML = statusText;
	}
}

function bottomTextChange() {
	footerLink = document.getElementById("FooterLink");
	if (footerLink) {
		footerLink.onmouseover = new Function("bottomText('oh hello, click me to send a message...')");
		footerLink.onmouseout = new Function("bottomText('contact me...')");
	}
}

function slideDown(objName) {
	if (moving[objName]) {
		return;
	} else if (document.getElementById(objName).style.display != "none") {
		return;
	}
	moving[objName] = true;
	dir[objName] = "down";
	startslide(objName);
}
 
function slideUp(objName) {
	if (moving[objName]) {
		return;
	} else if (document.getElementById(objName).style.display == "none") {
		return;
	} 
	moving[objName] = true;
	dir[objName] = "up";
	startslide(objName);
}

function startslide(objName) {
	obj[objName] = document.getElementById(objName);
	if (dir[objName] == "down") {
		obj[objName].style.height = "1px";
	}
	obj[objName].style.display = "block";
	startTime[objName] = (new Date()).getTime();
	endHeight[objName] = obj[objName].scrollHeight;
	timerID[objName] = setInterval("slidetick('" + objName + "');",timerlen);
}

function slidetick(objName) {
	var elapsed = (new Date()).getTime() - startTime[objName];
	if (elapsed > slideAniLen) {
		endSlide(objName)
	} else {
		var d =Math.round(elapsed / slideAniLen * endHeight[objName]);
		if (dir[objName] == "up")
			d = endHeight[objName] - d;
		obj[objName].style.height = d + "px";
	}
	
function endSlide(objName) {
	clearInterval(timerID[objName]);
 
	if (dir[objName] == "up")
		obj[objName].style.display = "none";
		obj[objName].style.height = endHeight[objName] + "px";
 
	delete(moving[objName]);
	delete(timerID[objName]);
	delete(startTime[objName]);
	delete(endHeight[objName]);
	delete(obj[objName]);
	delete(dir[objName]);
 
	return;
}
	return;
}

function slide(objName) {
	if (moving[objName]) {
		return;
	} else if (document.getElementById(objName).style.display == "none") {
		slideDown(objName);
	} else {
		slideUp(objName);
	}
}

if (isDefined(window.addEventListener)) {
	window.addEventListener("load", pageLoaded, false);
}

else if (isDefined(window.attachEvent)) {
	window.attachEvent("onload", pageLoaded);
}

function pageLoaded() {
	externalLinks();
	blurLinks();
	bottomTextChange();
	//formControls();
}
