// AJAX validador de domínios para e-mails
var dominioValido = null;
function valida_dominio(email) {
	document.getElementById("valida_email").innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='http://www.bibliaonline.net/imagens/wait.gif'> Verificando e-mail...";
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Este browser não dá suporta a HTTP Request - atualize seu browser");
		return;
	} 
	if (email == undefined) {
		enderecoEmail = document.getElementById("email").value;
	} else {
		enderecoEmail = email;
	}
	var url="http://www.bibliaonline.net/scripts/validar_dominio.php?email=";
	url=url+enderecoEmail;
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("POST",url,false);
	xmlHttp.send(null);
	document.getElementById("valida_email").innerHTML = "";
	return dominioValido;
}

function stateChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
		if (xmlHttp.responseText == 1) {
			dominioValido = true;
		} else {
			dominioValido = false;
			alert("E-mail inválido");
		}
	} 
} 

function GetXmlHttpObject() { 
	var objXMLHttp=null;
	if (window.XMLHttpRequest) {
		objXMLHttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}
// Final validador

function MM_findObj(n, d) { //v4.01
  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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function on(src,corover) {
  if (!src.contains(event.fromElement)) {
    src.style.cursor = 'hand';
    src.bgColor = corover;
  }
}

function off(src,corout) {
  if (!src.contains(event.toElement)) {
    src.style.cursor = 'default';
    src.bgColor = corout;
  }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function openBiblePassage(theURL) {
  window.open(theURL,"bibliaonline","width=400,height=400,scrollbars=1,top=1,left=1");
}

//-----> somente números:
function v_NR(tecla) {
	if(typeof(tecla) == 'undefined')
		var tecla = window.event;
	var codigo = (tecla.which ? tecla.which : tecla.keyCode ? tecla.keyCode : tecla.charCode);

	// permite números, 8=backspace, 46=del e 9=tab
	if ( (codigo >= 48 && codigo <= 57) || (codigo >= 96 && codigo <= 105) || codigo == 8 || codigo == 46 || codigo == 9 ) {
		return true;
	} else {
		alert("Apenas números são permitidos !");
		return false;
	} 
}

//-----> máscara cep:
function m_CEP(campo,tammax) {
	var vr = campo.value;
	vr = vr.replace( "-", "" );
	vr = vr.replace( ".", "" );
	var tam = vr.length;

	if (tam < tammax) { tam = vr.length + 1; }

	tam = tam - 1;
	if ( (tam > 2) && (tam <= 8) ) {
		vr = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam );
	}

	campo.value = vr;
}

//-----> PADRONIZAÇÃO DO JAVASCRIPT - FINAL
function isNum( caractere ) {
	var strValidos = "0123456789-,";
	if ( strValidos.indexOf( caractere ) == -1 )
		return false;
		
	return true;
}


// -----------------FUNÇÕES AJAX--------------------------
var captureState	= new Object();
var captureCity		= new Object();
var captureZipCode	= new Object();

function initSystem() {

	listState();
	
	Jq("#pais").change(function() {
		listState();
	});
	
	Jq("#estado").change(function() {
		listCity();
	});
	
	Jq("#cep").blur(function() {
		getZipCode();
	});
	
}

function listState() {

	if ( Jq("#pais").val() == "" )
		Jq("#estado").removeOption(/./);
		
	else {

		captureState = new Array();
		Jq.ajax({
			global: false,
			datatype: "xml",
			type: "GET",
			cache: false,
			url: captureURL + "/lib/getData.cgi?acao=listState&country=" + Jq("#pais").val() + "&lang=" + lang,
			async: true,
			charset: "iso-8859-1",
			beforeSend: function(x) {
				Jq("#carregandoEstado").show();
			},
			success: function(xml) {
			
				Jq(xml).find("state").each(function(){
					captureState.push( { id: Jq(this).attr('id'), descricao: Jq(this).attr('descricao') } );
				});
				
				Jq("#estado").removeOption(/./);
				Jq("#estado").addOption("", " -", false);
				
				for (var i=0; i < captureState.length; i++)
					Jq("#estado").addOption(captureState[i].id, captureState[i].descricao, false);
					
				if ( captureIdState != "" )
					Jq("#estado").selectOptions(captureIdState, true);
					
				Jq("#carregandoEstado").hide();
				
				if ( captureIdCity != "" )
					listCity();
				
			}
		});

	}

}

function listCity() {

	if ( Jq("#estado").val() == "" )
		Jq("#cidade").removeOption(/./);
		
	else {

		captureCounty = new Array();
		Jq.ajax({
			global: false,
			datatype: "xml",
			type: "GET",
			cache: false,
			url: captureURL + "/lib/getData.cgi?acao=listCity&country=" + Jq("#pais").val() + "&state=" + Jq("#estado").val() + "&lang=" + lang,
			async: true,
			charset: "iso-8859-1",
			beforeSend: function(x) {
				Jq("#carregandoCidade").show();
			},
			success: function(xml) {
			
				Jq(xml).find("city").each(function(){
					captureCounty.push( { id: Jq(this).attr('id'), descricao: Jq(this).attr('descricao') } );
				});
				
				Jq("#cidade").removeOption(/./);
				Jq("#cidade").addOption("", " -", false);
				
				for (var i=0; i < captureCounty.length; i++)
					Jq("#cidade").addOption(captureCounty[i].descricao.toUpperCase(), captureCounty[i].descricao, false);
					
				if ( captureIdCity != "" )
					Jq("#cidade").selectOptions(captureIdCity.toUpperCase(), true);
					
				Jq("#carregandoCidade").hide();
				
			}
		});

	}

}

function getZipCode() {

	if ( Jq("#cep").val() != "" ) {
	
		captureZipCode = new Array();
		Jq.ajax({
			global: false,
			datatype: "xml",
			type: "GET",
			cache: false,
			url: captureURL + "/lib/getData.cgi?acao=getZipCode&zipCode=" + Jq("#cep").val().replace(/-/g, ""),
			async: true,
			charset: "iso-8859-1",
			beforeSend: function(x) {
				Jq("#carregandoCep").show();
			},
			success: function(xml) {
			
				Jq(xml).find("zipCode").each(function(){
					captureZipCode.push( { cep: Jq(this).attr('cep'), rua: Jq(this).attr('rua'), bairro: Jq(this).attr('bairro'), cidade: Jq(this).attr('cidade'), cidade2: Jq(this).attr('cidade2'), estado: Jq(this).attr('estado') } );
				});
				
				if ( captureZipCode.length > 0 ) {
				
					Jq("#pais").selectOptions("BR", true);
					captureIdState	= captureZipCode[0].estado;
					captureIdCity	= captureZipCode[0].cidade2;
					listState();
					Jq("#endereco").val( captureZipCode[0].rua + ", " );
					Jq("#bairro").val( captureZipCode[0].bairro );
					Jq("#endereco").focus();
					
				} else {
				
					Jq("#estado").selectOptions("", true);
					Jq("#cidade").selectOptions("", true);
					Jq("#endereco").val("");
					Jq("#bairro").val("");
				
				}
				
				Jq("#carregandoCep").hide();
				
			}
		});

	}

}

function getActivity() {

	Jq.ajax({
		global: false,
		datatype: "html",
		type: "GET",
		cache: false,
		url: captureURL + "/lib/getData.cgi?acao=getActivity&lang=" + lang,
		async: true,
		charset: "iso-8859-1",
		beforeSend: function(x) {
			Jq("#carregandoAtividade").show();
		},
		success: function(html) {
			Jq("#printActivity").html( encodeMyHtml(html) );
			Jq("#carregandoAtividade").hide();
		}
	});
	
}

function encodeMyHtml( string ) {
	string = string.replace(/&lt;/g,"<");
	string = string.replace(/&gt;/g,">");
	string = string.replace(/&quot;/g,"\"");
	string = string.replace(/&amp;/g,"&");
	return string;
}

if(typeof escapeHtmlEntities == 'undefined') {
  escapeHtmlEntities = function (text) {
    return text.replace(/[\u00A0-\u2666<>\&]/g, function(c) { return '&' + 
      escapeHtmlEntities.entityTable[c.charCodeAt(0)] + ';' || '#'+c.charCodeAt(0) + ';'; });
  };
  escapeHtmlEntities.entityTable = { 34 : 'quot', 38 : 'amp', 39 : 'apos', 60 : 'lt', 62 : 'gt', 160 : 'nbsp', 161 : 'iexcl', 162 : 'cent', 163 : 'pound', 164 : 'curren', 165 : 'yen', 166 : 'brvbar', 167 : 'sect', 168 : 'uml', 169 : 'copy', 170 : 'ordf', 171 : 'laquo', 172 : 'not', 173 : 'shy', 174 : 'reg', 175 : 'macr', 176 : 'deg', 177 : 'plusmn', 178 : 'sup2', 179 : 'sup3', 180 : 'acute', 181 : 'micro', 182 : 'para', 183 : 'middot', 184 : 'cedil', 185 : 'sup1', 186 : 'ordm', 187 : 'raquo', 188 : 'frac14', 189 : 'frac12', 190 : 'frac34', 191 : 'iquest', 192 : 'Agrave', 193 : 'Aacute', 194 : 'Acirc', 195 : 'Atilde', 196 : 'Auml', 197 : 'Aring', 198 : 'AElig', 199 : 'Ccedil', 200 : 'Egrave', 201 : 'Eacute', 202 : 'Ecirc', 203 : 'Euml', 204 : 'Igrave', 205 : 'Iacute', 206 : 'Icirc', 207 : 'Iuml', 208 : 'ETH', 209 : 'Ntilde', 210 : 'Ograve', 211 : 'Oacute', 212 : 'Ocirc', 213 : 'Otilde', 214 : 'Ouml', 215 : 'times', 216 : 'Oslash', 217 : 'Ugrave', 218 : 'Uacute', 219 : 'Ucirc', 220 : 'Uuml', 221 : 'Yacute', 222 : 'THORN', 223 : 'szlig', 224 : 'agrave', 225 : 'aacute', 226 : 'acirc', 227 : 'atilde', 228 : 'auml', 229 : 'aring', 230 : 'aelig', 231 : 'ccedil', 232 : 'egrave', 233 : 'eacute', 234 : 'ecirc', 235 : 'euml', 236 : 'igrave', 237 : 'iacute', 238 : 'icirc', 239 : 'iuml', 240 : 'eth', 241 : 'ntilde', 242 : 'ograve', 243 : 'oacute', 244 : 'ocirc', 245 : 'otilde', 246 : 'ouml', 247 : 'divide', 248 : 'oslash', 249 : 'ugrave', 250 : 'uacute', 251 : 'ucirc', 252 : 'uuml', 253 : 'yacute', 254 : 'thorn', 255 : 'yuml', 402 : 'fnof', 913 : 'Alpha', 914 : 'Beta', 915 : 'Gamma', 916 : 'Delta', 917 : 'Epsilon', 918 : 'Zeta', 919 : 'Eta', 920 : 'Theta', 921 : 'Iota', 922 : 'Kappa', 923 : 'Lambda', 924 : 'Mu', 925 : 'Nu', 926 : 'Xi', 927 : 'Omicron', 928 : 'Pi', 929 : 'Rho', 931 : 'Sigma', 932 : 'Tau', 933 : 'Upsilon', 934 : 'Phi', 935 : 'Chi', 936 : 'Psi', 937 : 'Omega', 945 : 'alpha', 946 : 'beta', 947 : 'gamma', 948 : 'delta', 949 : 'epsilon', 950 : 'zeta', 951 : 'eta', 952 : 'theta', 953 : 'iota', 954 : 'kappa', 955 : 'lambda', 956 : 'mu', 957 : 'nu', 958 : 'xi', 959 : 'omicron', 960 : 'pi', 961 : 'rho', 962 : 'sigmaf', 963 : 'sigma', 964 : 'tau', 965 : 'upsilon', 966 : 'phi', 967 : 'chi', 968 : 'psi', 969 : 'omega', 977 : 'thetasym', 978 : 'upsih', 982 : 'piv', 8226 : 'bull', 8230 : 'hellip', 8242 : 'prime', 8243 : 'Prime', 8254 : 'oline', 8260 : 'frasl', 8472 : 'weierp', 8465 : 'image', 8476 : 'real', 8482 : 'trade', 8501 : 'alefsym', 8592 : 'larr', 8593 : 'uarr', 8594 : 'rarr', 8595 : 'darr', 8596 : 'harr', 8629 : 'crarr', 8656 : 'lArr', 8657 : 'uArr', 8658 : 'rArr', 8659 : 'dArr', 8660 : 'hArr', 8704 : 'forall', 8706 : 'part', 8707 : 'exist', 8709 : 'empty', 8711 : 'nabla', 8712 : 'isin', 8713 : 'notin', 8715 : 'ni', 8719 : 'prod', 8721 : 'sum', 8722 : 'minus', 8727 : 'lowast', 8730 : 'radic', 8733 : 'prop', 8734 : 'infin', 8736 : 'ang', 8743 : 'and', 8744 : 'or', 8745 : 'cap', 8746 : 'cup', 8747 : 'int', 8756 : 'there4', 8764 : 'sim', 8773 : 'cong', 8776 : 'asymp', 8800 : 'ne', 8801 : 'equiv', 8804 : 'le', 8805 : 'ge', 8834 : 'sub', 8835 : 'sup', 8836 : 'nsub', 8838 : 'sube', 8839 : 'supe', 8853 : 'oplus', 8855 : 'otimes', 8869 : 'perp', 8901 : 'sdot', 8968 : 'lceil', 8969 : 'rceil', 8970 : 'lfloor', 8971 : 'rfloor', 9001 : 'lang', 9002 : 'rang', 9674 : 'loz', 9824 : 'spades', 9827 : 'clubs', 9829 : 'hearts', 9830 : 'diams', 34 : 'quot', 38 : 'amp', 60 : 'lt', 62 : 'gt', 338 : 'OElig', 339 : 'oelig', 352 : 'Scaron', 353 : 'scaron', 376 : 'Yuml', 710 : 'circ', 732 : 'tilde', 8194 : 'ensp', 8195 : 'emsp', 8201 : 'thinsp', 8204 : 'zwnj', 8205 : 'zwj', 8206 : 'lrm', 8207 : 'rlm', 8211 : 'ndash', 8212 : 'mdash', 8216 : 'lsquo', 8217 : 'rsquo', 8218 : 'sbquo', 8220 : 'ldquo', 8221 : 'rdquo', 8222 : 'bdquo', 8224 : 'dagger', 8225 : 'Dagger', 8240 : 'permil', 8249 : 'lsaquo', 8250 : 'rsaquo', 8364 : 'euro' };
}

function mySelectText(d) {
	this.divText = d;
    this.getText = function( c, l ) {
		Jq("#"+this.divText)[0].contentWindow.document.execCommand( c, false, l );
		return;
    };
}

// Function para Aumentar e Diminuir a Fonte
var defaultFont	= 12;  
function fontSize( action, container, child ) {
	child = typeof(child) != "undefined" ? "." + child : child;
	if ( action == "plus" ) {
		if ( defaultFont < 20 ) {  
			defaultFont += 1;  
			Jq("."+container).children(child).css({"font-size" : defaultFont+"px"});  
		}  
	} else {
		if ( defaultFont > 12 ) {  
			defaultFont -= 1;  
			Jq("."+container).children(child).css({"font-size" : defaultFont+"px"});  
		}  
	}
}

