function formataValor(campo) {
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length;

	if ( tam <= 2 ){ 
 		campo.value = vr ; }
 	if ( (tam > 2) && (tam <= 5) ){
 		campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 6) && (tam <= 8) ){
 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 9) && (tam <= 11) ){
 		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 12) && (tam <= 14) ){
 		campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
 	if ( (tam >= 15) && (tam <= 18) ){
 		campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
 		
}

function limpaCamposForm(){}

function ajaxPadrao(formulario, metodo, url, layer) {
	objAjax = new AjaxObject(metodo, url);
	objAjax.addAllRequestObjects(document.forms[formulario]);
	objAjax.setLoadingFunction(loading);
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	objAjax.load();
}

// validações

function validarForm(formulario){
	for(i=0;formulario.elements.length;i++){
		if(formulario.id == "formDenuncia"){
			if(formulario.elements[i].name == "nome" || formulario.elements[i].name == "email"){
				continue;
			}
		}
		if(formulario.elements[i].value == ""){
			alert('Por favor, preencha o campo '+formulario.elements[i].id);
			document.getElementById('div_'+formulario.elements[i].name).style.color = "red";
			formulario.elements[i].className = 'formErro';
			formulario.elements[i].focus();
			return false;
		}
		if(formulario.id != "formDenuncia"){
			if(formulario.elements[i].name == "email"){
				if(!formulario.elements[i].value.match(/^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+){1,3}$/)){
					alert('E-mail inválido!');
					document.getElementById('div_'+formulario.elements[i].name).style.color = "red";
					formulario.elements[i].className = 'formErro';
					formulario.elements[i].focus();
					return false;
				}
			}
		}
	}
	return true;
}

function coloracaoCampo(campo){
	if(campo.name == "email"){
		if(campo.value != "" && campo.value.match(/^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+){1,3}$/)){
			campo.className = 'form3';
			document.getElementById('div_'+campo.name).style.color = "#555555";
		}
	}else{
		if(campo.value != ""){
			campo.className = 'form3';
			document.getElementById('div_'+campo.name).style.color = "#555555";
		}
	}
}

function enviarIndicacao(msg, formulario, metodo, url, layer) {
	objAjax = new AjaxObject(metodo, url);
	objAjax.addAllRequestObjects(document.forms[formulario]);
	objAjax.addRequestValue("msg", msg);
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	document.getElementById(layer).innerHTML = "<img src='../imagens/ajax-loader.gif' />  Enviando...";
	objAjax.load();
}

function validarInformativo(frm){
	if(frm.nome.value == " digite aqui o seu nome" || frm.nome.value == ""){
		alert("Por favor, preencha o campo 'Nome' corretamente.");
		frm.nome.focus();
		return false;
	}

	if(frm.email.value == " digite aqui o seu e-mail" || 
	   frm.email.value == ""){
		alert("Por favor, preencha o campo 'E-mail' corretamente.");
		frm.email.focus();
		return false;
	}
	
	return true;
}

function validarDadosPessoais(frm){
	if(frm.nome.value == ""){
		alert("Por favor, preencha o campo 'Nome'.");
		frm.nome.focus();
		return false;
	}
	
	if(frm.email.value == ""){
		alert("Por favor, preencha o campo 'E-mail'.");
		frm.email.focus();
		return false;
	}

	if(frm.cpf.value == ""){
		alert("Por favor, preencha o campo 'CPF'.");
		frm.cpf.focus();
		return false;
	}

	if(frm.cra.value == ""){
		alert("Por favor, preencha o campo 'CRA'.");
		frm.cra.focus();
		return false;
	}

	if(frm.identidade.value == ""){
		alert("Por favor, preencha o campo 'Identidade'.");
		frm.identidade.focus();
		return false;
	}

	if(frm.dia_nasc.value == "" || frm.mes_nasc.value == "" || frm.ano_nasc.value == ""){
		alert("Por favor, preencha o campo 'Data de Nascimento' corretamente.");
		frm.dia_nasc.focus();
		return false;
	}
	
	acaoCurriculo('cadastrar', '../ajax/acao.php', 'mostrarConteudo');
	carregarSecao('', '../ajax/dadospessoais.php?msg=true', 'mostrarConteudo'); 
}

function validarExperiencia(frm){
	if(frm.empresa.value == ""){
		alert("Por favor, preencha o campo 'Empresa'.");
		frm.empresa.focus();
		return false;
	}
	if(frm.cargo.value == ""){
		alert("Por favor, preencha o campo 'Cargo'.");
		frm.cargo.focus();
		return false;
	}
	
 	inserirExperiencia(frm); 
	carregarSecao('', '../ajax/experienciaprofissional.php?msg=true', 'mostrarConteudo'); 
}

function validarFormacao(frm){
	if(frm.instituicao.value == ""){
		alert("Por favor, preencha o campo 'Instituição'.");
		frm.instituicao.focus();
		return false;
	}
	if(frm.curso.value == ""){
		alert("Por favor, preencha o campo 'Curso'.");
		frm.curso.focus();
		return false;
	}

	inserirFormacao(frm); 
	carregarSecao('', '../ajax/formacaoacademica.php?msg=true', 'mostrarConteudo'); 
}

function validarIdioma(frm){
	if(frm.lingua.value == ""){
		alert("Por favor, selecione um idioma.");
		frm.lingua.focus();
		return false;
	}
	if(frm.nivel.value == ""){
		alert("Por favor, selecione um nível.");
		frm.nivel.focus();
		return false;
	}
	
	inserirIdioma(frm); 
	carregarSecao('', '../ajax/idiomas.php?msg=true', 'mostrarConteudo'); 
}

//x-x-x-x-x-x-x-x-x-x


function acaoCurriculo(formulario, url, layer) {
	objAjax = new AjaxObject("POST", url);
	objAjax.addAllRequestObjects(document.forms[formulario]);
	if(document.forms[formulario].acao.value == "alterarDados"){
		objAjax.addRequestValue("dia_nasc1", document.forms[formulario].dia_nasc.value);
		objAjax.addRequestValue("mes_nasc1", document.forms[formulario].mes_nasc.value);
		objAjax.addRequestValue("ano_nasc1", document.forms[formulario].ano_nasc.value);
		objAjax.addRequestValue("uf_identidade1", document.forms[formulario].uf_identidade.value);
		objAjax.addRequestValue("uf1", document.forms[formulario].uf.value);
	}
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	document.getElementById(layer).innerHTML = "<img src='../imagens/ajax-loader.gif' />";
	objAjax.load();
}

function inserirExperiencia(frm){
	var empresa = frm.empresa.value;
	var cargo = frm.cargo.value;
	var mes_entrada = frm.mes_entrada.value;
	var ano_entrada = frm.ano_entrada.value;
	var mes_saida = frm.mes_saida.value;
	var ano_saida = frm.ano_saida.value;
	var descricao = frm.tarefas.value;
	acaoCurriculoExperiencia(empresa, cargo, mes_entrada, ano_entrada, mes_saida, ano_saida, 
							 descricao, '../ajax/acao.php', 'mostrarConteudo2');
}

function acaoCurriculoExperiencia(empresa, cargo, mes_entrada, ano_entrada, mes_saida, ano_saida, 
								  descricao, url, layer) {
	objAjax = new AjaxObject("POST", url);
	objAjax.addRequestValue("acao", "inserirExperiencia");
	objAjax.addRequestValue("empresa", empresa);
	objAjax.addRequestValue("cargo", cargo);
	objAjax.addRequestValue("mes_entrada", mes_entrada);
	objAjax.addRequestValue("ano_entrada", ano_entrada);
	objAjax.addRequestValue("mes_saida", mes_saida);
	objAjax.addRequestValue("ano_saida", ano_saida);
	objAjax.addRequestValue("descricao", descricao);
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	objAjax.load();
}

function inserirFormacao(frm){
	var instituicao = frm.instituicao.value;
	var curso = frm.curso.value;
	var conclusao = frm.conclusao.value;
	var informacoes = frm.informacoes.value;
	acaoCurriculoFormacao(instituicao, curso, conclusao, informacoes, 
						  '../ajax/acao.php', 'mostrarConteudo2');
}

function acaoCurriculoFormacao(instituicao, curso, conclusao, 
							   informacoes, url, layer) {
	objAjax = new AjaxObject("POST", url);
	objAjax.addRequestValue("acao", "inserirFormacao");
	objAjax.addRequestValue("instituicao", instituicao);
	objAjax.addRequestValue("curso", curso);
	objAjax.addRequestValue("conclusao", conclusao);
	objAjax.addRequestValue("informacoes", informacoes);
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	objAjax.load();
}

function inserirIdioma(frm){
	var lingua = frm.lingua.value;
	var nivel = frm.nivel.value;
	acaoCurriculoIdioma(lingua, nivel, '../ajax/acao.php', 'mostrarConteudo2');
}

function acaoCurriculoIdioma(lingua, nivel, url, layer) {
	objAjax = new AjaxObject("POST", url);
	objAjax.addRequestValue("acao", "inserirIdioma");
	objAjax.addRequestValue("lingua", lingua);
	objAjax.addRequestValue("nivel", nivel);
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	objAjax.load();
}

function ajaxPadraoLogin(formulario, metodo, url, layer) {
	objAjax = new AjaxObject(metodo, url);
	objAjax.addAllRequestObjects(document.forms[formulario]);
	objAjax.setLoadingFunction(loading);
	objAjax.setCallBackFunction(callBackPadraoLogin, new Array(layer));
	objAjax.load();
}

function callBackPadraoLogin(resposta, container){
	if(resposta == "travadoNao"){
		window.location = 'index.php';
	}else if(resposta == "travadoSim"){
		window.location = 'login.php?acesso=Acesso Negado. <br/>Contate a administração do site.';		
	}else{
		document.getElementById(container).innerHTML = resposta;	
	}
}

function carregarSecao(id, url, layer) {
	objAjax = new AjaxObject("GET", url);
	objAjax.addRequestValue("id", id);
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	document.getElementById(layer).innerHTML = "<img src='../imagens/ajax-loader.gif' />";
	objAjax.load();
}

function excluirCurriculo(acao, id, url, layer) {
	objAjax = new AjaxObject("GET", url);
	objAjax.addRequestValue("id", id);
	objAjax.addRequestValue("acao", acao);
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	objAjax.load();
}


function ajaxPadraoEnviarEmail(formulario, metodo, url, layer) {
	objAjax = new AjaxObject(metodo, url);
	objAjax.addAllRequestObjects(document.forms[formulario]);
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	document.getElementById('enviandoEmail').style.display = 'none';
	document.getElementById(layer).innerHTML = "<img src='../imagens/ajax-loader.gif' /><br/>Enviando informativo. O envio poderá levar alguns minutos...";
	objAjax.load();
}

function ajaxPadrao2(formulario, metodo, url, layer) {
	objAjax = new AjaxObject(metodo, url);
	objAjax.setLoadingFunction(loading);
	objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
	objAjax.load();
}

function ajaxPadraoFormUnique(valor, metodo, url) {
	objAjax = new AjaxObject(metodo, url);
	objAjax.addRequestValue('key',valor);
	objAjax.setCallBackFunction(callBackAlert, new Array());
	objAjax.setExceptionFunction(exceptionPadrao);
	objAjax.load();
}

function ajaxPadraoUnique(valor, metodo, url,layer,campo,botao) {
	alert('valor: '+valor+' metodo: '+metodo+' url: '+url+' layer: '+layer);
	objAjax = new AjaxObject(metodo, url);
	objAjax.addRequestValue('key',valor);
	objAjax.setCallBackFunction(callBackDetail,new Array(layer, "previsao1","botao1"));
	objAjax.setExceptionFunction(exceptionPadrao);
	objAjax.load();
}

function carregarOrdenar(container, url, acao){
	
	var objAjax = new AjaxObject("POST", url);
	objAjax.setLoadingFunction(loading);
	objAjax.setCallBackFunction(exibirOptions, new Array(container));
	objAjax.addRequestValue('acao', acao);
	objAjax.load();
     
}

function exibirOptions(resposta, container){
	document.getElementById(container).innerHTML = resposta;
}


function exceptionPadrao(cod, status) {
	alert(cod + ": " + status);
}

function callBackDetail(response, layerName, campo, botao) {
	document.getElementById(layerName).style.display = 'block';
	document.getElementById(layerName).innerHTML = response;
	var cal = new Zapatec.Calendar.setup({
	showsTime      : false,//mostrar hora ou não
	range          : [1900.01, 2999.12],//data inicial e final
	singleClick    : true,//selecionar data com um único click
	inputField     : campo,//nome do campo que irá receber a data
	button         : botao,//botão que irá chamar a função da data
	ifFormat       : "%d/%m/%Y"//formata que irá ser mostrado
	});
	
}

function callBackPadrao(response, layerName) {
	document.getElementById(layerName).innerHTML = response;
}

// Função padrao de ajax para formularios
function ajaxPadraoForm(formulario, metodo, url) {
	objAjax = new AjaxObject(metodo, url);
	objAjax.addAllRequestObjects(document.forms[formulario]);
	objAjax.setCallBackFunction(callBackAlert, new Array());
	objAjax.load();
}
function loading(){
		layerName = this.callBackArguments[0];
		document.getElementById(layerName).innerHTML = "<font face=verdana size=3><div align=center><b><br><br><img src='../imagens/ajax-loader.gif'/></b></div></font>";	
}
function loadingEmail(){
		layerName = this.callBackArguments[0];
		document.getElementById(layerName).innerHTML = "<div align=center><b><br><br><img src='../imagens/ajax-loader.gif'/><br/>Enviando Informativo. Levará alguns minutos...</b></div>";	
}

// Função padrão de Callback

function callBackAlert(response) {
	eval(response);
}



var arrInput = new Array(0);
var arrInputValue = new Array(0);
	
function addInput() {

  arrInput.push(arrInput.length);
	
  arrInputValue.push("");
  display();
}
	
function display() {
  document.getElementById('inserirhtml').innerHTML="";
  for (intI=0;intI<arrInput.length;intI++) {
	document.getElementById('inserirhtml').innerHTML+=createInput(arrInput[intI], arrInputValue[intI]);
  }
}
	
function createInput(value) {
  return"<td><input name='foto[]' type='file' class='form2' size='26' /></td><br>";
}




/*
* Javascript pseudo-class to build assynchronous HTTP requests to webservers.
*
* You must inform the HTTP request Method and URL on AjaxObject's constructor,
* and, optionally, you can inform your Javascript function witch will receive
* and process the webserver response (callback function) and an array of 
* arguments that will be assigned to each function parameter.
*
* This callback function is necessary also if you (whe think so) intend to 
* process the server's response to add funcionality to your application.
* Without it, your script will not perceive anything absolutely.
* It accept parameters that you have to pass as an array, but simply consider
* as parameter on your callback function.
* 
* You can, optionally, pass request values (as key/value pairs) or request form 
* input objects that will be encoded and can be had access by the webserver.
* 
* Also it's possible to define a function witch will handle the XMLHttpRequest
* object's onreadystatechange event and another function witch will be called
* when something gone wrong, for examplo, request for Page Not Found (404).
* 
* To send an Ajax request, call load() method on your AjaxObject object.
*
* Usage examples:
* <code>
*	getObj = new AjaxObject("GET", "ajaxtest.php"); // request for some URL on GET method - try it with POST too
*	getObj.setCallBackFunction(callback); // defining the callback function
*	getObj.setLoadingFunction(loading); // setting loading function
*	getObj.addRequestValue('foo', 'bar'); // some request parameter
* 	getObj.addRequestObject(document.forms['aForm'].elements['anElement']); // other request parameter
* 	getObj.addAllRequestObjects(document.forms['anotherForm']); // pass all enabled form elements to request
* 	getObj.load(); // sending the assychronous request
* </code>
* 
* @author Jose Berardo <berardo@especializa.com.br>
* @author Eduardo Lundgren <braeker@gmail.com>
* @version 1.0
* @copyleft Jose Berardo - Especializa Treinamentos - www.especializa.com.br
* @copyleft Eduardo Lundgren - Especializa Treinamentos - www.especializa.com.br
*/ 
// class AjaxObject {

	var AjaxObject;
		AjaxObject.INVALID_REQUEST_OBJECT = 1;

	/*
	* AjaxObject Constructor
	* 
	* @param method Request method (GET or POST)
	* @param url url requested on load() function
	* @param xmlResponse enables xml format to response
	* @param callback function inform your script function whitch will receive the server response
	* @see load()
	* @constructor
	*/ 
	function AjaxObject(method, url) {
		// setting attributes
		this.method                 = method;
		this.url                    = url;
		this.requestObjects         = new Array();
		this.requestValues          = new Array();
		this.responseFormat         = (AjaxObject.arguments[2]) ? "xml" : "text";
		this.queue                  = new Array();

		// setting methods
		this.addRequestObject       = addRequestObject;
		this.addRequestValue        = addRequestValue;
		this.setCallBackFunction    = setCallBackFunction;
		this.setLoadingFunction     = setLoadingFunction;
		this.setExceptionFunction   = setExceptionFunction;
		this.buildRequestString     = buildRequestString;
		this.addAllRequestObjects   = addAllRequestObjects;
		this.load                   = load;

		// setting callback function
		this.callBackFunction       = AjaxObject.arguments[3];
		this.callBackArguments      = AjaxObject.arguments[4];
	}
	
	/*
	* AjaxObject's method that adds an input object to pass in the request
	* 
	* @param requestObject
	*/ 
	function addRequestObject(requestObject) {
		this.requestObjects[this.requestObjects.length] = requestObject;
	}
	
	/*
	* AjaxObject's method that adds a key-value pair to pass in the request as a parameter
	* 
	* @param requestObject
	*/ 
	function addRequestValue(requestKey, requestValue) {
		this.requestValues[this.requestValues.length] = new Array(requestKey, requestValue);
	}

	/*
	* AjaxObject's method that sets the Javascript's function
	* assigned to be onreadstatechange event listener
	* 
	* @param callBackFunction
	* @param arrayArguments Some arguments used by the method
	*/ 
	function setCallBackFunction(callBackFunction) {
		this.callBackFunction	= callBackFunction;
		this.callBackArguments	= setCallBackFunction.arguments[1];
	}
	
	/*
	* AjaxObject's method that sets the Javascript's function
	* called within the load() to change loading status
	* 
	* @param loadingFunction
	* @param loadingFunction Your loading function
	*/ 
	function setLoadingFunction(loadingFunction) {
		this.loadingFunction	= loadingFunction;
	}
	
	/*
	* AjaxObject's method that sets the Javascript's function
	* called within the load() when someting gone wrong
	* 
	* @param exceptionFunction
	* @param exceptionFunction Your exception function
	*/ 
	function setExceptionFunction(exceptionFunction) {
		this.exceptionFunction	= exceptionFunction;
	}
	
	/*
	* AjaxObject's method that processes requestObjects and requestValues
	* arrays and builds the return string used on GET's URL or POST's request parameters
	* 
	* @return the new URL string
	*/ 
	function buildRequestString() {
		var regexArray = /.*\[\]/;
		
		returnString = ((this.url.indexOf('?') > 0) ? "&" : "?") + "requestTime=" + new Date().getTime();
		for (x = 0; x < this.requestValues.length; x++) {
			returnString += '&' + this.requestValues[x][0] + '=' + encodeURIComponent(this.requestValues[x][1]);
		}
		for (x = 0; x < this.requestObjects.length; x++) {
			try {
				if (this.requestObjects[x].type == 'select-multiple') {	

					for (var i = 0; i < this.requestObjects[x].options.length; i++) {
						if (this.requestObjects[x].options[i].selected == true) {
							newName = regexArray.test(this.requestObjects[x].name) ? this.requestObjects[x].name : this.requestObjects[x].name + '[]';
							returnString += '&' + newName + '=' + encodeURIComponent(this.requestObjects[x].options[i].value); 
						}
					}
				}
				else{
					returnString += '&' + this.requestObjects[x].name + '=' + encodeURIComponent(this.requestObjects[x].value);
				}
			} catch (e) {
				if (this.exceptionFunction) {
					for (x in e) {alert(x)}
					this.exceptionFunction(AjaxObject.INVALID_REQUEST_OBJECT,
										   'The object ' + x + ' passed is not a valid form input object!');
				}
			}
		}
		return returnString;
	}

	/*
	* AjaxObject's method that adds all fields of a form passed as parameter
	* 
	* @param aForm HTML form object
	*/ 
	function addAllRequestObjects(aForm) {
		for (x = 0; x < aForm.elements.length; x++) {
			if (!aForm.elements[x].disabled) {
				if ((aForm.elements[x].type != 'checkbox' && aForm.elements[x].type != 'radio')
						|| aForm.elements[x].checked){
					this.addRequestObject(aForm.elements[x]);
				}
			}
		}
	}

	/*
	* AjaxObject's method that loads the new thread of XMLHttpRequest
	*/ 
	function load() {
		var xmlHttpRequest = new XmlHttpRequestObject(this);
		returnString  = this.buildRequestString();
		if (this.method.toUpperCase() == "POST") {
			xmlHttpRequest.thread.open("POST", this.url, true);
			xmlHttpRequest.thread.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			xmlHttpRequest.thread.setRequestHeader('Content-Length',returnString.length);
		} else if (this.method.toUpperCase() == "GET") {
			this.url += this.buildRequestString();
			xmlHttpRequest.thread.open("GET", this.url, true);
		}
		xmlHttpRequest.thread.send(returnString);

		xmlHttpRequest.thread.onreadystatechange = function() {
			if (xmlHttpRequest.thread.readyState == 0) { state = 'uninitialized' }
			if (xmlHttpRequest.thread.readyState == 1) { state = 'loading' }
			if (xmlHttpRequest.thread.readyState == 2) { state = 'loaded' }
			if (xmlHttpRequest.thread.readyState == 3) { state = 'interactive' }
			if (xmlHttpRequest.thread.readyState == 4) { state = 'complete' }
			if (xmlHttpRequest.ajaxObject.loadingFunction) xmlHttpRequest.ajaxObject.loadingFunction(state);
			
			if (xmlHttpRequest.thread.readyState == 4) {
				if (xmlHttpRequest.thread.status == 200) {
					params = "";
					if (xmlHttpRequest.ajaxObject.callBackArguments) {
						for (x = 0; x < xmlHttpRequest.ajaxObject.callBackArguments.length; x++) {
							params += ", xmlHttpRequest.ajaxObject.callBackArguments[" + x + "]";
						}
					}
					if (xmlHttpRequest.ajaxObject.callBackFunction) {
						if (xmlHttpRequest.ajaxObject.responseFormat == 'text')
							eval("xmlHttpRequest.ajaxObject.callBackFunction( unescape(xmlHttpRequest.thread.responseText)" + params + " )");
						else 
							eval("xmlHttpRequest.ajaxObject.callBackFunction( unescape(xmlHttpRequest.thread.responseXML)" + params + " )");
					}
				} else {
					if (xmlHttpRequest.ajaxObject.exceptionFunction) {
						eval("xmlHttpRequest.ajaxObject.exceptionFunction(xmlHttpRequest.thread.status, xmlHttpRequest.thread.statusText)");
					}
				}
			}
			
		}
	}

// }

/*
* Private class to help AjaxObject in its job
*
*/
// private class XmlHttpRequestObject {

	/*
	* XmlHttpRequestObject Constructor
	* 
	* @param callBackFunction function loaded when response status code is 200 - OK
	* @param callBackArguments array of arguments passed to the callback function
	* @param loadingFunction function called on every change of request state
	*/ 
	function XmlHttpRequestObject(ajaxObject) {
		try { this.thread = new XMLHttpRequest(); }
		catch(e) { try {this.thread = new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {} }
		
		this.ajaxObject	= ajaxObject;
	}
	

// }
// JavaScript Document

