/*<HEAD><TITLE>JavaScipt 汎用関数集</TITLE></HEAD>*/
/*<BODY><PRE><P>*/

/*******************************************************************
 *                                                                 *
 *  JavaScript 汎用関数集                                          *
 *                       Directed by CoZee Akie (akie@PrSD.co.jp)  *
 *                                                                 *
 *  <A HREF="http://www.PrSD.co.jp/~akie/js/functions.html">使い方の詳細</A>  *
 *                                                                 *
 *     history:                                                    *
 *        Ver1.0(1998/11/05)                                       *
 *              getAGENT() : エージェントのチェック                *
 *              setCOOKIE() : cookieの書きこみ                     *
 *              getCOOKIE() : cookieの取得                         *
 *              delCOOKIE() : cookieの削除                         *
 *              getEXPIREDAY() : cookieの期限の取得                *
 *              getTODAYSTR() : 今日の日付の文字列を返す           *
 *              checkMONTHDAY() : その月の日数が正しいかを確認     *
 *                                                                 *
 *  著作権は秋江幸治が有します。プライムシステムデザインの社員が   *
 *  使用する場合は、制限はありません。プライムシステムデザインの   *
 *  製作物として納品する場合は、二次使用を認めない条件での配布を   *
 *  行ってください。社内での改造を行った場合はバージョンをあげる   *
 *  ために必ず秋江に連絡してください。それ以外での使用はお断りい   *
 *  たします。                                                     *
 *                                                                 *
 *  この画面を正常に表示するにはTABを４桁にするのがベストです。    *
 *                                                                 *
 *                                                                 *
 *                      *** 更新履歴 ***                           *
 *                                                                 *
 * 1999/10/18 delCOOKIE関数を追加                                  * 
 *******************************************************************/


/*******************************************************************
	初期設定
 *******************************************************************/

TRUE	= true;
FALSE	= false;

WDAYja  = new Array("日", "月", "火", "水", "木", "金", "土");
WDAYen  = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

MONTHja = new Array(1,2,3,4,5,6,7,8,9,10,11,12);
MONTHen = new Array("Jan","Feb","Mar","Apl","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

/*******************************************************************
   error()	: errorが発生したときにメッセージを出す。
 *******************************************************************/
function error(place,message){
	alert("[ERROR@JavaScipt:"+place+"]\n"+message+"\n\nこのメッセージが出た場合は、JavaScript汎用関数集「functions.js」の使い方などに誤りがある場合です。このホームページの管理者に確認を依頼してください。");
	return false;
}

/*******************************************************************
   getAGENT() : ブラウザのタイプとバージョンを返す。
                負の場合IE、正の場合NN、数値はバージョン
 *******************************************************************/
function getAGENT(){
	if (navigator.appVersion.indexOf("MSIE") < 0){
		y = navigator.appVersion.charAt(0);
	}else{
		y = 0 - navigator.appVersion.charAt(navigator.appVersion.indexOf("MSIE") + 5);
	}
	return y;
}


/*******************************************************************
   checkIMAGE()	: Image オブジェクトの使用が可能かをチェックする
 *******************************************************************/
function checkIMAGE(){
	if (document.images)	return true
							return false;
}


/*******************************************************************
   setCOOKIE(name, value[, expire, path, domain, secure]) : 
			name という cookie を 値 value として記録する
 *******************************************************************/
function setCOOKIE(name, value){
	var argv	= setCOOKIE.arguments;
	var argc	= setCOOKIE.arguments.length;
	if (argc < 2) {error("setCOOKIE()", "変数が足りません。少なくともキーワードとその値の２つが引数として必要です。\n使用方法) setCOOKIE(keyword,value,[expireday,path,domain,secure])");return false;}

	var expires	= (argc > 2) ? argv[2] : null;
	var path	= (argc > 3) ? argv[3] : null;
	var domain	= (argc > 4) ? argv[4] : null;
	var secure	= (argc > 5) ? argv[5] : false;

	document.cookie = name + "=" + escape(value)
		+ ((expires	== null) ? "" : ("; expires="	+ expires))
		+ ((path	== null) ? "" : ("; path="		+ domain))
		+ ((secure	== true) ? "; secure" : "");

	return true;
}


/*******************************************************************
   getCOOKIE(name, value) / GetCookieValue() : 
			name という cookie の 値 を返す。
 *******************************************************************/
function getCOOKIE(name){
	var arg  = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;

	while (i < clen){
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) return getCookieValue (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return false;
}

function getCookieValue(offset){
	var endstr = document.cookie.indexOf(";", offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}


/*******************************************************************
   delCOOKIE(name, value) : 
			name という cookie を削除する
 *******************************************************************/
function delCOOKIE(name){
	expires = new Date(1970,1,1);
	document.cookie = name + "=" + escape(name) + "; expires="	+ expires
	return true;
}

/*******************************************************************
   getEXPIREDAY(day);
			Cookie が 何日(day)後に expireされるかを入力すると
          expire される日が返される。
 *******************************************************************/
function getEXPIREDAY(expiredays){
	var expireDate = new Date();
	expireDate.setTime (expireDate.getTime() + 24 * 60 * 60 * 1000 * expiredays);
	return expireDate.toGMTString();
}


/*******************************************************************
   getTODAYSTR(lang,wday) : 今日の日付を文字列で返す。
            lang 日付の書式 "ja"->日本語 "us"->米式 "eu"->欧式
			wday 曜日の要不要 "true"->要 "false"->不要
 *******************************************************************/
function getTODAYSTR(){
	var argv	= getTODAYSTR.arguments;
	var argc	= getTODAYSTR.arguments.length;

	var lang = (argc > 0) ? argv[0] : "ja";
	var wday = (argc > 1) ? argv[1] : false;

	if (!((lang == "ja") || (lang == "us") || (lang == "eu"))) lang = "ja";

	if (wday == "false") wday = false;
	if (wday == 0      ) wday = false;
	if (wday == "true" ) wday = true;
	if (wday >  0      ) wday = true;

	if (lang == "ja") str = _getYEAR() + "/" + _getMONTH() + "/" + _getDATE();
	if (lang == "us") str = MONTHen[_getMONTH()] + "/" + _getDATE() + "/" + _getYEAR();
	if (lang == "eu") str = _getDATE() + "/" + MONTHen[_getMONTH()] + "/" + _getYEAR();

	if ((lang == "ja") && wday) str += "(" + WDAYja[_getDAY()] + ")";
	if ((lang == "us") && wday) str += "(" + WDAYen[_getDAY()] + ")";
	if ((lang == "eu") && wday) str += "(" + WDAYen[_getDAY()] + ")";
	return str;
}

function _getYEAR(){
	var time_obj = new Date();
	var x = time_obj.getYear();
	return time_obj.getYear() + 1900;
}

function _getMONTH(){
	var time_obj = new Date();
	return time_obj.getMonth();
}

function _getDATE(){
	var time_obj = new Date();
	return time_obj.getDate();
}

function _getDAY(){
	var time_obj = new Date();
	return time_obj.getDay();
}


/*******************************************************************
   checkMONTHDAY(MM, DD, YY) : その月の日数が正しいかどうか確認する
 *******************************************************************/
function checkMONTHDAY(){
	var argv	= checkMONTHDAY.arguments;
	var argc	= checkMONTHDAY.arguments.length;
	if (argc < 2){error("checkMONTHDAY()", "引数が足りません。\n使用方法）checkMONTHDAY(Month,DayOfMonth[,Year])"); return false;}
	var URU = false;
	var MM = (argc > 0) ? argv[0] : null;
	var DD = (argc > 1) ? argv[1] : null;
	var YY = (argc > 2) ? argv[2] : null;
	if ((MM == 2) && (argc < 3)) var YY = _getYEAR() + 1900;
	if (((MM == 4) || (MM == 6) || (MM == 9) || (MM == 11)) && (DD < 31))	return true;
	if (((MM == 1) || (MM == 3) || (MM == 5) || (MM == 7) || (MM == 8) || (MM == 10) || (MM == 12)) && (DD < 32))	return true;

	if (YY % 4   == 0) URU = true;
	if (YY % 100 == 0) URU = false;
	if (YY % 400 == 0) URU = true;

	if ((MM == 2) && URU  && (DD < 30))	return true; 
	if ((MM == 2) && !URU && (DD < 29))	return true; 

	return false;
}


function IsMobilephoneMailaddr(addr)
{
	return (/@(jp-[tdhrnsqck]|(t\d\.)?ezweb|ez[a-g]\.ido|([a-z\d]+\.)?sky\.(tkk|tu-ka|tkc)|docomo|em\.nttpnet|phone|pdx|pepopa)\.ne\.jp$/i).test(addr);
}

function IsHotMail(addr)
{
	addr.indexOf("@hotmail")
	if (addr.indexOf("@hotmail") > -1){
		return true;
	}else{
		return false;
	}
}

/*</PRE></BODY>*/
