/* checks if email is in valid format */
function isEmailValid(email) {
	return email.lastIndexOf(".") > 2 && email.indexOf("@") > 0 && email.charAt(email.length - 1) != '.';
}

// emailTools.js - Useful tools for handling e-mail addresses
// @Author: D�ra Bal�zs E�rs
//

/* fixes common typos in email addresses, if possible */
function fixMisspelledEmail(email) {
	if (!isEmailValid(email))
		return email;
		
	email = email.toLowerCase();
	var domain = email.substring(email.indexOf("@") + 1).replace("..","."); // ..hu -> .hu, ..com -> .com
	
	var countryCode = domain.substring(domain.lastIndexOf(".") + 1);

	if (countryCode.indexOf("hi") != -1 || countryCode.indexOf("hu") != -1)
		countryCode = "hu";
		
	if (countryCode.indexOf("com") != -1)
		countryCode = "com";
		
	domain = domain.substring(0, domain.lastIndexOf(".") + 1) + countryCode;
	
	var domainPairs = new Array();
	
	// citromail.hu
	var citromail = "citromail.hu"; // IE does not support 'const' keyword....
	domainPairs["citormail.hu"] = citromail;
	domainPairs["citroail.hu"] = citromail;
	domainPairs["citrmail.hu"] = citromail;
	domainPairs["citromaiil.hu"] = citromail;
	domainPairs["citromil.hu"] = citromail;
	domainPairs["cittromail.hu"] = citromail;
	domainPairs["ciromail.hu"] = citromail;
	domainPairs["citrommail.hu"] = citromail;
	domainPairs["xcitromail.hu"] = citromail;
	domainPairs["citromai.hu"] = citromail;
	domainPairs["cioitromail.hu"] = citromail;
	domainPairs["cirtomail.hu"] = citromail;
	domainPairs["citomail.hu"] = citromail;
	domainPairs["citormail.hu"] = citromail;
	domainPairs["citrmai.hu"] = citromail;
	domainPairs["citrmail.hu"] = citromail;
	domainPairs["citroamil.hu"] = citromail;
	domainPairs["citromail.hi"] = citromail;
	domainPairs["citromail.h"] = citromail;
	domainPairs["citromail.u"] = citromail;
	domainPairs["citromal.hu"] = citromail;
	domainPairs["citromil.hu"] = citromail;
	domainPairs["citromsil.hu"] = citromail;
	domainPairs["ctromail.hu"] = citromail;
	domainPairs["gitromail.hu"] = citromail;
	domainPairs["itromail.hu"] = citromail;
	domainPairs["citromaul.hu"] = citromail;
	domainPairs["ciutromail.hu"] = citromail;
	
	// gmail.com
	var gmail = "gmail.com";
	domainPairs["gmaiol.com"] = gmail;
	domainPairs["gmal.com"] = gmail;
	domainPairs["gomail.com"] = gmail;
	domainPairs["g.mail.com"] = gmail;
	domainPairs["gail.com"] = gmail;
	domainPairs["gamail.com"] = gmail;
	domainPairs["gamil.com"] = gmail;
	domainPairs["gemail.com"] = gmail;
	domainPairs["gmaeil.com"] = gmail;
	domainPairs["gmai.com"] = gmail;
	domainPairs["gmaiil.com"] = gmail;
	domainPairs["gmaij.com"] = gmail;
	domainPairs["gmaik.com"] = gmail;
	domainPairs["g-mail.com"] = gmail;
	domainPairs["gmail.con"] = gmail;
	domainPairs["gmail.vom"] = gmail;
	domainPairs["gmaol.com"] = gmail;
	domainPairs["gmeil.com"] = gmail;
	domainPairs["gmil.com"] = gmail;
	domainPairs["gmai.lcom"] = gmail;
	domainPairs["g.mail.com"] = gmail;
	
	// freemail.hu
	var freemail = "freemail.hu";
	domainPairs["fremail.hu"] = freemail;
	domainPairs["freemasil.hu"] = freemail;
	domainPairs["freeail.hu"] = freemail;
	domainPairs["feemail.hu"] = freemail;
	domainPairs["free3mail.hu"] = freemail;
	domainPairs["freeail.hu"] = freemail;
	domainPairs["freeamail.hu"] = freemail;
	domainPairs["freeamil.hu"] = freemail;
	domainPairs["freeemail.hu"] = freemail;
	domainPairs["freemai.hu"] = freemail;
	domainPairs["freemail.com"] = freemail;
	domainPairs["freemail.h"] = freemail;
	domainPairs["freemail.hi"] = freemail;
	domainPairs["freemail.h8u"] = freemail;
	domainPairs["freemaile.hu"] = freemail;
	domainPairs["freemaill.hu"] = freemail;
	domainPairs["freemaul.hu"] = freemail;
	domainPairs["freemeil.hu"] = freemail;
	domainPairs["freemil.hu"] = freemail;
	domainPairs["freemsil.hu"] = freemail;
	domainPairs["freenail.hu"] = freemail;
	domainPairs["fremmail.hu"] = freemail;
	domainPairs["frreemail.hu"] = freemail;
	domainPairs["frremail.hu"] = freemail;
	domainPairs["frimail.hu"] = freemail;
	domainPairs["reemail.hu"] = freemail;
	domainPairs["freeamaile.hu"] = freemail;
	domainPairs["fereenail.hu"] = freemail;
	domainPairs["freemal.hu"] = freemail;
	domainPairs["freemiel.hu"] = freemail;
	domainPairs["feemil.hu"] = freemail;
	
	// t-online.hu
	var tonline = "t-online.hu";
	domainPairs["-online.hu"] = tonline;
	domainPairs["t-omline.hu"] = tonline;
	domainPairs["t-onlien.hu"] = tonline;
	domainPairs["t-onlina.hu"] = tonline;
	domainPairs["tonline.hu"] = tonline;
	domainPairs["t-onlinline.hu"] = tonline;
	domainPairs["-tonlain.hu"] = tonline;
	domainPairs["t-onlone.hu"] = tonline;
	domainPairs["t-onlie.hu"] = tonline;
	
	// t-email.hu
	var temail = "t-email.hu";
	domainPairs["t-emai.hu"] = temail;


	// yahoo.com
	var yahoo = "yahoo.com";
	domainPairs["ahoo.com"] = yahoo;
	
	// chello.hu
	var chello = "chello.hu";
	domainPairs["chelo.hu"] = chello;
	
	// invitel.hu
	var invitel = "invitel.hu";
	domainPairs["invtel.hu"] = invitel;

	// hotmail.com
	var hotmail = "hotmail.com";
	domainPairs["hotmai.com"] = hotmail;
	domainPairs["hotmai.hu"] = hotmail;
	domainPairs["hotmail.hu"] = hotmail;

	// indamail.hu
	var indamail = "indamail.hu";
	domainPairs["indamial.hu"] = indamail;
	domainPairs["indomail.hu"] = indamail;
	domainPairs["ndamail.hu"] = indamail;

	// vipmail.hu
	var vipmail = "vipmail.hu";
	domainPairs["ipmail.hu"] = vipmail;
	domainPairs["vipmai.hu"] = vipmail;
	
	// windowslive.com
	var windowslive = "windowslive.com";
	domainPairs["windowsliwe.com"] = windowslive;
	domainPairs["windoswlive.com"] = windowslive;
	domainPairs["windovslive.com"] = windowslive;
	domainPairs["wisdovslive.com"] = windowslive;	
	
	// fibermail.hu
	var fibermail = "fibermail.hu";
	domainPairs["fibermali.hu"] = fibermail;
	
	// fix misspelled domain if possible
	
	if (domainPairs[domain] != null) 
		domain = domainPairs[domain];
	
	return email.substring(0, email.indexOf("@") + 1) + domain;
}

