var MSGTIMER = 20; var MSGSPEED = 20; var MSGOFFSET = 1; var MSGHIDE = 3; // build out the divs, set attributes and call the fade function // function inlineMsg(target,string,autohide,setfocusOn,setfocus) { var msg; var msgcontent; setfocus = (setfocus) ? setfocus : '1'; if(!document.getElementById('msg')) { msg = document.createElement('div'); msg.id = 'msg'; msgcontent = document.createElement('div'); msgcontent.id = 'msgcontent'; document.body.appendChild(msg); msg.appendChild(msgcontent); msg.style.filter = 'alpha(opacity=0)'; msg.style.opacity = 0; msg.alpha = 0; } else { msg = document.getElementById('msg'); msgcontent = document.getElementById('msgcontent'); } msgcontent.innerHTML = string; msg.style.display = 'block'; var msgheight = msg.offsetHeight; var targetdiv = document.getElementById(target); var setfocusOnObj = document.getElementById(setfocusOn); if (setfocus == 1){ //setfocusOnObj.focus(); } var targetheight = targetdiv.offsetHeight; var targetwidth = targetdiv.offsetWidth; var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2); var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET; msg.style.top = topposition + 'px'; msg.style.left = leftposition + 'px'; clearInterval(msg.timer); msg.timer = setInterval("fadeMsg(1)", MSGTIMER); if(!autohide) { autohide = MSGHIDE; } // The following line has been commented so that the message doesnt hide after a few secs // window.setTimeout("hideMsg()", (autohide * 1000)); } function inlineErrMsg(idx,target,string,autohide,setfocusOn){ var msg = document.createElement('div'); msg.setAttribute('id','msg_'+idx); var pr=target+'Div'; document.getElementById(pr).style.border= '2px solid #ffffff'; document.getElementById(pr).style.padding= '1px'; //msg.setAttribute('style','display:none; position:absolute; z-index:200; padding-left:7px;color:#ffffff; left:-20;'); msg.style.marginLeft= '2px'; msg.setAttribute('style','margin-left:0px;'); msg.style.left ='-20'; msg.style.paddingLeft='7px'; msg.style.display = 'none'; msg.style.position = 'absolute'; msg.style.background = 'url(images/pink_errow.gif) left center no-repeat'; msg.style.color = '#ffffff'; msg.style.padding.left = '0px'; var msgcontent = document.createElement('div'); msgcontent.setAttribute('id','msgcontent_'+idx); //msgcontent.setAttribute('style','display:block; background-position: right bottom; border-left:none; padding:5px;font-family:Arial; font-weight:bold; color:#1e4f78;'); msgcontent.style.fontFamily='Times New Roman,"Trebuchet MS", Geneva, Arial, Helvetica, SunSans-Regular, sans-serif;'; msgcontent.style.fontWeight='normal'; msgcontent.style.display = 'block'; msgcontent.style.fontSize = '11 px'; msgcontent.style.padding = '5px'; msgcontent.style.color = '#ff00ff'; document.body.appendChild(msg); msg.appendChild(msgcontent); msg.style.filter = 'alpha(opacity=0)'; msg.style.opacity = 0; msg.alpha = 0; msg.style.display = 'block'; msgcontent.innerHTML = string; var msgheight = msg.offsetHeight; var targetdiv = document.getElementById(target); var setfocusOnObj = document.getElementById(setfocusOn); if(idx == 0 && setfocusOnObj!== null){ setfocusOnObj.focus(); } var targetheight = targetdiv.offsetHeight; var targetwidth = targetdiv.offsetWidth; var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2); var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET; msg.style.top = topposition + 'px'; msg.style.left = leftposition + 'px'; clearInterval(msg.timer); msg.timer = setInterval("fadeErrMsg(1,'msg_"+ idx +"')", MSGTIMER); if(!autohide) { autohide = MSGHIDE; } // window.setTimeout("hideErrMsg('msg_"+ idx+"')", (autohide * 1000)); } function hideErrMsg(msgDivId){ var msg = document.getElementById(msgDivId); if(!msg.timer) { msg.timer = setInterval("fadeErrMsg(0,'"+msgDivId+"')", MSGTIMER); } } function fadeErrMsg(flag,msgDivId) { if(flag == null) { flag = 1; } var msg = document.getElementById(msgDivId); var value; if(flag == 1) { value = msg.alpha + MSGSPEED; } else { value = msg.alpha - MSGSPEED; } msg.alpha = value; msg.style.opacity = (value / 100); msg.style.filter = 'alpha(opacity=' + value + ')'; if(value >= 99) { clearInterval(msg.timer); msg.timer = null; } else if(value <= 1) { msg.style.display = "none"; clearInterval(msg.timer); document.body.removeChild(msg); } } // hide the form alert // function hideMsg(msg) { var msg = document.getElementById('msg'); if(!msg.timer) { msg.timer = setInterval("fadeMsg(0)", MSGTIMER); } } // face the message box // function fadeMsg(flag) { if(flag == null) { flag = 1; } var msg = document.getElementById('msg'); var value; if(flag == 1) { value = msg.alpha + MSGSPEED; } else { value = msg.alpha - MSGSPEED; } msg.alpha = value; msg.style.opacity = (value / 100); msg.style.filter = 'alpha(opacity=' + value + ')'; if(value >= 99) { clearInterval(msg.timer); msg.timer = null; } else if(value <= 1) { msg.style.display = "none"; clearInterval(msg.timer); } } // calculate the position of the element in relation to the left of the browser // function leftPosition(target) { var left = 0; if(target.offsetParent) { while(1) { left += target.offsetLeft; if(!target.offsetParent) { break; } target = target.offsetParent; } } else if(target.x) { left += target.x; } return left; } // calculate the position of the element in relation to the top of the browser window // function topPosition(target) { var top = 0; if(target.offsetParent) { while(1) { top += target.offsetTop; if(!target.offsetParent) { break; } target = target.offsetParent; } } else if(target.y) { top += target.y; } return top; } // preload the arrow // if(document.images) { arrow = new Image(7,80); arrow.src = "images/msg_arrow.gif"; } function getObjVars(){ this.fieldN = new Array(); // Field name this.fieldI = new Array(); // Field Id this.fieldT = new Array(); // Field type (text, editor, checkbox, radio, select, mselect, date) this.fieldV = new Array(); // Error message to be dispayed this.fieldCF = new Array(); // Check for equal field this.fieldCV = new Array(); // To check if field value is equal to a specific value. Give error if field value <> specified value this.fieldCVE = new Array(); // To check if field value is equal to a specific value. Give error if field value == specified value this.fieldCM = new Array(); // Error message to be displayed after comparing two fields this.fieldFocus = new Array(); // Set focus to this field, always give the ID of the field this.setFocus = new Array(); // whether to set focus to this field, if not specified it takes as 'yes' this.fieldValidate = new Array(); // this is specially used if you want to validate the field this.fieldValidateMsg = new Array(); // message } function validateForm(formN, objvar){ var errobjvar = new getObjVars(); var k=0; var err = ""; var frmObj = eval("document." + formN); for(var i=0; i= 0)) { if(!checkEmail(frmElm.value)) { // inlineMsg(objvar.fieldI[i],'Please enter valid email address',3,objvar.fieldFocus[i],objvar.setFocus[i]); // return false; errobjvar.fieldN[k] = objvar.fieldN[i]; errobjvar.fieldV[k] = objvar.fieldV[i]; errobjvar.fieldT[k] = objvar.fieldT[i]; errobjvar.fieldI[k] = objvar.fieldI[i]; errobjvar.fieldFocus[i] = objvar.fieldFocus[i]; k++; }else if (objvar.fieldValidate[i]){ // inlineMsg(objvar.fieldI[i],objvar.fieldValidateMsg[i],3,objvar.fieldFocus[i],objvar.setFocus[i]); // return false; errobjvar.fieldN[k] = objvar.fieldN[i]; errobjvar.fieldV[k] = objvar.fieldV[i]; errobjvar.fieldT[k] = objvar.fieldT[i]; errobjvar.fieldI[k] = objvar.fieldI[i]; errobjvar.fieldFocus[i] = objvar.fieldFocus[i]; k++; } }else if(objvar.fieldCF[i]){ var frmCElm = eval("frmObj." + objvar.fieldCF[i]); if(frmElm.value != frmCElm.value){ // inlineMsg(objvar.fieldI[i],objvar.fieldCM[i],3,objvar.fieldFocus[i],objvar.setFocus[i]); // return false; errobjvar.fieldN[k] = objvar.fieldN[i]; errobjvar.fieldV[k] = objvar.fieldV[i]; errobjvar.fieldT[k] = objvar.fieldT[i]; errobjvar.fieldI[k] = objvar.fieldI[i]; errobjvar.fieldFocus[i] = objvar.fieldFocus[i]; k++; } }else if(objvar.fieldCV[i]){ if(frmElm.value != objvar.fieldCV[i]){ // inlineMsg(objvar.fieldI[i],objvar.fieldCM[i],3,objvar.fieldFocus[i],objvar.setFocus[i]); // return false; errobjvar.fieldN[k] = objvar.fieldN[i]; errobjvar.fieldV[k] = objvar.fieldV[i]; errobjvar.fieldT[k] = objvar.fieldT[i]; errobjvar.fieldI[k] = objvar.fieldI[i]; errobjvar.fieldFocus[i] = objvar.fieldFocus[i]; k++; } }else if(objvar.fieldCVE[i]){ if (frmElm.value == objvar.fieldCVE[i]){ var dis_msg = (objvar.fieldCM[i]) ? objvar.fieldCM[i] : objvar.fieldV[i]; // inlineMsg(objvar.fieldI[i],dis_msg,3,objvar.fieldFocus[i],objvar.setFocus[i]); // return false; errobjvar.fieldN[k] = objvar.fieldN[i]; errobjvar.fieldV[k] = objvar.fieldV[i]; errobjvar.fieldT[k] = objvar.fieldT[i]; errobjvar.fieldI[k] = objvar.fieldI[i]; errobjvar.fieldFocus[i] = objvar.fieldFocus[i]; k++; } }else if (objvar.fieldValidateMsg[i] == 1){ alert('here'); var dis_msg = (objvar.fieldValidateMsg[i]) ? objvar.fieldValidateMsg[i] : objvar.fieldV[i]; // inlineMsg(objvar.fieldI[i],dis_msg,3,objvar.fieldFocus[i],objvar.setFocus[i]); // return false; errobjvar.fieldN[k] = objvar.fieldN[i]; errobjvar.fieldV[k] = objvar.fieldV[i]; errobjvar.fieldT[k] = objvar.fieldT[i]; errobjvar.fieldI[k] = objvar.fieldI[i]; errobjvar.fieldFocus[i] = objvar.fieldFocus[i]; k++; } } if(objvar.fieldT[i] == "radio"){ var frmElm = eval("frmObj." + objvar.fieldN[i]); var checkedI = false; var tol_options = frmElm.length; for(var j=0; j< frmElm.length; j++) { if(frmElm[j].checked == true) { checkedI = true; } } if(checkedI === false) { // inlineMsg(objvar.fieldI[i],objvar.fieldV[i],3,objvar.fieldFocus[i],objvar.setFocus[i]); // return false; errobjvar.fieldN[k] = objvar.fieldN[i]; errobjvar.fieldV[k] = objvar.fieldV[i]; errobjvar.fieldT[k] = objvar.fieldT[i]; errobjvar.fieldI[k] = objvar.fieldI[i]; errobjvar.fieldFocus[i] = objvar.fieldFocus[i]; k++; } } if(objvar.fieldT[i] == "checkbox"){ var frmElm = eval("frmObj." + objvar.fieldN[i]); if(frmElm.checked == false) { // inlineMsg(objvar.fieldI[i],objvar.fieldV[i],3,objvar.fieldFocus[i],objvar.setFocus[i]); // return false; errobjvar.fieldN[k] = objvar.fieldN[i]; errobjvar.fieldV[k] = objvar.fieldV[i]; errobjvar.fieldT[k] = objvar.fieldT[i]; errobjvar.fieldI[k] = objvar.fieldI[i]; errobjvar.fieldFocus[i] = objvar.fieldFocus[i]; k++; } } if(objvar.fieldT[i] == "validate"){ var frmElm = eval("frmObj." + objvar.fieldN[i]); // inlineMsg(objvar.fieldI[i],objvar.fieldV[i],3,objvar.fieldFocus[i],objvar.setFocus[i]); // return false; errobjvar.fieldN[k] = objvar.fieldN[i]; errobjvar.fieldV[k] = objvar.fieldV[i]; errobjvar.fieldT[k] = objvar.fieldT[i]; errobjvar.fieldI[k] = objvar.fieldI[i]; errobjvar.fieldFocus[i] = objvar.fieldFocus[i]; k++; } } var rt = printAllAndReturn(errobjvar, objvar); return rt; } function printAllAndReturn(errobj, objvar){ if(errobj.fieldN.length<=0){ return true; } for(var k=0;k<14;k++){ if(document.getElementById('msg_'+k)!= null){ document.body.removeChild(document.getElementById('msg_'+k)); } } for(var m=0; m= 0) && (chkDot >= 0) && (chkHack == -1) && (chkHackA == -1) ) { return true; } return false; } function demo(){ var objVar = new getObjVars(); objVar.fieldN[0] = "demofieldName1"; objVar.fieldV[0] = "demofield1 error message to be displayed"; objVar.fieldT[0] = "text"; objVar.fieldI[0] = "demofieldId1"; objVar.fieldN[1] = "demofieldName2"; objVar.fieldV[1] = "demofield2 error message to be displayed"; objVar.fieldT[1] = "text"; objVar.fieldI[1] = "demofieldId2"; return validateForm('formName',objVar); }