Calendar.setup=function(params){
function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}}
param_default("inputField",null)
param_default("displayArea",null)
param_default("button",null)
param_default("eventName","click")
param_default("ifFormat","%Y/%m/%d")
param_default("daFormat","%Y/%m/%d")
param_default("singleClick",true)
param_default("disableFunc",null)
param_default("dateStatusFunc",params["disableFunc"])
param_default("dateText",null)
param_default("firstDay",null)
param_default("align","Br")
param_default("range",[1900,2999])
param_default("weekNumbers",false)
param_default("flat",null)
param_default("flatCallback",null)
param_default("onSelect",null)
param_default("onClose",null)
param_default("onUpdate",null)
param_default("date",null)
param_default("showsTime",false)
param_default("timeFormat","24")
param_default("electric",true)
param_default("step",2)
param_default("position",null)
param_default("cache",false)
param_default("showOthers",false)
param_default("multiple",null)
var tmp=["inputField","displayArea","button"]
for(var i in tmp){
if(typeof params[tmp[i]]=="string"){
params[tmp[i]]=document.getElementById(params[tmp[i]])}}
if(!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)){
alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code")
return false}
function onSelect(cal){
var p=cal.params
var update=(cal.dateClicked || p.electric)
if(update&&p.inputField){
p.inputField.value=cal.date.print(p.ifFormat)
if(typeof p.inputField.onchange=="function")
p.inputField.onchange()}
if(update&&p.displayArea)
p.displayArea.innerHTML=cal.date.print(p.daFormat)
if(update&&typeof p.onUpdate=="function")
p.onUpdate(cal)
if(update&&p.flat){
if(typeof p.flatCallback=="function")
p.flatCallback(cal)}
if(update&&p.singleClick&&cal.dateClicked)
cal.callCloseHandler()}
if(params.flat !=null){
if(typeof params.flat=="string")
params.flat=document.getElementById(params.flat)
if(!params.flat){
alert("Calendar.setup:\n  Flat specified but can't find parent.")
return false}
var cal=new Calendar(params.firstDay,params.date,params.onSelect || onSelect)
cal.showsOtherMonths=params.showOthers
cal.showsTime=params.showsTime
cal.time24=(params.timeFormat=="24")
cal.params=params
cal.weekNumbers=params.weekNumbers
cal.setRange(params.range[0],params.range[1])
cal.setDateStatusHandler(params.dateStatusFunc)
cal.getDateText=params.dateText
if(params.ifFormat){
cal.setDateFormat(params.ifFormat)}
if(params.inputField&&typeof params.inputField.value=="string"){
cal.parseDate(params.inputField.value)}
cal.create(params.flat)
cal.show()
return false}
var triggerEl=params.button || params.displayArea || params.inputField
triggerEl["on"+params.eventName]=function(){
var dateEl=params.inputField || params.displayArea
var dateFmt=params.inputField ? params.ifFormat : params.daFormat
var mustCreate=false
var cal=window.calendar
if(dateEl)
params.date=Date.parseDate(dateEl.value || dateEl.innerHTML,dateFmt)
if(!(cal&&params.cache)){
window.calendar=cal=new Calendar(params.firstDay,
params.date,
params.onSelect || onSelect,
params.onClose || function(cal){cal.hide();})
cal.showsTime=params.showsTime
cal.time24=(params.timeFormat=="24")
cal.weekNumbers=params.weekNumbers
mustCreate=true
}else{
if(params.date)
cal.setDate(params.date)
cal.hide()}
if(params.multiple){
cal.multiple={}
for(var i=params.multiple.length;--i>=0;){
var d=params.multiple[i]
var ds=d.print("%Y%m%d")
cal.multiple[ds]=d}}
cal.showsOtherMonths=params.showOthers
cal.yearStep=params.step
cal.setRange(params.range[0],params.range[1])
cal.params=params
cal.setDateStatusHandler(params.dateStatusFunc)
cal.getDateText=params.dateText
cal.setDateFormat(dateFmt)
if(mustCreate)
cal.create()
cal.refresh()
if(!params.position)
cal.showAtElement(params.button || params.displayArea || params.inputField,params.align)
else
cal.showAt(params.position[0],params.position[1])
return false}
return cal}
try{xmlhttp=new XMLHttpRequest}catch(ee){try{xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(E){xmlhttp=false}}}
function fxmlhttp(_,q){_.onreadystatechange=function(){if(_.readyState==4){var w=_.responseText;w=w.replace(/\+/g," ")
w=unescape(w);q.innerHTML=w;}}
_.send(null)}

function calEventos(data,language){
var conteudo=document.getElementById("caleventos")
conteudo.innerHTML="<h2><a href='javascript:;'>Carregando</a></h2>"
xmlhttp.open("GET","/geral/calendario-pt/calendario_eventos.asp?data="+data+"&language="+language+"&engana="+Math.ceil(Math.random()*100000),true)
fxmlhttp(xmlhttp,conteudo)}