//Live Users Pro
//NDWDesign 2007
//http://www.ndwdesign.net

var tip_status = true; 
var lvu_cardtimeout = setTimeout('', 500);
var x = false;
lvu_initGenderFilter();

function lvu_initGenderFilter() {
	cookie = document.cookie;
	lvu_cookie = cookie.search('lvu_genderfilter=');
	if(lvu_cookie!=-1) {
		cookie = cookie.substring(lvu_cookie+17,cookie.length+1);
		endpos = cookie.search(';')
		if (endpos==-1) endpos=cookie.length;
		lvu_oldgenderfilter = cookie.substring(0, endpos);
		if ((lvu_oldgenderfilter != "") && document.getElementById("lvu_genderselectfield")) {
			document.getElementById("lvu_genderselectfield").value = lvu_oldgenderfilter;
			lvu_genderFilter(lvu_oldgenderfilter);
		}
	}
}

function tipStatus (status) {
	tip_status = status;
}

function lvu_genderFilter(filter) {
	var nameArray = new Array;
	document.cookie = 'lvu_genderfilter='+filter+';';
	lvuList = document.getElementById('lvu_userlist');
	lvuListElements=lvuList.childNodes;
	for (i=0; i<lvuListElements.length; i++) {
		if((lvuListElements[i].nodeType == 1)) {
			if((lvuListElements[i].getAttribute('gender') != filter) & (filter != "all")) {
				lvuListElements[i].style.display = "none";
			} else {
				lvuListElements[i].style.display = "";
			}
		}
	}

}
/**
* Creates a custom hovering tooltip
* @param object htmlDivElement srcElement of Event
* @param string id of custom tooltip div
* @param string urlencoded html
* @param int top offset of tooltip from srcElement
* @param int left offset of tooltip from srcElement
* @param int width of tooltip div
* @param bool static tooltip or follow cursor
* @param string mouse cursor format(hand, pointer, crosshair, help, wait )
*/
function showTip(el, id, html, top_offset, left_offset, tip_width, cursor_follow, cursor_type, mousedelay, scrolling) {
	clearTimeout(lvu_cardtimeout);
	if (!tip_status) return false;	 
	 // add tooltip to document if not already present	
	 if (!(x = document.getElementById(id))) {
		x = document.createElement('div');
		document.body.appendChild(x);
		x.setAttribute('id', id);
	 	x.style.zIndex = '1000';
		x.style.width = tip_width;
		x.style.position = 'absolute';
		//Define Timeout functions
		x.onmouseout = function () {lvu_cardtimeout = setTimeout(function() {hideTip(x.id);}, mousedelay)};
		x.onmouseover = function () {clearTimeout(lvu_cardtimeout)};		
	 } else {
		x = document.getElementById(id);
	 }
	x.innerHTML = html;
	// Make tooltip visible
	cancel_button = document.createElement('div');
	cancel_button.setAttribute('id','cancel_button');
	cancel_button.onclick = function() { tipStatus(true); hideTip(''+ id +'', 1); }
	x.appendChild(cancel_button);
	//Output tooltip content into tooltip container
	x.style.display = (x.style._display) ? x.style._display : 'block';
	// position
	var el_h = ( el_h = parseInt(el.style.height)) ? el_h : 0;
	var el_w = ( el_w = parseInt(el.style.width)) ? el_w : 0;
	
	if (scrolling) {
		el = document.getElementById('lvu_scrollbox');
		x.style.top = (getTop(el) + top_offset) +'px';
		x.style.left = (getLeft(el) + left_offset)+'px';
	} else {
		x.style.top = (getTop(el) + el_h + top_offset)  + 'px';
	 	x.style.left = (getLeft(el) + el_w + left_offset)  + 'px';
	 }
	 // mouse cursor
	if (cursor_type) el.cursor = cursor_type;
	
	return true;
}

function hideTip(id, force) {
	if (!tip_status && force != 1) return false;
	var x = document.getElementById(id);
	clearTimeout(lvu_cardtimeout);
	x.style.display = 'none';
	return true;
}

function myUnescape(txt) {
	return decodeURIComponent(txt);
}

function getLeft(elem){
	var x=0;
	if (elem.calcLeft)
		return elem.calcLeft;
	var oElem=elem;
	while(elem){
		 if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderLeftWidth)))&&(x!=0))
			x+=parseInt(elem.currentStyle.borderLeftWidth);
		 x+=elem.offsetLeft;
		 elem=elem.offsetParent;
	  }
	oElem.calcLeft=x;
	return x;
}

function getTop(elem){
	 var x=0;
	 if (elem.calcTop)
		return elem.calcTop;
	 var oElem=elem;
	 while(elem){
		 if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderTopWidth)))&&(x!=0))
			x+=parseInt(elem.currentStyle.borderTopWidth);
			x+=elem.offsetTop;
			elem=elem.offsetParent;
	 }
	 oElem.calcTop=x;
	 return x;

}

