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 thnksppl(pid,userContext){
	var obj=$$(userContext);
	if (obj) { obj.style.backgroundImage = 'url(' + ajaxImgUrl + ')'; }
	services.GetThanks(pid, outerResult, OnCallError, userContext);
	return false;
}

//GetSubscribed
function sbscrbd(t, pid, userContext) {
	var obj=$$(userContext);
	if (obj) { obj.style.backgroundImage = 'url(' + ajaxImgUrl + ')'; }
	services.GetSubscribed(t, pid, outerResult, OnCallError, userContext);
	return false;
}

//onlnusrs
function onlnusrs(userContext){
	var obj=$$(userContext);
    if (!oBw.ie && obj) obj.innerHTML = ajaxImg;
	services.OnlineUsers(outerResult, OnCallError, userContext);
	return false;
}
//vstrs
function vstrs(userContext) {
	var obj=$$(userContext);
    if (!oBw.ie && obj) obj.innerHTML = ajaxImg;
	services.Visitors(outerResult, OnCallError, userContext);
	return false;
}
//brknlnks
function brknlnks(userContext) {
	var obj=$$(userContext);
    if (obj) obj.innerHTML = ajaxImg;
	services.GetBrokenLinks(outerResult, OnCallError, userContext);
	return false;
}

//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;
}






//report broken search
function rbs(id,type,sid,sender,userContext){
	if(confirm('Are you sure?')){
		services.ReportBrokenSearch(id,type,sid,rbs_ok,OnCallError,userContext);
		sender.outerHTML=userContext;
	}
	return false;
}
function rbs_ok(result, userContext, methodName) {
	//alert(result);
}

/*		********************************************		*/
//report Abuse
function rep_ab(id,type,sender,userContext){
	if(confirm(userContext)){
		services.ReportAbuse(id,type,rep_ab_ok,OnCallError,userContext);
		sender.outerHTML="Thank you!";
	}
	return false;
}
function rep_ab_ok(result, userContext, methodName) {
	//alert(result);
}



/*		********************************************		*/
//document.write("<textarea id='sdfsdfsdfsd'></textarea>");
//Get list of bets/events
var __lastButtonOn=null;
var gb_cid,gb_type,gb_refresh,gb_timer=0;
function GetBets(cid,type,refresh){
	if(gb_timer)
		window.clearTimeout(gb_timer);
	gb_cid=cid;
	gb_type=type;
	gb_refresh=refresh;
	GetBets_go();
}
function GetBets_go(){
	//alert(gb_cid+' '+gb_type);
	switch(__lastButtonOn){
		case "hlOffer":
			$$(__lastButtonOn).className="offer";
			break;
		case "hlOpen":
			$$(__lastButtonOn).className="open";
			break;
		case "hlEvents":
			$$(__lastButtonOn).className="event";
			break;
//		case "hlGroup":
//			$$(__lastButtonOn).className="group";
//			break;
	}
	switch(gb_type){
		case 1:
			$$('hlOffer').className="in_of";
			__lastButtonOn='hlOffer';
			break;
		case 2:
		case 3:
			$$('hlOpen').className="in_o";
			__lastButtonOn='hlOpen';
			break;
		case 4:
			$$('hlEvents').className="in";
			__lastButtonOn='hlEvents';
			break;
//		case 5:
//			$$('hlGroup').className="in";
//			__lastButtonOn='hlGroup';
//			break;
	}
	services.GetBets(gb_cid,gb_type,GetBets_ok,GetBets_err);
	return false;
}
function GetBets_ok(result, userContext, methodName) {
	//alert(result);
	//setFlashVar('zoomamap','strxmlinput',result);
	//alert(document.zoomamap.SetVariable);
	//$$("sdfsdfsdfsd").value=result;
	document.zoomamap.SetVariable("strxmlinput",result);
	gb_timer=window.setTimeout("GetBets_go()",gb_refresh);
}
function GetBets_err(error, userContext, methodName) {
	if(displayError && error !== null) {
		//alert(error.get_message());
	}
}
function zoomamap_DoFSCommand(command, args){ 
	//alert("cm:"+command+" arg:"+args); 
	switch(command) {
		case "OpenMapUrl":
			window.open(args);
			break;
		case "ZoomIn":
			break;	
		case "ZoomOut":
			break;
		case "TestOfferedBets":
			setFlashVar('zoomamap','strxmlinput',strofferedbets)
			break;
		case "TestOpenBets":
			setFlashVar('zoomamap','strxmlinput',stropenbets)
			break;
		case "TestEvents":
			setFlashVar('zoomamap','strxmlinput',strevents)
			break;
		case "TestGroups":
			setFlashVar('zoomamap','strxmlinput',strevents)
			break;
	}
}

/*		********************************************		*/
var gmf_timer;
function GetMiniFeed(refresh){
	if(gmf_timer)
		window.clearTimeout(gmf_timer);
	GetMiniFeed_go(refresh);
}
function GetMiniFeed_go(refresh){
	services.GetMiniFeed(GetMiniFeed_ok,GetMiniFeed_err,refresh);
	return false;
}
function GetMiniFeed_ok(result, userContext, methodName) {
	if(result=="")
		return;
	var wasOpened=wasOpened=$$("dvAddFeed").style.display=="block";
	$$("dvScene").innerHTML=result;
	gmf_timer=window.setTimeout("GetMiniFeed_go("+userContext+")",userContext);
	if(wasOpened)
		$$("dvAddFeed").style.display="block";
}
function GetMiniFeed_err(error, userContext, methodName) {
	if(displayError && error !== null) {
		//alert(error.get_message());
	}
}

/*		********************************************		*/
//Get list of bets/events
function BCats(catId,catType){
	services.BCats(catId,catType,BCats_ok,OnCallError);
}
function BCats_ok(result, userContext, methodName) {
	catLoaded(result);
}

/*		********************************************		*/
//refresh login
var timerRefLogin;
function GetLoginInfo(userContext){
	services.GetLoginInfo(GetLoginInfo_ok,GetLoginInfo_err,userContext);
}
function GetLoginInfo_ok(result, userContext, methodName){
	//alert('!'+result+'!');
	var qwe=userContext.split("#");
	//alert(qwe+" "+result+" "+result.substr(0,5)!="#####")
	//alert(result.substr(0,5)!="#####");
	if(result!="" && result.substr(0,5)!="#####"){
		var info=result.split("#####");
		timerRefLogin = window.setTimeout("GetLoginInfo('"+userContext+"')",parseInt(qwe[0]));
		$$("spnLogin").innerHTML=info[1];
		$$("dvTime").innerHTML=info[0];
		if(info[2].length>0){
			$$("dvData").innerHTML=info[2];
			$$("dvData").style.display="inline";
		}else
			$$("dvData").style.display="none";
	}else{
		var info=result.split("#####");
		$$("spnLogin").innerHTML=info[1];
		//$$(qwe[1]).click();
		//$$("spnLogin").innerHTML="xxx";
	}
}
function GetLoginInfo_err(error, userContext, methodName){
	
}

/*		********************************************		*/
//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);
}

/*		********************************************		*/
//to black list member
function bl_member(id,type,sender,userContext){
	var msg='';
	switch(type){
		case 1:
			msg="Are you sure you want to block "+userContext+"?";
			break;
		case 2:
			msg="Are you sure you want to add "+userContext+" to the black list?";
			break;
	}
	if(confirm(msg)){
		services.BlackListMember(id,type,bl_member_ok,OnCallError,type+"#"+userContext);
		//sender.outerHTML="Member in black list!";
	}
	return false;
}
function bl_member_ok(result, userContext, methodName) {
	var msg='';
	var ss=userContext.split("#");
	switch(ss[0]){
		case '1':
			msg="You have successfully blocked "+ss[1]+".";
			break;
		case '2':
			msg="You have successfully added "+ss[1]+" to the black list.";
			break;
	}
	alert(msg);
}

/*		********************************************		*/
//decline chat request
function decChatReq(id,id2,accept,userContext){
	services.RemoveChatRequest(id,accept,decChatReq_ok,OnCallError,userContext);
	//alert(getElemText($$("dvData")));
	$$('spnCht'+id+"_"+id2).innerHTML='';
	if(my_trim(getElemText($$("dvData"))).length==0)
		$$("dvData").style.display="none";
	
	//$$('spnCht'+id+"_"+id2).outerHTML='';
	//alert("!"+$$('spnCht'+id+"_"+id2).outerHTML+"!");
	//alert("!"+$$("dvData").innerHTML+"!");
	//alert($$("dvData").innerHTML=="Chat requests: ");
	//$$("dvData").style.display="none";
	return false;
}
function decChatReq_ok(result, userContext, methodName) {
	//alert(result);
}

/*		********************************************		*/
function s_VFJ(rid,sprt,userContext){
	services.VoteForJudge(rid,sprt,s_VFJ_ok,OnCallError,userContext);
	return false;
}
function s_VFJ_ok(result, userContext, methodName) {
	if(result>0){
		alert("Thanks for voting!");
		location.href=location.href;
	}else
		alert("Already voted!");
	//$$(userContext).innerHTML="Thanks for voting!";
}

/*		********************************************		*/
function s_VFDJ(rid,sprt,userContext){
	services.VoteForJudgeDisqualification(rid,sprt,s_VFDJ_ok,OnCallError,userContext);
	return false;
}
function s_VFDJ_ok(result, userContext, methodName) {
	if(result>0){
		alert("Thanks for voting!");
		location.href=location.href;
	}else
		alert("Already voted!");
	$$(userContext).innerHTML="Thank you!";
}

/*		********************************************		*/
function s_FR(mid){
	services.FriendRequest(mid,s_FR_ok,OnCallError);
	return false;
}
function s_FR_ok(result, userContext, methodName) {
	alert(result);
}

/*		********************************************		*/
function s_SSL(mid){
	services.Subscribe(mid,s_SSL_ok,OnCallError);
	return false;
}
function s_SSL_ok(result, userContext, methodName) {
	alert(result);
}

