function missManners(dict,mod,obj,txt){
			//dict = a,b,m,q,bm,bq,mq (a=all,b==bdw,m=mbw,q=qw
			//mod = 1|0 - determines how strict, and which dictionaries to use, with true being less strict
			//txt = the text to check
			//obj = (optional) the element for placing the warning in
var bdw = ["\\bass(|hole)\\b","bastard","bitch","blumpkin","brain banger","arse","arsehole","bukakke","bull(|-|\\s|)dyke","camel(|-|\\s|)jockey","carpet(|-|\\s|)muncher","cleveland steamer","clit","cock(|-|\\s|)sucker","cootch","cooter","cornhole","cracka","cumbucket","cunt","dago\\b","dick(|-|\\s|)head","dingleberry","dirty sanchez","donkey punch","dutch oven","fag(|s|got|gots)","(|[\\w]+[^f])fuck(|er|ed|in|ing|s)","fudge(|-|\\s|)packer","goatse","gook","gringo","love mayo","jiggaboo","jizz","(|k)nobhead","k(i|y)ke","moron","motherfucker","moose knuckle","pecker","poontang","poonanni","pussy","queef","queeb","moon cricket","muff(|-|\\s|)div(|e|er|ing)","nigger","paki[^(stan)]","\\bpak[k]?i\\b","pol[l]?ack","perforate the colon","porch monkey","prigger","raghead","rectus ranger","relieve the tampon","rim(|-|\\s|)job","rusty trombone","sand nigger","schlong","shit(|ter|ty|ter|er|ting|ing|s)","skeet","skank","skin flute","slut(|ty)","spank the monkey","spic","sqwa","squaw","taste the waste","teabagging","tip drill","towel head","tw(a|o)t","vart","wanker","wetback","wo(g|p)","camel(|\\s|)toe"];

var mbw = ["beaner","blow(|-|\\s)job","cock","\\bcoon","(|god)damn(|ed)","dyke","fart(|ed|s|ing)","jack(|-)off","\\bho\\b","honky","hot carl","hell[|\\b|\'|i|e|s]","jerk(|-)off","muff","piss","queer","\\btit(|s)","wanker"];

var bdw_pq = ["crisse","c(\u00E2|a)lisse","\\bosti\\b","cibo(\u00E2|a)re","ciboire","tabarnak","tabarnac","tabernacle","sacrament","sacrement","viarge", "vierge","bapt(\u00EA|e)me","Saint Chr(\u00EA|e)me","chrism","calvaire","ciarge","cierge","maudit","sacristie","(\u00E9|e)tole"];

var mbw_pq = ["tabarnouche","tabarslaque","simonac","simoniac","tabarouette","tobor","tabarnache","barnak","tabarnane","tabarnic","tabeurn","criff","sacramouille","cibolle","cibollaque","ciboule","ciboulette","cibouleau","c(\u00E2|a)line","c\u00E2lif","c(\u00E2|a)lique","batinse","cristie","ostique","calv\u00E2sse","calvinse","maudine","mautadite","mautadine","m\u00F4sus"];

var bw_ne = ["cazzo","coglioni","culo","fica-figa","merda","merde","pirla","vaffanculo", "manko","chinpo","hakuchi","hinin","kichigai","kusottare","mekura","oshi","tsunbo","unko","unchi","yariman"];

var qw = ["angry dragon","dildo","retard","brown eye","camel hump","camel toe","cameltoe","chink","chicken(|-|\\s)head","chickenshit","douche","jelly doughnut","(|k)nob","money(|-|\\s)shot","pearl necklace","pink sock","prick","toss the salad"];

var qw_pq = ["calif\\b","estifie","\\btiti\\b","\\bsti\\b","\\besti\\b","\\bcrime\\b","\\bstick\\b"];

			var bdw_chk = bdw.concat(bdw_pq,bw_ne);
			var mbw_chk = mbw.concat(mbw_pq);
			var qw_chk = qw.concat(qw_pq);
			var arr = new Array();
			
			switch(dict){
				case "b":
					arr = bdw_chk;
					break;
				case "bm":
				case "mb":
					arr = bdw_chk.concat(mbw_chk);
					break;
				case "bq":
				case "qb":
					arr = bdw_chk.concat(qw_chk);
					break;
				case "m":
					arr = mbw_chk;
					break;
				case "mq":
				case "qm":
					arr = mbw_chk.concat(qw_chk);
					break;
				case "q":
					arr = qw_chk;
					break;
				case "all":
					arr = bdw_chk.concat(mbw_chk,qw_chk);
					break;
			}			
			
			var pattern_start = (mod==0) ? "" : "\\b";
			var pattern_end = (mod==0) ? "(|s)" : "(|s)\\b";
			var t = "";
			var badWords = [];
			for(cw=0;arr.length>cw;cw++){
				regex = new RegExp(pattern_start+arr[cw]+pattern_end, "gi");
				m = regex.exec(txt);
				if(m!=null){
					for(fw=0;m.length>fw;fw++) { badWords.push(" " + arr[cw] + " "); }
			    //for(fw=0;m.length>fw;fw++) { t += m[fw]+" "; }
					//addWarning(obj,t+"("+arr[cw]+") ");				
				}
			}
			
			if (badWords.length > 0) {
				return badWords;
			} else {
				return true;
			}
}		
