var formNotValid = false; var formCommonsName = ""; function showError(elp,el,msg){ errmsg = document.createElement("div"); errmsg.className = "error"; errmsg.id = el.name+"div"; errmsg.innerHTML = eval(msg+"_"+el.name); elp.appendChild(errmsg); } function requiredField(el){ type = el.type; elnum = eval("fvnum_"+el.name+""); elp = document.getElementById("frow"+elnum); if(document.getElementById(el.name+"div") && (el.name+"0"==el.id || el.name == el.id)){ elp.removeChild(document.getElementById(el.name+"div")); } // Check if the text fields are not empty if((type=="text" || type=="textarea" || type=="password") && el.value==''){ formNotValid = true; showError(elp,el,"fvmsg"); // Check if one non-dummy option has been selected } else if( (type=="select-one" || type=="select-multiple") && el.value==""){ formNotValid = true; showError(elp,el,"fvmsg"); // Check if the 'other' field is filled } else if( (type=="select-one" || type=="select-multiple") && el.value=="[Other]"){ el2 = document.getElementById(el.name+"other"); if(el2 && el2.value==""){ formNotValid = true; showError(elp,el,"fvmsg2"); } // Check if a radio button has been selected } else if(type=="radio" && formCommonsName!=el.name){ formCommonsName = el.name; groupcheck = false; j=0; if(document.getElementById){ // Check the whole group for at least one selected while(groupcheck==false && document.getElementById(el.name+""+j)){ e = document.getElementById(el.name+""+j); j++; if(e.checked==true) groupcheck=true; } } else { groupcheck = true; } if(groupcheck==false){ showError(elp,el,"fvmsg"); formNotValid = true; } // Check if a checkbox has been selected } else if(type=="checkbox" && formCommonsName!=el.name){ formCommonsName = el.name; alternate = el.name; groupcheck = false; j=0; if(formCommonsName.indexOf('_')!=-1){ start = 0; lasthook = -1; while(formCommonsName.indexOf('_',start)!=-1){ lasthook = formCommonsName.indexOf('_',start); start = formCommonsName.indexOf('_',start); start++; }; alternate = formCommonsName.substr(0,lasthook); } if(document.getElementById){ // Check the whole group for at least one selected if(!document.getElementById(alternate+"_0")){ // Checkboxes can occure without a group if(document.getElementById(el.name) && document.getElementById(el.name).checked==true) groupcheck=true } else { while(groupcheck==false && document.getElementById(alternate+"_"+j)){ e = document.getElementById(alternate+"_"+j); j++; if(e.checked==true) groupcheck=true; } } } else { groupcheck = true; } if(groupcheck==false){ showError(elp,el,"fvmsg"); formNotValid = true; } } } function requiredFieldCond(el){ if(document.getElementById){ condition = eval("fvcond_"+el.name+""); isreq = 0; rule = condition.split(","); for(j=0;j 2) && (str.indexOf(".",str.indexOf("@"))<(str.length-2)) && (str.indexOf("@") > 0 ) && (str.indexOf("@") < (str.length-4) ); if(test==false){ formNotValid = true; showError(elp,el,"fvvmsg"); } } } } function validateUsername(el){ elnum = eval("fvnum_"+el.name+""); elp = document.getElementById("frow"+elnum); if(!document.getElementById(el.name+"div")){ // Check for a valid email address, username should not be an email str = el.value; if(str!=""){ test = (str.indexOf(".",str.indexOf("@")) > 2) && (str.indexOf(".",str.indexOf("@"))<(str.length-2)) && (str.indexOf("@") > 0 ) && (str.indexOf("@") < (str.length-4) ); if(test==false){ formNotValid = true; showError(elp,el,"fvvmsg"); } } } } function validatePhone(el){ elnum = eval("fvnum_"+el.name+""); elp = document.getElementById("frow"+elnum); if(!document.getElementById(el.name+"div")){ re = /^\b[\(\)0-9 \+\-]+\b$/ // Ugly test to escpae the first +/- if(new String("1"+el.value).match(re)!= "1"+el.value){ formNotValid = true; showError(elp,el,"fvvmsg"); } /* re = /\b[a-zA-Z0-9]{2,4} [a-zA-Z0-9]{3}\b/ if(new String(el.value).match(re)!= el.value){ formNotValid = true; showError(elp,el,"fvvmsg"); } */ } } function validateUKPostcode(el){ elnum = eval("fvnum_"+el.name+""); elp = document.getElementById("frow"+elnum); if(!document.getElementById(el.name+"div")){ re = /\b[a-zA-Z0-9]{2,4} [a-zA-Z0-9]{3}\b/ if(new String(el.value).match(re)!= el.value){ formNotValid = true; showError(elp,el,"fvvmsg"); } } } function validateTime(el){ elnum = eval("fvnum_"+el.name+""); elp = document.getElementById("frow"+elnum); if(!document.getElementById(el.name+"div")){ re = /\b[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}\b/ if(new String(el.value).match(re)!= el.value){ formNotValid = true; showError(elp,el,"fvvmsg"); } } } function validateDate(el){ elnum = eval("fvnum_"+el.name+""); elp = document.getElementById("frow"+elnum); if(!document.getElementById(el.name+"div")){ re = /\b[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}\b/ if(new String(el.value).match(re)!= el.value){ formNotValid = true; showError(elp,el,"fvvmsg"); } } } function validateDate2(el){ elnum = eval("fvnum_"+el.name+""); elp = document.getElementById("frow"+elnum); if(!document.getElementById(el.name+"div")){ re = /\b[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}\b/ if(new String(el.value).match(re)!= el.value && el.value!=""){ formNotValid = true; showError(elp,el,"fvvmsg"); } } } function validatePass(el){ elnum = eval("fvnum_"+el.name+""); elp = document.getElementById("frow"+elnum); if(!document.getElementById(el.name+"div")){ // Password length if(el.value.length<=5 && el.value.length>0 ){ formNotValid = true; showError(elp,el,"fvmsg2"); return false; } // Check if confirmation password is the same as original if(document.getElementById && document.getElementById(el.name+"_confirm")){ e = document.getElementById(el.name+"_confirm"); if(e.value!=el.value){ formNotValid = true; showError(elp,el,"fvmsg3"); } } } } function validateForm(){ // els = getElementsByClassName("error"); // for(i=0;i