function oInit() { if( ! document.getElementById ) { return; } document.getElementById('adopt-form').onsubmit = oCheckForm; document.getElementById( 'firstname' ).onblur = text_conv; document.getElementById( 'surname' ).onblur = text_conv; document.getElementById( 'town' ).onblur = text_conv; document.getElementById( 'county' ).onblur = text_conv; document.getElementById( 'school_name' ).onblur = text_conv; document.getElementById( 'address1' ).onblur = text_conv; document.getElementById( 'address2' ).onblur = text_conv; document.getElementById( 'address3' ).onblur = text_conv; document.getElementById( 'school_name' ).onblur = text_conv; document.getElementById( 'business_name' ).onblur = text_conv; document.getElementById( 'postcode' ).onblur = to_upper; document.getElementById( 'school_postcode' ).onblur = to_upper; } function oCheckForm() { var bRetVal = true; oObj = document.getElementById( 'firstname' ); if( ! oErrorSet( oObj , oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'surname' ); if( ! oErrorSet( oObj , oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'business_name' ); if( ! oErrorSet( oObj , oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'address1' ); if( ! oErrorSet( oObj , oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'town' ); if( ! oErrorSet( oObj , oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'county' ); if( ! oErrorSet( oObj, oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'postcode' ); if( ! oErrorSet( oObj , oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'email' ); if( ! oErrorSet( oObj , oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'school_name' ); if( ! oErrorSet( oObj , oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'school_postcode' ); if( ! oErrorSet( oObj , oObj.value ) ) { bRetVal = false; } oObj = document.getElementById( 'telephone' ); if( oObj.value.length > 0 ) { if( ! phone_validate( oObj , oObj.value , 'normal' , 'error' ) ) { bRetVal = false; } } oObj = document.getElementById( 'email' ); if( ! email_validate( oObj , oObj.value , 'required' , 'error' ) ) { bRetVal = false; } if( bRetVal == false ) { document.getElementById( 'form_error_text' ).style.display = 'block'; } return bRetVal; } function phone_validate( oObj , sVal , okClass , errorClass ) { var phone_reg = new RegExp( "[0-9]{5,}" ); if( phone_reg.test( sVal ) ) { oObj.parentNode.className = okClass; return true; } else { oObj.parentNode.className = errorClass; return false; } } function email_validate( oObj , sVal , okClass , errorClass ) { var email_reg = new RegExp( "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,})+$" ); if( email_reg.test( sVal ) ) { oObj.parentNode.className = okClass; return true; } else { oObj.parentNode.className = errorClass; return false; } } function oErrorSet( oObj , sVal ) { if( sVal == '' ) { oObj.parentNode.className = 'error'; return false; } else { oObj.parentNode.className = 'required'; return true; } } function to_upper() { this.value = this.value.toUpperCase(); } function text_conv(){ var do_re = new RegExp('([A-Z])'); var noconv = 0; if ( do_re.test(this.value) ) { var do_re2 = new RegExp('([A-Z][A-Z])'); if ( !do_re2.test(this.value) ) { noconv = 1; } } var wordarr = this.value.split(' '); var newarr = new Array; if (wordarr.length == 0 || this.value.length == 0 ) { return; } var words = 0; var mytxt = new String; var myval = new String; var test_re1 = new RegExp('^(mac|mc)\$','i'); var test_re2 = new RegExp('[\-\'\/\+]'); var test_re3 = new RegExp('\\W'); for (var j = 0;j < wordarr.length;j++) { myval=''; mytxt=''; if (!noconv) { wordarr[j] = wordarr[j].toLowerCase(); } charloop: for (var i = 0, u = 0;i < wordarr[j].length;i++) { myval = wordarr[j].substr(i,1); if ( (test_re3.test(myval)) && !(test_re2.test(myval)) ) { continue charloop; } if ( u == 0 && !(noconv)) { myval = myval.toUpperCase(); u = 1; } mytxt += myval; if ( test_re1.test(mytxt) || test_re2.test(myval)) { u = 0; } } if (mytxt.length > 0) { newarr[words] = mytxt; words++ } } this.value = newarr.join(' '); } addLoadEvent( oInit );