function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function popup()
{
 var width  = 325;
 var height = 100;
 var left   = (screen.width  - width)/2;
 var top    = (screen.height - height)/2;
 var params = 'width='+width+', height='+height;
 params += ', top='+top+', left='+left;
 params += ', directories=no';
 params += ', location=no';
 params += ', menubar=no';
 params += ', resizable=no';
 params += ', scrollbars=no';
 params += ', status=no';
 params += ', toolbar=no';
 my_window=window.open("",'mywindow1', params);
 my_window.document.write('<div align="center">Thank you! Your comment has been submitted.</div><br />');
 my_window.document.write('<div align="center"><FORM><INPUT TYPE="button" VALUE="Close Window" onClick="window.close()"></FORM></div>')
 my_window.document.title="Thank You!";
}

function verify()
{
	if(document.form.name.value==""){	
	}
	if(document.form.subject.value=="Subject" || document.form.subject.value==""){
	}
	if(document.form.email.value==""){
	}
	else {
	popup();
	}
}

function FormValidator(formNode){
	this.errorMessage="";
	this.formNode=formNode;
}

FormValidator.prototype={addRule:function(fieldName,message,validatorType,args){
	validatorType=validatorType.toLowerCase(validatorType);
	var element=this.formNode[fieldName];
	if(element!=null){
		switch(validatorType){case"required":this.required(element,message);
		break;
		case"rangelength":this.rangelength(element,message,args[0],args[1]);
		break;
		case"rangevalues":this.rangevalues(element,message,args[0],args[1]);
		break;
		case"numeric":this.numeric(element,message);
		break;
		case"positivenumber":this.positivenumber(element,message);
		break;
		case"integer":this.integer(element,message);
		break;
		case"positiveinteger":this.positiveinteger(element,message);
		break;
		case"lettersonly":this.lettersonly(element,message);
		break;
		case"zipcode":this.zipcode(element,message);
		break;
		case"email":this.email(element,message);
		break;
		case"ischecked":this.ischecked(element,message);
		break;
		case"compare":var elementPivot=this.formNode[args];
		if(elementPivot!=null)this.compare(element,message,elementPivot);
		break;
		case"creditcard":this.creditcard(element,message);
		break;
		case"expression":this.expression(element,message,args);
		break;
		default:}}}
		,markField:function(element,bg_color,border_color){
			if(element.length){for(var j=0;j<element.length;j++){
				element[j].style.backgroundColor=bg_color;element[j].style.borderColor=border_color;}
			}
			else{
				element.style.backgroundColor=bg_color;element.style.borderColor=border_color;}
			}
			,invalidField:function(element,message){
				this.markField(element,"#C24641","#C24641");
				this.errorMessage=this.errorMessage+message+"\n";
			}
			,required:function(element,message){
				if(!/\S/.test(element.value)){
					this.invalidField(element,message);
				}
			}
			,rangelength:function(element,message,minLength,maxLength){
				if((minLength!=null&&element.value.length<minLength)||(maxLength!=null&&element.value.length>maxLength)){
					this.invalidField(element,message);
					}
			}
			,rangevalues:function(element,message,minValue,maxValue){
				if((minValue!=null&&element.value<minValue)||(maxValue!=null&&element.value>maxValue)){
					this.invalidField(element,message);
				}
			}
			,numeric:function(element,message){
				if(!/^(-?(\d+\.?\d+)|(\d+)){1}$/.test(element.value)){
					this.invalidField(element,message);
				}
			}
			,positivenumber:function(element,message){
				if(!/^((\d+\.?\d+)|(\d+)){1}$/.test(element.value)){
					this.invalidField(element,message);
				}
			}
			,integer:function(element,message){
				if(!/^-?\d+$/.test(element.value)){
					this.invalidField(element,message);
				}
			}
			,positiveinteger:function(element,message){
				if(!/^\d+$/.test(element.value)){
					this.invalidField(element,message);
				}
			}
			,lettersonly:function(element,message){
				if(!/^[a-zA-Z]+$/.test(element.value)){
					this.invalidField(element,message);
				}
			}
			,zipcode:function(element,message){
				if(!/^\d{5}$/.test(element.value)){
					this.invalidField(element,message);
				}
			}
			,email:function(element,message){
				if(!/^\S+@\S+(\.\S+)*\.(\S{2,3}|info)$/i.test(element.value)||/[\(\)\<\>\,\;\:\\\"\[\]]/.test(element.value)){
					this.invalidField(element,message);
				}
			}
			,ischecked:function(element,message){
				var i=0,flag=false;if(element.length){
					while((i<element.length)&&!flag){
						if(element[i].checked==true)flag=true;i++;
					}
					if(!flag){for(var j=0;j<element.length;j++)this.markField(element[j],"#168289","#168289");
					this.invalidField(element[0],message);
				}
			}
			else{
				if(element.checked==false)this.invalidField(element,message);
			}
		}
		,compare:function(element,message,elementPivot){
			if(element.value!=elementPivot.value){
				this.markField(elementPivot,"#168289","#168289");
				this.invalidField(element,message);
			}
		}
		,expression:function(element,message,regularExpression){
			if(!regularExpression.test(element.value)){
				this.invalidField(element,message);
			}
		}
		,creditcard:function(element,message,regularExpression){
			var i;var transformString="";var sum=0;element.value=element.value.replace(/\D/g,"");var strLength=element.value.length;
			if(strLength>0){
				for(i=strLength;i>0;i--){
					if((strLength-i)%2!=0){transformString=transformString+parseInt(element.value.charAt(i-1),10)*2;
					}
					else{
					transformString=transformString+element.value.charAt(i-1);
					}
				}for(i=0;i<transformString.length;i++){
					sum=sum+parseInt(transformString.charAt(i),10);
				}
				if(sum==0||sum%10!=0)this.invalidField(element,message);}
				else this.invalidField(element,message);},
				validate:function(){
					if(this.errorMessage!=""){
						alert(this.errorMessage);return false;}return true;
					}
				};

 
function validate(formNode){
  var formValidatorInstance = new FormValidator(formNode);
  formValidatorInstance.addRule('FirstName','First Name is Required','required');
  formValidatorInstance.addRule('LastName','Last Name is Required','required');
  formValidatorInstance.addRule('email','A Valid Email Address is required','email');
  return formValidatorInstance.validate(); 
  
}