/*---------------------------------------------------------------------------*
 * JavaScript
 *      関数ライブラリ
 *---------------------------------------------------------------------------*/
var _prev_bInit = false; // 初期化済フラグ
var _prev_mx = 0; // マウスＸ座標
var _prev_my = 0; // マウスＹ座標
var _prev_aMUListeners = new Array(); // mouseupリスナ
var _prev_aMDListeners = new Array(); // mousedownリスナ
var _prev_aMMListeners = new Array(); // mousemoveリスナ

var now    = new Date();
var absnow = now;
var Win=navigator.userAgent.indexOf('Win')!=-1
var Mac=navigator.userAgent.indexOf('Mac')!=-1
var X11=navigator.userAgent.indexOf('X11')!=-1
var Moz=navigator.userAgent.indexOf('Gecko')!=-1
var Opera=!!window.opera
var winflg=1

// 初期化関数
function _prev_init(){
	if(!_prev_bInit){
		document.onmouseup = _prev_onMouseEvent;
		document.onmousedown = _prev_onMouseEvent;
		document.onmousemove = _prev_onMouseEvent;
	}
	_prev_bInit = true;
}

// チェックメッセージ
function checkMsg(msg){
	if(window.confirm(msg)){
		return true;
	}else{
		return false;
	}
}

// 更新チェック
function checkUpdate(){
	if(document.updateForm.post_date.value == ''){
		alert('授業が行われた日を入力してください');
		return false;
	}
	if(document.updateForm.post_ttClass.value == ''){
		alert('授業名を入力してください');
		return false;
	}
	if(document.updateForm.post_ttCollege.value == ''){
		alert('大学名を入力してください');
		return false;
	}
	if(document.updateForm.post_comments1.value == ''){
		alert('少なくとも記事が１つ以上必要です');
		return false;
	}
	var msg = '以上の内容で記事を更新しますか？';
	if(window.confirm(msg)){
		return true;
	}else{
		return false;
	}
}

// サブウィンドウ生成
function subwindow(url,name,winsize){
	open_window = window.open(url,name,winsize + ",toolbar=no,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,menubar=no");
	open_window.focus();
}

// カレンダー機能
function wrtCalendar(oj,arg1,arg2){
	var winflgs = 1;
	if(!arguments[1]) arg1 = 0;
	if(arguments[1] || (arguments[1] == 0)) winflgs = 0;

	//-初期化
	if(arg1 == 0) now = new Date();

	//-年月日取得
	var nowdate  = now.getDate();
	var nowmonth = now.getMonth();
	var nowyear  = now.getYear();

	//-月移動処理
	if((nowmonth == 11)&&(arg1>0)){			// 12月でarg1が+なら
		nowmonth = arg1 - 1;
		nowyear++;							// 月はarg1-1;1年加算
	}else if((nowmonth == 0)&&(arg1<0)){	// 1月でarg1が-なら
		nowmonth = arg1 + 12;
		nowyear--;							// 月はarg1+12;1年減算
	}else{
		nowmonth += arg1;					// 2-11月なら月は+arg1
	}

	//-2000年問題対応
	if(nowyear < 1900) nowyear = nowyear + 1900;

	//-現在月を確定
	now = new Date(nowyear,nowmonth,1);

	//-YYYYMM作成
	var nowyyyymm = nowyear * 100 + nowmonth;

	//-YYYY/MM作成
	var nowtitleyyyymm = nowyear + '/' + (nowmonth + 1);

	//-週設定
	var week = new Array('日','月','火','水','木','金','土');

	//-カレンダー表示用サブウインドウオープン
	if(winflgs){
	    var w = 152;
	    var h = 156;
		var x = 100;
		var y = 20;
		if(document.all){
			x = window.event.screenX + 30;
			y = window.event.screenY - 180;
		}else if(document.layers || document.getElementById){
			x += window.screenX;
			y += window.screenY;
		}
		mkSubWin('','calendar',x,y,w,h);
	}

	//-カレンダー構築用基準日の取得
	var fstday   = now; //今月の1日
	var startday = fstday - (fstday.getDay() * 1000*60*60*24); //最初の日曜日
	startday = new Date(startday);

	//-カレンダー構築用HTML
	var ddata = '';
	ddata += '<html>\n';
	ddata += '<head>';
	ddata += '<meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS">\n';
	ddata += '<title>Auto Input Calendar</title>\n';
	ddata += '<style>\n';
	ddata += ' BODY  { font:12px ; line-height:12px ; margin : 7px; font-family: osaka,"MS P Gothic",Arial; }\n';
	ddata += ' TH  { font:12px ; line-height:12px ; font-weight : 900 }\n';
	ddata += ' TD  { font:12px ; font-family : Arial; line-height:12px }\n';

	ddata += ' A  { text-decoration:none;color:#000000;font:10px;font-family:Arial;line-height:12px }\n';
	ddata += ' INPUT  { font:10px ; font-family : Arial ; line-height:10px ; padding:0px}\n';
	ddata += '</style>\n';
	ddata += '</head>\n';
	ddata += '<body  bgcolor="#ffffff">\n';

	ddata += '<form>\n';
	ddata += '<table border="0" cellspacing="1" bgcolor="silver" bordercolor="#646464" width="140" height="140">\n';

	//-MONTH
	ddata += '   <tr id="trmonth" bgcolor="#f7f4d8" bordercolor="#646464" width="140" height="14">\n';
	ddata += '   <th colspan="7" width="140" height="14" align="right">\n';

	ddata += nowtitleyyyymm;
	ddata += ' <input type="button" value="<<" ';
	ddata += '  onClick="self.opener.wrtCalendar(self.opener.document.';
	ddata += oj.form.name + '.' + oj.name + ',-1,0);">';
	ddata += '<input type="button" value=">>" ';
	ddata += '  onClick="self.opener.wrtCalendar(self.opener.document.';
	ddata += oj.form.name + '.' + oj.name + ',1,0);">';
	ddata += '</th>\n';
	ddata += '   </tr>\n';

	//-WEEK
	ddata += '   <tr bgcolor="#f7f4d8" width="140" height="14">\n';

	for(var i=0; i<7; i++){
		ddata += '   <th width="14" height="14">\n';
		ddata += week[i];
		ddata += '   </th>\n';
	}
	ddata += '   </tr>\n';

	//-DATE
	for(var j=0; j<6; j++){
		ddata += '   <tr bgcolor="#ffffff">\n'
		for(var i=0; i<7; i++){
			var nextday = startday.getTime() + (i * 1000*60*60*24);
			var wrtday  = new Date(nextday);

			var wrtdate = wrtday.getDate();
			var wrtmonth= wrtday.getMonth();
			var wrtyear = wrtday.getYear();
			if(wrtyear < 1900) wrtyear = 1900 + wrtyear;
			var wrtyyyymm = wrtyear * 100 + wrtmonth;
			//wrtyyyymmdd= ''+wrtyear +'/'+ (wrtmonth+1) +'/'+wrtdate;
			wrtyyyymmdd = '' + wrtyear +'/';
			if(wrtmonth+1<10){
				wrtyyyymmdd += '0' + (wrtmonth+1) + '/';
			}else{
				wrtyyyymmdd += (wrtmonth+1) + '/';
			}
			if(wrtdate<10){
				wrtyyyymmdd += '0' + wrtdate;
			}else{
				wrtyyyymmdd += wrtdate;
			}

			wrtdateA  = '<A href="javascript:function v(){';
			wrtdateA += '   self.opener.document.' + oj.form.name;
			wrtdateA += '.' + oj.name + '.value=(\''+wrtyyyymmdd+'\');self.close()};v()" ';
			wrtdateA += '>\n';
			wrtdateA += '<font color="#000000">\n';
			wrtdateA += wrtdate;
			wrtdateA += '</font>\n';
			wrtdateA += '</a>\n';

			if(wrtyyyymm != nowyyyymm){ 
				ddata += ' <td bgcolor="#cccccc" width="14" height="14">\n';
				ddata += wrtdateA;
			}else if( wrtdate  == absnow.getDate()  && 
				wrtmonth == absnow.getMonth() && 
				wrtday.getYear() == absnow.getYear()){
				ddata += ' <td bgcolor="#E9D44A" width="14" height="14">\n';
				ddata += '<font color="#ffffff">' + wrtdateA + '</font>\n';
			}else{
				ddata += ' <td width="14" height="14">\n';
				ddata += wrtdateA;
			}
			ddata += '   </td>\n';
		}
		ddata += '   </tr>\n';
		startday = new Date(nextday);
		startday = startday.getTime() + (1000*60*60*24);
		startday = new Date(startday);
	}

	ddata += '</table>\n';
	ddata += '</form>\n';
	ddata += '</body>\n';
	ddata += '</html>\n';
	calendarwin.document.write(ddata);
	calendarwin.document.close();
	calendarwin.focus();
}

/********************************************************************
 * 簡易サブウインドウ開き
 *  Syntax : mkSubWin(URL,winName,x,y,w,h)
 *  例     : mkSubWin(winIndex,'test.htm','win0',100,200,150,300)
 * ------------------------------------------------------------------
 */

var calendarwin;

function mkSubWin(URL,winName,x,y,w,h){

    var para =""
             +" left="        +x
             +",screenX="     +x
             +",top="         +y
             +",screenY="     +y
             +",toolbar="     +0
             +",location="    +0
             +",directories=" +0
             +",status="      +0
             +",menubar="     +0
             +",scrollbars="  +0
             +",resizable="   +1
             +",innerWidth="  +w
             +",innerHeight=" +h
             +",width="       +w
             +",height="      +h

        calendarwin=window.open(URL,winName,para);
        calendarwin.focus()
}

