
var mx_date_dayMS = 86400000;
var mx_date_LastUTC = new Date().getTime();
function mx_date_MonthMatrix(UTCdate) {
UTCdate = (UTCdate == null) ? mx_date_LastUTC : UTCdate;
var MonthMatrix = new Array();
var StartDate = new Date(UTCdate);
var MonthStart = new Date(Date.UTC(StartDate.getFullYear(),StartDate.getUTCMonth(),1));
MonthStart.setHours(MonthStart.getHours() + MonthStart.getTimezoneOffset()/60);
var DayIteration = 0;
var thisDate = new Date(MonthStart);
for(var row = 0; row <=5; row++) {
MonthMatrix[row] = new Array();
for(var col = 0; col <= 6; col++) {
if((col < MonthStart.getDay() && row == 0) || ((thisDate.getMonth() > MonthStart.getMonth() || thisDate.getYear() > MonthStart.getYear()))) {
MonthMatrix[row][col] = '';
} else {
MonthMatrix[row][col] = (thisDate.getDate());
thisDate.setDate(thisDate.getDate() + 1);
}
}
}
mx_date_LastUTC = UTCdate;
return MonthMatrix;
}
function adjLocalTime(utctime){
retDate = new Date(utctime);
return retDate.getTimezoneOffset() * 60000;
}
function mx_date_isThisDay(UTCdate) {
var TESTDATE = new Date(UTCdate).getDay();
var VALIDATE = new Date().getDay();
return(TESTDATE==VALIDATE?true:false);
}
function mx_date_isThisMonth(UTCdate) {
var TESTMONTH = new Date(UTCdate).getMonth();
var VALIMONTH = new Date().getMonth();
return(TESTMONTH==VALIMONTH?true:false);
}
function mx_date_MonthDayList(listtype,listnum) {
var LIST = new Array;
LIST["MLong"]	= new Array('Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
LIST["MShort"]	= new Array('Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez');
LIST["DLong"]	= new Array('Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado');
LIST["DShort"]	= new Array('Dom','Seg','Ter','Qua','Qui','Sex','Sab');
if ((listnum >= 0) && (LIST[listtype][listnum])) {
return LIST[listtype][listnum];
} else {
return LIST[listtype];
}
}
function mx_date_MonthLength(UTCdate) {
var thisMonth = new Date(UTCdate);
thisMonth.setDate(1);
var nextMonth = new Date(thisMonth);
nextMonth.setMonth(nextMonth.getMonth()+1);
return Math.ceil((nextMonth.getTime() - thisMonth.getTime() - (mx_date_dayMS/24))/mx_date_dayMS);
}
function mx_date_DayofYear(UTCdate){
var tDate = new Date(UTCdate);
var cDate = new Date(Date.UTC(tDate.getFullYear(),0,1));
return ((tDate.getTime() - cDate.getTime()) / mx_date_dayMS);
}
var isIE = navigator.userAgent.toLowerCase().indexOf("msie") != -1;
var tForm = "";
function getElement(id) {
var element=document.getElementById?document.getElementById(id):(document.all?document.all(id):null)
return element;
}
function createCorners(src,pos) {
var tImg = new Image(5,5);
tImg.src = cfgImgRoot + src + ".gif";
tImg.className = "wFormCorner";
var aPos = pos.split(";");
for(var i=0;i<aPos.length;i++){
eval("tImg.style." + aPos[i]);
tForm.appendChild(tImg);
}
}
function writeLayer (id, text) {
if(text == '') return;
getElement(id).innerHTML = text;
}
function isEntity(src, index) {
var i=0;
if (src.charAt(index) != "&") { 
return 0;
} else {
for (i=0; i<7; i++) {
if (src.charAt(index+i) == " ")
return 0;
if (src.charAt(index+i+1) == ";")
return i+1;
}
}
return 0;
}
function cutString (str, maxchars) {
var i=0;	// loop index
var bstr=""; // final formatted string
var elength=0; // result of entity conditions
var nmax=maxchars;
for (i=0; i<maxchars; i++) {
elength=isEntity(str, i);
nmax+=elength;
}
maxchars = nmax;
if (str.length <= maxchars) return str;
while ((str.charAt(maxchars) != " ") && (maxchars > 0)) maxchars--;
bstr = str.slice(0,maxchars);
bstr = bstr.replace(/[^a-zds]+$/i,'');
bstr += "&#133;";
return bstr;
}
function smartCutString(strObj,strFontSize,strString,numCharMax,numLines) {
var objParent = getElement(strObj);
var arrFontFactor = new Array();
if(!strFontSize.match(/10px|11px|12px|14px/i)) {
strFontSize = "12px";
}
arrFontFactor["10px"] = 6;
arrFontFactor["11px"] = 7;
arrFontFactor["12px"] = 7.5;
arrFontFactor["14px"] = 8.5;
numCharMax = (objParent && objParent.offsetWidth) ? Math.floor(objParent.offsetWidth / arrFontFactor[strFontSize]) * numLines : numCharMax;
return cutString(strString,numCharMax);
}
function mcore_selectItem(elem,toselect,formname) {
elm = eval("document."+ formname +"." + elem);
if (elem == 'cycle') {
// djs - preselect the cycle not working correctly
//	for(i=0;i<elm.options.length;i++){
//	elm.options[i].selected = (elm.options[i].value == toselect) ? true : false;
//	}
} else {
elm.value = toselect;
}
} 
function generateOptions(frmObj,optVal,optText,frmName){
frmObj = eval("document." + ((frmName)?frmName:"mainform") + "." + frmObj);
var newLength = (optVal)?(typeof optVal == "object")?optVal.length:optVal:(optText)?optText.length:0;
frmObj.options.length = 0;
for(var i=0;i<newLength;i++){
frmObj.options[i] = new Option((optText[i]?optText[i]:i+1),(optVal[i]?optVal[i]:i+1))
}
}
function stripBullets(str) {
str = str.replace(/<img src=\"http:\/\/www.aol.com:80\/netfind\/gr\/bullet.gif\">&nbsp;<B>|<img src=&#34;http:\/\/www.aol.com:80\/netfind\/gr\/bullet.gif&#34;>&nbsp;<B>|<\/B>|<BR>/gi,"");
str = str.replace(/&#34;/gi,String.fromCharCode(34));
return str;	
}
function cleanArray(arr) {
var i = 0;
if(arr.splice) {
while(i<arr.length){
(!arr[i])?arr.splice(i,1):i++;
}
} else {
var tmpARR = new Array();
for(i=0;i<arr.length;i++){
if(arr[i]) tmpARR[tmpARR.length] = arr[i];
}
arr = tmpARR;
}
return arr;
}
var _C_connectionSpeed = '0';
var _F_encquery = "fertility%20calculator";
var cycLenOptsValsARR = new Array(25,26,27,28,29,30,31,32,33,34,35);
var cycLenOptTextARR = new Array("25 dias","26 dias","27 dias","28 dias","29 dias","30 dias","31 dias","32 dias","33 dias","34 dias","35 dias");
var dateSTR = new Date();
var daysARR = new Array();
var monthARR = new Array('Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
function genCal(calUTCDate, field, calID) {
if (!calID) {
calendarID = 'calID';
} else {
calendarID = calID;
}
mx_date_LastUTC = dateSTR;
calUTCDate = new Date(calUTCDate);
var currMonth = calUTCDate.getUTCMonth();
var currYear = calUTCDate.getFullYear();
var pMonth = new Date(Date.UTC(currYear,currMonth - 1,1));
var nMonth = new Date(Date.UTC(currYear,currMonth + 1,1));
pMonth = new Date(pMonth.getTime() + adjLocalTime(pMonth));
nMonth = new Date(nMonth.getTime() + adjLocalTime(nMonth));
var tblHeader = "<table cellpadding=0 cellspacing=0 border=0 class=\"tableclass\">\n<tbody>\n";
if (field && calID) {
tblHeader += "<tr>\n<td class=\"tHead\"><a href=\"javascript:genCal(" + pMonth.getTime() + ", " + field + ", '" + calID + "')\" style=\"text-decoration:none;color:#fff;\"><b><<</b></a></td>\n";
tblHeader += "<td class=\"tHead\" colspan=5 style=\"text-align:center;width:125px;\"><b>" + monthARR[currMonth] + " " + currYear + "</b></td>\n";
tblHeader += "<td class=\"tHead\"><a href=\"javascript:genCal(" + nMonth.getTime() + ", " + field + ", '" + calID + "')\" style=\"text-decoration:none;color:#fff;\"><b>>></b></a></td></tr>";
tblHeader += "<tr>\n<td class=\"tHead2\">Dom</td>\n<td class=\"tHead2\">Seg</td>\n<td class=\"tHead2\">Ter</td>\n<td class=\"tHead2\">Qua</td>\n<td class=\"tHead2\">Qui</td>\n<td class=\"tHead2\">Sex</td>\n<td class=\"tHead2\">Sáb</td>\n</tr>\n";
} else {
tblHeader += "<tr>\n<td class=\"tHead\"><a href=\"javascript:genCal(" + pMonth.getTime() + ")\" style=\"text-decoration:none;color:#fff;\"><b><<</b></a></td>\n";
tblHeader += "<td class=\"tHead\" colspan=5 style=\"text-align: center;width:125px;\"><b>" + monthARR[currMonth] + " " + currYear + "</b></td>\n";
tblHeader += "<td class=\"tHead\"><a href=\"javascript:genCal(" + nMonth.getTime() + ")\" style=\"text-decoration:none;color:#fff;\"><b>>></b></a></td></tr>";
tblHeader += "<tr>\n<td class=\"tHead2\">Dom</td>\n<td class=\"tHead2\">Seg</td>\n<td class=\"tHead2\">Ter</td>\n<td class=\"tHead2\">Qua</td>\n<td class=\"tHead2\">Qui</td>\n<td class=\"tHead2\">Sex</td>\n<td class=\"tHead2\">Sáb</td>\n</tr>\n";
}

var tblFooter = "<tr>\n<td colspan=\"7\" style=\"text-align: center;\" class=\"tHead\"><a  style=\"text-decoration:none;color:#fff;\" href=\"javascript:toggleDisp('" + calendarID + "','hidden');\"><b>x fechar</b></a></td></tr>\n</tbody>\n</table>";

var outString = tblHeader;
var calARR = mx_date_MonthMatrix(calUTCDate);
mx_date_LastUTC = dateSTR;
for(var row = 0; row < calARR.length; row++) {
outString += "<tr>\n";
for(col = 0; col < calARR[row].length; col++) {
if(calARR[row][col] == "") {
outString += "<td class=\"pDate\"><img src=\"/imagens/spacer.gif\"></td>\n";
} else {
currDate = new Date(Date.UTC(currYear,currMonth,calARR[row][col]) + adjLocalTime(Date.UTC(currYear,currMonth,calARR[row][col])));
if(currDate.getFullYear() == mx_date_LastUTC.getFullYear() && currDate.getMonth() == mx_date_LastUTC.getMonth() && currDate.getDate() == mx_date_LastUTC.getDate()){
dClass = "sDate";
} else {	
dClass = "pDate"; 
}
if (field && calID) {
outString += "<td class=\"" + dClass + "\"><a  style=\"text-decoration:none;\" href=\"javascript:returnDate(" + currDate.getTime() + "," + field + ",'" + calID + "')\">" + calARR[row][col] + "</a></td>\n";
} else {
outString += "<td class=\"" + dClass + "\"><a  style=\"text-decoration:none;\" href=\"javascript:returnDate(" + currDate.getTime() + ")\">" + calARR[row][col] + "</a></td>\n";
}
}
}
outString += "</tr>\n";
}
outString += tblFooter;
toggleDisp(calendarID,'visible');
writeLayer(calendarID,outString);
}
function checkDate(strForm){
var thisfield = strForm.name;
var currdate = new Date();
var monthLength = 0;
var monthDay = document.mainform.DD.value;
var monthVal = (document.mainform.MM.value)-1;
var thisdate = new Date(Date.UTC(currdate.getFullYear(),monthVal,1));
thisdate = new Date(thisdate.getTime() + adjLocalTime(thisdate));
monthLength = mx_date_MonthLength(thisdate.getTime());
thisdate.setDate(mx_date_MonthLength(thisdate.getTime())<monthDay?monthLength:monthDay);
dateSTR = thisdate;
//	generateOptions(ddName,monthLength,false,'mainform');
//	mcore_selectItem('date',thisdate.getDate());
}
function toggleDisp(obj,state) {
document.getElementById(obj).style.visibility = state;
}
