// form_validation.js
// VERSION 1260190468 DEC 7 2009
// this.is.lance.miller@gmail.com

var donothing=""
var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/g 
var alphaFilter = /\W/g 
var digitFinder= /\d/g 
var underscoreFinder= /_/g
var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/g 
var userErrorMsg=""
var myDisplay = new Array()
myDisplay=["none","inline"]


function trim(s) { return s.replace(/^\s+|\s+$/, ''); } 

function htmltoentity(userinput){
    userinput=userinput.replace(/</g,"&lt;")
    userinput=userinput.replace(/>/g,"&gt;")
    return userinput
}


function unerror(id) {
document.getElementById(id).style.display=myDisplay[0]
}

function onerror(id) {
document.getElementById(id).style.display=myDisplay[1]
}

function validateAlphaOnly(field, userErrorOut) { 
    var tfield = trim(field.value)                      
    tfield = htmltoentity(tfield) 
    tfield=tfield.replace(/-/g,'')
    tfield=tfield.replace(/ /g,'')
    if (tfield.length > 0) {
    alphaFilter.test(tfield) ? onerror(userErrorOut) : unerror(userErrorOut)
    digitFinder.test(tfield) ? onerror(userErrorOut) : donothing 
    underscoreFinder.test(tfield) ? onerror(userErrorOut) : donothing 
    tfield.match(illegalChars) ? onerror(userErrorOut) : donothing 
                           } else { unerror(userErrorOut) } 
}

function validateEmail(field, userErrorOut) {
    var tfield = trim(field.value)                      
    tfield = htmltoentity(tfield)
    if (tfield.length > 0) {
    emailFilter.test(tfield) ? unerror(userErrorOut) : onerror(userErrorOut)
    tfield.match(illegalChars) ? onerror(userErrorOut) : donothing
    tfield.match(" ") ? onerror(userErrorOut) : donothing
                           } else { unerror(userErrorOut) } 
}

function validatePhone(field, userErrorOut) { 
    var tfield = trim(field.value)                      
    tfield = htmltoentity(tfield) 
    tfield=tfield.replace(/-/g,'')
    tfield=tfield.replace(/ /g,'')
    tfield=tfield.replace(/\./g,'')
    if (tfield.length > 0) {
    alphaFilter.test(tfield) ? onerror(userErrorOut) : unerror(userErrorOut)
    digitFinder.test(tfield) ? donothing : onerror(userErrorOut)
    underscoreFinder.test(tfield) ? onerror(userErrorOut) : donothing
    tfield.match(illegalChars) ? onerror(userErrorOut) : donothing   
                           } else { unerror(userErrorOut) } 
}

function validateAddress(field, userErrorOut) { 
    var tfield = trim(field.value)                      
    tfield = htmltoentity(tfield) 
    tfield=tfield.replace(/-/g,'')
    tfield=tfield.replace(/ /g,'')
    tfield=tfield.replace(/\n/g,'')
    if (tfield.length > 0) {
    alphaFilter.test(tfield) ? onerror(userErrorOut) : unerror(userErrorOut)
    digitFinder.test(tfield) ? donothing : onerror(userErrorOut)
    underscoreFinder.test(tfield) ? onerror(userErrorOut) : donothing 
    tfield.match(illegalChars) ? onerror(userErrorOut) : donothing 
                           } else { unerror(userErrorOut) } 
}

function validateProduct(field, userErrorOut) { 
    var tfield = trim(field.value)                      
    tfield = htmltoentity(tfield) 
    tfield=tfield.replace(/-/g,'')
    tfield=tfield.replace(/ /g,'')
    tfield=tfield.replace(/\n/g,'')
    tfield=tfield.replace(/./g,'')
    if (tfield.length > 0) {
    alphaFilter.test(tfield) ? onerror(userErrorOut) : unerror(userErrorOut)
    tfield.match(illegalChars) ? onerror(userErrorOut) : donothing 
                           } else { unerror(userErrorOut) } 
}


function validateNarrative(field, userErrorOut) { 
    var tfield = trim(field.value)                      
    tfield = htmltoentity(tfield) 
    tfield=tfield.replace(/-/g,'')
    tfield=tfield.replace(/ /g,'')
    tfield=tfield.replace(/\n/g,'')
    tfield=tfield.replace(/./g,'')
    tfield=tfield.replace(/,/g,'')
    if (tfield.length > 0) {
    alphaFilter.test(tfield) ? onerror(userErrorOut) : unerror(userErrorOut)
    tfield.match(illegalChars) ? onerror(userErrorOut) : donothing 
                           } else { unerror(userErrorOut) } 
}


function validateCompany(field, userErrorOut) { 
    var tfield = trim(field.value)                      
    tfield = htmltoentity(tfield) 
    tfield=tfield.replace(/-/g,'')
    tfield=tfield.replace(/ /g,'')
    tfield=tfield.replace(/\./g,'')
    if (tfield.length > 0) {
    alphaFilter.test(tfield) ? onerror(userErrorOut) : unerror(userErrorOut)
    underscoreFinder.test(tfield) ? onerror(userErrorOut) : donothing 
    tfield.match(illegalChars) ? onerror(userErrorOut) : donothing 
                           } else { unerror(userErrorOut) } 
}


function checkFields(form) {
myreturn = true
myalert="There are blank or incorrectly filled in fields. \n Please check."

if (form.first_name) { document.getElementById('first_nameErrorMsg').style.display != "none" || form.first_name.value == "" ?  myreturn = false : myreturn   }
if (form.last_name) { document.getElementById('last_nameErrorMsg').style.display != "none" || form.last_name.value == "" ? myreturn = false : myreturn }
if (form.email.value) {document.getElementById('emailErrorMsgJOIN').style.display != "none" || form.email.value == "" ? myreturn = false : myreturn }
if (form.contact_phone) { document.getElementById('contact_phoneErrorMsg').style.display != "none" || form.contact_phone.value == "" ? myreturn = false : myreturn }
if (form.job_title) { document.getElementById('job_titleErrorMsg').style.display != "none" || form.job_title.value == "" ? myreturn = false : myreturn }
if (form.company_name) { document.getElementById('company_nameErrorMsg').style.display != "none" || form.company_name.value == "" ? myreturn = false : myreturn }
if (form.street) { document.getElementById('streetErrorMsg').style.display != "none" || form.street.value == "" ? myreturn = false : myreturn }
if (form.city) { document.getElementById('cityErrorMsg').style.display != "none" || form.city.value == "" ? myreturn = false : myreturn }
if (form.state_province) { document.getElementById('state_provinceErrorMsg').style.display != "none" || form.state_province.value == "" ? myreturn = false : myreturn }
if (form.country) { document.getElementById('countryErrorMsg').style.display != "none" || form.country.value == "" ? myreturn = false : myreturn }

if (form.feedback) { document.getElementById('nameErrorMsg').style.display != "none" || form.name.value == "" ?  myreturn = false : myreturn }
if (form.feedback) { document.getElementById('feedbackformErrorMsg').style.display != "none" || form.feedback.value == "" ? myreturn = false : myreturn }
if (form.feedback) { document.getElementById('emailErrorMsgFEEDBACK').style.display != "none" || form.email.value == "" ? myreturn = false : myreturn }



myreturn ? myreturn : alert(myalert) 
return myreturn
}













