function trim(str, chars) { return ltrim(rtrim(str, chars), chars); } function ltrim(str, chars) { chars = chars || "\\s"; return str.replace(new RegExp("^[" + chars + "]+", "g"), ""); } function rtrim(str, chars) { chars = chars || "\\s"; return str.replace(new RegExp("[" + chars + "]+$", "g"), ""); } function formValidation(){ this.formName = ""; this.fieldName = new Array(); // Field name this.fieldMessage = new Array(); // Field value this.compareFields = new Array(); //Syntax should be "FieldOne==FieldTwo" this.compareMessage = new Array(); this.checkExists = new Array(); this.emailValidation = new Array(); this.InitForm = InitForm; this.validatForm = validatForm; this.showInlineMsg = showInlineMsg; this.hideInlineMessage = hideInlineMessage; this.positionInlineMsg = positionInlineMsg; this.setFocus = false; this.inlineMsg = ""; this.admin = false; } function hideInlineMessage(fieldName){ var bodyObj = document.getElementsByTagName("body")[0]; var divObj = document.getElementById('inlineErr' + fieldName); if(divObj){ bodyObj.removeChild(divObj); } } function fadeInlineMsg(fieldName) { var divObj = document.getElementById('inlineErr' + fieldName); if(!divObj.value){ divObj.value = 0; } divObj.value = parseInt(divObj.value + 10); if(divObj.value == 100){ clearInterval(divObj.timer); } divObj.style.filter = "Alpha(Opacity=" + divObj.value + ")"; //for IE alert(divObj.style.filter); divObj.style.opacity = divObj.value/100; //for FF } function positionInlineMsg(fieldName,divObj){ var fieldObj = document.getElementById(fieldName); var usePosX = 0; var usePosY = 0; usePosY = -4; switch(fieldName){ case "seniority": case "business_sector": case "country_id1": case "legal_expertise": case "languages": var hiddenObj = document.getElementById(fieldName+'_Key'); var splitArr = hiddenObj.value.split('||'); var fieldObj = document.getElementById(fieldName + '-' + splitArr[0] + '-cb'); usePosX = parseInt(348); break; default: var fieldObj = document.getElementById(fieldName); if(fieldObj){ if(fieldObj.type=='select-one'){ usePosY = 0; usePosX = parseInt(fieldObj.offsetWidth + 4); }else{ usePosX = parseInt(fieldObj.offsetWidth + 10); } } break; } if(fieldObj){ var posX = findPosX(fieldObj); var posY = findPosY(fieldObj); divObj.style.left = parseInt(posX + usePosX) + 'px'; divObj.style.top = parseInt(posY + usePosY) + 'px'; if(!this.setFocus){ fieldObj.focus(); this.setFocus = true; } } } function showInlineMsg(){ var bodyObj = document.getElementsByTagName("body")[0]; var msgSplit = this.inlineMsg.split("##"); this.setFocus = false; for(var i=0;i<(msgSplit.length)-1;i++){ var msg = msgSplit[i].split('||'); var fieldName = msg[0]; var fieldMsg = msg[1]; if(msgSplit.length==2 && document.getElementById(fieldName).type=='file'){ document.getElementById('code').focus(); } var divObj = document.createElement('DIV'); divObj.id = 'inlineErr' + fieldName; divObj.style.position = 'absolute'; divObj.zIndex = (msgSplit.length - i); var tblObj = document.createElement('TABLE'); var rowObj = tblObj.insertRow(0); var colObj = rowObj.insertCell(0); colObj.width = 5; colObj.vAlign = "top"; colObj.innerHTML = ""; rowObj.appendChild(colObj); var colObj = rowObj.insertCell(1); colObj.style.color = "#ffffff"; colObj.style.backgroundColor = "#000000"; colObj.style.paddingLeft = "5px"; colObj.style.paddingRight = "3px"; colObj.style.paddingTop = "3px"; colObj.style.paddingBottom = "3px"; colObj.style.textAlign = "left"; colObj.innerHTML = fieldMsg; rowObj.appendChild(colObj); tblObj.appendChild(rowObj); var fieldObj = document.getElementById(fieldName); this.positionInlineMsg(fieldName,divObj); divObj.innerHTML = "" + tblObj.innerHTML + "
"; bodyObj.appendChild(divObj); // divObj.style.filter = "Alpha(Opacity=0)"; //for IE // divObj.style.opacity = "0.0"; //for FF // divObj.timer = setInterval("fadeInlineMsg('" + fieldName + "')", 1); } } function InitForm(){ var frmObj = eval("document." + this.formName); var eleLen = frmObj.elements.length; for(var i=0;i= 0) && (chkDot >= 0) && (chkHack == -1) && (chkHackA == -1) && (chkwhiteSpace==-1)) { return true; } return false; } function validatForm(){ var frmObj = eval("document." + this.formName); this.inlineMsg = ""; var leftBlank = false; var emailErr = ""; var cmpErr = ""; var existErr = ""; var buttonObj = document.getElementById('buttonclicked'); var btn =''; var validateFld = false; if (buttonObj){ btn = buttonObj.value; } for(var i in this.fieldName){ var fieldName = this.fieldName[i]; var fieldMessage = this.fieldMessage[i]; var fieldObj = eval('frmObj.'+ fieldName); if (btn == 'savepartial'){ if ( (fieldName != 'email') && (fieldName != 'password') && (fieldName != 'repassword')&& (fieldName != 'code')&& (fieldName != 'terms')) { validateFld = false; hideInlineMessage(fieldName); leftBlank = false; }else{ validateFld = true; } }else{ validateFld = true; } if (validateFld){ switch(fieldName){ case "seniority": case "business_sector": case "country_id1": case "legal_expertise": case "languages": var hiddenField = eval ('frmObj.' + fieldName + '_Key'); if(hiddenField){ var splitArr = hiddenField.value.split('||'); var totLen = (splitArr.length-1); for(var x=0;x -1){ var fieldObj = document.getElementById(fieldName); if(fieldObj){ leftBlank = (trim(fieldObj.value)=="") ? true : false; } }else{ leftBlank = false; } }else{ leftBlank = false; } break; case "terms": var fieldObj = document.getElementById(fieldName); if(fieldObj){ if(fieldObj.checked==false){ leftBlank = true; }else{ leftBlank = false; break; } } break; default: var fieldObj = document.getElementById(fieldName); if(fieldObj){ leftBlank = (trim(fieldObj.value)=="") ? true : false; }else{ leftBlank = false; } //To check whether email address is valid or Invalid if(!leftBlank && (this.emailValidation[i])){ if(!validateEmailField(fieldObj.value)){ fieldMessage = "Invalid email address." ; leftBlank = true; } } //To check whether two field match each other if(!leftBlank && (this.compareFields[i])){ var fieldSplit = this.compareFields[i].split('=='); var fieldOne = document.getElementById(fieldSplit[0]); var fieldTwo = document.getElementById(fieldSplit[1]); if((fieldOne && fieldTwo) && (fieldOne.value!="" && fieldTwo.value!="")){ if(trim(fieldOne.value)!=trim(fieldTwo.value) || fieldOne.value==""){ fieldMessage = this.compareMessage[i]; leftBlank = true; } } } break; } } hideInlineMessage(fieldName); if(leftBlank){ this.inlineMsg += fieldName + "||" + fieldMessage + "##"; } } // check the social network urls if entered var linksArr = new Array(); linksArr[0] = 'linkedin'; linksArr[1] = 'ladders'; linksArr[2] = 'spokes'; for (i in linksArr){ fieldName = linksArr[i]; var linkedObj = document.getElementById(fieldName); if ( (linkedObj) && (linkedObj.value.length > 0)){ if (!isUrl(linkedObj.value)){ fieldMessage = "Please enter valid URL"; hideInlineMessage(fieldName); this.inlineMsg += fieldName + "||" + fieldMessage + "##"; } } } //Checking if email address already exist if(this.inlineMsg){ this.showInlineMsg(); return false; } return true; } function isUrl(url){ var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ return regexp.test(url); }