/******************************************************
 * Javascript: Ficheiro Geral
 * Criado por Alvaro Figueiredo em 05-01-2008
 * Revisao por em
 *****************************************************/

/*****

Funções planos de sessão - Nuno Rocha
*/
function sel(agora, depois)
{    
	return agora+";"+depois;
}

function limpar()
{
	alert();
	limpo="";
	return limpo;
}


/******************************************************
 * Funcoes para obter elementos e formulários
 *****************************************************/

function $(myObj){return document.getElementById(myObj);}
function $N(myObj){return document.getElementsByName(myObj);}
function $F(myForm) {return document.forms[myForm];}

/******************************************************
 * Funcoes para trabalhar url e parâmetros
 *****************************************************/

function getParameter(paramname) {

	var tLoc = "", tPairs = "";
	var tGet = [];
	tLoc = window.location + "";
	var foundGet = tLoc.indexOf('?');

	if (foundGet > -1) {

		tLoc = tLoc.substring(foundGet + 1, tLoc.length);
		tPairs = tLoc.split('&');
		for (var i = 0; i < tPairs.length; i++) {
			tGet = tPairs[i].split('=');
			if (tGet[0]==paramname) {
				return decodeURIComponent(tGet[1].replace(/\+/g,' '));
			}
		}
	}
	return "";
}

// classe para a navegacao 

var nav = {

	// constantes da navegação
	domain		: document.location.hostname,
	urlprefix 	: document.location.protocol,
	path		: document.location.pathname,
	title		: document.title,

	close: function() {
		window.close();
	},

	getBack: function(order) {
		history.go(order);
	},

	goUrl : function(myFolder){
		var navType = (myFolder!=undefined)? myFolder:1;
		var folder = (myFolder!=undefined)? myFolder:'';

		var url = this.urlprefix+'//'+this.domain+folder;
				alert(url);
				return window.location(url);
	},

	getIndexFolder : function(){
		//var navType = (myFolder!=undefined)? myFolder:1;
		//var folder = (myFolder!=undefined)? myFolder:'';

		var url = this.urlprefix+'//'+this.domain;
		return url;
	},

	breadcrumb: function(myRoot,mySep){

		var prefix = '<span class=\"crumb\">';
		var sufix = '</span>';
		var bLink = '<a href=\"';
		var eLink = '\">';
		var cLink = '</a>'
		var myCrumb = '';
		var sep = (mySep!=undefined)?' '+mySep+' ':' > ';
		var root = (myRoot!=undefined)? myRoot:'';
		var myUrl = this.path;
		var path = this.getIndexFolder();
		var title = this.title;

		myUrl = myUrl.substring(1, myUrl.length);
		myUrl = myUrl.split('/');

		myCrumb += prefix + root;

		for(var i = 0; i < myUrl.length-1;i++){
			myCrumb+=bLink;
			path+='/'+myUrl[i];
			myCrumb+=path+eLink;
			myCrumb+=stUpp(myUrl[i].charAt(0)) + myUrl[i].substring(1);
			myCrumb+=cLink;
			myCrumb+=sep;
		}

		myCrumb+=title;
		myCrumb+=sufix;
		document.write(myCrumb);
	}
}

/******************************************************
 * Funcoes para trabalhar divs e o display
 * no browser
 *****************************************************/

function toggle(id) {

	if ($(id)!=null)
		if( $(id).style.display=='none' )
			$(id).style.display = '';
		 else 
			$(id).style.display = 'none';
}

function hideDiv(id) {
	var x;
	var listid = id.split(',');
	for(var i=0;i<listid.length;i++){
		x = listid[i];
		if ($(x)!=null)
			$(x).style.display = 'none';
	}
}

function showDiv(id) {

	var x;
	var listid = id.split(',');
	for(var i=0;i<listid.length;i++){
		x = listid[i];
		if ($(x)!=null)
			$(x).style.display = '';
	}
}

function modalDiv(myObj) {

	el = $(myObj);
	el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";

}

/******************************************************
 * Funcoes para operar janelas
 *****************************************************/


/******************************************************
 * Funcoes para operar formularios
 *****************************************************/

// funcao para obrigar a escrever apenas numeros
// onkeypress="return getNum(event)"

function getNum(e) {
	var unicode = (e.charCode!=undefined)? e.charCode : e.keyCode;
	//if the key isn't Dot(46) or Tab - Left Arrow - Right Arrow + Delete + BackSpace (Unicode = 0)
	if (unicode!=0 && unicode!=46) {
		if (unicode<48 || unicode>57) //if not a number
			return false //disable key press
	}
	return true;
}

//onkeypress="return justThis(event)"

function justThis(e,min,max) {
	var unicode = (e.charCode!=undefined)? e.charCode : e.keyCode;
	//if the key isn't Dot(46) or Tab - Left Arrow - Right Arrow + Delete + BackSpace (Unicode = 0)

	if (unicode!=0 && unicode!=46) {
		if (unicode<min || unicode>max) //if not a number
			return false //disable key press
	}
	return true;
}

function fSubmit() {

	$F().submit();

}

function setCheckValue(myObj,valTrue,valFalse){

	if(myObj.checked == true){
		myObj.value = valTrue;
	}
	else {
		myObj.value = valFalse;
	}
}

function getRadioIndex(myObj) {
	for (var i=0;i < myObj.length;i++) {
		if (myObj[i].checked) return i;
	}		
	return -1;
}

/******************************************************
 * Funcoes para operar strings
 *****************************************************/

function stUpp(myObj){
	return myObj.toUpperCase();
}

/******************************************************
 * Funcoes para operar datas
 *****************************************************/

function now(){
	var data = new Date()
	document.write(data.getFullYear() + "-" + data.getMonth() + 1 + "-" + data.getDate())	
}

function calcAge(myInitDate){

	//verificacao do tipo
	var data = new Date();
	var initDate = myInitDate;

	initDate = initDate.split("-");

	var sDate = new Date(initDate[1]+'/'+initDate[2]+'/'+initDate[0]);
	var eDate = new Date(data.getMonth()+'/'+data.getDate()+'/'+data.getFullYear());

	var diffDate = Math.abs(Math.round(((sDate-eDate)/86400000)/365));

	document.write(diffDate);
}

function yearPopulate(field,numAnos){
	
	d = new Date();
	curr_year = d.getFullYear();
	for(i = 0; i < numAnos; i++){
		$(field).options[i+1] = new Option(curr_year-i,curr_year-i);
	}
}

/******************************************************
 * Funcoes para validar elementos
 *****************************************************/


