ie = document.all; w3 = document.getElementById; moz = (w3&&!ie) ? true : false; mac = (navigator.userAgent.toLowerCase().indexOf('mac'))!=-1; macIE = (ie&&mac); var rex = new Array(); rex['phone#']=/^\(?\d{3}\)?(\s|-|)?\d{3}(\s|-|)\d{4}$/; rex['name']=/^\w+$/; rex['pass']=/^......*$/; rex['char*']=/..*/; rex['email']=/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]*@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/; rex['postal']=/^((\d{5}-\d{4})|(\d{5})|([AaBbCcEeGgHhJjKkLlMmNnPpRrSsTtVvXxYy]\d[A-Za-z][\s-]?\d[A-Za-z]\d))$/; rex['time']=/^(0?[1-9]|1[012])\x20*(:[0-5]\d){0,2}(\x20*[aApP][mM])?$/; rex['prov']=/^[a-zA-Z][a-zA-Z]$/; rex['dig']=/^\d{1,}/; rex['cc']=/[0-9]{15,16}/; function makeRegex(reg_string) { if (rex[reg_string]) { return rex[reg_string]; } else { return new RegExp(reg_string); } } function createErrorNode(errorMessage,fmElementNode,errNodeID,cssClass) { if (!document.getElementById(errNodeID)) { err = document.createElement('div'); err.id = errNodeID; err.className = cssClass; err.innerHTML = errorMessage; fmElementNode.parentNode.insertBefore(err,fmElementNode); } else { document.getElementById(errNodeID).innerHTML=errorMessage; document.getElementById(errNodeID).style.display="block"; } } function validate(submitElement,theForm) { fme = document.getElementById(theForm).elements; formValidity = true; radioID = null; skipElement = new Array(); for ( i=0 ; i < fme.length ; i++ ) { if (skipElement[fme[i].id]) continue; nd = document.getElementById(fme[i].id); errNodeId = fme[i].id+"err"; validity = true; if ( (ie&&nd.required) || (moz&&nd.getAttribute('required')) ) { regex = (ie) ? makeRegex(nd.check) : makeRegex(nd.getAttribute('check')); error = (ie) ? nd.error : nd.getAttribute('error'); switch (fme[i].type) { case 'text': case 'password': case 'textarea': validity = regex.test(fme[i].value); break; case 'radio': validity = false; for ( j=0 ; j < fme[fme[i].id].length ; j++ ) if (fme[fme[i].id][j].checked) validity = true; skipElement[fme[i].id]=true; break; case 'select-one': case 'select-multiple': case 'select': if (fme[i].selectedIndex<0||fme[i].options[fme[i].selectedIndex].value=="") validity = false; break; if (error==''||error==null||!error) { error = errors[nd.check]; } } if(theForm=='membersignup' && fme[i].id=='confirm_password' && fme[i].value!=document.getElementById('password').value) { error = 'The passwords do not match'; validity = false; } if (!validity) { formValidity = false; createErrorNode(error,nd,errNodeId,"fieldError") } else if (document.getElementById(errNodeId)) document.getElementById(errNodeId).style.display="none"; } } formErrID = submitElement.id+"err"; sn = document.getElementById(submitElement.id); if (!formValidity) { error = (ie) ? sn.error : sn.getAttribute('error'); createErrorNode(error,sn,formErrID,"formError"); formReturnValue=false; } else { if (document.getElementById(formErrID)) document.getElementById(formErrID).style.display="none"; formReturnValue=true; } return formReturnValue }