//var GR_TP_elementName = '';
//var GR_TP_elementCount = 1;
var GR_TP_element = null;
//var GR_TP_element = GR_TP_getElement(element);

function GR_TP_defineElement (ele,count)
{
	GR_TP_element = GR_TP_getElement(ele);
}

function GR_TP_getElement (ele)
{
	if (ele && typeof ele == "string")
		return document.getElementById(ele);
	return ele;
}

function GR_TP_onmouseover (ele,add_css_class,remove_css_class) {
	if (ele != GR_TP_element) {
		GR_TP_addClassName(ele,add_css_class);
		GR_TP_addClassName(ele,remove_css_class);
	}
}

function GR_TP_onmouseout (ele,add_css_class,remove_css_class) {
	if (ele != GR_TP_element) {
		GR_TP_addClassName(ele,add_css_class);
		GR_TP_removeClassName(ele,remove_css_class);
	}
}

function GR_TP_onclick (ele,css_class,elementName,elementCount,add_css_class,remove_css_class) {
	GR_TP_element = GR_TP_getElement(ele);
	for (i=0;i<elementCount;i++) {
		//this.addClassName(ele,css_class);
		eleTmp = GR_TP_getElement(elementName+i)
		if (GR_TP_element != eleTmp) {
			GR_TP_addClassName(eleTmp, add_css_class);
			GR_TP_removeClassName(eleTmp, remove_css_class);
		}
	}
}


function GR_TP_addClassName (ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) != -1))
		return;
	ele.className += (ele.className ? " " : "") + className;
};

function GR_TP_removeClassName (ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) == -1))
		return;
	ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
};