var xmlHttp

function limpaCampo(obj) {
	obj.value = "";
}

function limpaResult(){
	document.getElementById("vlcorre").innerHTML = "";
	document.getElementById("vljuros").innerHTML = "";
	document.getElementById("result").innerHTML = "";
	document.getElementById("imprime").innerHTML = "";
}

function formataMoeda(obj) {
	var num = obj.value;
	var re = /(\d+)(\d{3})/;
	if (obj.value.length != 0) {
		while (re.test(num)) {
			num = num.replace(re, "$1.$2");
		}
		if (num.search("\,") != -1) {
			arr = num.split(",");
			if (arr[arr.length-1].length > 2) {
				num = num.replace(arr[arr.length-1],arr[arr.length-1].substring(0,2));
			}
		}
		else {
			num = num+",00"
		}
	}
	//alert(arr.length+"  "+Math.round(arr[arr.length-1]*0.1));
	obj.value = num;
}

function mascaraDeData(obj){
	// Filtra um campo de data permitindo apenas o formato mm/dd/aaaa com restrição do uso apenas de números
	// Ex.: onKeyUp = mascaraDeData(this)
	var re = /([^\d]+)([\d|\/]*$)/;
	var re1 = /[^\d|\/]$/;
	var re2 = /^(\d{2})(\d+)/;
	var re3 = /^(\d{2}\/\d{2})(\d+)/;
	var re4 = /([^\d]+)([\d]*$)/;
	
	if (obj.value.charAt(0).search(re) != -1) {
		obj.value = obj.value.replace(re, "$2");
	}
	
	if (obj.value.charAt(1).search(re) != -1) {
		obj.value = obj.value.replace(re, "$2");
	}
	
	if (obj.value.charAt(2).search(re1) != -1) {
		obj.value = obj.value.replace(re1, "/");
	}
	else if (obj.value.search(re2) != -1) {
		obj.value = obj.value.replace(re2, "$1/$2");
	}
	
	if (obj.value.charAt(3).search(re) != -1) {
		obj.value = obj.value.replace(re, "/$2");
	}
	
	if (obj.value.charAt(4).search(re4) != -1) {
		obj.value = obj.value.replace(re4, "$2");
		if (obj.value.charAt(4).search(re4) != -1) {
			obj.value = obj.value.replace(re4, "$2/");
		}
	}
	
	if (obj.value.charAt(5).search(re1) != -1) {
		obj.value = obj.value.replace(re1, "/");
	}
	else if (obj.value.search(re3) != -1) {
		obj.value = obj.value.replace(re3, "$1/$2");
	}
	
	if (obj.value.charAt(6).search(re4) != -1) {
		obj.value = obj.value.replace(re4, "/$2");
	}
	
	if (obj.value.charAt(7).search(re4) != -1) {
		obj.value = obj.value.replace(re4, "$2");
	}
	
	if (obj.value.charAt(8).search(re4) != -1) {
		obj.value = obj.value.replace(re4, "$2");
	}
	
	if (obj.value.charAt(9).search(re4) != -1) {
		obj.value = obj.value.replace(re4, "$2");
	}
	if (obj.value.length > 10) {
		obj.value = obj.value.replace(obj.value,obj.value.substring(0,10));
	}
}

function pegaData() {
	var val     = document.getElementById("valor").value;
	var dtIni   = document.getElementById("dtInicial").value;
	var dtFin   = document.getElementById("dtFinal").value;
	var dtIniJu = document.getElementById("dtInicialJu").value;
	var jur     = document.getElementById("juros").value;
	var indc    = document.getElementById("indice").value;
	/*if (dtIni.length == 0) {
		alert("O campo \"Data inicial\" está vazio!");
		return false;
	}
	if (dtFin.length == 0) {
		alert("O campo \"Data final\" está vazio!");
		return false;
	}*/
	calcula(val, dtIni, dtFin, dtIniJu, jur, indc);
}

function calcula(valor, dataIni, dataFin, dataIniJu, juros, indice) {
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp == null) {
		alert ("Seu navegador não suporta AJAX!");
		return;
	}
	var url = "calculo_ajax.asp";
	url = url+"?vl="+valor+"&dti="+dataIni+"&dtf="+dataFin+"&dtiju="+dataIniJu+"&jrs="+juros+"&idc="+indice;
	url = url+"&sid="+Math.random();
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

// esta função para pegar o resultado da requisição (RESPONSE.write que vem do calculo_ajax.asp)
function stateChanged() {
	if (xmlHttp.readyState == 1) {
		document.getElementById("aguarde").innerHTML = "Aguarde...";
	}
	if (xmlHttp.readyState == 4) {
		//document.getElementById("teste").innerHTML = xmlHttp.responseText;
		if (xmlHttp.responseText == "err1") {
			alert("Digite uma data válida!");
			document.getElementById("aguarde").innerHTML = "";
		}
		else if (xmlHttp.responseText == "err2") {
			alert("Data inicial superior à data final!");
			document.getElementById("aguarde").innerHTML = "";
		}
		else {
			document.getElementById("aguarde").innerHTML = "&nbsp;";
			var arrResults = xmlHttp.responseText.split("|");
			document.getElementById("vlcorre").innerHTML = arrResults[0];
			document.getElementById("vljuros").innerHTML = arrResults[1];
			document.getElementById("result").innerHTML = arrResults[2];
			document.getElementById("imprime").innerHTML = '<input class="texto01" type="button" name="Submit" value="Imprimir" onClick="print()">';
		}
	}
}

// esta função verifica se o browser suporta ou não o ajax
function GetXmlHttpObject() {
	var xmlHttp = null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
	// Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}