function email(fldname,minlength,maxlength,msg,required){
indx = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-@.";
str = fldname.value;

if(required == 'Y'){
if(str.length == 0){
alert("please enter "+msg+".");
fldname.focus();
return false;
}
}

if(str.length > maxlength){
alert(msg+" allowed maximum "+maxlength+" characters.");
fldname.focus();
return false;
}

if(str.length > 0){
for(i=0;i<str.length;i++){
if(indx.indexOf(str.charAt(i)) < 0){

alert("invalid "+msg+".");
fldname.focus();
return false;
}
}

if((str.indexOf('@') < 0) || (str.indexOf('.') < 0)){
alert("invalid "+msg+".");
fldname.focus();
return false;

}

if((str.charAt(0) == '@') || (str.charAt(0) == '.')){
alert("invalid "+msg+".");
fldname.focus();
return false;
}

if((str.charAt(str.length-1) == '@') || (str.charAt(str.length-1) == '.')){
alert("invalid "+msg+".");
fldname.focus();
return false;
}

if((str.indexOf('@@') >= 0) || (str.indexOf('..') >= 0)){
alert("invalid "+msg+".");
fldname.focus();
return false;
}

if((str.indexOf('@.') >= 0) || (str.indexOf('.@') >= 0)){
alert("invalid "+msg+".");
fldname.focus();
return false;
}

flag = 0;
for(i=0;i<str.length;i++){
if(str.charAt(i) == '@')
flag++;
}

if(flag > 1){
alert("invalid "+msg+".");
fldname.focus();
return false;
}
}
return true;
}
