//função para exibição do calend?rio
var strFecharCalendario;

function FSNumeros(strPermissao){
    var	KeyCode = event.keyCode;
	var strPermitido = " KeyCode != 46 && KeyCode != 37 && KeyCode != 39 && KeyCode != 8 && KeyCode != 9 ";
	if (strPermissao != ""){
		if (strPermissao.indexOf(",") != -1){
			strPermissao = strPermissao.split(",");
			for(i=0; i < strPermissao.length; i++){
				strPermitido += " && KeyCode!= " + parseInt(strPermissao[i]);
			}
		}else{
			strPermitido += " && KeyCode!= " + parseInt(strPermissao);
		}
		strPermitido = eval(strPermitido);
		if ((KeyCode < 48 || KeyCode > 57) && (KeyCode < 96 || KeyCode > 105) && (strPermitido)){
			event.cancelBubble;
			event.returnValue= false;
			return false;
		}
	}else{
		if ((KeyCode < 48 || KeyCode > 57) && (KeyCode < 96 || KeyCode > 105) && (eval(strPermitido))){
			event.cancelBubble;
			event.returnValue= false;
			return false;
		}
	}
	//Valores para AlfaNumerico, Numerico
	//Virgulas 188, 190
	//Pontos 190,194
}

function FSNumerosData( strPermissao ){
    var	KeyCode = event.keyCode;

    // h H + -
    if( KeyCode == 104 || KeyCode == 72 || KeyCode == 107 || KeyCode == 109 ) {
        return true;
    }
	
	var strPermitido = " KeyCode != 46 && KeyCode != 37 && KeyCode != 39 && KeyCode != 8 && KeyCode != 9 ";
	if (strPermissao != ""){
		if (strPermissao.indexOf(",") != -1){
			strPermissao = strPermissao.split(",");
			for(i=0; i < strPermissao.length; i++){
				strPermitido += " && KeyCode!= " + parseInt(strPermissao[i]);
			}
		}else{
			strPermitido += " && KeyCode!= " + parseInt(strPermissao);
		}
		strPermitido = eval(strPermitido);
		if ((KeyCode < 48 || KeyCode > 57) && (KeyCode < 96 || KeyCode > 105) && (strPermitido)){
			event.cancelBubble;
			event.returnValue= false;
			return false;
		}
	}else{
		if ((KeyCode < 48 || KeyCode > 57) && (KeyCode < 96 || KeyCode > 105) && (eval(strPermitido))){
			event.cancelBubble;
			event.returnValue= false;
			return false;
		}
	}
}

function Calendario(strDestino, lngInicio, lngFim, strOnde , strDataEdicao, objEvento, blnIgnorarVerificaReadOnly){
	try{
	    
	    if(!blnIgnorarVerificaReadOnly && typeof(document.getElementById(strDestino)) == 'object' && (document.getElementById(strDestino).getAttribute("readonly") || document.getElementById(strDestino).getAttribute("disabled"))){
	        alert(objIdioma("E016121"));
	        return;
	    }
	    if( !strOnde == null ){ strOnde = "/"; }
	    if( !objEvento || objEvento == null ) { 
	        objEvento = event; 
	    }
	    
		var objDiv;
		var objIframe;
	    
		var lngAlturaCalendario	= 237;
		var lngLarguraCalendario= 216;
				
		var lngAlturaScroll	 = document.getElementsByTagName("body")[0].scrollTop;
		var lngLarguraScroll = document.getElementsByTagName("body")[0].scrollLeft;
			
		var lngPosicaoXCalendario = 0;
		var lngPosicaoYCalendario = 0;
		
        var lngLarguraJanela = Math.floor(document.getElementsByTagName("body")[0].offsetWidth);
			
		var lngPosicaoXMouse = objEvento.clientX;
	    var lngPosicaoYMouse = objEvento.clientY;		    
	    
		if((lngLarguraJanela - lngPosicaoXMouse) >= lngLarguraCalendario){
			lngPosicaoXCalendario = (lngPosicaoXMouse + lngLarguraScroll);
		}else if(lngPosicaoXMouse >= lngLarguraCalendario){
		    lngPosicaoXCalendario = (lngPosicaoXMouse + lngLarguraScroll - lngLarguraCalendario);			    				
		}else if((lngLarguraJanela - lngPosicaoXMouse) < lngLarguraCalendario){
		    lngPosicaoXCalendario = (lngLarguraJanela + lngLarguraScroll - lngLarguraCalendario)-24;				
		}else if(lngPosicaoXMouse < lngLarguraCalendario){
		    lngPosicaoXCalendario = 0;
		}			
		if(lngPosicaoYMouse > lngAlturaCalendario){
			lngPosicaoYCalendario = (lngPosicaoYMouse + lngAlturaScroll) - lngAlturaCalendario;
		}else {
		    lngPosicaoYCalendario = lngAlturaScroll;				
		}
		
		if( ! document.getElementById("divCalendario") ){
			objDiv = document.createElement("div");
			objDiv.setAttribute("id",  "divCalendario");
			objDiv.setAttribute("style",  "z-index: 1000;");
			var objBody = document.getElementsByTagName("body")[0];
			objBody.appendChild( objDiv );
		}else{
			objDiv = document.getElementById("divCalendario");
		}
		
		if(objDiv.innerHTML != ''){
		    fecharCalendario();
		} else {
		    
		    lngInicio = ( lngInicio == '' || lngInicio == null ? 5 : lngInicio );
		       lngFim = ( lngFim    == '' || lngFim    == null ? 5 : lngFim );
		    
		    var strUrl = '/Recursos/Calendario/rpcCalendario.asp?txtInicio=' + lngInicio + '&txtFim=' + lngFim + '&txtDestino=' + strDestino + '&txtDataASerSelecionada=' + strDataEdicao;    		
		    var objSubDiv = "<div style='position:absolute; left:" + lngPosicaoXCalendario + "px; top:" + lngPosicaoYCalendario + "px; z-index:1001; border:1px solid #FFFFFF;'>" +
		        "<iframe id='ifrCalendario' height='" + lngAlturaCalendario + "' width='" + ((document.all)? lngLarguraCalendario:lngLarguraCalendario+2) + "' scrolling='no' frameborder='0' border='0' style='border:1px solid #999999;' src='" + strUrl + "'></iframe></div>";
    		
		    objDiv.innerHTML = objSubDiv;    		
		    strFecharCalendario = window.setTimeout('(document.all)? document.attachEvent("onclick",fecharCalendario):document.addEventListener("click",fecharCalendario,true)',1000);
	    }
	    
	} catch(e) {
		alert( "Não foi possível inicializar o calendário!" );
	}
}

function fecharCalendario(){
    if(document.getElementById("divCalendario")){
	    document.getElementsByTagName("body")[0].removeChild(document.getElementById("divCalendario"));	
	    window.clearTimeout(strFecharCalendario);
	    (document.all)? document.detachEvent("onclick",fecharCalendario):document.removeEventListener("click",fecharCalendario,false);
	}
}