var controlSize = 11 ;
var maxSize = 16 ;
var minSize = 7 ;

function aumentaFonte( divId )
{
	mudaFonte( divId, 1 ) ;
}

function diminuiFonte( divId )
{
	mudaFonte( divId, -1 ) ;
}

function mudaFonte( divId, delta )
{
	var novoTamanho = controlSize + delta ;

	if ( novoTamanho <= maxSize && novoTamanho >= minSize )
	{
		controlSize += delta ;
	
		var oDivPai = document.getElementById( divId ) ;

		if ( !oDivPai.style )
			oDivPai.style.fontSize = controlSize + 'px' ;
		else
			if ( oDivPai.style.fontSize )
				oDivPai.style.fontSize = ( parseInt( oDivPai.style.fontSize ) + delta ) + 'px' ;
			else
				oDivPai.style.fontSize = controlSize + 'px' ;
		
		mudaFonteTag( oDivPai, "P", delta ) ;

		mudaFonteTag( oDivPai, "LI", delta ) ;
	} 
}

function mudaFonteTag( oContainer, tagName, delta )
{
	var cTags = oContainer.getElementsByTagName( tagName ) ;
	
	for ( var i = 0 ; i < cTags.length ; i++ )
	{
		if ( !cTags[i].style )
			cTags[i].style.fontSize = controlSize + 'px' ;

		if ( cTags[i].style )
			if ( cTags[i].style.fontSize )
				cTags[i].style.fontSize = ( parseInt( cTags[i].style.fontSize ) + delta ) + 'px' ;
			else
				cTags[i].style.fontSize = controlSize + 'px' ;
	}
}


function mostraAba( oAba, idContainerConteudo, idConteudoVisivel )
{
	var oAbas = oAba.parentNode ;
	var cAbas = oAbas.getElementsByTagName( 'DIV' ) ;

	for ( var i = 0 ; i < cAbas.length ; i++ )
		if ( cAbas[i].className == 'abaOn' )
			cAbas[i].className = 'abaOff' ;
		
	oAba.className = 'abaOn' ;

	var oContainer = document.getElementById( idContainerConteudo ) ;
	var oContent   = document.getElementById( idConteudoVisivel ) ;
	
	var cContents = oContainer.getElementsByTagName( 'DIV' ) ;
	
	for ( var i = 0 ; i < cContents.length ; i++ )
	{
		if ( cContents[i].id )
			if ( cContents[i].id.indexOf( 'conteudoAba_' ) == 0 )
				cContents[i].style.display = 'none' ;
	}
	
	oContent.style.display = 'block' ;
}

function testaDownload(oSelect)
	{
		var valor = oSelect[ oSelect.selectedIndex ].value ;
		if (valor!=0)
		{				
			document.forms['documents'].submit();
			 oSelect.selectedIndex = 0;
		}
	}
	
function alterDisplay( oElem )
{
	var oDiv = document.getElementById(oElem).style.display;
	
	if ( oDiv == 'none' )
	{
		document.getElementById(oElem).style.display = 'block' ;
	}
	else
	{
		document.getElementById(oElem).style.display = 'none' ;
	}
}

function trocaClasseAbas(oDiv){
	var aba = document.getElementById(oDiv);
	if (aba.className == 'abaOff'){
		document.getElementById(aba.id).className = 'abaOn'
		}
	else {
		document.getElementById(aba.id).className = 'abaOff'	
		}
	}
	
	
function setCookie( name, value, expires, path, domain, secure ) 
{
	var today = new Date() ;
	today.setTime( today.getTime() ) ;

	if ( expires )
		expires = expires * 1000 * 60 * 60 * 24 ;

	var expires_date = new Date( today.getTime() + (expires) ) ;

	document.cookie = name + "=" + escape( value )
					+ ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) 
					+ ( ( path ) ? ";path=" + path : "" )
					+ ( ( domain ) ? ";domain=" + domain : "" ) 
					+ ( ( secure ) ? ";secure" : "" ) ;
}

function getCookie( name ) 
{
	var start = document.cookie.indexOf( name + "=" ) ;
	var len = start + name.length + 1 ;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
		return null ;

	if ( start == -1 ) return null ;

	var end = document.cookie.indexOf( ";", len ) ;

	if ( end == -1 ) 
		end = document.cookie.length ;

	return unescape( document.cookie.substring( len, end ) ) ;
}


function deleteCookie( name, path, domain ) 
{
	if ( getCookie( name ) ) 
		document.cookie = name + "="
						+ ( ( path ) ? ";path=" + path : "" )
						+ ( ( domain ) ? ";domain=" + domain : "" )
						+ ";expires=Thu, 01-Jan-1970 00:00:01 GMT" ;
}

function writeFromCookie( name )
{
	if ( name != '' )
		document.write( urlDecode( getCookie( name ) ) ) ;
}

function urlDecode( value )
{
	var texto = value ;
	if (texto == null){
		texto = "";
	}	
	texto = texto.replace( /\+/g, " " ) ;
	texto = unescape( texto ) ;

	return texto ;
}

var calendar_currentDate = "" ;
var calendar_cssClassPast = "orange" ;
var calendar_cssClassFuture = "green" ;
var calendar_cssClassCurrent = "check" ;

var calendar_tableId = "" ;
var calendar_monthId = "" ;
var calendar_yearId = "" ;
var calendar_areaId = 0 ;

var calendar_daysOfMonth = new Array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ) ;
var calendar_months      = new Array( "Janeiro", "Fevereiro", "Março", "Abril", "Maio",
									  "Junho", "Julho", "Agosto", "Setembro", "Outubro",
									  "Novembro", "Dezembro" ) ;

function createCalendar( calendarId, calendarMonthId, calendarYearId, areaId ) 
{
	showEvents( null ) ;

	calendar_tableId = calendarId ;
	calendar_monthId = calendarMonthId ;
	calendar_yearId  = calendarYearId ;
	calendar_areaId  = areaId ;
	
	var oMonthSpan = document.getElementById( calendarMonthId ) ;
	var oYearSpan  = document.getElementById( calendarYearId ) ;
	
	var oTable = document.getElementById( calendarId ) ;
	
	if ( !Sarissa || !document.getElementById ) return ;
	
	var xmlhttp =  new XMLHttpRequest() ;
	xmlhttp.open( 'POST', 'eventCalendar.do', true ) ;
		
	/* The callback function */
	xmlhttp.onreadystatechange = function() 
	{
		if ( xmlhttp.readyState == 4 ) 
		{
			if ( xmlhttp.status == 200 ) 
			{
				var monthTag = xmlhttp.responseXML.getElementsByTagName( 'month' )[0] ;
				
				calendar_currentDate = monthTag.getAttribute( 'id' ) ;
				
				var monthTitle = monthTag.getAttribute( 'title' ) ;
				
				oMonthSpan.innerHTML = monthTitle.substring( 0, monthTitle.indexOf('de') ) ;
				oYearSpan.innerHTML = monthTitle.substring( monthTitle.indexOf('de')+3 ) + ' ' ;
				
				var dayTags = monthTag.getElementsByTagName( 'day' ) ;
				
				buildMonth( oTable, dayTags ) ;
			} 
			else
			{
				alert( xmlhttp.status ) ;
			}
		}
	}
		
	/* Send the POST request */
	xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1" ) ;
	xmlhttp.setRequestHeader( "Cache-Control", "no-store, no-cache, must-revalidate" ) ;
	xmlhttp.setRequestHeader( "Cache-Control", "post-check=0, pre-check=0" ) ;
	xmlhttp.setRequestHeader( "Pragma", "no-cache" ) ;

	var sentData = "areaId=" + areaId 
				 + "&month=" + calendar_currentDate ;

	xmlhttp.send( sentData ) ;
}

function buildMonth( oTable, cDayTags )
{
	var cTDs = oTable.getElementsByTagName( 'TD' ) ;

	var y = parseInt( calendar_currentDate.substring( 3 ), 10 ) ;
	var m = parseInt( calendar_currentDate.substring( 0, 2 ), 10 ) - 1 ;
	var d = 1 ;
	
	var currentMonth = new Date( y, m, d ) ;

	var startTd = 6 + currentMonth.getDay() ;
	var endTd = startTd + calendar_daysOfMonth[ m ] + 1 ;

	var j = 0 ;
	for ( var i = 7 ; i < cTDs.length ; i++ )
	{
		cTDs[i].innerHTML = "" ;
		
		if ( i > startTd && i < endTd )
		{
			d = ( i - startTd ) ;
			
			var oSpan = document.createElement('SPAN') ;

			if ( j < cDayTags.length )
			{
				if ( cDayTags[j].getAttribute( 'id' ) == d )
				{
					if ( cDayTags[j].getAttribute( 'today' ) == 'true' )
						oSpan.className = calendar_cssClassCurrent ;
					else if ( cDayTags[j].getAttribute( 'past' ) == 'false' )
						oSpan.className = calendar_cssClassFuture ;
					else
						oSpan.className = calendar_cssClassPast ;

					j++ ;
				}
			}

			oSpan.onclick = function() {
				showEvents( this ) ;
			}
			
			oSpan.appendChild( document.createTextNode( d ) ) ;
			
			cTDs[i].appendChild( oSpan ) ;
		}
	}
}

function changeMonth( delta )
{
	var y = parseInt( calendar_currentDate.substring( 3 ), 10 ) ;
	var m = parseInt( calendar_currentDate.substring( 0, 2 ), 10 ) - 1 ;

	if ( m + delta > 11 ) 
	{
		m = 0 ;
		y += 1 ;
	} 
	else if ( m + delta < 0 ) 
	{
		m = 11 ;
		y -= 1 ;
	} 
	else 
	{
		m += delta ;
	}

	calendar_currentDate = ( m < 9 ? "0" : "" ) + (m+1) + "/" + y ;

	createCalendar( calendar_tableId, 
					calendar_monthId, 
					calendar_yearId, 
					calendar_areaId ) ;
}

function changeYear( delta ) 
{
	var y = parseInt( calendar_currentDate.substring( 3 ), 10 ) ;
	var m = parseInt( calendar_currentDate.substring( 0, 2 ), 10 ) - 1 ;

	y += delta ;

	calendar_currentDate = ( m < 9 ? "0" : "" ) + (m+1) + "/" + y ;

	createCalendar( calendar_tableId, 
					calendar_monthId, 
					calendar_yearId, 
					calendar_areaId ) ;
}

function showEvents( oSpan )
{
	showBirthdays( oSpan ) ;

	var date = "" ;

	if ( oSpan != null )
		date = oSpan.innerHTML + '/' + calendar_currentDate ;
	else if ( calendar_currentDate == '' )
		date = '' ;
	else
		date = '01/' + calendar_currentDate ;
	
	var oDiv = document.getElementById( 'conteudoAbaEventos' ) ;
	
	oDiv.innerHTML = '<br/><br/><br/>Aguarde...<br/><br/><br/><br/><br/>' ;
	
	if ( !Sarissa || !document.getElementById ) return ;
	
	var xmlhttp =  new XMLHttpRequest() ;
	xmlhttp.open( 'POST', 'events.do', true ) ;
		
	/* The callback function */
	xmlhttp.onreadystatechange = function() 
	{
		if ( xmlhttp.readyState == 4 ) 
		{
			if ( xmlhttp.status == 200 ) 
			{
				var eventTags = xmlhttp.responseXML.getElementsByTagName( 'event' ) ;
				
				if ( eventTags.length == 0 )
				{
					if ( date == '' )
						oDiv.innerHTML = '<br/><br/><br/>N&atilde;o h&aacute; eventos hoje.<br/><br/><br/><br/><br/>' ;
					else
						oDiv.innerHTML = '<br/><br/><br/>N&atilde;o h&aacute; eventos em ' + date + '.<br/><br/><br/><br/><br/>' ;
				}
				else
				{
					oDiv.innerHTML = '' ;
					
					for ( var i = 0 ; i < eventTags.length ; i++ )
					{
						var oS = document.createElement('SPAN') ;
						oS.appendChild( document.createTextNode( eventTags[i].getAttribute( 'highlight' ) ) ) ;

						var oA = document.createElement('A') ;
						oA.href = eventTags[i].getAttribute( 'url' ) ;
						oA.appendChild( document.createTextNode( eventTags[i].getAttribute( 'title' ) ) ) ;

						var oP = document.createElement('P') ;
						oP.appendChild( oA ) ;
						oP.appendChild( document.createElement('BR') ) ;
						oP.appendChild( oS ) ;
						
						oDiv.appendChild( oP ) ;
					}
				}
			} 
			else
			{
				oDiv.innerHTML = '<br/><br/><br/>'+ xmlhttp.status + ' ao recuperar eventos <br/><br/><br/><br/><br/>' ;			
			}
		}
	}
		
	/* Send the POST request */
	xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1" ) ;
	xmlhttp.setRequestHeader( "Cache-Control", "no-store, no-cache, must-revalidate" ) ;
	xmlhttp.setRequestHeader( "Cache-Control", "post-check=0, pre-check=0" ) ;
	xmlhttp.setRequestHeader( "Pragma", "no-cache" ) ;

	var sentData = "day=" + date
				 + "&areaId=" + calendar_areaId ;

	xmlhttp.send( sentData ) ;	
}

function showBirthdays( oSpan )
{
	var date = "" ;

	if ( oSpan != null )
		date = oSpan.innerHTML + '/' + calendar_currentDate ;
	else if ( calendar_currentDate == '' )
		date = '' ;
	else
		date = '01/' + calendar_currentDate ;
	
	var oDiv = document.getElementById( 'conteudoAbaAniversario' ) ;
	
	oDiv.innerHTML = '<br/><br/><br/>Aguarde...<br/><br/><br/><br/><br/>' ;
	
	if ( !Sarissa || !document.getElementById ) return ;
	
	var xmlhttp =  new XMLHttpRequest() ;
	xmlhttp.open( 'POST', 'birthdays.do', true ) ;
		
	/* The callback function */
	xmlhttp.onreadystatechange = function() 
	{
		if ( xmlhttp.readyState == 4 ) 
		{
			if ( xmlhttp.status == 200 ) 
			{
				var employeeTags = xmlhttp.responseXML.getElementsByTagName( 'employee' ) ;
				
				if ( employeeTags.length == 0 )
				{
					if ( date == '' )
						oDiv.innerHTML = '<br/><br/><br/>N&atilde;o h&aacute; aniversariantes hoje.<br/><br/><br/><br/><br/>' ;
					else
						oDiv.innerHTML = '<br/><br/><br/>N&atilde;o h&aacute; aniversariantes em ' + date + '.<br/><br/><br/><br/><br/>' ;
				}
				else
				{
					oDiv.innerHTML = '' ;
					
					for ( var i = 0 ; i < employeeTags.length ; i++ )
					{
						var oS = document.createElement('SPAN') ;
						oS.appendChild( document.createTextNode( employeeTags[i].getAttribute( 'department' ) ) ) ;

						var oP = document.createElement('P') ;
						oP.appendChild( document.createTextNode( employeeTags[i].getAttribute( 'title' ) ) ) ;
						oP.appendChild( document.createElement('BR') ) ;
						oP.appendChild( oS ) ;
						
						oDiv.appendChild( oP ) ;
					}
				}
			} 
			else
			{
				oDiv.innerHTML = '<br/><br/><br/>'+ xmlhttp.status + ' ao recuperar aniversariantes <br/><br/><br/><br/><br/>' ;			

			}
		}
	}
		
	/* Send the POST request */
	xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1" ) ;
	xmlhttp.setRequestHeader( "Cache-Control", "no-store, no-cache, must-revalidate" ) ;
	xmlhttp.setRequestHeader( "Cache-Control", "post-check=0, pre-check=0" ) ;
	xmlhttp.setRequestHeader( "Pragma", "no-cache" ) ;

	var sentData = "day=" + date ;

	xmlhttp.send( sentData ) ;	
}

function displayBirthdays()
{
	var oTabBirthdays = document.getElementById( 'aniversario' ) ;
	var oTabEvents = document.getElementById( 'eventos' ) ;

	var oContentBirthdays = document.getElementById( 'conteudoAbaAniversario' ) ;
	var oContentEvents = document.getElementById( 'conteudoAbaEventos' ) ;

	oTabBirthdays.className = 'abaOnAniversario' ;
	oTabEvents.className = 'abaOffEventos' ;

	oContentBirthdays.style.display = 'block' ;
	oContentEvents.style.display = 'none' ;
}

function displayEvents()
{
	var oTabBirthdays = document.getElementById( 'aniversario' ) ;
	var oTabEvents = document.getElementById( 'eventos' ) ;

	var oContentBirthdays = document.getElementById( 'conteudoAbaAniversario' ) ;
	var oContentEvents = document.getElementById( 'conteudoAbaEventos' ) ;

	oTabBirthdays.className = 'abaOffAniversario' ;
	oTabEvents.className = 'abaOnEventos' ;

	oContentBirthdays.style.display = 'none' ;
	oContentEvents.style.display = 'block' ;
}

function alterIntranets( oSelect )
{
	var url = oSelect[ oSelect.selectedIndex ].value ;
	
	if ( url != "" )
		top.location = url ;
}