/*************************************************************** * validation_email.js - RedDot Solutions * * Revision: 1.1.0 (August 24, 2007) * Requires jQuery JavaScript * * Description: validate "email a friend" form * ***************************************************************/ /*=========================================== * DOCUMENT READY ACTIONS *===========================================*/ $(document).ready(function() { // bind form using ajaxForm $('#frm_email_page').ajaxForm({ beforeSubmit: checkFields, success: function(responseText, statusText) { // should not run } }); }); /*=========================================== * FUNCTIONS *===========================================*/ //New function added, 18 Mar 2009, Remedy INC000000017736. Email Spam function userValidation() { var numString, userString; numString = a+""+b+""+c+""+d; userString=document.getElementById("userString").value; if(userString == numString) { return true; } else { $("label#label_userString").addClass("error"); return false; } } function checkMessageText() { // 22Jan,2008, artf#851260 // var patternText01 = /^([\?\&\s\t\!\"\:\;\(\)\*\+\,\.\@\[\]\|a-zA-Z0-9_-]){0,}$/ var patternText02=/\&/ var patternText03=/([(s|S)(m|M)(i|I)(t|T)(h|H)][\s][\&][\s][(n|N)(e|E)(p|P)(h|h)(e|E)(w|W)]){1}/ // 22Jan,2008, artf#851260 if (document.frm_email_page.message.value.indexOf('<')==-1 && document.frm_email_page.message.value.indexOf('>')==-1) // if (document.frm_email_page.message.value.search(patternText01)!=-1) { if (document.frm_email_page.message.value.search(patternText02)!=-1) { var str1 =document.frm_email_page.message.value.split(patternText02); var lastchar=document.frm_email_page.message.value.charAt((document.frm_email_page.message.value.length)-1); var firstchar=document.frm_email_page.message.value.charAt(0); var l=str1.length; // Comment : Internationlization dev Remeady# INC00000062086 var rightMsg=(document.getElementById('rightMsg').innerHTML).toUpperCase(); var leftMsg=(document.getElementById('leftMsg').innerHTML).toUpperCase(); var rightMsgLength=rightMsg.length; var leftMsgLength=leftMsg.length; if(l > 0) { if((l%2!=0) || (lastchar=='&') || (firstchar=='&')) { document.getElementById("message").style.color="red"; document.getElementById("message").style.border="1px solid #ff0000"; return false; } var i=0; for(;ileftMsgLength && l2 >rightMsgLength) { str2=str2.substring((l1-leftMsgLength-1),(l1-1)); str3=str3.substring(1,rightMsgLength+1); if(str2==leftMsg && str3==rightMsg) { continue; } else { document.getElementById("message").style.color="red"; document.getElementById("message").style.border="1px solid #ff0000"; return false; } } else { document.getElementById("message").style.color="red"; document.getElementById("message").style.border="1px solid #ff0000"; return false; } } document.getElementById("message").style.color= '#747170'; document.getElementById("message").style.border='none'; document.getElementById("message").style.border='1px solid #666666'; return true; } } else { document.getElementById("message").style.color= '#747170'; document.getElementById("message").style.border='none'; document.getElementById("message").style.border='1px solid #666666'; return true; } } else { document.getElementById("message").style.color="red"; document.getElementById("message").style.border="1px solid #ff0000"; return false; } } function checkFields(formData, jqForm, options) { var params = {}; var isSuccess = false; $("//*[@rules]").each(function(){ setParams(params, this); }); $("div#email_buttons").hide(); $("div#validation_loading").show(); //alert("ajax call"); $.ajax({ type: "POST", url: "/cps/rde/xchg/SID-3F57371B-2E4B9F39/smithnephewls/validation.xsl/validation.xml", data: params, async: false, success: function(xml){ //alert("ajax success"); isSuccess = displayErrors(xml); } }); //alert("isSuccess= "+isSuccess); //Code changes, 18 Mar 2009, Remedy INC000000017736. Email Spam, starts var result; result = userValidation(); if (isSuccess && result == true){ // /cps/rde/xchg/SID-3F57371B-2E4B9F39/smithnephewls/hs/email-a-friend.xml $.post("/cps/rde/xchg/SID-3F57371B-2E4B9F39/smithnephewls/hs/emailafriend.xml",formData); var msgSuccess=""+document.getElementById('successMsg').innerHTML+"."; alert(msgSuccess); hideEmail(); }else if(!isSuccess){ var msgError=""+document.getElementById('failureMsg').innerHTML+"."; alert(msgError); } else if(result != true){ alert(visitorErrorMsg); } //Code changes, 18 Mar 2009, Remedy INC000000017736. Email Spam, ends return false; } function checkField(element) { var params = {}; setParams(params, element); $.get("/cps/rde/xchg/SID-3F57371B-2E4B9F39/smithnephewls/validation.xsl/validation.xml", params, function(xml){ displayErrors(xml); }); } function setParams(params, element) { var field = $(element).attr("name"); params[field] = $("#" + field).val(); var part = field + "|" + $(element).attr("rules"); if (params["validate-config"] != "") { params["validate-config"] += ";"; } params["validate-config"] += part; } function displayErrors(xml) { var totalErrors = 0; $("field",xml).each(function(){ var name = $(this).attr("name"); var errors = ""; $("rule[@code!='0']",this).each(function(){ errors += $(this).text() + "
"; }); if (errors != ""){ totalErrors++; $("label#label_" + name).addClass("error"); //$("div#error_" + name).html(errors); } else{ $("label#label_" + name).removeClass("error"); //$("div#error_" + name).html(""); } }); if(!checkMessageText()){ if(totalErrors==0) totalErrors++; } //alert("totalErrors="+totalErrors); $("div#email_buttons").show(); $("div#validation_loading").hide(); if (totalErrors == 0){ //alert("submit form"); //$("form")[0].submit(); return true; }else{ return false; } }