		function validate( ) {
			var strError = ""; 
			strError = validateInput(strError);
			if(strError != ""){
				onLoad();
				alert(strError);
				return false;
			}
			
		}
		
		function onLoad(){
			resetValues();
		}
		
		function validateText(strName, required, fname){
			var strError = "";
			var f = document.getElementById(strName);
			strError += validateRequired(f, required, fname);
			return strError;
		}
		
		function resetDate(strName){
			try{
				try{
					var f = document.getElementById(strName);
					var dt = new Date(parseInt(f.value));
					if(!(dt.valueOf() > -1)){
						return;
					}
					var strDate = dt.toLocaleDateString();
					f.value = strDate.substring((strDate.indexOf(',')+2));
					return true;
				}catch(e){
					delete e;
					f.value = "";
				}
			}catch(e2){
				delete e2;
			}
		}
		
		function validateDate(strName, required, fname){
			var strError = "";
			var f = document.getElementById(strName);
			strError += validateRequired(f, required, fname);
			if(isDateValid(f, strName) == false){
				strError += "Invalid Date Format";
			}
			return strError;
		}
		
		function isDateValid(datefield, strName){
			try{
				var dt = new Date(datefield.value);
				if(!(dt.valueOf() > -1)){
					return false;
				}
				datefield.value = dt.valueOf();
				return true;
			}catch(e){
				delete e;
				return false;
			}
		}
		
		function validateEmail(strName, required, fname){
			var strError = "";
			var f = document.getElementById(strName);
			strError += validateRequired(f, required, fname);
			if(strError == ""){
				if(f.value == ""){
					return ""; // empty email when email not required
				}
				if(isEmailValid(f) == false){
					strError += "Invalid Email Address Format";
				}
			}
			return strError;
		}
		
		function isEmailValid( emailfield ) {
			var Temp     = emailfield;
			var AtSym    = Temp.value.indexOf('@');
			var Period   = Temp.value.lastIndexOf('.');
			var Space    = Temp.value.indexOf(' ');
			var Length   = Temp.value.length - 1 ;  // Array is from 0 to length-1

			if ((AtSym < 1) ||                     // '@' cannot be in first position
					(Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
					(Period == Length ) ||             // Must </div>be atleast one valid char after '.'
					(Space  != -1))                    // No empty spaces permitted
				{  
						return false;
						// Temp.focus()
				}
				
			var aBang = Temp.value.indexOf('!');
			var aPound = Temp.value.indexOf('#');   
			var aDollar = Temp.value.indexOf('$');   
			var aPercent = Temp.value.indexOf('%');   
			var aCarat = Temp.value.indexOf('^');   
			var aApersand = Temp.value.indexOf('&');        
			var aAsterisk = Temp.value.indexOf('*');   
			var aLparen = Temp.value.indexOf('(');   
			var aRparen = Temp.value.indexOf(')');   
			var aPlus = Temp.value.indexOf('+');   
			var aEqual = Temp.value.indexOf('=');   
			var aSlash = Temp.value.indexOf('/');
			var aQuestion = Temp.value.indexOf('?');   
			var aLcurly = Temp.value.indexOf('{');   
			var aRcurly = Temp.value.indexOf('}');   
			var aLbracket = Temp.value.indexOf('[');   
			var aRbracket = Temp.value.indexOf(']');   
			var aSum = ( aBang + aPound + aDollar + aPercent + aCarat + aApersand + aAsterisk + aLparen + aRparen + aPlus +	aEqual + aSlash + aQuestion + aLcurly + aRcurly + aLbracket + aRbracket );
			
			if ( aSum > -17 ) 
			{
				return false; 	
			}
			return true;
		}


		function validateComments(strName, required, fname){
			var strError = "";
			/*var f = document.getElementById(strName);
			strError += validateRequired(f, required, fname);
			if(strError == ""){
				if(f.value == ""){
					return ""; // empty comments when comments not required
				}
			}
			var regex = /[a-zA-Z'.,!@#$%^&*-_+=\s]/;
			if(!regex.test(f.value)){
				strError += "Invalid Character in Comments, please use only standard keyboard characters without brackets tabs and quotes.";
			}
			*/
			return strError;
		}
		
		function validateTextareaLength(f, iLength){
			if(f.value.length > iLength){
			  f.value = f.value.substr(0,iLength); 
			 }
		}

		
		function validateRequired(f, required, fname){
			if(required){
				if(f.value == ""){
					return fname + " required." + "\n";
				}
			}
			return "";
		}
		

		
		
