// JavaScript Document
/* browser */

var is_NS = navigator.appName=="Netscape"; 

if (is_NS) { 
	document.write('<link type="text/css" rel="stylesheet" href="css/apdc_safari_google.css" />'); 
} 



/* MENU */
function hideallexcept(id) { 
	div = new Array() 
	div[0] = "menu_item01" 
	div[1] = "menu_item02" 
	div[2] = "menu_item03" 
	div[3] = "menu_item04" 
	div[4] = "menu_item05" 
	div[5] = "menu_item06" 
	/*div[6] = "menu_item07" 
	div[7] = "menu_item08" 
	div[8] = "menu_item09" 
	div[9] = "menu_item10"*/ 
	
	for ( var i = 0; i < div.length; i++) { 
		var canto_lft 	= document.getElementById(div[i]+'_lft');
		var canto_rgt 	= document.getElementById(div[i]+'_rgt');
		var menu 		= document.getElementById(div[i]+'_mdl');
		
	
		if (id != div[i]) { 
			canto_lft.className = "btn_menu_lft"; 
			canto_rgt.className = "btn_menu_rgt";
			menu.className		= "btn_menu_mdl";
		}
		else{ 
			canto_lft.className = "btn_menuOVER_lft"; 
			canto_rgt.className = "btn_menuOVER_rgt";
			menu.className		= "btn_menuOVER_mdl";
		} 
	} 
}

/* BTNS */
function btns_d(ID,WHAT) {
	if ( WHAT == 'OVER' ) {
		document.getElementById(ID+'_lft').className	= "btn_f_lft";
		document.getElementById(ID+'_rgt').className 	= "btn_f_rgt";
		document.getElementById(ID+'_mdl').className	= "btn_f_mdl";
	} else if ( WHAT == 'OUT') {
		document.getElementById(ID+'_lft').className	= "btn_d_lft";
		document.getElementById(ID+'_rgt').className 	= "btn_d_rgt";
		document.getElementById(ID+'_mdl').className	= "btn_d_mdl";
	}
}


/* patrocinios */
function show(ShowId) {
	document.getElementById(ShowId).style.display 	= "block";
	document.getElementById(ShowId+'_img').src		= "img/mod_header_btnIcon_b_down.gif";
}

function hide(HideId) {
	document.getElementById(HideId).style.display 	= "none";
	document.getElementById(HideId+'_img').src		= "img/mod_header_btnIcon_b.gif";
}
/*function FuncOver(ShowId) {
	document.getElementById(ShowId).style.display 	= "block";
	document.getElementById(ShowId+'_img').src		= "img/mod_header_btnIcon_b_down.gif";
}
function FuncOut(HideId) {
	var HideIdStatus = document.getElementById(HideId).style.display;
	if (HideIdStatus == 'block') {
		document.getElementById(HideId).style.display 	= "none";
		document.getElementById(HideId+'_img').src		= "img/mod_header_btnIcon_b.gif";
	}
}*/


/* SUBMENU */
function hideallexcept_submenu(id) { 
	div = new Array() 
	div[0] = "submenu_item01" 
	div[1] = "submenu_item02" 
	div[2] = "submenu_item03" 
	div[3] = "submenu_item04" 
	div[4] = "submenu_item05" 
	div[5] = "submenu_item06" 
	div[6] = "submenu_item07" 
	
	for ( var i = 0; i < div.length; i++) { 
		var imagem 		= document.getElementById(div[i]+'_img');
		var conteudo 	= document.getElementById(div[i]+'_conteudo');
		
	
		if (id != div[i]) { 
			imagem.src 				= "img/mod_header_btnIcon_b.gif"; 
			conteudo.style.display 	= "none";
		}
		else{ 
			imagem.src 				= "img/mod_header_btnIcon_b_down.gif"; 
			conteudo.style.display 	= "block";
		} 
	} 
}

/* SUBMENU ANTERIOR */
function hideallexcept_submenuAnt(id) { 
	div = new Array() 
	div[0] = "submenuAnt_item01" 
	div[1] = "submenuAnt_item02" 
	div[2] = "submenuAnt_item03" 
	div[3] = "submenuAnt_item04" 
	div[4] = "submenuAnt_item05" 
	div[5] = "submenuAnt_item06" 
	div[6] = "submenuAnt_item07" 
	
	for ( var i = 0; i < div.length; i++) { 
		var imagem 		= document.getElementById(div[i]+'_img');
		var conteudo 	= document.getElementById(div[i]+'_conteudo');
		
	
		if (id != div[i]) { 
			imagem.src 				= "img/mod_header_btnIcon.gif"; 
			conteudo.style.display 	= "none";
		}
		else{ 
			imagem.src 				= "img/mod_header_btnIcon_down.gif"; 
			conteudo.style.display 	= "block";
		} 
	} 
}


/* AGENDA */
function agenda_sep1() {
	document.getElementById('agenda_header').style.background 	= "#83c8db"; 
	document.getElementById('agenda_sep').src 					= "img/agenda_sep_lft.gif";
	document.getElementById('agenda_titleB').style.background 	= "transparent";
	document.getElementById('agenda_cantoRgt').style.background = "transparent";
	document.getElementById('agenda_titleA').style.background 	= "#499dba";
	document.getElementById('agenda_cantoLft').style.background = "#499dba";
	//document.getElementById('agenda_cantosTop').className		 = "cantos canto_header_cont";
	//document.getElementById('agenda_cantoSep').src				 = "img/canto_blue_topRgt.gif";
	//document.getElementById('agendaAPDC').style.display			 = "block";
	//document.getElementById('agendaSector').style.display		 = "none";

}

function agenda_sep2() {
	document.getElementById('agenda_header').style.background 	= "#83c8db"; 
	document.getElementById('agenda_sep').src 					= "img/agenda_sep_rgt.gif";
	document.getElementById('agenda_titleB').style.background 	= "#499dba";
	document.getElementById('agenda_cantoRgt').style.background = "#499dba";
	document.getElementById('agenda_titleA').style.background 	= "transparent";
	document.getElementById('agenda_cantoLft').style.background = "transparent";
	//document.getElementById('agenda_cantosTop').className		 = "cantos";
	//document.getElementById('agenda_cantoSep').src				 = "img/canto_blue_topLft.gif";
	//document.getElementById('agendaAPDC').style.display			 = "none";
	//document.getElementById('agendaSector').style.display		 = "block";
}



if(typeof renderTwitters!='function')(function(){var j=(function(){var b=navigator.userAgent.toLowerCase();return{safari:/webkit/.test(b),opera:/opera/.test(b),msie:/msie/.test(b)&&!(/opera/).test(b),mozilla:/mozilla/.test(b)&&!(/(compatible|webkit)/).test(b)}})();var k=0;var n=[];var o=false;window.renderTwitters=function(a,b){function node(e){return document.createElement(e)}function text(t){return document.createTextNode(t)}var c=document.getElementById(b.twitterTarget);var d=null;var f=node('ul'),li,statusSpan,timeSpan,i,max=a.length>b.count?b.count:a.length;for(i=0;i<max&&a[i];i++){d=getTwitterData(a[i]);if(b.ignoreReplies&&a[i].text.substr(0,1)=='@'){max++;continue}li=node('li');if(b.template){li.innerHTML=b.template.replace(/%([a-z_\-\.]*)%/ig,function(m,l){var r=d[l]+""||"";if(l=='text'&&b.enableLinks)r=linkify(r);return r})}else{statusSpan=node('span');statusSpan.className='twitterStatus';timeSpan=node('span');timeSpan.className='twitterTime';statusSpan.innerHTML=a[i].text;if(b.enableLinks==true){statusSpan.innerHTML=linkify(statusSpan.innerHTML)}timeSpan.innerHTML=relative_time(a[i].created_at);if(b.prefix){var s=node('span');s.className='twitterPrefix';s.innerHTML=b.prefix.replace(/%(.*?)%/g,function(m,l){return a[i].user[l]});li.appendChild(s);li.appendChild(text(' '))}li.appendChild(statusSpan);li.appendChild(text(' '));li.appendChild(timeSpan)}f.appendChild(li)}if(b.clearContents){while(c.firstChild){c.removeChild(c.firstChild)}}c.appendChild(f)};window.getTwitters=function(e,f,g,h){k++;if(typeof f=='object'){h=f;f=h.id;g=h.count}if(!g)g=1;if(h){h.count=g}else{h={}}if(!h.timeout&&typeof h.onTimeout=='function'){h.timeout=10}if(typeof h.clearContents=='undefined'){h.clearContents=true}if(h.withFriends)h.withFriends=false;h['twitterTarget']=e;if(typeof h.enableLinks=='undefined')h.enableLinks=true;window['twitterCallback'+k]=function(a){if(h.timeout){clearTimeout(window['twitterTimeout'+k])}renderTwitters(a,h)};ready((function(c,d){return function(){if(!document.getElementById(c.twitterTarget)){return}var a='http://www.twitter.com/statuses/'+(c.withFriends?'friends_timeline':'user_timeline')+'/'+f+'.json?callback=twitterCallback'+d+'&count=20';if(c.timeout){window['twitterTimeout'+d]=setTimeout(function(){if(c.onTimeoutCancel)window['twitterCallback'+d]=function(){};c.onTimeout.call(document.getElementById(c.twitterTarget))},c.timeout*1000)}var b=document.createElement('script');b.setAttribute('src',a);document.getElementsByTagName('head')[0].appendChild(b)}})(h,k))};DOMReady();function getTwitterData(a){var b=a,i;for(i in a.user){b['user_'+i]=a.user[i]}b.time=relative_time(a.created_at);return b}function ready(a){if(!o){n.push(a)}else{a.call()}}function fireReady(){o=true;var a;while(a=n.shift()){a.call()}}function DOMReady(){if(j.mozilla||j.opera){document.addEventListener("DOMContentLoaded",fireReady,false)}else if(j.msie){document.write("<scr"+"ipt id=__ie_init defer=true src=//:><\/script>");var a=document.getElementById("__ie_init");if(a){a.onreadystatechange=function(){if(this.readyState!="complete")return;this.parentNode.removeChild(this);fireReady.call()}}a=null}else if(j.safari){var b=setInterval(function(){if(document.readyState=="loaded"||document.readyState=="complete"){clearInterval(b);b=null;fireReady.call()}},10)}}function relative_time(a){var b=a.split(" ");a=b[1]+" "+b[2]+", "+b[5]+" "+b[3];var c=Date.parse(a);var d=(arguments.length>1)?arguments[1]:new Date();var e=parseInt((d.getTime()-c)/1000);e=e+(d.getTimezoneOffset()*60);var r='';if(e<60){r='h&aacute; menos de um minuto'}else if(e<120){r='h&aacute; cerca de um minuto'}else if(e<(45*60)){r='H&aacute; '+(parseInt(e/60)).toString()+' minutos atr&aacute;s'}else if(e<(2*90*60)){r='Acerca de uma hora atr&aacute;s'}else if(e<(24*60*60)){r='H&aacute; '+(parseInt(e/3600)).toString()+' horas atr&aacute;s'}else if(e<(48*60*60)){r='H&aacute; 1 dia atr&aacute;s'}else{r=(parseInt(e/86400)).toString()+' dias atr&aacute;s'}return r}function linkify(s){return s.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/g,function(m){return m.link(m)}).replace(/@[\S]+/g,function(m){return'<a href="http://twitter.com/'+m.substr(1)+'">'+m+'</a>'})}})();



// ********************************Functions used for Date Picker*************************//

var datePickerDivID = "datepicker";
var iFrameDivID = "datepickeriframe";

var dayArrayShort = new Array(7);
dayArrayShort[0] = "Do";
dayArrayShort[1] = "Sg";
dayArrayShort[2] = "Te";
dayArrayShort[3] = "Qa";
dayArrayShort[4] = "Qi";
dayArrayShort[5] = "Sx";
dayArrayShort[6] = "Sa";

var dayArrayMed = new Array(7);
dayArrayMed[0] = "Dom";
dayArrayMed[1] = "Seg";
dayArrayMed[2] = "Ter";
dayArrayMed[3] = "Qua";
dayArrayMed[4] = "Qui";
dayArrayMed[5] = "Sex";
dayArrayMed[6] = "Sab";


var dayArrayLong = new Array(7);
// dayArrayLong[0] = "Domingo";
// dayArrayLong[1] = "Segunda";
// dayArrayLong[2] = "Terça";
// dayArrayLong[3] = "Quarta";
// dayArrayLong[4] = "Quinta";
// dayArrayLong[5] = "Sexta";
// dayArrayLong[6] = "Sábado";


var monthArrayShort = new Array(12);
monthArrayShort[0] = "Jan";
monthArrayShort[1] = "Fev";
monthArrayShort[2] = "Mar";
monthArrayShort[3] = "Abr";
monthArrayShort[4] = "Mai";
monthArrayShort[5] = "Jun";
monthArrayShort[6] = "Jul";
monthArrayShort[7] = "Ago";
monthArrayShort[8] = "Set";
monthArrayShort[9] = "Out";
monthArrayShort[10] = "Nov";
monthArrayShort[11] = "Dez";


var monthArrayMed = new Array(12);
monthArrayMed[0] = "Jan";
monthArrayMed[1] = "Fev";
monthArrayMed[2] = "Mar";
monthArrayMed[3] = "Abr";
monthArrayMed[4] = "Mai";
monthArrayMed[5] = "Jun";
monthArrayMed[6] = "Jul";
monthArrayMed[7] = "Ago";
monthArrayMed[8] = "Set";
monthArrayMed[9] = "Out";
monthArrayMed[10] = "Nov";
monthArrayMed[11] = "Dez";

var monthArrayLong = new Array(12);
monthArrayLong[0] = "Janeiro";
monthArrayLong[1] = "Fevereiro";
monthArrayLong[2] = "Marco";
monthArrayLong[3] = "Abril";
monthArrayLong[4] = "Maio";
monthArrayLong[5] = "Junho";
monthArrayLong[6] = "Julho";
monthArrayLong[7] = "Agosto";
monthArrayLong[8] = "Setembro";
monthArrayLong[9] = "Outubro";
monthArrayLong[10] = "Novembro";
monthArrayLong[11] = "Dezembro";



// these variables define the date formatting we're expecting and outputting.
// If you want to use a different format by default, change the
// defaultDateSeparator
// and defaultDateFormat variables either here or on your HTML page.
var defaultDateSeparator = "/";        // common values would be "/" or "."
var defaultDateFormat = "dmy";    // valid values are "mdy", "dmy", and "ymd"
var dateSeparator = defaultDateSeparator;
var dateFormat = defaultDateFormat;


function displayDatePicker(dateFieldName, displayBelowThisObject, dtFormat, dtSep)
{
  var targetDateField = document.getElementsByName (dateFieldName).item(0);

  // if we weren't told what node to display the datepicker beneath, just
            // display it
  // beneath the date field we're updating
  if (!displayBelowThisObject)
    displayBelowThisObject = targetDateField;

  // if a date separator character was given, update the dateSeparator
            // variable
  if (dtSep)
    dateSeparator = dtSep;
  else
    dateSeparator = defaultDateSeparator;

  // if a date format was given, update the dateFormat variable
  if (dtFormat)
    dateFormat = dtFormat;
  else
    dateFormat = defaultDateFormat;

  var x = displayBelowThisObject.offsetLeft;
  var y = displayBelowThisObject.offsetTop + displayBelowThisObject.offsetHeight ;

  // deal with elements inside tables and such
  var parent = displayBelowThisObject;
  while (parent.offsetParent) {
    parent = parent.offsetParent;
    x += parent.offsetLeft;
    y += parent.offsetTop;
  }
  x -= 100;
  y += 5;

  drawDatePicker(targetDateField, x, y);
}


/**
* Draw the datepicker object (which is just a table with calendar elements) at
* the specified x and y coordinates, using the targetDateField object as the
* input tag that will ultimately be populated with a date.
* 
 * This function will normally be called by the displayDatePicker function.
*/
function drawDatePicker(targetDateField, x, y)
{
  var dt = getFieldDate(targetDateField.value );

  // the datepicker table will be drawn inside of a <div> with an ID defined
            // by the
  // global datePickerDivID variable. If such a div doesn't yet exist on the
            // HTML
  // document we're working with, add one.
  if (!document.getElementById(datePickerDivID)) {
    // don't use innerHTML to update the body, because it can cause global
            // variables
    // that are currently pointing to objects on the page to have bad references
    // document.body.innerHTML += "<div id='" + datePickerDivID + "'
            // class='dpDiv'></div>";
    var newNode = document.createElement("div");
    newNode.setAttribute("id", datePickerDivID);
    newNode.setAttribute("class", "dpDiv");
    newNode.setAttribute("style", "visibility: hidden;");
    document.body.appendChild(newNode);
  }

  // move the datepicker div to the proper x,y coordinate and toggle the
            // visiblity
  var pickerDiv = document.getElementById(datePickerDivID);
  pickerDiv.style.position = "absolute";
  pickerDiv.style.left = x + "px";
  pickerDiv.style.top = y + "px";
  pickerDiv.style.visibility = (pickerDiv.style.visibility == "visible" ? "hidden" : "visible");
  pickerDiv.style.display = (pickerDiv.style.display == "block" ? "none" : "block");
  pickerDiv.style.zIndex = 10000;

  // draw the datepicker table
  refreshDatePicker(targetDateField.name, dt.getFullYear(), dt.getMonth(), dt.getDate());
}


/**
* This is the function that actually draws the datepicker calendar.
*/
function refreshDatePicker(dateFieldName, year, month, day)
{
  // if no arguments are passed, use today's date; otherwise, month and year
  // are required (if a day is passed, it will be highlighted later)
  var thisDay = new Date();

  if ((month >= 0) && (year > 0)) {
    thisDay = new Date(year, month, 1);
  } else {
    day = thisDay.getDate();
    thisDay.setDate(1);
  }


  var crlf = "\r\n";
  var TABLE = "<table cols=7 class='dpTable'>" + crlf;
  var xTABLE = "</table>" + crlf;
  var TR = "<tr class='dpTR'>";
  var TR_title = "<tr><td colspan='7'><table width='160px'><tr class='dpTitleTR'>";
  var TR_days = "<tr class='dpDayTR'>";
  var TR_todaybutton = "<tr class='dpTodayButtonTR'>";
  var xTR = "</tr>" + crlf;
  var TD = "<td class='dpTD' onMouseOut='this.className=\"dpTD\";' onMouseOver=' this.className=\"dpTDHover\";' ";    // leave
                                                                                                                                                                                                                                                                                                                                                                // this
                                                                                                                                                                                                                                                                                                                                                                // tag
                                                                                                                                                                                                                                                                                                                                                                // open,
                                                                                                                                                                                                                                                                                                                                                                // because
                                                                                                                                                                                                                                                                                                                                                                // we'll
                                                                                                                                                                                                                                                                                                                                                                // be
                                                                                                                                                                                                                                                                                                                                                                 // adding
                                                                                                                                                                                                                                                                                                                                                                // an
                                                                                                                                                                                                                                                                                                                                                                // onClick
                                                                                                                                                                                                                                                                                                                                                                // event
  var TD_title = "<td colspan=3 class='dpTitleTD'>";
  var TD_buttons = "<td class='dpButtonTD'>";
  var TD_todaybutton = "<td colspan=7 class='dpTodayButtonTD'>";
  var TD_days = "<td class='dpDayTD'>";
  var TD_selected = "<td class='dpDayHighlightTD' onMouseOut='this.className=\"dpDayHighlightTD\";' onMouseOver='this.className=\"dpTDHover\";' ";    // leave
                                                                                                                                                                                                                                                                                                                                                                                                                                                              // this
                                                                                                                                                                                                                                                                                                                                                                                                                                                              // tag
                                                                                                                                                                                                                                                                                                                                                                                                                                                               // open,
                                                                                                                                                                                                                                                                                                                                                                                                                                                              // because
                                                                                                                                                                                                                                                                                                                                                                                                                                                              // we'll
                                                                                                                                                                                                                                                                                                                                                                                                                                                              // be
                                                                                                                                                                                                                                                                                                                                                                                                                                                              // adding
                                                                                                                                                                                                                                                                                                                                                                                                                                                              // an
                                                                                                                                                                                                                                                                                                                                                                                                                                                              // onClick
                                                                                                                                                                                                                                                                                                                                                                                                                                                              // event
  var xTD = "</td>" + crlf;
  var DIV_title = "<div class='dpTitleText'>";
  var DIV_selected = "<div class='dpDayHighlight'>";
  var xDIV = "</div>";

  // start generating the code for the calendar table
  var html = TABLE;

  // this is the title bar, which displays the month and the buttons to
  // go back to a previous month or forward to the next month
  html += TR_title;
  
  html += TD_buttons + getButtonCodeYear(dateFieldName, thisDay, -1, "&lt;&lt;") + xTD;
  html += TD_buttons + getButtonCode(dateFieldName, thisDay, -1, "&lt;") + xTD;
  
  html += TD_title + DIV_title  + monthArrayLong[thisDay.getMonth()] + "   " + thisDay.getFullYear() + xDIV + xTD;
  
  html += TD_buttons + getButtonCode(dateFieldName, thisDay, 1, "&gt;") +xTD;
  html += TD_buttons + getButtonCodeYear(dateFieldName, thisDay, 1, "&gt;&gt;") + xTD;
  
  html += xTR;
  html += xTABLE;
  html += xTD;
  html += xTR;

  // this is the row that indicates which day of the week we're on
  html += TR_days;
  for(i = 0; i < dayArrayMed.length; i++)
    html += TD_days + dayArrayMed[i] + xTD;
  html += xTR;

  // now we'll start populating the table with days of the month
  html += TR;

  // first, the leading blanks
  for (i = 0; i < thisDay.getDay(); i++)
    html += TD + "&nbsp;" + xTD;

  // now, the days of the month
  do {
    dayNum = thisDay.getDate();
    TD_onclick = " onclick=\"updateDateField('" + dateFieldName + "', '" + getDateString(thisDay) + "');\">";
    
    if (dayNum == day)
      html += TD_selected + TD_onclick + DIV_selected + dayNum + xDIV + xTD;
    else
      html += TD + TD_onclick + dayNum + xTD;
    
    // if this is a Saturday, start a new row
    if (thisDay.getDay() == 6)
      html += xTR + TR;
    
    // increment the day
    thisDay.setDate(thisDay.getDate() + 1);
  } while (thisDay.getDate() > 1)

  // fill in any trailing blanks
  if (thisDay.getDay() > 0) {
    for (i = 6; i > thisDay.getDay(); i--)
      html += TD + "&nbsp;" + xTD;
  }
  html += xTR;

  // add a button to allow the user to easily return to today, or close the
            // calendar
  var today = new Date();
  var todayString = "Today is " + dayArrayMed[today.getDay()] + ", " + monthArrayMed[ today.getMonth()] + " " + today.getDate();
  html += TR_todaybutton + TD_todaybutton;
  html += "<button class='dpTodayButton' onClick='refreshDatePicker(\"" + dateFieldName + "\");'>[mes actual]</button> ";
  html += "&nbsp;<button class='dpTodayButton' onClick='updateDateField(\"" + dateFieldName + "\");'>[fechar]</button>";
  html += xTD + xTR;

  // and finally, close the table
  html += xTABLE;

  document.getElementById(datePickerDivID).innerHTML = html;
  // add an "iFrame shim" to allow the datepicker to display above selection
            // lists
  adjustiFrame();
}



function getButtonCode(dateFieldName, dateVal, adjust, label)
{
  var newMonth = (dateVal.getMonth () + adjust) % 12;
  var newYear = dateVal.getFullYear() + parseInt((dateVal.getMonth() + adjust) / 12);
  if (newMonth < 0) {
    newMonth += 12;
    newYear += -1;
  }

  return "<button class='dpButton' onClick='refreshDatePicker(\"" + dateFieldName + "\", " + newYear + ", " + newMonth + ");'>" + label + "</button>";
}




function getButtonCodeYear(dateFieldName, dateVal, adjust, label)
{
  var newMonth = dateVal.getMonth ();
  var newYear = dateVal.getFullYear() + parseInt(adjust);

  return "<button class='dpButton' onClick='refreshDatePicker(\"" + dateFieldName + "\", " + newYear + ", " + newMonth + ");'>" + label + "</button>";
}



function getDateString(dateVal)
{
  var dayString = "00" + dateVal.getDate();
  var monthString = "00" + (dateVal.getMonth()+1);
  dayString = dayString.substring(dayString.length - 2);
  monthString = monthString.substring(monthString.length - 2);

  switch (dateFormat) {
    case "dmy" :
      return dayString + dateSeparator + monthString + dateSeparator + dateVal.getFullYear();
    case "ymd" :
      return dateVal.getFullYear() + dateSeparator + monthString + dateSeparator + dayString;
    case "mdy" :
    default :
      return monthString + dateSeparator + dayString + dateSeparator + dateVal.getFullYear();
  }
}



function getFieldDate(dateString)
{
  var dateVal;
  var dArray;
  var d, m, y;

  try {
    dArray = splitDateString(dateString);
    if (dArray) {
      switch (dateFormat) {
        case "dmy" :
          d = parseInt(dArray[0], 10);
          m = parseInt(dArray[1], 10) - 1;
          y = parseInt(dArray[2], 10);
          break;
        case "ymd" :
          d = parseInt(dArray[2], 10);
          m = parseInt(dArray[1], 10) - 1;
          y = parseInt(dArray[0], 10);
          break;
        case "mdy" :
        default :
          d = parseInt(dArray[1], 10);
          m = parseInt(dArray[0], 10) - 1;
          y = parseInt(dArray[2], 10);
          break;
      }
      dateVal = new Date(y, m, d);
    } else if (dateString) {
      dateVal = new Date(dateString);
    } else {
      dateVal = new Date();
    }
  } catch(e) {
    dateVal = new Date();
  }

  return dateVal;
}



function splitDateString(dateString)
{
  var dArray;
  if (dateString.indexOf("/") >= 0)
    dArray = dateString.split("/");
  else if (dateString.indexOf(".") >= 0)
    dArray = dateString.split(".");
  else if (dateString.indexOf("-") >= 0)
    dArray = dateString.split("-");
  else if (dateString.indexOf("\\") >= 0)
    dArray = dateString.split("\\");
  else
    dArray = false;

  return dArray;
}


function updateDateField(dateFieldName, dateString)
{
  var targetDateField = document.getElementsByName (dateFieldName).item(0);
  if (dateString)
    targetDateField.value = dateString;

  var pickerDiv = document.getElementById(datePickerDivID);
  pickerDiv.style.visibility = "hidden";
  pickerDiv.style.display = "none";

  adjustiFrame();
  targetDateField.focus();

  // after the datepicker has closed, optionally run a user-defined function
            // called
  // datePickerClosed, passing the field that was just updated as a parameter
  // (note that this will only run if the user actually selected a date from
            // the datepicker)
  if ((dateString) && (typeof(datePickerClosed) == "function"))
    datePickerClosed(targetDateField);
}



function adjustiFrame(pickerDiv, iFrameDiv)
{
  // we know that Opera doesn't like something about this, so if we
  // think we're using Opera, don't even try
  var is_opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
  if (is_opera)
    return;
  
  // put a try/catch block around the whole thing, just in case
  try {
    if (!document.getElementById(iFrameDivID)) {
      // don't use innerHTML to update the body, because it can cause global
                        // variables
      // that are currently pointing to objects on the page to have bad
                        // references
      // document.body.innerHTML += "<iframe id='" + iFrameDivID + "'
                        // src='javascript:false;' scrolling='no' frameborder='0'>";
      var newNode = document.createElement("iFrame");
      newNode.setAttribute("id", iFrameDivID);
      newNode.setAttribute("src", "javascript:false;");
      newNode.setAttribute("scrolling", "no");
      newNode.setAttribute ("frameborder", "0");
      document.body.appendChild(newNode);
    }
    
    if (!pickerDiv)
      pickerDiv = document.getElementById(datePickerDivID);
    if (!iFrameDiv)
      iFrameDiv = document.getElementById(iFrameDivID);
    
    try {
      iFrameDiv.style.position = "absolute";
      iFrameDiv.style.width = pickerDiv.offsetWidth;
      iFrameDiv.style.height = pickerDiv.offsetHeight ;
      iFrameDiv.style.top = pickerDiv.style.top;
      iFrameDiv.style.left = pickerDiv.style.left;
      iFrameDiv.style.zIndex = pickerDiv.style.zIndex - 1;
      iFrameDiv.style.visibility = pickerDiv.style.visibility ;
      iFrameDiv.style.display = pickerDiv.style.display;
    } catch(e) {
    }

  } catch (ee) {
  }

}
// ********************************Functions used for Date
// Picker*************************//

