var URL;
var URLS;
var arrItensDescricao = new Array();

function SetJavaScriptGlobal_CallBack(r)
{
	try
	{
		if(r.value[0] == '')
		{
			if(r.value[1] != null)
			{
				URL  = r.value[1];
				URLS = r.value[2];
			}
		}
		else
		{
			alert(r.value[0]);
		}
	}
	catch(err)
	{
		alert(err.description);
	}
}

function PopUpAviseme(url)
{
	if(navigator.appName.indexOf("Netscape") != -1)
	{
		window.open(url, "aviseme","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=0,screenX=0,screenY=0,left=0,top=0,width=500,height=500");
	}
    else
    {
		window.open(url, "aviseme","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,screenX=0,screenY=0,left=0,top=0,width=500,height=500");
	}
}

function UsarEnd(endereco)
{
	document.getElementById("txtCEP1" + endereco).value		= document.getElementById("txtCEP1PF").value
	document.getElementById("txtCEP2" + endereco).value		= document.getElementById("txtCEP2PF").value
	document.getElementById("txtEndereco" + endereco).value	= document.getElementById("txtEnderecoPF").value
	document.getElementById("txtNumero" + endereco).value	= document.getElementById("txtNumeroPF").value
	document.getElementById("txtBairro" + endereco).value	= document.getElementById("txtBairroPF").value
	document.getElementById("txtCidade" + endereco).value	= document.getElementById("txtCidadePF").value
	document.getElementById("ddlEstado" + endereco).value	= document.getElementById('ddlEstadoPF').options[document.getElementById('ddlEstadoPF').selectedIndex].value

}
function ListaDesejos_Excluir(codigo)
{
	try
	{
		if(confirm('Deseja excluir este item?'))
		{
			listadesejos.ExcluirItem(codigo, ListaDesejos_Exluir_callback);
		}
	}
	catch(err)
	{
		alert(err.description);
	}			
}

function ListaDesejos_Exluir_callback(r)
{
	try
	{
		if(r.value[1] != null && r.value[1] != '')
		{
			alert(r.value[1]);
		}	
		else
		{
			if(r.value[2] != null && r.value[2] != '')
			{
				var div = document.getElementById('item_' + r.value[2]);
				
				div.style.display = 'none';
				div.innerHTML = '';
			}
		}
	}
	catch(err)
	{
		alert(err.description);
	}
}

function ListaDesejos_AlterarComprou(codigo)
{
	try
	{
		listadesejos.AlterarComprou(codigo, ListaDesejos_AlterarComproucallback);	
	}
	catch(err)
	{
		alert(err.description);
	}
}

function ListaDesejos_AlterarComproucallback(r)
{
	try
	{
		if(r.value[1] != null && r.value[1] != '')
		{
			alert(r.value[1]);
		}	
		else
		{
			if(r.value[2] != null && r.value[2] != '' && r.value[3] != null && r.value[3] != '')
			{
				var div = document.getElementById('Comprou_' + r.value[2]);
			
				div.innerHTML = r.value[3];
			}
		}
	}
	catch(err)
	{
		alert(err.description);
	}		
}

function ListaDesejos_SalvarComentario(codigo)
{
	try
	{
		var ddl				= document.getElementById('ddl_' + codigo);	
		var txtComentario	= document.getElementById('txtComentario_' + codigo);	
		var carregando		= document.getElementById('carregando_' + codigo);
		
		carregando.style.visibility = 'visible';
		listadesejos.SalvarComentario(codigo, ddl.value, txtComentario.value, ListaDesejos_SalvarComentario_callback);
	}
	catch(err)
	{
		alert(err.description);
	}	
}

function ListaDesejos_SalvarComentario_callback(r)
{
	try
	{
		if(r.value[1] != null && r.value[1] != '')
		{
			alert(r.value[1]);
		}	
		else
		{
			if(r.value[2] != null && r.value[2] != '' && r.value[3] != null && r.value[3] != '')
			{
				var ddl					= document.getElementById('ddl_' + r.value[2]);	
				var txtComentario		= document.getElementById('txtComentario_' + r.value[2]);	
				var carregando			= document.getElementById('carregando_' + r.value[2]);
			
				ddl.value				= r.value[3];
				txtComentario.value		= r.value[4];
				
				carregando.style.visibility = 'hidden';	
			}
			else
			{
				window.location = URL + '/index.aspx';	
			}
		}
	}
	catch(err)
	{
		alert(err.description);
	}				
}

function ListaDesejos_AdicionarCarrinho(ProCodigo)
{
	try
	{
		listadesejos.AdicionarCarrinho(ProCodigo, ListaDesejos_AdicionarCarrinho_callback);		
	}
	catch(err)
	{
		alert(err.description);
	}	
}

function ListaDesejos_AdicionarCarrinho_callback(r)
{
	try
	{
		if(r.value[0] != null && r.value[0] == '!sessao')
		{
			window.location = URLS + '/login.aspx';	
		}		
		else
		{
			if(r.value[1] != null && r.value[1] != '')
			{
				alert(r.value[1]);
			}	
			else
			{
				window.location = URL + '/basket/index.aspx';	
			}	
		}
	}
	catch(err)
	{
		alert(err.description);
	}	
}

function janela(hp, nome, width, height) 
	{
		var w = window.screen.width;
		var h = window.screen.height;
		var l = (w-width)/2;
		var t = (h-height)/2;
		
		wAbout = parent.open(hp, nome, 'fullscreen=0,toolbar=0,location=0,directories=0,status=true,menubar=0,scrollbars=1,resizable=0' );

		wAbout.blur();
		window.focus();	
		wAbout.resizeTo(width,height);
		wAbout.moveTo(l, t);
		wAbout.focus();
}
	
function Ampliar(btnImagem)
{
	var source       = document.getElementById(btnImagem).src;
	var UltimaBarra  = source.lastIndexOf('/');
	   
	var diretorio    = source.substring(0, UltimaBarra);
	var imagem       = source.substring(UltimaBarra+1, source.length);
	
	UltimaBarra		 = diretorio.lastIndexOf('/');
	diretorio		 = source.substring(0, UltimaBarra+1);
	   
	var Ampliada     = diretorio + 'Ampliacao/' + imagem; 
	   
	window.open(Ampliada, 'ImagemAmpliada', 'width=270, height=300');
}

function MM_preloadImages()
	{
		var d=document; 
		if(d.images)
		{ 
			if(!d.MM_p) 
			d.MM_p=new Array();
			var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
			for(i=0; i<a.length; i++)
				if (a[i].indexOf("#")!=0)
				{ 
					d.MM_p[j]=new Image; 
					d.MM_p[j++].src=a[i];
				}
		}
	}

function MM_swapImgRestore() {
	var i,x,a=document.MM_sr; 
	for(i=0; a && i < a.length && (x=a[i])&& x.oSrc; i++) 
		x.src=x.oSrc;
}

function MM_findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function ValidaBusca()
{
	if(document.getElementById("header_txtBusca").value.length <= 2)
	{
		alert("A busca deve conter mais de dois caracteres");
		return false;
	}
	else
	{
		return true;
	}
}

function ColocaFocus(NomeBtn, e) 
{ 
	try
	{
		var key; 
		if(window.event) 
		{ 
			key = event.keyCode; 
		}
		else
		{ 
			key = e.which; 
		}
		if(key == 13)
		{
			document.getElementById(NomeBtn).focus();
		}
	} 
	catch(err)
	{
		alert(err.description);
	}
	
	return false;
} 

function mask(str,textbox,loc,delim,limit)
{
	var locs = loc.split(',');
	
	for (var i = 0; i <= locs.length; i++)
	{
		for (var k = 0; k <= str.length; k++)
		{
			if (k == locs[i])
			{
				if (str.substring(k, k+1) != delim)
				{
					str = str.substring(0,k) + delim + str.substring(k,str.length)
				}
			}
		}
	}
	
	textbox.value = str.substring(0,limit)
	
	if (textbox.value.length == limit)
	{
		Mostra(textbox, limit);
	}
}

function formatar(src, mask) 
{
     var i = src.value.length;
     var saida = mask.substring(0,1);
     var texto = mask.substring(i)
     if (texto.substring(0,1) != saida) 
     {
          src.value += texto.substring (0,1);
     }
}

/*** Funciona no IE e FireFox ***/
function SomenteNumero(e)
{ 
	var key //= (window.event) ? event.keyCode : e.which; 

	if (window.event) 

	key = event.keyCode 

	else 

	key = e.which // Was key that was pressed a numeric character (0-9) or backspace (8)? 


	if ( key > 47 && key < 58 || key == 8 ) 

	return; // if so, do nothing 

	else // otherwise, discard character 

	if (window.event) //IE 

	window.event.returnValue = null; 

	else //Firefox 

	e.preventDefault();
} 

function Mostra(quem, tammax) 
{
	VerifiqueTAB=true;

	if (quem.value.length == tammax && VerifiqueTAB)
	{
		var i=0,j=0, indice=-1;
		
		for (i=0; i<document.forms.length; i++) 
		{
			for (j=0; j<document.forms[i].elements.length; j++) 
			{
				if (document.forms[i].elements[j].name == quem.name) 
				{
					indice=i;
					break;
				}
			}
			if (indice != -1)
			{
				break;
			}
		}
		for (i=0; i<=document.forms[indice].elements.length; i++) 
		{
			if (document.forms[indice].elements[i].name == quem.name) 
			{
				try
				{
					while ((document.forms[indice].elements[(i+1)].type == "hidden") && (i < document.forms[indice].elements.length)) 
					{
						i++;
					}
					document.forms[indice].elements[(i+1)].focus();
				}
				catch(err)
				{
				}
				
				VerifiqueTAB=false;
				break;
			}
		}
	}
}

function validaCPF() 
{
	arguments.IsValid = true;
	
	erro = new String;
	
	if ((document.getElementById("rbtPessoaFisica") != null && document.getElementById("rbtPessoaFisica").checked == true) || document.getElementById("txtTipoPessoa").value == "pf")
	{
		if (document.getElementById("txtCPF").value == "")
		{
			erro+="O campo CPF é Obrigatório!\n";
		}
		else
		{
			cpf = document.getElementById("txtCPF").value;
			cpf = cpf.replace(".", "");
			cpf = cpf.replace(".", "");
			cpf = cpf.replace(".", "");
			cpf = cpf.replace(",", "");
			cpf = cpf.replace("-", "");
			cpf = cpf.replace(" ", "");
			
			if (cpf.length < 11)
			{
				erro += "Sao necessarios 11 digitos para verificacao do CPF!\n"; 
			}
			var nonNumbers = /\D/;
			if (nonNumbers.test(cpf))
			{
				erro += "A verificacao de CPF suporta apenas numeros!\n"; 
			}
			if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
			{
				erro += "Numero de CPF invalido!\n"
			}
			var a = [];
			var b = new Number;
			var c = 11;
			for (i=0; i<11; i++)
			{
				a[i] = cpf.charAt(i);
				if (i < 9)
				{
					b += (a[i] * --c);
				}
			}
			if ((x = b % 11) < 2)
			{ 
				a[9] = 0
			}
			else
			{ 
				a[9] = 11-x
			}
			b = 0;
			c = 11;
			for (y=0; y<10; y++)
			{
				b += (a[y] * c--);
			} 
			if ((x = b % 11) < 2)
			{ 
				a[10] = 0; 
			} 
			else
			{ 
				a[10] = 11-x; 
			}
			if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]))
			{
				erro +="Numero de CPF invalido!\n";
			}
		}    
	}
	return erro;
}

function validaCNPJ(cnpj)
{
	var retorno = '';
	
	CNPJ = Trim(cnpj);
	
	erro = new String;
	if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ!\n"; 
	if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
	if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ!\n";
	}
	
	//substituir os caracteres que não são números
	if(document.layers && parseInt(navigator.appVersion) == 4){
			x = CNPJ.substring(0,2);
			x += CNPJ. substring (3,6);
			x += CNPJ. substring (7,10);
			x += CNPJ. substring (11,15);
			x += CNPJ. substring (16,18);
			CNPJ = x; 
	} else {
			CNPJ = CNPJ. replace (".","");
			CNPJ = CNPJ. replace (".","");
			CNPJ = CNPJ. replace ("-","");
			CNPJ = CNPJ. replace ("/","");
	}
	var nonNumbers = /\D/;
	if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números!\n"; 
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	for (i=0; i<12; i++)
	{
			a[i] = CNPJ.charAt(i);
			b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
	b = 0;
	for (y=0; y<13; y++) {
			b += (a[y] * c[y]); 
	}
	if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
			erro +="Dígito verificador com problema!\n";
	}
	
	
	if(erro.length > 0)
	{
		retorno = 'CNPJ inválido!\n';
	}
    
    return retorno;				
}

function Trim(STRING)
{
    STRING = LTrim(STRING);
    
    return RTrim(STRING);
}   

function RTrim(STRING)
{
    while(STRING.charAt((STRING.length -1))==" ")
    {
        STRING = STRING.substring(0,STRING.length-1);
    }
    
    return STRING;
}


function LTrim(STRING)
{
    while(STRING.charAt(0)==" ")
    {
        STRING = STRING.replace(STRING.charAt(0),"");
    }
    
    return STRING;
}

function CarregaCEP(pagina, endereco)
{
	var CEP = document.getElementById("txtCEP1" + endereco).value + document.getElementById("txtCEP2" + endereco).value
	if(CEP.length == 8)
	{
		TrocaImagem("carregando_mini");
		eval(pagina).CarregaCEP(CEP, endereco, CarregaCEP_CallBack);
	}
}

function CarregaCEP_CallBack(response)
{
	if(response.error == null)
	{
		var retorno = response.value;
		if(retorno[0])
		{
			document.getElementById("txtEndereco" + retorno[6]).value		= retorno[1]
			document.getElementById("txtComplemento" + retorno[6]).value	= retorno[2]	
			document.getElementById("txtBairro" + retorno[6]).value		= retorno[3]
			document.getElementById("txtCidade"+ retorno[6]).value		= retorno[4]
		}
		else
		{
			alert(retorno[1]);
		}
		
		TrocaImagem("carregando_mini");
	}
	else
	{
		alert(response.error);
	}
}

function TrocaImagem(name)
{
	if (document.getElementById(name).style.visibility == "hidden")
	{
		document.getElementById(name).style.visibility = "visible";
	}
	else
	{
		document.getElementById(name).style.visibility = "hidden";
	}
}

function ValidaNascimento()
{
	if ((document.getElementById("rbtPessoaFisica") != null && document.getElementById("rbtPessoaFisica").checked == true) || document.getElementById("txtTipoPessoa").value == "pf")
	{
		var reDate1 = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/;
		var reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/;
		var reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/;
		var reDate4 = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
		var reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
		var reDate = reDate4;
		
		if (document.getElementById("txtDtNascimentoDia").value == "" || document.getElementById("txtDtNascimentoMes").value == "" || document.getElementById("txtDtNascimentoAno").value == "")
		{
			return false;
		}
		else
		{
			pStr = document.getElementById("txtDtNascimentoDia").value + "/" + document.getElementById("txtDtNascimentoMes").value + "/" + document.getElementById("txtDtNascimentoAno").value;
			pFmt = 5;
			
			eval("reDate = reDate" + pFmt);
			if (reDate.test(pStr)) 
			{
				return true;;
			} 
			else if (pStr != null && pStr != "") 
			{
				return false;
			}
		}
	}
	return true;
}

function ValidaMeuCadastro()
{
	var mensagem = "";
	
	var bNacionalidadeBrasileiro	= document.getElementById('rblNacionalidadeBrasileiro').checked;
	var bPaisResidenteBrasil		= document.getElementById('RbtPaisResidenteBrasil').checked;
	
	if(document.getElementById("txtTipoPessoa").value == "pf")
	{
		if(document.getElementById("txtNome").value == "")
		{
			mensagem+="O campo Nome é Obrigatório!\n";
		}
		
		if(document.getElementById("txtSobrenome").value == "")
		{
			mensagem+="O campo Sobrenome é Obrigatório!\n";
		}

		if((bNacionalidadeBrasileiro) && (bPaisResidenteBrasil)) // brasileiro
		{
			mensagem+= validaCPF();
			
			if(document.getElementById("txtRG").value == "")
			{
				mensagem+="O campo RG é Obrigatório!\n";
			}
		}
		
		if(!ValidaNascimento())
		{
			mensagem+="Data de Nascimento Inválida!\n";
		}
	}
	else if(document.getElementById("txtTipoPessoa").value == "pj")
	{
		if(document.getElementById("txtRazaoSocial").value == "")
		{
			mensagem+="O campo Razão Social é Obrigatório!\n";
		}
		
		if(document.getElementById("txtCNPJ").value == "")
		{
			mensagem+="O campo CNPJ é Obrigatório!\n";
		}
		else
		{
			mensagem += validaCNPJ(document.getElementById("txtCNPJ").value);
		}
		
		if(document.getElementById("txtInscrEstadual").value == "")
		{
			mensagem+="O campo Inscrição Estadual é Obrigatório!\n";
		}
		if(document.getElementById("txtContatoPJ").value == "")
		{
			mensagem+="O campo Nome Contato é Obrigatório!\n";
		}
	}
	
	if(mensagem != "")
	{
		alert(mensagem);
		return false;
	}
	else
	{
		return true;
	}
}

function ValidaCadastroEndereco()
{
	var mensagem = "";
	var PaisSelecionado = document.getElementById('ddlPais').options[document.getElementById('ddlPais').selectedIndex].value;
	
	if(document.getElementById("ddlPais").selectedIndex <= 0)
	{
		mensagem+="O campo País é Obrigatório!\n";
	}	
	
	if(PaisSelecionado == "31")
	{
		if((document.getElementById('divCEP').style.display == "inline") && ((document.getElementById("txtCEP1PF").value + document.getElementById("txtCEP2PF").value).length != 8))
		{
			mensagem+="O CEP é Obrigatório!\n";
		}
	}
	else{
		if((document.getElementById('divZipCode').style.display == "inline") && ((document.getElementById("txtZipCode").value).length == 0))
		{
			mensagem+="O CEP é Obrigatório!\n";
		}
	}

	if(document.getElementById("txtEnderecoPF").value == "")
	{
		mensagem+="O campo Endereço é Obrigatório!\n";
	}
	
	if(document.getElementById("txtNumeroPF").value == "")
	{
		mensagem+="O campo Nº é Obrigatório!\n";
	}
	
	if(document.getElementById("txtBairroPF").value == "")
	{
		mensagem+="O campo Bairro é Obrigatório!\n";
	}
	
	if(document.getElementById("txtCidadePF").value == "")
	{
		mensagem+="O campo Cidade é Obrigatório!\n";
	}
	
	if(PaisSelecionado == "31")
	{
		if(document.getElementById('ddlEstadoPF').options[document.getElementById('ddlEstadoPF').selectedIndex].value == "")
		{
			mensagem+="O campo Estado é Obrigatório!\n";
		}
	}
	else
	{
		if(document.getElementById("txtEstado").value == "")
		{
			mensagem+="O campo Estado é Obrigatório!\n";
		}
	}
	
	if(document.getElementById("txtDDDTelefonePF").value == "" || document.getElementById("txtTelefonePF").value == "")
	{
		mensagem+="O campo Telefone é Obrigatório!\n";
	}

	if(mensagem != "")
	{
		alert(mensagem);
		return false;
	}
	else
	{
		return true;
	}
}

function MudaCadastro(TipoPessoa)
{
	if(TipoPessoa == "J")
	{
		document.getElementById("div_PF").style.display	= "none";
		document.getElementById("div_PJ").style.display	= "block";
		document.getElementById("lblContatoPJ").style.display = "block";
		document.getElementById("ContatoPJ").style.display = "block";
		document.getElementById("div_EnderecoCobrancaPJ").style.display	= "block";
		document.getElementById("div_EnderecoEntregaPJ").style.display	= "block";
		document.getElementById("div_Profissao").style.display			= "none";
		
		document.getElementById("lblNacionalidade").style.display		= "none"; 
		document.getElementById("div_Nacionalidade").style.display		= "none";
		document.getElementById("lblPaisResidente").style.display		= "none"; 
		document.getElementById("div_PaisResidente").style.display		= "none";
		
	}
	else
	{
		document.getElementById("div_PF").style.display	= "block";
		document.getElementById("div_PJ").style.display	= "none";
		document.getElementById("lblContatoPJ").style.display = "none";
		document.getElementById("ContatoPJ").style.display = "none";
		document.getElementById("div_EnderecoCobrancaPJ").style.display	= "none";
		document.getElementById("div_EnderecoEntregaPJ").style.display	= "none";
		document.getElementById("div_Profissao").style.display			= "block";
		
		document.getElementById("lblNacionalidade").style.display		= "block"; 
		document.getElementById("div_Nacionalidade").style.display		= "block";
		document.getElementById("lblPaisResidente").style.display		= "block"; 
		document.getElementById("div_PaisResidente").style.display		= "block";		
		
		document.getElementById('rblNacionalidadeBrasileiro').checked = true;
		document.getElementById('rblNacionalidadeForeign').checked = false;		
	}
	
	AlteraIdioma('brasileiro');
}


function ValidaCadastro()
{
	var mensagem = "";
	
	var bNacionalidadeBrasileiro = document.getElementById('rblNacionalidadeBrasileiro').checked;
	var RbtPaisResidenteBrasil = document.getElementById('RbtPaisResidenteBrasil').checked;
	
	
	// Exclusivo para pessoa
	if (document.getElementById("rbtPessoaFisica").checked)
	{
		if(document.getElementById("txtNome").value == "")
			mensagem+="O campo Nome é Obrigatório!\n";
		
		if(document.getElementById("txtSobrenome").value == "")
			mensagem+="O campo Sobrenome é Obrigatório!\n";
		
		if((bNacionalidadeBrasileiro) && (RbtPaisResidenteBrasil)) { // brasileiro
			mensagem+= validaCPF();

			if(document.getElementById("txtRG").value == "")
				mensagem+="O campo RG é Obrigatório!\n";
		}
		
		if(!ValidaNascimento())
			mensagem+="Data de Nascimento Inválida!\n";

		if(RbtPaisResidenteBrasil) // brasileiro
		{
			if((document.getElementById("txtCEP1PF").value + document.getElementById("txtCEP2PF").value).length != 8)
				mensagem+="O CEP é Obrigatório!\n";
		}
		
		if(!RbtPaisResidenteBrasil) // estrangeiro
		{
			if (document.getElementById("txtZipCode").value == "")
				mensagem+="O campo Zip Code é obrigatório.\n";
		}
	}
	
	// Exclusivo Pessoa Jurídica
	if (document.getElementById("rbtPessoaJuridica").checked == true)
	{
		if(document.getElementById("txtRazaoSocial").value == "")
		{
			mensagem+="O campo Razão Social é Obrigatório!\n";
		}
		
		if(document.getElementById("txtCNPJ").value == "")
		{
			mensagem += "O campo CNPJ é Obrigatório!\n";
		}
		else
		{
			mensagem += validaCNPJ(document.getElementById("txtCNPJ").value);
		}
		
		if(document.getElementById("txtInscrEstadual").value == "")
		{
			mensagem+="O campo Inscrição Estadual é Obrigatório!\n";
		}
	}
	
	if(document.getElementById("txtEnderecoPF").value == "")
	{
		mensagem+="O campo Endereço é Obrigatório!\n";
	}
	
	if(document.getElementById("txtNumeroPF").value == "")
	{
		mensagem+="O campo Nº é Obrigatório!\n";
	}
	
	if(document.getElementById("txtBairroPF").value == "")
	{
		mensagem+="O campo Bairro é Obrigatório!\n";
	}
	
	if(document.getElementById("txtCidadePF").value == "")
	{
		mensagem+="O campo Cidade é Obrigatório!\n";
	}
	
	if(document.getElementById("txtDDDTelefonePF").value == "" || document.getElementById("txtTelefonePF").value == "")
	{
		mensagem+="O campo Telefone é Obrigatório!\n";
	}
	
	
	// Exclusivo Pessoa Jurídica
	if (document.getElementById("rbtPessoaJuridica").checked == true)
	{	
		// Endereço Cobrança
		if((document.getElementById("txtCEP1CobrancaPJContato").value + document.getElementById("txtCEP2CobrancaPJContato").value).length != 8)
		{
			mensagem+="O CEP de Cobrança é Obrigatório!\n";
		}
		
		if(document.getElementById("txtEnderecoCobrancaPJContato").value == "")
		{
			mensagem+="O campo Endereço de Cobrança é Obrigatório!\n";
		}
		
		if(document.getElementById("txtNumeroCobrancaPJContato").value == "")
		{
			mensagem+="O campo Nº de Cobrança é Obrigatório!\n";
		}
		
		if(document.getElementById("txtBairroCobrancaPJContato").value == "")
		{
			mensagem+="O campo Bairro de Cobrança é Obrigatório!\n";
		}
		
		if(document.getElementById("txtCidadeCobrancaPJContato").value == "")
		{
			mensagem+="O campo Cidade de Cobrança é Obrigatório!\n";
		}
		
		// Endereço Entrega
		if((document.getElementById("txtCEP1EntregaPJContato").value + document.getElementById("txtCEP2EntregaPJContato").value).length != 8)
		{
			mensagem+="O CEP de Entrega é Obrigatório!\n";
		}
		
		if(document.getElementById("txtEnderecoEntregaPJContato").value == "")
		{
			mensagem+="O campo Endereço de Entrega é Obrigatório!\n";
		}
		
		if(document.getElementById("txtNumeroEntregaPJContato").value == "")
		{
			mensagem+="O campo Nº de Entrega é Obrigatório!\n";
		}
		
		if(document.getElementById("txtBairroEntregaPJContato").value == "")
		{
			mensagem+="O campo Bairro de Entrega é Obrigatório!\n";
		}
		
		if(document.getElementById("txtCidadeEntregaPJContato").value == "")
		{
			mensagem+="O campo Cidade de Entrega é Obrigatório!\n";
		}
	}
	
	if(document.getElementById("txtEmail").value == "")
	{
		mensagem+="O campo Email é Obrigatório!\n";
	}
	
	if(document.getElementById("txtSenha").value == "")
	{
		mensagem+="O campo Senha é Obrigatório!\n";
	}
	
	if(document.getElementById("txtSenhaConfirma").value == "")
	{
		mensagem+="O campo Confirmar Senha é Obrigatório!\n";
	}
	
	if(document.getElementById("txtSenha").value != document.getElementById("txtSenhaConfirma").value)
	{
		mensagem+="As senhas não conferem!";
	}
		
	if(mensagem != "")
	{
		alert(mensagem);
		return false;
	}
	else
	{
		return true;
	}
}


	function BuscaItens(PaginaAtual, palavra)
	{
		var mensagem = "";

		TrocaImagem("loading", "visible");

		document.getElementById("txtBuscaTrilha").value = palavra;

		if(document.getElementById("txtBuscaTrilha").value == "")
		{
			mensagem+="Busca inválida (vazia) !\n";
		}
		else
		{
			if (document.getElementById("txtBuscaTrilha").value.replace(" ", "").length < 3)
			{
				mensagem+="Busca inválida (menos de 3 letras) !\n";
			}
		}
		
		if(mensagem != "")
		{
			alert(mensagem);
			TrocaImagem("loading", "hidden");
		}
		else
		{
			index.BuscaItens(document.getElementById("txtBuscaTrilha").value, PaginaAtual, document.getElementById("ddlCampoBusca").selectedIndex, callback_BuscaItens);
		}
	}

	function callback_BuscaItens(res)
	{
		if (res.error)
		{
			alert(res.error);
		}		

		if (res.value)
		{
			if(res.value.indexOf("Redirect:") > -1)
			{
				window.location = res.value.replace("Redirect:", "");
				return;
			}
			document.getElementById("spanResultado").innerHTML = res.value;
		}
		TrocaImagem("loading", "hidden");
	}

	function TrocaImagem(name, visibilidade)
	{
		try
		{
			document.getElementById(name).style.visibility = visibilidade;
		}
		catch(err)
		{
		}
	}

	function SalvarDescricaoTrilhaArray()
	{
		var Panel_Selecionados = document.getElementById("Panel_Selecionados");
		if(!Panel_Selecionados)
		{
			return;
		}
		var arrInputCommentProd = Panel_Selecionados.getElementsByTagName("textarea");
		for(var arrI = 0; arrI < arrInputCommentProd.length; arrI++)
		{
			arrItensDescricao[arrInputCommentProd[arrI].id] = arrInputCommentProd[arrI].value;
		}	
	}

	function CarregarDescricaoTrilhaArray()
	{
		var Panel_Selecionados = document.getElementById("Panel_Selecionados");
		if(!Panel_Selecionados)
		{
			return;
		}
		var arrInputCommentProd = Panel_Selecionados.getElementsByTagName("textarea");
		for(var arrI = 0; arrI < arrInputCommentProd.length; arrI++)
		{
			if(arrItensDescricao[arrInputCommentProd[arrI].id])
			{
				arrInputCommentProd[arrI].value = arrItensDescricao[arrInputCommentProd[arrI].id];
			}
		}	
	}

	function AdicionarProdTrilha(ProCodigo)
	{
		var mensagem = "";

		TrocaImagem("loading", "visible");
		SalvarDescricaoTrilhaArray();
		index.SalvaItens(ProCodigo, 'A', callback_SalvaItens);
	}

	function ExcluirProdTrilha(ProCodigo)
	{
		var mensagem = "";

		TrocaImagem("loading", "visible");
		SalvarDescricaoTrilhaArray();
		index.SalvaItens(ProCodigo, 'E', callback_SalvaItens);
	}

	function ValidaTrilha()
	{
		var mensagem = "";
		
		if(document.getElementById("txtNomeTrilha").value == "")
		{
			mensagem+="Nome inválido (vazio) !\n";
		}

		if(document.getElementById("txtDescriTrilha").value == "")
		{
			mensagem+="Descrição inválida (vazia) !\n";
		}

		/*
		if(document.getElementById("txtPalProibida").value != "")
		{
			mensagem+="Palavra Proibida !\n";
		}		
		*/
		
		if (document.getElementById("spanEscolhidos").innerHTML == "" || document.getElementById("spanEscolhidos").innerHTML.indexOf("Nenhum produto selecionado!") != -1)
		{
			mensagem+="Nenhum produto selecionado para sua Trilha !\n";
		}

		if(mensagem != "")
		{
			alert(mensagem);
		}
		
		else
		{
			index.SalvaTrilha(document.getElementById("txtNomeTrilha").value, document.getElementById("txtDescriTrilha").value, callback_SalvaTrilha);
		}
	}

	function CancelarTrilha()
	{
		TrocaImagem("loading", "visible");
		index.CancelarTrilha(callback_SalvaTrilha);
	}

	function callback_SalvaTrilha(res)
	{
		if (res.error)
		{
			alert(res.error);
			TrocaImagem("loading", "hidden");
		}		

		if (res.value)
		{
			if(res.value.indexOf("Redirect:") > -1)
			{
				window.location = res.value.replace("Redirect:", "");
				return;
			}

			var strPalProibida = res.value.indexOf('proibida');

			if(strPalProibida < 0)
			{
				var Panel_Selecionados = document.getElementById("Panel_Selecionados");
				//var arrInputCommentProd = Panel_Selecionados.getElementsByTagName("input");
				var arrInputCommentProd = Panel_Selecionados.getElementsByTagName("textarea");
				for(var arrI = 0; arrI < arrInputCommentProd.length; arrI++)
				{
					//if(arrInputCommentProd[arrI].getAttribute("type").toLowerCase() == "text")
					//{
					index.SalvarComentario(arrInputCommentProd[arrI].id, arrInputCommentProd[arrI].value, callback_SalvarComentario);
					//}
				}

				document.getElementById("spanEscolhidos").innerHTML = "";
				document.getElementById("spanResultado").innerHTML = "";
				document.getElementById("txtDescriTrilha").value = "";
				document.getElementById("txtDescriTrilha").disabled = false;
				document.getElementById("txtBuscaTrilha").value = "";
				document.getElementById("txtBuscaTrilha").disabled = false;
				document.getElementById("txtNomeTrilha").value = "";
				document.getElementById("txtNomeTrilha").disabled = false;
				document.getElementById("criadaEm").innerHTML = "";
				document.getElementById("dataCriacao").innerHTML = "";
				document.getElementById("ultimaAtual").innerHTML = "";
				document.getElementById("dataAtualizacao").innerHTML = "";
			}

			//CarregaTrilhas();

			alert(res.value);

			TrocaImagem("loading", "hidden");
		}
	}

	function callback_SalvaItens(res)
	{
		if (res.error)
		{
			alert(res.error);
			TrocaImagem("loading", "hidden");
		}

		if (res.value)
		{
			document.getElementById("txtDescriTrilha").disabled = false;
			document.getElementById("txtBuscaTrilha").disabled = false;
			document.getElementById("txtNomeTrilha").disabled = false;

			document.getElementById("pnlNova").className = "displayTable";
			document.getElementById("pnlComentarios").className = "displayNone";

			document.getElementById("spanEscolhidos").innerHTML = res.value;
			CarregarDescricaoTrilhaArray();
			TrocaImagem("loading", "hidden");
		}
	}

	function EditarTrilha(TrilhaCodigo)
	{
		TrocaImagem("loading", "visible");
		

		if (TrilhaCodigo != "0" && TrilhaCodigo != "")
		{
			index.EditarTrilha(TrilhaCodigo, callback_EditarTrilha)
		}
		else
		{
			TrocaImagem("loading", "hidden");
		}
	}

	function callback_EditarTrilha(res)
	{
		if (res.error)
		{
			alert(res.error);
		}

		if(res.value[0].toString().indexOf("Redirect:") > -1)
		{
			window.location = res.value[0].toString().replace("Redirect:", "");
			return;
		}
		try
		{
			document.getElementById("txtNomeTrilha").value = res.value[0];
			document.getElementById("txtDescriTrilha").value = res.value[1];
			document.getElementById("criadaEm").innerHTML = "Trilha criada em:";
			document.getElementById("dataCriacao").innerHTML = res.value[2];
			document.getElementById("ultimaAtual").innerHTML = "Última atualização:";
			document.getElementById("dataAtualizacao").innerHTML = res.value[3];

			ExcluirProdTrilha(0);
		}
		catch(err)
		{
			alert("Erro: " + err.message + "\nErro Ajax : " + res.error);
		}

		TrocaImagem("loading", "hidden");
	}

	function callback_SalvarComentario(res)
	{
		TrocaImagem("loading", "hidden");
		if (res.error)
		{
			alert(res.error);
		}		
		if (res.value)
		{
			if(res.value.indexOf("Exception") > -1 || res.value.indexOf("::") > -1)
			{
				alert(res.value);
			}
		}
	}

/* Client-side access to querystring name=value pairs
	Version 1.2.3
	22 Jun 2005
	Adam Vandenberg
*/
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}

/*
	Função: Adiconar ítem a cesta - Busca
	Criado: 03/06/2008 - Gabriela Souza	  
*/
function AdicionarItemCestaBusca(ProCodigo)
 {
    try
	{
		busca.AdicionarItemCestaBusca(ProCodigo, callback_AdicionarItemCestaBusca);
	} 
	catch(err)
	{
		alert(err.description);	
	}		
}
	
function callback_AdicionarItemCestaBusca(res)
 {
	if (res.error)
	{
		alert(res.error.Message);
	}		

	if (res.value)
	{
		window.location.href = res.value;
	}
 }	

/* //DUPLICADO
function callback_SalvaItens(res)
{
	if (res.error)
	{
		alert(res.error);
		TrocaImagem("loading", "hidden");
	}
	if (res.value)
	{
		document.getElementById("spanEscolhidos").innerHTML = res.value;
		TrocaImagem("loading", "hidden");
	}
}
function CancelarComentarios()
{
	var mensagem = "";

	TrocaImagem("loading", "visible");
	index.CancelarTrilha(callback_CancelarComentarios);
}
function callback_CancelarComentarios(res)
{
	if (res.error)
	{
		alert(res.error);
		TrocaImagem("loading", "hidden");
	}		

	if (res.value)
	{
		document.getElementById("spanEscolhidos").innerHTML = "";
		document.getElementById("spanResultado").innerHTML = "";
		document.getElementById("spanComentarios").innerHTML = "";
		document.getElementById("txtDescriTrilha").value = "";
		document.getElementById("txtDescriTrilha").disabled = false;
		document.getElementById("txtBuscaTrilha").value = "";
		document.getElementById("txtBuscaTrilha").disabled = false;
		document.getElementById("txtNomeTrilha").value = "";
		document.getElementById("txtNomeTrilha").disabled = false;

		document.getElementById("pnlNova").className = "displayTable";
		document.getElementById("pnlComentarios").className = "displayNone";

		CarregaTrilhas();

		TrocaImagem("loading", "hidden");
	}
}
function ValidaComentarios()
{
	var mensagem = "";

	TrocaImagem("loading", "visible");
	index.CancelarTrilha(callback_ValidaComentarios);
}
function callback_ValidaComentarios(res)
{
	if (res.error)
	{
		alert(res.error);
		TrocaImagem("loading", "hidden");
	}		

	if (res.value)
	{
		document.getElementById("spanEscolhidos").innerHTML = "";
		document.getElementById("spanResultado").innerHTML = "";
		document.getElementById("spanComentarios").innerHTML = "";
		document.getElementById("txtDescriTrilha").value = "";
		document.getElementById("txtDescriTrilha").disabled = false;
		document.getElementById("txtBuscaTrilha").value = "";
		document.getElementById("txtBuscaTrilha").disabled = false;
		document.getElementById("txtNomeTrilha").value = "";
		document.getElementById("txtNomeTrilha").disabled = false;

		document.getElementById("pnlNova").className = "displayTable";
		document.getElementById("pnlComentarios").className = "displayNone";

		CarregaTrilhas();

		TrocaImagem("loading", "hidden");
	}
}
function EditarComentarios(TrilhaCodigo)
{
	TrocaImagem("loading", "visible");

	if (TrilhaCodigo != "0" && TrilhaCodigo != "")
	{
		index.EditarTrilha(TrilhaCodigo, callback_EditarComentarios)
	}
	else
	{
		TrocaImagem("loading", "hidden");
	}
}
function callback_SalvaItensComentarios(res)
{
	if (res.error)
	{
		alert(res.error);
		TrocaImagem("loading", "hidden");
	}		

	if (res.value)
	{
		document.getElementById("pnlNova").className = "displayNone";
		document.getElementById("pnlComentarios").className = "displayTable";

		document.getElementById("spanComentarios").innerHTML = res.value;

		TrocaImagem("loading", "hidden");
	}
}
function callback_EditarComentarios(res)
{
	if (res.error)
	{
		alert(res.error);
	}

	try
	{
		document.getElementById("txtNomeTrilha").value = res.value[0];
		document.getElementById("txtNomeTrilha").disabled = true;
		document.getElementById("txtDescriTrilha").value = res.value[1];
		document.getElementById("txtDescriTrilha").disabled = true;

		document.getElementById("pnlNova").className = "displayNone";
		document.getElementById("pnlComentarios").className = "displayTable";

		ComentarItens(0);
	}
	catch(err)
	{
		alert("Erro: " + err.message + "\nErro Ajax : " + res.error);
	}

	TrocaImagem("loading", "hidden");
}
function ComentarItens(ProCodigo)
{
	var mensagem = "";

	TrocaImagem("loading", "visible");

	index.SalvaItens(ProCodigo, 'C', callback_SalvaItensComentarios);
}
function SalvarComentario(ProCodigo, ItemCodigo)
{
	campo = document.getElementById(ProCodigo);

	TrocaImagem("loading", "visible");

	index.SalvaComentario(ItemCodigo, campo.value, callback_SalvarComentario)
}
function ExcluirTrilha(TrilhaCodigo)
{
	TrocaImagem("loading", "visible");

	if (confirm('Tem certeza que deseja excluir esta Trilha?'))
	{
		index.ExcluirTrilha(TrilhaCodigo, callback_ExcluirTrilha)
	}
	else
	{
		TrocaImagem("loading", "hidden");
	}
}
function callback_ExcluirTrilha(res)
{
	if (res.error)
	{
		alert(res.error);
		TrocaImagem("loading", "hidden");
	}		

	if (res.value)
	{
		if(res.value.indexOf("Redirect:") > -1)
		{
			window.location = res.value.replace("Redirect:", "");
			return;
		}

		document.getElementById("spanEscolhidos").innerHTML = "";
		document.getElementById("spanResultado").innerHTML = "";
		document.getElementById("txtDescriTrilha").value = "";
		document.getElementById("txtBuscaTrilha").value = "";
		document.getElementById("txtNomeTrilha").value = "";
		
		//CarregaTrilhas();

		alert(res.value);

		TrocaImagem("loading", "hidden");
	}
}
function CarregaTrilhas()
{
	index.CarregaTrilhas(callback_CarregaTrilhas);
}
function callback_CarregaTrilhas(res)
{
	if (res.error)
	{
		alert(res.error);
		TrocaImagem("loading", "hidden");
	}		

	if (res.value)
	{
		document.getElementById("spanTrilhas").innerHTML = res.value;
		TrocaImagem("loading", "hidden");
	}
}
*/


function AgregaFreteValor(campo)
{
	if(campo.checked == true)
	{
		var valorCpo	= document.getElementById(campo.id).value;
		var ListaCpo	= valorCpo.split("|");
		
		var Frete		= ListaCpo[0];
		var CodForn		= ListaCpo[1];
		
		index.AgregaValorFrete(Frete, CodForn, AgregaFreteValor_CallBack);
	}
}

function AgregaFreteValor_CallBack(response)
{
	if(response.error == null)
	{
		if(response.value[0] == null)
		{	
			document.getElementById("TotalCesta").innerHTML = response.value[1];
		}
		else
		{
			document.location.href = this.URL;
		}
	}
	else
	{
		alert(response.error);
	}
}