$(function(){
    init();

});

function init(){


    // set up the datepicker
    $("#datepicker").datepicker({
        minDate: '+2 d',
        beforeShowDay: noSunday,
        onSelect: selectDate
    });

    //set the default value of the date
    var defaultDate = new Date();

    defaultDate.setDate(defaultDate.getDate() + 2);

    if(defaultDate.getDay()==0){ //default day cannot be sunday
        defaultDate.setDate(defaultDate.getDate() + 2);
    }

    curDate = defaultDate;

    if($("#date").val()==""){
        $("#datepicker").datepicker("setDate",defaultDate);
        $("#date").val((defaultDate.getMonth()+2)+'/'+defaultDate.getDate()+'/'+defaultDate.getFullYear());
    } else {
        // make a new date object with the posted date
        var datetext = $("#date").val();
        var dateparts = datetext.split("/");

        curDate = new Date(dateparts[2],(dateparts[0]-1),dateparts[1]);

        $("#datepicker").datepicker("setDate",curDate);
        //$("#datepicker").datepicker('option', 'defaultDate', curDate);
    }

    //clone the original options
    time_options = $("#time option").clone();

    // get available times from the selected day
    toggleTimes(curDate);

}

  function noSunday(date){
      var day = date.getDay();
      return [(day > 0), ''];
  };

  function selectDate(dateText, inst){
      //pass the selected date to the hidden input field
      $("#date").val(dateText);

      //adjust available times slots
      curDate = $("#datepicker").datepicker("getDate");
      toggleTimes(curDate);

  }

  function toggleTimes(date){
    //replace options with original list
    $("#time").empty();
    $("#time").append(time_options);

    $("#time").val("");
    if(date.getDay() == 6){ //saturday
        $('.weekday_time').remove();
    } else { // weekday
        $('.sat_time').remove();
    }

  }
