function jsIsDate(dateStr) {var datePat=/^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;var matchArray=dateStr.match(datePat);if(matchArray==null) {return false;} month=matchArray[1];day=matchArray[3];year=matchArray[5];if(month<1 || month>12) {return false;}if(day<1 || day>31) {return false;}if((month==4 || month==6 || month==9 || month==11) && day==31) {return false;}if(month==2) {var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0));if(day>29 || (day==29 && !isleap)) {return false;}}return true;}
function validEmail(email) {invalidChars = " /:,;"; atPos = email.indexOf("@",1); periodPos = email.indexOf(".",atPos); if (email == "") {return false;} for (i=0; i<invalidChars.length; i++) {badChar = invalidChars.charAt(i);if (email.indexOf(badChar,0) > -1) {return false;}} if (atPos == -1) {return false;} if (email.indexOf("@",atPos+1) > -1) {return false;} if (periodPos == -1) {return false;} if (periodPos+3 > email.length) {return false;} return true;}
function check_length(field,msg,min) {if (!field.value || field.value.length < min) {alert(msg);field.focus();field.select();return false;}return true;}
function submitIt(jsform) {
    var fn;
    var fn2;
    var how_many_checked = 0;
	if (jsform.first_name) {if (!check_length(jsform.first_name, "Please enter your first name.", 1)) {return false;}}
	if (jsform.last_name) {if (!check_length(jsform.last_name, "Please enter your last name.", 1)) {return false;}}
	if (jsform.email) {if (!validEmail(jsform.email.value)) {alert("Please enter a valid email adress.");jsform.email.focus();return false;}}
	if (jsform.address) {if (!check_length(jsform.address, "Please enter your address.", 1)) {return false;}}
	if (jsform.city) {if (!check_length(jsform.city, "Please enter your city.", 1)) {return false;}}
	if (jsform.zipcode) {if (!check_length(jsform.zipcode, "Please enter your zipcode.", 1)) {return false;}}
	if (jsform.state) {if (!check_length(jsform.zipcode, "Please enter your state.", 1)) {return false;}}
	if (jsform.telephone) {if (!check_length(jsform.telephone, "Please enter your telephone.", 1)) {return false;}}
	if (jsform.event_location_id) {
		if (jsform.event_location_id.value == 0) {
			if (jsform.event_location_name) {
				if (!check_length(jsform.event_location_name, "Please enter the venue.", 1)) {return false;}
			} else {
				alert('Please select a venue.');
				jsform.event_location_id.focus();
				return false;
				}
			}
		}
	if (jsform.event_type) {if (jsform.event_type.selectedIndex == 0) {alert("Please enter the event type");jsform.event_type.focus();return false;}}
    for (i = 1; i <= 15; i++) {
        fn = "q" + i + "_required";
        fn2 = "question_" + i;
        if (jsform[fn]) {
        	if (jsform[fn2].type == 'text') {
	            if (jsform[fn2].value.length == 0) {
	                alert("Please complete the required field");
	                jsform[fn2].focus();
	                return false;
	            }        		
        	} else if (jsform[fn2].type == 'select-one') {
        		if (jsform[fn2].selectedIndex == 0) {
        			if (jsform[fn2].options[jsform[fn2].selectedIndex].value.length == 0) {
		                alert("Please select one option");
		                jsform[fn2].focus();
		                return false;
        			}
        		}
        	} else {
        		for(i2=0;i2<jsform[fn2].length;i2++) {
        			if(jsform[fn2][i2].checked==true) {
        				how_many_checked = how_many_checked + 1;
        			}
        		}
        		if (how_many_checked == 0) {
        			alert("Please select at least one option");
        			jsform[fn2][0].focus();
        			return false;
        		}

        	}
	    }
    }
    if (!jsform.checkdate.value.length > 0) {
        var month = jsform.month.options[jsform.month.selectedIndex].value;
        var day = jsform.day.options[jsform.day.selectedIndex].value;
        var year = jsform.year.options[jsform.year.selectedIndex].value;
        if (!jsIsDate(month + "/" + day + "/" + year)) {
            alert("Please enter a valid date.");
            return false;
        } else {
            var now = new Date;
            now = now.getTime();
            var d = new Date;
            d.setYear(year);
            d.setMonth(month - 1);
            d.setDate(day);
            if (!(now < d.getTime())) {
                alert("Please enter a date in the future.");
                return false;
            }
        }
    }
    return true;
}




