HTML, CSS, PHP, MySQL, servers, statement, style, data... lines upon lines and tables upon tables and definitions upon definitions. And you complain that the UI is too complex...
The Location exotic object is defined through a mishmash of IDL, invocation of JavaScript internal methods post-creation, and overridden JavaScript internal methods. Coupled with its scary security policy, please take extra care while implementing this excrescence.