//  Required by this script
// <div id="mOptions"></div>
// <div id="mUserArea">waiting </div>
//   var chan = 2050;
//
function groupchannel(channel)
{
   ControlChannel = channel;
}

function groupserver(grpid, grpname)
{

   ControlGroup = grpid;
   ControlGroupName = grpname;
//    doserver('set', 'lockdown', 'false');
//    doserver('set', 'group', grpid);
}

function doserver(cmd, vvar, val)
{
// cmd=server
// do=unset
// var=lockdown
// val=whatever

  url = "http://ninbot.com/app/farm.php?chan=" + ControlChannel + "&cmd=server&do=" + cmd + "&var=" + vvar + "&val=" + val + "&ncache=" + (new Date()).valueOf();

  $.get(url,{},function(xml) {     
//	$("#mOptions").html("it is so.<br><br>"); 
   	farmReport(0);
//               $('error',xml).each(function(i) {
//			$("#mOptions").html( $(this).find("error").text());
//
//		});
  });


}

 
var ControlChannel = 2050;
var ControlGroup = 0;
var ControlGroupName = "";
var ControlSession = 0;

function douser_confirm(username, cmd, val)
{
  if (val == "cancel") {   
       $("#mOptions").html(""); return;
  }


  url = "http://ninbot.com/app/farm.php?chan=" + ControlChannel + "&cmd=user&do=" + cmd + "&user=" + username + "&ncache=" + + (new Date()).valueOf();

//  url += "&msg=";
  $.get(url,{},function(xml) {     
//	$("#mOptions").html("it is so.<br><br>"); 
   	farmReport(0);
// $("#mOptions").html(url);
  });


}
function douser(username, cmd)
{
  if (cmd == "nothing") {   
       $("#mOptions").html(""); return;
  }

  ht = '';
  ht += "Confirm <b>" + cmd + "</b> to <b>" + username + "</b>";
  ht += " <a href=\"javascript:douser_confirm('" + username + "', '" + cmd + "', 'yes');\">yes</a>";
  ht += " <a href=\"javascript:douser_confirm('" + username + "', '" + cmd + "', 'cancel');\"> cancel</a>";
  ht += "<br><br><br>";
   $("#mOptions").html(ht);
}

function mNinbotUser (username)
{
  ht = '';
  ht += "What would you like to do to " + username + " ?<br>";
   ht += "<br>";
  ht += "<a href=\"javascript:douser('" + username + "', 'kick')\">kick</a>"; ht += "<br>";
//  ht += "<a href=\"javascript:douser('" + username + "', 'ban')\">ban</a>";  ht += "<br>";
//  ht += "<a href=\"javascript:douser('" + username + "', 'vip')\">vip</a>";  ht += "<br>";
//  ht += "<a href=\"javascript:douser('" + username + "', 'mute')\">mute</a>";  ht += "<br>";
//  ht += "<a href=\"javascript:douser('" + username + "', 'msg')\">send message</a>";  ht += "<br>";
   ht += "<br>";
  ht += "<a href=\"javascript:douser('" + username + "', 'nothing')\">(cancel)</a>";
  ht += "<br>";
  ht += "<br>";
                  $("#mOptions").html(ht);

}
function endGroupSession () {
    doserver('set', 'groupid', 0);

}


function eventSession () {
    doserver('set', 'groupid', ControlGroup);
    doserver('set', 'groupevent', "Event");
    doserver('set', 'groupname', ControlGroupName);
}

function groupSession () {
    doserver('set', 'groupid', ControlGroup);
    doserver('set', 'groupevent', "");
    doserver('set', 'groupname', ControlGroupName);
}

function groupReport () {
   var ur = "/app/farm.php?chan=" + ControlChannel + "&ncache=" + (new Date()).valueOf();
   myHTMLOutput = '';
//   myHTMLOutput += 'Welcome to group server mode...its just not quite ready';
   var islockdown = 0;
   var sgroupid = 0;
   var usercnt = 0;
   var sgroupname = "";

   $("#mUserArea").html(myHTMLOutput);

   $.get(ur,{},function(xml) {
        $('access',xml).each(function(i) {
             islockdown = $(this).find("lockdown").text();
	     sgroupid = $(this).find("groupid").text();
	     sgroupname = $(this).find("groupname").text();
	});
        $('user',xml).each(function(i) {
	   usercnt++;
	});

//        myHTMLOutput += '<br>';

	if (sgroupid == ControlGroup) {
//   	    myHTMLOutput += 'Your Group is in Session <br>';
//  	    myHTMLOutput += "<a href='javascript:endGroupSession();'>End Group Session</a><br>";
	    realFarmReport (1);
        } else {
   	    myHTMLOutput += 'Your Group is not in Session <br>';
	    if (usercnt == 0) {
   	    	myHTMLOutput += 'The group server is available<br>';
	    } else {
	        if (sgroupid != 0) {
   	    	    myHTMLOutput += 'Another group is currently in session<br>';
	        }
   	    	myHTMLOutput += 'There are users on the server (' + usercnt + ' users)<br>';
	    }
	    if (sgroupid == 0 || usercnt == 0) {
  	       myHTMLOutput += "<a href='javascript:eventSession();'>Start Group Event</a><br>";
  	       myHTMLOutput += "<a href='javascript:groupSession();'>Start Group Session</a><br>";
	    } else {
   	       myHTMLOutput += 'You will need to wait till the server is available<br>';
 	    }
   	}

//   	myHTMLOutput += '<br>Server Group Id is ' + sgroupid + '<br>';
//   	myHTMLOutput += 'Server Group Name is ' + sgroupname + '<br>';
   	$("#mUserArea").html(myHTMLOutput);
	
   });

   $("#mUserArea").html("getting info");
}

var usercnt = 0;
function farmReport (always) {

   if (ControlGroup != 0 && always != 1 ) {
	groupReport();
	return;
   }
   realFarmReport(always);
}

function realFarmReport (always, dontdel) {

   var ur = "/app/farm.php?chan=" + ControlChannel + "&ncache=" + (new Date()).valueOf();
   $.get(ur,{},function(xml) {

       usercnt = 0;
                // Build an HTML string
                myHTMLOutput = '';
	if (ControlGroup) {
   	    myHTMLOutput += 'Your Group is currently in Session on ninbot.com:' + ControlChannel + '<br>';
  	    myHTMLOutput += "<a href='javascript:endGroupSession();'>End Group Session</a><br><br>";
        } 
	
	 	var islockdown = 0;	
               $('access',xml).each(function(i) {
	      	  islockdown = $(this).find("lockdown").text();


		});
	  	if (islockdown == "1") {
   		    myHTMLOutput += 'Server is currently locked down.  <a href="javascript:doserver(\'unset\', \'lockdown\', \'na\');">Open Server</a><br>';
		} else {
if (ControlGroup == 0) {
   		   myHTMLOutput += 'Server is currently Open.  <a href="javascript:doserver(\'set\', \'lockdown\', \'true\');">Lockdown Server</a><br>';
}
		}
   		   myHTMLOutput += '<br>';
               myHTMLOutput += '<table width="98%" border="0" cellpadding="0" cellspacing="0">';
                // Run the function for each student tag in the XML file
               $('user',xml).each(function(i) {
                       sName = $(this).find("n").text();
                        sLevel = $(this).find("l").text();
                        sVolume = $(this).find("v").text();
                        sURL = "javascript:mNinbotUser(\'" + sName + "\');";
                       myHTMLOutput +="<tr><td><a href=" + sURL + ">" + sName + "</a></td><td>" + sLevel + "</td><td>" + sVolume + "</td></tr>";
usercnt ++;
                } );
    myHTMLOutput += "</table>";
if (usercnt ==0) {
    myHTMLOutput += "<h4>Server is Empty</h4>"
}
                $("#mUserArea").html(myHTMLOutput);



   });



      $("#mUserArea").html("getting info");
}

function farmControlInit(channel)
{
   ControlChannel = channel; 

$(document).ready(function(){
   farmReport(0);
});

}


