
var ClasseAtual = 'WebStorePage';
//ClasseAtual = Loja_Detalhes

var objVariacaoPrimeiroNivel;
var objVariacaoSegundoNivel; 
var objVariacaoTerceiroNivel;
var eRelacionado = false;
var IDProduct;
var nivel=0;

var IDPrimeiroNivelImagem = 0;
var IDSegundoNivelImagem = 0;
var IDTerceiroNivelImagem = 0;

function AtualizaPreco(obj,nivelEnviado,relacionado) {
	if (obj.options[obj.selectedIndex].value == 0)
		return false;
		
	var arrayIDProd = obj.id.split("_");	
	eRelacionado = relacionado;
		
	IDPrimeiroNivelImagem = 0;
	IDSegundoNivelImagem = 0;
	IDTerceiroNivelImagem = 0;
	
	if (relacionado == true) {	
		IDProduct = arrayIDProd[5];
		var id = obj.id.substring(0,obj.id.length -2);
		objVariacaoPrimeiroNivel = document.getElementById(id +'_1'); 
		objVariacaoSegundoNivel = document.getElementById(id +'_2');
		objVariacaoTerceiroNivel =document.getElementById(id +'_3');			
	}else if (relacionado == false) {	
		IDProduct = getIDProduct(arrayIDProd);
		objVariacaoPrimeiroNivel = retornaObjeto('IDVariacao_'+ IDProduct +'_1'); 
		objVariacaoSegundoNivel = retornaObjeto('IDVariacao_'+ IDProduct +'_2');
		objVariacaoTerceiroNivel = 	retornaObjeto('IDVariacao_'+ IDProduct +'_3');			
	}
	
	nivel = nivelEnviado;	
	if (objVariacaoSegundoNivel !== null) 	
		PreencheComboBox(obj);
	else
		AtualizaPrecoFinal();
	
}

function getIDProduct(arrTexto){
	for (var i=0; i<=arrTexto.length; i++){
		if (/^\d+$/i.test(arrTexto[i])){
			return arrTexto[i];
		}
	}
	return arrTexto[1];
}

function LimpaSelect(obj) {
	if (obj !== null && obj!==undefined){
		var repeticao = obj.length;
		for(var i=0;i<repeticao;i++) {
			obj.options[0]=null;
		}
	}
}

function InsereNovosValores(obj,itensObj,Idv){
	if (obj !== null && obj!==undefined){
		var itemParaAdicionar;
		itens = itensObj.split(";");	
		for(var i=1;i<itens.length-1;i++){
			itemParaAdicionar = itens[i].split(",");
			obj.options[i-1] = new Option(itemParaAdicionar[0],itemParaAdicionar[1]);
		}	
		if (Idv>0){
			for (var i=0;i<obj.length-1;i++){
				if (obj.options[i].value == Idv)
					obj.options[i].selected=true;			
			}
		}
	}
}

function GetResponseComboBox(r){
	var variacoes = r.value.split(";")
	var idVariacao;
	
	if (variacoes[0] == "SegundoNivel") {
		LimpaSelect(objVariacaoSegundoNivel);	
		
		if (IDSegundoNivelImagem>0){
			idVariacao = IDSegundoNivelImagem
			InsereNovosValores(objVariacaoSegundoNivel,r.value,IDSegundoNivelImagem);
		}else{			
			InsereNovosValores(objVariacaoSegundoNivel,r.value,0);
			idVariacao = objVariacaoSegundoNivel.options[0].value;			
		}
		eval(ClasseAtual + '.PreencheTerceiroNivel(idVariacao,GetResponseComboBox);');
		
	}else if (variacoes[0] == "TerceiroNivel") {
		LimpaSelect(objVariacaoTerceiroNivel);
		if (IDTerceiroNivelImagem>0)
			InsereNovosValores(objVariacaoTerceiroNivel,r.value,IDTerceiroNivelImagem);
		else
			InsereNovosValores(objVariacaoTerceiroNivel,r.value,0);
			
		AtualizaPrecoFinal();
	}
}

function PreencheComboBox(obj) {	
	var idVariacao=0;
	
	if (IDPrimeiroNivelImagem > 0) {
		idVariacao = IDPrimeiroNivelImagem;
		for (var i=0;i<obj.length-1;i++){
			if (obj.options[i].value == IDPrimeiroNivelImagem){
				obj.options[i].selected=true;		
				break;			
			}
		}
		obj.selectedIndex = i;
	}else	
	 	idVariacao = obj.options[obj.selectedIndex].value;
	
	if (obj.id == objVariacaoPrimeiroNivel.id) {
		if (objVariacaoSegundoNivel!==null && objVariacaoSegundoNivel!==undefined)
			eval(ClasseAtual+'.PreencheSegundoNivel(idVariacao,GetResponseComboBox);');				
		else
			AtualizaPrecoFinal();
	}else if (obj.id == objVariacaoSegundoNivel.id){ 		
		if (objVariacaoTerceiroNivel!==null && objVariacaoTerceiroNivel!==undefined)
			eval(ClasseAtual+'.PreencheTerceiroNivel(idVariacao,GetResponseComboBox);');
		else
			AtualizaPrecoFinal();
	}else if (obj.id == objVariacaoTerceiroNivel.id) 
		AtualizaPrecoFinal();
}

function AtualizaPrecoFinal(){	
	var idVariacao;
	
	if (objVariacaoSegundoNivel != null && objVariacaoSegundoNivel!==undefined){
		if (objVariacaoTerceiroNivel != null && objVariacaoTerceiroNivel!==undefined){
			idVariacao = objVariacaoTerceiroNivel.options[objVariacaoTerceiroNivel.selectedIndex].value;
			nivel = 3;
		}else {
			idVariacao = objVariacaoSegundoNivel.options[objVariacaoSegundoNivel.selectedIndex].value;
			nivel = 2;
		}
	}else {
		idVariacao = objVariacaoPrimeiroNivel.options[objVariacaoPrimeiroNivel.selectedIndex].value;	
		nivel = 1;				
	}

	//Atualiza Formas de pagamento.
	AtualizaFormasDePagamento(idVariacao,nivel);	
	
	var lblPreco = eRelacionado?document.getElementById('PrecoDeVariacao_'+IDProduct):document.getElementById('lblPreco');			
	
	if (lblPreco==null)
		lblPreco = document.getElementById('lblPreco_'+IDProduct);	
	
	if (idVariacao > 0)
		eval(ClasseAtual+'.GetValorDaVariacao(idVariacao,nivel, IDProduct ,GetResponsePreco);');
	else {
		lblPreco.innerHTML = eRelacionado?fnProdutoEsgotado(IDProduct):"";
		//var txtAddCarrinho =  document.getElementById('AddID_'+ IDProduct);
		//var boxQuantidade =  document.getElementById('Qtd_'+ IDProduct);	
		var BoxCompra = document.getElementById('BoxCompra_'+ IDProduct);	
		//var DivAdcionarAoCarrinho = document.getElementById('DivAdcionarAoCarrinho');
		//(DivAdcionarAoCarrinho!==null)?(DivAdcionarAoCarrinho.style.display ='none'):false;						
		//(boxQuantidade!==null)?(boxQuantidade.style.display ='none'):false;
		//(txtAddCarrinho!==null)?(txtAddCarrinho.style.display ='none'):false;
		(BoxCompra!==null)?(BoxCompra.style.display ='none'):false;
		
		if (!eRelacionado) {
			var Tablecomprar = document.getElementById('Tablecomprar');
			var TableLiberado = document.getElementById('TableLiberado');
			var hlkComprar = document.getElementById('hlkComprar');
			var spanLinkEsgotado = document.getElementById('spanLinkEsgotado');
			var LinkEsgotado = document.getElementById('LinkEsgotado');
			var spanLinkEsgotado_ = document.getElementById('spanLinkEsgotado_'+IDProduct);
			var btn = document.getElementById('Produto_Adicionar');
			var lblDesconto = document.getElementById('lblDesconto');
	
			(TableLiberado!==null)?(TableLiberado.style.display ='none'):false;
			(Tablecomprar!==null)?(Tablecomprar.style.display ='none'):false;	
			(hlkComprar!==null)?(hlkComprar.style.display ='none'):false;
			(btn!==null)?(btn.style.display ='none'):false;
			
			(LinkEsgotado!==null)?(LinkEsgotado.style.display ='none'):false;			
			(spanLinkEsgotado_!==null)?(spanLinkEsgotado_.style.display ='none'):false;
			(spanLinkEsgotado!==null)?(spanLinkEsgotado.style.display ='none'):false;
			(spanLinkEsgotado !== null) ? (spanLinkEsgotado.innerHTML = fnProdutoEsgotado(IDProduct)) : (lblPreco.innerHTML = fnProdutoEsgotado(IDProduct));
			(lblDesconto !== null) ? (lblDesconto.style.visibility = 'hidden') : false;
		}			
	}
	selecionaImagemDoCombo();
}

//Atualiza formas de pagamento para produtos 
//com preço diferente por variação.
//Ivan Nascimento - 25.06.09
function AtualizaFormasDePagamento(idVariacao,nivel){
	try{	
		GetParcelasVariacao(1,idVariacao,nivel);		
	}catch(e){}	
}

///////////////////////////////////////////////////////////////////////////////////////
// Diego Nepomuceno - 18/04/11
///////////////////////////////////////////////////////////////////////////////////////
function GetParcelasVariacao(IDParcelamento, idVariacao, nivel) {
    try {
        Loja_Detalhes.GetParcelamentoModelo2Variacao(IDParcelamento, IDProduct, idVariacao, nivel, function (r) {
            $("#DivParcelas").html(r.value);
        })
    } catch (e) {
    }
    WebStorePage.GetMaiorParcelamentoString(IDProduct, idVariacao, nivel, 0, function (r) {
        $("#lblDesconto").html(r.value);
    })
}

function GetResponsePreco(r){
	var resultado = r.value.split(";");	
	//var DivAdcionarAoCarrinho = document.getElementById('DivAdcionarAoCarrinho');
	//var txtAddCarrinho =  document.getElementById('AddID_'+ IDProduct);
	//var boxQuantidade =  document.getElementById('Qtd_'+ IDProduct);	
	var lblPreco  = eRelacionado?document.getElementById('PrecoDeVariacao_'+IDProduct):document.getElementById('lblPreco');			
	var BoxCompra = document.getElementById('BoxCompra_'+ IDProduct);	
	
	if (lblPreco==null || lblPreco==undefined)
		lblPreco = document.getElementById('lblPreco_'+IDProduct);		
	
	if (!eRelacionado) {	
		var Tablecomprar = document.getElementById('Tablecomprar');
		var TableLiberado = document.getElementById('TableLiberado');
		var hlkComprar = document.getElementById('hlkComprar');
		var spanLinkEsgotado = document.getElementById('spanLinkEsgotado');		
		var LinkEsgotado = document.getElementById('LinkEsgotado');
		var btn = document.getElementById('Produto_Adicionar');
		var spanLinkEsgotado_ = document.getElementById('spanLinkEsgotado_' + IDProduct);
		var lblDesconto = document.getElementById('lblDesconto');
		
		//(TableLiberado!==null)?(TableLiberado.style.display ='block'):false;
		(Tablecomprar!==null)?(Tablecomprar.style.display ='block'):false;	
		(hlkComprar!==null)?(hlkComprar.style.display ='block'):false;
		//(btn!==null)?(btn.style.display ='block'):false;
		(LinkEsgotado!==null)?(LinkEsgotado.style.display ='none'):false;		
		(spanLinkEsgotado!==null)?(spanLinkEsgotado.style.display ='none'):false;
		(spanLinkEsgotado_ !== null) ? (spanLinkEsgotado_.style.display = 'none') : false;
		(lblDesconto !== null) ? (lblDesconto.style.visibility = 'visible') : false;
	}
	//(DivAdcionarAoCarrinho!==null)?(DivAdcionarAoCarrinho.style.display ='block'):false;			
	//(txtAddCarrinho!==null)?(txtAddCarrinho.style.display ='block'):false;
	//(boxQuantidade!==null)?(boxQuantidade.style.display ='block'):false;	
	(BoxCompra!==null)?(BoxCompra.style.display ='block'):false;	
	
	lblPreco.style.display='block';
	lblPreco.parentNode.style.display='block';
	lblPreco.innerHTML = Preco(resultado[0],resultado[1],resultado[2],resultado[3],resultado[4]);
}

function InicializaVariaveisImagem(arrayInforma,niveisExistentes){
	if (niveisExistentes == 3) {
		try{IDPrimeiroNivelImagem = arrayInforma[1];}catch(e){}	
		try{IDSegundoNivelImagem = arrayInforma[2];	}catch(e){}	
		try{IDTerceiroNivelImagem = arrayInforma[3];}catch(e){}	
		objVariacaoPrimeiroNivel = retornaObjeto('IDVariacao_'+arrayInforma[0]+'_1');
		objVariacaoSegundoNivel  = retornaObjeto('IDVariacao_'+arrayInforma[0]+'_2');
		objVariacaoTerceiroNivel = retornaObjeto('IDVariacao_'+arrayInforma[0]+'_3');
	}else if (niveisExistentes == 2) {
		try{IDPrimeiroNivelImagem = arrayInforma[1];}catch(e){}	
		try{IDSegundoNivelImagem = arrayInforma[2];	}catch(e){}	
		objVariacaoPrimeiroNivel = retornaObjeto('IDVariacao_'+arrayInforma[0]+'_1');
		objVariacaoSegundoNivel  = retornaObjeto('IDVariacao_'+arrayInforma[0]+'_2');
	}else if (niveisExistentes == 1) {
		try{IDPrimeiroNivelImagem = arrayInforma[1];}catch(e){}	
		objVariacaoPrimeiroNivel = retornaObjeto('IDVariacao_'+arrayInforma[0]+'_1');		
	}	
}

function selecionaComboDaImagem(objImagem){
	var arrayInforma = objImagem.split("_");
	var niveisExistentes = arrayInforma.length-2;	
	IDProduct = arrayInforma[0];
	//Método C está na página de Detalhes.aspx
	C(objImagem);
	InicializaVariaveisImagem(arrayInforma,niveisExistentes);	
	PreencheComboBox(objVariacaoPrimeiroNivel);
}

function selecionaImagemDoCombo(){	
	var IDImagem;	
	var objImagem;
	/*
	 *Exemplo de ID de imagem: 55806_2187_6_6_0
	 */
	 //IDProduto_Variacao1_Variacao2_variacao3_X
	 //IDProduto_Variacao1_Variacao2_X
	 //IDProduto_Variacao1_X
	 //IDProduct
	try{ 
		var IDVariacaoTripla =  objVariacaoTerceiroNivel.options[objVariacaoTerceiroNivel.selectedIndex].value;
	}catch(e){}
	
	try{ 
		var IDVariacaoDupla = objVariacaoSegundoNivel.options[objVariacaoSegundoNivel.selectedIndex].value;
	}catch(e){}
	
	try{ 
		var IDVariacao = objVariacaoPrimeiroNivel.options[objVariacaoPrimeiroNivel.selectedIndex].value;
	}catch(e){}

	 if (nivel == 3)
	 	IDImagem = IDProduct + "_" + IDVariacao + "_" + IDVariacaoDupla + "_" + IDVariacaoTripla
	else if (nivel == 2)
	 	IDImagem = IDProduct + "_" + IDVariacao + "_" + IDVariacaoDupla 
	else if (nivel == 1)
	 	IDImagem = IDProduct + "_" + IDVariacao 
		
	for (var i=0;i<=50;i++){		
		if (document.getElementById(IDImagem+'_'+ i)!==null && document.getElementById(IDImagem+'_'+ i)!==undefined){
			objImagem = document.getElementById(IDImagem+'_'+i);	
			break;
		}
	}
	
	if (objImagem !== null && objImagem!==undefined){
		C(objImagem.id);
	}else if (IDImagem.indexOf('-1')>-1){
		IDImagem = IDImagem.replace('-1','');
		objImagem = retornaObjeto(IDImagem);				
		try{
			C(objImagem.id);
		}catch(e){}
	} 
}


function retornaObjeto(ID_elem){
	var elems = document.getElementsByTagName('input');
	for(var i = 0; i < elems.length; i++){
		if(elems[i].name != null && elems[i].name.indexOf(ID_elem)>-1)
			return elems[i];
		
	}
	elems = document.getElementsByTagName('select');
	for(var i = 0; i < elems.length; i++){
		if(elems[i].name != null && elems[i].name.indexOf(ID_elem)>-1)
			return elems[i];		
	}
	elems = document.getElementsByTagName('img');
	for(var i = 0; i < elems.length; i++){
		if(elems[i].id != null && elems[i].id.indexOf(ID_elem)>-1)
			return elems[i];		
	}
}
