/*
    autor: leonardo luis soares <llsalive@gmail.com>
*/


String.prototype.trim = function(c, t){/*{{{*/
            return c = "[" + (c == undefined ? " " : c.replace(/([\^\]\\-])/g, "\\\$1")) + "]+",
                        this.replace(new RegExp((t != 2 ? "^" : "") + c + (t != 1 ? "|" + c + "$" : ""), "g"), "");
};/*}}}*/

Class = {/*{{{*/
    create: function() {
        return function() {
            this.initialize.apply(this, arguments);
        }
    }
}/*}}}*/

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;
    }
}/*}}}*/

function $() {/*{{{*/
	var elementArray = 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;
		elementArray.push(element);
	}
	return elementArray;
}/*}}}*/

function $t() {/*{{{*/
	var elementArray = new Array();
	for(var i = 0; i < arguments.length; i++) {
		var elementArray = arguments[i];
		if(typeof element == "string")
				element = document.getElementsByTagName(element);
		if(arguments.length == 1)
				return element;
		elementArray.push(element);
	}
	return elementArray;
}/*}}}*/

function $h(formIdName) {/*{{{*/
	formObj = document.forms[formIdName] || $(f) || false;
	if(formObj.elements && formObj.elements.length > 0) {
	    returnValue = "";
	    for(var i = 0; i <= formObj.elements.length - 1; i++){
            //name = formObj.elements[i].name.trim();
            name = formObj.elements[i].name;
            //value = formObj.elements[i].value.trim();
            value = formObj.elements[i].value;
            type = formObj.elements[i].type;
			if(name && name != "" && value != "") {
            switch(type) {
               case "checkbox":
                  if(formObj.elements[i].checked)
                     returnValue += name + "=" + value + "&";
                  break;
               default:
			         returnValue += name + "=" + value + "&";
            }
			}	
		}
		return returnValue.substr(0,returnValue.length-1); 
	}
	return false;
}/*}}}*/

function $c(elementsClass, parentElement) {/*{{{*/
	var docTree = ($(parentElement) || document.body).getElementsByTagName('*');
	var returnValue = new Array();
	for(var i = 0; i < docTree.length; i++){
		if(docTree[i].className && docTree[i].className == elementsClass){
			returnValue.push(docTree[i]);
		}
	}
	return returnValue;
}/*}}}*/

function toggle(obj) {/*{{{*/
    var element = $(obj);
    if ( element.style.display != 'none' ) {
        element.style.display = 'none';
    }
    else {
        element.style.display = '';
    }
}/*}}}*/
