function addSlash(fieldName){var re=/^(\d{2})(\d{2})(\d{4})$/;if(fieldName.value.match(re)){var newDate=fieldName.value.match(re);var slashDate=newDate[1]+"/"+newDate[2]+"/"+newDate[3];fieldName.value=slashDate;fieldName.className='input';}}function DDformValidation(){this.currentValue='';this.currentCSS='';this.secondaryCheck=false;this.errors=new Array();this.formElement='';this.focusWidget=function(myElement){this.currentValue=myElement.value;this.currentCSS=myElement.className;this.swapClass(myElement,'focus');};this.blurWidget=function(myElement){if(myElement.value!=this.currentValue){valid=true;if(this.secondaryCheck){valid=this.validateValue(myElement,myElement.getAttribute('validate'));}if(valid){this.hideError(myElement);}}else{if(this.currentCSS.indexOf("_")!=-1){temp=this.currentCSS.split('_');this.currentCSS=temp[1];}else{this.currentCSS='';}this.swapClass(myElement,this.currentCSS);}};this.initializeForm=function(myForm){items=myForm.elements;labels=document.getElementsByTagName('label');for(var i=0; i < items.length; i++){if(items[i].getAttribute('required')){this.swapClass(items[i],'required');labelKey=this.inArray(items[i].id,labels);if(labelKey >=0){labels[labelKey].innerHTML='*'+labels[labelKey].innerHTML;}}if(items[i].getAttribute('disabled')){this.swapClass(items[i],'disabled');}}};this.swapClass=function(myElement,myClass){currentClass=myElement.className;if(currentClass.indexOf("_")!=-1){temp=currentClass.split('_');currentClass=temp[0];}if(myClass!=''){myClass='_'+myClass;}myElement.className=currentClass+myClass;};this.validateForm=function(myForm){this.formElement=myForm;this.secondaryCheck=true;valid=true;items=myForm.elements;for(var i=0; i < items.length; i++){if(items[i].getAttribute('required')&& items[i].value=='' &&!items[i].getAttribute('disabled')){this.showError(items[i],'You must enter a value in this field');valid=false;}}if(valid){for(var i=0; i < items.length; i++){temp=true;if(items[i].getAttribute('validate')&&!items[i].getAttribute('disabled')){temp=this.validateValue(items[i],items[i].getAttribute('validate'));}if(!temp){valid=false;}}}if(!valid){document.location.href='#errorSpan_DDerror';}return valid;};this.validateValue=function(myElement,myType){var valid=true;var errorMsg='';if(!myElement.getAttribute('disabled')){switch(myType){case 'username':var regEx=new RegExp(/^[a-z][a-z0-9\.\-\_]+$/i);if(!myElement.value.match(regEx)){errorMsg='Invalid username';valid=false;}if(myElement.value.length < 6){valid=false;}break;case 'password':var categoryCount=0;var re=/[A-Z]/;if(re.test(myElement.value)){categoryCount++;}var re=/[a-z]/;if(re.test(myElement.value)){categoryCount++;}var re=/\d/;if(re.test(myElement.value)){categoryCount++;}var re=/[^a-zA-Z0-9]/;if(re.test(myElement.value)){categoryCount++;}if(categoryCount < 3){errorMsg='Invalid password:You must use characters from 3 of the 4 catagories';valid=false;}if(myElement.value.length < 8){errorMsg='Invalid password:Your password must be at least 8 characters long';valid=false;}break;case 'email':regEx=new RegExp(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);if(!myElement.value.match(regEx)){errorMsg='Invalid email';valid=false;}break;}}if(!valid){this.showError(myElement,errorMsg);}return valid;};this.showError=function(myElement,errorMsg){this.errors[myElement.id]=true;this.swapClass(myElement,'alarm');if(document.getElementById('errorSpan_'+myElement.name)){newDomElement=document.getElementById('errorSpan_'+myElement.name);newDomElement.innerHTML=errorMsg+"<br/>";}else{newDomElement=document.createElement('span');newDomElement.setAttribute('id','errorSpan_'+myElement.name);newDomElement.innerHTML=errorMsg+"<br/>";newDomElement.setAttribute('class','ddErrorSpan');newDomElement.setAttribute('className','ddErrorSpan');myElement.parentNode.insertBefore(newDomElement,myElement);}if(document.getElementById('errorSpan_DDerror')){newDomElement=document.getElementById('errorSpan_DDerror');newDomElement.innerHTML='There was an error on the form.';}else{newDomElement=document.createElement('span');newDomElement.setAttribute('id','errorSpan_DDerror');newDomElement.innerHTML=errorMsg+"<br/>";newDomElement.setAttribute('class','ddErrorSpan');newDomElement.setAttribute('className','ddErrorSpan');this.formElement.parentNode.insertBefore(newDomElement,this.formElement);}};this.hideError=function(myElement){this.errors[myElement.id]=false;var c=0;for(var n in this.errors){if(this.errors[n]){c++;}}if(myElement.getAttribute('required')){this.swapClass(myElement,'required');}else{this.swapClass(myElement,'');}if(newDomElement=document.getElementById('errorSpan_'+myElement.name)){newDomElement.innerHTML='';}if(c==0){if(document.getElementById('errorSpan_DDerror')){document.getElementById('errorSpan_DDerror').innerHTML='';}}};this.inArray=function(needle,haystack){for(var i=0; i < haystack.length; i++){if(tempIndex=haystack[i].getAttribute('for')){}else{tempIndex=haystack[i].getAttribute('htmlFor');}if(tempIndex==needle){return i;}}return-1;};}function focusIt(item,type){switch(type){case 'style':switchStyle(item,'_focus','+');break;}}function blurIt(item,type){switch(type){case 'style':switchStyle(item,'_focus','-');break;default:start=type.indexOf('(');possibleFunction=type.substring(0,start);if(typeof eval(possibleFunction)=='function'){eval(type);}}}function switchStyle(item,classExtra,action){itemClass=item.className;switch(action){case '+':if(itemClass.indexOf(classExtra)==-1){newClass=itemClass+classExtra;}else{newClass=itemClass;}break;case '-':if(itemClass.indexOf(classExtra)!==-1){newClass=itemClass.substring(0,itemClass.indexOf(classExtra));}else{newClass=itemClass;}}item.className=newClass;}function formCheckRequired(form){items=form.elements;var invalid=new Array();var invalidCount=0;for(var i=0; i < items.length; i++){if(items[i].getAttribute('required')){customError='';if(items[i].getAttribute('error')){customError=items[i].getAttribute('error');}if(!items[i].value){invalid[invalidCount]=items[i];invalidCount++;if(customError!==''){items[i].errorMessage=customError;}else{items[i].errorMessage='Please enter a value';}}else{switch(items[i].getAttribute('required')){case 'true':break;case 'int':if(items[i].value.match(/\D/)){invalid[invalidCount]=items[i];invalidCount++;if(customError!==''){items[i].errorMessage=customError;}else{items[i].errorMessage='Please enter a numeric value with no special characters.';}}break;case 'numeric':if(!items[i].value.match(/[-+]?[0-9]*\.?[0-9]+/)){invalid[invalidCount]=items[i];invalidCount++;if(customError!==''){items[i].errorMessage=customError;}else{items[i].errorMessage='Please enter a numeric value only.';}}break;case 'string':if(items[i].value.match(/\W/)){invalid[invalidCount]=items[i];invalidCount++;if(customError!==''){items[i].errorMessage=customError;}else{items[i].errorMessage='Please enter a string.';}}break;case 'email':if(!validEmail(items[i].value)){invalid[invalidCount]=items[i];invalidCount++;if(customError!==''){items[i].errorMessage=customError;}else{items[i].errorMessage='Invalid email';}}break;case 'password':if(!validPassword(items[i].value,'')){invalid[invalidCount]=items[i];invalidCount++;if(customError!==''){items[i].errorMessage=customError;}else{items[i].errorMessage='Invalid password';}}break;case 'MMDDYYYY':if(!items[i].value.match(/(0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[/](19|20)\d\d/)){invalid[invalidCount]=items[i];invalidCount++;if(customError!==''){items[i].errorMessage=customError;if(items[i].className=='input_focus'){items[i].className='input_alarm';}}else{items[i].errorMessage='Invalid Date Stamp.';if(items[i].className=='input_focus'){items[i].className='input_alarm';}}}break;}}}}return invalid;}function validPassword(pwd,username){var valid=true;var categoryCount=0;var re=/[A-Z]/;if(re.test(pwd)){categoryCount++}var re=/[a-z]/;if(re.test(pwd)){categoryCount++}var re=/\d/;if(re.test(pwd)){categoryCount++}var re=/[^a-zA-Z0-9]/;if(re.test(pwd.value)){categoryCount++}if(username){if(pwd.indexOf(username)!=-1){valid=false;}}if(pwd.length < 8){valid=false;}if(categoryCount < 3){valid=false;}return valid;}function validEmail(str){var valid=false;emailRegEx=new RegExp(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);if(str.match(emailRegEx)){valid=true;}else{valid=false;}return valid;}function formCheckForm(form){possiblespans=document.getElementsByTagName('span');for(i=0; i<possiblespans.length; i++){if(possiblespans[i].id.substring(2,11)=='ErrorSpan'){possiblespans[i].innerHTML='';}}possiblealarms=form.elements;for(i=0; i<possiblealarms.length; i++){switchStyle(possiblealarms[i],'_alarm','-');}var submit=true;var newDom=new Array();invalid=formCheckRequired(form);if(invalid.length > 0){submit=false;for(i=0; i<invalid.length; i++){switchStyle(invalid[i],'_alarm','+');if(document.getElementById('ddErrorSpan'+invalid[i].name)){document.getElementById('ddErrorSpan'+invalid[i].name).innerHTML="<b style='color:#ff0000'>"+invalid[i].errorMessage+'</b><br/>';}else{newDom[i]=document.createElement('span');newDom[i].setAttribute('id','ddErrorSpan'+invalid[i].name);newDom[i].innerHTML="<b style='color:#ff0000'>"+invalid[i].errorMessage+'</b><br/>';newDom[i].setAttribute('class','ddErrorSpan');invalid[i].parentNode.insertBefore(newDom[i],invalid[i]);}}}return submit;}