function setCaretToEnd (el) {
  if (el.createTextRange) {
    var v = el.value;
    var r = el.createTextRange();
    r.moveStart('character', v.length);
    r.select();
  }
}

function desabilitaEnter(e) {
  if(typeof(e)=='undefined')
		var e=window.event;
		
  var teste = (e.keyCode ? "keyCode" : e.which ? "which" : "charCode");
  var tecla = (e.which ? e.which : e.keyCode ? e.keyCode : e.charCode);
  
  if(tecla == 13){ 
  	return false;
  }
}

// somar valores de uma lista de campos
function somar_valores(somar, idresultado)
{
	var total,i,elms = document.getElementsByTagName('input');

	total = 0;
	for (i in elms)
	{
		if (elms[i].id != somar){
			continue;
		}else{
			total = total + Math.floor(elms[i].value);
		}
	}
	
	document.getElementById(idresultado).innerHTML = total;
}

// retornar apenas numeros
function v_NR(tecla)
{
	if(typeof(tecla) == 'undefined')
		var tecla = window.event;

	var codigo = (tecla.which ? tecla.which : tecla.keyCode ? tecla.keyCode : tecla.charCode);

	// permite números, 8=backspace, 46=del e 9=tab
	if ( (codigo >= 48 && codigo <= 57) || (codigo >= 96 && codigo <= 105) || codigo == 8 || codigo == 46 || codigo == 9 )
	{ return true; }

	return false;
}

// retornar apenas valores em dinheiro (numeros e ponto).
function v_NR_DINHEIRO(tecla)
{
	if(typeof(tecla) == 'undefined')
		var tecla = window.event;

	var codigo = (tecla.which ? tecla.which : tecla.keyCode ? tecla.keyCode : tecla.charCode);

	// permite números, 8=backspace, 46=del, 9=tab, 190e110=ponto
	if ( (codigo >= 48 && codigo <= 57) || (codigo >= 96 && codigo <= 105) || codigo == 8 || codigo == 46 || codigo == 9 || codigo == 190 || codigo == 110 )
	{ return true; }

	return false;
}

// limita o maximo de caracteres de um textarea. 
// exemplo de uso: onkeypress="return maxarea(this,event,500)"
function maxarea(obj,key,max)
{
	if(typeof(key) == 'undefined') var key = window.event;
	var cod = (key.which ? key.which : key.keyCode ? key.keyCode : key.charCode);
	if((obj.value.length < max)||(cod == 8)||(cod == 46)||((cod >= 35)&&(cod <= 40))) {return true;}
	return false;
}


// limita o MAXIMO e o MINIMO de caracteres de um textarea COM CONTADOR de caracteres simultaneo. 
//exemplo uso: (TEXTAREA) onKeyDown="maxareacount(this.form.observacao,this.form.remLen,250);" onKeyUp="maxareacount(this.form.observacao,this.form.remLen,250);" 
function maxareacount(field, countfield, maxlimit)  
{
   if (field.value.length > maxlimit)
      field.value = field.value.substring(0, maxlimit);
   else 
      countfield.value = field.value.length;
}
//exemplo uso: (FORM) onSubmit="return minareacount(document.conf_consolida.observacao.value.length,20)"
function minareacount(field, minlimit)  
{
   if (field < minlimit)
   {
      alert('Limite de caracteres abaixo do mínimo de '+minlimit+' !');
      return false;
   }
   return true;
}


//adiciona evento
function addEvent(obj, evType, fn){
 if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
 } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
 } else {
    return false;
 }
} 

// se tipo for 1 %texto% senao texto%
function preparaLike(tipo,text,retorno){
	var vtipo = document.getElementById(tipo).value;
	var vtexto = document.getElementById(text).value;
	var vretorno = document.getElementById(retorno).value;
	
	if(vtipo=='1'){
		document.getElementById(retorno).value = '%'+vtexto+'%';
	}else{
		document.getElementById(retorno).value = vtexto+'%';	
	}
}

// parametros
// ListOrigem - Elemento Listbox de origem
// ListDestino- Elemento Listbox de destino
// idlist - id da lista, caso tenha mais de uma na pagina
function TrocaList(ListOrigem, ListDestino, mostraresult, idlist){
    var i;
    
    if(idlist == undefined)
        idlist = 'result_list';
    
    if(mostraresult == undefined)
        mostraresult = false;

    if(mostraresult){
        //elemento com resultado
        var div1 = document.getElementById(idlist);
        // remove all children from element
        while (div1.firstChild) {
          div1.removeChild(div1.firstChild);
        }
        
        for (i = 0; i < ListOrigem.options.length ; i++){
            var hid1 = document.createElement("INPUT");
            hid1.type = 'hidden';
            hid1.name = ListOrigem.name+'_[]';
            hid1.id = ListOrigem.name+''+ListOrigem.options[i].value;
            hid1.value = ListOrigem.options[i].value;
            div1.appendChild(hid1);
        }    
        
        for (i = 0; i < ListDestino.options.length ; i++){
            var hid1 = document.createElement("INPUT");
            hid1.type = 'hidden';
            hid1.name = ListDestino.name+'_[]';
            hid1.id = ListDestino.name+''+ListDestino.options[i].value;
            hid1.value = ListDestino.options[i].value;
            div1.appendChild(hid1);
        }
    
    }else{
                
        for (i = 0; i < ListOrigem.options.length ; i++){        
            if (ListOrigem.options[i].selected == true){
                var Op = document.createElement("OPTION");
                Op.text = ListOrigem.options[i].text;
                Op.value = ListOrigem.options[i].value;
                ListDestino.options.add(Op);
                ListOrigem.options[ListOrigem.options.selectedIndex] = null;
                //ListOrigem.options.remove(i);
                i--;
            }
        }
    
    }
}


