/****************************************
    Website Coded by Gelo Factory LLC
           All Rights Reserved
           (c)  Copyright 2007
         http://gelofactory.com/
****************************************/

function getElementOfId(id) {
	var el = null;
	if (document.getElementById) {
		el = document.getElementById(id);
	} else if (document.all) {
		el = document.all[id];
	} else if (document.layers) {
		el = document.layers[el];
	}
	return el;
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function rollOver(el) {
	el.src = el.src.replace("_off.", "_on.");
}
function rollOut(el) {
	el.src = el.src.replace("_on.", "_off.");
}

if (document.images) {
	newImage("_img/nav_bridge_runs_on.gif");
	newImage("_img/nav_home_on.gif");
	newImage("_img/nav_members_on.gif");
	newImage("_img/nav_mission_on.gif");
	newImage("_img/nav_runners_blog_on.gif");
	newImage("_img/subnav_interactive_map_on.gif");
	newImage("_img/subnav_login_on.gif");
	newImage("_img/subnav_logout_on.gif");
	newImage("_img/subnav_photos_on.gif");
	newImage("_img/subnav_postcard_on.gif");
	newImage("_img/subnav_sign_up_on.gif");
}

function showRunDetails(containerDivID, googleMapDivID, photosDivID, showGoogleMap, showPhotos, textDiv1ID, textDiv2ID) {
	var runDetailDiv = getElementOfId(containerDivID);
	var googleMapDiv = getElementOfId(googleMapDivID);
	var photosDiv = getElementOfId(photosDivID);
	var textDiv1 = getElementOfId(textDiv1ID);
	var textDiv2 = getElementOfId(textDiv2ID);
	if (runDetailDiv) {
		runDetailDiv.style.display = "block";
		if (googleMapDiv && (typeof(mapLoaded) != "undefined") && mapLoaded && showGoogleMap) {
			googleMapDiv.style.display = "block";
			if (!mapInitted) window.setTimeout('initMap()', 1000);
		}
		if (photosDiv && showPhotos) {
			preloadPhotos();
			photosDiv.style.display = "block";
		}
		if (textDiv1 && textDiv2) {
			textDiv1.style.display = "none";
			textDiv2.style.display = "none";
		}
	}
}

function hideRunDetail(containerDivID, googleMapDivID, photosDivID, textDiv1ID, textDiv2ID) {
	var runDetailDiv = getElementOfId(containerDivID);
	var googleMapDiv = getElementOfId(googleMapDivID);
	var photosDiv = getElementOfId(photosDivID);
	var textDiv1 = getElementOfId(textDiv1ID);
	var textDiv2 = getElementOfId(textDiv2ID);
	if (runDetailDiv) {
		runDetailDiv.style.display = "none";
		if (googleMapDiv && (typeof(mapLoaded) != "undefined") && mapLoaded) googleMapDiv.style.display = "none";
		if (photosDiv) photosDiv.style.display = "none";
		if (textDiv1 && textDiv2) {
			textDiv1.style.display = "block";
			textDiv2.style.display = "block";
		}
	}
}

function runEntryRollOver(entryID) {
	el = getElementOfId(entryID);
	if (el) el.style.backgroundColor = '#D3CBBF';
}

function runEntryRollOut(entryID) {
	el = getElementOfId(entryID);
	if (el) el.style.backgroundColor = 'transparent';
}

function changeRunPhotoImage(imageID, photoID) {
	document[imageID].src = photoImages[('id' + photoID)].src;
}

var currentPhoto = 0;
var totalPhotos = 0;
var photosArray = new Array();

function showMemberPhoto(imageID) {
	var imageEl = getElementOfId(imageID);
	if (currentPhoto >= (totalPhotos - 1)) {
		currentPhoto = (totalPhotos - 1);
		hideArrow('next');
	} else if (currentPhoto <= 0) {
		currentPhoto = 0;
		hideArrow('previous');
	} else {
		showArrow('previous');
		showArrow('next');
	}
	if (imageEl) imageEl.src = photosArray[currentPhoto].src;
}

function showArrow(whichArrow) {
	var arrowDiv = getElementOfId(whichArrow + '_arrow');
	arrowDiv.style.display = "block";
}

function hideArrow(whichArrow) {
	var arrowDiv = getElementOfId(whichArrow + '_arrow');
	arrowDiv.style.display = "none";
}

function showNextMemberPhoto(imageID) {
	currentPhoto++;
	showMemberPhoto(imageID);
}

function showPreviousMemberPhoto(imageID) {
	currentPhoto--;
	showMemberPhoto(imageID);
}

function showBlogPhoto(containerDivID, photoImageID, photoURL, textDivID) {
	var containerDiv = getElementOfId(containerDivID);
	var photoImage = getElementOfId(photoImageID);
	var textDiv = getElementOfId(textDivID);
	if (containerDiv && photoImage && textDiv) {
		containerDiv.style.display = "block";
		photoImage.src = photoURL;
		textDiv.style.display = "none";
	}
}

function hideBlogPhoto(containerDivID, photoImageID, textDivID) {
	var containerDiv = getElementOfId(containerDivID);
	var photoImage = getElementOfId(photoImageID);
	var textDiv = getElementOfId(textDivID);
	if (containerDiv && photoImage && textDiv) {
		containerDiv.style.display = "none";
		photoImage.src = "/_img/spacer.gif";
		textDiv.style.display = "block";
	}
}

function validateBlogSignUpForm(formObj) {
	if (!validateEmpty(formObj.elements['username'].value)) {
		alert("Please specify a username.");
		formObj.elements['username'].focus();
		return false;
	}

	if (!validateEmpty(formObj.elements['email_address'].value)) {
		alert("Please tell us your email address.");
		formObj.elements['email_address'].focus();
		return false;
	} else if (!validateEmail(formObj.elements['email_address'].value)) {
		alert("Your email address is invalid.");
		formObj.elements['email_address'].focus();
		return false;
	}

	if (!validateEmpty(formObj.elements['confirm_email_address'].value)) {
		alert("Please confirm your email address.");
		formObj.elements['confirm_email_address'].focus();
		return false;
	} else if (!validateEmail(formObj.elements['confirm_email_address'].value)) {
		alert("Your confirmed email address is invalid.");
		formObj.elements['confirm_email_address'].focus();
		return false;
	}

	if (formObj.elements['email_address'].value != formObj.elements['confirm_email_address'].value) {
		alert("Your email addresses do not match.");
		formObj.elements['email_address'].focus();
		return false;
	}

	if (!validateEmpty(formObj.elements['password'].value)) {
		alert("Please tell us your password.");
		formObj.elements['password'].focus();
		return false;
	} else if (!validatePassword(formObj.elements['password'].value)) {
		alert("Your password must contain a minimum of 6 characters.");
		formObj.elements['password'].focus();
		return false;
	}

	if (!validateEmpty(formObj.elements['confirm_password'].value)) {
		alert("Please confirm your password.");
		formObj.elements['confirm_password'].focus();
		return false;
	} else if (!validatePassword(formObj.elements['confirm_password'].value)) {
		alert("Your confirmed password must be a minimum of 6 characters.");
		formObj.elements['confirm_password'].focus();
		return false;
	}

	if (formObj.elements['password'].value != formObj.elements['confirm_password'].value) {
		alert("Your passwords do not match.");
		formObj.elements['password'].focus();
		return false;
	}

	return true;
}

function validateBlogPostForm(formObj) {
	if (!validateEmpty(formObj.elements['title'].value)) {
		alert("Please specify a title.");
		formObj.elements['title'].focus();
		return false;
	}

	if (!validateEmpty(formObj.elements['blog_text'].value)) {
		alert("Please specify the text.");
		formObj.elements['blog_text'].focus();
		return false;
	}

	if (validateEmpty(formObj.elements['link_text_1'].value) || validateEmpty(formObj.elements['link_url_1'].value)) {
		if (!validateEmpty(formObj.elements['link_text_1'].value) || !validateEmpty(formObj.elements['link_url_1'].value)) {
			alert("Both the link text and URL must be specified.");
			formObj.elements['link_text_1'].focus();
			return false;
		}
	}

	if (validateEmpty(formObj.elements['link_text_2'].value) || validateEmpty(formObj.elements['link_url_2'].value)) {
		if (!validateEmpty(formObj.elements['link_text_2'].value) || !validateEmpty(formObj.elements['link_url_2'].value)) {
			alert("Both the link text and URL must be specified.");
			formObj.elements['link_text_2'].focus();
			return false;
		}
	}

	if (validateEmpty(formObj.elements['link_text_3'].value) || validateEmpty(formObj.elements['link_url_3'].value)) {
		if (!validateEmpty(formObj.elements['link_text_3'].value) || !validateEmpty(formObj.elements['link_url_3'].value)) {
			alert("Both the link text and URL must be specified.");
			formObj.elements['link_text_3'].focus();
			return false;
		}
	}

	return true;
}

function validateEmpty(str) {
	if (window.RegExp) {
		var emptyReg = new RegExp("^.+$", "g");
		return emptyReg.test(str);
	}
	return true;
}

function validateEmail(email) {
	return (email.indexOf(".") > 2) && (email.indexOf("@") > 0);
}

function validatePassword(password) {
	return (password.length >= 6);
}