//======================================================
// 休日データ取得用
// cal_make.php cal_file.php ajaxCalender.js dayChecker.js とセット
//======================================================

var blogID;

var lopath = "";
var domain = location.hostname;

//現在からrootまでの位置
(function (){
	//alert(location.pathname);
	var tmp_path=location.pathname;
	var tmpAry = tmp_path.split("/");	
	var i;var cnt=0;var st_cnt=0;
	
	//パスの始まりが "/"かどうか
	if (tmp_path.slice(0,1)=="/"){
		st_cnt=1;			
	}
	
	for (i = 0; i <= tmpAry.length-1; i = i +1){
		if (tmpAry[i].search(/(domain)+/)>=0){
			st_cnt=1;	
		}
		if (tmpAry[i] !=""){
			cnt=cnt+1;
		} else {
			if (i>0 && i <= tmpAry.length-1){
				if (st_cnt==1){cnt=cnt+1;}
			}
		}
	}
	
	for (i = 1; i < cnt; i = i +1){
			lopath = lopath + "../";
	}
	if (lopath ==""){lopath = lopath + "./";}
})();


function getCalendar_static(path,flg) {
	
	var tmpary = path.split("/");
	var tmppath="";
	
	//ページ移動での初期カレンダー表示は、現在の日付
	if (flg == ""){	
		for (var j = 0, len = tmpary.length-3; j < len; j++) {
			tmppath = tmppath + tmpary[j] + "/";
		}		
		setCurrentDate();
		path = tmppath + currentYear + "/" + ("0" + currentMonth).slice(-2) + "/";
	}
	//alert(path);
	changeMonth(path);
}

function changeMonth(url) {
    new Ajax.Updater({success: 'calendar'},
                     url, {
                         method: 'get',
                         onComplete: endProcess,
                         onFailure: errorProcess
                     });
    return false;
}




function getCalendar_dynamic(url,flg) {
    url += "&time=" + (new Date()).getTime();
    new Ajax.Updater({success: 'calendar'},
                     url, {
                         method: 'get',
                         onComplete: endProcess,
                         onFailure: errorProcess
                     });
    return false;
}

function endProcess() {
    var value = $('calendar').getElementsByTagName('table')[0].getAttribute('summary');
    setWeekendAndHoliday(value.split("/")[0], value.split("/")[1]);
    document.cookie = "AjaxCal" + blogID + "=" + value + "; path=/";
}

function errorProcess() {
    $('calendar').innerHTML = 'File Not Found';
}


function setWeekendAndHoliday(y,m) {
    setCurrentDate();
    var elements = $('calendar').getElementsByTagName("table");
    for (var j = 0, len = elements.length; j < len; j++) {
        var element = elements[j].getAttribute("summary");
        if(element == null){
            return;
        }
        var year = element.split("/")[0];
        var month = element.split("/")[1];
        if(!(year == y && month == m)){
            return;
        }
                
        var spans = elements[j].getElementsByTagName("span");
        var day;
        //---------------------------------------------
        //追加 moka 
        //---------------------------------------------
        var aryList = getFile(year,month).split("\n");
		var targetMonth = aryList[month -1];
       	
        for (i = 0; i < spans.length; i++) {
            if (spans[i].parentNode.nodeName == "TD") {
                if(spans[i].innerHTML.indexOf("href") != -1){
                    day = spans[i].getElementsByTagName("a")[0].innerHTML;
                    // delete (a link tag)
                    spans[i].innerHTML = spans[i].getElementsByTagName("a")[0].innerHTML;
                } else {
                    day = spans[i].innerHTML;
                }
                //追加 moka ごみ消去
                day=day.replace(/(\n|\r|\t)+/g, "");
                
                if (isHoliday(year, month, day)) {
                    spans[i].setAttribute('class', 'holiday');
                    spans[i].setAttribute('className', 'holiday');
                } else if(isSaturday(year, month, day)) {
                    spans[i].setAttribute('class', 'saturday');
                   spans[i].setAttribute('className', 'saturday');
                }
                if (isToday(year, month, day)) {
                    spans[i].parentNode.setAttribute('class', 'today');
                    spans[i].parentNode.setAttribute('className', 'today');
                }
                
                //追加 moka  休市 Chk
                var chkClose = false;
                if (IsNumeric(day)){
	                if (targetMonth != ""){
	                	var arycloseDate = targetMonth.replace("<p>","").replace("</p>","").split(",");
	                	if (arycloseDate.length  > 0){
	                		for (ii = 0; ii <= arycloseDate.length; ii = ii + 1){
	                			if (day == arycloseDate[ii]){
		                			chkClose = true;
		                		 }
							}
	                	}
	                }
                }
                //追加 moka 
                if (chkClose == true) {
                    spans[i].parentNode.setAttribute('class', 'closed');
                    spans[i].parentNode.setAttribute('className', 'closed');
                }
                
            }
        }
    }
}
// 追加 moka
function IsNumeric(value) {
    var str = value.toString();             // 文字列に変換
    var regex = /[^0-9]/;                   // 正の整数以外
    if (str.match(regex)) return false;  // 戻り値 false
    return true;                                // 戻り値 true
} 


