var W3CDOM=(document.getElementsByTagName&&document.createElement);var jradios=new Array();var joobiErrorTabs=new Array();var joobiErrorFields=new Array();var joobiTabs=false;function validateForm(C){var B=document.forms[C].elements;formHasError=false;fullErrorString="";firstError=null;currEmtype=null;prevEm=false;radios=new Array();for(var A=0;A<B.length;A++){if(B[A].type!="hidden"){validateField(B[A],C)}}if(!W3CDOM){alert(fullErrorString)}if(firstError){firstError.focus()}if(formHasError){return false}return true}function validateField(formElement,formName){currEmtype=formElement.type;if(prevEm&&prevEm.type=="radio"&&currEmtype!=prevEm.type&&jradios[formName][prevEm.name]===false){writeError(prevEm,jCore.msg.req,radios[prevEm.name]);prevEm=null}if(currEmtype==undefined){return false}if(!jCore.req[formName]){return false}var str=new String(jCore.req[formName][formElement.name]);var requiredTypes=str.match(/[a-zA-Z]+(?=(,|\())/g);var requiredArgs=str.match(/\([a-zA-Z0-9_\)\(\\\<\>\"\'\;\&\+\-\$\^\*\%]*(?=(,|\s;\s))/g);if(!formElement.value||(currEmtype=="checkbox"&&!formElement.checked)||(currEmtype=="select-one"&&formElement.value==0)||(currEmtype=="radio")){if(jCore.req[formName][formElement.name]){if(currEmtype=="radio"){if(!eval(radios[formElement.name])){radios[formElement.name]=new Array()}radios[formElement.name][formElement.value]=formElement;if(!eval(jradios[formName])){jradios[formName]=new Array()}if(eval(jradios[formName][formElement.name])&&jradios[formName][formElement.name]===true){return false}jradios[formName][formElement.name]=formElement.checked;prevEm=formElement;return false}writeError(formElement,jCore.msg.req)}}else{if(jCore.req[formName][formElement.name]&&jCore.req[formName][formElement.name]!=0){for(var k=0;k<requiredTypes.length;k++){strArgs=new String(requiredArgs[k]);jFlagError=false;validateType(formElement,requiredTypes[k]);if(jFlagError){writeError(formElement,jCore.msg[requiredTypes[k]])}}}}}function validateType(J,I){var C="0123456789.,-+";var K=/[0-9]+/g;var B=/[a-z]+/gi;var L=/[a-z0-9]+/gi;switch(I){case"num":if(!isLike(J.value,C)){jFlagError=true}break;case"numeric":if(!isLike(J.value,K)){jFlagError=true}break;case"alpha":var G=J.value.match(B);if(!G){jFlagError=true}break;case"alphanum":var G=J.value.match(L);if(!G){jFlagError=true}break;case"ws":var G=J.value.match(/(\s)/);if(G){jFlagError=true}break;case"email":var F=/^[^@]*@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,7}$/;if(!verifyPattern(F,J.value)){jFlagError=true}break;case"minlgt":var N=strArgs.match(/[a-zA-Z0-9]+/g);var E=N[0];if(J.value.length<E){jFlagError=true}break;case"inf":var N=strArgs.match(/[a-zA-Z0-9]+/g);var E=N[0];if(J.value<E){jFlagError=true}break;case"sup":var N=strArgs.match(/[a-zA-Z0-9]+/g);var E=N[0];if(J.value>E){jFlagError=true}break;case"maxlgt":var N=strArgs.match(/[a-zA-Z0-9]+/g);var E=N[0];if(J.value.length>E){jFlagError=true}break;case"sameas":var N=strArgs.match(/[a-zA-Z0-9_]+/g);var A=document.getElementById(N[0]);if(A.value!=J.value){jFlagError=true;writeError(A,jCore.msg[I])}break;case"date":break;case"ccontain":var N=strArgs.match(/[\W]*(?=(\)))/g);var H=new String(N);H=H.substring(1,H.length);if(notContains(J.value,H)){jFlagError=true}break;case"cncontain":var N=strArgs.match(/[\W]*(?=(\)))/g);var H=new String(N);H=H.substring(1,H.length);var M=new String(jCore.msg[I]);var D=M.replace(/\[ILLEGAL_CHAR\]/,H);if(!notContains(J.value,H)){writeError(J,D)}break;default:break}}function verifyPattern(B,C){var A=new RegExp(B);return A.test(C)}function notContains(C,D){var B=true;var A;for(i=0;i<C.length&&B==true;i++){A=C.charAt(i);if(D.indexOf(A)!=-1){B=false}}return B}function isLike(D,A){var C=true;var B;for(i=0;i<D.length&&C==true;i++){B=D.charAt(i);if(A.indexOf(B)==-1){C=false}}return C}function isNotLike(C,A){var D=false;var B;for(i=0;i<C.length&&D==false;i++){B=C.charAt(i);if(A.indexOf(B)==-1){D=true}}return D}function writeError(C,A,B){if(joobiTabs){writeErrorTab(C)}if(!firstError){formHasError=true;firstError=C}if(C.hasError){return }if(W3CDOM){C.className+=" jberror";C.onchange=function(){removeError(this,joobiTabs)};if(B){for(objectheu in B){B[objectheu].onchange=function(){removeError(C,joobiTabs)}}}writeMess(C,A)}else{fullErrorString+=C.name+": "+A+"\n";C.hasError=true}}function writeErrorTab(obj){var parentObj=obj.parentNode;var runaway=false;while(!runaway){parentObj=parentObj.parentNode;if(parentObj.nodeName=="BODY"){return false}if(parentObj.nodeName!="DIV"||(parentObj.nodeName=="DIV"&&parentObj.className!="tab-page")){continue}else{parentid=parentObj.getAttribute("id");TabdivHeadName=parentObj.getAttribute("name");if(TabdivHeadName=="tabjb"){if(!eval(joobiErrorFields[parentid])){joobiErrorFields[parentid]=new Array()}joobiErrorFields[parentid].push(obj.getAttribute("id"));for(var i=0;i<joobiErrorTabs.length;i++){if(joobiErrorTabs[i]==TabdivHeadName){return true}else{continue}}TabspanHead=document.getElementById("jtspan"+parentid);TabspanHead.className+=" jberror";joobiErrorTabs.push(parentid);runaway=true}else{continue}}}}function writeMess(C,A){var B=document.createElement("span");B.className="text jberror";B.appendChild(document.createTextNode(A));C.parentNode.appendChild(B);C.hasError=B}function removeError(A,B){if(B){removeErrorTabs(A)}A.className=A.className.substring(0,A.className.lastIndexOf(" "));A.parentNode.removeChild(A.hasError);A.hasError=null;A.onchange=null}function removeErrorTabs(B){for(tabs in joobiErrorFields){var A=false;for(i=0;i<joobiErrorFields[tabs].length;i++){if(joobiErrorFields[tabs][i]===true){continue}if(joobiErrorFields[tabs][i]==B.getAttribute("id")){joobiErrorFields[tabs][i]=true}if((A===false)||(A===true)){A=joobiErrorFields[tabs][i]}}if(A===true){tabObj=document.getElementById("jtspan"+tabs);tabObj.className=tabObj.className.substring(0,tabObj.className.lastIndexOf(" "));tabObj.onchange=null}}};