var disableValidator = false; function checkLinkedItems(childElements,targetGroup,linkValue,state) { for (var a=0;a0) { if(linkValue == childElements.item(a).getAttribute("linkValue")) { setDisablednessOnFormElements(childElements.item(a),false); state.useDefault=false; } else { setDisablednessOnFormElements(childElements.item(a),true); } } else { state.defaultItems = true; } } if (childElements.item(a).hasChildNodes()) state = checkLinkedItems(childElements.item(a).childNodes,targetGroup,linkValue,state) } } return state; } function defaultLinkedItems(childElements,targetGroup,linkValue,useDefault) { for (var a=0;a0) { reason=element.getAttribute("error"); //element.getAttribute("validation"); } else { reason="This field is mandatory" ; } } } else { var minlen=0; if (element.getAttribute("minlen")) minlen=element.getAttribute("minlen"); if (element.value.length >= minlen ) { if (element.getAttribute("validation")) { if (element.value.match(element.getAttribute("validation")) && (element.value.match(element.getAttribute("validation")).length >1 || element.value.match(element.getAttribute("validation"))==element.value)) { valid=true; reason=""; } else { //alert(element.value.match(element.getAttribute("validation")) + " " +element.value); valid=false; if(element.getAttribute("error") && element.getAttribute("error").length>0) { reason=element.getAttribute("error"); //element.getAttribute("validation"); } else { reason="This field contains invalid characters" ; } } } else { valid=true; reason=""; } } else { if (minlen>0) { valid=false; reason="Minumum length required("+minlen+" characters)" ; } } if(element.getAttribute("maxLength")) { if (element.value.length > element.getAttribute("maxLength")) { valid=false; reason="Maximum length exceded("+element.getAttribute("maxLength")+" characters)" ; element.value=element.value.substr(0,element.getAttribute("maxLength")); //This should occur only with text area - maybe we can cancel it or set some max length attribute? } if (element.value.length == element.getAttribute("maxLength")) { valid=true; reason="Maximum length reached("+element.getAttribute("maxLength")+" characters)" ; } } } } if(!valid && reason.length == 0) reason="Invalid entry"; if(reason.length>0 ) { if(element.nextSibling) { if(element.nextSibling.className.substr(0,14)=="validationText") { if(valid || element.disabled) { element.nextSibling.innerText="[" + reason + "]"; element.nextSibling.className= "validationText_warning"; } else { element.nextSibling.innerText="* " + reason; element.nextSibling.className= "validationText"; element.title = reason; if (element.type.toLowerCase() != "password") element.title +=", '" + element.value + "' is not valid."; } if (element.style.display=="") element.nextSibling.style.display=""; } else { if(element.getAttribute("errorstyle")=="small") { //element.insertAdjacentHTML("afterEnd","*"); } else { if(valid || element.disabled) { var warningTag = document.createElement("span"); warningTag.className="validationText_warning"; warningTag.innerHTML="["+reason+"]"; element.parentNode.insertBefore(warningTag,element.nextSibling); } else { var warningTag = document.createElement("span"); warningTag.className="validationText"; warningTag.innerHTML="*"+reason; element.parentNode.insertBefore(warningTag,element.nextSibling); element.title = reason; if (element.type.toLowerCase() != "password") element.title +=", '" + element.value + "' is not valid."; } } } } else { if(element.getAttribute("errorstyle")=="small") { //element.insertAdjacentHTML("afterEnd","*"); } else { if(valid || element.disabled) { element.insertAdjacentHTML("afterEnd","["+reason+"]"); } else { element.insertAdjacentHTML("afterEnd","* "+reason+""); element.title = reason; if (element.type.toLowerCase() != "password") element.title +=", '" + element.value + "' is not valid."; } } } if(valid) { element.className=element.baseClass + "_valid"; element.setAttribute("valid","true"); element.setAttribute("reason",""); } else if(element.disabled) { //element.className=validator_baseclass + "_diabled"; //element.valid="true"; //element.reason=""; } else { element.className=element.baseClass + "_invalid"; element.setAttribute("valid","false"); element.setAttribute("reason",reason); } } else { if(element.nextSibling) { if(element.nextSibling.className=="validationText" || element.nextSibling.className=="validationText_warning") { element.nextSibling.style.display="none"; element.title = ""; } } element.setAttribute("valid","true"); element.setAttribute("reason",""); } //checkForm(element.form); }