
/* - form-validation.js - */
// http://www.supercityuk.com/portal_javascripts/form-validation.js?original=1
function checkNumeric(input,required){checkPhone(input,required)}
function checkEmail(input){var email=input.value;var at="@";var dot=".";var lat=email.indexOf(at);var lstr=email.length;var ldot=email.indexOf(dot);var error=false;if(lstr<5){error=true}
if(email.indexOf(at)==-1){error=true}
if(email.indexOf(at)==-1||email.indexOf(at)==0||email.indexOf(at)==lstr){error=true}
if(email.indexOf(dot)==-1||email.indexOf(dot)==0||email.indexOf(dot)==lstr){error=true}
if(email.indexOf(at,(lat+1))!=-1){error=true}
if(email.substring(lat-1,lat)==dot||email.substring(lat+1,lat+2)==dot){error=true}
if(email.indexOf(dot,(lat+2))==-1){error=true}
if(email.indexOf(" ")!=-1){error=true}
if(ldot==(lstr-1)){error=true}
inputError(input,error,'*   The email is not correctly formatted.')}
function checkPassword(input1,input2){var pass1=input1.value;var pass2=input2.value;if(pass1==pass2&&pass1.length>4){inputError(input1,false);inputError(input2,false)}else{inputError(input1,true,'*   Check the passwords match and are are least 5 characters long.');inputError(input2,true)}}
function checkNonEmpty(input){if(input.value.length<1){inputError(input,true,'*   Some required fields have been left blank.')}else{inputError(input,false)}}
function checkPhone(input,required){var regex=/^[0-9+]+$/
var error=false;input.value=input.value.replace(/ /g,'');if(input.value==''&&required){error=true} else if(!regex.test(input.value)&&input.value!=''){error=true}
inputError(input,error,'*   Ensure phone or card details do not contain letters or whitespaces')}
function checkAlpha(input,required){var regex=/^[A-Z\-a-z ]+$/
var error=false;if(input.value==''&&required){error=true} else if(!regex.test(input.value)&&input.value!=''){error=true}
inputError(input,error,'*   Only letters and \'-\' may be used for the Name fields');return}
function checkUserAccountTaken(input){xmlHttp=getXmlHttpObject();xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(xmlHttp.responseText==0){inputError(input,true,'*   This account already exists, please use another email address.');try{niceAlert(280,150,'Warning : The username is already in use','username taken')}catch(err){alert('The username is already in use')}}else{if(input.value.length<1){inputError(input,true,'*   The email address cannot be empty.');return}else{inputError(input,false)}}}}
if(input.value.length<1){inputError(input,true,'*   The email address cannot be empty.');return}
xmlHttp.open("GET","isUserAccountTaken?email="+input.value,true);xmlHttp.setRequestHeader('If-Modified-Since','Sat, 1 Jan 2000 00:00:00 GMT');xmlHttp.setRequestHeader('Cache-Control','no-cache');xmlHttp.send(null)}
function fixWordCase(input,onlyFirstChar){onlyFirstChar='yes';if(onlyFirstChar!=null){var caretPos=getCaretPos(input)}
var text=input.value;var lines=new Array();var words=new Array();var textToReturn='';var lineToReturn='';lines=text.split('\n');for(var j=0;j<lines.length;j++){words=lines[j].split(' ');for(var i=0;i<words.length;i++){firstLetter=words[i].substring(0,1);otherLetters=words[i].substring(1,words[i].length)
if(onlyFirstChar==null){fixedWord=firstLetter.toUpperCase()+otherLetters.toLowerCase()}else{fixedWord=firstLetter.toUpperCase()+otherLetters}
lineToReturn+=' '+fixedWord}
textToReturn+='\n'+trimLeft(lineToReturn);lineToReturn=''}
input.value=textToReturn.substring(1,textToReturn.length);if(onlyFirstChar!=null){setCaretPos(input,caretPos)}
return}
function trimRight(sString){while(sString.substring(sString.length-1,sString.length)==' '){sString=sString.substring(0,sString.length-1)}}
function trimLeft(sString){while(sString.substring(0,1)==' '){sString=sString.substring(1,sString.length)}
return sString}
function setCaretPos(input,pos){if(input.setSelectionRange){input.focus();input.setSelectionRange(pos,pos)}
else if(input.createTextRange){var range=input.createTextRange();range.collapse(true);range.moveEnd('character',pos);range.moveStart('character',pos);range.select()}}
function getCaretPos(control){var CaretPos=0;if(document.selection){control.focus();var Sel=document.selection.createRange();var Sel2=Sel.duplicate();Sel2.moveToElementText(control);var CaretPos=-1;while(Sel2.inRange(Sel)){Sel2.moveStart('character');CaretPos++}}
else if(control.selectionStart||control.selectionStart=='0')
CaretPos=control.selectionStart;return(CaretPos)}
function inputError(input,error,msg){if(error){input.style.border='1px solid #E11840';if(msg==null){msg='fail'}
input.className=input.className+' fail'}else{input.style.border='1px solid #666666';input.className='pass'}}
function validateRegistrationForm(form,returnBool){var inputs=new Array();var textareas=new Array();var passed=true;inputs=form.getElementsByTagName("input");textareas=form.getElementsByTagName("textarea");errorString='';for(var i=0;i<inputs.length;i++){if(inputs[i].type=="hidden"){continue}
if(inputs[i].type=="button"){continue}
try{inputs[i].onkeyup()}catch(err){}
try{inputs[i].onblur()}catch(err){}
if(inputs[i].className!='pass'&&inputs[i].className.length>1){passed=false;if(inputs[i].className.length>1){if(errorString.indexOf(inputs[i].className)==-1){errorString+=inputs[i].className+'<br>'}}}}
for(var i=0;i<textareas.length;i++){try{textareas[i].onkeyup()}catch(err){}
if(textareas[i].className!='pass'&&textareas[i].className.length>1){passed=false;if(textareas[i].className.length>1){if(errorString.indexOf(textareas[i].className)==-1){errorString+=textareas[i].className+'<br>'}}}}
if(passed){try{if(form.company.value==''){form.company.value='[WEB] No Company Specified';form.companystreet1.value=form.street1.value
form.companystreet2.value=form.street2.value
form.companystreet3.value=form.street3.value
form.companycity.value=form.city.value
form.companypostalcode.value=form.postalcode.value;form.companytelephone.value=form.customertelephone.value}}catch(er){}
if(null!=returnBool){return true} else{form.submit()}}else{errorString='Please check all the required fields have been filled in correctly';try{niceAlert(450,150,'<b>Cannot Submit Form:</b> <br><br>'+errorString,'form incomplete')}catch(err){alert('Cannot Submit Form: \n'+errorString)}
if(null!=returnBool){return false}}}

