I put everything in parentheses but code below still throws error in jslint:
Problem at line 5 character 104: The \'&&\' subexpression should be wrap
I think it wants this:
if (((typeof (c1) === 'string') && (typeof (c2) === 'string') && (c1 !== null) && (c2 !== null)) && ((c1.trim()) === '') || ((c2.trim()) !== '')) {
wrap the 4 anded expressions on the left of the && at 100.