//	Variáveis de controle
var valorTotal = 0;
var objSelecionados = {};
var elemResposta = null;


//	Chamada do método
function SPCalculaValorFinal(obj, valor)
{	
	elemResposta = document.getElementById("SPValorTotal");
	
	//	Configuração para objetos do tipo checkBox
	if (obj.type == 'checkbox')	{
		var objInfo =  obj.id.split("_");
		
		if (obj.checked) {
			objSelecionados[obj.id] = {id:obj.id, item:objInfo[0], elemSelecionado:objInfo[1], elemValor:valor};
			valorTotal += valor;
			
		} else {
			if(objSelecionados[obj.id])
				delete objSelecionados[obj.id];
			
			valorTotal -= valor;
		}
	}
	
	//	Configuração para objetos do tipo radioBox
	else if (obj.type == 'radio')	{
		var objInfo =  obj.name.split("_");
		
		if (valor == 0) {
			if (objSelecionados[obj.name]) {
				valorTotal -= objSelecionados[obj.name].elemValor;
				delete objSelecionados[obj.name];
			}
		} else if (objSelecionados[obj.name]) {
			valorTotal -= objSelecionados[obj.name].elemValor;
			valorTotal += valor;
			objSelecionados[obj.name] = {id:obj.name, item:objInfo[0], elemSelecionado:objInfo[1], elemValor:valor};
		} else {
			objSelecionados[obj.name] = {id:obj.name, item:objInfo[0], elemSelecionado:objInfo[1], elemValor:valor};
			valorTotal += valor;
		}
		
		//	SPChecaGadgetDisponiveis(obj.name, valor);
	}
	
	
	//	Mostra resultado
	SPCalculaPrecoFinal();
	SPAtualizaCampoForm();
}


function SPChecaGadgetDisponiveis(idElem, valor)
{
	//	Configuração para todo radio box do item 2 [INICIO]
	if (idElem == "SPItem2_RB" && valor != 0)
	{
		SPRemoveItemVetor("SPItem3");
		$j(".SPItem3_CB input").removeAttr("checked");
		$j(".SPItem3_CB").hide();
	} else {
		SPRemoveItemVetor("SPItem3");
		$j(".SPItem3_CB input").removeAttr("checked");
		$j(".SPItem3_CB").show();
	}
	//	Configuração para todo radio box do item 2 [FIM]
	
	
	//	Mostra gadget de área visível do mapa para todos os layouts
	$j("#SPItem3_CB1_div").show();
}


function SPCalculaPrecoFinal()
{
	valorTotal = 0;
	
	for (k in objSelecionados)
		valorTotal += objSelecionados[k].elemValor;
	
	elemResposta.innerHTML = "$ " + valorTotal.toFixed(2).replace(".", ",");
}


function SPRemoveItemVetor(delItem)
{
	for (k in objSelecionados)
	{
		if (objSelecionados[k].item == delItem)
			delete objSelecionados[objSelecionados[k].id];
	}
}


function SPGetValorFinal()
{
	return valorTotal.toFixed(2);
}


function SPAtualizaCampoForm()
{
	var objSel = '';
	
	document.getElementById("SPvalorPagamento").value = SPGetValorFinal();
	
	for (k in objSelecionados)
	{
		if (objSelecionados[k].elemSelecionado == "RB")
			objSel += objSelecionados[k].id + objSelecionados[k].elemValor + ',';
		else
			objSel += objSelecionados[k].id + ',';
	}
	
	document.getElementById("SPvServicos").value = objSel;
}
