If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Fisrt of all, your javascript is too verbose. Did you know the empty string "", the undefined and null are all falsy values?
That means the condition:
if (((taxi!=null && taxi!="")&&(taxip==null || taxip=="")) || ((taxi==null || taxi=="")&&(taxip!=null && taxip!="")))

can be just written:
if ((taxi && !taxip) || (!taxi && taxip))

May I suggest using the Developer Tools found in all major web browsers to really pinpoint the line number where the error is occurring.
If you get the alert message then the problem may certainly not coming from the function.
Beside when using a validation function, you should always return false when the validation failed and true otherwise.