An advanced select ( radio, lookup, combo) directive with typeahead function for angularjs