
 function ajaxGetForm(f) {

  var getstr = new text.StringBuffer();

  var form  = f;
  for (var x=0; x< form.length; x++){
			// INPUT TAGS
			if (/input/i.test(form[x].tagName) && form[x].getAttribute('type')){
				if (/checkbox/i.test(form[x].getAttribute('type')) ||
					/radio/i.test(form[x].getAttribute('type'))){
					// If its checkbox or radio, adds only checked elements
			   		if ( form[x].checked){
                                        getstr.append(form[x].name+"="+form[x].value);
                                        }
			   	}else if (/submit/i.test(form[x].getAttribute('type'))){
			   		// Button, dont add
			    	continue;
			   	}else{
			   		// Other types of inputs
			    	getstr.append(form[x].name+"="+form[x].value);
			   	}
			}else{
				// SELECT and TEXTAREA
				getstr.append(form[x].name+"="+form[x].value);
			}
		}

    getstr.append("dtale="+encodeURIComponent(new Date()));

    return getstr.concat("&");


  }




text = {
	/**
	* Creates a new empty StringBuffer.
	* @class StringBuffer: String buffer object. Should be used
	* for string concatenation instead of + operator
	* @constructor
	*/
	StringBuffer: function(){
		var _buffer = [];
                var _bufferCheio = [];
		/**
		* Appends a new string at the end of the current
		* string buffer
		* @param {String} string String to be appended
		*/
		this.append = function(string) {
			if(string && typeof string == "string"){
                        _buffer.push(string);
                        _bufferCheio.push(string);

                        }
  			return this;
		}

		this.setblank = function(posicao) {
                    _buffer[posicao]="";
                    return this;
		}
                this.alter = function(posicao,val) {
                if(val && typeof val == "string")
                    _buffer[posicao]=val;
                    return this;
		}

                this.clear = function() {
                   _buffer = [];
                    return this;
		}

                this.selall = function(){
                  _buffer = _bufferCheio.slice();
                }


		/**
		* Returns a string representation of the current buffer
		* @type String
		*/
		this.toString = function() {
  			return _buffer.join("");
		}

		/**
		* Returns a string representation of the current buffer,
		* joining each string appended using c
		* @param {char} c character used to append each string
		* @type St{ring
		*/
		this.concat = function(c) {
  			return _buffer.join(c);
		}

                this.getlink = function() {
  			return _buffer.join("&");
		}
	}
};





var form = "";
var submitted = false;
var error = false;
var error_message = "";

function check_email(field_name, message) {
  field_size = 8;
  if ( form.elements[field_name]  ) {
    var field_value = form.elements[field_name].value;

    if (field_value == '' || field_value.length < field_size || !isEmail(field_value)) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}


function check_input(field_name, field_size, message) {
  if ( form.elements[field_name]  ) {
    var field_value = form.elements[field_name].value;

    if (field_value == '' || field_value.length < field_size) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_check(field_name, message) {
  var isChecked = false;

  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var radio = form.elements[field_name].checked;

    if (radio == false) {
      isChecked = true;
      error_message = error_message + "* " + message + "\n";
      error = true;

    }

  }
}


function check_radio(field_name, message) {
  var isChecked = false;

  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var radio = form.elements[field_name];

    for (var i=0; i<radio.length; i++) {
      if (radio[i].checked == true) {
        isChecked = true;
        break;
      }
    }

    if (isChecked == false) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_select(field_name, field_default, message) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var field_value = form.elements[field_name].value;

    if (field_value == field_default) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_password(field_name_1, field_name_2, field_size, message_1, message_2) {
  if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
    var password = form.elements[field_name_1].value;
    var confirmation = form.elements[field_name_2].value;

    if (password == '' || password.length < field_size) {
      error_message = error_message + "* " + message_1 + "\n";
      error = true;
    } else if (password != confirmation) {
      error_message = error_message + "* " + message_2 + "\n";
      error = true;
    }
  }
}

function check_password_new(field_name_1, field_name_2, field_name_3, field_size, message_1, message_2, message_3) {
  if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
    var password_current = form.elements[field_name_1].value;
    var password_new = form.elements[field_name_2].value;
    var password_confirmation = form.elements[field_name_3].value;

    if (password_current == '' || password_current.length < field_size) {
      error_message = error_message + "* " + message_1 + "\n";
      error = true;
    } else if (password_new == '' || password_new.length < field_size) {
      error_message = error_message + "* " + message_2 + "\n";
      error = true;
    } else if (password_new != password_confirmation) {
      error_message = error_message + "* " + message_3 + "\n";
      error = true;
    }
  }
}

function SomenteNumero(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if((tecla > 47 && tecla < 58)) return true;
    else{
    if (tecla != 8) return false;
    else return true;
    }
}

  function getCheckedValue(radioObj) {

      if (typeof radioObj == "string") {
        //alert(radioObj) ;
        radioObj = document.getElementById(radioObj);
        //alert(radioObj.type);
      }

        var oRadio = radioObj;

         if(oRadio.type == "hidden"){
            return oRadio.value;
          }

      for(var i = 0; i < oRadio.length; i++) {

        if(oRadio[i].checked) {
          return oRadio[i].value;
        }
    }

    return '';
  }


function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}
//addEvent(window, 'load', foo);



function isEmail(email)
        {
          er = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/;

          if(er.exec(email))
                {
                  return true;
                } else {
                  return false;
                }
        }

function isData(data)
        {
          if(data.length == 10)
                {
                  er = /(0[0-9]|[12][0-9]|3[01])[-\.\/](0[0-9]|1[012])[-\.\/][0-9]{4}/;

                  if(er.exec(data))
                        {
                          return true;
                        } else {
                          return false;
                        }

                } else {
                  return false;
                }
        }

function isHora(hora)
        {
          er = /(0[0-9]|1[0-9]|2[0123]):[0-5][0-9]/;

          if(er.exec(hora))
                {
                  return true;
                } else {
                  return false;
                }
        }



function validDate(formField,fieldLabel,required){
	var result = true;
	if (required && !validRequired(formField,fieldLabel)) result = false;
 	if (result){
 		var elems = formField.value.split("/");
 		result = (elems.length == 3); // should be three components
 		if (result)	{
 			var month = parseInt(elems[0]);
  			var day = parseInt(elems[1]);
 			var year = parseInt(elems[2]);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}
  		if (!result){
 			alert('Entre uma data válida no formato MM/DD/YYYY para o campo "' + fieldLabel +'".');
			formField.focus();
		}
	}

	return result;
}

function mostraEsconde(id){

if(id != null){
var s = document.getElementById(id)
if(s.style.display=="block")
s.style.display = "none"
else
s.style.display = "block"
}
}
function mostra(id){
//alert('mostra');

  if(id != null){
    var s = document.getElementById(id)
    s.style.display = "block";
  //    style.backgroundImage = newimage
  }
}
function esconde(id){
  //alert('esconde');
    if(id != null){
      var s = document.getElementById(id)
       s.style.display = "none";
    }
}

function ajaxGetCombo(path,tipo,params,resp,divload,selectname) {

 mostra(divload);
  var xmlRequest;

  try {
    xmlRequest=new XMLHttpRequest();
  } catch (e) {
    try  {
      xmlRequest=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlRequest=new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        alert("Seu navegador não suporta AJAX!");
        return false;
      }
    }
  }
  xmlRequest.onreadystatechange=function() {
    if(xmlRequest.readyState==4) {
      var resposta = xmlRequest.responseText;
    //  extraiScript(resposta);
      document.getElementById(resp).innerHTML = resposta;
    }
      esconde(divload);
  }

  var val = path+'?tipo='+tipo+'&'+params+'&selname='+selectname+'&dt='+encodeURIComponent(new Date());
  xmlRequest.open("GET",val,true);
  xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlRequest.send(null);
}



