/*
'Arquivo Versão: V4x_1
'------------------------------------------------------------
'  Desenvolvido Por: otavio
'  Data: 8/17/2009 12:00:00 AM
'  Entrega: DS C 053609 Customização - Enterprise
'  Chamado: 20009
'------------------------------------------------------------
*/
//esse arquivo é a versão de desenvolvimento não minimizada do arquivo
//após alterá-lo mudar ser nome funcoes_product.js e passa-lo pelo www.bananascript.com


// JScript File
//###############################################
// Funções utilizadas na pagina product.asp
// Desenvolvida por: Hélvio Júnior
// Data de Criação: 2007-08-16
// Data da Última alteração: 2007-08-16
//###############################################
//


//===============================================
// Imagens
// Neste bloco de código estão todas as funções que se referem as imagens
// Obs.: Não é neste bloco de código que estão definido as funções de imagens da seleção de variants

//Variaveis
var oListImages = null;
var listDefaultIndex = 0;
var oImageIndex = {main:0,p1:null,p2:null,p3:null,p4:null,p5:null,p6:null,p7:null,p8:null,p9:null};
var iRootFolder = '';
var iTemplateFolder = '';
var iZoomPageURL = '';

//simula querystring 
qs=new Array();
variaveis=location.search.replace(/\x3F/,"").replace(/\x2B/g," ").split("&");
if(variaveis!=""){
	for(i=0;i<variaveis.length;i++){
		nvar=variaveis[i].split("=");
		qs[nvar[0]]=unescape(nvar[1]);
	}
}

function QueryString(variavel){
	return qs[variavel];
}

//verifica se o browser é o ie
function isIE()
{
	return /internet explorer/i.test(window.navigator.appName) && window.opera == null;
}

//Efetua um loop em todos os registros verificando qual é o default
function setDefaultIndex(){
	listDefaultIndex = 0;
	try {
		for (i=0;i<oListImages.length;i++){
			if (oListImages[i].default_var==true){
				listDefaultIndex = i;
				break;
			};
		};
	}catch(e){};
};

//Resgata o ID (do array) com base no SKU
function getIDBySKU(sku){
	var retorno = 0;
	for (i=0;i<oListImages.length;i++){
		if (oListImages[i].sku==sku){
			retorno = i;
			break;
		};
	};
	return retorno;
};

//Define o objeto 'oImageIndex' com os dados da variant selecionada
function setImages(sku){
	var itemName = '';
	listDefaultIndex = getIDBySKU(sku);
	var imgItem = oListImages[listDefaultIndex];
	for (i=0;i<=9;i++){
		if (i == 0)	{
			itemName = 'main';
		}else{
			itemName = 'p' + i;
		};
		if (imgItem['image_file__'+ i] != null){
			oImageIndex[itemName] = i;
		}else{
			if (itemName == 'main'){
				oImageIndex[itemName] = 0;
			}else{
				oImageIndex[itemName] = null;
			};
		};
	};
	montaImagesHTML();
};


//Monta todo o HTML da area de imagens
function montaImagesHTML(){
	var objPrincipal = document.getElementById('prod_descr_img')
	
	var HTML = '' +
	'<center>' + 
		'<div id="prod_descr_img_main"><a href="javascript:ShowZoom();"><img src="'+ iRootFolder + '/Assets/product_images/grandes/' + oListImages[listDefaultIndex]['image_file__'+ oImageIndex.main] +'" border="0" alt="'+ oListImages[listDefaultIndex]['name'] +'"></a></div>' + 
		'<img src="'+ iTemplateFolder + '/tp_detalhes.gif" border="0" style="border:#fff 1px solid;"><br>' + 
		'<div id="prod_descr_img_mini">' 
		
		for (i=1;i<=9;i++){
			if ((oImageIndex['p' + i] != null) && (oListImages[listDefaultIndex]['image_file__'+ oImageIndex['p' + i]] != null)){
				HTML = HTML + '<div id="prod_descr_img_p'+ i +'" class="prod_descr_img_mini"><a href="javascript:imgClick(\''+ i +'\')"><img src="'+ iRootFolder + '/Assets/product_images/mini/' + oListImages[listDefaultIndex]['image_file__'+ oImageIndex['p' + i]] + '" border="0" alt="'+ oListImages[listDefaultIndex]['name'] +'"></a></div>'
			}
		}
		
		HTML = HTML + '</div>' + 
		'<br><br />' + 
	'</center>'
	objPrincipal.innerHTML = HTML;
}

//Função que terá como parametro o texto no padrão JSON, e define o objeto oListImages com este texto.
function setImageList(jsonList, rootFolder, templateFolder, zoomPage){
	iRootFolder = rootFolder;
	iZoomPageURL = zoomPage;
	iTemplateFolder = templateFolder;
	try {
		oListImages = jsonList
		if (oListImages.length > 0){
			setDefaultIndex()
			setImages(oListImages[listDefaultIndex].sku)
		}
	}catch(e){}
}

//Resgata a primeira tag IMG dentro de uma div
function getImgObject(id){
	return document.getElementById(id).getElementsByTagName('img')[0];
}

//Quando clicado na imagem dispara esta função
function imgClick(imgIndex){
	if ((oImageIndex['p'+ imgIndex] != null) && (oListImages[listDefaultIndex]['image_file__'+ oImageIndex['p'+ imgIndex]] != null)){
		var oldIndex = oImageIndex.main;
		var newIndex = oImageIndex['p'+ imgIndex];
		oImageIndex.main = newIndex;
		oImageIndex['p'+ imgIndex] = oldIndex;
		try{
			getImgObject('prod_descr_img_main').src = iRootFolder + '/Assets/product_images/grandes/' + oListImages[listDefaultIndex]['image_file__'+ oImageIndex.main]
		}catch(e){}
		try{
			getImgObject('prod_descr_img_p' + imgIndex).src =  iRootFolder + '/Assets/product_images/mini/' + oListImages[listDefaultIndex]['image_file__'+ oImageIndex['p'+ imgIndex]]
		}catch(e){}
	}
}

//Amplia a imagem (Zoom)
function ShowZoom() {
	var zoomPage = new String(iZoomPageURL)
	if (oListImages.length > 0){
		zoomPage = zoomPage.replace(escape("$imagem"), oListImages[listDefaultIndex]['image_file__'+ oImageIndex.main]);
		zoomPage = zoomPage.replace(escape("$sku"), oListImages[listDefaultIndex].sku);
		zoomPage = zoomPage.replace(escape("$pfid"), oListImages[listDefaultIndex].pf_id);

		window.open(zoomPage, "Zoom","menubar=0, status=0, toolbar=0, width=412, height=440"
		);
		
	}
}

// Fim Imagens
//===============================================


//===============================================
// Variants
// Neste bloco de código estão todas as funções que se referem as variants
// Obs.: Não é neste bloco de código que estão definido as funções de imagens do produto, somente das variants

//Variaveis
var oListVariants = null;
var oListVariantsAttr1 = new Array();
var showVariantImages = false;
var listVariantIndex = 0;

//Função que irá disparar todas as funções necessárias no momento da alteração da variant
function changeVariant(){
	setImages(oListVariants[listVariantIndex].sku);
	setPrices();
	loadParcel();
	showBuy();
}

//Atualiza a div prod_price_text
function setPrices(){
	//try{
		document.getElementById('prod_tit').innerHTML = oListVariants[listVariantIndex].titulo
		document.getElementById('price_text1').innerHTML = oListVariants[listVariantIndex].prod_price_text1;
		document.getElementById('price_text2').innerHTML = oListVariants[listVariantIndex].prod_price_text2;
		document.getElementById('price_text3').innerHTML = oListVariants[listVariantIndex].prod_price_text3;
		document.getElementById('price_btn').innerHTML = oListVariants[listVariantIndex].prod_price_btn;
		
		
		if(oListVariants[listVariantIndex].quantity <= 0 && oListVariants[listVariantIndex].VendeProdForaEstoque == "S"){
			document.getElementById('disponibilidade').innerHTML = "<div class=\"disponibilidade\"> <b>Prazo de disponibilidade do produto: </b>" + oListVariants[listVariantIndex].availability + "</div>";
		}else{
			document.getElementById('disponibilidade').innerHTML = "";
		}
		
	//}catch(e){}
}

function showBuy(){
	if(oListVariants[listVariantIndex].quantity <= 0 && QueryString("tu") != "gd" && oListVariants[listVariantIndex].VendeProdForaEstoque == "N")
	{
		var variants;
		
		if(oListVariants[listVariantIndex].attr_label2 == "null")
		{
			variants = 	oListVariants[listVariantIndex].attr_label1 + " e " + oListVariants[listVariantIndex].attr_label2;
		}else{
			variants = oListVariants[listVariantIndex].attr_label1;
		} 
		
		
		document.getElementById('price_btn').style.width = '300px';
		document.getElementById('price_btn').style.textAlign = 'left';
		
		/*if(oListVariants[listVariantIndex].attr_label1)
			document.getElementById('price_btn').innerHTML = "<strong>Este Item, em " + variants + " abaixo está temporariamente indisponível.</strong><br><br>";
		else
			document.getElementById('price_btn').innerHTML = "<strong>Este Item abaixo está temporariamente indisponível.</strong><br><br>";*/
		document.getElementById('price_btn').innerHTML = "<BR>";
		document.getElementById('price_btn').innerHTML += "<FONT size='2'><b><A href='javascript:IndispInfo();'> Avise-me quando este produto estiver disponível</A></FONT></B><BR><BR>";
		
	}else{
		document.getElementById('price_btn').innerHTML = oListVariants[listVariantIndex].prod_price_btn;
	}
}

//Efetua um loop em todos os registros das variants verificando qual é o default
function setVariantDefaultIndex(){
	//var sku_giftlist = QueryString("sku_giftlist");
	var sku_giftlist = QueryString("sku%5Fgiftlist");
	listDefaultIndex = 0;
	try {
		for (i=0;i<oListVariants.length;i++){
			if(sku_giftlist.length > 0){
				if (oListVariants[i].sku == sku_giftlist){
					listVariantIndex = i;
					listDefaultIndex = i;
					break;
				}
			}else{
				if (oListVariants[i].default_var==true){
					listVariantIndex = i;
					listDefaultIndex = i;
					break;
				}
			}
		}
	}catch(e){}
	
	setImages(sku_giftlist);
}

//Resgata o ID (do array) das variants com base no SKU
function getVariantIDByItem(item,value,item2,value2){
	var retorno = -1;
	for (i=0;i<oListVariants.length;i++){
		if ((item2 != null) && (item2 != undefined) && (value2 != null) && (value2 != undefined)) {
			if ((oListVariants[i][item]==value) && (oListVariants[i][item2]==value2)){
				retorno = i;
				break;
			}
		}else{
			if (oListVariants[i][item]==value){
				retorno = i;
				break;
			}
		}
	}
	return retorno;
}

//Função que verifica se o um item existe no objeto
function exists(object, item, valor){
	var retorno = false;
	//try{
		for (io=0;io<object.length;io++){
			if (object[io][item]==valor){
				retorno = true;
				break;
			}
		}
	//}catch(e){}
	return retorno;
}

//Função que monta o objeto com os dados que irão para os combos
function setObjectList(){
	var lastImage = '';
	for (i=0;i<oListVariants.length;i++){
		if (!exists(oListVariantsAttr1,'attr_value1',oListVariants[i].attr_value1)){
			oListVariantsAttr1.push({attr_value1:oListVariants[i].attr_value1, attr_label1:oListVariants[i].attr_label1, pf_id:oListVariants[i].pf_id, default_var:oListVariants[i].default_var})
		}
		/*if ((oListVariants[i].image_file != lastImage) && (lastImage != '')){
			showVariantImages = true;
		}*/
		
		if (oAttrImages.length > 0){
			showVariantImages = true;
		}
			
		lastImage = oListVariants[i].image_file;
	}
}

//Função que terá como parametro o texto no padrão JSON, e define o objeto oListImages com este texto.
function setVariantList(jsonList,attrValue1,attrValue2, jsonList2){
	
	//try {
		oListVariants = jsonList;
		oAttrImages = jsonList2;
		
		if (oListVariants.length == 1){
			setVariantDefaultIndex();
			
			if (oListVariants[0].sku != oListVariants[0].pf_id){
			    //Montado somente para quando não tem variant
			    setObjectList();
			    montaVariantImagesHTML();
			    setComboData();
			}    		
			
			setPrices();
			showBuy();
			
		}else if (oListVariants.length > 1){
			setVariantDefaultIndex();
			setObjectList();
			montaVariantImagesHTML();
			setComboData();
			setPrices();
			showBuy();
		}
	//}catch(e){}

	if ((attrValue1 == 'null') || (attrValue1 == '')){ attrValue1 = null }
	if ((attrValue2 == 'null') || (attrValue2 == '')){ attrValue2 = null }
	selectComboItem(attrValue1,attrValue2)
}


function montaVariantImagesHTML(){
	var objVariants = document.getElementById('prod_variant')
	var objVariantsImg = document.getElementById('prod_variant_img')
	var scriptImg = "";
	var hasTwoVariants = false;
	
	var HTML = ''
	var HTML2 = ''
	var HTML3 = ''
	
	if ((oListVariants[0].attr_value1 != null) && (oListVariants[0].attr_value1 != '')){
		HTML = HTML + '<div class="pro_var_1">' +
		'	<strong>' + oListVariants[0].attr_label1 + '</strong>' +
		'	<select name="attr_value1" class="input" id="cboAttrValue1" onChange="javascript:comboClick(\'1\',true)"></select>' +
		'</div>'
	}
	
	if ((oListVariants[0].attr_value2 != null) && (oListVariants[0].attr_value2 != '')){
		hasTwoVariants = true;
		//flag necessária para fazer a montagem das imagens de forma correta
		
		if(isIE())
			HTML = HTML + '<div id="prod_variant_img2" style="float:left;"></div>';
		else
			HTML = HTML + '<br><br><br><div id="prod_variant_img2" style="float:left;"></div>';
		
		HTML = HTML + '<br style="clear:left;" /><div class="pro_var_2">' +
		'	<strong>' + oListVariants[0].attr_label2 + '</strong>' +
		'	<select name="attr_value2" class="input" id="cboAttrValue2" onChange="javascript:comboClick(\'2\',true)"></select>' +
		'</div>'
	}
	
	if (showVariantImages){
		HTML2 = HTML2 + '' +
		'<div class="pro_var_images">';
		
		if(hasTwoVariants)	
			HTML3 = HTML3 + '' + '<div class="pro_var_images">';
			
		for (i=0;i<oAttrImages.length;i++){
			if(oListVariants[0].attr_label1.indexOf(oAttrImages[i].mva_name) != -1){
				scriptImg = "selectComboItem('"+oAttrImages[i].mva_value+"',null);";
				HTML2 = HTML2 + '<div class="prod_descr_img_mini" id="'+oAttrImages[i].mva_value+'"><a href="javascript:'+scriptImg+'"><img src="'+ iRootFolder + '/Assets/attribute_images/mini/' + oAttrImages[i].mva_image_file + '" border="0"></a></div>'
			}else if(oListVariants[0].attr_label2.indexOf(oAttrImages[i].mva_name) != -1){
				scriptImg = "selectComboItem(null,'"+oAttrImages[i].mva_value+"');";
				HTML3 = HTML3 + '<div class="prod_descr_img_mini" id="'+oAttrImages[i].mva_value+'"><a href="javascript:'+scriptImg+'"><img src="'+ iRootFolder + '/Assets/attribute_images/mini/' + oAttrImages[i].mva_image_file + '" border="0"></a></div>'
			}			
		}
		
		HTML2 = HTML2 + '</div>';
		
		if(hasTwoVariants)
			HTML3 = HTML3 + '</div>';
	}
	
	objVariants.innerHTML = HTML;
	if(hasTwoVariants){
		objVariantsImg.innerHTML = HTML3;
		document.getElementById("prod_variant_img2").innerHTML = HTML2;
	}else{
		objVariantsImg.innerHTML = HTML2;
	}

}

//Cria as combos
function setComboData(combo){
	var cboAttrValue1 = document.getElementById('cboAttrValue1')	
	var cboAttrValue2 = document.getElementById('cboAttrValue2')
	var attr1_index = 0;
	var attr2_index = 0;

	if ((((combo == null) || (combo == undefined)) || (combo == 'cboAttrValue1')) && (cboAttrValue1)){
		cboAttrValue1.options.length = 0;
		for (i=0;i<oListVariantsAttr1.length;i++){
			if(oListVariantsAttr1[i].attr_value1 == oListVariants[listVariantIndex].attr_value1){
				attr1_index = i;	
			}
			cboAttrValue1.options[i] = new Option(oListVariantsAttr1[i].attr_value1,oListVariantsAttr1[i].attr_value1,false,false);
		}
		cboAttrValue1.options[attr1_index].selected = "selected"
	}
	
	
	
	if ((((combo == null) || (combo == undefined)) || (combo == 'cboAttrValue2')) && (cboAttrValue2)){
		if ((oListVariants[0].attr_value2 != null) && (cboAttrValue1.value != '')){
			var combo2Index = 0;
			cboAttrValue2.options.length = 0;
			for (i=0;i<oListVariants.length;i++){
				if (oListVariants[i].attr_value1 == cboAttrValue1.value){
					if(oListVariants[i].attr_value2 == oListVariants[listVariantIndex].attr_value2){
						attr2_index = combo2Index;	
					}
					cboAttrValue2.options[combo2Index] = new Option(oListVariants[i].attr_value2,oListVariants[i].attr_value2,false,false);
					combo2Index++;
				}
			}
			cboAttrValue2.options[attr2_index].selected = "selected"
		}
	}
}


function selectComboItem(value1, value2){
	var cboAttrValue1 = document.getElementById('cboAttrValue1')
	var cboAttrValue2 = document.getElementById('cboAttrValue2')
	if ((value1 != null) && (value1 != undefined) && (cboAttrValue1)){
		for (i=0;i<cboAttrValue1.options.length;i++){
			if (cboAttrValue1.options[i].value == value1){
				cboAttrValue1.options[i].selected = "selected";
				
				for(var i = 0; i < oListVariants.length; i++){
                    if(oListVariants[i].attr_value1 == value1)
                        document.getElementById(value1).className = "prod_descr_img_mini_sel";
                    else
                        document.getElementById(oListVariants[i].attr_value1).className = "prod_descr_img_mini";
                }
			}
		}
	}
	if ((value2 != null) && (value2 != undefined) && (cboAttrValue2)){
		for (i=0;i<cboAttrValue2.options.length;i++){
			if (cboAttrValue2.options[i].value == value2){
				cboAttrValue2.options[i].selected = "selected";
				for(var i = 0; i < oListVariants.length; i++){
                    if(oListVariants[i].attr_value2 == value2)
                        try{
							document.getElementById(value2).className = "prod_descr_img_mini_sel";
						}catch (e){
							//para caso a variante não tenha imagem
						}
                    else
                        try{
                            document.getElementById(oListVariants[i].attr_value2).className = "prod_descr_img_mini";
                        }catch (e){
                            //para caso a variante não tenha imagem
                        }
                }
			}
		}
	}
	if ((value1) || (value2)){
		if (cboAttrValue2){
			comboClick('2',false)
		}else{
			comboClick('1',false)
		}
	}
}


function imgVarClick(sku){
	var iItem = getVariantIDByItem('sku',sku);
	if (iItem != -1){
		selectComboItem(oListVariants[iItem].attr_value1,oListVariants[iItem].attr_value2);
	}
}

function comboClick(cboIndex,force){
	var cboAttrValue1 = document.getElementById('cboAttrValue1')
	var cboAttrValue2 = document.getElementById('cboAttrValue2')
	if (cboIndex == '1'){
		if (cboAttrValue2){
			var lastValue = cboAttrValue2.value;
			setComboData('cboAttrValue2');
			selectComboItem(null,lastValue);
			if (force == true){
				var iItem = getVariantIDByItem('attr_value1',cboAttrValue1.value,'attr_value2',cboAttrValue2.value);
				listVariantIndex = iItem;
				changeVariant();
				showBuy();
			}
		}else{
			var iItem = getVariantIDByItem('attr_value1',cboAttrValue1.value);
			listVariantIndex = iItem;
			changeVariant();
			showBuy();
		}
	}else if (cboIndex == '2'){
		var iItem = getVariantIDByItem('attr_value1',cboAttrValue1.value,'attr_value2',cboAttrValue2.value);
		listVariantIndex = iItem;
		changeVariant()
	}
}

// Fim Variants
//===============================================


//===============================================
// Cartões
// Monta somente a listagem dos cartões disponíveis para posterior montagem da tabela de parcelamento
var oListCards = null;
var listCardsIndex = 0;
var selectedCard = 0;
var oListParcel = new Array()

//Resgata o ID (do array) dos cartões
function getCardIDByItem(item,value){
	var retorno = -1;
	for (i=0;i<oListCards.length;i++){
		if (oListCards[i][item]==value){
			retorno = i;
			break;
		}
	}
	return retorno;
}

function getParcelData(sku, selectedMethod){
	var retorno = null;
	//try{
		for (var io=0;io<oListParcel.length;io++){
			if ((oListParcel[io].sku==sku) && (oListParcel[io].jsData)){
				retorno = oListParcel[io].jsData;
				break;
			}
		}
	//}catch(e){}
	return retorno;
}

//Função que terá como parametro o texto no padrão JSON, e define o objeto oListImages com este texto.
function setCardList(jsonList){
	//try {
		oListCards = jsonList;
		if (oListCards.length > 0){
			selectedCard = oListCards[0].control_method_id;
			montaCardsHTML();
			loadParcel();
		}
	//}catch(e){}
}


function cardClick(id){
	var iItem = getCardIDByItem('control_method_id',id);
	if (iItem != -1){
		document.getElementById('li'+ selectedCard).attributes['class'].value = '';
		selectedCard = id;
		document.getElementById('li'+ selectedCard).attributes['class'].value = 'selecionado';
		//Dispara carregamento da tabela de parcelamento
		loadParcel();
	}
}

function montaCardsHTML(){
	var objCards = document.getElementById('cartao_aba')

	var HTML = ''
	
	if (oListCards.length > 0){
		HTML = HTML + '<ul>'
		for (i=0;i<oListCards.length;i++){	
			HTML = HTML + '<li id="li' + oListCards[i].control_method_id + '"'
			if (oListCards[i].control_method_id == selectedCard){
				HTML = HTML + ' class="selecionado"'
			}else{
				HTML = HTML + ' class=""'
			}
			HTML = HTML + '><a href="javascript:cardClick(\'' + oListCards[i].control_method_id + '\')"><img src="'+ iTemplateFolder + '/' + oListCards[i].method_logo_mini + '" border="0"></a></li>'
		}
		HTML = HTML + '</ul>'
	}
	
	objCards.innerHTML = HTML;
	try{
	document.getElementById(selectedCard).checked = true;
	}catch(e){}
}

function montaParcelHTML(jsDados){
	if (jsDados){
		var iData = jsDados.data[selectedCard]
		try{		
			var HTML = '';
			HTML = HTML + ''
			HTML = HTML + '<table cellpadding="0" cellspacing="1" border="0">'
			HTML = HTML + '<tr>'
			HTML = HTML + '<td class="tit">' + jsDados.parcel + '</td>'
			HTML = HTML + '<td class="tit">' + jsDados.price + '</td>'
			HTML = HTML + '<td class="tit">' + jsDados.parcel + '</td>'
			HTML = HTML + '<td class="tit">' + jsDados.price + '</td>'
			HTML = HTML + '</tr>'
			
			for (var i=0;i<iData.length;i++){
				HTML = HTML + '<tr>'
				HTML = HTML + '<td class="parc1">'+ iData[i].parcel +'</td>'
				HTML = HTML + '<td class="parc2">'+ iData[i].price +'</td>'
				if ((i+1)<iData.length){
					i = i + 1
					HTML = HTML + '<td class="parc1">'+ iData[i].parcel +'</td>'
					HTML = HTML + '<td class="parc2">'+ iData[i].price +'</td>'
				}else{
					HTML = HTML + '<td class="parc1">&nbsp;</td>'
					HTML = HTML + '<td class="parc2">&nbsp;</td>'
				}
				HTML = HTML + '</tr>'
			}
			HTML = HTML + '</table>'
			document.getElementById('cartao_parcelamento').innerHTML = HTML;
		}catch(e){}
	}
}

function carregandoParcelamento(visible){
	try{
		if (visible){
			document.getElementById('cartao_parcelamento').innerHTML = 'Carregando...';
		}else{
			document.getElementById('cartao_parcelamento').innerHTML = '';
		}
	}catch(e){}
}

function loadParcel(){
	var msgErro = 'Erro ao processar a tabela de parcelamento.';
	var cAjax = new Ajax();
	var parcelData = getParcelData(oListVariants[listVariantIndex].sku,selectedCard)
	carregandoParcelamento(true);
	if (parcelData != null){
		montaParcelHTML(parcelData);
	}else{
		cAjax.onStateChange = function(classState,httpState,retornoHTML,retornoXML){
			//alert(retornoHTML);
			////document.getElementById('erro').innerHTML = //document.getElementById('erro').innerHTML + retornoHTML;
			if(httpState == 200) {
				//
				//alert(retornoHTML.toString())
				var jsDados = eval('(' + retornoHTML.toString() + ')');
				if (jsDados.err.number != undefined){
					if (jsDados.err.number != '0'){
						alert(jsDados.err.description);
					}else{
						oListParcel.push({'sku':oListVariants[listVariantIndex].sku,'jsData':jsDados});
						montaParcelHTML(jsDados);
					}
				}
			}else{
				alert(msgErro);
				carregandoParcelamento(false);
			}
			var cAjax = '';
			
		}
		cAjax.load("product_calc_parcel.asp","card=" + selectedCard + '&sku=' + oListVariants[listVariantIndex].sku,"POST")
	}
}

function showParcel(){
	var cartao = document.getElementById('cartao_credito')
	var cboAttrValue1 = document.getElementById('cboAttrValue1')	
	var cboAttrValue2 = document.getElementById('cboAttrValue2')
	try {
		if (cartao.style.visibility == 'visible'){
			cartao.style.visibility = 'hidden';
			//cboAttrValue1.style.visibility = 'visible';
			//try{ cboAttrValue2.style.visibility = 'visible'; }catch(e){};
		}else{
			cartao.style.visibility = 'visible';
			//cboAttrValue1.style.visibility = 'hidden';
			//try{ cboAttrValue2.style.visibility = 'hidden'; }catch(e){};
		}
		cartao.style.top = (iMouse.y)+ 'px';
		cartao.style.left = (iMouse.x - 430) + 'px';
	}catch(e){}

}

// Fim Cartões
//===============================================

//===============================================
//Inicio frete grátis

function showFrete(){
	var frete = document.getElementById('frete_gratis')
	//var cboAttrValue1 = document.getElementById('cboAttrValue1')	
	//var cboAttrValue2 = document.getElementById('cboAttrValue2')
	try {
		if (frete.style.visibility == 'visible'){
			frete.style.visibility = 'hidden';
			//cboAttrValue1.style.visibility = 'visible';
			//try{ cboAttrValue2.style.visibility = 'visible'; }catch(e){};
		}else{
			frete.style.visibility = 'visible';
			//cboAttrValue1.style.visibility = 'hidden';
			//try{ cboAttrValue2.style.visibility = 'hidden'; }catch(e){};
		}
		frete.style.top = iMouse.y + 'px';
		frete.style.left = (iMouse.x - 430) + 'px';
	}catch(e){}

}

//fim frete-gratis
//==============================================

//===============================================
// Mouse
// Utiliza o evento do mouse p/ recuperar sua posição, esta posição será utilizada para mostrar a div de parcelamento.
var iMouse = {x:0,y:0}
var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;


function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    iMouse.x = event.clientX + document.body.scrollLeft
    iMouse.y = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    iMouse.x = e.pageX
    iMouse.y = e.pageY
  }  
  // catch possible negative values in NS4
  if (iMouse.x < 0){iMouse.x = 0}
  if (iMouse.y < 0){iMouse.y = 0}  
  return true
}

// Fim Mouse
//===============================================


//===============================================
// Aro
// Monta a listagem dos combos do aro
var oAro = {AdicionalAro1:0, AdicionalAro2:0};
var variacao, valorAdicional, anelPares, aroInicial, msgValorAdicional;

function setAro(vAroInicial, vAroMaximo, vVaricaoAroAnel, vValorAdicionalAnel, vAnelPares, vMsgValorAdicional){
	variacao = vVaricaoAroAnel;
	valorAdicional = vValorAdicionalAnel;
	aroInicial = vAroInicial;
	msgValorAdicional = vMsgValorAdicional;
	
	if (vAnelPares = true){
		anelPares = true;
	}else{
		anelPares = false;
	}
	
	var divValorAdicional = document.getElementById('div_valor_adicional')
	var divAroDesc = document.getElementById('aro_desc')
	if (divValorAdicional){
		if  (vValorAdicionalAnel > 0){
			divValorAdicional.style.visibility = 'visible';
			divValorAdicional.style.position = 'static';
			if (divAroDesc){
				divAroDesc.innerHTML = msgValorAdicional;
			}
		}else{
			divValorAdicional.style.visibility = 'hidden';
			divValorAdicional.style.position = 'absolute';	
		}
	}
	setComboAro(vAroInicial, vAroMaximo);
}

function setComboAro(vAroInicial, vAroMaximo){
	var cboAro1 = document.getElementById('aro1')
	var cboAro2 = document.getElementById('aro2')
	var newItem = 1;
	for (var i = vAroInicial;i<=vAroMaximo;i++){
		if (cboAro1){
			cboAro1.options[newItem] = new Option(i,i,false,false);
		}
		if ((anelPares) && (cboAro2)){
			cboAro2.options[newItem] = new Option(i,i,false,false);
		}
		newItem++;
	}
}

function calculaValor(aro) {
	if (valorAdicional > 0){
		if (aro <= aroInicial) {
			oAro.AdicionalAro1 = 0
		}
		else {
			oAro.AdicionalAro1 = parseInt((aro - aroInicial + 1) / variacao) * valorAdicional;
		}
		MostraValores();
	}
}

function calculaValor2(aro) {
	if ((anelPares) && (valorAdicional > 0)){
		if (aro <= aroInicial) {
			oAro.AdicionalAro2 = 0
		}
		else {
			oAro.AdicionalAro2 = parseInt((aro - aroInicial + 1) / variacao) * valorAdicional;
		}
		MostraValores();
	}
}

function MostraValores() {
	var diferenca;
	diferenca = oAro.AdicionalAro1 + oAro.AdicionalAro2;
	document.getElementById('valor_adicional').innerHTML = money(diferenca); 
	document.getElementById('valor_add').value = diferenca;
}

// Fim Aro
//===============================================


//===============================================
// Giftlist (Lista de Presentes)

// Exclui o produto da lista
function ExcluirProduto(IdGl, sku, isLoaded, template_id) {																			
	if (confirm('Você deseja excluir este produto da sua lista de presentes?'))
	{
		AddGiftList(IdGl, sku, '0', 'D', isLoaded, template_id);
	}
}

// Adiciona, atualiza, exclui e depois mostra a lista atualizada dos produtos da lista
function AddGiftList(IdGl, sku, qtd, action, isLoaded, template_id) {
	//sku = Código da Variante do Produto
	//qtd = Quantidade Requerida do Produto
	//action = I/INSERT/UPDATE - D/DELETE - S/SELECT
	
	if (sku == 'undefined')
	{
		alert('Não é possível adicionar este item a lista de presentes, pois ele não está dísponível.')
		return false;
	}
	
	if (qtd.value == '')
	{
		alert('Selecione a quantidade do produto que deverá ser adicionada a lista de presentes!');
		qtd.focus();
		return false;
	}	
	
	var cAjax = new Ajax(); // include/classe_ajax.js
	cAjax.onStateChange = function(classState,httpState,retornoHTML,retornoXML){
		if(httpState == 200) {
			document.getElementById('coluna_direita_giftlist').innerHTML = retornoHTML; // O Elemento "coluna_direita_giftlist" é uma DIV que fica coluna que forma a coluna direita da product.
			if (action == 'I' || action == 'U')
			{
				if(document.getElementById("acao").innerHTML == "I")
					alert('Produto adicionado à lista!');
				
				if(document.getElementById("acao").innerHTML == "U")
					alert('Quantidade do produto alterada!');
			}
		}else{
			alert('Erro ' + httpState + '\n\nFavor entrar em contato com o administrador do sistema.');
		}
		var cAjax = '';
		
	}
	cAjax.load('giftlist_i_variant.asp', 'IdGl=' + IdGl + '&sku=' + sku + '&qtd=' + qtd.value + '&action=' + action + '&isLoaded=' + isLoaded + '&template_id=' + template_id + '&old_template_id=' + template_id,'POST') // Chama a função AJAX
}
// Fim Giftlist (Lista de Presentes)
//===============================================

function IndispInfo() {
	window.location = "shopper_alert.asp?dept_id="+oListVariants[listVariantIndex].dept_id+"&sku="+ oListVariants[listVariantIndex].sku;
}

