window.onload=function() {
	doImageLoad();
	doNewsletterLocation();
	doDefaultFormReplace();
	preLoadTooltips();
}

function validateNewsletter(form) {
	if(form.elements['name'].value.length==0 || form.elements['name'].value.length==0) {
		alert("Please enter a name and email address to subscribe.");
		return false;
	}

	if(form.elements['name'].value=="Your Name" || form.elements['email'].value=="your@email.com") {
		alert("Please enter a name and email address to subscribe.");
		return false;
	}
	
	if(!form.elements['email'].value.match(/[a-zA-Z0-9_\.]+\@[a-zA-Z0-9]+(\.[a-z]{2,4})+/)) {
		alert("Please enter a valid email address.");
		return false;
	}
	
	return true;
}

function doDefaultFormReplace() {
	var inputs=document.getElementsByTagName("input");
	for(var i=0;i<inputs.length;i++) {
		if(inputs[i].getAttribute("type")=="text") {
			inputs[i].onfocus=removeContents;
			inputs[i].onblur=checkChange;
			inputs[i].onchange=checkChange;
			inputs[i].defaultValue=inputs[i].value;
		}
	}
}

function removeContents() {
	if(this.value==this.defaultValue)
		this.value="";
}

function checkChange() {
	if(!this.value)
		this.value=this.defaultValue;
}

// Set Newsletter Location
// Set the location from which a newsletter is being submitted so the user can
// be directed back
// by Greg Poole for BeP Design
function doNewsletterLocation() {
	if(document.forms['newsletter'].elements['location'])
		document.forms['newsletter'].elements['location'].value=document.location.href;
}

// Scroll Content
// Scroll the description/main content window using the buttons
// by Greg Poole for BeP Design
var timeout;
var speed=5;

function scrollUp() {
	document.getElementById("container").scrollTop-=speed;
	clearTimeout(timeout);
	timeout=setTimeout(scrollUp,10);
	this.onmouseout=stopScroll;
}

function scrollDown() {
	document.getElementById("container").scrollTop+=speed;
	clearTimeout(timeout);
	timeout=setTimeout(scrollDown,10);
	this.onmouseout=stopScroll;
}

function stopScroll() {
	clearTimeout(timeout);
}

// Mouseovers
// Automatic mouseover application script that will apply the effect to all
// images marked by a "#mo" in the name
// by Greg Poole for BeP Design
var p_Images=new Array();
var p_Img_Pointer=0;

function doImageLoad() {
	var images=document.getElementsByTagName("img");
	for(var i=0;i<images.length;i++) {
		if(images[i].name=="#mo") {
			images[i].onmouseover=highlight;
			images[i].onmouseout=unhighlight;
			preload(getMouseOverName(images[i].src));
		}
	}
}

function preload(image) {
	p_Images[p_Img_Pointer]=new Image();
	p_Images[p_Img_Pointer++].src=image;
}

function highlight(e,img) {
	if(!img)
		img=this;
	img.src=getMouseOverName(img.src);
}

function unhighlight(e,img) {
	if(!img)
		img=this;
	var ext=img.src.substring(img.src.lastIndexOf('.'));
	img.src=getMouseOutName(img.src);
}

function getMouseOverName(name) {
	var ext=name.substring(name.lastIndexOf('.'));
	return name.replace(ext,"_mo"+ext);
}

function getMouseOutName(name) {
	var ext=name.substring(name.lastIndexOf('.'));
	return name.replace("_mo","");
}