var Months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];

var currentCalender;
function showCalenderNew(type) {
    var calendarNew = $(namespace + 'calendarNew');
    if (calendarNew.style.display == 'none') {
        minDate = new Date();
        if(type == 1) {
            var bottomImage = $(namespace + "bottomCalImage");
            calendarNew.style.top = (bottomImage.parentNode.parentNode.offsetTop);
            currentCalender = 1;
            pageDate = ($$('input[id=' + namespace+ 'departureDay]')[0] == 'undefined') ? $$('input[id=' + namespace+ 'departureDay]')[0].date : null;
            if (pageDate == null) {
                pageDate = new Date();
                minDate  = new Date(); 
                if (namespace == '') {
                    var trueReturnDay = $$('select[id=returnDay] option').find(
                        function(optionElement) {
                            return optionElement.selected;
                        }
                    ).value;
                    pageDate.setDate(trueReturnDay*1);
                    var trueReturnMonthAndYear = $$('select[id=returnMonth] option').find(
                        function(optionElement) {
                            return optionElement.selected;
                        }
                    ).value;
                    var trueReturnMonth = trueReturnMonthAndYear.substr(4,2) - 1;
                    var trueReturnYear = trueReturnMonthAndYear.substr(0,4);
                    //console.log(trueReturnMonth);
                    pageDate.setMonth(trueReturnMonth*1);
                    pageDate.setFullYear(trueReturnYear);
                    var trueDepartureDay = $$('select[id=departureDay] option').find(
                        function(optionElement) {
                            return optionElement.selected;
                        }
                    ).value;
                    console.log(Number(trueDepartureDay));
                    minDate.setDate(Number(trueDepartureDay));
                    var trueDepartureMonthAndYear = $$('select[id=departureMonth] option').find(
                        function(optionElement) {
                            return optionElement.selected;
                        }
                    ).value;
                    var trueDepartureMonth = trueDepartureMonthAndYear.substr(4,2) - 1;
                    var trueDeparturenYear = trueDepartureMonthAndYear.substr(0,4);
                    //console.log(trueDepartureMonth);
                    console.log(trueDepartureMonth*1);
                    console.log(trueDeparturenYear);
                    minDate.setMonth(trueDepartureMonth*1);
                    minDate.setFullYear(trueDeparturenYear);
                }
                else {
                    pageDate.setDate(parseInt($(namespace + "returnDay").value));
                    var trueReturnMonthAndYear = $(namespace + "returnMonth").value;
                    var trueReturnMonth = trueReturnMonthAndYear.substr(4,2) - 1;
                    var trueReturnYear = trueReturnMonthAndYear.substr(0,4);
                    pageDate.setMonth(trueReturnMonth*1);
                    pageDate.setFullYear(trueReturnYear);
                    
                    //console.log(trueReturnMonth);
                    //console.log(trueReturnYear);
                    minDate.setDate(parseInt($(namespace + "departureDay").value));
                    var trueDeparturenMonthAndYear = $(namespace + "departureMonth").value;
                    var trueDeparturenMonth = trueDeparturenMonthAndYear.substr(4,2) - 1;
                    var trueDeparturenYear = trueDeparturenMonthAndYear.substr(0,4);
                    minDate.setMonth(trueDeparturenMonth*1);
                    minDate.setFullYear(trueDeparturenYear);
                } 
                //minDate = new Date();
                //minDate.setDate(parseInt($(namespace + "departureDay").value));
            } else {
                minDate = $$('input[id=' + namespace+ 'departureDay]')[0].date;
            }
        } else {
            var topCalImage = $(namespace + "topCalImage");
            calendarNew.style.top = (topCalImage.parentNode.parentNode.offsetTop);
            currentCalender = 0;
            
            pageDate = ($$('input[id=' + namespace+ 'departureDay]')[0] == 'undefined') ? $$('input[id=' + namespace+ 'departureDay]')[0].date : null;
            
            if (pageDate == null) {
                pageDate = new Date();
                if (namespace == '') {
                    var trueDepartureDay = $$('select[id=departureDay] option').find(
                        function(optionElement) {
                            return optionElement.selected;
                        }
                    ).value;
                    pageDate.setDate(trueDepartureDay);
                    var trueDepartureMonthAndYear = $$('select[id=departureMonth] option').find(
                        function(optionElement) {
                            return optionElement.selected;
                        }
                    ).value;
                    var trueDepartureMonth = trueDepartureMonthAndYear.substr(4,2) - 1;
                    var trueDeparturenYear = trueDepartureMonthAndYear.substr(0,4);
                    pageDate.setMonth(trueDepartureMonth*1);
                    pageDate.setFullYear(trueDeparturenYear);
                }
                else {
                    pageDate.setDate(parseInt($(namespace + "departureDay").value));
                    var trueDeparturenMonthAndYear = $(namespace + "departureMonth").value;
                    var trueDeparturenMonth = trueDeparturenMonthAndYear.substr(4,2) - 1;
                    var trueDeparturenYear = trueDeparturenMonthAndYear.substr(0,4);
                    pageDate.setMonth(trueDeparturenMonth*1);
                    pageDate.setFullYear(trueDeparturenYear);
                }
            }
        }
        
        
        //alert(type);
        
        window.frames[namespace + "calendarNew"].YAHOO.calendar.cal1.pageDate = pageDate;
        window.frames[namespace + "calendarNew"].YAHOO.calendar.cal1.selectedDates[0] = new Array(pageDate.getFullYear(),pageDate.getMonth()+1,pageDate.getDate());
        window.frames[namespace + "calendarNew"].YAHOO.calendar.cal1.minDate = minDate;
        window.frames[namespace + "calendarNew"].YAHOO.calendar.cal1.render();
        calendarNew.style.display = 'block';
    }
};

function mySetDate(date) {

    var calendarNew = $(namespace + 'calendarNew');
    if (namespace == '') {
        // Hack fo IE
        departureMonthElem = $A($$('select[id=departureMonth]')).first(); 
        returnMonthElem = $A($$('select[id=returnMonth]')).first();
        departureDayElem = $A($$('select[id=departureDay]')).first();
        returnDayElem = $A($$('select[id=returnDay]')).first();
    } else {
        departureMonthElem = $(namespace + "departureMonth"); 
        returnMonthElem = $(namespace + "returnMonth");
        departureDayElem = $(namespace + "departureDay");
        returnDayElem = $(namespace + "returnDay");    
    }
        
    var month = date[0].getMonth() + 1;
    if (month < 10) {
        month = "" + "0" + month;
    }
    month = "" + date[0].getFullYear() + month;
    day = date[0].getDate();
    if (currentCalender == 0) {
        copyDate = new Date(date[0]);
        departureDayElem.date    = copyDate;
        departureDayElem.value   = day;
        departureMonthElem.value = month;
        date[0].setDate(day + ((namespace.indexOf('hotel') >= 0)? 3 : 14));
        if ($(namespace + "departure_date")) {
            $(namespace + "departure_date").value = copyDate.getDate().toString() + " " + Months[copyDate.getMonth()] + " " + copyDate.getFullYear().toString();
        }
    }
    var month = date[0].getMonth() + 1;
    if (month < 10) {
        month = ""+ "0"+month;
    }
    month = ""+ date[0].getFullYear() + month;
    returnDayElem.value   = date[0].getDate();
    returnMonthElem.value = month;
    returnDayElem.date    = date[0];
    if($(namespace + "return_date")) {
        $(namespace + "return_date").value = date[0].getDate().toString()+" "+Months[date[0].getMonth()]+" "+date[0].getFullYear().toString();
    }
    calendarNew.style.display = 'none';
};