qx.log.Logger.ROOT_LOGGER.setMinLevel(qx.log.Logger.LEVEL_OFF);qx.OO.defineClass("custom.Application", qx.component.AbstractApplication, function () {	qx.component.AbstractApplication.call(this); }); qx.Settings.setDefault("resourceUri", "./resource"); qx.Proto.initialize = function(e){ qx.manager.object.AliasManager.getInstance().add("custom", qx.Settings.getValueOfClass("custom.Application", "resourceUri")); }; qx.Proto.main = function(e) {integratorClientPath = "/integrator.client.php";integratorPath = "http://integrator.rapidus.com.br/";rpcUrl = "http://integrator.rapidus.com.br"+document.location.pathname.substring(0,document.location.pathname.lastIndexOf("/")+1)+"index.php";serverUrl = "http://integrator.rapidus.com.br/integrator.server.php";codusu = "";codven = "";valida_receita="1";messageWindow = new elite.ui.message.Message();
with(messageWindow){
}
messageWindow.addToDocument();
integratorDesk = new elite.ui.desktop.DesktopScreen();
with(integratorDesk){
set({backgroundColor:new qx.renderer.color.ColorObject('#004E98')});
addEventListener('create',
			function(){
				loginWindow.centerToBrowser();
			}
		);
function toRpcMsg(loginValue,passwordValue) {
	var rpcMsg = '<?xml version="1.0" encoding="iso-8859-1"?><methodCall><methodName>autenticar</methodName><params>';
	rpcMsg += '<param name="login"><value>'+loginValue+'</value></param>';
	rpcMsg += '<param name="password"><value>'+passwordValue+'</value></param>';
	rpcMsg += '</params></methodCall>';
	return rpcMsg;
}

function evaluateResponse(ok, data, codpar) {
	if (ok == 1) {
		document.location.reload();
	} else {
		var errmsg = unescape (qx.lang.String.trim (data));

		if (qx.lang.String.trim(codpar)=="") {
			messageWindow.showMessage("Erro",errmsg, "error", ["bOK"]);
		}else{
			messageWindow.showMessage("Aviso",errmsg, "information", ["bOK"]);
		}
					
		loginWindow.setStatus(errmsg.split("\n")[0]);
		loginAnimation.setEnabled(false);
		loginField.setEnabled(true);
		passwordField.setEnabled(true);
		okButton.setEnabled(true);
	}
}

function doLogin() {
	var loginValue = loginField.getComputedValue();
	var passwordValue = passwordField.getComputedValue();
	if (loginValue=="") {
		//alert ('Preencha o campo Usuario');
		messageWindow.showMessage("Erro","Preencha o campo Usuário", "error", ["bOK"]);
		messageWindow.setOnCloseEvent(function() { loginField.focus(); });
		return false;
	} else if (passwordValue=="") {
		//alert ('Preencha o campo Senha');
		messageWindow.showMessage("Erro","Preencha o campo Senha", "error", ["bOK"]);		
		messageWindow.setOnCloseEvent(function() { passwordField.focus(); });
		return false;
	}

	loginWindow.setStatus("Autenticando...");
	loginAnimation.setEnabled(true);
	loginField.setEnabled(false);
	passwordField.setEnabled(false);
	okButton.setEnabled(false);
						
	var req = new qx.io.remote.Request(integratorClientPath,"POST",qx.util.Mime.TEXT);
	req.setRequestHeader("Content-Type", qx.util.Mime.XML);
	req.setTimeout(60000);
	req.setData (toRpcMsg(loginValue, passwordValue));
	req.addEventListener("completed", function(e) {
		var msg = e.getData().getContent();
		if (window.ActiveXObject) {	/* code for IE */
			var doc = new ActiveXObject("Microsoft.XMLDOM");
			doc.async = "false";
			doc.loadXML(msg);
							
			var methodResponse = doc.documentElement.childNodes[0];
			var autenticado = methodResponse.childNodes[0].childNodes[0];
			var data = methodResponse.childNodes[1].childNodes[0];
			var codpar = methodResponse.childNodes[2].childNodes[0];
			evaluateResponse (autenticado.childNodes[0].childNodes[0].nodeValue, 
								data.childNodes[0].childNodes[0].nodeValue,
								codpar.childNodes[0].childNodes[0].nodeValue);
									
		} else {	/* code for Mozilla, Firefox, Opera, etc. */
			var parser = new DOMParser();
			var doc = parser.parseFromString(msg,"text/xml");
									
			var params = doc.getElementsByTagName ('param');
			var autenticado = params.item(0);
			var data = params.item(1);
			var codpar = params.item(2);
			evaluateResponse (autenticado.textContent, data.textContent, codpar.textContent);
		}
	});
	req.addEventListener("failed", function(e) {
		evaluateResponse (0, escape("Não foi possível conectar com o servidor"), "");
	});
	req.addEventListener("timeout", function(e) {
		evaluateResponse (0, escape("Não foi possível conectar com o servidor.\nTempo máximo de resposta atingido"), "");
	});
	req.addEventListener("abort", function(e) {
		loginAnimation.setEnabled(false);
		loginField.setEnabled(true);
		passwordField.setEnabled(true);
		okButton.setEnabled(true);
	});
	req.send();

	return true;
}
loginWindow = new elite.ui.desktop.Window();
with(loginWindow){
set({caption:'Login',width:350,height:220,resizeable:false,allowMaximize:false,showMaximize:false,showMinimize:false,showClose:false,showStatusbar:true,status:'Pronto'});
addEventListener('appear',
				function (e) {
					loginField.focus();
				}
			);
integratorLogo = new qx.ui.basic.Atom();
with(integratorLogo){
set({label:'',left:0,top:0,width:350,height:60,icon:'resource/logo_integrator4_login.jpg'});
};
add(integratorLogo);
loginAnimation = new qx.ui.basic.Atom();
with(loginAnimation){
set({label:'',left:0,top:60,width:350,height:6,icon:'resource/login_animation.gif',disabledIcon:'resource/login_stopped.gif',enabled:false});
};
add(loginAnimation);
userLabel = new qx.ui.basic.Label();
with(userLabel){
set({html:'Usuário:',top:94,left:20,height:20,width:60});
};
add(userLabel);
loginField = new qx.ui.form.TextField();
with(loginField){
set({top:90,left:90,height:22,width:150});
};
add(loginField);
okButton = new qx.ui.form.Button();
with(okButton){
set({top:89,left:260,width:60,height:24,label:'Ok'});
addEventListener('execute',
					function(e) {
						doLogin();
					}
				);
};
add(okButton);
passwordLabel = new qx.ui.basic.Label();
with(passwordLabel){
set({html:'Senha: ',top:121,left:25,height:20,width:60});
};
add(passwordLabel);
passwordField = new qx.ui.form.PasswordField();
with(passwordField){
set({top:117,left:90,height:22,width:150});
addEventListener('keypress',
					function(e) {
						if (e.getKeyIdentifier()=="Enter") {
							doLogin();
						}
					}
				);
};
add(passwordField);
};
add(loginWindow);
loginWindow.open();
}
integratorDesk.addToDocument();
qx13 = new elite.ui.desktop.Desktop();
with(qx13){
set({desktopScreen:integratorDesk,backgroundColor:new qx.renderer.color.ColorObject('#004E98')});
}
qx13.addToDocument();
}; qx.Proto.finalize = function(e) { }; qx.Proto.close = function(e){ }; qx.Proto.terminate = function(e){ };
