///////////////////////////////////////////////////////////////////////////////////////
// Inclui bibliotecas necessárias para funcionamento deste
// Diego Nepomuceno - 04/06/09
///////////////////////////////////////////////////////////////////////////////////////
try{
	document.write(unescape("%3Cscript src='/_js/jquery.js' type='text/javascript'%3E%3C/script%3E"));
}catch(err){}

try{
	var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
}catch(err){}

///////////////////////////////////////////////////////////////////////////////////////
// Variáveis JavaScript acessiveis na página.
// Diego Nepomuceno - 01/07/09
///////////////////////////////////////////////////////////////////////////////////////
var siteURL=null;
var IPCliente=null;

///////////////////////////////////////////////////////////////////////////////////////
// Cria pacote: com.webvenda.componentes
// Diego Nepomuceno - 06/02/09
///////////////////////////////////////////////////////////////////////////////////////
var com = com ? com : {}  
	com.webvenda = com.webvenda ? com.webvenda : {}  
	com.webvenda.componentes = com.webvenda.componentes ? com.webvenda.componentes : init

function init(sUrl){
	
	//*********************************************
	// funções disponíveis nos objetos desta classe
	//*********************************************
	this.preencheDepartamento=preencheDepartamento;
	this.preencheFabricante=preencheFabricante;
	this.busca=busca;
	this.addCompraAtualNoAnalytics=addCompraAtualNoAnalytics;
	
	//*********************************************
	// funções disponíveis nos objetos desta classe
	//*********************************************
	if (sUrl)
		siteURL=sUrl
	else
		$.ajax({
			type: "GET",
			url: "/admin/inbox/integracao/ajax.aspx?ajax=getSiteURL",
			dataType: "string",
			success: function(xml) {
				siteURL=xml;
			}
		});
		
	$.ajax({
		type: "GET",
		url: "/admin/inbox/integracao/ajax.aspx?ajax=getIPCliente",
		dataType: "string",
		success: function(xml) {
			IPCliente=xml;
		}
	});

	function preencheDepartamento(pdep){
		$('select[@id='+pdep.id+']').html('<option value="-1">Procurando :::::::</option>');
		$.post('/' + siteURL + '/loja.aspx', { ajax : 'getDepartamentosOptions' },
			function(resposta){
				$('select[@id='+pdep.id+']').html(resposta);
			}
		);
	}
	
	function preencheFabricante(pfab){
		$('select[@id='+pfab.id+']').html('<option value="-1">Procurando :::::::</option>');
		$.post('/' + siteURL + '/loja.aspx', { ajax : 'getFabricantesOptions' },
			function(resposta){
				$('select[@id='+pfab.id+']').html(resposta);
			}
		);
	}

	///////////////////////////////////////////////////////////////////////////////////////
	// Componente Busca, permite que a busca seja utilizada em qualquer lugar da loja.
	// Diego Nepomuceno - 11/12/08
	///////////////////////////////////////////////////////////////////////////////////////
	function busca(){
		this.fazBusca=fazBusca;
		//ordem do texto: nomeproduto,departamento,fabricante,valorminimo,valormaximo,ordem
		function fazBusca(prod,pdep,pfab,vmin,vmax,ord){
			prod=(prod?prod:'');
			pdep=(pdep?pdep:0);
			pfab=(pfab?pfab:0);
			vmin=(vmin?vmin:0);
			vmax=(vmax?vmax:0);
			ord=(ord?ord:2);
			var paginaBusca='/' + siteURL + '/loja.aspx?tipobusca=2';
			paginaBusca += '&prod='+prod;
			paginaBusca += '&pdep='+pdep;
			paginaBusca += '&pfab='+pfab;
			paginaBusca += '&vmin='+vmin;
			paginaBusca += '&vmax='+vmax;
			paginaBusca += '&ord='+ord;
			location.href=paginaBusca;
			return false;
		}
	}
	
	///////////////////////////////////////////////////////////////////////////////////////
	// Função para monitorar transações de comércio eletrônico no analytics
	// Diego Nepomuceno - 02/06/09
	///////////////////////////////////////////////////////////////////////////////////////
	function addCompraAtualNoAnalytics(codigoGA,idcompra){
		var query = (idcompra != null? '&idcompra='+idcompra:'');

		$.ajax({
			type: "GET",
			url: "/admin/inbox/integracao/ajax.aspx?ajax=getCompra"+query,
			dataType: "xml",
			success: function(xml) {
				  var pageTracker = _gat._getTracker(codigoGA);
				  pageTracker._initData();
				  //pageTracker._trackPageview();
				  $(xml).find('Compras').find('Compra').each(function(){
						var Compra = $(this);
					
						var OrderID = Compra.find('OrderID').text();
						var Affiliation = Compra.find('Affiliation').text();
						var Total = Compra.find('Total').text();
						var Tax = Compra.find('Tax').text();
						var Shipping = Compra.find('Shipping').text();
						var City = Compra.find('City').text();
						var State = Compra.find('State').text();
						var Country = Compra.find('Country').text();
					
						pageTracker._addTrans(
							OrderID,                                // Order ID
							Affiliation,                            // Affiliation
							Total,                                  // Total
							Tax,                                    // Tax
							Shipping,                               // Shipping
							City,                                   // City
							State,                                  // State
							Country                                 // Country
						  );
		
						Compra.find('Produtos').find('Produto').each(function(){
							var Produto = $(this);
			
							var SKU = Produto.find('SKU').text();
							var ProductName = Produto.find('ProductName').text();
							var Category = Produto.find('Category').text();
							var Price = Produto.find('Price').text();
							var Quantity = Produto.find('Quantity').text();
							
							pageTracker._addItem(
								OrderID,                                 // Order ID
								SKU,                                     // SKU
								ProductName,                             // Product Name 
								Category,                                // Category
								Price,                                   // Price
								Quantity                                 // Quantity
							);
						}); //close each(

						pageTracker._trackTrans();
				
				 }); //close each(
				
			}
		}); //close $.ajax(
		
	};

}
