// -- AJAX -------------------------------------------------------------------------------
function strstr( haystack, needle, bool ) {
    // *     example 1: strstr('Kevin van Zonneveld', 'van');
    // *     returns 1: 'van Zonneveld'
    // *     example 2: strstr('Kevin van Zonneveld', 'van', true);
    // *     returns 2: 'Kevin '
 
    var pos = 0;
 
    haystack += '';
    pos = haystack.indexOf( needle );
    if( pos == -1 ){
        return false;
    } else{
        if( bool ){
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}


function extraiScript(texto){
//desenvolvido por Skywalker.to, Micox e Pita.
//http://forum.imasters.uol.com.br/index.php?showtopic=165277
var ini, pos_src, fim, codigo;
var objScript = null;
ini = texto.indexOf('<script', 0)
while (ini!=-1){
var objScript = document.createElement("script");
//Busca se tem algum src a partir do inicio do script
pos_src = texto.indexOf(' src', ini)
ini = texto.indexOf('>', ini) + 1;

//Verifica se este e um bloco de script ou include para um arquivo de scripts
if (pos_src < ini && pos_src >=0){//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script
//Marca como sendo o inicio do nome do arquivo para depois do src
ini = pos_src + 4;
//Procura pelo ponto do nome da extencao do arquivo e marca para depois dele
fim = texto.indexOf('.', ini)+4;
//Pega o nome do arquivo
codigo = texto.substring(ini,fim);
//Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano
codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
// Adiciona o arquivo de script ao objeto que sera adicionado ao documento
objScript.src = codigo;
}else{//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script
// Procura o final do script
fim = texto.indexOf('</script>', ini);
// Extrai apenas o script
codigo = texto.substring(ini,fim);
// Adiciona o bloco de script ao objeto que sera adicionado ao documento
objScript.text = codigo;
}

//Adiciona o script ao documento
document.body.appendChild(objScript);
// Procura a proxima tag de <script
ini = texto.indexOf('<script', fim);

//Limpa o objeto de script
objScript = null;
}
}



function include(url, destino, parametros){
	document.getElementById(destino).innerHTML = '<img src="img/indicator.gif" align="absmiddle"> Carregando...';
	$('#'+destino).load(url);
}



function ScriptOnload(texto){

    var Emular = document.createElement('script');

    var encontrou = texto.indexOf('onload', "0");

    if (encontrou != -1) {

        dividir = texto.split('onload="');

        fim = dividir[1].split('"');

        Emular.setAttribute('language', 'Javascript');

        Emular.text = fim[0];

        document.body.appendChild(Emular);

    }

}

function executaConteudo(url,parametros,funcao){

    var retorno = 'Erro!';
	if(strstr(url, '?')){
		delimitador = '&';
	}else{
		delimitador = '?';
	}

	urlAdd = delimitador + Math.ceil(Math.random() * 100000) + '=0';

	var req = null;

    if (!parametros) 

        parametros = '';

    if (window.XMLHttpRequest) {

        req = new XMLHttpRequest();

        requesita();

    }

    else 

        if (window.ActiveXObject) {

            req = new ActiveXObject("Microsoft.XMLHTTP");

            requesita();

        }

    

    function requesita(){

        req.open("POST", url+urlAdd, true);

        req.onreadystatechange = processa_pagina2;

        req.setRequestHeader('Content-Type', "application/x-www-form-urlencoded; charset=iso-8859-1");

        req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");

        req.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");

        req.setRequestHeader("Pragma", "no-cache");

        req.setRequestHeader("expires", "0");

        req.send(parametros);

    }

    

    function processa_pagina2(){
			 if (req.readyState == 4) {

            if (req.status == 200) {
            	eval(funcao+'("'+req.responseText+'")');
            }

            else {
                alert("Houve um problema ao obter os dados:\n" + req.statusText + "\n" + url);
            }

        }

    }
	
}

var janela = null;
	function popupImage(url, w, h, title){
		var property, screenW, screenY, janela, w, h, title;
		
		// stellt die Bildschirmabmessungen fest
		// find window size
		var ns6 = (!document.all && document.getElementById);
		var ie4 = (document.all);
		var ns4 = (document.layers);
		
		if(ns6||ns4) {
			screenW = innerWidth;
			screenY = innerHeight;
		}
		else if(ie4) {
			screenW = document.body.clientWidth;
			screenY = document.body.clientHeight;
		}
		
		x = (screenW-w)/2;
		y = (screenY-h)/2;
		
		property="scrollbars=no,left="+x+",top="+y+",screenX="+x+",screenY="+y+",width="+w+",height="+h+",menubar=no,toolbar=no";
		
		if(janela != undefined) janela.close();
		else var janela = null;
	
		janela = window.open("","",property);
		janela.focus();
		janela.document.open();
		with (janela) {
		  document.write("<html><head>");
		  // geändert 2004 für Mozilla
		  document.write('<scr' + 'ipt type="text/javascr' + 'ipt" language="JavaScr' + 'ipt">');
		  // bei click  schliessen , on click close
		  document.write("function click() { window.close(); } ");
		  document.write("document.onblur=click ");
		  // geändert 2004 für Mozilla
		  document.write('</scr' + 'ipt>');
	//	  document.write('<link href="../css/global.css" rel="stylesheet" type="text/css" />');
		  document.write("<title>"+title+"</title></head>");
		  // bei Focusverlust schliessen, close if window looses focus
		  // Zeile geändert Aug 2003 (Dreamweaver machte Probleme)
		  document.write("<" + "body onblur='window.close()';");
		  document.write("marginwidth='0' marginheight='0' leftmargin='0' topmargin='0' style='background: url("+url+")'>");
	//	  document.write("<center>");
	//	  document.write("<img src='"+ url +"' border='0'>");
	//	  document.write("<center>");
		  document.write("</body></html>");
		  document.close();
		}
	}	