﻿var fWordsArray=['ass lick','ass','asses','asshole','assholes','asskisser','asswipe','balls','bastard','beastial','beastiality','beastility','beaver','belly whacker','bestial','bestiality','bitch','bitcher','bitchers','bitches','bitchin','bitching','blow job','blowjob','blowjobs','bonehead','boner','brown eye','browneye','browntown','bucket cunt','bull shit','bullshit','bum','bung hole','butch','butt','butt breath','butt fucker','butt hair','buttface','buttfuck','buttfucker','butthead','butthole','buttpicke','chink','christ','circle jerk','clam','clit','cobia','cock','cocks','cocksuck','cocksucked','cocksucker','cocksucking','cocksucks','cooter','crap','cum','cummer','cumming','cums','cumshot','cunilingus','cunillingus','cunnilingus','cunt','cuntlick','cuntlicker','cuntlicking','cunts','cyberfuc','cyberfuck','cyberfucked','cyberfucker','cyberfuckers','cyberfucking','damn','dick','dike','dildo','dildos','dink','dinks','dipshit','dong','douche bag','dumbass','dyke','ejaculate','ejaculated','ejaculates','ejaculating','ejaculatings','ejaculation','fag','fagget','fagging','faggit','faggot','faggs','fagot','fagots','fags','fart','farted','farting','fartings','farts','farty','fatass','fatso','felatio','fellatio','fingerfuck','fingerfucked','fingerfucker','fingerfuckers','fingerfucking','fingerfucks','fistfuck','fistfucked','fistfucker','fistfuckers','fistfucking','fistfuckings','fistfucks','fuck','fucked','fucken','fucker','fuckers','fuckin','fucking','fuckings','fuckme','fucks','fuk','fuks','furburger','gangbang','gangbanged','gangbangs','gaysex','gazongers','goddamn','gonads','gook','guinne','hard on','hardcoresex','hell','homo','hooker','horniest','horny','hotsex','hussy','jack off','jackass','jacking off','jackoff','jack-off','jap','jerk','jerk-off','jesus','jesus christ','jew','jism','jiz','jizm','jizz','kike','knob','kock','kondum','kondums','kraut','kum','kummer','kumming','kums','kunilingus','lesbian','lesbo','loser','lust','lusting','merde','mick','mothafuck','mothafucka','mothafuckas','mothafuckaz','mothafucked','mothafucker','mothafuckers','mothafuckin','mothafucking','mothafuckings','mothafucks','motherfuck','motherfucked','motherfucker','motherfuckers','motherfuckin','motherfucking','motherfuckings','motherfucks','mound','muff','nerd','nigger','niggers','orgasim','orgasims','orgasm','orgasms','pecker','penisphonesex','phuk','phuked','phuking','phukked','phukking','phuks','phuq','pimp','piss','pissed','pisser','pissers','pisses','pissin','pissing','pissoff','porn','porno','pornography','pornos','prick','pricks','prostitute','punk','pussies','pussy','pussys','queer','retard','schlong','screw','sheister','shit','shited','shitfull','shiting','shitings','shits','shitted','shitter','shitters','shitting','shittings','shitty','slag','sleaze','slut','sluts','smut','snatch','spunk','twat','wetback','whore','wop'];

function ProfanityFilterReplace(stringToReplace)
{    
    if (stringToReplace==' ')
        return stringToReplace;
        
    var replacedString=stringToReplace;
    var regExExpression=null;   
    var stringToReplaceWith=''
    for(var z=0;z<fWordsArray.length;z++)
    {               
        //Form the astersks to replace with
        stringToReplaceWith=fWordsArray[z];
        stringToReplaceWith=stringToReplaceWith.replace(/\w/g,"@");
        
        //Make the replace of the F word ,for this I use word boundary class \b
        //regExExpression=new RegExp("\\s+\\W]+"+fWordsArray[z]+"[\\s+\\W+]","gi");               
        regExExpression=new RegExp("\\b"+fWordsArray[z]+"\\b","gi");   
        replacedString=replacedString.replace(regExExpression,stringToReplaceWith);
    }
    
    return replacedString;
} 

function ManageProfanityFilterEnter(keyEvent)
{
    var inputObj=null;
    if (navigator.appName == 'Microsoft Internet Explorer')
    {
        if((keyEvent.keyCode == 13) || (keyEvent.which == 13))           
         {           
           inputObj=keyEvent.srcElement;          
           inputObj.value=ProfanityFilterReplace(inputObj.value);
         }        
    } 
    else 
    {
       if((keyEvent.keyCode == 13)||(keyEvent.which == 13))
         {            
           inputObj=keyEvent.target;          
           inputObj.value=ProfanityFilterReplace(inputObj.value);         
         }
    }
}

function ManageProfanityFilterEnterAndSet(hiddenFieldObj,keyEvent)
{
    var inputObj=null;   
    if (navigator.appName == 'Microsoft Internet Explorer')
    {
        if((keyEvent.keyCode == 13) || (keyEvent.which == 13))           
         {           
           inputObj=keyEvent.srcElement;          
           inputObj.value=ProfanityFilterReplace(inputObj.value);
           hiddenFieldObj.value=inputObj.value;
         }        
    } 
    else 
    {
       if((keyEvent.keyCode == 13)||(keyEvent.which == 13))
         {            
           inputObj=keyEvent.target;          
           inputObj.value=ProfanityFilterReplace(inputObj.value);
           hiddenFieldObj.value=inputObj.value;         
         }
    }
}

