function $(id, c) {
    var bufferObject = null;
    bufferObject = document.getElementById(id);
    if (bufferObject == null && arguments.length == 1) bufferObject = document.getElementsByName(id).item(0);
    else if (bufferObject == null && arguments.length == 2) bufferObject = document.getElementsByName(id).item(c);

    if (bufferObject == null && arguments.length == 1) bufferObject = document.getElementsByTagName(id).item(0);
    else if (bufferObject == null && arguments.length == 2) bufferObject = document.getElementsByTagName(id).item(c);
    return bufferObject;
}

Array.prototype.trueLength = function() {
    var bufferLen = 0;
    for (var i=0; i<this.length;i++)
         if (this[i]) bufferLen++;
    return bufferLen;
}

function showid(id) {
	var o = document.getElementById(id);
	o.style.display = "block";
}

function hideid(id) {
	var o = document.getElementById(id);
	o.style.display = "none";
}

function addEvent( obj, type, fn ) {
    if ( obj.attachEvent ) {
        obj['e'+type+fn] = fn;
        obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
        obj.attachEvent( 'on'+type, obj[type+fn] );
    } else
        obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
    if ( obj.detachEvent ) {
        obj.detachEvent( 'on'+type, obj[type+fn] );
        obj[type+fn] = null;
    } else
        obj.removeEventListener( type, fn, false );
}

if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){
  HTMLElement.prototype.insertAdjacentElement = function
  (where,parsedNode)
	{
	  switch (where){
		case 'beforeBegin':
			this.parentNode.insertBefore(parsedNode,this)
			break;
		case 'afterBegin':
			this.insertBefore(parsedNode,this.firstChild);
			break;
		case 'beforeEnd':
			this.appendChild(parsedNode);
			break;
		case 'afterEnd':
			if (this.nextSibling)
      this.parentNode.insertBefore(parsedNode,this.nextSibling);
			else this.parentNode.appendChild(parsedNode);
			break;
		}
	}

	HTMLElement.prototype.insertAdjacentHTML = function
  (where,htmlStr)
	{
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML)
	}


	HTMLElement.prototype.insertAdjacentText = function
  (where,txtStr)
	{
		var parsedText = document.createTextNode(txtStr)
		this.insertAdjacentElement(where,parsedText)
	}
};



String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}