// JavaScript Document
var url = "scripts/aparelhos.php";
var nomeFabricante;
var nomeModelo;
var mbVersion;

function loadFabricantes() {
	var fabricantes;
	
	mbVersion = $('mbVersion').innerHTML;
	if (mbVersion.length < 1) {
		alert("Versão do MobileBroker não está definida!!!");
	}
	
	new Ajax.Request(url,  {
			method:'get',
			parameters: { version:mbVersion },
    		onSuccess: function(transport){
      			var response = transport.responseText;
				fabricantes = response.split('\n');
				$('fabricantes').innerHTML = '';
				for (i = 0; i < fabricantes.length; i++) {
					$('fabricantes').innerHTML += '<div class="fabricante">' + fabricantes[i] + '</div>';
				}
				Behaviour.apply();
    		},
    		onFailure: function(){ alert('Something went wrong...') }
  		});
};


var compatibilidade = new Array();
function loadModelosByFabricante(fabricanteSelecionado) {
	nomeFabricante = fabricanteSelecionado;
	$('modelos').update("<blink>Carregando...</blink>");
	new Ajax.Request(url,  {
			method:'get',
			parameters: { version:mbVersion, fabricante: fabricanteSelecionado },
    		onSuccess: function(transport){
      			var response = transport.responseText || "no response text";
				response = response.split('\n');
				$('modelos').innerHTML = '';
				for (i = 0; i < response.length; i++) {
					var modelo = response[i].split(';');
					compatibilidade[i] = modelo[1];
					$('modelos').innerHTML += '<div id="compatibilidade[' + i + ']" class="modelo">' + modelo[0] + '</div>';
				}
				Behaviour.apply();
    		},
    		onFailure: function(){ alert('Something went wrong...') }
  		});
};

var conteudoCompatibilidade;

var rules = {
	'.fabricante' : function(element){
		element.onclick = function() {
			selecionados = $$(".fabricanteSelecionado");
			for (var i=0; i<selecionados.length; i++) {
				selecionados[i].className = "fabricante";
			}
			element.className = "fabricanteSelecionado";
			loadModelosByFabricante(element.innerHTML);
			nomeFabricante = element.innerHTML;
		}
	},
	'.modelo' : function(element){
		element.onclick = function() {
			selecionados = $$(".modeloSelecionado");
			for (var i=0; i<selecionados.length; i++) {
				selecionados[i].className = "modelo";
			}
			element.className = "modeloSelecionado";
			
			nomeModelo = element.innerHTML;
			compativel = eval(element.id);
			switch (compativel) {
				case '0':
					showAlert("incompativel", "O modelo<br><b>'" + nomeModelo + " (" + nomeFabricante + ")'</b><br>n&atilde;o &eacute; compat&iacute;vel com o MobileBroker.");
					break;
				case '1':
					showAlert("compativel", "O modelo<br><b>'" + nomeModelo + " (" + nomeFabricante + ")'</b><br>&eacute;  <b>COMPAT&Iacute;VEL</b> com o MobileBroker.");
					break;
				default:
					showAlert("indefinido", "O modelo<br><b>'" + nomeModelo + " (" + nomeFabricante + ")'</b><br>ainda n&atilde;o foi testado.<br>Fa&ccedil;a a tentativa e nos informe!");
					break;
			}
			Behaviour.apply();
		}
	},
	'#mensagem' : function(element){
		element.onclick = function() {
			hideAlert();
		}
	}
};


function NiftyLoad() {
	Nifty("#mensagemB", "big");
};

function showAlert(className, message) {
	$('obfuscate').setOpacity(0.7);
	$('obfuscate').style.backgroundColor = "#ffffff";
	$('mensagem').className = className;
	$('mensagemB').className = className;
	$('mensagem').setOpacity(1);
	$('mensagemB').setOpacity(1);
	$('mensagemB').update(message);
	$('mensagem').style.left = ((Element.getWidth('obfuscate')/2) - (Element.getWidth('mensagem')/2)) + 'px';
	$('mensagem').style.top = ((Element.getHeight('obfuscate')/2) - (Element.getHeight('mensagem')/2)) + 'px';
	if (parseInt($('mensagem').style.top) <= 0) {
		$('mensagem').style.top = "400px";
	}
	$('mensagem').makePositioned();
	$('obfuscate').style.visibility = 'visible';
	$('mensagem').style.visibility = 'visible';
	$('mensagemB').style.visibility = 'visible';
	NiftyLoad();
}

function hideAlert() {
	$('mensagem').style.visibility = 'hidden';
	$('mensagemB').style.visibility = 'hidden';
	$('obfuscate').style.visibility = 'hidden';
	
	selecionados = $$(".modeloSelecionado");
	for (var i=0; i<selecionados.length; i++) {
		selecionados[i].className = "modelo";
	}
}


Behaviour.register(rules);
Behaviour.addLoadEvent(loadFabricantes);
