function validInfo() {

	var err = 0;

	var fName      = String(getElement('from_name').value).trim();
	var fPhone     = String(getElement('from_phone').value).trim();
	var fEmail     = String(getElement('from_email').value).trim();
	var fMessage   = String(getElement('from_message').value).trim();
	var fConfirm   = String(getElement('confirm').value).trim();

	// Check for confirm
	if (String(fConfirm).length != 5) err = 5;

	// Check for message
	if (String(fMessage).length == 0) err = 4;

	// Check for email
	if (!validEmail(fEmail)) err = 3;

	// Check for phone
	//if (String(fPhone).length < 7) err = 2;	

	// Check for name
	if (String(fName).length < 2) err = 1;	
	
	// Process errors
	switch(err) {
		
		case 1: // no name
	        getElement('userMessage').innerHTML = '<span style="color:#FFCB2B;">You must provide a name.</span>';
			getElement('btn_sendMessage').disabled = true;								
		break;		

		case 2: // no phone number
	        getElement('userMessage').innerHTML = '<span style="color:#FFCB2B;">You must provide a phone number.</span>';
			getElement('btn_sendMessage').disabled = true;								
		break;		

		case 3: // invalid email
	        getElement('userMessage').innerHTML = '<span style="color:#FFCB2B;">You must provide a valid email address.</span>';
			getElement('btn_sendMessage').disabled = true;								
		break;		

		case 4: // no message
	        getElement('userMessage').innerHTML = '<span style="color:#FFCB2B;">You haven\'t typed a message.</span>';
			getElement('btn_sendMessage').disabled = true;								
		break;		
		
		case 5: // no confirm value
	        getElement('userMessage').innerHTML = '<span style="color:#FFCB2B;">You haven\'t copied image verification into box.</span>';
			getElement('btn_sendMessage').disabled = true;								
		break;		

		case 0:
	        getElement('userMessage').innerHTML = '<span style="color:#FFF;font-weight:700;">Click to send!</span>';
			getElement('btn_sendMessage').disabled = false;								
			return true;
	}

	return false;
}

function sendMessage() { 
	
    // Create new XMLHttpRequest
    bHttp = getXMLHttp();
    if (bHttp == null) {
        // Submit form for normal processing
        alert("You must have a modern browser (IE 6+ or Firefox 1+) to run this feature");
        return;
    }

    // Setup url to be called
    var url = "pages/ajax_actions/contact_processing.php";
    var params = 'op=contactUs';
    
	params += '&from_name='    + getElement('from_name').value;
	params += '&from_phone='   + getElement('from_phone').value;
	params += '&from_email='   + getElement('from_email').value;
	params += '&from_message=' + getElement('from_message').value;
	params += '&confirm='      + getElement('confirm').value;
    params += '&AJAX_IWF_CALLER=true';
	
    // Define state change handler
    bHttp.onreadystatechange = function() {

            var response,status,errCode,file;

            if (bHttp.readyState==4 || bHttp.readyState=="complete") { // xmlHTTP request has returned

                if (bHttp.status == 200) {

                    //alert(bHttp.responseText);
                    response = bHttp.responseXML.documentElement;
                    errCode  = response.getElementsByTagName('errCode')[0].firstChild.data;

					switch(errCode) {
						

						case "1" : // chash not in session
						case "2" : // Incorrect confirmation code
					        getElement('userMessage').innerHTML = '<span style="color:#F00;font-weight:700;">Message not sent. Incorrect confirmation code.</span>';
							getElement('btn_sendMessage').disabled = true;		
							reloadVerify();						
						break;
						
						default : // no error, message sent
					        getElement('userMessage').innerHTML = '<span style="color:#FFF;font-weight:700;">Message Sent!</span>';
							getElement('btn_sendMessage').disabled = true;
							clearForm();																		
					
					}//end switch on error

                    c_hideProcessing();
                    c_hideCover();                    

                }// async request has returned completed
            }//xmlHTTP request back
    }//end state change handler

    c_showCover();
    c_showProcessing();	

    // Show processing
    bHttp.open("POST",url,true);
    bHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    bHttp.send(params);

    return false;
	
}

function clearForm() {

	getElement('from_name').value    = '';
	getElement('from_phone').value   = '';
	getElement('from_email').value   = '';
	getElement('from_message').value = '';
	getElement('confirm').value      = '';

	// Reload verify image each time form is cleared
	reloadVerify();	
}

function reloadVerify() {
	
	var vBox = getElement('verifyBox');
	vBox.innerHTML = '';

	var msg  = document.createTextNode("Copy from image below:");
	
	var vImg = document.createElement('img');
	vImg.setAttribute('src','system/files/verifyThis.php?' + (new Date()).getTime());
	vImg.setAttribute('class','floatRight verifyImage');
	vImg.className = 'floatRight verifyImage';
	
	var input = document.createNamedElement('input','confirm');
	input.setAttribute('id','confirm');
	input.setAttribute('type','text');
	input.setAttribute('onkeyup','validInfo()');
	
	vBox.appendChild(msg);
	vBox.appendChild(vImg);
	vBox.appendChild(input);
	
}
