var formElementsCheck = new Array( ); var formElementsCheckLen; var theForm; var submitInput = false; var addressDetails = new Array( ); var inWidth; function formChecker( ) { theForm = document.getElementById( 'ContactUs' ); if ( theForm ) { formElementsCheck[formElementsCheck.length] = 'emailFrom, isEmail, Your email address, Please provide a valid email address'; formElementsCheck[formElementsCheck.length] = 'subject, isRequired, Message Title, Please provide a title for your message'; formElementsCheck[formElementsCheck.length] = 'message, minLength=10, Message, Please enter as much information as you can'; formElementsCheck[formElementsCheck.length] = 'sendEmail, submit,:: SEND EMAIL, '; formElementsCheckLen = formElementsCheck.length; setAttribute_IE_HACK( theForm, 'onsubmit', 'return checkFormReturn( )' ); } } function checkFormReturn( ) { var errors = new Array( ); var i; var failed = false; var focused = false; for( i = 0; i < formElementsCheckLen; i++ ) { var toCheck = formElementsCheck[i]; if ( toCheck ) { var opts = false; try { opts = toCheck.split( ',' ); } catch ( e ) {} if ( opts ) { var ele = document.getElementById( opts[0] ); if ( ! ele ) { break; } var checkType = opts[1].replace( ' ', '' ); var checkLen = false; if ( checkType.indexOf( '=' ) != -1 ) { var parts = checkType.split( '=' ); checkType = parts[0]; checkLen = parts[1]; } var passed = false; switch( checkType ) { case 'isEmail': passed = validEmail( ele.value ); break; case 'isEmailConf': passed = validEmailConf( ele.value ); break; case 'password': passed = validPassConf( ele ); break; case 'submit': submitInput = ele; passed = true; break; case 'minLength': passed = ele.value.length >= checkLen ? true : false; // alert( opts.toString( ) ); break; default: passed = ele.value.length; break; } // end switch checkType if ( ! passed ) { if ( ! focused ) { focused = true; var toFocus = ele; } if ( opts[3].length < 4 ) { opts[3] = 'Please provided the information required'; } failed = true; errors[errors.length] = 'Failed : ' + opts[2] + "\n - : " + opts[3]; var parentPs = ele.parentNode.childNodes var appendN = true; if ( parentPs ) { var parentPsLen = parentPs.length; var k; for( k = 0; k < parentPsLen; k++ ) { if ( parentPs[k] && parentPs[k].tagName && parentPs[k].tagName.toLowerCase( ) == 'p' && parentPs[k].className == 'formError' ) { appendN = false; } } } if ( appendN ) { var helpMsg = document.getElementById( opts[0] + 'Popup' ); var p = document.createElement( 'p' ); p.className = 'formError'; p.style.left = ele.offsetLeft + 'px'; p.style.width = ( parseFloat( ele.offsetWidth ) - ( 9 ) ) + 'px'; var txt = document.createTextNode( opts[3].replace( /\'/m, "'" ) ); //, "'" ) ); p.appendChild( txt ); ele.parentNode.appendChild( p ); if ( helpMsg ) { helpMsg.style.top = yOffset( p ) + 'px'; //.offsetHeight + top + 'px'; } } } else { var parentPs = ele.parentNode.childNodes var appendN = true; if ( parentPs ) { var parentPsLen = parentPs.length; var k; for( k = 0; k < parentPsLen; k++ ) { if ( parentPs[k] && parentPs[k].tagName && parentPs[k].tagName.toLowerCase( ) == 'p' && parentPs[k].className == 'formError' ) { ele.parentNode.removeChild( parentPs[k] ); } } } } } } } if ( failed ) { if ( toFocus ) { toFocus.focus( ); } var errorsLen = errors.length; var errorString = ''; for( i = 0; i < errorsLen; i++ ) { errorString += errors[i]; if ( ( i + 1 ) <= errorsLen ) { errorString += "\n"; } } alert( errorString ); return false; } else { if ( submitInput ) { submitInput.disabled = 'disabled'; } return true; } return false; }