
  
  
var cal1;
var cal2;
var checkClicks;
var over_cal = false;
var day;
var month;
var year;
function initCalendar() {
    var container1 = document.getElementById('cal1Container');
    if(container1 != null){
        cal1 = new YAHOO.widget.Calendar("cal1","cal1Container");

        cal1.selectEvent.subscribe(getDate, cal1, true);
        cal1.renderEvent.subscribe(setupListeners, cal1, true);

        var container2 = document.getElementById('cal2Container');
        if(container2 != null){
            cal2 = new YAHOO.widget.CalendarGroup("cal2","cal2Container", { MULTI_SELECT: true, close: true});

            cal2.selectEvent.subscribe(getDate2, cal2, true);
            cal2.renderEvent.subscribe(setupListeners2, cal2, true);

            YAHOO.util.Event.addListener(['dateSelect','dateSelectPop', 'dateSelectPop2'], 'focus', showCal);
            YAHOO.util.Event.addListener(['dateSelect','dateSelectPop', 'dateSelectPop2'], 'blur', hideCal);

            cal1.render();
            cal2.render();
        }else{
            YAHOO.util.Event.addListener(['dateSelectPop', 'dateSelectPop2','dateSelect3', 'dateSelect4'], 'focus', showCal);
            YAHOO.util.Event.addListener(['dateSelectPop', 'dateSelectPop2','dateSelect3', 'dateSelect4'], 'blur', hideCal);
            cal1.render();
        }
    }


}

function setupListeners() {
    YAHOO.util.Event.addListener('cal1Container', 'mouseover', overCal);
    YAHOO.util.Event.addListener('cal1Container', 'mouseout', outCal);

}
function setupListeners2() {
    YAHOO.util.Event.addListener('cal2Container', 'mouseover', overCal);
    YAHOO.util.Event.addListener('cal2Container', 'mouseout', outCal);
}

function getDate() {
    var calDate = this.getSelectedDates()[0];
    dayTemp = calDate.getDate();
    monthTemp = calDate.getMonth()+1;
    yearTemp = calDate.getFullYear();

    calDate = (calDate.getMonth() + 1) + '/' + calDate.getDate() + '/' + calDate.getFullYear();
    cur_field.value = calDate;
    if(cur_field.id == 'dateSelectPop'){
        day = document.getElementById('doa_dd');
        month = document.getElementById('doa_mm');
        year = document.getElementById('doa_yy');

        day.value = dayTemp;
        month.value = monthTemp;
        year.value = yearTemp;
    }else if(cur_field.id == 'dateSelectPop2'){
        day = document.getElementById('dod_dd');
        month = document.getElementById('dod_mm');
        year = document.getElementById('dod_yy');

        day.value = dayTemp;
        month.value = monthTemp;
        year.value = yearTemp;
    }else if(cur_field.id == 'dateSelect3'){
        day = document.getElementById('doa_dd2');
        month = document.getElementById('doa_mm2');
        year = document.getElementById('doa_yy2');

        day.value = dayTemp;
        month.value = monthTemp;
        year.value = yearTemp;
    }else if(cur_field.id == 'dateSelect4'){
        day = document.getElementById('dod_dd2');
        month = document.getElementById('dod_mm2');
        year = document.getElementById('dod_yy2');

        day.value = dayTemp;
        month.value = monthTemp;
        year.value = yearTemp;
    }


    over_cal = false;
    hideCal();
}

function getDate2() {
    var calDate = this.getSelectedDates();
    var calDateStr = [];
    for (var i = 0; i < calDate.length; i++) {
        calDateStr[calDateStr.length] = (calDate[i].getMonth() + 1) + '/' + calDate[i].getDate() + '/' + calDate[i].getFullYear();
    }
    cur_field.value = calDateStr.join('-');
    checkClicks = checkClicks+1;
    if(checkClicks==2){
        over_cal = false;
        hideCal();
    }
}


function showCal(ev) {
    var tar = YAHOO.util.Event.getTarget(ev);
    cur_field = tar;

    if(cur_field.id =='dateSelect' || cur_field.id =='dateSelectPop' || cur_field.id == 'dateSelectPop2'|| cur_field.id == 'dateSelect3' || cur_field.id == 'dateSelect4'){
        var xy = YAHOO.util.Dom.getXY(tar);
        var date = YAHOO.util.Dom.get(tar).value;
        if(cur_field.id == 'dateSelect'){
            checkClicks=0;
            YAHOO.util.Dom.setStyle('cal2Container', 'display', 'block');
            xy[1] = xy[1] + 20;
            YAHOO.util.Dom.setXY('cal2Container', xy);
        }else if(cur_field.id =='dateSelectPop' || cur_field.id == 'dateSelectPop2'|| cur_field.id == 'dateSelect3' || cur_field.id == 'dateSelect4'){
            YAHOO.util.Dom.setStyle('cal1Container', 'display', 'block');
            xy[1] = xy[1]-60;
            YAHOO.util.Dom.setXY('cal1Container', xy);
        }
        if (date) {
            if(cur_field.id == 'dateSelect' && date != 'Date or Date Range'){
                cal2.deselectAll();
                cal2.render();
            }else if(cur_field.id =='dateSelectPop' || cur_field.id == 'dateSelectPop2'|| cur_field.id == 'dateSelect3' || cur_field.id == 'dateSelect4'){
                cal1.cfg.setProperty('selected', date);
                cal1.cfg.setProperty('pagedate', new Date(date), true);
                cal1.render();
            }
        } else {
            if(cur_field.id =='dateSelectPop' || cur_field.id == 'dateSelectPop2'|| cur_field.id == 'dateSelect3' || cur_field.id == 'dateSelect4'){
                cal1.cfg.setProperty('selected', '');
                cal1.cfg.setProperty('pagedate', new Date(), true);
                cal1.render();
            }else if(cur_field.id == 'dateSelect'){
                cal2.render();
            }
        }
    }else{

        over_cal = false;
        hideCal();
    }

}

function hideCal() {
    if (!over_cal) {
        YAHOO.util.Dom.setStyle('cal1Container', 'display', 'none');
        YAHOO.util.Dom.setStyle('cal2Container', 'display', 'none');

        cal1.render();
     if(cal2 != null){
        cal2.render();
     }
    }
}

function overCal() {
    over_cal = true;
}

function outCal() {
    over_cal = false;
}

YAHOO.util.Event.addListener(window, 'load',initCalendar);
