var idAtual = null;
var objectRef = null;
var objectStyle = null;
var idPedidoAtual = null;
var MSG_ERRO_DEFAULT = "Erro ao executar ";


function checkLogin(form){
	try{
		with(form){
			if(!validaEmail(email.value)){
				email.focus();
				throw "Email inválido!";
			}else if(senha.value.length < 6){
				senha.value = "";
				senha.focus();
				throw "Senha deve conter no mínimo 6 digitos."
			}else{
				x_checkLogin(email.value, senha.value, _resultLogin);
			}
		}
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"checkLogin()");
	}	
}

function _resultLogin(result){
	//alert(result);
	try{
		MSN_CONTATO = "Para duvidas entre em contato conosco.";
		if(isNaN(result)){
			throw "Erro ao acessar servidor. "+MSN_CONTATO;
		}
		msg = new Array();
		msg.push('Usuário inválido!');
		msg.push('Senha inválida!')
		msg.push('OK');
		msg.push('Conta inativa no momento. '+MSN_CONTATO);
		msg.push('Numero máximo de tentativas de login atingido. '+MSN_CONTATO);		
		
		if(result == 2){
			go('home.php');	
		}else{
			alert(msg[result]);
		}
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"_resultLogin()");
	}	
}

function recuperarSenha(email){
	try{
		if(!validaEmail(email.value)){
			email.focus();
			throw "Email inválido!";
		}
		var cpjCnpj = prompt("Digite seu CPF/CNPJ (Apenas números)");
		if(cpjCnpj != null){
			if(!isNumeric(cpjCnpj)){
				throw "Número de CPF/CNPJ inválido!";
			}
			x_recoverPassword(email.value, cpjCnpj, _resultRecover);
		}
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"recuperarSenha()");
	}	
}

function _resultRecover(result){
	//alert(result);
	try{
		MSN_CONTATO = "Para duvidas entre em contato conosco.";
		if(isNaN(result)){
			throw "Erro ao acessar servidor. "+result+"\n"+MSN_CONTATO;
		}
		msg = new Array();
		msg.push('Usuário inválido!');
		msg.push('CPFJ/CNPJ inválido!')
		msg.push('OK');
		msg.push('Conta inativa no momento. '+MSN_CONTATO);
		msg.push('Numero máximo de tentativas de recuperação atingido. '+MSN_CONTATO);		
		
		if(result == 2){
			alert('Solicitação gerada com sucesso, por favor verifique seu e-mail.');	
		}else{
			alert(msg[result]);
		}
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"_resultLogin()");
	}	
}



function _validaPedido(data){
	try{
		if(data == 0){
			go('home.php');
		}else if(data == 1){
			simpleConfirm('Deseja realmente finalizar seu pedido?','pedido.php');
		}else{
			alert(data);
		}
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"_validaPedido()");
	}	
}

function verDetalhesPedido(idPedido){
	try{
		_setIdPedidoAtual(idPedido)
		x_verDetalhesPedido(idPedido, _verDetalhesPedido);
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"verDetalhesPedido()");
	}	
}


function _verDetalhesPedido(dados){
	try{
		if(idPedidoAtual == null){
			throw "Erro ao definir do item atual";
		}
		$(idPedidoAtual).innerHTML = dados;
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"_verDetalhesPedido()");
	}	
}

function _setIdPedidoAtual(idPedido){
	try{
		idPedidoAtual = 'detalheItens'+idPedido;
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"_setIdPedidoAtual()");
	}	
}

var PROGRESS_BGCOLOR = "#6E8BB1";
var PROGRESS_TEXT = "";
var PROGRESS_IMG = 'images/loadingProgressBar/loading.gif';

function createProgress(){
	try{
		div = document.createElement("DIV");
		div.setAttribute('id', 'progress');
		div.setAttribute('style', 'background-color:'+ PROGRESS_BGCOLOR);
		div.appendChild(document.createTextNode(PROGRESS_TEXT));
	
		img = document.createElement('img');
		img.setAttribute('border', 0);
		img.setAttribute('src', PROGRESS_IMG);
		
		div.appendChild(img);
		document.body.appendChild(div);
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"createProgress()");
	}	
}

function finalizarPedido(){
	try{
		var idFormaPagamento = getSelectedRadio('idFormaPagamento');
		if(idFormaPagamento == null || !isNumeric(idFormaPagamento)){
			throw "Selecione a forma de pagamento."
		}
		x_validaPedido(1, idFormaPagamento, _validaPedido);
	}catch(e){
		new Exception (e, MSG_ERRO_DEFAULT+"finalizarPedido()");
	}	
	
}


function adicionarEquipamento(){
	try{
		var campos = ["descricaoEquipamento","modelo","marca"];
		for(var i=0; i < campos.length; i++){
			var campo = $(campos[i]);
			if(isBlank(campo.value)){
				campo.focus();
				throw "Campo "+campos[i]+" do equipamento é obrigatório!!";
			}
		}
		x_addEquipamento(getValueId('descricaoEquipamento'), getValueId('modelo'), getValueId('marca'), getValueId('partNumber'),getValueId('serialNumber'), getValueId('nroPatrimonial'), _updateEquipamentos);
		setValueId('descricaoEquipamento', '');
		setValueId('modelo', '');
		setValueId('marca', '');
		setValueId('partNumber', '');
		setValueId('serialNumber', '');
		setValueId('nroPatrimonial', '');
	}catch(e){
		new Exception (e, "Erro ao executar adicionarEquipamento()");
	}	

}

function _updateEquipamentos(dados){
	try{
		$('equip').innerHTML = dados;
	}catch(e){
		new Exception (e, "Erro ao executar _updateEquipamento()");
	}	
}

function mudarTipoAtendimentoOs(tipoAtentimento){
	try{
		var state = 'none';
		if(tipoAtentimento == "problemaEquipamento"){
			var state = 'block';
		}else{
			var state = 'none';
		}		
		$('problemaEquipamento1').style.display = state;
		$('problemaEquipamento2').style.display = state;		
	}catch(e){
		new Exception (e, "Erro ao executar mudarTipoAtendimentoOs()");
	}	
}


function setRef(objRef, objStyle){
	try{
		this.objectStyle = objStyle;
		this.objectRef = objRef;
	}catch(e){
		new Exception (e, "Erro ao executar setRef");
	}		
}