Object.extend=function(des,src){for(var property in src){des[property]=src[property]}return des};Object.extend(Object,{clone:function(object){return Object.extend({},object)}});var Class=function(){var _class=function(){this.initialize.apply(this,arguments)};for(var i=0;i<arguments.length;i ++){var superClass=arguments[i];for(var member in superClass.prototype){_class.prototype[member]=superClass.prototype[member]}};_class.child=function(){return new Class(this)};_class.extend=function(source){for(var p in source){_class.prototype[p]=source[p]}};return _class};var G=function(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string'){element=document.getElementById(element)}if(arguments.length==1)return element;elements.push(element)}return elements};var gF=function(element){element=G(element);var method=element.tagName.toLowerCase();var parameter;switch(method){case "input":switch(element.type.toLowerCase()){case 'submit':case 'hidden':case 'password':case 'text':parameter=[element.name,element.value];break;case 'checkbox':case 'radio':if(element.checked)parameter=[element.name,element.value];break}case "inputSelector":if(element.checked)parameter=[element.name,element.value];break;case "textarea":parameter=[element.name,element.value];break}if(parameter)return parameter[1]};Function.prototype.bind=function(){var __method=this,args=(arguments),object=args[0];return function(){return __method.apply(object,args)}};Function.prototype.bindAsEventListener=function(object){var __method=this;return function(event){__method.call(object,event||window.event)}};var Try={these:function(){var returnValue;for(var i=0;i<arguments.length;i++){var lambda=arguments[i];try{returnValue=lambda();break}catch(e){}}return returnValue}};