			function isValidEmail(email, required) {
				if (required==undefined) {   // if not specified, assume it's required
					required=true;
				}
				if (email==null) {
					if (required) {
						return false;
					}
					return true;
				}
				if (email.length==0) {  
					if (required) {
						return false;
					}
					return true;
				}
				if (! allValidChars(email,"abcdefghijklmnopqrstuvwxyz0123456789@.-_")) {  // check to make sure all characters are valid
					return false;
				}
				if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
					return false;
				} else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
					return false;
				} else if (email.indexOf("@") == email.length) {  // @ must not be the last character
					return false;
				} else if (email.indexOf("..") >=0) { // two periods in a row is not valid
				return false;
				} else if (email.indexOf(".") == email.length) {  // . must not be the last character
				return false;
				}
				return true;
			}

			function allValidChars(email,chars) {
			  var parsed = true;
			  var validchars = chars;
			  for (var i=0; i < email.length; i++) {
				var letter = email.charAt(i).toLowerCase();
				if (validchars.indexOf(letter) != -1)
				  continue;
				parsed = false;
				break;
			  }
			  return parsed;
			}
			
			function isValidDescription(descp){
				if((descp.replace(/^\s*/,"").replace(/\s*$/,""))==""){
					return false;
				}
				return true;
			}

			function isValidName(name){
				if((name.replace(/^\s*/,"").replace(/\s*$/,""))==""){
					return false;
				}else if(!allValidChars(name,"abcdefghijklmnopqrstuvwxyz '")){
					return false;
				}
				return true;
			}
			
			function isValidCourse(course){
				if((course.replace(/^\s*/,"").replace(/\s*$/,""))==""){
					return false;
				}
				return true;
			}
			
			function isValidPhoneNo(phone){
				if((phone.replace(/^\s*/,"").replace(/\s*$/,""))==""){
					return false;
				}else if(!allValidChars(phone,"0123456789-")){
					return false;
				}
				return true;
			}
			
			function validate(frm){
				var msg="";
				if(!isValidDescription(frm.descp.value)){
					msg+="Please write your comments\n";
				}
				if(!isValidName(frm.name.value)){
					msg+="Invalid Name Given\n";
				}
				if(!isValidEmail(frm.email.value)){
					msg+="Invalid email address\n";
				}
				if(!isValidCourse(frm.course.value)){
					msg+="Please select your course\n";
				}
				if(!isValidPhoneNo(frm.phone.value)){
					msg+="Invalid Phone Number\n";
				}
			 if(!isValidCity(frm.city.value)){
					msg+="Please select your city\n";
				}
				if(frm.imgtext.value==""){
					msg+="Image text invalid";
				}
				
				if(msg=="")
					return true;
				alert(msg);
				return false;
			}
