var currentCalender;
function gel(a) {
  return document.getElementById(a);
}

if (window.onload) {
	var onChangeFunc = new String(window.onload);
	eval('window.onload = ' + onChangeFunc.substr(0, onChangeFunc.length - 1) + 'var calendarDiv = document.createElement(\"div\");calendarDiv.id = \"calendar_owner\";calendarDiv.style.position = \"absolute\";var calendarIframe = document.createElement(\"iframe\");calendarIframe.id = \"calendarNew\";calendarIframe.name = \"calendarNew\";calendarIframe.src = \"/js/calendarNewNew/index.html\";calendarIframe.scrolling = \"no\";calendarIframe.style.border = \"0\";calendarIframe.frameBorder = \"0\";calendarIframe.style.width = \"150px\";calendarIframe.style.height = \"170px\";calendarIframe.style.display = \"none\";calendarIframe.style.position = \"absolute\";calendarIframe.style.left = \"24px\";calendarDiv.appendChild(calendarIframe);document.body.appendChild(calendarDiv);' + '}');	
} else {
	window.onload = function () {
		var calendarDiv = document.createElement("div");
		calendarDiv.id = "calendar_owner";
		calendarDiv.style.display = "none";
		calendarDiv.style.position = "absolute";
		
		var calendarIframe = document.createElement("iframe");
		calendarIframe.id = "calendarNew";
		calendarIframe.name = "calendarNew";
		calendarIframe.src = "/js/calendarNewNew/index.html";
		calendarIframe.scrolling = "no";
		calendarIframe.style.border = "0";
		calendarIframe.frameBorder = "0";
		calendarIframe.style.width = "150px";
		calendarIframe.style.height = "170px";
		calendarIframe.style.display = "none";
		calendarIframe.style.position = "absolute";
		calendarIframe.style.left = "24px";
		calendarDiv.appendChild(calendarIframe);
		document.body.appendChild(calendarDiv);
	}
}
/**
 * renders calendar control
 */
 function getElementPosition(obj) {
      var x = y = 0;
      while(obj) {
            x += obj.offsetLeft;
            y += obj.offsetTop;
            obj = obj.offsetParent;
      }
      return {"left":x, "top":y};
}

// date functions

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

/**
 * returns month number
 */
function getMonthByMonth(month) {
    for(var i in Months) {
        if (Months[i] == month) {
            return i;
        }
    }
    return -1;
}

/**
 * returns Date object for form date format: 10-Jan-2008
 */
function getDateFromForm(date) {
    return new Date(1 * date.substr(7, 4), getMonthByMonth(date.substr(3, 3)), date.substr(0, 2));
}

function showCalenderNew(type) {
    var calendarNew = gel('calendarNew');
    var calendar_owner = gel('calendar_owner');
    if (calendarNew && calendarNew.style.display == 'block') {
        calendarNew.style.display = 'none';
    }

    if (calendarNew && calendarNew.style.display != 'block') {
        var minDate = new Date(2005, 1, 1);
        var image = gel('CalendarImage1');

        if (gel('CalendarImage' + (type + 1))) {
            var image = gel('CalendarImage' + (type + 1));
        } else {
            type = 0;
        }
        currentCalender = type;

        // getting current date

        currentDate = getDateFromForm(gel('CalendarDate' + (type + 1)).value);
        
        pageDate = currentDate;

        if (pageDate == 'Invalid Date' || isNaN(pageDate)) {
        	pageDate = new Date();
        }
        window.frames['calendarNew'].YAHOO.calendar.cal1.pageDate = pageDate;
        window.frames['calendarNew'].YAHOO.calendar.cal1.selectedDates[0] = new Array(pageDate.getFullYear(),pageDate.getMonth()+1,pageDate.getDate());

        window.frames['calendarNew'].YAHOO.calendar.cal1.minDate = minDate;
        window.frames['calendarNew'].YAHOO.calendar.cal1.render();
        ArrangeCalendar(calendarNew.parentNode, image);
        calendarNew.style.display = 'block';
        calendar_owner.style.display = 'block';
    }
}

/**
 * sets date to control
 */
function mySetDate(date) {
    var calendarNew = gel('calendarNew');
    dateF = (date[0].getDate() < 10 ? '0'+date[0].getDate() : date[0].getDate()) + '-' + Months[date[0].getMonth()] + '-' + date[0].getFullYear();

    var ctrl   = gel('CalendarDate' + (currentCalender + 1));
    ctrl.value = dateF;
    ctrl.date  = date;
    if (ctrl.onchange) {
    	ctrl.onchange();
    }    
    calendarNew.style.display = 'none';
}

/**
 * arranges calendar
 */
function ArrangeCalendar(ctrl, imageCtrl) {
    if (imageCtrl) {
        var position = getElementPosition(imageCtrl);
        var top;
        var left;
        var margin;
        ctrl.style.zIndex   = 10001;
        ctrl.style.position = 'absolute';
        if (gel('courseId').value == 4 && BrowserDetect.browser == 'Explorer' && BrowserDetect.version == 6) {
        	top = -240;left = 0;margin = '0 0 0 0';
        	ctrl.style.top      = position.top + top + 'px';
        	ctrl.style.left     = position.left + left + 'px';
        } else if (gel('courseId').value == 4 && BrowserDetect.browser == 'Explorer' && BrowserDetect.version == 7) {
        	top = -20;left = 0;margin = '0 0 0 0';
        	ctrl.style.top      = position.top + top + 'px';
        	ctrl.style.left     = position.left + left + 'px';
        } else {
        	ctrl.style.top      = position.top   + 'px';
        	ctrl.style.left     = position.left  + 'px';
        }
    }
}