/*
	Virticle Corp Prebuilt Base JavaScript Code
	Version 1.0 - Updated 2006-02-24 by Greg Leuch
	http://www.virticle.com
*/



// Set to the site path (w/o ending slash)
urlPath = "http://www.hospicefamilycare.org/site/";


/*
	Cross-browser compatible method of getting a element by Id
	Call - changeElement("elementName");
*/
function changeElement(areaElement) {
	return ((document.getElementById) ? document.getElementById(areaElement) : eval("document.all."+areaElement));
}


/*
	Code to check for browser
	This works well for stylesheets formatted for specific browsers
	or other browser specific elements.
*/

var browser = "";
var version = "";
var entrance = "";
var cond = "";

if (browser == ""){
	if (navigator.appName.indexOf("Microsoft") != -1) browser = "IE";
	else if (navigator.appName.indexOf("Netscape") != -1) browser = "Netscape";
	else browser = "IE";
}
if (version == ""){
	version= navigator.appVersion;
	paren = version.indexOf("(");
	whole_version = navigator.appVersion.substring(0,paren-1);
	version = parseInt(whole_version);
}

/* Code to output stylesheet (if neeeded) */
function getStylesheets() {
	if (browser == 'IE' && version >= 4) {
		document.write('<'+'link type="text/css" rel="stylesheet" href="/site/css/screen-ie.css" />');
	} else {
		document.write('<'+'link type="text/css" rel="stylesheet" href="/site/css/screen-other.css" />');
	}
}


/*
	Image swap code
	Preload images (must have <body onload="preloadImages()"> set)
	Best to preload images by specifying in preloadImages()
	Call to change images: changeImages(src, link, [src, link...]);
	Saves current effect into variable to "unload" when action is
	undone (i.e. mouseout).
*/

var oldArgs = "";
var preloadFlag = true;

function preloadImages() {
	if (document.images) {
		image = newImage(urlPath+"");
		preloadFlag = true;
	}
}

function changeImages() {
	oldArgs = new Array;
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			oldArgs[i] = changeImages.arguments[i];
			//oldArgs[i+1] = document[changeImages.arguments[i]].src;
			placename = changeElement(changeImages.arguments[i]);
			oldArgs[i+1] = placename.src
			placename.src = urlPath+"images/"+changeImages.arguments[i+1];
		}
	}
}

function undoChangeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<oldArgs.length; i+=2) {
			placename = changeElement(oldArgs[i])
			placename.src = oldArgs[i+1];
		}
	}
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}



/* 
	sIFR Font Code
*/

if(typeof sIFR == "function"){
	sIFR.replaceElement("h1", named({
		sFlashSrc: urlPath+"/site/type/--font-name--.swf", 
		sColor: "#------", 
		sLinkColor: "#------",
		sHoverColor: "#------",
		sBgColor: "#FFFFFF"
	}));
};




/* 
	Code for form submission checks....  
	checkform() is the function called by the script.
	checkvalue() checks the value of a simple input field
	checkselect() checks the value of a select field
	checkemailaddress() checks the validity of an email address
*/

function checkform (form) {
	if (!checkvalue(form.Name, 'Please enter your name.')) return false;
	if (!checkemailaddress(form.Email, 'Please enter an email address in the correct format (name@domain.com).')) return false;
	if (!checkvalue(form.Message, 'Please enter a message.')) return false;
	return true;
}

function checkvalue(formfield, message) {
	if (formfield.value == "") {
		alert (message);
		formfield.focus();
		return false;
	}
	return true;
}


function checkselect(formfield, message) {
	// Checks if return option value is not defined or is "na"
	if (formfield.options[formfield.selectedIndex].value == "" || formfield.options[formfield.selectedIndex].value == "na") {
		alert (message);
		formfield.focus();
		return false;
	}
	return true;
}


function checkemailaddress(formfield, message) {
	var str = formfield.value;
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	if (str == "") {
		alert(message);
		formfield.focus();
		return false;
	} else if (!str.match(re)) {
		alert(message);
		formfield.focus();
		return false;
	} else {
		return true;
	}
}

