You should probably use the magic arguments array in your function to avoid the ugly array you are using as the second argument.
_meq.push("track",["event_name",{property_name: "value"}])
becomes _meq.push("track","event_name",{property_name: "value"})
By changing the top of the mixpanel function to: mixpanel: function() {
var mixPanelArgs = Array.prototype.slice.call( arguments );
var functionName = mixPanelArgs.shift();