
var cal1;

function cal_init(def_date) {

  this.link1 = document.getElementById('dateLink1');
  this.selMonth1 = document.getElementById('d_mon');
  this.selDay1 = document.getElementById('d_day');
  
  if(def_date){
    work = def_date.split('/');
    if(work[1] != ''){
      this.today = new Date(def_date);
    }
    else{
      this.today = new Date(work[0] + '/1/' + work[2]);
    }
  }
  else{
      wtoday = new Date();
      wMonth = wtoday.getMonth()+2;
      wYear  = wtoday.getFullYear();
      this.today = new Date(wMonth + '/1/' + wYear);
  }
  
  var thisMonth = this.today.getMonth();
  var thisDay = this.today.getDate();
  var thisYear = this.today.getFullYear();
  
  this.selMonth1.selectedIndex = thisMonth;
  this.selDay1.selectedIndex = thisDay;
  
  cal1 = new YAHOO.widget.Calendar2up_JP("cal1","container1",(thisMonth+1)+"/"+thisYear,def_date);
  cal1.title = "出発日をクリックしてください:";
  var renderSunday = function(cal,cell) {
    YAHOO.widget.Calendar_Core.addCssClass(cell, "sunday");
  }
  cal1.addWeekdayRenderer(1, renderSunday);
  cal1.setChildFunction("onSelect",setDate1);
  cal1.render();

  if(def_date){
    work = def_date.split('/');
    if(work[1] == ''){
      this.selDay1.options[0] = new Option('未定','');
      this.selDay1.options[0].selected = true;
    }
  }
  else{
      this.selDay1.options[0] = new Option('未定','');
      this.selDay1.options[0].selected = true;
  }
}

function showCalendar1() {

  var month = this.selMonth1.selectedIndex;
  var day = this.selDay1.selectedIndex;
  var year = this.today.getFullYear();
  
  day_work = day;
  
  if(day == 0){
    day = this.today.getDate();
  }
  
  wtoday = new Date();
  wMonth = wtoday.getMonth();
  wDay = wtoday.getDate();
 
/* 
  if( month < wMonth ){
    year++;
  }
  if( month == wMonth && day < wDay ){
    year++;
  }
*/
  
  cal1.select((month+1) + "/" + day + "/" + this.today.getFullYear());
  cal1.setMonth(month);
  cal1.setYear(year);
  cal1.render();

if(document.getElementById("top-formBox") !== null){
  cal1.outerContainer.style.top = (link1.offsetTop+link1.offsetParent.offsetTop+link1.height-70) + "px";
  cal1.outerContainer.style.left = (link1.offsetLeft+link1.offsetParent.offsetLeft+60) + "px";
}else{
  cal1.outerContainer.style.top = (link1.offsetTop+link1.offsetParent.offsetTop+link1.height-8) + "px";
  cal1.outerContainer.style.left = (link1.offsetLeft+link1.offsetParent.offsetLeft+16) + "px";
}
  cal1.outerContainer.style.display='block';

  if(day_work == 0){
    this.selDay1.options[0].selected = true;
  }
}

function setDate1() {
  var date1 = cal1.getSelectedDates()[0];
  this.today = new Date();
  selMonth1.selectedIndex=date1.getMonth();
  selDay1.selectedIndex=date1.getDate();
  cal1.hide();
}

function changeDate1() {
  var month = this.selMonth1.selectedIndex;
  var day = this.selDay1.selectedIndex;
  var year = this.today.getFullYear();
  
  if( month < this.today.getMonth() ){
    year++;
  }
  
  if( month == this.today.getMonth() && day < this.today.getDate() ){
    year++;
  }
  cal1.select((month+1) + "/" + day + "/" + year);
  cal1.setMonth(month);
  cal1.setYear(year);
  cal1.render();
}

  function pageJump(page){
    document.form.P.value=page;
    document.form.submit();
  }
  
  function search(flg){
    if ( !Selected_Check()){
      return false;
    }
    disableButton();
    document.form.G.value=flg;
	setLoad();
	document.form.submit();
  }

  function searchKkk(flg){
    if ( !Selected_Check()){
      return false;
    }
    document.form.G.value=flg;
    setLoad();
    document.form.submit();
  }

  function disableSubmit(form) {
    var elements = form.elements;
    for (var i = 0; i < elements.length; i++) {
      if (elements[i].type == 'submit') {
        elements[i].disabled = true;
      }
    }
    setLoad();
  }
  
  function disableButton() {
    if(document.all){
      myArray=document.all;
    } else {
      myArray=document.getElementsByTagName('*');
    }
    len = myArray.length;
    for(i=0; i<len; i++){
      if(myArray[i].type=='button' || myArray[i].type=='submit'){
        myArray[i].disabled = true;
      }
    }
  }

  function loadEnd(){
    var loader_obj = document.getElementById('loader');
    var result_obj = document.getElementById('result');
    loader_obj.style.display="none";
    result_obj.style.display="block";
  }
  
  function setLoad(){
    var loader_obj = document.getElementById('pre_loader');
    var result_obj = document.getElementById('result');
    if ( result_obj ){
      result_obj.style.display="none";
    }
    loader_obj.style.display="block";
  }
  
  function checkDate(){
    //var date1 = cal1.getSelectedDates()[0];
    var month = this.selMonth1.selectedIndex;
    var day = this.selDay1.selectedIndex + 1;
    var year = this.selYear1.options[this.selYear1.selectedIndex].value;
    var selectDate = new Date((month+1) + "/" + day + "/" + year);
    
    //古い日付はエラー
    var date1 = new Date();
    if ( date1.getYear() < 1900 ){
      date1_year = date1.getYear()+1900;
    }
    else {
      date1_year = date1.getYear();
    }
    var todayDate = new Date(date1.getMonth()+1 + "/" + date1.getDate() + "/" + date1_year);

    if ( todayDate > selectDate ){
      alert("本日より未来の日付を選択してください");
      return false;
    }

    //2ヶ月以上先の日付はエラー
    var limitDate = new Date();
    limitDate.setMonth(limitDate.getMonth()+2);
    if (selectDate > limitDate){
      alert("本日より2ヶ月以内の日付を選択してください");
      return false;
    }
    return true;
  }

function checkSearchDate(){
  var limitDate = new Date();
//  limitDate.setTime(limitDate.getTime() + (60 * 24 * 3600 * 1000));
  limitDate.setMonth(limitDate.getMonth()+2);
  var month = this.selMonth1.selectedIndex;
  var day = this.selDay1.selectedIndex + 1;
  var year = this.selYear1.options[this.selYear1.selectedIndex].value;
  var selectDate = new Date((month+1) + "/" + day + "/" + year);
  if (selectDate > limitDate){
    alert("本日より2ヶ月以内の日付を選択してください");
    return false;
  }
  return true;
}

function cal_reinit(def_date) {

  if(def_date){
    work = def_date.split('/');
    if(work[1] != ''){
      this.today = new Date(def_date);
    }
    else{
      this.today = new Date(work[0] + '/1/' + work[2]);
    }
  }
  else{
      wtoday = new Date();
      wMonth = wtoday.getMonth()+2;
      wYear  = wtoday.getFullYear();
      this.today = new Date(wMonth + '/1/' + wYear);
  }
  
  var thisMonth = this.today.getMonth();
  var thisDay = this.today.getDate();
  var thisYear = this.today.getFullYear();
  
  this.selMonth1.selectedIndex = thisMonth;
  this.selDay1.selectedIndex = thisDay;
  
  if(def_date){
    work = def_date.split('/');
    if(work[1] == ''){
      this.selDay1.options[0] = new Option('未定','');
      this.selDay1.options[0].selected = true;
    }
  }
  else{
      this.selDay1.options[0] = new Option('未定','');
      this.selDay1.options[0].selected = true;
  }
}


