
String.prototype.ucFirst=function(){
	if(this=='')
		return this;
	else
		return (this.substring(0,1).toUpperCase()+this.substring(1, this.length));
};

window.getTopOffset=function(htmlElement){
	return getOffset(htmlElement, 'top');
};

window.getLeftOffset=function(htmlElement){
	return getOffset(htmlElement, 'left');
};

window.getOffset=function(htmlElement, attr){
	var offset=0;
	offsetName='offset'+attr.ucFirst();

	while(htmlElement)
	{
		offset+=htmlElement[offsetName];
		htmlElement=htmlElement.offsetParent;
	}
	return offset;
};

window.getLastParentTag=function(htmlElement, tagName){
	var parentNode=htmlElement;
	tagName=tagName.toUpperCase();

	while(parentNode=parentNode.parentNode)
	{
		if(parentNode.tagName==tagName)
			break;
	}
	return parentNode;
};




function $(elementId)
{
	return document.getElementById(elementId);
}

function bodyInitCoreAction()
{
	var picoSearchInput=$('pico_search_bt');

	picoSearchInput.onfocus=function(e){
		this.value=(this.value=='Search...')?'':this.value;
	};

	picoSearchInput.onblur=function(e){
		this.value=(this.value=='')?'Search...':this.value
	};
}

function getElementsByClassName(classname, node)
{
	if(!node) node=document.getElementsByTagName("body")[0];
	var a=[];
	var re=new RegExp("(^|\\s)" + classname + "(\\s|$)");
	var els=node.getElementsByTagName("*");

	for(var i=0,j=els.length; i<j; i++)
		if(re.test(els[i].className))a.push(els[i]);

	return a;
}


function addEvent(obj, evType, func) {
   if (obj.addEventListener) {
      obj.addEventListener(evType, func, false);
   } else if (obj.attachEvent) {
      window.attachEvent("on"+evType, func);
   } else if (typeof obj["on"+evType] != "function") {
      obj["on"+evType] = func;
   } else {
      var oldfunc = obj["on"+evType];
      obj["on"+evType] = function() {
         oldfunc();
         func();
      };
   }
}

