

/* Se for validado dataValor no formato dd/mm/yyyy a função retorna null senão retorna String da mensagem de erro. */
function valida_ValorData(dataValor) {	
	var meses = new Array("Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho",
	"Agosto","Setembro","Outubro","Novembro","Dezembro");
	var input = dataValor;
	var monthMax = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var re = /\b(0[1-9]|[12][0-9]|3[01])[\/](0[1-9]|1[0-2])[\/]((19|20)\d{2})/
	var matchArray = re.exec(input)

	if (matchArray) {
		// Se for um ano bisexto então mês de fevereiro pode conter 29 dias 
		if (matchArray[3] % 4 == 0)
			monthMax[1] = 29;
		if (matchArray[1] > monthMax[matchArray[2]-1]){
			return "inválida, mês "+meses[matchArray[2]-1]+" máximo "+monthMax[matchArray[2]-1]+" dias!!!";							
		} else	
			return null;
	} else 	
		return "inválida, não está no formato dd/mm/aaaa";		
}


   
      /**
      * Formata o Campo de acordo com a mascara informada.
      * Ex de uso: onkeyup="AplicaMascara('##:##:##', this);".
      * @author Igor Escobar (blog@igorescobar.com)
      * @param Mascara String que possui a mascara de formatação do campo.
      * @param elemento Campo que será formatado de acordo com a mascara, voce pode informar o id direto ou o próprio elemento usando o this.
      * @returns {void}
      */
      
      function AplicaMascara(Mascara, elemento){
          // Seta o elemento
          var elemento = (elemento) ? elemento : document.getElementById(elemento);
          if(!elemento) return false;
          // Método que busca um determinado caractere ou string dentro de uma Array
          function in_array( oque, onde ){
                  for(var i = 0 ; i <onde.length; i++){
                  if(oque == onde[i]){
                      return true;
                  }
              }
              return false;
          }
  
          // Informa o array com todos os caracteres que podem ser considerados caracteres de mascara
          var SpecialChars = [':', '-', '.', '(',')', '/', ',', '_'];
          var oValue = elemento.value;
          var novo_valor = '';
          for( i = 0 ; i <oValue.length; i++){
              //Recebe o caractere de mascara atual
              var nowMask = Mascara.charAt(i);
              //Recebe o caractere do campo atual
              var nowLetter = oValue.charAt(i);
              //Aplica a masca
              if(in_array(nowMask, SpecialChars) == true && nowLetter != nowMask){
                  novo_valor +=  nowMask + '' + nowLetter;
              } else {
                  novo_valor += nowLetter;
              }
              // Remove regras duplicadas
              var DuplicatedMasks = nowMask+''+nowMask;
              while (novo_valor.indexOf(DuplicatedMasks)>= 0) {
               novo_valor = novo_valor.replace(DuplicatedMasks, nowMask);
              }
          }
          // Retorna o valor do elemento com seu novo valor
          elemento.value = novo_valor;
      }




/* Função para ser utilizada no onkeypress de campos Data para incluir automaticamente o char / no formato dd/mm/yyyy 
exemplo onKeyPress="return checkData(event,this)" */
function checkData(evt,data){
	var charCode=evt.keyCode;
	var val = data.value;								
	if (charCode == 47)
	    return false;
	if (val.length == 10 && charCode > 47 && charCode < 58)		
		return true;    
	if (charCode > 47 && charCode < 58 && val.length < 10 && val.length != 2 && val.length != 5)
		return true;
	if (val.length == 2 || val.length == 5 && (charCode > 47 && charCode < 58)){					
		data.value+="/";			
		return true;		
	}		
	return false;		
}      	    



/* Função utilizado no onkeypress de Campos códigos (numeros inteiros) apenas deixa digitar valor 0 até 9 
exemplo onKeyPress="return checkNumIteiro(event,this)" */
function checkNumIteiro(evt,obj){
//	var charCode = evt.keyCode;
//	var val = obj.value;
//	if (charCode < 48 || charCode > 57)
//		return false;
//	return true
	//Função permite digitação de números
 	if (clientNavigator == "IE"){
 		if (evnt.keyCode < 48 || evnt.keyCode > 57){
 			return false
 		}
 	}else{
 		if ((evnt.charCode < 48 || evnt.charCode > 57) && evnt.keyCode == 0){
 			return false
 		}
 	}

}

/* Função utilizado no onBlur de campos 'Valor do investimento' (floats) para adicionar e posicionar a virgula
exemplo onBlur="return addVirgula(this)" */
function addVirgula(obj) {
	var index = obj.value.indexOf(",");
	if (index == -1){
	    obj.value += ',00';
	} else if ((index + 1) == obj.value.length){
	    obj.value += '00';
	    
	} else if ((index + 2) == obj.value.length){
	    obj.value += '0';
	}
	index = obj.value.indexOf(",");
	if (index == 0){
	    
		obj.value = '0'+obj.value;
	}
}



function currencyFormat(fld, decSep, e) {
		var sep = 0;
		var key = '';
		var i = j = 0;
		var len = len2 = 0;
		var strCheck = '0123456789';
		var aux = aux2 = '';
		var whichCode = (window.Event) ? e.which : e.keyCode;

		if (whichCode == 13) 
			return true; // Enter
		key = String.fromCharCode(whichCode); // Get key value from key code
		if (strCheck.indexOf(key) == -1) 
			return false; // Not a valid key
		len = fld.value.length;
		for(i = 0; i < len; i++)
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
				break;
		aux = '';
		for(; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
				aux += key;
		len = aux.length;
		if (len == 0) fld.value = '';
		if (len == 1) fld.value = '0'+ decSep + '0' + aux;
		if (len == 2) fld.value = '0'+ decSep + aux;
		if (len > 2 && len < 10) {
		aux2 = '';
		for (j = 0, i = len - 3; i >= 0; i--) {
			if (j == 3) {
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}
		fld.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--)
			fld.value += aux2.charAt(i);
			fld.value += decSep + aux.substr(len - 2, len);
		}
	return false;
}

function MostrarData() {
Hoje = new Date()

Data = Hoje.getDate()

Dia = Hoje.getDay()

Mes = Hoje.getMonth()

Ano = Hoje.getYear()

//

if (Data<10) {

Data = "0" + Data}

if (Ano < 2000) {

Ano = 1900 + Ano}

//

NomeDia = new Array(7)

NomeDia[0] = "Domingo"

NomeDia[1] = "Segunda-feira"

NomeDia[2] = "Terça-feira"

NomeDia[3] = "Quarta-feira"

NomeDia[4] = "Quinta-feira"

NomeDia[5] = "Sexta-feira"

NomeDia[6] = "Sábado"

//

NomeMes = new Array(12)

NomeMes[0] = "Janeiro"

NomeMes[1] = "Fevereiro"

NomeMes[2] = "Março"

NomeMes[3] = "Abril"

NomeMes[4] = "Maio"

NomeMes[5] = "Junho"

NomeMes[6] = "Julho"

NomeMes[7] = "Agosto"

NomeMes[8] = "Setembro"

NomeMes[9] = "Outubro"

NomeMes[10] = "Novembro"

NomeMes[11] = "Dezembro"

//
document.write ("<font color='gray' face='verdana,tahoma' size=1><b>" + NomeDia[Dia] + ", " + Data + " de " + NomeMes[Mes] + " de " + Ano + "</b></font>")

}


function bomDia(){
day = new Date()
hr = day.getHours()
if ((hr==1)||(hr==2)||(hr==3)||(hr==4) || (hr==5))
document.write("<font color='gray' face='verdana,tahoma' size=1><b>Boa Noite</b></font>")
if (((hr==6) || (hr==7) || (hr==8) || (hr==9) || (hr==10))
|| (hr==11)) document.write("<font color='gray' face='verdana,tahoma' size=1><b>Bom dia!</b></font>")
if (hr==12) document.write("<font color='gray' face='verdana,tahoma' size=1><b>Bom Dia!</b></font>")
if ((hr==13) || ((hr==14) || (hr==15) || (hr==16)) || (hr==17)) document.write("<font color='gray' face='verdana,tahoma' size=1><b>Boa tarde!</b></font>")
if ((hr==18) || (hr==19)) document.write("<font color='gray' face='verdana,tahoma' size=1><b>Bom tarde!</b></font>")
if ((hr==20) || (hr==21) || (hr==22)) document.write("<font color='gray' face='verdana,tahoma' size=1><b>Boa noite!</b></font>")
if (hr==23) document.write("<font color='gray' face='verdana,tahoma' size=1><b>Boa noite!</b></font>")
if (hr==0) document.write("<font color='gray' face='verdana,tahoma' size=1><b>Boa noite!</b></font>")
}


function estiloCss(caminho){
		document.write("<LINK href='"+caminho+"itsystems.css' type='text/css' rel='stylesheet'>");
} 




/*PROPRIEDADES DA LOV*/

var _agent=new Object();
var _pprUnloaded=false;

/////////////////////////////////////////////////////////////////////////////////
function _atLeast(a0,a1) {
    return(!a0||(a0==_agent.kind))&&(!a1||(a1<=_agent.version));
}

/////////////////////////////////////////////////////////////////////////////////
function _atMost(a0,a1){
    return(a0==_agent.kind)&&(a1>=_agent.version);
}

/////////////////////////////////////////////////////////////////////////////////
function _agentInit(){
    var a0=navigator.userAgent.toLowerCase();
    var a1=parseFloat(navigator.appVersion);
    var a2=false;
    var a3=false;
    var a4=false;
    var a5=false;
    var a6="unknown";
    var a7=false;
    
    if(a0.indexOf("msie")!=-1){
        a3=true;    
        var a8=a0.match(/msie (.*);/);
        a1=parseFloat(a8[1]);
        a6="ie";
    } else if(a0.indexOf("opera")!=-1){
        a2=true
        a6="opera";
    } else if((a0.indexOf('mozilla')!=-1)&& (a0.indexOf('spoofer')==-1)&& (a0.indexOf('compatible')==-1)){
        if(a1>=5.0){
            a5=true;
            a6="mozilla"
        } else {
            a4=true;
            a6="nn";
        }
    }

    if(a0.indexOf('win')!=-1)
        a7=true;

    _agent.isIE=a3;
    _agent.isNav=a4;
    _agent.isOpera=a2;
    _agent.isMozilla=a5;
    _agent.version=a1
    _agent.kind=a6;
    _agent.isWindows=a7;
    _agent.atLeast=_atLeast;
    _agent.atMost=_atMost;
}

/////////////////////////////////////////////////////////////////////////////////
_agentInit();

var _ieFeatures= {
    channelmode:1,
    copyhistory:1,
    directories:1,
    fullscreen:1,
    height:1,
    location:1,
    menubar:1,
    resizable:1,
    scrollbars:1,
    status:1,
    titlebar:1,
    toolbar:1,
    width:1,
    left:1,
    top:1};

var _nnFeatures={
    alwayslowered:1,
    alwaysraised:1,
    copyhistory:1,
    dependent:1,
    directories:1,
    height:1,
    hotkeys:1,
    innerheight:1,
    innerwidth:1,
    location:1,
    menubar:1,
    outerwidth:1,
    outerheight:1,
    resizable:1,
    scrollbars:1,
    status:1,
    titlebar:1,
    toolbar:1,
    width:1,
    width:1,
    left:1,
    top:1,
    "z-lock":1};

var _modelessFeatureOverrides={};
var _modalFeatureOverrides={};
var _featureDefaults={document: {
                        channelmode:false,
                        copyhistory:true,
                        dependent:false,
                        directories:true,
                        fullscreen:false,
                        hotkeys:false,
                        location:true,
                        menubar:true,
                        resizable:true,
                        scrollbars:true,
                        status:true,
                        toolbar:true
                    },dialog:{
                        channelmode:false,
                        copyhistory:false,
                        dependent:true,
                        directories:false,
                        fullscreen:false,
                        hotkeys:true,
                        location:false,
                        menubar:false,
                        resizable:true,
                        scrollbars:true,
                        status:true
                        }
                    };

var _booleanFeatures={
    alwayslowered:1,
    alwaysraised:1,
    channelmode:1,
    copyhistory:1,
    dependent:1,
    directories:1,
    fullscreen:1,
    hotkeys:1,
    location:1,
    menubar:1,
    resizable:1,
    scrollbars:1,
    status:1,
    titlebar:1,
    toolbar:1,
    "z-lock":1};

/////////////////////////////////////////////////////////////////////////////////
function _onModalClickNN(a0) {
    if(_getValidModalDependent(self)) {
        return false;
    } else {
        self.routeEvent(a0);
        return true;
    }
}

/////////////////////////////////////////////////////////////////////////////////
var _mozClickEH=new Object();
/////////////////////////////////////////////////////////////////////////////////
function _onModalClickMoz(a0){
    dump(a0);
}

/////////////////////////////////////////////////////////////////////////////////
_mozClickEH["handleEvent"]=_onModalClickMoz;
/////////////////////////////////////////////////////////////////////////////////
function _onModalFocus(){
    var a0=self.document.body;
    var a1=_getValidModalDependent(self);
    var a2=_agent.atLeast("ie",5)&&_agent.isWindows;
    if(a1){
        if(!_agent.isMozilla)
        a1.focus();
        if(a2){
            a0.setCapture();
        }
    } else {
        if(a2) {
            a0.releaseCapture();
        }
    }
}

/////////////////////////////////////////////////////////////////////////////////
function openWindow(win, page, target, propWin, indModal, winType, depend){
    if(win) {
        if(indModal == (void 0)) {
            indModal = false;
        }

        if(!winType) {
            winType = (indModal) ? "dialog" : "document";
        }
        
        if(!target) {
            target = "_blank";
        }

        var featDef = _featureDefaults[winType];
        
        if(featDef == (void 0)){
            winType = "document";
            featDef = _featureDefaults[winType];
        }
        
        var featOver = (indModal) ? _modalFeatureOverrides : _modelessFeatureOverrides;
        var agentFeat = (_agent.isIE) ? _ieFeatures : _nnFeatures;
        var props = "";
        
        for (featureName in agentFeat) {
            var featName = featOver[featureName];
            
            if (featName == (void 0)) {
                if (propWin)
                    featName = propWin[featureName];
                    if(featName == (void 0)){
                        featName = featDef[featureName];
                    }
                }
                
                if(featName != (void 0)) {
                    var indFeat = _booleanFeatures[featureName] != (void 0);
                    if(featName || !indFeat) {
                        props += featureName;
                        if (!indFeat) {
                            props += "=" + featName;
                        }
                        props += ",";
                    }
                }
            }

            if (props.length!=0) {
                props = props.substring(0, props.length-1);
            }

            if (depend) {
                _setDependent(win, target, depend);
            }

            var agentVersion = _agent.atMost("ie", 4.99);
            var indFilter = false;
            var winBody = win.document.body;
             
            if (indModal && !agentVersion) {
                if (_agent.atLeast("ie", 4)) {
                    winBody.style.filter = "alpha(opacity=50)";
                    indFilter = true;
                }

                if((_agent.atLeast("ie", 5) && _agent.isWindows)){
                    winBody.setCapture();
                } else if (_agent.isNav) {
                    win.captureEvents(Event.CLICK);
                    win.onclick = _onModalClickNN;
                } else if(_agent.isMozilla) {
                    winBody.addEventListener(Event.CLICK, _mozClickEH,true);
                }

                win.onfocus = _onModalFocus;
            }

            var popup = win.open(page,target,props);
            
            if(indModal&&!agentVersion){
                _setDependent(win, "modalWindow" , popup);
            }
            
            popup.focus();
            
            if(indFilter){
                win.setTimeout("_clearAlphaFilter()" , 1000);
            }
        
        return popup;
    } else {
        return null;
    }
}

/////////////////////////////////////////////////////////////////////////////////
function _setDependent(a0,a1,a2) {
    var a3=_getDependents(a0,true);
    if(a3) {
        a3[a1]=a2;
    }
}

/////////////////////////////////////////////////////////////////////////////////
function _getModalDependent(a0) {
    return _getDependent(a0,"modalWindow");
}

/////////////////////////////////////////////////////////////////////////////////
function _getValidModalDependent(a0) {
    var a1=_getModalDependent(a0);
    if(a1) {
        if(a1.closed){
            _setDependent(a0,"modalWindow",(void 0));
            a1=(void 0);
        }
    }
    return a1;
}

/////////////////////////////////////////////////////////////////////////////////
function _isModalDependent(a0,a1){
    return(a1==_getModalDependent(a0));
}

/////////////////////////////////////////////////////////////////////////////////
function _clearAlphaFilter() {
    if(_getValidModalDependent(self)!=null) {
        self.setTimeout("_clearAlphaFilter()",500);
    } else {
        self.document.body.style.filter=null;
    }
}

/////////////////////////////////////////////////////////////////////////////////
function _getDependent(a0,a1) {
    var a2=_getDependents(a0);
    var a3;
    if(a2) {
        a3=a2[a1];
    }
    return a3;
}

/////////////////////////////////////////////////////////////////////////////////
function _getDependents(a0,a1) {
    var a2;
    if(a0) {
        a2=a0["_dependents"];
        if(a2==(void 0)) {
            if(a1) {
                a2=new Object();
                a0["_dependents"]=a2;
            }
        }
    }
    return a2;
}

var data_id;




function chamaLov(base_path, pagina, valor) {

        wnd = openWindow(self, base_path+'/lov/'+pagina+'?valor='+valor, 'popup3', {width:500,height:450,top:120,left:200}, true, 'dialog', 0);
}



