/* -- JavaScript Library */
/* -- Global Functions */



// *************************************************************************************************
// 消費税の計算
// *************************************************************************************************
function CalcTax(IntPrice) {

	var ConstTax	 = 1.05 ;
	var IntTaxPrice	 = 0 ;
	
	if (isNaN(parseFloat(IntPrice))) { IntPrice = 0 ; }
	
	IntTaxPrice = IntPrice * ConstTax ;
	return IntTaxPrice ;
}



// *************************************************************************************************
// 丸め　（２桁目で切り捨る [ Math.round(x / 10) * 10 ]）
// *************************************************************************************************
function CalcRound(IntPrice) {

	var IntRoundPrice	 = 0 ;
	
	if (isNaN(parseFloat(IntPrice))) { IntPrice = 0 ; }
	
	IntRoundPrice = Math.round(IntPrice / 10) * 10 ;
	return IntRoundPrice ;
}


// *************************************************************************************************
// 数値を桁区切りで出力する
// *************************************************************************************************
// (すべての変数に格納する値は0オリジンとする) 
function myFormatNumber(x) {
    var s = "" + x; 			// 確実に文字列型に変換する。
    var p = s.indexOf("."); 	// 小数点の位置を0オリジンで求める。例では 11
    if (p < 0) { 				// 小数点が見つからなかった時
        p = s.length; 			// 仮想的な小数点の位置とする
    }
    var r = s.substring(p, s.length); 					// 小数点の桁と小数点より右側の文字列。例では ".3245"
    for (var i = 0; i < p; i++) { 						// (10 ^ i) の位について
        var c = s.substring(p - 1 - i, p - 1 - i + 1); 	// (10 ^ i) の位のひとつの桁の数字。例では "4", "3", "7", "5", "8", "2", "9", "3", "8", "5", "9" の順になる。
        if (c < "0" || c > "9") { 						// 数字以外のもの(符合など)が見つかった
            r = s.substring(0, p - i) + r; 				// 残りを全部付加する
            break;
        }
        if (i > 0 && i % 3 == 0) { 						// 3 桁ごと、ただし初回は除く
            r = "," + r; 								// カンマを付加する
        }
        r = c + r; 										// 数字を一桁追加する。
    }
    return r;
}



// *************************************************************************************************
// 画像 objID の src プロパティを変更する
// *************************************************************************************************
function changeImages(objChange, ChangeImageSrc) {
	document.getElementById(objChange).src = ChangeImageSrc ;
}



// *************************************************************************************************
// 任意の 値によって objID の クラスプロパティを変更する
// *************************************************************************************************
function SetValueObjClass(objValue, objID) {
	var ValueObj;
	StrValue = document.getElementById(objValue).value ;
	document.getElementById(objID).className = StrValue ;
}



// *************************************************************************************************
// Ｅｎｔｅｒ　ｔｏ　Ｔａｂ
// *************************************************************************************************
function EnterToTab() {
	if( window.event.keyCode==0x0d ) {
		window.event.keyCode=0x09 ;
	}
}



// *************************************************************************************************
// セットフォーカス
// *************************************************************************************************
function FormSetFocus(objID){ document.getElementById(objID).focus(); }



// *************************************************************************************************
// 入力項目の背景色変更 onFocus / onBlur
// *************************************************************************************************
function BackColorFocus(objID)	{ objID.style.backgroundColor = "#FFFEE0"; }
function BackColorBlur(objID)	{ objID.style.backgroundColor = ""; }



// *************************************************************************************************
// メールアドレスの適正チェック
// *************************************************************************************************
function CheckEmail(strCheckString) {

	var at = false;
	var dot = false;

	if (strCheckString.indexOf("@") != -1) {
		at = true;
	} else if (strCheckString.indexOf(".") != -1) {
		dot = true;
	}
	for (var i = 0; i < strCheckString.length; i++) {
		ch = strCheckString.substring(i, i + 1)
		if ((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z")
			|| (ch == "@") || (ch == ".") || (ch == "_")
			|| (ch == "-") || (ch >= "0" && ch <= "9")) {

			if (ch == "@") {
				at=true;
			}
			if (ch == ".") {
				dot=true;
			}
		}
	}
	if ((at == true) && (dot == true)) {
		return true;
	} else {
		return false;
	}
}



// *************************************************************************************************
// クッキー有効･無効を調べる
// *************************************************************************************************
function CheckCookie() {
	if(navigator.cookieEnabled == true) {
		return true ;
	} else {
		return false ;
	}
}



// *************************************************************************************************
// フリーメールを調べる
// *************************************************************************************************
function CheckFmail(strCheckString) {

	var arrMatch;
	var fTempNum = 0;
	var fExisNum = 0;

	// list
	arrMatch = new Array(	"@hotmail.com",
				"@mac.com",
				"@infoseek.jp",
				"@mail.goo.ne.jp",
				"@lycos.co.jp",
				"@excite.co.jp",
				"@zdnet.mail.ne.jp",
				"@24h.co.jp",
				"@mizer.freemail.ne.jp",
				"@tokyo24.com",
				"@prontomail.ne.jp",
				"@clubAA.com",
				"@mail7.dddd.ne.jp",
				"@curio-city.com",
				"@geocities.co.jp",
				"@anet.ne.jp",
				"@fm.cool.ne.jp",
				"@plum.freemail.ne.jp",
				"@itpmail.itp.ne.jp",
				"@inter7.jp",
				"@tok2.com",
				"@fact-mail.com",
				"@cosmos-21.com",
				"@----------",
				"@hyper.cx",
				"@loveboat.cx",
				"@nakayoshi.cc",
				"@pets-mail.com",
				"@momo-mail.com",
				"@mippi-mail.com",
				"@youngpostman.net",
				"@king-postman.com",
				"@takechiyo.net",
				"@shingor.net",
				"@blackmail.cn",
				"@hot.dog.cx",
				"@mad.dog.cx",
				"@sheep.dog.cx",
				"@wolf.dog.cx",
				"@117.cx",
				"@cx.117.cx",
				"@i.117.cx",
				"@mail.117.cx",
				"@pc.117.cx",
				"@pet.117.cx",
				"@ez.117.cx",
				"@art.117.cx",
				"@pop.117.cx",
				"@sky.117.cx",
				"@707.to",
				"@art.707.to",
				"@pop.707.to",
				"@sky.707.to",
				"@i.707.to",
				"@mail.707.to",
				"@pc.707.to",
				"@pet.707.to",
				"@to.707.to",
				"@----------",
				"@iiwa.net",
				"@mattete.net",
				"@honki.net",
				"@tamageta.net",
				"@vo-ov.net",
				"@mo-om.net",
				"@mxxm.net",
				"@vxxv.net",
				"@v99v.net",
				"@to-sen.net",
				"@presentget.net",
				"@enkaibucho.net",
				"@nabebugyo.net",
				"@oto-3.net",
				"@oka-3.net",
				"@oni-3.net",
				"@one-3.net",
				"@funifuni.net",
				"@bashibashi.net",
				"@patipati.net",
				"@pop-cute.net",
				"@candy-pop.net",
				"@gogopop.net",
				"@mamegohan.net",
				"@karaage.net",
				"@atarime.net",
				"@25cent.net",
				"@candypot.net",
				"@ganbo.net",
				"@do-z.net",
				"@----------",
				"@desu.ne.jp",
				"@chan.ne.jp",
				"@kun.ne.jp",
				"@yan.ne.jp",
				"@sann.ne.jp",
				"@with.love2.ne.jp",
				"@i.love2.ne.jp",
				"@p.chan.ne.jp",
				"@neko.chan",
				"@pyon.ne.jp" );

	// search
	for(var iCount=0; iCount < arrMatch.length; iCount++) {
		fTempNum = strCheckString.match( arrMatch[iCount] );
		fExisNum = fExisNum + fTempNum;
	}

	if ((fExisNum == 0)) {
		return true;
	} else {
		return false;
	}

}



// *************************************************************************************************
// 入力値の制御 intOption:0=Num,1=Email
// *************************************************************************************************
function AutoCtrlString(objSch, intOption) {

	var rePosition;
	var objShStr;
	var strSearch;
	strSearch = objSch.value;
	while (rePosition != -1) {
		if(intOption == 0){	//Num
			objShStr = /[^0-9]/;
		}else{	//UP
			objShStr = /[^-@\/:~.A-Za-z0-9]/;
		}
		rePosition = strSearch.search(objShStr);
		strSearch = strSearch.replace(objShStr,"");
	}
	objSch.value = strSearch;
}



// *************************************************************************************************
// ウインドウを開く
// *************************************************************************************************
function OpenWindow(url, targetName, width, height) {

	var win ;

	var left        = ( screen.availWidth  - width  ) / 2 ;
	var top         = ( screen.availHeight - height ) / 2 ;
	var toolbar     = 0 ;	//ツ−ルバ−を付けるなら1
	var loction     = 0 ;	//ロケ−ションバ−を付けるなら1
	var directories = 0 ;	//directoriesボタンを付けるなら1
	var status      = 0 ;	//ステ−タス行を付けるなら1
	var menubar     = 0 ;	//メニュ−バ−を付けるなら1
	var scrollbars  = 0 ;	//スクロ−ルバ−を付けるなら1
	var resizable   = 0 ;	//リサイズ可能にするなら1

	win = window.open(
		 '',targetName,
		 'left='	+ left		+ ',top='	+ top		+
		',screenX='	+ left		+ ',screenY='	+ top		+
		',toolbar='	+ toolbar	+ ',loction='	+ loction	+
		',directories='	+ directories	+ ',status='	+ status	+
		',menubar='	+ menubar	+ ',scrollbars='+scrollbars	+
		',resizable='	+ resizable	+
		',width='	+ width		+
		',height='	+ height
		) ;

	win.location.href = url ;	//ファイルを読み込む
	win.focus() 			//ウインドウへフォーカス
	// self.opener=self ;		//親ウインドウクローズ
	// self.close() ;		//親ウインドウクローズ

}



// *************************************************************************************************
// ウインドウリサイズ時のリロード（ＩＥ／position:absoluteのバグ回避）
// *************************************************************************************************
function ReloadBrowser() {
	if (document.all) {
		location.reload() ;
	}
}

/* EOF */
