
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = (userAgent.indexOf('opera') != -1);
var is_saf = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
var is_webtv = (userAgent.indexOf('webtv') != -1);
var is_ie = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4 = ((is_ie) && (userAgent.indexOf('msie 4.') != -1));
var is_moz = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon = (userAgent.indexOf('konqueror') != -1);
var is_ns = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4 = ((is_ns) && (parseInt(navigator.appVersion) == 4));
var is_mac = (userAgent.indexOf('mac') != -1);


function findobj(n, d) {
	var p, i, x;
	if(!d) d = document;
	if((p = n.indexOf("?"))>0 && parent.frames.length) {
		d = parent.frames[n.substring(p + 1)].document;
		n = n.substring(0, p);
	}
	if(x != d[n] && d.all) x = d.all[n];
	for(i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
	for(i = 0; !x && d.layers && i < d.layers.length; i++) x = findobj(n, d.layers[i].document);
	if(!x && document.getElementById) x = document.getElementById(n);
	return x;
}

function getObj(id) {
	if (document.all) { return document.all[id]; } 
	else if(document.getElementById) {	return document.getElementById(id);	}
	else if(document.layers) { return document.layers[id]; }
}

function arraypop(a) {
	if(typeof a != 'object' || !a.length) {return null;}
	else {
		var response = a[a.length - 1];
		a.length--;
		return response;
	}
}

function arraypush(a, value)
{
	a[a.length] = value;
	return a.length;
}


function findtags(parentobj, tag) {
	if(typeof parentobj.getElementsByTagName != 'undefined') {return parentobj.getElementsByTagName(tag);}
	else if(parentobj.all && parentobj.all.tags) {return parentobj.all.tags(tag);}
	else {return null;}
}

function getcookie(name) {
	var cookie_start = document.cookie.indexOf(name);
	var cookie_end = document.cookie.indexOf(";", cookie_start);
	return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length)));
}


function getAbsoluteOffsetTop(obj) {
	var top = obj.offsetTop;
	var parent = obj.offsetParent;
	while (parent != null) {
		top += parent.offsetTop;
		parent = parent.offsetParent;
	}
	return top;
}

function getAbsoluteOffsetLeft(obj) {
	var left = obj.offsetLeft;
	var parent = obj.offsetParent;
	while (parent != null) {
		left += parent.offsetLeft;
		parent = parent.offsetParent;
	}
	return left;
}

function showLoginBox(area) {
	var loginbox = getObj("loginbox");
	if (!loginbox) return;
	
	if (loginbox.style.display != 'block') {
		var offset = 200 - area.offsetWidth;	// align to the right of the area
		offset = (offset < 50) ? 100 : offset;
		offset = getAbsoluteOffsetLeft(area) - offset;
		if (offset < 10) offset = 10; 
		loginbox.style.left = offset + 'px';
		loginbox.style.top = (getAbsoluteOffsetTop(area) + 20) + 'px';	
		loginbox.style.display = 'block';
	} 
	else {
		loginbox.style.display = 'none';
	}
}

var now = new Date();
var timenow = now.getTime()/1000;

function showTime(time) {
	time = parseInt(time);
	if (time == 0) return;
	if (timenow <= time) {
		document.write('0 minute ago');
		return;
	}

	var txt = '';	
	var diff = timenow - time;

	var days = parseInt(diff/86400);
	var time_days = days > 0 ? days + ( days > 1 ? ' days ': ' day ') : '';

	diff = diff % 86400;
	var hours = parseInt(diff/3600);
	var time_hours = hours > 0 ? hours + ( hours > 1 ? ' hours ': ' hour ') : '';

	diff = diff % 3600;
	var minutes = parseInt(diff/60);
	var time_minutes = minutes >= 0 ? minutes + ( minutes > 1 ? ' minutes ': ' minute ') : '';

	txt = days > 0 ? time_days + time_hours + ' ago' :
			time_hours + time_minutes + ' ago';
	
	document.write(txt);

}

function containsDOM (container, containee) {
  var isParent = false;
  do {
    if ((isParent = container == containee))
      break;
    containee = containee.parentNode;
  }
  while (containee != null);
  return isParent;
}

function checkMouseLeave (element, evt) {

  evt = (evt) ? evt : ((window.event) ? window.event : "");
  window.status = evt;
  if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  } else {
        if (element.contains(evt.toElement)) {
                return(false);
        } else {
                return(true);
        }
  }
}

function ShowHideComplain(i){
	nav = getObj('clist'+i).style;
	con = getObj('cdrop'+i);
	if(nav.display=="none"){
		// set mouseout function here
		nav.display = 'block';
		con.onmouseout = function(evt) {
			if (checkMouseLeave(this, evt)) {
				i = parseInt(this.id.substr(5));
				nav = getObj('clist'+i).style;
				nav.display = 'none';
			}
		}
	} else {
		nav.display='none';
		con.onmouseout = function (evt) {
			if (checkMouseLeave(this, evt)) {
				i = parseInt(this.id.substr(5));
				nav = getObj('clist'+i).style;
				nav.display= 'none';
			}
		}
	}
}
function start_search(){
	var inputnode = getObj('searchinput');
	if (inputnode && inputnode.value == 'Search...') {
		inputnode.value = '';
		inputnode.style.color = '#000';
	}
}

/* dig and comment */
function dig_action(link,function_name,item_name){
	if(isAuth == false){
		var item = getObj(item_name);
		showLoginBox(item);
	}else{
		L_CallEx(link,null,function_name,null);
	}
}


function dig_complain(resInfo,obj){
	var dig_result = eval("("+resInfo+")");
	var complain_content = getObj("complain_content");
	if (complain_content) {
		complain_content.innerHTML = dig_result.message;
		setTimeout("hide_complain_msg()",2400);
	}
}

function hide_complain_msg() {
	var complain_content = getObj("complain_content");
	if (complain_content) complain_content.innerHTML = '';
}