function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function bookMark() {
  url = 'http://www.lawm.net/';
  name = '[合同] SR経営サポート';
  window.external.addFavorite(url,name);
}

var $ = function(id) {
  return document.getElementById(id);
}
/*
 * 振り替え休日がある休日(HappyMonday除く)を持ったオブジェクト。
 * 春分の日、秋分の日は現状決め打ち。その内対応。
 */
var Holidays = function(){}
Holidays.prototype = { 101:1, 102:1, 103:1, 112:1 ,211:1, 320:1, 429:1, 503:1, 504:1, 505:1, 720:1, 921:1, 922:1, 923:1, 1012:1, 1103:1, 1123:1, 1223:1, 1230:1, 1231:1};

var Fairing = function(date){
  var month = date.getMonth()+1;
  var date  = ((d = date.getDate())<10) ? "0"+d : d;
  return month.toString() + date.toString();
}

function positiveDate(result){
  var date  =  ((d = result.getDate())<10) ? "0"+d : d;
  var month =  ((m = result.getMonth()+1)<10) ? "0"+m : m;

  return (result.getFullYear() + "/" + month + "/" + date);
}

var addHappyMonday = function(obj,date) {

  function F(){};
  F.prototype = new obj();

  var AddForMonday = { 0:1, 1:0, 2:6, 3:5, 4:4, 5:3, 6:2 }
  var FIRST_DAY = 1;

  var addDays;
  var tmpDate = new Date(date);
  var param = -1;
  while(++param<12){
    tmpDate.setMonth(param);
    var tmpMonth = param+1;

    if ( tmpMonth == 1 || tmpMonth ==10 ) {
      addDays = 7;
    } else if ( tmpMonth == 7 || tmpMonth == 9 ) {
      addDays = 14;
    } else continue;

    tmpDate.setDate(FIRST_DAY);
    tmpDate.setDate(FIRST_DAY + AddForMonday[tmpDate.getDay()] + addDays);
    F.prototype[Fairing(tmpDate)] = 1;
  }
  return new F();
}
var calculation = function(counter,date) {
  if(!(counter = parseInt(counter)))
    alert('数字をにゅうりょくしてくだしあ＞＜；');
  var tmpDate = new Date(date);
  var i = 0;
  while(++i<=counter) {
    tmpDate.setDate(tmpDate.getDate()+1);
    var day = tmpDate.getDay();
    var d = Fairing(tmpDate);
    
    //年度が変わればHappyMondayを変更
    if (d =="101") {
      holidays = addHappyMonday(Holidays,tmpDate);
    }
    //振替休日対応
    if (holidays[d] && day == 0) {
      counter += 2;
    //土日祝対応
    } else if (day == 0 || day == 6 || holidays[d]) {
      counter += 1;
    }
  }
  return tmpDate;
}