function showStatus(id,status) { var elm = getElm(id); elm.className = (status) ? 'statusOkay' : 'statusWrong'; } function changeImageSrc(id,name) { if (document.images[id]) { var imgObj = document.images[id]; var basePath = imgObj.src.substr(0,imgObj.src.lastIndexOf("/")+1); imgObj.src = basePath+'?action=getResource&echo='+name; } } var checkedFields = new Array(); var initialValues = new Array(); var changedFields = new Array(); function checkField(inpfield,id,formname,pattern,type,required) { var state; if (!document[formname] || !document[formname][inpfield]) return; var str = document[formname][inpfield].value; var dontChangePositive = false; if (initialValues[inpfield]==undefined) { initialValues[inpfield] = str; dontChangePositive = true; } else { if (str==initialValues[inpfield]) dontChangePositive = true; initialValues[inpfield] = str; } if (!checkedFields[inpfield]) { checkedFields[inpfield] = null; } if (checkedFields[inpfield]!=str) { checkedFields[inpfield] = str; if (str == "" && !required) { state = true; } else { switch (type) { case 'validate': state = regExxerCheck(pattern,str); break; case 'choice': state = regExxerCheckValue(pattern,str); break; default: state = false; } } if (dontChangePositive && state==1) return; changeImageSrc('img'+id,(state) ? 'fieldstatus_valid' : 'fieldstatus_invalid'); if (state) showStatus(id,1); if (document[formname]['commit']) { document[formname]['commit'].disabled=(!state); } } return state; }