﻿// JScript File
function Trim(varIn)
{
    var varOut =""
    var trimout = ""
    var ltempvar
    
    if(!varIn)
    {
		// String is null, So do nothing
    }
    else
    {
		for(intI=0; intI < varIn.length ; intI++)
		{
			if (varIn.charAt(intI) != " ")
			{
				// If the first char in non-space character then return the 
				// string as it is.
				varOut=varIn.substring(intI)
				break
			}
		}
		if (varOut.length!=0) 
		{
			ltempvar=varOut.length-1
			for(intI=0;intI < varOut.length ; intI++)
			{
				if(varOut.charAt(ltempvar-intI) != " ")
				{
					trimout=varOut.substring(0,ltempvar-intI+1)
					break
				}
			}
		}
	}
	return trimout
}

//Function to check for the valid email format
function Emailcheck(gEmailString)
{
	//check for email format and character '	
	var SingleQuoteCount=0;
	//Check for occurences of ' symbol in email id 
	
	for(charIdx=0; charIdx<gEmailString.value.length; charIdx++)
	{
		if(gEmailString.value.charAt(charIdx)=="'")
		{
			SingleQuoteCount = SingleQuoteCount + 1;
		}
	}
	//if ' symbol exists in email id raises an alert
	if(SingleQuoteCount>=1)
	{
		alert("' symbol shouldn't exist in the email id");
		gEmailString.focus();
		return false;
	}
	
	//Check for occurences of @ symbol in email id more than once
	var AtTheRateCount=0
	for(charIdx=0; charIdx<gEmailString.value.length; charIdx++)
	{
		if(gEmailString.value.charAt(charIdx)=="@")
		{
			AtTheRateCount = AtTheRateCount + 1;
		}
	}
	//if @ symbol exists more than once in email id raises an alert
	if(AtTheRateCount>1)
	{
		alert("@ symbol should exist only once in the email id");
		gEmailString.focus();
		return  false;
	}
		
	//check for email format
	if(Trim(gEmailString.value).length !=0)
	{	
		if (Trim(gEmailString.value).indexOf("@")== -1 
		 || Trim(gEmailString.value).indexOf(".")== -1)
		{
			alert("Please enter your E-Mail address in the correct format.")
			gEmailString.focus();
			return false;
		}						
	}
				
	if(Trim(gEmailString.value).length !=0)
	{	
		var atpos
		atpos = Trim(gEmailString.value).indexOf("@")+1
		if (atpos == 0)
		{
			alert("Your email address cannot begin with an '\@'\ character.");
			gEmailString.focus();
			return false; 
		}
		atpos == Trim(gEmailString.value).indexOf("@") + 1
		if (atpos==Trim(gEmailString.value).length)
		{
			alert("Your email address cannot end with an '\@'\ character.");
			gEmailString.focus();
			return false;
		}	
		var dotpos		
		dotpos = Trim(gEmailString.value).indexOf(".")+1
		if (dotpos == Trim(gEmailString.value).length)
		{
			alert("Your email address cannot end with a period.");
			gEmailString.focus();
			return false; 
		}
				
		var diff 
		diff = (dotpos-atpos)				
		if (dotpos > atpos) 
			{
				if (diff < 2) 
					{
						alert("There must be at least one character between the '\@'\ and the '\.'\.")
						gEmailString.focus();
						return false; 
					}
			}
			
		//check for all the email validation
		lvarEmailVal=Trim(gEmailString.value)
		for(lintCharCount=0;lintCharCount<lvarEmailVal.length-1;lintCharCount++)
		{
			if(lvarEmailVal.charAt(lintCharCount)=="@")
			{
				if((lvarEmailVal.charAt(lintCharCount+1)==".")||(lvarEmailVal.charAt(lintCharCount+1)==" "))
				{
					alert("Please enter your email address in the correct format.");
					gEmailString.focus();
					return false;
				}
				
			}	
			else if(lvarEmailVal.charAt(lintCharCount)==".")
			{
			
				if((lvarEmailVal.charAt(lintCharCount+1)=="@")||(lvarEmailVal.charAt(lintCharCount+1)==" "))
				{
					alert("Please enter your email address in the correct format.");
					gEmailString.focus();
					return false
				}
				
				//check for number validataion 
				lvarDotPos=lintCharCount
				for(lintNumChar=lvarDotPos;lintNumChar<lvarEmailVal.length;lintNumChar++)
				{
					if(!isNaN(lvarEmailVal.charAt(lintNumChar)) && (lvarEmailVal.charAt(lintNumChar)!="."))
					{
					alert("Please enter your email address in the correct format.");
						gEmailString.focus();
						return false
					}
				}
			}	
		}		
				
		var ext
		ext = (Trim(gEmailString.value).length - dotpos)
		if (ext < 2)
		{	
			alert("Please enter a valid extension for your email address.")
			gEmailString.focus();
			return false; 
		}
		return true;
	}
}