var portletReq;

function aSyncDownload(updateURL){
    if (window.XMLHttpRequest) {
        portletReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        portletReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    portletReq.onreadystatechange = processReqChange;
    portletReq.open("GET", updateURL, true);
    portletReq.send(null);
}

function state(checkId)
{
  var selNodes = document.getElementsByTagName('input');

  var i=0;
  if (!selNodes.item(0)) 
  {
    alert('não será possível alterar o estado da input text');
    return false;
  } 
  else 
  {
      do
      {
      	  if(selNodes.item(i).name == checkId)
      	  {
             return selNodes.item(i).checked;
          }
          i = i+1;
      }
      while(i < selNodes.length);
      return false;
    }
}

function enableDisable(checkId, inputId)
{
  var input_ = document.getElementsByName(inputId).item(0);
  
  var check_ = document.getElementsByName(checkId).item(0);
  
  if(check_.checked)
  {
    input_.disabled=false;
  }
  else
  {
    input_.disabled=true;
  }
}

function enableDisable(inputId, bool)
{
  var input_ = document.getElementsByName(inputId).item(0);
  
  if(bool == 'true')
  {
    input_.disabled=true;
  }
  else
  {
    input_.disabled=false;
  }
}

function isValidNumber(e,elem)
{
	var keynum;
	var keychar;
	var numcheck;

	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else 
		if(e.which) // Netscape/Firefox/Opera
		{
			keynum = e.which;
		}
	keychar = String.fromCharCode(keynum);
	
	if(document.getElementById(elem).style.visibility == 'visible')
	{
		document.getElementById(elem).style.visibility = 'hidden';
	}	
	numcheck = /\d/
	if(!numcheck.test(keychar))
	{
		document.getElementById(elem).style.visibility = 'visible'
	}
}

function isValidCharacter(e,elem)
{
	var keynum
	var keychar
	var numcheck

	if(window.event) // IE
	{
		keynum = e.keyCode
	}
	else 
		if(e.which) // Netscape/Firefox/Opera
		{
			keynum = e.which
		}
	keychar = String.fromCharCode(keynum)
	
	numcheck = /\d/
	if(numcheck.test(keychar))
	{
		document.getElementById(elem).style.visibility = 'visible';
		return false;
	}
	return true;
}

function ajaxInvoke(url, querystring, loadingMsg, div) 
{
	/* If an invoice was selected */
	//alert("DivId: "+divId);
    //var div = this.getElementById("ajax_content");
    
    if (querystring != null && querystring != "null") 
    {
    	/* Put selectd invoice value on query string */
    	div.innerHTML = "<b>"+loadingMsg+"</b>";
    	
    	/* Set up bind arguments: */
    	/* url:  url for request */
	    /* method: http method */
	    /* content: key/value mapping of parameters sent with request */
	    /* handle: function to run when there is a response */
	    /* mimetype:mimetype of response */
	    var bindArgs = 
    	{ 	url: url,
      		method: "POST",
	    	content: querystring,
      		handle: function(type, data, evt) 
      		{
        		if (type == "error") {
        		/* Swap returned error message */
        		data = "<p style='color:red'>" +data.message+ "</p>";
      		}
      		/* Swap returned data into div tag */
      
      		div.innerHTML = "";
      		div.innerHTML = data;
    		},
    		mimetype: "text/html"
  		};
  		dojo.io.bind(bindArgs);
 	}
 	else
 	{
 		div.innerHTML = "<b style='color:red'>Ocorreu um erro na pesquisa</b>";
 	}
}

function getSelectedValue(elem_id)
{
	var selectedElem 	= document.getElementById(elem_id);
    var elemIndex    	= selectedElem.selectedIndex;
    return selectedElem.options[elemIndex].value;
}

function getCheckedValue(radioGroupName) 
{
	var radioGroup = document.getElementsByName(radioGroupName);
	//If we didn't find that group then we must return null
	if(!radioGroup)
		return "";
	var radioGroupLength = radioGroup.length;
	
	//if we have just one radio button, then we must return it value
	if(radioGroupLength == undefined)
	{
		if(radioGroup.checked)
			return radioGroup.value;
		else
			return null;
	}
	
	for(var i = 0; i < radioGroupLength; i++) {
		if(radioGroup[i].checked == true) 
			return radioGroup[i].value;
	}
	return null;
}

function getInputValue(elem_id)
{
	var inputElem 	= document.getElementById(elem_id);
    return inputElem.value;
}

function validDates(startDateId, endDateId)
{

	var startDateValue 	= document.getElementById(startDateId).value;
	var endDateValue 	= document.getElementById(endDateId).value;

	if(startDateValue == null && endDateValue == null)
		return true;
			
	if(startDateValue == "dd/MM/yyyy" && endDateValue == "dd/MM/yyyy")
		return true;
		
	
	if(startDateValue == "dd/MM/yyyy")
		startDateValue = endDateValue;
	if(endDate == "dd/MM/yyyy")
		endDateValue = startDateValue;	
		
	var startDateArray= startDateValue.split("/");
	var endDateArray= endDateValue.split("/");
	
	var startDate=new Date();
	startDate.setFullYear(startDateArray[2],startDateArray[1]-1,startDateArray[0]);
	
	var endDate=new Date();
	endDate.setFullYear(endDateArray[2],endDateArray[1]-1,endDateArray[0]);
	
	if(endDate >= startDate)
	{	
		var today = new Date();
		if( endDate <= today)
			return true;
		else
			return false;
	}
	else
		return false;
}

function changeValue(elemId, changeElemId)
{
  var selectedElem 	= document.getElementById(elemId);
  var elemIndex    	= selectedElem.selectedIndex;
  var elemValue     = selectedElem.options[elemIndex].value;
  
  var changeElem 	= document.getElementById(changeElemId);
  changeElem.value = elemValue;
}

function removeOption(selectId, optionValue)
{
  var selectedElem 	= document.getElementById(selectId);
  var i;
  for (i = selectedElem.length - 1; i>=0; i--) 
  {
    if (selectedElem.options[i].value == optionValue)
      selectedElem.remove(i);
  }
}

function showError(msg)
{
	alert(msg);
}
