function checkemail(email)
{
	var label=email.substring(0,email.indexOf("@"));
	var text=email.substring(email.lastIndexOf(".")+1,email.length);
	var domain=email.substring(email.indexOf("@")+1,email.length);

	var hiphen=email.indexOf("-");
	var underscore=email.indexOf("_");
	var dot2=email.indexOf(".");
	var st="";
	var st1="";
	var desh="-";
	var us="_";
	var dot=".";
	var len=label.length;
	var msg="";
	var lbl=true;
	var dom=true;
	var emid=true;
	var dompart=true;
	var lblpart=true;
	var substr="";
	var str=label.substring(1,label.length);
	var invalidchar = ["!","#","$","%","^","&","*","(",")","=","+","|","\\","{","}",
					   "[","]",";",":","<",">","/","?","@","~","`","'","\""];
	var invalidcharlen=invalidchar.length;
	
	var bad_domain = ["anoninbox.com","dodgeit.com","e4ward.com","gishpuppy.com","jetable.com","jetable.org","iximail.com",
					  "mailin8r.com","mailinator.net","mailinator2.com","mailnull.com","pookmail.com","shortMail.net",
					  "sneakemail.com","sogetthis.com","spam.la","spamday.com","spamex.com","spamgourmet.com","spamherelots.com",
					  "spamhole.com","spamspot.net","thisisnotmyrealemail.com","trashmail.net","wh4f.org","wuzup.net",
					  "spambob.com","spambob.net","spambob.org","disposable-email.com","guerrillamail.info","kinglibrary.net",
					  "fificorp.com","fificorp.net","MailEater.com","mailinator.com","tempInbox.com","trashymail.com",
					  "haltospam.com"];
	var bad_domainlen=bad_domain.length;
	var bad_combination=[".@","@.","@_",".."];
	
	if(email.length==0)
	{
		emid=false;
	}
	if(email.length!=0)
	{
		if(!isValidEmail(email))
		{
			lbl=false;
		}
	}
	for(var x=0;x<bad_combination.length;x++)
	{
		if(domain.indexOf(bad_combination[x])!=-1)
		{
			dom=false;
		}
	}
	for(var y=0;y<bad_combination.length;y++)
	{
		if(email.indexOf(bad_combination[y])!=-1)
		{
			emid=false;
		}
	}
	for(var z=0;z<bad_combination.length;z++)
	{
		if(label.indexOf(bad_combination[z])!=-1)
		{
			lbl=false;
		}
	}
	for(var a=0;a<invalidcharlen;a++)
	{
		if(label.indexOf(invalidchar[a])!=-1)
		{
			lbl=false;
		}
	}
	for(var q=0;q<invalidcharlen;q++)
	{
		if(domain.indexOf(invalidchar[q])!=-1)
		{
			dom=false;
		}
	}
	for(var j=0;j<bad_domainlen;j++)
	{
		if(email.indexOf(bad_domain[j])!=-1)
		{
			dom=false;
		}
	}
	for(var k=0;k<label.length;k++)
	{
		if(label.charCodeAt(k)==32)
		{
			lbl=false;
		}
	}
	if(label.charAt(0)=='.' || label.charAt(len-1)=='.')
	{
		lbl=false;
	}
	if(domain.charAt(0)=='_' || domain.charAt(0)=='.')
	{
		dom=false;
	}
	if(domain.indexOf(".")==-1)
	{
		dom=false;
	}
	for(var p=0;p<domain.length;p++)
	{
		if(domain.charCodeAt(p)==32)
		{
			dom=false;
		}
	}
	if(label.charCodeAt(0)==32)
	{
		lbl=false;
	}
	if(label.indexOf(",")!=-1)
	{
		lbl=false;
	}
	if(email.indexOf("@")==-1)
	{
		lbl=false;
	}
	if(email.indexOf(".")==-1)
	{
		lbl=false;
	}
	if(domain.indexOf("@")!=-1 || domain.indexOf("_")!=-1 || 
	   domain.indexOf(",")!=-1)
	{
		dom=false;
	}
	if(label.length>64)
	{
		lblpart=false;
	}
	if(domain.length>255)
	{
		dompart=false;
	}
	if(text.length<2 || text.indexOf("-")!=-1 || text.indexOf("_")!=-1)
	{
		dom=false;
	}
	if(lbl==false || dom==false || emid==false)
	{
		alert("Please enter valid email address");
		return false;
	}
	if(lblpart==false)
	{
		alert("Email label can not have more than 64 characters");
		return false;
	}
	if(dompart==false)
	{
		alert("Email domain can not have more than 255 characters");
		return false;
	}
	return true;
}
function isValidEmail(str){
var at="@";
var dot=".";
var lat=str.indexOf(at);
var lstr=str.length;
var ldot=str.indexOf(dot);
if (str.indexOf(at)==-1){
return false;
}
if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){ 
	return false;
}
if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	return false;
}
if (str.indexOf(at,(lat+1))!=-1){
	return false;
}
if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	return false;
}
if (str.indexOf(dot,(lat+2))==-1){
	return false;
}
if (str.indexOf(" ")!=-1){
	return false;
}
	return true; 
}