/**
* Função para carregar conteúdo via AJAX
*/

try{
	xmlhttp = new XMLHttpRequest();
}catch(ee){
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");	
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");		
		}catch(E){
			xmlhttp = false;		
		}	
	}
}

// cria a fila
fila=[];
ifila=0;

// funcao que carrega uma pagina dentro de um objeto qualquer
function carrega(url, destino){
    // coloca o texto "carregando" no objeto de carregamento
    document.getElementById(destino).innerHTML="<center><img src='/inc/greybox/loading_video.gif'></center>";

    // adiciona o item na fila
    fila[fila.length]=[url,destino];
    
    // se a fila estiver vazia, inicia a execução
    if((ifila+1)==fila.length)ajaxRun();
}

//Executa a próxima conexão da fila
function ajaxRun(){
    // carrega os dados da pagina da fila
    url        = fila[ifila][0];
    destino    = fila[ifila][1];
        
    // carrega a pagina
    xmlhttp.open("GET", url, true);
    
    // headers
	xmlhttp.setRequestHeader('Content-Type','text/xml');
	xmlhttp.setRequestHeader('encoding','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");

    // ao completar o carregamento
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4){
            // coloca o valor no objeto requisitado
			texto=unescape(xmlhttp.responseText.replace(/\+/g," "));
            document.getElementById(destino).innerHTML=texto;

            // executa a proxima requisição da lista (se existir)
            ifila++;
            if(ifila<fila.length)setTimeout("ajaxRun()",20);
        }
    }
    // executa
    xmlhttp.send(url);
}

// função que le todos os campos de um form e envia!
function enviaForm(frmNome, url, destino){
    // Captura o form
    f = document.getElementById(frmNome);
    // inicializa nova URL
    var query=url;
    //Percorre elementos do formulario
    for (i=0;i<f.elements.length;i++){
        // se for a primeira variavel adiciona o "?" senao adiciona "&"
        query += i==0 ? '?' : '&';
        // concatena a variavel na query
        query += f.elements[i].name + '=' + f.elements[i].value;
    }
    // envia o formulario
    carrega(query, destino);
}

/**
* função dos menus
**/

var cm=null;
//document.onclick = new Function("show(null)")
function getPos(el,sProp) {
	var iPos = 0
	while (el!=null) {
		iPos+=el["offset" + sProp]
		el = el.offsetParent
	}
	return iPos
}

function menu_show(el,m) {
	if (m) {
		m.style.display='';
		m.style.pixelLeft = getPos(el,"Left") + 300
		m.style.pixelTop = getPos(el,"Top") + el.offsetHeight
	}
	if ((m!=cm) && (cm)) cm.style.display='none'
	cm=m
}

function menu_out(el,m) {
	if (m) {
		m.style.display='none';
		m.style.pixelLeft = getPos(el,"Left")
		m.style.pixelTop = getPos(el,"Top") + el.offsetHeight
	}
	if ((m!=cm) && (cm)) cm.style.display=''
	cm=m
}
// fim - função do menu

function setFocus(){
	document.form.usuario.focus();
}

// FUNCAO DE MENU DE SALTO
function mudapagina3(combo)
{
	var x = combo.selectedIndex;
	var endereco = combo.options[x].value;
	if (endereco != "#")
	{
		self.location = endereco;
	}
}

// limpa campos
function clearText(thefield){if(thefield.defaultValue==thefield.value)
thefield.value=""}

// Popup
function AbreUrl(width,height,url,scroll,nJanela)
{
	if(scroll==""){scroll=0}
	var top = ((screen.height - height)/2);
	var left = ((screen.width - width)/2);
	var configuracao = "height=" + height + ",width=" + width + ",top=" + top + ",left=" + left + ",status=0,toolbar=0,menubar=0,location=0,resizable=0,scrollbars=" + scroll + ",titlebar=0"
	window.open(url,nJanela,configuracao)
}

// serviços de ping e nmap
function Painel(url,nJanela)
{
	AbreUrl(640,480,url,1,nJanela)
}
// serviços de ping e nmap
function PopUp(url,nJanela)
{
	AbreUrl(400,300,url,1,nJanela)
}

// serviços de ping e nmap
function LiveHelp(url,nJanela)
{
	AbreUrl(350,450,url,1,nJanela)
}

// DATA
function MakeArray(n) {
	this.length = n
	return this
}
monthNames = new MakeArray(12)
monthNames[1] = "Jan"
monthNames[2] = "Fev"
monthNames[3] = "Mar"
monthNames[4] = "Abr"
monthNames[5] = "Mai"
monthNames[6] = "Jun"
monthNames[7] = "Jul"
monthNames[8] = "Ago"
monthNames[9] = "Set"
monthNames[10] = "Out"
monthNames[11] = "Nov"
monthNames[12] = "Dez"
dayNames = new MakeArray(7)
dayNames[1] = "Domingo"
dayNames[2] = "Segunda"
dayNames[3] = "Terça"
dayNames[4] = "Quarta"
dayNames[5] = "Quinta"
dayNames[6] = "Sexta"
dayNames[7] = "Sábado"

// MOSTRA DATA
function customDateString() {
	currentDate = new Date()
	var theDay = dayNames[currentDate.getDay() + 1]
	var theMonth = monthNames[currentDate.getMonth() + 1]
	msie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ));
	if (msie4) {
		var theYear = currentDate.getYear()
	}
	else {
		var theYear = currentDate.getYear() +1900
	}
	return theDay + ", " + currentDate.getDate() + " " + theMonth + " " + theYear
}

// ABRE JANELA - PADRAO A PARTIR DAQUI
function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}
// Ajusta janela automaticamente
function AjustaPopup()
{
	var w, h, fixedW, fixedH, diffW, diffH;

	if (document.all) {
		fixedW = document.body.clientWidth;
		fixedH = document.body.clientHeight;
		window.resizeTo(fixedW, fixedH);
		diffW = fixedW - document.body.clientWidth;
		diffH = fixedH - document.body.clientHeight;
	} else {
		fixedW = window.innerWidth;
		fixedH = window.innerHeight;
		window.resizeTo(fixedW, fixedH);
		diffW = fixedW - window.innerWidth;
		diffH = fixedH - window.innerHeight;
	}
	w = fixedW + diffW;
	h = fixedH + diffH;
	if (h >= screen.availHeight) w += 16;
	if (w >= screen.availWidth)  h += 16;
	w = Math.min(w,screen.availWidth);
	h = Math.min(h,screen.availHeight);
	window.resizeTo(w,h);
	window.moveTo((screen.availWidth-w)/2, (screen.availHeight-h)/2);
}
// Função de aviso qdo iniciado a automação
function IniciarAuto()
{
	var agree=confirm("Será iniciado o processo de automação das fotos.\nEste poderá demorar um pouco.\n\nClique em OK e aguarde...");
	if (agree)
	return true ;
	else
	return false ;
}

function OnLoad()
{
	if (document . getElementById) // IE5 NN6
	document . getElementById("loading") . style . visibility = "hidden";
	else if (document . layers) // NN4
	document . loading . visibility = "hidden";
	else if (document . all) // IE4
	document . all . loading . style . visibility = "hidden";
}

function prn()
{
	document.getElementById('printtools').style.visibility="hidden";
	window.print();

}

function Ver(width,height,url,scroll,nJanela)
{
	if(scroll==""){scroll=0}
	var top = ((screen.height - height)/2);
	var left = ((screen.width - width)/2);
	var configuracao = "height=" + height + ",width=" + width + ",top=" + top + ",left=" + left + ",status=0,toolbar=0,menubar=0,location=0,resizable=0,scrollbars=" + scroll + ",titlebar=0"
	window.open(url,nJanela,configuracao)
}

function disableRightClick(e)
{
	var message = "Grupo Meddi\nGestão Corporativa de Saúde \n[ www.meddi.com.br ]";

	if(!document.rightClickDisabled) // initialize
	{
		if(document.layers)
		{
			document.captureEvents(Event.MOUSEDOWN);
			document.onmousedown = disableRightClick;
		}
		else document.oncontextmenu = disableRightClick;
		return document.rightClickDisabled = true;
	}
	if(document.layers || (document.getElementById && !document.all))
	{
		if (e.which==2||e.which==3)
		{
			alert(message);
			return false;
		}
	}
	else
	{
		alert(message);
		return false;
	}
}
//disableRightClick();



<!-- CALENDARIO | Inicio -->

var weekend = [0,6];
var weekendColor = "#e0e0e0";
var fontface = "Verdana";
var fontsize = 1;


var img_esq = "/workflow/images/seta_esq.gif";
var img_dir = "/workflow/images/seta_dir.gif";

var gNow = new Date();
var ggWinCal;
isNav = (navigator.appName.indexOf("Netscape") != -1) ? true : false;
isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;

Calendar.Months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho",
"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];

//dias finais de cada mes
Calendar.DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
// anos bissestos
Calendar.lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

function Calendar(p_item, p_WinCal, p_month, p_year, p_format) {
	if ((p_month == null) && (p_year == null))  return;

	if (p_WinCal == null)
	this.gWinCal = ggWinCal;
	else
	this.gWinCal = p_WinCal;

	if (p_month == null) {
		this.gMonthName = null;
		this.gMonth = null;
		this.gYearly = true;
	} else {
		this.gMonthName = Calendar.get_month(p_month);
		this.gMonth = new Number(p_month);
		this.gYearly = false;
	}

	this.gYear = p_year;
	this.gFormat = p_format;
	this.gBGColor = "white";
	this.gFGColor = "black";
	this.gTextColor = "black";
	this.gHeaderColor = "black";
	this.gReturnItem = p_item;
}

Calendar.get_month = Calendar_get_month;
Calendar.get_daysofmonth = Calendar_get_daysofmonth;
Calendar.calc_month_year = Calendar_calc_month_year;
Calendar.print = Calendar_print;

function Calendar_get_month(monthNo) {
	return Calendar.Months[monthNo];
}

function Calendar_get_daysofmonth(monthNo, p_year) {
	if ((p_year % 4) == 0) {
		if ((p_year % 100) == 0 && (p_year % 400) != 0)
		return Calendar.DOMonth[monthNo];

		return Calendar.lDOMonth[monthNo];
	} else
	return Calendar.DOMonth[monthNo];
}

function Calendar_calc_month_year(p_Month, p_Year, incr) {
	var ret_arr = new Array();

	if (incr == -1) {
		// B A C K W A R D
		if (p_Month == 0) {
			ret_arr[0] = 11;
			ret_arr[1] = parseInt(p_Year) - 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) - 1;
			ret_arr[1] = parseInt(p_Year);
		}
	} else if (incr == 1) {
		// F O R W A R D
		if (p_Month == 11) {
			ret_arr[0] = 0;
			ret_arr[1] = parseInt(p_Year) + 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) + 1;
			ret_arr[1] = parseInt(p_Year);
		}
	}

	return ret_arr;
}

function Calendar_print() {
	ggWinCal.print();
}

function Calendar_calc_month_year(p_Month, p_Year, incr) {
	var ret_arr = new Array();

	if (incr == -1) {
		// B A C K W A R D
		if (p_Month == 0) {
			ret_arr[0] = 11;
			ret_arr[1] = parseInt(p_Year) - 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) - 1;
			ret_arr[1] = parseInt(p_Year);
		}
	} else if (incr == 1) {
		// F O R W A R D
		if (p_Month == 11) {
			ret_arr[0] = 0;
			ret_arr[1] = parseInt(p_Year) + 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) + 1;
			ret_arr[1] = parseInt(p_Year);
		}
	}

	return ret_arr;
}

new Calendar();

Calendar.prototype.getMonthlyCalendarCode = function() {
	var vCode = "";
	var vHeader_Code = "";
	var vData_Code = "";

	// Begin Table Drawing code here..
	vCode = vCode + "<TABLE BORDER=0 BGCOLOR=\"" + this.gBGColor + "\">";

	vHeader_Code = this.cal_header();
	vData_Code = this.cal_data();
	vCode = vCode + vHeader_Code + vData_Code;

	vCode = vCode + "</TABLE>";

	return vCode;
}

Calendar.prototype.show = function() {
	var vCode = "";

	this.gWinCal.document.open();

	this.wwrite("<html>");
	this.wwrite("<head><title>Calendar</title>");
	this.wwrite("</head>");

	this.wwrite("<body marginwidth=0 marginheight=0 topmargin=0 leftmargin=0 " +
	"link=\"" + this.gLinkColor + "\" " +
	"vlink=\"" + this.gLinkColor + "\" " +
	"alink=\"" + this.gLinkColor + "\" " +
	"text=\"" + this.gTextColor + "\">");
	this.wwriteA("<FONT FACE='" + fontface + "' size=1><B>");
	//this.wwriteA(this.gMonthName + " " + this.gYear);
	this.wwriteA("</B>");

	// Show navigation buttons
	var prevMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, -1);
	var prevMM = prevMMYYYY[0];
	var prevYYYY = prevMMYYYY[1];

	var nextMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, 1);
	var nextMM = nextMMYYYY[0];
	var nextYYYY = nextMMYYYY[1];

	this.wwrite("<TABLE WIDTH='100%' BORDER=0 CELLSPACING=2 CELLPADDING=0 ><TR><TD ALIGN=center>");

	this.wwrite("<A HREF=\"" +
	"javascript:window.opener.Build(" +
	"'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)-1) + "', '" + this.gFormat + "'" +
	");" +
	"\"> &lt;&lt; <\/A>");
	this.wwrite("<FONT FACE='" + fontface + "' size=1><B>" + this.gYear);
	this.wwrite("<A HREF=\"" +
	"javascript:window.opener.Build(" +
	"'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)+1) + "', '" + this.gFormat + "'" +
	");" +
	"\"> &gt;&gt; <\/A></TD></TR><tr><td align=center>");

	this.wwrite("<A HREF=\"" +
	"javascript:window.opener.Build(" +
	"'" + this.gReturnItem + "', '" + prevMM + "', '" + prevYYYY + "', '" + this.gFormat + "'" +
	");" +
	"\"> &lt;&lt; <\/A>");
	this.wwrite("<FONT FACE='" + fontface + "' size=1><B>" +this.gMonthName);
	this.wwrite("<A HREF=\"" +
	"javascript:window.opener.Build(" +
	"'" + this.gReturnItem + "', '" + nextMM + "', '" + nextYYYY + "', '" + this.gFormat + "'" +
	");" +
	"\"> &gt;&gt; <\/A></TD></tr><table>");


	// Get the complete calendar code for the month..
	vCode = this.getMonthlyCalendarCode();
	this.wwrite(vCode);

	this.wwrite("</font></body></html>");
	this.gWinCal.document.close();
}

Calendar.prototype.showY = function() {
	var vCode = "";
	var i;
	var vr, vc, vx, vy;    // Row, Column, X-coord, Y-coord
	var vxf = 285;      // X-Factor
	var vyf = 200;      // Y-Factor
	var vxm = 10;      // X-margin
	var vym;        // Y-margin
	if (isIE)  vym = 75;
	else if (isNav)  vym = 25;

	this.gWinCal.document.open();

	this.wwrite("<html>");
	this.wwrite("<head><title>Calendar</title>");
	this.wwrite("<style type='text/css'>\n<!--");
	for (i=0; i<12; i++) {
		vc = i % 3;
		if (i>=0 && i<= 2)  vr = 0;
		if (i>=3 && i<= 5)  vr = 1;
		if (i>=6 && i<= 8)  vr = 2;
		if (i>=9 && i<= 11)  vr = 3;

		vx = parseInt(vxf * vc) + vxm;
		vy = parseInt(vyf * vr) + vym;

		this.wwrite(".lclass" + i + " {position:absolute;top:" + vy + ";left:" + vx + ";}");
	}
	this.wwrite("-->\n</style>");
	this.wwrite("</head>");

	this.wwrite("<body " +
	"link=\"" + this.gLinkColor + "\" " +
	"vlink=\"" + this.gLinkColor + "\" " +
	"alink=\"" + this.gLinkColor + "\" " +
	"text=\"" + this.gTextColor + "\">");
	this.wwrite("<FONT FACE='" + fontface + "' SIZE=2><B>");
	this.wwrite("Year : " + this.gYear);
	this.wwrite("</B><BR>");

	// Show navigation buttons
	var prevYYYY = parseInt(this.gYear) - 1;
	var nextYYYY = parseInt(this.gYear) + 1;

	this.wwrite("<TABLE WIDTH='100%' BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR='#e0e0e0'><TR><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"" +
	"javascript:window.opener.Build(" +
	"'" + this.gReturnItem + "', null, '" + prevYYYY + "', '" + this.gFormat + "'" +
	");" +
	"\" alt='Prev Year'><<<\/A>]</TD><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"javascript:window.print();\">Print</A>]</TD><TD ALIGN=center>");
	this.wwrite("[<A HREF=\"" +
	"javascript:window.opener.Build(" +
	"'" + this.gReturnItem + "', null, '" + nextYYYY + "', '" + this.gFormat + "'" +
	");" +
	"\">>><\/A>]</TD></TR></TABLE><BR>");

	// Get the complete calendar code for each month..
	var j;
	for (i=11; i>=0; i--) {
		if (isIE)
		this.wwrite("<DIV ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");
		else if (isNav)
		this.wwrite("<LAYER ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");

		this.gMonth = i;
		this.gMonthName = Calendar.get_month(this.gMonth);
		vCode = this.getMonthlyCalendarCode();
		this.wwrite(this.gMonthName + "/" + this.gYear + "<BR>");
		this.wwrite(vCode);

		if (isIE)
		this.wwrite("</DIV>");
		else if (isNav)
		this.wwrite("</LAYER>");
	}

	this.wwrite("</font><BR></body></html>");
	this.gWinCal.document.close();
}

Calendar.prototype.wwrite = function(wtext) {
	this.gWinCal.document.writeln(wtext);
}

Calendar.prototype.wwriteA = function(wtext) {
	this.gWinCal.document.write(wtext);
}

Calendar.prototype.cal_header = function() {
	var vCode = "";

	vCode = vCode + "<TR>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='1' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>D</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='1' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>S</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='1' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>T</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='1' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Q</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='1' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Q</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='1' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>S</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='16%'><FONT SIZE='1' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>S</B></FONT></TD>";
	vCode = vCode + "</TR>";

	return vCode;
}

Calendar.prototype.cal_data = function() {
	var vDate = new Date();
	vDate.setDate(1);
	vDate.setMonth(this.gMonth);
	vDate.setFullYear(this.gYear);

	var vFirstDay=vDate.getDay();
	var vDay=1;
	var vLastDay=Calendar.get_daysofmonth(this.gMonth, this.gYear);
	var vOnLastDay=0;
	var vCode = "";

	/*
	Get day for the 1st of the requested month/year..
	Place as many blank cells before the 1st day of the month as necessary.
	*/

	vCode = vCode + "<TR>";
	for (i=0; i<vFirstDay; i++) {
		vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(i) + "><FONT SIZE='1' FACE='" + fontface + "'> </FONT></TD>";
	}

	// Write rest of the 1st week
	for (j=vFirstDay; j<7; j++) {
		vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='1' FACE='" + fontface + "'>" +
		"<A HREF='#' " +
		"onClick=\"self.opener.document." + this.gReturnItem + ".value='" +
		this.format_data(vDay) +
		"';window.close();\">" +
		this.format_day(vDay) +
		"</A>" +
		"</FONT></TD>";
		vDay=vDay + 1;
	}
	vCode = vCode + "</TR>";

	// Write the rest of the weeks
	for (k=2; k<7; k++) {
		vCode = vCode + "<TR>";

		for (j=0; j<7; j++) {
			vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='1' FACE='" + fontface + "'>" +
			"<A HREF='#' " +
			"onClick=\"self.opener.document." + this.gReturnItem + ".value='" +
			this.format_data(vDay) +
			"';window.close();\">" +
			this.format_day(vDay) +
			"</A>" +
			"</FONT></TD>";
			vDay=vDay + 1;

			if (vDay > vLastDay) {
				vOnLastDay = 1;
				break;
			}
		}

		if (j == 6)
		vCode = vCode + "</TR>";
		if (vOnLastDay == 1)
		break;
	}

	// Fill up the rest of last week with proper blanks, so that we get proper square blocks
	for (m=1; m<(7-j); m++) {
		if (this.gYearly)
		vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) +
		"><FONT SIZE='1' FACE='" + fontface + "' COLOR='gray'> </FONT></TD>";
		else
		vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) +
		"><FONT SIZE='1' FACE='" + fontface + "' COLOR='gray'>" + m + "</FONT></TD>";
	}

	return vCode;
}

Calendar.prototype.format_day = function(vday) {
	var vNowDay = gNow.getDate();
	var vNowMonth = gNow.getMonth();
	var vNowYear = gNow.getFullYear();

	if (vday == vNowDay && this.gMonth == vNowMonth && this.gYear == vNowYear)
	return ("<FONT COLOR=\"RED\"><B>" + vday + "</B></FONT>");
	else
	return (vday);
}

Calendar.prototype.write_weekend_string = function(vday) {
	var i;

	// Return special formatting for the weekend day.
	for (i=0; i<weekend.length; i++) {
		if (vday == weekend[i])
		return (" BGCOLOR=\"" + weekendColor + "\"");
	}

	return "";
}

Calendar.prototype.format_data = function(p_day) {
	var vData;
	var vMonth = 1 + this.gMonth;
	vMonth = (vMonth.toString().length < 2) ? "0" + vMonth : vMonth;
	var vMon = Calendar.get_month(this.gMonth).substr(0,3).toUpperCase();
	var vFMon = Calendar.get_month(this.gMonth).toUpperCase();
	var vY4 = new String(this.gYear);
	var vY2 = new String(this.gYear.substr(2,2));
	var vDD = (p_day.toString().length < 2) ? "0" + p_day : p_day;

	switch (this.gFormat) {
		case "MM\/DD\/YYYY" :
		vData = vMonth + "\/" + vDD + "\/" + vY4;
		break;
		case "MM\/DD\/YY" :
		vData = vMonth + "\/" + vDD + "\/" + vY2;
		break;
		case "MM-DD-YYYY" :
		vData = vMonth + "-" + vDD + "-" + vY4;
		break;
		case "MM-DD-YY" :
		vData = vMonth + "-" + vDD + "-" + vY2;
		break;

		case "DD\/MON\/YYYY" :
		vData = vDD + "\/" + vMon + "\/" + vY4;
		break;
		case "DD\/MON\/YY" :
		vData = vDD + "\/" + vMon + "\/" + vY2;
		break;
		case "DD-MON-YYYY" :
		vData = vDD + "-" + vMon + "-" + vY4;
		break;
		case "DD-MON-YY" :
		vData = vDD + "-" + vMon + "-" + vY2;
		break;

		case "DD\/MONTH\/YYYY" :
		vData = vDD + "\/" + vFMon + "\/" + vY4;
		break;
		case "DD\/MONTH\/YY" :
		vData = vDD + "\/" + vFMon + "\/" + vY2;
		break;
		case "DD-MONTH-YYYY" :
		vData = vDD + "-" + vFMon + "-" + vY4;
		break;
		case "DD-MONTH-YY" :
		vData = vDD + "-" + vFMon + "-" + vY2;
		break;

		case "DD\/MM\/YYYY" :
		vData = vDD + "\/" + vMonth + "\/" + vY4;
		break;
		case "DD\/MM\/YY" :
		vData = vDD + "\/" + vMonth + "\/" + vY2;
		break;
		case "DD-MM-YYYY" :
		vData = vDD + "-" + vMonth + "-" + vY4;
		break;
		case "MM-YYYY" :
		vData = vMonth + "-" + vY4;
		break;
		case "YYYY-MM-DD" :
		vData = vY4 + "-" + vMonth + "-" + vDD;
		break;
		case "DD-MM-YY" :
		vData = vDD + "-" + vMonth + "-" + vY2;
		break;

		default :
		vData = vMonth + "\/" + vDD + "\/" + vY4;
	}
	return vData;
}

function Build(p_item, p_month, p_year, p_format) {
	var p_WinCal = ggWinCal;
	gCal = new Calendar(p_item, p_WinCal, p_month, p_year, p_format);

	// Customize your Calendar here..
	gCal.gBGColor="white";
	gCal.gLinkColor="black";
	gCal.gTextColor="black";
	gCal.gHeaderColor="darkgreen";

	// Choose appropriate show function
	if (gCal.gYearly)  gCal.showY();
	else  gCal.show();
}

function show_calendar() {
	/*
	p_month : 0-11 for Jan-Dec; 12 for All Months.
	p_year  : 4-digit year
	p_format: Date format (mm/dd/yyyy, dd/mm/yy, ...)
	p_item  : Return Item.
	*/

	p_item = arguments[0];
	if (arguments[1] == null)
	p_month = new String(gNow.getMonth());
	else
	p_month = arguments[1];
	if (arguments[2] == "" || arguments[2] == null)
	p_year = new String(gNow.getFullYear().toString());
	else
	p_year = arguments[2];
	if (arguments[3] == null)
	p_format = "DD/MM/YYYY";
	else
	p_format = arguments[3];

	vWinCal = window.open("", "Calendar",
	"width=130,height=150,status=no,resizable=no,top=200,left=200");
	vWinCal.opener = self;
	ggWinCal = vWinCal;

	Build(p_item, p_month, p_year, p_format);
}
/*
Yearly Calendar Code Starts here
*/
function show_yearly_calendar(p_item, p_year, p_format) {
	// Load the defaults..
	if (p_year == null || p_year == "")
	p_year = new String(gNow.getFullYear().toString());
	if (p_format == null || p_format == "")
	p_format = "DD/MM/YYYY";

	var vWinCal = window.open("", "Calendar", "scrollbars=yes");
	vWinCal.opener = self;
	ggWinCal = vWinCal;

	Build(p_item, null, p_year, p_format);
}

<!-- CALENDARIO | Fim -->

function Limpar(valor, validos) {
	// retira caracteres invalidos da string
	var result = "";
	var aux;
	for (var i=0; i < valor.length; i++) {
		aux = validos.indexOf(valor.substring(i, i+1));
		if (aux>=0) {
			result += aux;
		}
	}
	return result;
}

/* ***********************************
*   FUNÇÕES DE VALIDAÇÃO DE CAMPOS
************************************ */

//Formata número tipo moeda usando o evento onKeyDown
function Formata(campo,tammax,teclapres,decimal) {
	// detecta tecla pressionada
	if(document.all) var tecla = teclapres.keyCode; // Internet Explorer
	else var tecla = teclapres.which; // Outros

	vr = Limpar(campo.value, "0123456789");
	tam = vr.length;
	dec=decimal

	if ((tecla != 13 && tecla != 16 && tecla != 46 && tecla != 35 && tecla != 36 && tecla != 8)
	&& (tecla < 48 || tecla > 57)){
		alert('['+ tecla +'] Digite apenas números.\nO sistema se encarrega de formatar.');
		campo.focus();
		return false;
	}else{

		if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

		if (tecla == 8 )
		{ tam = tam - 1 ; }

		if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 )
		{

			if ( tam <= dec )
			{ campo.value = vr ; }

			if ( (tam > dec) && (tam <= 5) ){
				campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; }
				if ( (tam >= 6) && (tam <= 8) ){
					campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ;
				}
				if ( (tam >= 9) && (tam <= 11) ){
					campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; }
					if ( (tam >= 12) && (tam <= 14) ){
						campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; }
						if ( (tam >= 15) && (tam <= 17) ){
							campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ;}
		}
	}
}

// Funções de Validação de Campos

//adiciona mascara de cnpj
function MascaraCNPJ(cnpj){
	if(mascaraInteiro(cnpj)==false){
		event.returnValue = false;
	}
	return formataCampo(cnpj, '00.000.000/0000-00', event);
}

//adiciona mascara de cep
function MascaraCep(cep){
	if(mascaraInteiro(cep)==false){
		event.returnValue = false;
	}
	return formataCampo(cep, '00000-000', event);
}

//adiciona mascara de data
function MascaraData(data){
	if(mascaraInteiro(data)==false){
		event.returnValue = false;
	}
	return formataCampo(data, '00/00/0000', event);
}

//adiciona mascara de data por extenso
function MascaraDataExtenso(data){
	if(mascaraInteiro(data)==false){
		event.returnValue = false;
	}
	return formataCampo(data, '00/00/0000 00:00:00', event);
}

//adiciona mascara ao telefone
function MascaraTelefone(tel){
	if(mascaraInteiro(tel)==false){
		event.returnValue = false;
	}
	return formataCampo(tel, '(00)0000-0000', event);
}

//adiciona mascara ao CPF
function MascaraCPF(cpf){
	if(mascaraInteiro(cpf)==false){
		event.returnValue = false;
	}
	return formataCampo(cpf, '000.000.000-00', event);
}

//valida telefone
function ValidaTelefone(tel){
	exp = /\(\d{2}\)\d{4}\-\d{4}/
	if(!exp.test(tel.value)){
		alert('Formato do Telefone inválido!');
	}
}

//valida CEP
function ValidaCep(cep){
	exp = /\d{5}\-\d{3}/
	if(!exp.test(cep.value)){
		alert('Formato do CEP inválido!');
	}
}

//valida data
function ValidaData(data, focar){
	exp = /\d{2}\/\d{2}\/\d{4}/
	if(!exp.test(data.value)){
		alert('Formato de data inválido!');
		if (focar==true) data.focus();
	}
}

//valida data
function ValidaDataExtenso(data, focar){
	exp = /\d{2}\/\d{2}\/\d{4}\ \d{2}\:\d{2}\:\d{2}/
	if(!exp.test(data.value)){
		alert('Formato de data inválido!');
		if (focar==true) data.focus();
	}
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
	var cpf = Objcpf.value;
	exp = /\.|\-/g
	cpf = cpf.toString().replace( exp, "" );
	var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
	var soma1=0, soma2=0;
	var vlr =11;

	for(i=0;i<9;i++){
		soma1+=eval(cpf.charAt(i)*(vlr-1));
		soma2+=eval(cpf.charAt(i)*vlr);
		vlr--;
	}
	soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
	soma2=(((soma2+(2*soma1))*10)%11);

	var digitoGerado=(soma1*10)+soma2;
	if(digitoGerado!=digitoDigitado)
	alert('CPF Invalido!');
}

//valida numero inteiro com mascara
function mascaraInteiro(){
	if (event.keyCode < 48 || event.keyCode > 57){
		event.returnValue = false;
		return false;
	}
	return true;
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
	var cnpj = ObjCnpj.value;
	var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
	var dig1= new Number;
	var dig2= new Number;

	exp = /\.|\-|\//g
	cnpj = cnpj.toString().replace( exp, "" );
	var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));

	for(i = 0; i<valida.length; i++){
		dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);
		dig2 += cnpj.charAt(i)*valida[i];
	}
	dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
	dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));

	if(((dig1*10)+dig2) != digito)
	alert('CNPJ Invalido!');

}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) {
	var boleanoMascara;

	var Digitato = evento.keyCode;
	exp = /\-|\.|\:|\/|\(|\)| /g
	campoSoNumeros = campo.value.toString().replace( exp, "" );

	var posicaoCampo = 0;
	var NovoValorCampo="";
	var TamanhoMascara = campoSoNumeros.length;;

	if (Digitato != 8) { // backspace
		for(i=0; i<= TamanhoMascara; i++) {
			boleanoMascara = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".") || (Mascara.charAt(i) == ":") || (Mascara.charAt(i) == "/"))
			boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == "(") || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "))
			if (boleanoMascara) {
				NovoValorCampo += Mascara.charAt(i);
				TamanhoMascara++;
			}else {
				NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
				posicaoCampo++;
			}
		}
		campo.value = NovoValorCampo;
		return true;
	}else {
		return true;
	}
}