function ExecScript(response,div){
    response = response.match(new RegExp('<script[^>]*>([\\S\\s]*?)<\/script>','img')).join('');
    response = response.replace(/<\/?[^>]+>/gi, '');
    document.getElementById(div).innerHTML = eval(response);
    
}

function getScripts(texto){ //extrai javascripts do texto e executa no documento
//Author: SkyWalker.TO do imasters/forum (pequenas alterações by Micox)
    var ini = 0;
    // loop enquanto achar um script
    while (ini!=-1){
        // procura uma tag de script
        ini = texto.indexOf('<script', ini);
        if (ini >=0){
            ini = texto.indexOf('>', ini) + 1;
            // procura o final do script
            var fim = texto.indexOf("<\/script>", ini);
            codigo = texto.substring(ini,fim);
            // executa o script - alterado by Micox.
            var novo = document.createElement("script")
            novo.text = codigo;
            document.body.appendChild(novo);
        }
    }
}
function execScript(codigoHTMLcomScript)
{
   // Cria elemento de script
   var scriptObj = document.createElement('script');

   // Divide o responseText em 2 partes, sendo a segunda a parte onde irá iniciar o script
   // então desconsidera a primeira parte.
   tmpScriptCode = codigoHTMLcomScript.split('<script language="javascript" type="text/javascript">');

   // divide a parte relevante novamente em 2 partes, sendo que agora a primeira
   // parte conterá o script, a segunda parte é descartada.
   scriptCode = tmpScriptCode[1].split('</script>');

   // Define parâmetro language=javascript para o objeto de script
   scriptObj.setAttribute('language', 'javascript');

   // Atribui o código-fonte do script ao obj de script
   scriptObj.text = scriptCode[0];

   // Executar o script
   document.body.appendChild(scriptObj);

}


// Funções comuns a todos os modulos.
var alvo;
var id_logado;
var id_empresalogada;
var nome_logado;
var nome_empresa_logada;
var nivel_logado;
var nome_nivel;
// Função responsável por iniciar o Objeto XMLHttpRequest
function IniciaAjax(){
	var ajax;	// Varivel que se tornará o objeto XMLHttpRequest
	if(window.XMLHttpRequest){	  // Mozilla, Safari,...
		ajax = new XMLHttpRequest();
	}else if(window.ActiveXObject){	// IE
		ajax = new ActiveXObject("Msxml2.XMLHTTP");
		if (!ajax) {
			ajax = new ActiveXObject("Microsoft.XMLHTTP");
		}
    }else{
        alert("Seu navegador não possui suporte a essa aplicação!");
	}
	return ajax;
}
// Função grava dados
function GravaDados(var_id_logado,var_id_empresalogada,var_nome_logado,var_nome_empresa_logada,var_nivel_logado,var_nome_nivel){
	id_logado = var_id_logado;
	id_empresalogada = var_id_empresalogada;
	nome_logado = var_nome_logado;
	nome_empresa_logada = var_nome_empresa_logada;
	nivel_logado = var_nivel_logado;
	nome_nivel = var_nome_nivel;
}
// Função validar e-mail
function ValidaEmail(email){
	// não pode ser vazio, tem que conter "@", "."
	// e não pode conter espaços
	if (email == null || email.length == 0 ||
		email.indexOf(".") == -1 ||
		email.indexOf("@") == -1 ||
		email.indexOf(" ") != -1)
			return false;

    // testa os caracteres antes do "@"
	// não pode começar nem terminar com ponto
	// deve ter ao menos dois caracteres word (letras, números, underline)
	// opcionalmente com um ponto entre eles
	expressao=/(^\w{1,}\.?\w{1,})@/;
	confere = expressao.exec(email);
	if (!confere) return false;

	// testa os caracteres depois do "@"
    // deve ter ao menos 2 caracteres seguidos por um ponto, 
	// seguido por zero ou mais ocorrências de ao menos 2 
	// caracteres (terminando com um ponto), seguidos por 2 ou 3 caracteres

	expressao=/@(\w{2,}\.(\w{2,}\.)?[a-zA-Z]{2,3})$/;
	confere = expressao.exec(email);
	if(!confere)
		return false;

	return true;
}
// Função responsável por carregar uma página dentro de uma determinada DIV
// Recebemos 2 valores sendo:
// url=> Informa a página que será processada
// div=> Informo o ID da DIV em que deveremos trabalhar.
// Utilizo o carregando generico
function ExibePagina(url,div){
	ajax = IniciaAjax();
	if(ajax){
		ajax.onreadystatechange = function(){
			if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
				document.getElementById(div).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
			}
			if(ajax.readyState == 4) {
				if(ajax.status == 200) {
					document.getElementById(div).innerHTML = ajax.responseText;
				} else {
					alert(ajax.statusText);
				}
			}
		}
			url = url;
			ajax.open('GET',url, true);
			ajax.send(null);
	}
}

// Função responsável por criar a QueryString que será processada
// Utilizado para processar formulários
// Contem suporte para multiplos formulários em uma página
// Recebemos 1 campo sendo:
// formulario=> indica qual formulário será processado
function MontaString(formulario){
		var form = document.getElementById(formulario);
		var numElementos = form.elements.length;
		QueryString = "";
		// variavel que recebe o nome do campo check
		var nomecheck = "";
		// Variavel que recebe os valores do campo check
		var valorcheck = "" ;
		
		// Variavel que recebe o nome do campo select-one
		var nomeselect = "";
		// Variavel que recebe o valor do campo select_one
		var valorselect = "";
		// for que varre todos os campos do formulário
		var i = 0;
		for (i=0; i< numElementos; i++){
			// Verifico o tipo de objeto (Texto, Radio, Check, select)
			if(form.elements[i].type == "radio" && form.elements[i].checked){
				// Serão processados somente os objetos RADIO que estiverem marcados
				if(i <numElementos-1){
					QueryString += form.elements[i].name+"="+ encodeURIComponent(form.elements[i].value)+"&";
				}else{
					QueryString += form.elements[i].name+"="+ encodeURIComponent(form.elements[i].value);
				}
			}else if(form.elements[i].type == "checkbox" && form.elements[i].checked){
				// Serão processados somente os objetos Check que estiverem marcados
				// Gravo o nome do campo check
				if(!nomecheck){
					nomecheck = form.elements[i].name;
				}
				// Adiciono os valores do campo check
				if(valorcheck != ""){
					valorcheck += ","+form.elements[i].value;
				}else{
					valorcheck = form.elements[i].value;
				}
			}else if(form.elements[i].type == "select-one"){
				if( i <numElementos-1){
					QueryString += form.elements[i].name+"="+ encodeURIComponent(form.elements[i].value)+"&";
				}else{
					QueryString += form.elements[i].name+"="+ encodeURIComponent(form.elements[i].value);
				}
			}else if(form.elements[i].type == "select-multiple"){
				var nome = form.elements[i].name;
				
				var selecao = document.getElementById(nome);
				
				var opcoes = selecao.options;
				var lista = "";
				var selecionados = new Array();
				var j=0,k=0,l=0;
				
				for(j=0; j < opcoes.length; j++){
					if(opcoes[j].selected){
						selecionados[k] = opcoes[j].value;
						k++;
					}
				}
				
				// crio uma string com as opções separadas por virgula.
				for(l=0; l< selecionados.length; l++){
					if(l <selecionados.length-1){
						lista += selecionados[l]+",";	
					}else{
						lista += selecionados[l];
					}
				}
				if(i <numElementos-1){
					QueryString +=nome+"="+lista+"&";
				}else{
					QueryString +=nome+"="+lista;
				}
			}else if(form.elements[i].type == "text" || form.elements[i].type == "hidden" || form.elements[i].type == "textarea"){
				if(i <numElementos-1){
					QueryString += form.elements[i].name+"="+ encodeURIComponent(form.elements[i].value)+"&";
				}else{
					QueryString += form.elements[i].name+"="+ encodeURIComponent(form.elements[i].value);
				}
			}
		}
		// completo QueryString
		// Verifico se houve campo check
		if(nomecheck != ""){
			QueryString +="&"+nomecheck+"="+valorcheck;
		}
		return QueryString;

}
// Função responsável por carregar os modulos iniciais.
function ModulosCarga(var1, var2, var3, var4, var5, var6, var7){
	div_alvo = "mod_midia";
	if(var1){	
		ajax = IniciaAjax();
		if(ajax)
		{
			ajax.onreadystatechange = function(){
				if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
					document.getElementById(div_alvo).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
				}
				if(ajax.readyState == 4) {
					if(ajax.status == 200) {
						document.getElementById(div_alvo).innerHTML = ajax.responseText;
					} else {
						alert(ajax.statusText);
					}
				}
			}
			url = var1+".php?id_logado="+id_logado;
			ajax.open('GET',url, true);
			ajax.send(null);
		}	
	}
	
	if(var2){
		ajax = IniciaAjax();
		if(ajax)
		{
			ajax.onreadystatechange = function(){
				if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
					document.getElementById(div_alvo).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
				}
				if(ajax.readyState == 4) {
					if(ajax.status == 200) {
						document.getElementById(div_alvo).innerHTML = ajax.responseText;
					} else {
						alert(ajax.statusText);
					}
				}
			}
			url = var2+".php?id_logado="+id_logado;
			ajax.open('GET',url, true);
			ajax.send(null);
		}	
	}
	if(var3){
		ajax = IniciaAjax();
		if(ajax)
		{
			ajax.onreadystatechange = function(){
				if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
					document.getElementById(div_alvo).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
				}
				if(ajax.readyState == 4) {
					if(ajax.status == 200) {
						document.getElementById(div_alvo).innerHTML = ajax.responseText;
					} else {
						alert(ajax.statusText);
					}
				}
			}
			url = var3+".php?id_logado="+id_logado;
			ajax.open('GET',url, true);
			ajax.send(null);
		}	
	}
	if(var4){
		ajax = IniciaAjax();
		if(ajax)
		{
			ajax.onreadystatechange = function(){
				if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
					document.getElementById(div_alvo).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
				}
				if(ajax.readyState == 4) {
					if(ajax.status == 200) {
						document.getElementById(div_alvo).innerHTML = ajax.responseText;
					} else {
						alert(ajax.statusText);
					}
				}
			}
			url = var4+".php?id_logado="+id_logado;
			ajax.open('GET',url, true);
			ajax.send(null);
		}
	}
	if(var5){
		ajax = IniciaAjax();
		if(ajax)
		{
			ajax.onreadystatechange = function(){
				if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
					document.getElementById(div_alvo).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
				}
				if(ajax.readyState == 4) {
					if(ajax.status == 200) {
						document.getElementById(div_alvo).innerHTML = ajax.responseText;
					} else {
						alert(ajax.statusText);
					}
				}
			}
			url = var5+".php?id_logado="+id_logado;
			ajax.open('GET',url, true);
			ajax.send(null);
		}
	}
	if(var6){
		ajax = IniciaAjax();
		if(ajax)
		{
			ajax.onreadystatechange = function(){
				if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
					document.getElementById(div_alvo).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
				}
				if(ajax.readyState == 4) {
					if(ajax.status == 200) {
						document.getElementById(div_alvo).innerHTML = ajax.responseText;
					} else {
						alert(ajax.statusText);
					}
				}
			}
			url = var6+".php?id_logado="+id_logado;
			ajax.open('GET',url, true);
			ajax.send(null);
		}
	}
	if(var7){
		ajax = IniciaAjax();
		if(ajax)
		{
			ajax.onreadystatechange = function(){
				if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
					document.getElementById(div_alvo).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
				}
				if(ajax.readyState == 4) {
					if(ajax.status == 200) {
						document.getElementById(div_alvo).innerHTML = ajax.responseText;
					} else {
						alert(ajax.statusText);
					}
				}
			}
			url = var7+".php?id_logado="+id_logado;
			ajax.open('GET',url, true);
			ajax.send(null);
		}
	}
}

function CriaOrdem(parametro){
	document.para_cons.ordem.value = parametro;	
}

function EnviaMail(){
	var SeuNome = document.getElementById("SeuNome").value;
	var SeuMail = document.getElementById("SeuMail").value;
	var NomeAmigo = document.getElementById("NomeAmigo").value;
	var EmailAmigo = document.getElementById("EmailAmigo").value;
	
	ajax = IniciaAjax();
	if(ajax){
		ajax.onreadystatechange = function(){
			if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
				//document.getElementById(div).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
			}
			if(ajax.readyState == 4) {
				if(ajax.status == 200) {
					
					alert('Mensagem enviada com sucesso');
					
					// Limpo campos
					document.getElementById("SeuNome").value = "";
					document.getElementById("SeuMail").value = "";
					document.getElementById("NomeAmigo").value = "";
					document.getElementById("EmailAmigo").value = "";
				} else {
					alert(ajax.statusText);
				}
			}
		}
			url = "EnviaEmail.php?SeuNome="+SeuNome+"&SeuMail="+SeuMail+"&NomeAmigo="+NomeAmigo+"&EmailAmigo="+EmailAmigo;
			ajax.open('GET',url, true);
			ajax.send(null);
	}
}
// Atualiza banners do topo de Fotos
function AtualizaBannersTopoFotos(){
	div = "BannerTopo";
	ajax = IniciaAjax();
	if(ajax){
		ajax.onreadystatechange = function(){
			if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
				//document.getElementById(div).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
			}
			if(ajax.readyState == 4) {
				if(ajax.status == 200) {
					document.getElementById(div).innerHTML = ajax.responseText;
					getScripts(ajax.responseText);
				} else {
					alert(ajax.responseText);
				}
			}
		}
			url = "banner.php?area=5&CodSesBan=6&origem=1";
			ajax.open('GET',url, true);
			ajax.send(null);
	}
}

//Atualiza Scrap da sessão de Fotos
function AtualizaScrapFotos(){
	div = "Scrap";
	ajax = IniciaAjax();
	if(ajax){
		ajax.onreadystatechange = function(){
			if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
				//document.getElementById(div).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
			}
			if(ajax.readyState == 4) {
				if(ajax.status == 200) {
					document.getElementById(div).innerHTML = ajax.responseText;
					AtualizaBannersTopoFotos();
				} else {
					alert(ajax.statusText);
				}
			}
		}
			url = "banner.php?area=3&CodSesBan=6&origem=1";
			ajax.open('GET',url, true);
			ajax.send(null);
	}
}
function AvancaRetrai(CodFot){
	div = "AvancaRetrai";
	ajax = IniciaAjax();
	if(ajax){
		ajax.onreadystatechange = function(){
			if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
				//document.getElementById(div).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
			}
			if(ajax.readyState == 4) {
				if(ajax.status == 200) {
					document.getElementById(div).innerHTML = ajax.responseText;
				} else {
					alert(ajax.statusText);
				}
			}
		}
			url = "avancaretrai.php?CodFot="+CodFot+"&origem=1";
			ajax.open('GET',url, true);
			ajax.send(null);
	}
}
function MostraFoto(CodFot){
	div = "FotoMaior"
	ajax = IniciaAjax();
	if(ajax){
		ajax.onreadystatechange = function(){
			if (ajax.readyState == 1 ){		// Estado ainda não completado (carregando)
				document.getElementById(div).innerHTML="<img src=\"imagens\/ajax-loader.gif\" width=\"16\" height=\"16\" \/> Carregando...";
			}
			if(ajax.readyState == 4) {
				if(ajax.status == 200) {
					document.getElementById(div).innerHTML = ajax.responseText;
					AvancaRetrai(CodFot);
				} else {
					alert(ajax.statusText);
				}
			}
		}
			url = "fotomaior.php?CodFot="+CodFot;
			ajax.open('GET',url, true);
			ajax.send(null);
	}
}