function isEmail(s) {
	// email text field.
	var sLength = s.length;
	var denied_chars = new Array(" ", "\n", "\t", "\r", "%", "$", "#", "!", "~", "`", "^", "&", "*", "(", ")", "=", "+", "{", "}", "[", "]", ",", ";", ":", "'", "\"", "?", "<", ">", "/", "\\", "|");
	// look for @
	if (s.indexOf("@") == -1) return false;
	// look for more than one @ sign
	if (s.indexOf("@") != s.lastIndexOf("@")) return false;
	// look for any special character
	for (var z = 0; z < denied_chars.length; z++) {
		if (s.indexOf(denied_chars[z]) != -1) return false;
	}
	// look for .
	if (s.indexOf(".") == -1) return false;
	// no two dots alongside each other
	if (s.indexOf("..") != -1) return false;
	// the last character cannot be a .
	if ((s.charAt(sLength-1) == ".") || (s.charAt(sLength-1) == "_")) return false;
	return true;
}

//-------------------------- funcoes para ajax -----------------------------//
var localresp;  // local para onde sera direcionado o resultado
var tiporesp;   // a=adicionar no localresp , m=mover para localresp
var inifinresp; // i=adicionar no inicio , f=adicionar no final
var http_request = false;
// função para mostrar que o ajax está em processamento
function loading(local, mensagem) {
	document.getElementById(local).innerHTML = "<center><img src='/imagens/lendo.gif' width='10' height='10'> "+mensagem+" Aguarde...</center>";
}
// função para limpar os valores digitados nos formularios
function limpaform(f,e){ // f = formulario  e = elemento ( limpar até o elemento informado)
	var x = parseInt(f.elements.length);
	var y = 0;
	if (e > x) { e = x-1; }  // não pode tentar limpar mais elementos do que realmente existe
	while(y <= e) {
		f.elements[y].value = '';
		y++;
	}
}
// função para separar para execução as instruções em javascript retornadas pelo ajax
function extraiScript(texto){ //função feita pelo SkyWalker.TO do imasters/forum http://forum.imasters.com.br/index.php?showtopic=165277&
	var ini = 0;
	while (ini!=-1){
		ini = texto.indexOf('<script', ini);
		if (ini >=0){
			ini = texto.indexOf('>', ini) + 1;
			var fim = texto.indexOf('</script>', ini);
			codigo = texto.substring(ini,fim);
			eval(codigo);
		}
	}
}
// função AJAX para execução de uma url
// url = página a ser executada
// dados = valores enviados como parametros para a url
// destino = <div para onde deve ser direcionado o resultado do request
// tipo = ('m' para mover o resultado para o div) ('a' adicionar o resultado no div)
// inifin = quando tipo = 'a' ( 'i' adiciona o resultado no inicio de div)
function makePOSTRequest(url, dados, destino, tipo, inifin) {
	localresp = destino;
	tiporesp = tipo;
	inifinresp = inifin;
	loading(destino,'Processando');
  http_request = false;
  if (destino == 'bform') {	document.getElementById('bmsg').innerHTML = '';  }
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!http_request) {
     alert('Erro 847. Informe este erro no email cursos@cursos.sqlweb.com.br');
   	 location="http://cursos.sqlweb.com.br";
     return false;
  }
  http_request.onreadystatechange = processReqChange;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", dados.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(dados);
}
// função para processar o resultado do request
function processReqChange() {
//alert("oia so==["+http_request.readyState+"]["+http_request.status+"]");
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			if (tiporesp == 'a') {
				if (inifinresp == 'i') {
					document.getElementById(localresp).innerHTML = http_request.responseText + document.getElementById(localresp).innerHTML;
				} else {
					document.getElementById(localresp).innerHTML = document.getElementById(localresp).innerHTML + http_request.responseText;
				}
			} else {
				document.getElementById(localresp).innerHTML = http_request.responseText;
			}
			extraiScript(http_request.responseText);
		} else {
    	alert('Erro 848. Informe este erro no email cursos@cursos.sqlweb.com.br-{'+http_request.status+'}');
    	location="http://cursos.sqlweb.com.br";
		}
	}
}
// função para codificar em hexadecimal os valores dos forms a serem enviador via ajax
function url_encode(str) {
    var hex_chars = "0123456789ABCDEF";
    var noEncode = /^([a-zA-Z0-9\_\-\.])$/;
    var n, strCode, hex1, hex2, strEncode = "";
    for(n = 0; n < str.length; n++) {
        if (noEncode.test(str.charAt(n))) {
            strEncode += str.charAt(n);
        } else {
            strCode = str.charCodeAt(n);
            hex1 = hex_chars.charAt(Math.floor(strCode / 16));
            hex2 = hex_chars.charAt(strCode % 16);
            strEncode += "%" + (hex1 + hex2);
        }
    }
    return strEncode;
}
// função para chamar o ajax a partir de um enviar de um formulário, passando dados de um
// form = objeto formulario passado para montagem dos parametros (campos)
// pagina = url a ser executada pela função ajax
// destino = div para onde deve ser direcionado o resultado da request
function processaform(form, pagina, destino){
	var x = parseInt(form.elements.length);
	y = 0;
	parametros = '';
	while(y<x) {
		parametros = parametros+y+'='+url_encode(form.elements[y].value)+'&';
		y++;
	}
  makePOSTRequest(pagina, parametros, destino, 'm', '');
}

function closedWin() {
	makePOSTRequest('/login.php', '0=off', 'login','m','');
//	alert("Agradecemos pela visita");
	return false;
}
window.onunload = closedWin;
