function preloadImagesForm(){
	if (document.images){
		var complete			= newImage("assets/images/icons/complete.gif");
		var caution			= newImage("assets/images/icons/caution.gif");
		preloadFlag = true;
		}
	}


function getLabelForId(id) {
    var label, labels = document.getElementsByTagName('label');
    for (var i = 0; (label = labels[i]); i++) {
        if (label.htmlFor == id) {
            return label;
        }
    }
    return false;
}

function checkEmail(emailID) {
    var email = document.getElementById(emailID);
    var label = getLabelForId(emailID);
    //if (email.value.indexOf('@') == -1 || email == '') { // Naive check for non empty string with @ sign
    if ((email.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) || email == '') { // Naive check for non empty string with @ sign
        label.className = 'problem';
		email.style.backgroundColor='#F9F3B0';
        return false;
	} else {
        label.className = 'completed';
		email.style.backgroundColor='#F6F9F2';
        return true;
    }

}

function checkURL(urlID) {
    var url = document.getElementById(urlID);
    var label = getLabelForId(urlID);
    if ((url.value.search(/^[A-Za-z0-9]+$/) == -1) || url == '') { // Naive check for non empty string with @ sign
        label.className = 'problem';
        return false;
	} else {
        label.className = 'completed';
        return true;
    }

}




function checkTime(timeID) {
	// Checks if time is in HH:MM:SS AM/PM format.
	// The seconds and AM/PM are optional.
    
    var timeSTR = document.getElementById(timeID);
    var label = getLabelForId(timeID);
	
	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
	
	var matchArray = timeSTR.value.match(timePat);
	if (matchArray == null) {
	//alert("Time is not in a valid format or is empty.");
	label.className = 'problem';
	return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];
	
	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }
	
	if (hour < 0  || hour > 23) {
	//alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
	label.className = 'problem';
	return false;
	}
	if (hour <= 12 && ampm == null) {
	if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
	//alert("You must specify AM or PM.");
	label.className = 'problem';
	return false;
	   }
	}
	if  (hour > 12 && ampm != null) {
	//alert("You can't specify AM or PM for military time.");
	label.className = 'problem';
	return false;
	}
	if (minute<0 || minute > 59) {
	//alert ("Minute must be between 0 and 59.");
	label.className = 'problem';
	return false;
	}
	if (second != null && (second < 0 || second > 59)) {
	//alert ("Second must be between 0 and 59.");
	label.className = 'problem';
	return false;
	}
	label.className = 'completed';
	return true;
}





function resetLables(id) {
    var label = getLabelForId(id);
    var formfield = document.getElementById(id);
        label.className = 'required';
		formfield.style.backgroundColor='#F6F9F2';

}

function resetEmptyLables(ID) {
    var label = getLabelForId(ID);
    var formfield = document.getElementById(id);
        label.className = '';
		formfield.style.backgroundColor='#F6F9F2';
}



function checkPhone(phoneID) {
    var phone = document.getElementById(phoneID);
    var label = getLabelForId(phoneID);
    var digits = phone.value.replace(/[^0-9]/ig, '');
    if (phone.value == ''){
        label.className = '';
        return;
    }
    if (!digits) {
        label.className = 'problem';
        phone.value = '';
       return false;
    }
    if (digits.length == 10) {
        phone.value = '(' + digits.substring(0, 3) + ') ' + 
            digits.substring(3, 6) + '-' + 
            digits.substring(6, 10);
        label.className = 'completed';
		return true;
    } else {
        label.className = 'problem';
        phone.value = digits;
		return false;
    }
}

function checkPhoneRequired(phoneID) {
    var phone = document.getElementById(phoneID);
    var label = getLabelForId(phoneID);
    var digits = phone.value.replace(/[^0-9]/ig, '');
    if (phone.value == ''){
        label.className = 'problem';
        return false;
    }
    if (!digits) {
        label.className = 'problem';
        phone.value = '';
        return false;
    }
    if (digits.length == 10) {
        phone.value = '(' + digits.substring(0, 3) + ') ' + 
            digits.substring(3, 6) + '-' + 
            digits.substring(6, 10);
        label.className = 'completed';
		return true;
    } else {
        label.className = 'problem';
		phone.value = digits;
		return false;
    }
}
function checkRequired(id) {
    var formfield = document.getElementById(id);
    var label = getLabelForId(id);
    if (formfield.value.length == 0) {
        label.className = 'problem';
		formfield.style.backgroundColor='#F9F3B0';
		return false;
    } else {
        label.className = 'completed';
		formfield.style.backgroundColor='#F6F9F2';
		return true;
    }
}

function checkRequiredPullDown(id) {
    var formfield = document.getElementById(id);
    var label = getLabelForId(id);
    if (formfield.selectedIndex == 0) {
        label.className = 'problem';
			return false;
    } else {
        label.className = 'completed';
		return true;
    }
}

/* function checkFile(photoid,captionid) { */
/*     var photo = document.getElementById(photoid); */
/*     var label = getLabelForId(captionid); */
/*     var caption = document.getElementById(captionid); */
/*      */
/*     if (photo.value != '' && caption.value.length == 0) { */
/*         label.className = 'problem'; */
/*     } else { */
/*         label.className = 'completed'; */
/*     } */
/* } */

function checkFile(photoid,captionid) {
    var photo = document.getElementById(photoid);
    var labelCaption = getLabelForId(captionid);
    var caption = document.getElementById(captionid);
    
    if (photo.value != '' && caption.value.length == 0) {
        labelCaption.className = 'problem';
		return false;
    } else {
        labelCaption.className = 'completed';
		return true;
    }
}

function checkCheckBox(id) {
    var formfield = document.getElementById(id);
    var label = getLabelForId(id);
    if (!formfield.checked) {
        label.className = 'problem';
			return false;
    } else {
        label.className = 'completed';
			return true;
    }
}

addEvent(window, 'load', function() {
    var input;
    var inputs = document.getElementsByTagName('input');
    for (var i = 0; (input = inputs[i]); i++) {
        addEvent(input, 'focus', oninputfocus);
        addEvent(input, 'blur', oninputblur);
    }
    var textareas = document.getElementsByTagName('textarea');
    for (var i = 0; (textarea = textareas[i]); i++) {
        addEvent(textarea, 'focus', oninputfocus);
        addEvent(textarea, 'blur', oninputblur);
    }
});
function oninputfocus(e) {
    /* Cookie-cutter code to find the source of the event */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
    if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return;
    }
    /* End cookie-cutter code */
   // source.style.border='2px solid #000';
}
function oninputblur(e) {
    /* Cookie-cutter code to find the source of the event */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
    if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return;
    }
    /* End cookie-cutter code */
   /*  source.style.border='2px solid #ccc'; */
}
function addEvent(obj, evType, fn){
    if (obj.addEventListener){
        obj.addEventListener(evType, fn, true);
        return true;
    } else if (obj.attachEvent){
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else {
        return false;
    }
}

function stashArrivalDate(cal) {
	theDate = cal.date.toDateString();
	//$.post('/rpc/stashArrivalDate.php',{theDate: theDate});
}
// 	$(document).ready(function(){
// 		$('table tbody tr td img').toggle();
// 		var activityid = $('#activityid').val();
// 		//alert(activityid);
// 	});
