
function serviceCall(command,params,callback){
	var data = _createData(params);
    _getDataAsyn(data,"/_ctrl/"+command,callback);
}


function json(json){
 try{
	return eval("("+json+")");
 }catch(e){
	alert(json); 
  }
	
}

function createXmlhttp(){
	try {
		if (window.XMLHttpRequest) {
			var req = new XMLHttpRequest();
			
			if (req.readyState == null) {
				req.readyState = 1;
				req.addEventListener("load", function () {
					req.readyState = 4;
					if (typeof req.onreadystatechange == "function")
						req.onreadystatechange();
				}, false);
			}
			
			return req;
		}
		if (window.ActiveXObject) {
			return new ActiveXObject("MSXML2.XMLHTTP");
		}
	}
	catch (ex) {}
	// fell through
	throw new Error("Your browser does not support XmlHttp objects");
}


//xmlhttp
function _createData(obj){
   var aParams = new Array();
    
    for (var prop in obj) {
		var value = obj[prop];
		if(!value) value = "";
        var sParam = prop;
        sParam += "=";
        sParam += encodeURIComponent(value);
        aParams.push(sParam);
    } 
    
    return aParams.join("&");

}


function _getDataAsyn(data,urlstr,callback){
	
  var xh = createXmlhttp(); 
  xh.open("GET",urlstr+"?"+data,true)
  xh.send("");
  xh.onreadystatechange = function(){
	     if(xh.readyState == 4){
			    if(xh.status == '200'){
					   var result = xh.responseText;
					   //var result = json(json);
					   if(result)
					    callback(result);

					}
				 
			 }
	  }

  
}

//services
function showAdv(notice1){
	serviceCall("command/advmsg",{notice:notice1},function(result){
					if(result && result.msg)
					   advarea.innerHTML = result.msg;
				},xhp);
}

function loadCmds(){
  output.innerHTML = output.innerHTML + loaduser;
  serviceCall("command/usercmds",{},function(out){
	    regUserCmds(out);
		if(out.cmds_){
			for(var i=0;i<out.cmds_.length;i++){
				parseFuncObj( out.cmds_[i] ); //put into history
			}
		}
		if(out.msg)
		  output.innerHTML +=  "<br>"+out.msg ;

	},createXmlhttp());
}
