var displayError=true;
//var ajaxImg="<img src='ajax4.gif' onError='return false;' align='absmiddle' border='0' hidefocus='hidefocus' />";

function OnCallError(error, userContext, methodName) {
	if(displayError && error !== null) {
		alert(error.get_message());
	}
}

/*		********************************************		*/
//check nick name
function chknn(nn,userContext){
	services.CheckNickName($$(nn).value, chknn_ok, OnCallError, userContext);
	$$(userContext).innerHTML == ajaxImg;
	return false;
}
function chkem(em,userContext){
	services.CheckEmail($$(em).value, chknn_ok, OnCallError, userContext);
	$$(userContext).innerHTML == ajaxImg;
	return false;
}
function chknn_ok(result, userContext, methodName) {
	if(result)
		$$(userContext).innerHTML = "<b>In Use</b>";
	else
		$$(userContext).innerHTML = "<b>Available</b>";
}



//report broken link
function rbl(pid,tid,pn,lnk,sender,userContext){
	if(confirm('Are you sure?')){
		services.ReportBrokenLink(pid,tid,pn,lnk,rbl_ok,OnCallError,userContext);
		sender.outerHTML = 'Thank you for reporting broken link.\nYou\'ll be notified when there are new links.';
	}
	return false;
}
function rbl_ok(result, userContext, methodName) {
	//alert("Thank you for reporting broken link");
}


function outerResult(result, userContext, methodName) {
	var obj = $$(userContext);
	if(obj)setOuterHTML(obj,result);
}


//thnksppl
function dnld(pid,pu,rn,userContext){
	var obj = $$(userContext);
	if (obj) { obj.style.backgroundImage = 'url(' + ajaxImgUrl + ')'; }
	services.GetLinks(pid, pu, rn, outerResult, OnCallError, userContext);
	return false;
}

//sbscrb
function sbscrb(pid, st, stt, userContext) {
	//alert(1);
	var obj = $$(userContext);
	if (obj) { obj.style.backgroundImage = 'url(' + ajaxImgUrl + ')'; }
	services.Subscribes(pid, st, stt, outerResult, OnCallError, userContext);
	return false;
}

//rtng
var _rated=false;
function rtng(pid,rt,userContext){
	if (_rated) return false;
	_rated=true;
	services.Rate(1, pid, rt, rtng_ok, OnCallError, userContext);
	return false;
}
function rtng_ok(result, userContext, methodName){
	if(result.length>0)
		alert(result);
}

function cmntrtng(hl, cid, rt, userContext) {
	setOuterHTML(hl,ajaxImg);
	services.Rate(2, cid, rt, cmntrtng_ok, OnCallError, userContext);
	return false;
}
function cmntrtng_ok(result, userContext, methodName) {
	var obj = $$(userContext);
	if (obj) obj.innerHTML = result;
}





/*		********************************************		*/
//Get list of online users
var dispOnlineList_already=false;
var dispOnlineList_list="";
var dispOnlineList_opened=false;
function dispOnlineList(obj){
	if(dispOnlineList_opened){
		dispOnlineList_opened=false;
		$$('dvOnline').style.visibility = 'hidden';
		return false;
	}
	if(!dispOnlineList_already)
		services.GetOnlineList(dispOnlineList_ok,OnCallError);
	else{
		$$('dvOnline_cont').innerHTML = dispOnlineList_list;
		window.setTimeout("$$('dvOnline').style.visibility='visible';", 50);
	}
	$$('dvOnline').style.left = (fGetLeft(obj)) + "px";
	$$('dvOnline').style.top = (fGetTop(obj) + obj.offsetHeight + 5) + "px";
	dispOnlineList_opened=true;
	return false;
}
function dispOnlineList_ok(result, userContext, methodName){
	dispOnlineList_list=result;
	dispOnlineList_list=xreplace(result,'<hr class="spltrAvtr" />','<div class="spltrAvtr1"><!-- --></div>');
	//alert(dispOnlineList_list);
	$$('dvOnline_cont').innerHTML = dispOnlineList_list;
	window.setTimeout("$$('dvOnline').style.visibility='visible';",50);
	dispOnlineList_already=true;
}

/*		********************************************		*/
//site ban member
function sb_member(id,sender,userContext){
	if(confirm(userContext)){
		services.SiteBanMember(id,sb_member_ok,OnCallError,userContext);
		sender.outerHTML="Member banned!";
	}
	return false;
}
function sb_member_ok(result, userContext, methodName) {
	//alert(result);
}

