xmlhttp = false;		
function getXMLHTTP(){
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMPHTTP");
		}catch(ee){
			xmlhttp = new XMLHttpRequest();
		}
	} 
}


function ajaxNull (serverPage,objID){
	getXMLHTTP();
	var obj = document.getElementById(objID);
	var reCache = new Date().getTime(); 
	xmlhttp.open("GET",serverPage+"?rc="+reCache);
	xmlhttp.onreadystatechange = function(){
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
			obj.innerHTML = xmlhttp.responseText;		
		}else{
			obj.innerHTML = "carregando...";
		}
	}	
	xmlhttp.send(null);
}

function ajaxRequest(formName, serverPage, objID){
	if(tryToSubmit(formName)== 0){
		return;
	}
	
	var fields = "?";
	var fn = document.forms[formName];
	//var checkboxName = "";		
	for(var i=0;i < fn.elements.length;i++){
		if(fn.elements[i].type == "text" || 
		   fn.elements[i].type == "select-one" ||
		   fn.elements[i].type == "hidden" ||
		   fn.elements[i].type == "password" ||
		   fn.elements[i].type == "textarea"){
			fields += "&"+fn.elements[i].name+"="+fn.elements[i].value;	
		}else if(fn.elements[i].type == "radio"){
			if(fn.elements[i].checked){
				fields += "&"+fn.elements[i].name+"="+fn.elements[i].value;
			}
		}else if(fn.elements[i].type == "checkbox" ){
			//&& fn.elements[i].name != checkboxName
			//checkboxName = fn.elements[i].name;
			var checkboxValues = "";
			for (var ii = 0; ii < fn.elements[fn.elements[i].name].length; ii++) {
				if (fn.elements[fn.elements[i].name][ii].checked) {
					checkboxValues += fn.elements[fn.elements[i].name][ii].value+",";
				}
			}
			fields += "&"+fn.elements[i].name+"="+checkboxValues;
		}
		
	}
	
	getXMLHTTP();
	var obj = document.getElementById(objID);
	var reCache = new Date().getTime(); 
	xmlhttp.open("GET",serverPage+fields+"&rc="+reCache);
	xmlhttp.onreadystatechange = function(){
		if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
			obj.innerHTML = xmlhttp.responseText;			
		}else{
			obj.innerHTML = "carregando...";
		}
	}	
	xmlhttp.send(null);
}

function tryToSubmit(formName){
	var fn = document.forms[formName];

	//para forms que lidam com alteracao de senha
	var passFld;
	var passFlag = false;
	
	for(var i = 0; i < fn.elements.length; i++){
		 if(fn.elements[i].name.indexOf("obrg_") > -1){						
			if(fn.elements[i].value == ""){				
				alert("Preenchimento de campo obrigatório.");	
				fn.elements[i].select();
				return false;
			}
			
			if(fn.elements[i].name.indexOf("_email") > -1){
				var arroba = fn.elements[i].value.indexOf("@");
				var ponto = fn.elements[i].value.lastIndexOf(".");
				if(arroba <= 0 || ponto < arroba){
					alert("Formato de e-mail inválido.");
					fn.elements[i].focus();
					fn.elements[i].select();
					return 0;
				}
			}
			
			if(fn.elements[i].name.indexOf("_npass") > -1 && passFlag == false){
				passFld = fn.elements[i];
				passFlag = true;
			}
			
			if(fn.elements[i].name.indexOf("_rnpass") > -1){
				if(fn.elements[i].value != passFld.value){
					alert("Senhas não conferem.");
					fn.elements[i].select();
					return 0;
				}
			}
		}
	}
}

//MÁSCARA DE VALORES

function txtBoxFormat(objeto, sMask, evtKeyPress) {
    var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;


if(document.all) { // Internet Explorer
    nTecla = evtKeyPress.keyCode;
} else if(document.layers) { // Nestcape
    nTecla = evtKeyPress.which;
} else {
    nTecla = evtKeyPress.which;
    if (nTecla == 8) {
        return true;
    }
}

    sValue = objeto.value;

    // Limpa todos os caracteres de formatação que
    // já estiverem no campo.
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( ":", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( " ", "" );
    sValue = sValue.toString().replace( " ", "" );
    fldLen = sValue.length;
    mskLen = sMask.length;

    i = 0;
    nCount = 0;
    sCod = "";
    mskLen = fldLen;

    while (i <= mskLen) {
      bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
      bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

      if (bolMask) {
        sCod += sMask.charAt(i);
        mskLen++; }
      else {
        sCod += sValue.charAt(nCount);
        nCount++;
      }
      i++;
    }

    objeto.value = sCod;

    if (nTecla != 8) { // backspace
      if (sMask.charAt(i-1) == "9") { // apenas números...
        return ((nTecla > 47) && (nTecla < 58)); }
      else { // qualquer caracter...
        return true;
      }
    }
    else {
      return true;
    }
}

function esconder(obj){
	document.getElementById(obj).innerHTML = "";
}

function popup(formName,serverPage,nome,altura,largura){
	if (formName != ""){	
		window.open(serverPage+CapiturarForms(formName),nome,"width="+altura+",height="+largura+",toolbar=no,status=yes,scrollbars=no");
	}else{
		window.open(serverPage,nome,"width="+altura+",height="+largura+",toolbar=yes,status=yes,scrollbars=yes");
	}
}

function CapiturarForms(formName){
	if (tryToSubmit(formName) == 0) {
		return;
	}
	
	var fields = "?";
	var fn = document.forms[formName];
	//var checkboxName = "";		
	for (var i = 0; i < fn.elements.length; i++) {
		if (fn.elements[i].type == "text" ||
		fn.elements[i].type == "select-one" ||
		fn.elements[i].type == "hidden" ||
		fn.elements[i].type == "password" ||
		fn.elements[i].type == "textarea") {
			fields += "&" + fn.elements[i].name + "=" + fn.elements[i].value;
		}
		else 
			if (fn.elements[i].type == "radio") {
				if (fn.elements[i].checked) {
					fields += "&" + fn.elements[i].name + "=" + fn.elements[i].value;
				}
			}
			else 
				if (fn.elements[i].type == "checkbox") {
					//&& fn.elements[i].name != checkboxName
					//checkboxName = fn.elements[i].name;
					var checkboxValues = "";
					for (var ii = 0; ii < fn.elements[fn.elements[i].name].length; ii++) {
						if (fn.elements[fn.elements[i].name][ii].checked) {
							checkboxValues += fn.elements[fn.elements[i].name][ii].value + ",";
						}
					}
					fields += "&" + fn.elements[i].name + "=" + checkboxValues;
				}
		
	}
	return fields;
}


