var jsonrpc = null;

function getJSonRpcClient()
{
	if(jsonrpc===null)
	{
		jsonrpc = new JSONRpcClient("/servlet/com.metaparadigm.jsonrpc.JSONRPCServlet");
	}
	return jsonrpc;
}
/**************** TM server **********************/
tmserver = {
		get : function(url,container,_config)
		{
			if(url.indexOf('?')>0)url+="&";
			else url+="?";
			if (typeof(TMEplica) != "undefined") url += "WebCategoryID="+TMEplica.WebCategoryID+"&";
			url += "JSonRequest=true&v="+new Date().getTime();
			processIndicator.show();
			var sendData = {};
			if(_config && _config.data) sendData = _config.data;
			jQuery.get(url,sendData,
					function(data){
						jQuery(container).html(data);
						ElementInit.init(container,_config);
						if(jQuery.fn.popup) jQuery('a.popup:not(.popup-active)',container).popup();
						processIndicator.hide();
					});
		},
		
		runEval : function(url,config)
		{
			if(url.indexOf('?')>0)url+="&";
			else url+="?";
			url += "WebCategoryID="+TMEplica.WebCategoryID+"&JSonRequest=true&v="+new Date().getTime();
			if(config && config.processIndicator!=false)
				processIndicator.show();
			jQuery.get(url,function(data){
								if(config && config.processIndicator!=false)
									processIndicator.hide();
								eval(data);
								if(config && config.callback)
									config.callback(data);
							});
		}
		
}

personafinder = {
	find : function(ktInput,blockid)
	{
		blockid = blockid?blockid:"personupplysingar";
		var value = ktInput.value;
		if(ktInput.currentValue_!=value)
		{
			ktInput.currentValue_ = value;
			DOM.removeClass(ktInput,"typeerror");
			if(value==="")
			{
				$(blockid).innerHTML = "";
				return;
			}
			if(checkFormatedKt(value))
			{
				tmserver.get('/tmBitar/util/AjaxPersonUpplysingar.jsp?kt='+value ,$(blockid));
			}
			else
			{
				$(blockid).innerHTML = "";
				DOM.addClass(ktInput,"typeerror");
			}
		}
	}
}

billfinder = {
		find : function(bilnumerInput,blockid)
		{
			blockid = blockid?blockid:"billinfo";
			var value = bilnumerInput.value;
			value = value.replace(/\s/g,"").toUpperCase();
			if(bilnumerInput.currentValue_!=value)
			{
				bilnumerInput.currentValue_ = value;
				bilnumerInput.value = value;
				DOM.removeClass(bilnumerInput,"typeerror");
				if(value==="")
				{
					$(blockid).innerHTML = "";
					return;
				}
				if(billfinder.isValueOk(value))
				{
					tmserver.get('/tmBitar/util/AjaxBill.jsp?bilnumer='+value ,$(blockid));
				}
				else
				{
					$(blockid).innerHTML = "";
					DOM.addClass(bilnumerInput,"typeerror");
				}
			}
		},
		
		isValueOk : function(value){return value.match(/^[A-ZÃƒâ€“ÃƒÅ¾Ãƒâ€ Ãƒï¿½ÃƒÅ¡Ãƒï¿½Ãƒâ€°Ãƒï¿½]{2}-?[A-ZÃƒâ€“ÃƒÅ¾Ãƒâ€ Ãƒï¿½ÃƒÅ¡Ãƒï¿½Ãƒâ€°Ãƒï¿½0-9]{3}$/i)}
	}

