
var cTableId = '';

var today = new Date();

var viewDate;
var selectedDate;

var PREVIOUS_DAY = '#A9A9A9';
var CURRENT_DAY = '#000000';
var FUTURE_DAY = '#000000';

function zipCodePresent() {
       if(crmGetCookie("ZipCode"))
            return true;
       else
            return false; 
}

function calendar(optDate) {
    viewDate = new Date();                      //default to viewing the current month
    selectedDate = null;                        //no cell is selected by default on the calendar
    
    if(optDate) {                               //an existing date has been selected        
        viewDate.setTime(Date.parse(optDate));        
        selectedDate = new Date();
        selectedDate.setTime(Date.parse(optDate));        
    }
    
    render();      
}

function chMonth(v) {
    viewDate.setFullYear(viewDate.getFullYear(), viewDate.getMonth() + v, 1)
    //viewDate.setMonth(viewDate.getMonth() + v);
    render();  
}

function render() {
    var monthName, sidx, stopidx, dateIterator;
    var cRow = 0;
    var dItr = 1;
    
    monthName = monthLut(viewDate.getMonth() + 1);
    
    sidx = getFirstDayOfMonth(viewDate);    //returns an integer from 0 - 6 indicating which day of the week the month starts on    
    stopidx = getLastDayOfMonth(viewDate);  //returns an integer from 1 - 31 indicating how many days the month contains
	//alert(stopidx);    

    dateIterator = new Date();
    dateIterator.setFullYear(viewDate.getFullYear(),viewDate.getMonth(),viewDate.getDate());
    //dateIterator.setMonth(viewDate.getMonth());
    //dateIterator.setDate(viewDate.getDate());
    
    $('month').innerHTML = monthName + ' ' + viewDate.getFullYear();
    
    for(var i = 1; i <= 6; i++) {           //iterate through the rows of the calendar
        cRow = $('row' + i).getElementsByTagName("TD");
        for(var j = 0; j < cRow.length; j++) {                                    
            cRow[j].innerHTML = '';
            cRow[j].className = 'unSelectedDateCell';            
            if((i == 1) && (sidx > j)) continue;            
            
            if(dItr <= stopidx) {
                //dateIterator.setDate(dItr);     //synchronize dateIterator with the actual day being rendered
		dateIterator.setFullYear(viewDate.getFullYear(), viewDate.getMonth(), dItr);
                
                if(dateIterator < today) {
                    cRow[j].style.color = PREVIOUS_DAY;
                    cRow[j].innerHTML = dItr;
                } else if(  (dateIterator.getDate() == today.getDate()) && 
                            (dateIterator.getMonth() == today.getMonth()) && 
                            (dateIterator.getFullYear() == today.getFullYear())  ) {
                    cRow[j].innerHTML = '<a style="color: ' + CURRENT_DAY + '" href="javascript:void(0);" onclick="setDate(' + dateIterator.getTime() + ');"><b style="color: ' + CURRENT_DAY + ';">' + dItr + '</b></a>';
                } else {
                    cRow[j].innerHTML = '<a style="color: ' + FUTURE_DAY + '" href="javascript:void(0);" onclick="setDate(' + dateIterator.getTime() + ');">' + dItr + '</a>';
                }
                
                if(selectedDate && ((dateIterator.getDate() == selectedDate.getDate()) && 
                    (dateIterator.getMonth() == selectedDate.getMonth()) && 
                    (dateIterator.getFullYear() == selectedDate.getFullYear())) ) {
                    cRow[j].className = 'selectedDateCell';                    
                }
                                
                dItr++;
            }
        }
    }
}

function setDate(datems) {
    if(!selectedDate) selectedDate = new Date();
    selectedDate.setTime(datems);
    viewDate.setTime(datems);
    $('date').value = selectedDate.getDate() + '/' + (selectedDate.getMonth()+1) + '/' + selectedDate.getFullYear();
    hideDhtmlPop('calendar');
    displayStateManager(0);
    try
    {
        document.getElementById("ddl_model").style.display='block';
    }
    catch(err) {}
}

function monthLut(m) {
    switch(m) {
        case 1: return 'ינואר'; case 2: return 'פברואר'; case 3: return 'מרץ';
        case 4: return 'אפריל'; case 5: return 'מאי'; case 6: return 'יוני';
        case 7: return 'יולי'; case 8: return 'אוגוסט'; case 9: return 'ספטמבר';
        case 10: return 'אוקטובר'; case 11: return 'נובמבר'; case 12: return 'דצמבר';
    }
}

function getFirstDayOfMonth(d) {
    var temp = new Date();
    
    temp.setFullYear(d.getFullYear(),d.getMonth(),1);
    //temp.setMonth(d.getMonth());    
    //temp.setDate(1);
    
    return temp.getDay();        
}

function getLastDayOfMonth(d) {
    var temp = new Date();
    
    temp.setFullYear(d.getFullYear(), d.getMonth() + 1, 1);
    temp.setDate(temp.getDate() - 1);
    
    return temp.getDate();
}
