var HelperHTML = 
{
	
	//metodo para mover elementos entre selectmultiples
	selectMultipleDuoMove: function(MenuOrigem, MenuDestino, todos, ordenacaoOrigem, ordenacaoDestino, deixaItem, jogaItem, MenuCopia,tipo,filter){
	
	
		var pog = MenuDestino;
		
		if (!todos && MenuOrigem.selectedIndex == -1){
			alert('Selecione uma opção!');
			return false;
		}
	
		
	    var arrMenuOrigem = new Array();
	    var arrMenuDestino = new Array();
	    var arrLookup = new Array();
	    var i;
	    var j;
	   
	    for (i = 0; i < MenuDestino.options.length; i++){
	        arrLookup[MenuDestino.options[i].text] = MenuDestino.options[i].value;
	        arrMenuDestino[i] = MenuDestino.options[i].text;
	    }
	    

	    var fLength = 0;	   
	    var tLength = arrMenuDestino.length;
	    var flag;//true se encontro o item selecionado no menu de orgime 
	    for(i = 0; i < MenuOrigem.options.length; i++){
	    	flag = false;
	        arrLookup[MenuOrigem.options[i].text] = MenuOrigem.options[i].value;
	        if ((MenuOrigem.options[i].selected && MenuOrigem.options[i].value != "") || (todos)){
	        	if (jogaItem){//verifica se ira popular o array de destino
		            arrMenuDestino[tLength] = MenuOrigem.options[i].text;
		            tLength++;	        	
	        	}
	            flag = true;//encontrou
	        }

	        if (flag){//verifica se encontro (é o item selecionado)
	        	if (deixaItem){//verifica se deixa o item no menu de origem (nao move)
	        		arrMenuOrigem[fLength] = MenuOrigem.options[i].text;
		            fLength++;
	        	}	            
	        }else{//popula o array de origem (não é o item selecionado) 
	        	arrMenuOrigem[fLength] = MenuOrigem.options[i].text;
	            fLength++;
	        }
	        	
	    }
	
	    if (ordenacaoOrigem) arrMenuOrigem.sort();
	    if (ordenacaoDestino) arrMenuDestino.sort();
	    
	    MenuOrigem.length = 0;
	    MenuDestino.length = 0;	    
	    
	    var c;
	    for(c = 0; c < arrMenuOrigem.length; c++){
	        var no = new Option();
	        no.value = arrLookup[arrMenuOrigem[c]];
	        no.text = arrMenuOrigem[c];
	        MenuOrigem[c] = no;
	    }

	    var x = 0;
	    for(c = 0; c < arrMenuDestino.length; c++){
	        var no = new Option();
	        var existe = false;
	        no.value = arrLookup[arrMenuDestino[c]];
	        no.text = arrMenuDestino[c];
	        //verifica se o valor ja existe no array
	        for (j=0;j<MenuDestino.length; j++){ if (MenuDestino[j].value == no.value) existe = true; }	        
	        //se nao existe popula
	        if (!existe){
	        	MenuDestino[x++] = no; 	        	
	        }
	   }
	 

	    
	    if (tipo == 1) {
		    for(c = 0; c < arrMenuDestino.length; c++){
		        var no = new Option();
		        no.value = arrLookup[arrMenuDestino[c]];
		        no.text = arrMenuDestino[c];
		        for (j = 0; j < MenuCopia.length; j++){
		        	if (MenuCopia[j].value == no.value){
		        		MenuCopia[j].remove();
		        	}
		        }
		    }    	
	    }else if (tipo == 2){
	    	x = MenuCopia.length;
		    for(c = 0; c < arrMenuDestino.length; c++){
		        var no = new Option();
		        var existe = false;
		        no.value = arrLookup[arrMenuDestino[c]];
		        no.text = arrMenuDestino[c];		        
		        for(j=0; j < MenuCopia.length; j++){		        	
		        	if (MenuCopia[j].value == no.value){
		        		existe = true;
		        	}
		        }
		        if (!existe){
		        	MenuCopia[x] = no; x++;
		        	
		        }

		   }	    	
	    }

	}

,
	
		selectFilter : function(MenuOrigem, MenuCopia, filter){
			
		    var arrMenuOrigem     = new Array();
		    var arrLookup         = new Array();
		    var arrCopy         = new Array();
		
		    var i;
		    var j;
		
		        var optionLower;
		        var strFilterLower;
		    
		    var fLength = 0;
		
		    for(i = 0; i < MenuCopia.options.length; i++){
		            arrLookup[MenuCopia.options[i].text] = MenuCopia.options[i].value;
		            arrCopy[i] = MenuCopia.options[i].text;
		
		            optionLower    = HelperHTML.retiraAcentoString(MenuCopia.options[i].text.toLowerCase());
		           filterLower    = HelperHTML.retiraAcentoString(filter.toLowerCase());
		           

		        if (optionLower.include(filterLower)) //verifica se encontro (é o item selecionado)
		            {                   
		            arrMenuOrigem[fLength] = MenuCopia.options[i].text;
		                fLength++;
		        }         
		        	
		    }
		    
		        arrMenuOrigem.sort();
		   
		    MenuOrigem.length = 0;
		    var c;
		    for(c = 0; c < arrMenuOrigem.length; c++){
		        var no = new Option();
		        no.value = arrLookup[arrMenuOrigem[c]];
		        no.text = arrMenuOrigem[c];
		        MenuOrigem[c] = no;
		    }
		
		    for(c = 0; c < arrCopy.length; c++){
		        var no = new Option();
		        no.value = arrLookup[arrCopy[c]];
		        no.text = arrCopy[c];
		        MenuCopia[c] = no;
		
		    }
		
		
		
		}


,retornaValoresSelecionados: function(select, name, retornoArray)
{
	/*
	if(typeof(name) == "undefined"){ name = 'utilizados'; }
	if(typeof(retornoArray) == "undefined"){ retornoArray = true; }
	select = $(select);
	var parametros = '';
	if (retornoArray){
		for (i = 0; i < select.options.length; i++){ parametros += name+'['+i+']='+select.options[i].value+'&'; }
	}else{ 
		if (name) parametros = name+"=";
		for (i = 0; i < select.options.length; i++){
			if (i!=0) parametros += '|';
			parametros += select.options[i].value;
		}
	}
	return parametros;
	*/

    if(typeof(name) == "undefined"){ name = 'utilizados'; }
    if(typeof(retornoArray) == "undefined"){ retornoArray = true; }
	
    var parametros = '';

    if ($(select)){//inicio objeto existe
        if ($(select).type == 'select-multiple'){//inicio select-one
        	select = $(select);
        	if (retornoArray){
        		for (i = 0; i < select.options.length; i++){ parametros += name+'['+i+']='+select.options[i].value+'&'; }
        	}else{ 
        		if (name) parametros = name+"=";
        		for (i = 0; i < select.options.length; i++){
        			if (i!=0) parametros += '|';
        			parametros += select.options[i].value;
        		}
        	}
        }//fim select-one
    }//fim objeto existe
    else
    {//inicio bjeto nao existe
        var indice = -1;
        $$('input').each(function(elemento){
        	if (elemento.type == 'checkbox'
        	 && elemento.id.startsWith(select)
        	 && elemento.checked){
        		++indice;
                //parametros += name+"["+indice+"]="+elemento.value+"&";
              	if (retornoArray){
              		parametros += name+"["+indice+"]="+elemento.value+"&";
            	}else{ 
            		if (indice==0 && name) parametros = name+"=";
        			if (indice>0) parametros += '|';
        			parametros += elemento.value;
            	}        		
            }
        });        
    }//fim objeto nao existe
	
    return parametros;	
}			
	
,

	mostrarEsconderMenuDropDown: function(objeto){
	
		var oObjeto = objeto.substring(0,(objeto.length - 1));
	
		$$('div').each(
		function(elemento){
			if(elemento.id.startsWith('DivMenuDropDown')){

				var oElemento = elemento.id.substring(0,(elemento.id.length - 1));
				
				if(oElemento == oObjeto){
					if(elemento.getStyle('visibility')=='visible'){
						elemento.style.visibility ='hidden';
					}else {
						elemento.style.visibility ='visible';
					}
				} else{
				    elemento.style.visibility ='hidden';
				}
			}
		} 
		);
	}

,

	 validaTecla : function(evento){
		intCodigo = (evento.keyCode)?evento.keyCode:evento.charCode;
		
		if ( (intCodigo == 46) || (intCodigo < 48 && intCodigo != 8 && intCodigo != 0 && intCodigo != 13 && intCodigo != 46 && intCodigo != 9) || (intCodigo > 57) ){ return false; }
	}
 
,

	formataValorDecimal : function (objeto, casaDecimal){
		var string = new String(objeto.value);
		var i;		
		if (objeto.value != ""){
			string = string.replace(".","");
			objeto.value = string;
		}		
		if (string.length > casaDecimal){
			string = string.slice(0, string.length-casaDecimal) + "." + string.slice(string.length-casaDecimal, string.length);
			objeto.value = string;
		}
			
	}

,

	verificaIntervalo : function(objeto,valorMax,valorMin){
		if ($('img_'+objeto.id)) $('img_'+objeto.id).hide(); 
		if (objeto.value != ""){
			if ( (objeto.value < (valorMin*1)) || (valorMax && (objeto.value > (valorMax*1))) ){
				objeto.value = '';
				if ($('img_'+objeto.id)) $('img_'+objeto.id).show();
			}
		}
	}


, retiraAcentoChar : function(char){
    var caracteresInvalidos = 'àèìòùâêîôûäëïöüáéíóúãõÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÁÉÍÓÚÃÕ';
    var caracteresValidos =   'aeiouaeiouaeiouaeiouaoAEIOUAEIOUAEIOUAEIOUAO';
    if (caracteresInvalidos.indexOf(char) >= 0)
        return  caracteresValidos.charAt(caracteresInvalidos.indexOf(char));
    else return char;
}

, retiraAcentoString : function(string){
	
	var c;
	var newString = '';
	var strLength = string.length;
	var arrayString = string.split('');
	for(c=0;c<strLength;c++){
		newString += HelperHTML.retiraAcentoChar(arrayString[c]);
	}
	return newString;
 }




, filtraSelectCentroCusto : function(campo)
{
    var Xjson = 0;
    //var json = {0:"",1:"",2:"",3:"",4:""};
    var json = new Array();
    $$('input').each(function(elemento){
        if (elemento.id.startsWith(campo))
        {
            json[Xjson] = elemento.value;
            Xjson++;
        }
    });
    return json;
}


,inputSequencial : function (idAtual)
{
	idAtual = $(idAtual); 
	if (idAtual.value.length == idAtual.maxLength)
	{
		var strSplit = idAtual.id.split('_');
		var next = strSplit[0]+'_'+strSplit[1]+'_'+(parseInt(strSplit[2])+1);
		if($(next))
		{
			$(next).focus();
		}
	}
}	

,

		selectFilterArray : function(MenuOrigem, MenuCopia, filter)
		{
			
		    var arrMenuOrigem     = new Array();
		    var arrLookup         = new Array();
		    var arrCopy         = new Array();
		
		    var i;
		    var j;
		
		        var optionLower;
		        var strFilterLower;
		    
		    var fLength = 0;
		
		    for(i = 0; i < MenuCopia.options.length; i++)
		    {
		            arrLookup[MenuCopia.options[i].text] = MenuCopia.options[i].value;
		            arrCopy[i] = MenuCopia.options[i].text;
		
		            optionLower    = HelperHTML.retiraAcentoString(MenuCopia.options[i].text.toLowerCase());
		           
		           optionLower_split = optionLower.split(" - ");
		           optionLower_split = optionLower_split[0].split(".");
		           
		           encontrou = true;
		           for (var json in filter)
		           {
		        	   
		        	   if (filter[json] != '')
		        	   {
		        		   if  (optionLower_split[json] == filter[json])
		        		   {
		        			   encontrou = true;
			        	   }else{
			        		 encontrou = false;  break;
			        	   } 
		        	   }
		        		   
		           }
		           if (encontrou)
		           {
		        	   arrMenuOrigem[fLength] = MenuCopia.options[i].text;
		                fLength++;
		           }
		    }
		        	   
		        arrMenuOrigem.sort();
		   
		    MenuOrigem.length = 0;
		    var c;
		    for(c = 0; c < arrMenuOrigem.length; c++)
		    {
		        var no = new Option();
		        no.value = arrLookup[arrMenuOrigem[c]];
		        no.text = arrMenuOrigem[c];
		        MenuOrigem[c] = no;
		    }
		

		
		
		}


}
