// JavaScript Document
//Changes done by Sapna
//Updated Bhadra's Regular Expression for name validation with /^([A-Za-z]+\'?[A-Za-z]*)[\d]{0,10}$/
var W3CDOM = (document.getElementsByTagName && document.createElement);
var fldsarr;
var msgsarr;
var msgtype;
var errors;
function DomValidate(flds,msgs)
{
this.fldsarr = flds;
this.msgsarr = msgs;
this.validateForm=validateForm;
this.validatetype = validatetype;
this.writeError = writeError;
this.removeError = removeError;
this.name = name;
this.trim = trim; //AG
this.nsname = nsname;
this.phno=phno;
this.required = required;
this.errors=errors;
this.msgtype=msgtype;
this.writeErrors = writeErrors;
this.email = email;
this.usphone = usphone;
this.url = url;
this.ip = ip;
this.mobile = mobile;
this.postcode = postcode;
this.number = number;
this.namelen = namelen;
}
function validateForm(frmname)
{
var status;
validForm = true;
firstError = null;
errorstring = '';
this.errors = '';
status = true;
for (var i=0;i";
}
}
else
{
errorstring += obj.name + ': ' + message + '\n';
obj.hasError = true;
}
if (!firstError)
firstError = obj;
}
function writeErrors(message)
{
var oElement;
oElement=document.getElementById("showallerrors");
oElement.innerHTML=message;
oElement.className = 'error';
var iElement;
//iElement=document.getElementById("showerrimg");
//iElement.innerHTML="
";
}
function removeError()
{
//this.className = this.className.substring(0,this.className.lastIndexOf(' '));
var oElement;
//oElement=document.getElementById("showerrimg");
//oElement.innerHTML="
";
this.parentNode.removeChild(this.hasError);
this.hasError = null;
this.onchange = null;
}
/* Validation functions start here..... */
function email(obj,msg)
{
if (obj.value)
{
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(obj.value))
{
return true;
}else
{
if(!msg)
this.writeError(obj,'Please enter a valid email address');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
function phno(obj,msg)
{ if(obj.value)
{
if (/^(\+?\d{2}\s?)?\(\d{2}\)\s?\d{4}\s?\d{4}$/.test (obj.value))
{
return true;
}
else
{
if (/^(\+?\d{2}\s?)?\[\d{2}\]\s?\d{4}\s?\d{4}$/.test (obj.value))
{
return true;
}
else
{
if (/^(\+?\d{2}\s?)?\d{2}\s?\d{4}\s?\d{4}$/.test (obj.value))
{
return true;
}
else
{
if (/^((\(?\d+\)?\s?\(?\d*\)?)+)$/.test (obj.value))
{
return true;
}
else
{
if(!msg)
this.writeError(obj,'Please enter a valid US Phone Number');
else this.writeError(obj,msg);
}
}return false;
}
}
}
return true;
}
function name(obj,msg)
{ if(obj.value)
{
//(/^([A-Za-z]+\'?[A-Za-z]*)[\d]{0,10}$/.test(obj.value))
if(/^(([A-Za-z]+\s?\'?[A-Za-z]*)\s?)+[\d]{0,10}$/.test(obj.value))
{
return true;
}
else
{
if(!msg)
this.writeError(obj,'Please enter a valid name');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
/* to check whether name is atleast nore than 2 chars */
function namelen(obj,msg)
{ if(obj.value)
{
if(obj.value.length>2)
{
return true;
}
else
{
if(!msg)
this.writeError(obj,'Please enter a valid name');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
function nsname(obj,msg)
{ if(obj.value)
{
if(/^[a-z\']+$/i.test(obj.value))
{
return true;
}
else
{
if(!msg)
this.writeError(obj,'Please enter a valid name');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
function usphone(obj,msg)
{
if (obj.value)
{
if (/^(\+?\d{2}\s?)?\([1-9]\d{2}\)\s?\d{3}\-?\d{4}$/.test (obj.value))
{
return true;
}
else
{
if (/^(\+?\d{2}\s?)?\[[1-9]\d{2}\]\s?\d{3}\-?\d{4}$/.test (obj.value))
{
return true;
}
else
{
if (/^(\+?\d{2}\s?)?[1-9]\d{2}\s?\d{3}\-?\d{4}$/.test (obj.value))
{
return true;
}
else
{
if(!msg)
this.writeError(obj,'Please enter a valid US Phone Number');
else this.writeError(obj,msg);
return false;
}
}
}
}
return true;
}
function url(obj,msg)
{
if (obj.value)
{
if (/^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([\w]+)(.[\w]+){1,2}$/.test (obj.value))
{
return true;
}else
{
if(!msg)
this.writeError(obj,'Please enter a valid URL');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
function ip(obj,msg)
{
if (obj.value)
{
if ((obj.value != "0.0.0.0") && (obj.value != "255.255.255.255"))
{
if (/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.test (obj.value))
{
return true;
}
else
{
if(!msg)
{
this.writeError(obj,'Please enter a valid IP Address');
}
else
{
this.writeError(obj,msg);
}
return false;
}
}
else
{
if(!msg)
this.writeError(obj,'Please enter a valid IP Address');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
function mobile(obj,msg)
{
if (obj.value)
{
if (!(isNaN(obj.value)) && (obj.value.length>9))
{
return true;
}else
{
if(!msg)
this.writeError(obj,'Please enter a valid mobile number');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
function postcode(obj,msg)
{
if (obj.value)
{
if (!isNaN(obj.value) && obj.value.length>3)
{
return true;
}else
{
if(!msg)
this.writeError(obj,'Please enter a valid postcode');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
function number(obj,msg)
{
if (obj.value)
{
if (!isNaN(obj.value))
{
return true;
}else
{
if(!msg)
this.writeError(obj,'Please enter a valid Number');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
function checkfile(obj,msg)
{
if (obj.value)
{
if (/^[\w+\s*]+.[pdf|doc|txt|jpg|gif]+/i.test (obj.value))
{
return true;
}else
{
if(!msg)
this.writeError(obj,'Invalid File Extension');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
//function to trim the spaces ->AG
function trimAll(sString)
{
while (sString.substring(0,1) == ' ')
{
sString = sString.substring(1, sString.length);
}
while (sString.substring(sString.length-1, sString.length) == ' ')
{
sString = sString.substring(0,sString.length-1);
}
return sString;
}
// Removes leading and ending whitespaces ->AG
function trim(obj,msg)
{
if(obj.value)
{
if(trimAll(obj.value) != "")
{
return true;
}
else
{
if(!msg)
this.writeError(obj,'Please enter your name');
else this.writeError(obj,msg);
return false;
}
}
return true;
}
/* google toolbar fix [no way related to the class] --ny */
if(window.attachEvent)
window.attachEvent("onload",setListeners);
function setListeners(){
inputList = document.getElementsByTagName("INPUT");
for(i=0;i