﻿/*
    Created by: Randell Erick Flores
*/

/* Preload Images. */
var oImage=new Image();
var oOverImage=new Image();
var oDownImage=new Image();
var imgPath='../img/dropdown/';

oImage.src=imgPath+'ddb.gif';
oOverImage.src=imgPath+'ddbo.gif';
oDownImage.src=imgPath+'ddbd.gif';

document.onmousedown=document_Mousedown;

function initCalendar(calendarId){
    var date=new Date();
    var oYear=redf_getElementById('calendar_Form_Year');
    var oToday=redf_getElementById('calendar_Form_Year');
    var oNext=redf_getElementById('calendar_Form_Next');
    var oPrev=redf_getElementById('calendar_Form_Prev');
    var oBtn=redf_getElementById(calendarId+'_o2');
    
    redf_getElementById(calendarId).setValue=
    function(value){
        try{
            redf_getElementById(calendarId+'_o1').value=value;
            redf_getElementById(calendarId+'_HidderField').value=value;
        }
        catch(e){
        }
    }
    
    redf_getElementById(calendarId).getValue=
    function(){
        return redf_getElementById(calendarId+'_o1').value;
    }
    
    oNext.onclick=
    function(){
        var oMonth=redf_getElementById('calendar_Form_Month');
        var oYear=redf_getElementById('calendar_Form_Year');

        if(oMonth.selectedIndex==11){
            oMonth.selectedIndex=0;
            oYear.selectedIndex++;
        }
        else{
            oMonth.selectedIndex++;
        }

        fillYears();
        fillCalendayDays();
    }

    oPrev.onclick=
    function(){
        var oMonth=redf_getElementById('calendar_Form_Month');
        var oYear=redf_getElementById('calendar_Form_Year');
        
        if(oMonth.selectedIndex==0){
            oMonth.selectedIndex=11;
            oYear.selectedIndex--;
        }
        else{
            oMonth.selectedIndex--;
        }

        fillYears();
        fillCalendayDays();
    }

    oBtn.onmouseover=function(){event.srcElement.src=oOverImage.src;}
    oBtn.onmouseout=function(){event.srcElement.src=oImage.src;}
    oBtn.onmousedown=function(){event.srcElement.src=oDownImage.src;showHideCalendar(event.srcElement.id.split('_')[0]);}
    oBtn.onmouseup=function(){event.srcElement.src=oOverImage.src;}

    redf_getElementById(calendarId+'_o1').value=redf_getElementById(calendarId+'_HidderField').value;
    oBtn.src=oImage.src;
}
function fillYears(){
    var ddlYear=redf_getElementById('calendar_Form_Year');
    var currSetYear=ddlYear.value;
    var prec=10;
    
    var j=0;
    for(var i=parseInt(currSetYear)-prec;i<=parseInt(currSetYear)+prec;i++){
        ddlYear.options[j]=new Option(i,i);
        j++;
    }
    
    ddlYear.value=currSetYear;
}
function fillCalendayDays(){
    var ddlMonth=redf_getElementById('calendar_Form_Month');
    var ddlYear=redf_getElementById('calendar_Form_Year');

    var month=ddlMonth.selectedIndex+1;
    var year=parseInt(ddlYear.options[ddlYear.selectedIndex].innerText);

    var currMonth=new Date(month+'/'+'1'+'/'+year);
    var prevMonth=new Date((month==1?'12':month-1)+'/'+'1'+'/'+(year-(month==1?1:0)));

    var prevMonthNumDays=redf_daysInMonth(prevMonth.getMonth(),prevMonth.getFullYear());
    var currMonthNumDays=redf_daysInMonth(currMonth.getMonth(),currMonth.getFullYear());

    var prevStart=(prevMonthNumDays-currMonth.getDay())+1;
    var currStart=1;
    var nextStart=1;

    var dayBox;
    var today=new Date();

    for(var i=0;i<42;i++){

        dayBox=redf_getElementById('cal_d'+i.toString());
        dayBox.onclick=daySelected;

        if(i<currMonth.getDay()){
            dayBox.innerText=prevStart;
            dayBox.className = (i%7==0?"NextPrevSun":"NextPrev");
            dayBox.style.tag='p';
            prevStart++;
        }
        else if(currStart<=currMonthNumDays){
            dayBox.innerText=currStart;
            if(year==today.getFullYear()&&currStart==today.getDate()&&month==(today.getMonth()+1)){
                dayBox.className = (i%7==0?"CurrentSun":"Today");
            }
            else{
                dayBox.className = (i%7==0?"CurrentSun":"Current");
            }
            dayBox.style.tag='c';
            currStart++;
        }
        else{
            dayBox.innerText=nextStart;
            dayBox.className = (i%7==0?"NextPrevSun":"NextPrev");
            dayBox.style.tag='n';
            nextStart++;
        }
    }
}
function daySelected(){
    var oCal=redf_getElementById('calendar_Form');
    var oMonth=redf_getElementById('calendar_Form_Month');
    var oYear=redf_getElementById('calendar_Form_Year');
    var oDay=event.srcElement;

    if(oDay.style.tag!='c'){
        if(oDay.style.tag=='n'){
            if(oMonth.selectedIndex==11){
                oMonth.selectedIndex=0;
                oYear.selectedIndex++;
            }
            else{
                oMonth.selectedIndex++;
            }
        }
        else if(oDay.style.tag=='p'){
            if(oMonth.selectedIndex==0){
                oMonth.selectedIndex=11;
                oYear.selectedIndex--;
            }
            else{
                oMonth.selectedIndex--;
            }
        }
        
        fillYears();
        fillCalendayDays();
    }
    
    redf_getElementById(oCal.sender+'_o1').value=(oMonth.selectedIndex+1)+'/'+oDay.innerText+'/'+oYear.value.toString();
    redf_getElementById(oCal.sender+'_HidderField').value=(oMonth.selectedIndex+1)+'/'+oDay.innerText+'/'+oYear.value.toString();
    redf_getElementById(oCal.sender).value=redf_getElementById(oCal.sender+'_o1').value;
    oCal.style.display='none';
}
function showHideCalendar(parentId){
    var oCal=redf_getElementById('calendar_Form');

    if(oCal.style.display=='block')
        oCal.style.display='none';
    else{
        var oMonth=redf_getElementById('calendar_Form_Month');
        var oYear=redf_getElementById('calendar_Form_Year');
        var oToday=redf_getElementById('calendar_Form_Today')
        var oInput=redf_getElementById(parentId+'_o1');
        var oBtn=redf_getElementById(parentId+'_o2');
        var oCalRect=redf_getElementPosition(oCal);
        var oBtnRect=redf_getElementPosition(oBtn);
        var date;

        oCal.sender=parentId;

        redf_setElementX(oCal,(oBtnRect.x-parseInt(oCal.currentStyle.width))+2);
        redf_setElementY(oCal,oBtnRect.y+parseInt(oBtn.currentStyle.height)+3);
        
        oYear.length=0;
    
        if(oInput.value=='')
            date=new Date();
        else{
            date=new Date(oInput.value);
            if(date=='NaN')date=new Date();
        }
            
        oMonth.selectedIndex=date.getMonth();
        oYear.options[oYear.options.length]=new Option(date.getFullYear(),date.getFullYear());
        var currentDate=new Date();
        oToday.innerText='Today: ' + (currentDate.getMonth()+1)+'/'+currentDate.getDate()+'/'+currentDate.getFullYear();
        
        fillYears();
        fillCalendayDays();
        oCal.style.display='block';
    }
}
function todayClick(){
    var oMonth=redf_getElementById('calendar_Form_Month');
    var oYear=redf_getElementById('calendar_Form_Year');
    var today=new Date();
    
    oMonth.selectedIndex=today.getMonth();

    oYear.length=0;
    oYear.options[oYear.options.length]=new Option(today.getFullYear(),today.getFullYear());
    fillYears();    
    fillCalendayDays();
}

function document_Mousedown(){
    var tmp=window.event.srcElement;
    
    for(var i=0;i<10;i++){
        if(tmp==null)break;
        if(tmp.id==null)break;
        if(tmp.id=='calendar_Form' || tmp.id.split('_')[1]=='o2')return;
        tmp=tmp.parentElement;
    }
    
    redf_getElementById('calendar_Form').style.display='none';
}

document.writeln('<table id="calendar_Form" cellpadding="0" cellspacing="0" class="Main" style="left: 390px; top: 205px; display:none; height: 126px; z-index:10000; width: 199px;" sender="">');
document.writeln('<tr>');
document.writeln('<td>');
// <%--Header Start--%>
document.writeln('<table cellpadding="2" cellspacing="0" class="Header">');
document.writeln('<tr>');
document.writeln('<td id="calendar_Form_Prev" align="center" nowrap="nowrap" style="font-size: 9pt; color:#505080; font-family:Verdana;">');
document.writeln('<img alt="" src="'+imgPath+'cal_prev.gif" /></td>');
document.writeln('<td align="center" nowrap="nowrap" style="font-weight: bold; font-size: 10pt; cursor: default; color: #505080; font-family: Verdana; height: 18pt;" width="100%">');
document.writeln('&nbsp;');
document.writeln('<select id="calendar_Form_Month" style="font-size: 9pt; font-family: Verdana; cursor:hand; " onchange="fillCalendayDays();">');
document.writeln('<option selected="selected">January</option>');
document.writeln('<option>February</option>');
document.writeln('<option>March</option>');
document.writeln('<option>April</option>');
document.writeln('<option>May</option>');
document.writeln('<option>June</option>');
document.writeln('<option>July</option>');
document.writeln('<option>August</option>');
document.writeln('<option>September</option>');
document.writeln('<option>October</option>');
document.writeln('<option>November</option>');
document.writeln('<option>December</option>');
document.writeln('</select>');
document.writeln('&nbsp;');
document.writeln('<select id="calendar_Form_Year" style="font-size: 9pt; font-family: Verdana; cursor:hand; cursor:hand; " onchange="fillYears();fillCalendayDays();">');
document.writeln('</select>');
document.writeln('&nbsp;');
document.writeln('</td>');
document.writeln('<td id="calendar_Form_Next" align="center" nowrap="nowrap" style="font-size: 9pt;background-image: url(./Employment History_files/ig_cal_blue1.gif); color: #505080; font-family: Verdana; cursor:hand; ">');
document.writeln('<img align="middle" alt="" src="'+imgPath+'cal_next.gif" />');
document.writeln('</td>');
document.writeln('</tr>');
document.writeln('</table>');
// <%--Header End--%>
document.writeln('</td>');
document.writeln('</tr>');
document.writeln('<tr>');
document.writeln('<td style="height: 100%">');
// <%--Body Start--%>
document.writeln('<table id="calendar_Form_Body" border="0" cellpadding="2" cellspacing="0"rules="none" class="Body">');
document.writeln('<tr id="calendar_Form_WeekDayHeader">');
document.writeln('<td align="center" class="WeedDayName" style="color:#ff0000;">Sun</td>');
document.writeln('<td align="center" class="WeedDayName">Mon</td>');
document.writeln('<td align="center" class="WeedDayName">Tue</td>');
document.writeln('<td align="center" class="WeedDayName">Wed</td>');
document.writeln('<td align="center" class="WeedDayName">Thu</td>');
document.writeln('<td align="center" class="WeedDayName">Fri</td>');
document.writeln('<td align="center" class="WeedDayName">Sat</td>');
document.writeln('</tr>');
document.writeln('<tr>');
document.writeln('<td id="cal_d0" align="center"></td>');
document.writeln('<td id="cal_d1" align="center"></td>');
document.writeln('<td id="cal_d2" align="center"></td>');
document.writeln('<td id="cal_d3" align="center"></td>');
document.writeln('<td id="cal_d4" align="center"></td>');
document.writeln('<td id="cal_d5" align="center"></td>');
document.writeln('<td id="cal_d6" align="center"></td>');
document.writeln('</tr>');
document.writeln('<tr>');
document.writeln('<td id="cal_d7" align="center"></td>');
document.writeln('<td id="cal_d8" align="center"></td>');
document.writeln('<td id="cal_d9" align="center"></td>');
document.writeln('<td id="cal_d10" align="center"></td>');
document.writeln('<td id="cal_d11" align="center"></td>');
document.writeln('<td id="cal_d12" align="center"></td>');
document.writeln('<td id="cal_d13" align="center"></td>');
document.writeln('</tr>');
document.writeln('<tr>');
document.writeln('<td id="cal_d14" align="center"></td>');
document.writeln('<td id="cal_d15" align="center"></td>');
document.writeln('<td id="cal_d16" align="center"></td>');
document.writeln('<td id="cal_d17" align="center"></td>');
document.writeln('<td id="cal_d18" align="center"></td>');
document.writeln('<td id="cal_d19" align="center"></td>');
document.writeln('<td id="cal_d20" align="center"></td>');
document.writeln('</tr>');
document.writeln('<tr>');
document.writeln('<td id="cal_d21" align="center"></td>');
document.writeln('<td id="cal_d22" align="center"></td>');
document.writeln('<td id="cal_d23" align="center"></td>');
document.writeln('<td id="cal_d24" align="center"></td>');
document.writeln('<td id="cal_d25" align="center"></td>');
document.writeln('<td id="cal_d26" align="center"></td>');
document.writeln('<td id="cal_d27" align="center"></td>');
document.writeln('</tr>');
document.writeln('<tr>');
document.writeln('<td id="cal_d28" align="center"></td>');
document.writeln('<td id="cal_d29" align="center"></td>');
document.writeln('<td id="cal_d30" align="center"></td>');
document.writeln('<td id="cal_d31" align="center"></td>');
document.writeln('<td id="cal_d32" align="center"></td>');
document.writeln('<td id="cal_d33" align="center"></td>');
document.writeln('<td id="cal_d34" align="center"></td>');
document.writeln('</tr>');
document.writeln('<tr>');
document.writeln('<td id="cal_d35" align="center"></td>');
document.writeln('<td id="cal_d36" align="center"></td>');
document.writeln('<td id="cal_d37" align="center"></td>');
document.writeln('<td id="cal_d38" align="center"></td>');
document.writeln('<td id="cal_d39" align="center"></td>');
document.writeln('<td id="cal_d40" align="center"></td>');
document.writeln('<td id="cal_d41" align="center"></td>');
document.writeln('</tr>');
document.writeln('</table>');
// <%--Body End--%>
document.writeln('</td>');
document.writeln('</tr>');
document.writeln('<tr>');
// <%--Footer Start--%>
document.writeln('<td id="calendar_Form_Footer" align="left" class="Footer"><label id="calendar_Form_Today" style="cursor:hand; " onclick="todayClick();"></label></td>');
// <%--Footer End--%>
document.writeln('</tr>');
document.writeln('</table>');