KCPL.Calendar = function (evt,location) {        //Constructor function for a Calendar object    
this.start = null;
this.end = null;
this.buildIndexes(evt)
}
KCPL.Calendar.prototype ={
index: null,
months: new Array(12),
weekdayAbbr: function (i){x =['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];return x[i];},
weekday: function (i){x = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; return x[i];},
monthnameAbbr: function (i){x = ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.']; return x[i];},
monthname: function (i){x = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; return x[i];},
locations:[{id:"main_library", search:"Main Library", name:"Main Library",code:'ml'},{id:"clendenin", search:"Clendenin", name:"Clendenin Branch Library",code:'cn'},{id:"cross_lanes", search:"Cross Lanes", name:"Cross Lanes Branch Library",code:'cl'},{id:"dunbar",search:"Dunbar", name:"Dunbar Branch Library",code:'du'},{id:"elk_valley", search:"Elk Valley", name:"Elk Valley Branch Library",code:'ev'},{id:"glasgow",search:"Glasgow", name:"Glasgow Branch Library",code:'gl'},{id:"marmet",search:"Marmet", name:"Marmet Branch Library",code:'ma'},{id:"nitro",search:"Nitro", name:"Nitro Library",code:'ni'},{id:"riverside", search:"Riverside", name:"Riverside Public Library",code:'rv'},{id:"st_albans",search:"St Albans", name:"St. Albans Branch Library",code:'sa'},{id:"sissonville",search:"Sissonville", name:"Sissonville Branch Library",code:'si'}],
before: null,
after:null,
buildIndexes: function(evt){
    var af = new Date(new KCPL.Event(evt[0]).Date.valueOf())
    var f = new Date(af.getFullYear(),af.getMonth())
    var al= new Date(new KCPL.Event(evt[evt.length-1]).Date.valueOf())
    var l=new Date(al.getFullYear(),(al.getMonth()+1))
    l.setDate(l.getDate()-1)
    this.start = f;
    this.end = l;
    this.master = new Array()
    this.all = new Array()
    this.kid = new Array()
    this.teen = new Array()
    this.adult = new Array()
    this.ml = new Array()
    this.cn = new Array()
    this.cl = new Array()
    this.du = new Array()
    this.ev = new Array()
    this.gl = new Array()
    this.ma = new Array()
    this.ni = new Array()
    this.rv = new Array()
    this.sa = new Array()
    this.si = new Array()
    this.uk = new Array()
    var calstart = new Date(this.start.valueOf())
    var checkdate = new Date(calstart.toString())
    for(calstart; calstart<=this.end;calstart.setDate(calstart.getDate()+1)){
        var index = new Date(calstart.getFullYear(),calstart.getMonth(),calstart.getDate());
        this.master[index] = new Array()
        }
    for (var i=0;i<evt.length;i++){
        var event = new KCPL.Event(evt[i])
        var index = new Date(event.Date.getFullYear(),event.Date.getMonth(),event.Date.getDate());
        this.master[index].push(event)
        switch (event.type){
            case 'All Ages':{this.all[event.ekId]=true;break}
            case 'Adult Program':{this.adult[event.ekId]=true;break}
            case 'Childrens Program':{this.kid[event.ekId]=true;break}
            case 'Teens':{this.teen[event.ekId]=true}
            }
        switch (event.location.id){
            case 'main_library' :{this.ml[event.ekId]=true;break}
            case 'clendenin' :{this.cn[event.ekId]=true;break}
            case 'cross_lanes' :{this.cl[event.ekId]=true;break}
            case 'dunbar' :{this.du[event.ekId]=true;break}
            case 'elk_valley' :{this.ev[event.ekId]=true;break}
            case 'glasgow' :{this.gl[event.ekId]=true;break}
            case 'marmet' :{this.ma[event.ekId]=true;break}
            case 'nitro' :{this.ni[event.ekId]=true;break}
            case 'riverside' :{this.rv[event.ekId]=true;break}
            case 'st_albans' :{this.sa[event.ekId]=true;break}
            case 'sissonville' :{this.si[event.ekId]=true;break}
            case 'unknown' :{this.uk[event.ekId]=true}
           }
        }
        evt = null;
}
}//end KCPL.Calendar.prototype