// Não regista o input de teclas que não sejam numeros
// e não aceita negativos 
function numbersonly(evt){
  evt = (evt) ? evt : ((window.event) ? event : null);
  if (evt) {
  	var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  	if (elem) {
  		var charCode = (evt.charCode) ? evt.charCode : 
  			((evt.which) ? evt.which : evt.keyCode);
  		if ((charCode < 32) || 
  			(charCode == 46) || 
  			(charCode > 47 && charCode < 58)) { 
  			return true;
  		} else {
  			return false;
  		}
  	}
  }
}

function numbersonlywithoutpoint(evt){
  evt = (evt) ? evt : ((window.event) ? event : null);
  if (evt) {
  	var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  	if (elem) {
  		var charCode = (evt.charCode) ? evt.charCode : 
  			((evt.which) ? evt.which : evt.keyCode);
  		if ((charCode < 32) ||  
  			(charCode > 47 && charCode < 58)) { 
  			return true;
  		} else {
  			return false;
  		}
  	}
  }
}



// Não regista o input de teclas que não sejam letras
function lettersOnly(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 65 || charCode > 90) && 
        (charCode < 97 || charCode > 122)) {
        //alert("Enter letters only.");
        return false;
    }
    return true;
}





function focusElement(elemName) {
    var elem = document.forms[0].elements[elemName];
    elem.focus( );
    elem.select( );
}
function focusElement(elemName) {
    var elem = document.forms[0].elements[elemName];
    elem.focus( );
    elem.select( );
}

function focusElement2(elemName, TipoCampo) {
	var elem = document.forms[0].elements[elemName];
	if (TipoCampo == "RadioButton")
	{
		elem.focus( );
		elem.select( );
	}
	else
	{
		elem.focus( );
	}
}


/* xc - eXpand/Collapse function */
function xc(id) { 
	if (document.getElementById) { 
		// DOM3 = IE5, NS6 
    if (document.getElementById(id).style.display == "none"){
			document.getElementById('corpo').className="myBody";
			document.getElementById('myPe').style.height = "100px";
    	document.getElementById(id).style.display = 'block'; 
			imgSetSrc("imgErro","../images/collapse.gif");
    } else { 
			document.getElementById('myPe').style.height = "15px";
    	document.getElementById(id).style.display = 'none'; 
			document.getElementById('corpo').className="myBodyXp";
			imgSetSrc("imgErro","../images/xpand.gif");
    } 
	} else { 
		if (document.layers) { 
			if (window.document.layers[id].display == "none"){ 
				window.document.layers[id].display = 'block';
				imgSetSrc("imgErro","../images/collapse.gif");
			}	else {
				window.document.layers[id].display = 'none';
				imgSetSrc("imgErro","../images/xpand.gif");
			}
		} else {
			if (window.document.all.id.style.visibility == "none"){ 
				window.document.all.id.style.display = 'block';
			 	imgSetSrc("imgErro","../images/collapse.gif");
			} 
			else {
				window.document.all.id.style.display = 'none';
				imgSetSrc("imgErro","../images/xpand.gif");
			} 
		}
	}
}	

/* Função auxiliar, usada na função xc, aribui uma source a uma imagem */
function imgSetSrc(imgID, imgSrc){
	if (document.images){
		document.images[imgID].src = imgSrc;
	}
}

/* Aribui um estilo(class de css) a um objecto */
function xClass(objID,nomeClass){
	if (document.getElementById) {
		document.getElementById(objID).className=nomeClass;
	}
  else if (document.layers) {
    window.document.layers[objID].className=nomeClass;
  }
  else if (document.all) {
    window.document.all[obj_ID].className=nomeClass;
  }
}

/* coloca os elementos das coordenadas row e col com o estilo k keremos*/
function coord(rowNum, colNum, nomeClass){
	xClass(rowNum,nomeClass);
	xClass(colNum,nomeClass);
}
/*****************************************************************/
/******* Especificamente criadas para o Projecto IEGPA ***********/
/*****************************************************************/
/* Função que valida se um nº está dentro dos valores permitidos */
function checkNum(str, min, max) {
    if (str == "") {
        alert("Esse campo tem de ser numerico.")
        return false
    }
    for (var i = 0; i < str.length; i++) {
        var ch = str.substring(i, i + 1)
        if (ch < "0" || ch > "9") {
            alert("Nº não válido")
            return false
        }
    }

    var val = parseInt(str, 10)
    if ((val < min) || (val > max)) {
        alert("Valores possiveis entre " + min + " e " + max + ".")
        return false
    }
    return true
}


