function criarObjMSXMLHttp(){

	if (window.ActiveXObject) {  // IE

		var versoes = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
	
		for (var i = 0; i < versoes.length; i++) {
			try {
				var objetoXMLHttp = new ActiveXObject(versoes[i]);
				//alert ("Criado - " + versoes[i]);
				return objetoXMLHttp;
			} catch (ex) {
				//alert ("Erro ao criar XMLHttp no IE");
			}
		}
		
	} else if (window.XMLHttpRequest) { // Mozilla, Safari, ...
	
		objetoXMLHttp = new XMLHttpRequest();
		return objetoXMLHttp;
		
	}
	
	return false;
	
}

function xhSend(url, elemento, atualiza, campos, mensagem){
	
	// verifica o form
	var teste = 0
	if (campos) {
		opcao = campos.split("|")
		for (i=0; i < opcao.length; i++) {
			if (document.getElementById(opcao[i]).value == '') {			
				//alert('Preencha corretamente o campos marcados com *');
				document.getElementById(mensagem).innerHTML = 'Preencha corretamente o campos marcados com *';
				teste = 1;
			}
			if (teste == 0) {
				document.getElementById(mensagem).innerHTML = '';
			}
		}
	}
	//***
	
	if (teste == 0) {
		var xhReq = criarObjMSXMLHttp();
		var form = document.getElementById(elemento)
		var form_string = get(form)
		//alert("xhReq: " + url + form_string)
		
		xhReq.open("POST", url, true);
		//xhReq.open("GET", url+"?"+form_string, true);
		
		xhReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		//xhReq.setRequestHeader('Content-Lenght',form_string.lenght);
		xhReq.setRequestHeader('Connection','close');
	
		xhReq.onreadystatechange = function() {
			//alert("load");
			if (xhReq.readyState == 1) {
				//document.getElementById("load").style.display = "block";
				//document.getElementById("divBody_"+curTab).style.display = "none";
			}
			if (xhReq.readyState == 4) {
				document.getElementById("load").style.display = "none";
				//document.getElementById("divBody_"+curTab).style.display = "block";
				if (xhReq.status == 200) {
					//alert(xhReq.responseText);
					if (xhReq.responseText.substring(0, 6) == 'reload') {
						//alert(xhReq.responseText.substring(6, 1000))
						alert('Vaga cadastrada com sucesso, a seguir configure o perfil do candidato')
						window.location = 'vagas.php?edit=1&vaga='+xhReq.responseText.substring(6, 1000);
					}

					if (xhReq.responseText == 'noreload') {
						//alert(xhReq.responseText.substring(6, 1000))
						alert('Sua vaga não pode ser cadastrada, você já possui uma vaga aberta igual a esta em nosso banco de dados!')
					}

					if (atualiza) {
						document.getElementById(atualiza).innerHTML = xhReq.responseText;				
					}
					if (xhReq.responseText.substring(0, 6) != 'reload' && atualiza == '' && xhReq.responseText != 'noreload') {
						alert("Dados Atualizados!")
					}
				} else {
					alert("ERRO!\nTente novamente!");
				}
			} 
		}
	    xhReq.send(form_string);
	} else {
		return false;	
	}
	
}

// url_encode version 1.0  
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;  
}  

// url_decode version 1.0  
function url_decode(str) {  
	var n, strCode, strDecode = "";  
	for (n = 0; n < str.length; n++) {  
        if (str.charAt(n) == "%") {  
        	strCode = str.charAt(n + 1) + str.charAt(n + 2);  
        	strDecode += String.fromCharCode(parseInt(strCode, 16));  
        	n += 2;  
        } else {  
			strDecode += str.charAt(n);  
		}  
	} 
	
	strDecode = strDecode.replace(new RegExp('%20','g'),' ');
	strDecode = strDecode.replace(new RegExp('\\\\','g'),'');
	
	return strDecode;  
}  

function get(form){
	var inputs    = form.getElementsByTagName("input");
	var selects   = form.getElementsByTagName("select");
	var textareas = form.getElementsByTagName("textarea");
	var getstr = "";
	// input
	for (i=0; i < inputs.length; i++) {
		if (inputs[i].type == "hidden") {
			getstr += inputs[i].name + "=" + url_encode(inputs[i].value) + "&";
		}
		if (inputs[i].type == "text") {
			getstr += inputs[i].name + "=" + url_encode(inputs[i].value) + "&";
		}
		if (inputs[i].type == "password") {
			getstr += inputs[i].name + "=" + url_encode(inputs[i].value) + "&";
		}
		if (inputs[i].type == "checkbox") {
			if (inputs[i].checked) {
				getstr += inputs[i].name + "=" + url_encode(inputs[i].value) + "&";
			} else {
				getstr += inputs[i].name + "=&";
			}
		}
		if (inputs[i].type == "radio") {
			if (inputs[i].checked) {
				getstr += inputs[i].name + "=" + url_encode(inputs[i].value) + "&";
			}
		}
	}	
	// textarea
	for (i=0; i < textareas.length; i++) {
		getstr += textareas[i].name + "=" + url_encode(textareas[i].value) + "&";
	}
	// select
	for (i=0; i < selects.length; i++) {
		getstr += selects[i].name + "=" + url_encode(selects[i].options[selects[i].selectedIndex].value) + "&";
	}
	return getstr;
	//alert(getstr)
}

function getInput(obj) {
	var getstr = "";
	if (obj.type == "textarea") {
		getstr += obj.name + "=" + url_encode(obj.value) + "&";
	}
	if (obj.tagName == "INPUT") {
		if (obj.type == "text") {
			getstr += obj.name + "=" + url_encode(obj.value) + "&";
		}
		if (obj.type == "password") {
			getstr += obj.name + "=" + url_encode(obj.value) + "&";
		}
		if (obj.type == "checkbox") {
		   if (obj.checked) {
			  getstr += obj.name + "=" + obj.value + "&";
		   } else {
			  getstr += obj.name + "=&";
		   }
		}
		if (obj.type == "radio") {
		   if (obj.checked) {
			  getstr += obj.name + "=" + obj.value + "&";
		   }
		}
	 }   
	 if (obj.tagName == "SELECT") {
		var sel = obj;
		getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
	}
	return getstr;
}

function loadSelect(url, elemento, destino, tipo, selected) {
	
	var xhReq = criarObjMSXMLHttp();
	
	var i;
	var obj = document.getElementById(destino);
	var form  = document.getElementById(elemento);
	var form_string = getInput(form)
	//alert(url)
	
	xhReq.open("POST", url, true);
	//xhReq.open("GET", url+"?"+form_string, true);
	
	xhReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	//xhReq.setRequestHeader('Content-Lenght',form_string.lenght);
	//xhReq.setRequestHeader('Connection','close')

	xhReq.onreadystatechange = function() {
		if (xhReq.readyState <= 4 && i == 0 && !tipo) {
			obj.innerHTML = "Carregando...";
			i = 1;
		} 
		if (xhReq.readyState <= 4 && i == 0 && tipo){
			obj.options.length = 0;
			eval(obj.options[obj.options.length] = new Option('Carregando...',''));	
			i = 1;
		}
		if (xhReq.readyState == 4) {
			if (xhReq.status == 200) {
				if (!tipo) {
					obj.innerHTML = url_decode(xhReq.responseText); 
				} else {
					obj.options.length = 0;
					eval(url_decode(xhReq.responseText));
					if (selected) {
						obj.options[0].selected = true;
					}
				}
			} else {
				obj.innerHTML = "Erro!"
			}
		} 
	}
    xhReq.send(form_string);
}

function loadText(url, destino, confirma, input){
	
	var xhReq = criarObjMSXMLHttp();
	var obj   = document.getElementById(destino)
	
	variavel = 1;
	if (confirma) {
		var pergunta = confirm(confirma)
			if (pergunta == true){
				variavel = 1;
			} else {
				variavel = 0;	
			}
	}
	//alert(url)
	
	if (variavel == 1) {
		xhReq.open("GET", url, true);	
		//xhReq.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1")
		xhReq.onreadystatechange = function() {
			if (xhReq.readyState == 4) {
				if (xhReq.status == 200) {
					if (input == true) {
						obj.value = url_decode(xhReq.responseText);
					} else {
						obj.innerHTML = url_decode(xhReq.responseText);	
					}
				} else {
					obj.innerHTML = "Erro!"
				}
			} 
		}
	    xhReq.send(null);
	}
}

function visto(url, id, pagina, largura, altura) {
	var xhReq = criarObjMSXMLHttp();
	xhReq.open("GET", url, true);	
	xhReq.onreadystatechange = function() {
		if (xhReq.readyState == 4) {
			if (xhReq.status == 200) {
				if (xhReq.responseText == 'ok') {
					if (id) {
						document.getElementById(id).className='pesquisa2';
					}
					if (pagina) {
						abreJanela(pagina, largura, altura);
					}
					//alert(xhReq.responseText);
				} else {
					alert('Erro');
				}
			}
		} 
	}
    xhReq.send(null);
}

function convocar(url, confirma, msg, ok, aviso, pagina, largura, altura){
	var xhReq = criarObjMSXMLHttp();
	variavel = 1;
	if (confirma) {
		var pergunta = confirm(confirma)
			if (pergunta == true){
				variavel = 1;				
			} else {
				variavel = 0;	
			}
	}
	if (variavel == 1) {
		xhReq.open("GET", url, true);	
		xhReq.onreadystatechange = function() {
			if (xhReq.readyState == 4) {
				if (xhReq.status == 200) {
					if (xhReq.responseText == 'ja') {
						alert(msg);
					}
					if (xhReq.responseText == 'ja10') {
						alert(aviso);
					}
					if (xhReq.responseText == 'ok') {
						alert(ok);		
					}
					if ((pagina && xhReq.responseText == 'ok') || (pagina && xhReq.responseText == 'ja')) {
						//abreJanela(pagina, largura, altura);
						window.location = pagina;
					}
					//alert(xhReq.responseText)					
					//window.close();
				} else {
					alert("Erro!");
				}
			} 
		}
	    xhReq.send(null);
	}
}

function loadControle(url, destino){
	
	var xhReq = criarObjMSXMLHttp();
	var obj   = document.getElementById(destino)
	
	xhReq.open("GET", url, true);	
	xhReq.onreadystatechange = function() {
		if (xhReq.readyState == 4) {
			if (xhReq.status == 200) {
				obj.value = url_decode(xhReq.responseText);
			} else {
				obj.innerHTML = "Erro!"
			}
		} 
	}
    xhReq.send(null);

}

function faq(url, destino){	
	var xhReq = criarObjMSXMLHttp();
	var obj   = document.getElementById(destino)
	
	document.getElementById('form').style.display = 'none'
	document.getElementById('table_resposta').style.display = 'none'
	
	xhReq.open("GET", url, true);
	xhReq.onreadystatechange = function() {
		if (xhReq.readyState == 4) {
			if (xhReq.status == 200) {
				//d.getElementById('').style.display = 'block'
				obj.innerHTML = url_decode(xhReq.responseText);
			} else {
				obj.innerHTML = "Erro!"
			}
		} 
	}
    xhReq.send(null);
}




