IIRC... If there is no defined shipping date, the merchant needs to ship within 30 days of a telephone or mail order. If the merchant can't or doesn't meet the 30 days, they need to notify you of the new delivery date and you can accept or deny getting a refund. This is FTC mail/telephone order merchandise rules.
If they have violated the rules, hold your credit card company, feet to the fire, getting the charge reversed. Possibly filing a FTC complaint or consumer protection filing.
There are also rules about charging your card prior to shipment. Does your card require that? Another avenue to investigate.