/** 
 * Java script file for datepanel component
 *
 * @version 2.0.1
 * @author ZFort Group
 */

    function getDaysForMonth(monthNum, yearNum)
    {
        if ((monthNum == '-1') || (yearNum == '-1')) return 31;
        
        switch (monthNum) 
        {
        	case "1":
        	case "3":
        	case "5":
        	case "7":
        	case "8":
        	case "10":
        	case "12":
        		return 31;
        		break;
            case "2":
        		return (yearNum % 4 != 0) ? 28 : ((yearNum % 2000 == 0) ? 29 : ((yearNum % 400 != 0) ? 29 : 28));
        		return 28;
        		break;
        	case "4":
        	case "6":
        	case "9":
        	case "11":
        		return 30;
        		break;
        		
        	default:
        	   return 0;
        		break;
        }        
    }
    
    function onMonthYearChanged(objectName, useHeaders)
    {
        if (useHeaders == null) useHeaders = false;
        
        currentDay = document.getElementById(objectName + "_day").options[document.getElementById(objectName + "_day").selectedIndex].value;
        currentMonth = document.getElementById(objectName + "_month").options[document.getElementById(objectName + "_month").selectedIndex].value;
        currentYear = document.getElementById(objectName + "_year").options[document.getElementById(objectName + "_year").selectedIndex].value;
        
        dayHeader = document.getElementById(objectName + "_day").options[0].text;
        
        daysInMonth = getDaysForMonth(currentMonth, currentYear);
                
        document.getElementById(objectName + "_day").innerHTML = "";
        
        if (useHeaders)
        {
            var obj = document.createElement("OPTION");
    		obj.value = '-1';
    		obj.text = dayHeader;
    		
    		document.getElementById(objectName + "_day").options.add(obj);            
        }
        
        for (i = 1; i <= daysInMonth; i++) 
        {
            var obj = document.createElement("OPTION");
    		obj.value = i;
    		obj.text = i;
    		
    		document.getElementById(objectName + "_day").options.add(obj);
        }
        
        if ((currentDay == '-1') || (currentDay > daysInMonth))
        {
            document.getElementById(objectName + "_day").selectedIndex = 0;            
        }
        else
        {
            document.getElementById(objectName + "_day").selectedIndex = (!useHeaders) ? (currentDay - 1) : currentDay;
        }
    }