var msgBlank= " cannot be less than 5 char\'s or blank!";
var msgB= " can not be blank!";
var msgInvalidChar= " has some invalid characters!";
var msgReqChar= " requires chars only!";
var msgTotal = " Total characters in Firstname and Lastname should be minimum 5 and maximum 40!";
var msgDigit = " should be in digits only!";
var msgChar = " should be in char!";
var msgEmailTotal = " Total characters in email  should be minimum 7 and maximum 64!";
var msgCommentTotal = " Total characters in comment  should be more than 5 characters!";
var msgEmailInvalid = " missing some valid characters or it is in upper case!";
var msgSelect = " please select";
var msgLength = " number can not be blank and make sure that it is not more than 20 digits!";
var msgPhone=" entry's first character should be numeric!";
var msgEmailCompare = " Please verify your email address and submit again!";
var msgPasswordCompare = " Please verify your Password and submit again!";


//-------------------------------------------------------------------------------------
//-- VALIDATE - all elements of the form ----------------------------------------------
//-------------------------------------------------------------------------------------
function FormValidator(theForm){
	var flen=0;
	var llen=0;
	var qstate=false;
	var email="";
	var verifyemail="";

	//--------------------------------------------------------------------
	//-- For loop - START for all elements -------------------------------
	//--------------------------------------------------------------------
	for(j=0;j<theForm.elements.length;j++){ 

		//-- ---------------------------------------------------------
		//-- NULL Validation for text field - Start ------------------
		//-- ---------------------------------------------------------

		if (theForm.elements[j].type=="text"){
		
			//-- Your Name ---
			if(theForm.elements[j].name == "YourName"){
	     		var sText=trim(theForm.elements[j].value)
				flen=sText.length;
				if (flen==0){
					alert('Invalid Input, Your Name can not be blank!')
					theForm.elements[j].focus()
					theForm.elements[j].select()
					return false;
				}
				else{
					if(checkcharacters(sText)==false){
						alert('Invalid Input, Your Name has some invalid characters!')
						theForm.elements[j].focus()
						theForm.elements[j].select()						
						return false;
					}
				 }
			}  
	
			//-- 1. Friend's Name ---
			if(theForm.elements[j].name == "f1_name"){
	     		var sText=trim(theForm.elements[j].value)
				flen=sText.length;
				if (flen==0){
					alert('Invalid Input, Friend Name can not be blank!')
					theForm.elements[j].focus()
					theForm.elements[j].select()
					return false;
				}
				else{
					if(checkcharacters(sText)==false){
						alert('Invalid Input, Friend Name has some invalid characters!')
						theForm.elements[j].focus()
						theForm.elements[j].select()						
						return false;
					}
				 }
			}	

			//-- 2 and 3 Friend's Name ---
			if(theForm.elements[j].name == "f2_name" || theForm.elements[j].name == "f3_name"){
	     		var sText=trim(theForm.elements[j].value)
				flen=sText.length;
				if (flen!=0)
				{
					if(checkcharacters(sText)==false){
						alert('Invalid Input, Friend Name has some invalid characters!')
						theForm.elements[j].focus()
						theForm.elements[j].select()						
						return false;
					}
				}
			}
			
			//-- Your and f1 Email ------------------------------------------------------
			if(theForm.elements[j].name == "YourEmail" || theForm.elements[j].name == "f1_email"){
				var status=checkChars_Email(trim(theForm.elements[j].value));			
				if(status!=true){
					alert(status);
					theForm.elements[j].focus();
					theForm.elements[j].select();
					return false;
				}
			}

			//-- f2 and f3 Email ------------------------------------------------------
			if(theForm.elements[j].name == "f2_email" || theForm.elements[j].name == "f3_email"){
	     		var sText=trim(theForm.elements[j].value)
				flen=sText.length;
				if (flen!=0)
				{
					var status=checkChars_Email(trim(theForm.elements[j].value));			
					if(status!=true){
						alert(status);
						theForm.elements[j].focus();
						theForm.elements[j].select();
						return false;
					}
				}	
			}

		}//-- NULL Validation - Text field - end --------------------------------


		if(theForm.elements[j].name == "comment")
		{
	     	var sVal=trim(theForm.elements[j].value)
			flen=sVal.length;			

			if(flen != 0)
			{
				if(flen>128){
					alert('Invalid Input, Comments cannot be more than 128 Characters!')
					theForm.elements[j].focus();
					theForm.elements[j].select();
					return false;
				}

				if(flen<5){
					alert("Invalid Input, Total characters in comment should be more than 5 characters!");
					theForm.elements[j].focus();
					theForm.elements[j].select();
					return false;
				}
			}
		}

	}//-- End of for loop ----------------------------------------------------------		
	return true;
}//-- End of function - FrontPage_Form1_Validator(theForm) ------------------------------		

//-----------------------------------------------------------
//-- Function ltrim - to remove left space ------------------
//-----------------------------------------------------------
function ltrim ( s ){
	return s.replace( /^\s*/, "" )
}

//-----------------------------------------------------------
//-- Function rtrim - to remove Right space -----------------
//-----------------------------------------------------------
function rtrim ( s ){
	return s.replace( /\s*$/, "" );
}

//-----------------------------------------------------------
//-- Funtion trim - to remove space both sides --------------
//-----------------------------------------------------------
function trim ( s ){
	return rtrim(ltrim(s));
}


//-----------------------------------------------------------
//-- Funtion - to Validate characters only ------------------
//-----------------------------------------------------------
function checkcharacters(sText) 
	{	
	var validDigits = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var cch = sText.length;
		
	for (var i = 0; i < cch; i++)
	{
		ch = sText.charAt(i);
		if (validDigits.indexOf(ch)<0)
			return false;
	}	
	return true;	
}
//-------------------------------------------------------------------------------------
//-- Function to show messeges and set focus to passed controls -----------------------
//-------------------------------------------------------------------------------------
function message(msg,ele){
	alert( "Invalid Input, " + ele.name + msg);
	ele.focus();
	ele.select();
}

//-------------------------------------------------------------------------------------
//-- Function to check characters for email -------------------------------------------
//-------------------------------------------------------------------------------------
function checkChars_Email(sText){	
	var inValidChars = "'`,~@#$%^&*()_-+=|!\\//'.?<>;:"
	var x;
	if (sText == "")
		return "Invalid Input, Email cannot be blank!";
	if (sText.length < 6)
		return "Invalid Input, E-mail Address cannot cantain less than 6 characters!";
	if (sText.indexOf(" ") != -1)
		return "Invalid Input, E-mail Address cannot contain space!"
	if (sText.indexOf(".") == -1 || sText.indexOf("@") == -1)
		return "Invalid E-mail Address! Please re-enter"
	if (sText.indexOf("@.") >0)
		return "Invalid E-mail Address! Please re-enter."
	if (sText.indexOf("..") >0)
		return "Invalid E-mail Address! Please re-enter."
	if (sText.indexOf("@") <2)
		return "Invalid Input, E-mail Address requires atleast two char\'s before \'@\'!"
	if (sText.search("nobody") >=0 || sText.search("anyone") >=0)
		return "Invalid Input, E-mail Address cannot contain \'anyone\',\'nobody\'!"

	for(var i=0;i<inValidChars.length-1;i++){
		if (sText.indexOf(inValidChars.substring(i,i+1)) ==0)
			return "Invalid E-mail Address! Please re-enter."
	}

	var cntr=0;
	for(var i=0;i<sText.length;i++){
		if (sText.substring(i,i+1)=="@")
			cntr++;
	}

	if(cntr>1)
		return "Invalid E-mail Address! Please re-enter."	
		return true;
}

function checkSQLServerChar(sText)
	{	
	var validChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789=-~!@#$%^&*`()_+|:;<>?][}{,./ \\";
	var cch = sText.length;
	var state=true;	
	for (var i = 0; i < cch; i++)
	{
		ch = trim(sText.charAt(i));

		if (validChars.indexOf(ch)==-1)
			{
			state=false;
			break		
			}				
	}
	if (state==false)
		{
			return false;
		}
	else{return true;}
}
