var reWS = /^\s+\$/
var reInt = /^\d+\$/

function getCookie(name){
    var cname = name + "=";
    var dc = document.cookie;
    if (dc.length > 0) {
        begin = dc.indexOf(cname);
        if (begin != -1) {
            begin += cname.length;
            end = dc.indexOf(";", begin);
            if (end == -1) 
                end = dc.length;
            return unescape(dc.substring(begin, end));
            
        }
    }
    return null;
}

function isEmpty(s){
    return ((s == null) || (s.length == 0))
}

function isWS(s){
    return (isEmpty(s) || reWS.test(s));
}

function testEmail(src){
    var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
    return regex.test(src);
}

function chkDomain(src){
    var regex = /mcdata.com|cisco.com|qlogic.com|emulex.com|maxxan.com|sandial.com|marantinetworks.com|andiamo.com|nishansystems.com|sanera.net|gadzoox.com|broadcom.com|sbc.yahoo.com|@bigmailbox.net|@freeonline.com|@altavista.net|@angelfire.com|@netzero.com|@anti-social.com|@earthlink.net|@worldnet.att.net|@hotmail.com|@yahoo.com|@yahoo.co|@mail.com|@bigfoot.com|@webmail.bellsouth.net|@tgi.cjb.net|@collegeclub.com|@coolmail.net|@my-dejanews.com|@email.com|@smallbizmail.com|@eudoramail.com|@excite.com|@freeyellow.com|@collegemail.com|@geocities.com|@theglobe.com|@go.com|@gurlmail.com|@hotbot.com|@hotpop.com|@null.net|@infomak.com|@lycosmail.com|@mailcity.com|@mcafeemail.com|@pcpostal.com|@usa.net|@netscape.net|@dotexpress.com|@pobox.com|@poboxes.com|@quakemail.com|@rocketmail.com|@sofcom.com|@switchboardmail.com|@briefcase.com|@wowmail.com|@xoommail.com|@zdnetmail.com|@zyworld.com|@comcast.net|@address.com|@aussiemail.com.au|@bluebottle.com|@boardermail.com|@bolt.com|@canada.com|@canoemail.com|@animail.net|@moose-mail.com|@snail-mail.net|@whale-mail.com|@wildmail.com|@cashette.com|@catchamail.com|@centralpets.com|@dbzmail.com|@dcemail.com|@didamail.com|@doneasy.com|@doramail.com|@emailaccount.com|@fastmail.ca|@flashmail.com|@graffiti.net|@hushmail.com|@letterbox.org|@hush.com|@hush.ai|@icqmail.com|@incamail.com|@indiatimes.com|@kittymail.com|@linuxmail.org|@lycos.com|@mail2|@mailblocks.com|@123mail.org|@150mail.com|@150ml.com|@16mail.com|@2-mail.com|@4email.net|@50mail.com|@airpost.net|@allmail.net|@bestmail.us|@cluemail.com|@elitemail.org|@emailgroups.net|@emailplus.org|@emailuser.net|@eml.cc|@fastem.com|@fast-email.com|@fastemail.us|@fastemailer.com|@fastest.cc|@fastimap.com|@fastmail.cn|@fastmail.com.au|@fastmail.fm|@fastmail.us|@fmail.co.uk|@fast-mail.org|@fastmailbox.net|@fastmessaging.com|@fea.st|@f-m.fm|@fmailbox.com|@fmgirl.com|@fmguy.com|@ftml.net|@hailmail.net|@imap.cc|@imap-mail.com|@imapmail.org|@internet-e-mail.com|@internetemails.net|@internet-mail.org|@internetmailing.net|@jetemail.net|@justemail.net|@letterboxes.org|@mailandftp.com|@mailas.com|@mailbolt.com|@mailc.net|@mailcan.com|@mail-central.com|@mailforce.net|@mailftp.com|@mailhaven.com|@mailingaddress.org|@mailite.com|@mailmight.com|@mailnew.com|@mail-Page.com|@mailsent.net|@mailup.net|@mailworks.org|@ml1.net|@mm.st|@myfastmail.com|@mymacmail.com|@nospammail.net|@ownmail.net|@petml.com|@postinbox.com|@postpro.net|@proinbox.com|@promessage.com|@realemail.net|@reallyfast.biz|@reallyfast.info|@rushpost.com|@sent.As|@sent.at|@sent.com|@speedpost.net|@speedymail.org|@ssl-mail.com|@swift-mail.com|@the-fastest.net|@theinternetemail.com|@the-quickest.com|@veryfast.biz|@veryspeedy.net|@warpmail.net|@xsmail.com|@yepmail.net|@your-mail.com|@mailpanda.com|138mail.com|asiamail.com|koreanmail.com|mailasia.com|mantramail.com|@marchmail.com|@antisocial.com|@as-if.com|@backstreet-boys.com|@beenhad.com|@canwetalk.com|@corporatedirtbag.com|@crazedanddazed.com|@crazysexycool.com|@dangerous-minds.com|@deal-maker.com|@forpresident.com|@iamit.com|@iamwaiting.com|@ididitmyway.com|@ihavepms.com|@ijustdontcare.com|@imneverwrong.com|@imstressed.com|@itookmyprozak.com|@ivebeenframed.com|@married-not.com|@most-wanted.com|@mystupidjob.com|@mystupidschool.com|@notme.com|@teenagedirtbag.com|@trust-me.com|@wouldilie.com|@yeayea.com|@hehe.com|@iamwasted.com|@ilovechocolate.com|@keg-party.com|@mr-potatoehead.com|@o-tay.com|@quackquack.com|@rednecks.com|@smileyface.com|@youareadork.com|@your-house.com|@1internetdrive.com|@1netdrive.com|@1webave.com|@1webhighway.com|@cyberbabies.com|@internetdrive.com|@mydotcomaddress.com|@mynetaddress.com|@myownemail.com|@netexecutive.com|@netexpressway.com|@netlane.com|@netlimit.com|@netspeedway.com|@pcpostal.com|@starmail.com|@supernetpower.com|@webjetters.com|@1coolplace.com|@1funplace.com|@1under.com|@anywhereusa.com|@cornerpub.com|@dontmesswithtexas.com|@earthdome.com|@end-war.com|@givepieceachance.com|@hollywoodkids.com|@isellcars.com|@jazzandjava.com|@localbar.com|@moonman.com|@moonshinehollow.com|@starplace.com|@the-stock-market.com|@thevortex.com|@white-star.com|@for-president.com|@millionaireintraining.com|@mostlysunny.com|@partlycloudy.com|@phayze.com|@positive-thinking.com|@rodrun.com|@rubyridge.com|@somethingorother.com|@spyring.com|@stopdropandroll.com|@sunrise-sunset.com|@the-any-key.com|@the-big-apple.com|@the-eagles.com|@the-lair.com|@the-pentagon.com|@the-police.com|@thelanddownunder.com|@tropicalstorm.com|@wolf-web.com|@yuppieintraining.com|@zahadum.com|@coffin-rock.com|@death-star.com|@earthalliance.com|@galaxy5.com|@marsattack.com|@over-the-rainbow.com|@psicorps.com|@pulp-fiction.com|@scifianime.com|@scififan.com|@vorolonempire.com|@1musicrow.com|@1nsyncfan.com|@ace-of-base.com|@kornfreak.com|@nirvanafan.com|@smashing-pumpkins.com|@baldandsexy.com|@buffbody.com|@cuteandcudly.com|@cyberloveplace.com|@finebody.com|@freeandsingle.com|@girlofyourdreams.com|@guyofyourdreams.com|@heartthrob.com|@iamyours.com|@imtoosexy.com|@lookingforme.com|@lover-boy.com|@lovergirl.com|@onecooldude.com|@tellmeimcute.com|@toosexyforyou.com|@wetwetwet.com|@bullsfan.com|@bullsgame.com|@hang-ten.com|@jazzgame.com|@ohio-state.com|@pakersfan.com|@pool-sharks.com|@sportsaddict.com|@sunsgame.com|@the18th.com|@thegolfcourse.com|@theraces.com|@theteebox.com|@tigerdrive.com|@winningteam.com|@all-mychildren.com|@another-world.com|@babylon5fan.com|@bay-watch.com|@friendsfan.com|@general-hospital.com|@sailormoonfan.com|@speed-race.com|@xfilesfan.com|@yada-yada.com|@mypersonalemail.com|@myway.com|@netster.com|@online.ie|@operamail.com|@orcon.net.nz|@outgun.com|@postmaster.co.uk|@prontomail.com|@recyclermail.com|@rediffmail.com|@romymichele.com|@sandiego.com|@s-mail.com|@shadango.com|@safe-mail.net|@stalag13.com|@surfy.net|@themail.com|@tmicha.net|@ureach.com|@uymail.com|@vfemail.net|@virtual-mail.com|@vorras.net|@weekonline.com|@x-mail.net|@yyhmail.com|@cwazy.co.uk|@redwhitearmy.com|@caths.co.uk|@marketweighton.com|@freemail.org.mk|@gawab.com|@alex4all.com|@alexandria.cc|@hotpop.com|@punkass.com|@sexmagnet.com|@bonbon.net|@toughguy.net|@phreaker.net|@gamebox.net|@mailshack.com|@nerdshack.com|@postmark.net|@safe-mail.net|@softhome.net|@tmicha.net|@vfemail.net|@ezrs.com|@yebox.com|@yapost.com|@mail15.com|@aggies.org|@arrl.net|@bonnag.com|@dragoncon.net|@softhome.net|@zworg.com|@mailpuppy.com|@mailandnews.com|@newmail.net|@uymail.com|@youpy.com|@forfree.at|@pemail.net|@anything.2ndmail.com|@offeremail.com|@freeindex.com|@birdmail.com|@mailpanda.com|@kube93mail.com|@startrekmail.com|@garbagemail.com|@dog.com|@msgbox.com|@schoolsucks.com|@vote4gop.org|@letsgomets.net|@chickmail.com|@happypuppy.com|@joinme.com|@cnn.com|@garfield.com|@rotfl.com|@chickmail.com|@netscape.net|@popmail.com|@unbounded.com|@zdnetmail.com|@letterbox.com|@gnwmail.com|@lycosemail.com|@goplay.com|@mailexcite.com|@alloymail.com|@cynetcity.com|@rocketmail.com|@eg3.net|@mail.spaceports.com|@thedoghousemail.com|@byteme.com|@gurlmail.com|@iforward.com|@populus.net|@flashemail.com|@mailcity.com|@linktrader.com|@freestamp.com|@888.nu|@coldmail.com|@gmx.de|@zWallet.com|@MyFamily.com|@MailCity.com|@Lovemail.com|@iWon.com|@iVillage.com|@HotVoice.com|@BizLand.com|@About.com|@Mailblocks.com|@gmail.com|@cnt.com/;
    return regex.test(src);
}

function validate(){
    var errors = '';
    var ferrors = '';
    var finalerrors = 'The following questions or fields are required:\n\n';
    var f = document.contact_form;
    var invalidemail = document.contact_form.email.value;
    
    if (isWS(f.fName.value)) 
        errors += '    - First Name\n';
    if (isWS(f.lName.value)) 
        errors += '    - Last Name\n';
    if (isWS(f.company.value)) 
        errors += '    - Company\n';
	if (isWS(f.title.value)) 
        errors += '    - Title\n';
	if (isWS(f.phone.value)) 
        errors += '    - Phone\n';
    if (isWS(f.email.value)) 
        errors += '    - E-mail\n';
    //if ((getCookie("brcdbookshelfemail")!=null) && (getCookie("brcdbookshelfemail")==invalidemail))
    //errors += '\nSorry, you can register only once.\n';
    if ((!isWS(f.email.value)) && (!testEmail(f.email.value))) 
        ferrors += 'The following field requires a valid value:\n\n';
    
    if ((!isWS(f.email.value)) && (!testEmail(f.email.value))) 
        ferrors += '    - E-mail\n';
    
    if ((testEmail(f.email.value)) && (!isWS(f.email.value)) && (chkDomain(f.email.value))) 
        ferrors += '\nThe e-mail ID you entered, ' + invalidemail + ', is from a restricted domain.  We do not allow e-mail IDs from certain domains, such as free access sites.  Please enter your company e-mail ID.\n';
    if (f.email.value != f.email2.value) 
        errors += '    - Pls enter same email\n';
    
    
    if (errors && ferrors) {
        finalerrors += errors;
        finalerrors += '\n';
        finalerrors += ferrors;
        finalerrors += '\n';
        alert(finalerrors);
    }
    else 
        if (errors) {
            finalerrors += errors;
            finalerrors += '\n';
            alert(finalerrors);
        }
        else 
            if (ferrors) {
                alert(ferrors);
            }
            else {
            }
    
    if (!((errors == '') && (ferrors == ''))) 
        return ((errors == '') && (ferrors == ''));
    
}
