	/* <![CDATA[ */
	function addSelectValidate(){
	    var check_input = document.getElementsByTagName('select');
	    var input_count = check_input.length;
	    for(var i=0; i<input_count; i++){
	        if(true == check_input[i].defaultselected || -1 == check_input[i].className.search(/ ?required/g )){continue}
	        attachEventListener(check_input[i],"blur",validateField,false);
	    }
	}
	
	addLoadEvent(addSelectValidate);
	
	function addInputValidate(){
	    var check_input = document.getElementsByTagName('input');
	    var input_count = check_input.length;
	    for(var i=0; i<input_count; i++){
	        if('text'!=check_input[i].type && 'password'!=check_input[i].type || -1 == check_input[i].className.search(/ ?required/g )){continue}
	        attachEventListener(check_input[i],"blur",validateField,false);
	    }
	}
	
	addLoadEvent(addInputValidate);
	
	function validateField(event){
	    var target = getEventTarget(event);
	    var targetLabel = target.previousSibling.previousSibling;
	    var errorMsgSpan = target.nextSibling.nextSibling;
	    if( true == validateValue(target)){
	        errorMsgSpan.innerHTML='* Required';
	        errorMsgSpan.className=errorMsgSpan.className.replace(/errorMsgRequired/g , '' );
	    }else{
	        //errorMsgSpan.innerHTML=targetLabel.innerHTML+' is a required field.';
	        errorMsgSpan.innerHTML='Required field.';
	        errorMsgSpan.className=errorMsgSpan.className+' errorMsgRequired';
	    }
	}
	
	function validateValue(target) {
	    //check for blank
	    if(''==target.value){return false;}
	    return true;
	}
	
	function addFormValidate(){
	    var forms = document.forms;
	    var forms_length = forms.length;
	    for(var i=0; i<forms_length; i++){
	        thisform = this;
	        attachEventListener(forms[i],"submit",validateForm,true);
	    }
	}
	
	addLoadEvent(addFormValidate);
	
	function validateForm(event){
	    var thisform = getEventTarget(event);
	    var stopSubmit=false;
	    for(var i=0; i<thisform.length; i++){
	        if( ('select' != thisform[i].nodeName.toLowerCase() && 'input' != thisform[i].nodeName.toLowerCase() ) || -1 == thisform[i].className.search(/ ?required/g )){continue;}
	        if(false == validateValue(thisform[i])){
	            var errorMsgSpan = thisform[i].nextSibling.nextSibling;
	            var targetLabel = thisform[i].previousSibling.previousSibling;
	            errorMsgSpan.className=errorMsgSpan.className+' errorMsgRequired';
	            errorMsgSpan.innerHTML=targetLabel.innerHTML+' is a required field.';
	            stopSubmit=true;
				console.log(targetLabel.innerHTML+' - true');
	        }
	    }
	    //if( true == stopSubmit){displayProblemIndicator();}
	    if( true == stopSubmit){cancelEvent(event);}
	}
	/* ]]> */
