// JavaScript Document
var error = "";
function checkWholeForm(theForm,frm_error) 
{
	error=frm_error;
    var name = "";
	var title = "";
	var cname = "";
	var phone = "";
	var email = "";
	var reEmail="";
	var reportName="";
	
   name  = checkUsername(theForm.pname.value);
   
   //title = checkTitle(theForm.txtTitle.value);
   cname = checkCompanyName(theForm.cName.value);
   
   phone =ValidatePhone(theForm.phone.value);
  
   email = ValidateEmail(theForm.email.value);
   
   reEmail=rechkEmail(theForm.reEmail.value);//, 'Please enter a correct email address or leave the field blank', true);
   reportName=chkReportName(theForm.txtReportName.value)

		if (name==false||cname==false||phone==false||email==false||reEmail==false||reportName==false) 
		{
			
			alert(error);
		     return false;
		}
		else
		{
			return true;
		}
		
}
function chkReportName(strng)
{
	 if (strng == ""||strng==null)
	 {
		error =error+"Please Enter Report Name.\n";
		
		return false;
	 }
	 return true;
}

function checkUsername (strng) 
{
	
	 
	 if (strng == ""||strng==null)
	 {
		error = "Please Enter Your Name.\n";
		
		return false;
	 }
	 return true;
}
function checkTitle (strng) 
{
	
	
	 if (strng == ""||strng==null)
	 {
		error = error+"Please Enter Your Title.\n";
		
		return false;
	 }
	 return true;
}
function checkCompanyName (strng) 
{
	
	 if (strng == ""||strng==null)
	 {
		error =error+ "Please Enter Your Company Name.\n";
		
		return false;
	 }
	 return true;
}
function checkEmail(strng)
{
	var emailFilter=/^.+@.+\..{2,3,4,6}$/;
	if (!(emailFilter.test(strng))) 
	{ 
		   error =error+ "Please Enter a Valid Email.\n";
		   
		   return false;
	}
	
	return true;
}
function checkPhone(strng)
{
	var stripped = strng.replace(/[\(\)\.\-\ ]/g, '');
	//strip out acceptable non-numeric characters
	if (isNaN(parseInt(stripped))) 
	{
	   error = error+"The phone number contains illegal characters.\n";
	  
	   return false;
	}
	return true;
}
function isDifferent(strng)
{
 
  if (strng != "Can\'t touch this!") 
  {
     error = "You altered the inviolate text area.\n";
  }
}
  //Remove special characters from a string.

function clearText() 
{
	/*
   document.theForm.txtName.value="";
   document.theForm.txtTitle.value="";
   document.theForm.txtCName.value="";
   document.theForm.txtPhone.value="";
   document.theForm.txtEmail.value="";
   */
  
}
function echeck(str) 
{

		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		if (str.indexOf(at)==-1)
		{
		   alert("Invalid Email Id");
		   return false;
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		{
		   alert("Invalid Email Id");
		   return false;
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		{
		    alert("Invalid Email Id");
		    return false;
		}

		 if (str.indexOf(at,(lat+1))!=-1)
		 {
		    alert("Invalid Email Id");
		    return false;
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		 {
		    alert("Invalid Email Id");
		    return false;
		 }

		 if (str.indexOf(dot,(lat+2))==-1)
		 {
		    alert("Invalid Email Id");
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1)
		 {
		    alert("Invalid Email Id");
		    return false;
		 }

 		 return true;					
	}

function ValidateEmail(strng)
{
	
	var emailID=strng;
	
	if ((emailID==null)||(emailID==""))
	{
		error=error+"Please Enter your Email Id .\n";
		//emailID.focus();
		
		return false;
	}
	if (echeck(emailID)==false)
	{
		
		//emailID="";
		//emailID.focus();
		
		return false;
	}
	
	return true;
 }

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone)
{
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidatePhone(strng)
{
	var Phone=strng;
	
	if ((Phone==null)||(Phone==""))
	{
		
		error=error+"Please Enter your Phone Number .\n";
		//Phone.focus();
		return false;
	}
	if (checkInternationalPhone(Phone)==false)
	{
		error=error+"Please enter Phone No in this format: XXX-XXX-XXXX .\n";
		Phone.value="";
		
		return false;
	}
	return true;
 }
function chkEmail(strng)
{
	var reEmail=strng;
	if (reEmail==null || reEmail=="") 
	{
		
		return false;
	}

	var re_mail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/;
	if (!re_mail.test(reEmail)) 
	{
		error=error+ "Please Re enter your Email Id .\n";
		//email.focus();
		email.select();
		return false;
	}

	return true;
}
function rechkEmail(strng)
{
	
	var ch=chkEmail(strng);
	
	if(ch)
	{
		
		if(strng==theForm.email.value)
		{
			return true;
		}
		else
		{
			error=error+"Re Enter Email is not same .\n";
			return false;
		}
	}
	else
	{
		error=error+"Please Re enter your Email Id .\n";
		return false;
	}
}


