{ meta: { html: 'true', control_name: 'login', timecode: '1143199729' }, html : '
Login
', insertion: function () { $('login_container').innerHTML = this.html;}, control: { initialize : function (opts) { this.options = { username: 'username', password: 'password', email: 'email', button: 'login_submit' }; Object.extend(this.options, opts); $('login_submit').onclick = this.login.bindAsEventListener(this); Behaviour.apply(); }, login: function (event) { var query = 'username=' + escape($(this.options.username).value) + '&' + 'password=' + escape($(this.options.password).value); if($(this.options.email).value != '') { query += '&email=' + escape($(this.options.email).value) + '&action=createuser'; } else { query += '&action=auth'; } query += "&timekey=" + new Date().getTime(); var options = {method: 'post', parameters: query, onComplete: this.recieve_login.bind(this)}; new Ajax.Request(this.options.uri, options); }, recieve_login : function (request) { if(request.responseText) { var response; eval('response = ' + request.responseText + ';'); alert(response.information.message); if(parseInt(response.information.success) == 1) { Controls.release_control('login'); } } }, unload : function (controller) { controller.fetch_control('logout'); } } }