//オブジェクト 取得
function GetObject(idName) {
	if(document.getElementById){        //Moz,NN6,IE5用
		return document.getElementById(idName);
	}
	else if(document.all){				//IE4用
		return document.all(idName);
	}
	else if(document.layers){			//NN4用
		return document.layers[idName];
	}
}

//値 取得
function GetValue(idName) {
	if(document.getElementById){        //Moz,NN6,IE5用
		return document.getElementById(idName).value;
	}
	else if(document.all){				//IE4用
		return document.all(idName).value;
	}
	else if(document.layers){			//NN4用
		return document.layers[idName].value;
	}
	else {
		return null;
	}
}

//値 出力（innerHTML）
function SetInnerHTML(idName, value) {
	if(document.getElementById){        //Moz,NN6,IE5用
		document.getElementById(idName).innerHTML = value;
	}
	else if(document.all){				//IE4用
		document.all(idName).innerHTML = value;
	}
	else if(document.layers){			//NN4用
		document.layers[idName].document.open();
		document.layers[idName].document.write(value);
		document.layers[idName].document.close();
	}
}

// 画像ソース元 変更
function ChangeImg(idName, imgSrc, width, height) {
    var obj = GetObject(idName);
    obj.src = imgSrc;
    obj.width = width;
    obj.height = height;
}

//別ウィンドウ オープン
var anotherWin;
function openAnotherWin(url, w, h, scrollbars, resizable) {

	var x = (screen.width / 2) - (w / 2);
	var y = (screen.height / 2) - (h / 2);
	var para =""
			+" left="        +x
			+",screenX="     +x
			+",top="         +y
			+",screenY="     +y
			+",toolbar="     +0
			+",location="    +0
			+",directories=" +0
			+",status="      +0
			+",menubar="     +0
			+",scrollbars="  +scrollbars
			+",resizable="   +resizable
			+",innerWidth="  +w
			+",innerHeight=" +h
			+",width="       +w
			+",height="      +h
	anotherWin = window.open(url, "_blank", para);
	anotherWin.focus();
}

// ゲストサイトトップページウィンドウ オープン
var guestTopPageSampleWin;
function openGuestTopPageSample(url) {
	if(win_closed(guestTopPageSampleWin)){
		var w = 850;
		var h = 600;
		var x = (screen.width / 2) - (w / 2);
		var y = (screen.height / 2) - (h / 2);
		var para =
				+" left="        +x
				+",screenX="     +x
				+",top="         +y
				+",screenY="     +y
				+",toolbar=yes"
				+",location=yes"
				+",directories=yes"
				+",status=yes"
				+",menubar=yes"
				+",scrollbars=yes"
				+",resizable=yes"
				+",innerWidth="  +w
				+",innerHeight=" +h
				+",width="       +w
				+",height="      +h
		guestTopPageSampleWin = window.open(url, "guestTopPageSampleWin", para);
		guestTopPageSampleWin.focus();
	} else {
		window.guestTopPageSampleWin.location = url;
	}
}
function win_closed(winVar){
    var ua = navigator.userAgent;
    if(!!winVar){
        if((ua.indexOf('Gecko') != -1 || ua.indexOf('MSIE 4') != -1) && ua.indexOf('Win') != -1){
             return winVar.closed;
        }else{
            return typeof winVar.document != 'object';
        }
    }else{
        return true;
    }
}

//文字列の長さをチェック
//		パラメータ：
//			obj : チェック対象オブジェクト
//          maxLen : 制限文字数（バイト数） 
//		戻り値　true 正常 false 異常

function CheckLength(obj,maxLen){
	var len = 0;
	var str = escape(obj);
	for(i = 0; i < str.length; i++, len++) {
		if(str.charAt(i) == "%") {
			if(str.charAt(++i) == "u") {
				i += 3;
		    len++;
		  }
			i++;
		}
	}
	if(len <= maxLen){
		return true;
	}
	else {
		return false;
	}
}


//日付形式のチェック
//		パラメータ：
//			dateStr　文字形式の日付　"yyyy/mm/dd"形式のみ
//		戻り値　true 正常 false 異常
				
function CheckDate(target) {
	var datePat = /^(\d{4})(\/)(\d{1,2})\2(\d{1,2})$/;
	if (target.match(datePat) == null) {
		return false;	
	}
	var splitData = target.split("/");
	var year = splitData[0];
	var month = splitData[1];
	var day = splitData[2];

	if (mon_chk(month)){
	}else{
		return false;
	}

	dd = daymonth(year,month);
	if (day > dd){
		return false;
	}
    
	return true;
}

/* 日付の範囲チェック */
function daymonth(year,month){
	day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if(month==2 && leapyear(year)) return 29;
	return day[month-1];
}
/* うるう年のチェック */
function leapyear(year){
	return year%4==0 && (year%100!=0 || year%400==0);
}

/* 月の範囲チェック */
function mon_chk(month){	
	if((month >= 1) && (month <= 12)) return true;
	return false;
}


//日付フォーマット
//数字8文字であった場合のみ、"####/##/##"の形式にフォーマットする
function CheckInputDate(){
	var target = window.event.srcElement.value;
	if (target.match(/[0-9]{8}/)){
		window.event.srcElement.value = target.substr(0,4) + "/" + target.substr(4,2) + "/" + target.substr(6,2)
	} 
}

// 確認メッセージ（二重クリック防止付き）
function DoubleClickControl(msg){
	if (window.document.readyState != null && window.document.readyState != 'complete'){
		return false;
	}else{
		if (msg != "") {
			return confirm(msg);
		}else{
			return true;
		}
	}
}

// マウスカーソル 変更
function ChangeCursor(idName, flg) {
	if(flg) {
		GetObject(idName).style.cursor='pointer';
		GetObject(idName).style.cursor='hand';
	}else{
		GetObject(idName).style.cursor='default';
	}
}

// テキストボックスにて Enterキー押下時、
// 指定ボタンのクリック時イベントを発生させる。
function text_keydown(e, name) {
	var key = 0;
	if (typeof(e.keyCode) != 'undefined') {
		key = e.keyCode;
	} else if (typeof(e.which) != 'undefined') {
		key = e.which;
	}
	if (key == 0xd) {
		GetObject(name).click();
		/*
		if (typeof(name) != 'undefined' && name != '') {
			document.forms[0].elements[name].click();
		}
		*/
		return false;
	}
	return true;
}

// メールアドレス
function sales_mail(i_1) {
      eval(String.fromCharCode(108,111,99,97,116,105,111,110,46,104,114,101,102,32,61,32,39,109,97,105,108,116,111,58)
    + String.fromCharCode(112,97,114,116,121,119,101,98,64,115,121,115,116,101,120,46,99,111,46,106,112,63,115,117,98,106,101,99,116,61)
    + i_1 + "'");
}

// カシヨ殿作成 JavaScript 
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 changeNaviCSS(idCategory, idItem){
	// カテゴリ 選択中
	var category_o = GetObject(idCategory+"_o");
	if( category_o != null ){
		category_o.className = 'navigation_category_over_a';
	}

	var category_u = GetObject(idCategory+"_u");
	if( category_u != null ){
		category_u.className = 'navigation_category_under_a';
	}

	// 項目（カテゴリ選択中）
	var category = GetObject(idCategory);
	if( category != null ){
		var items = category.getElementsByTagName('div');
		for( i = 0 ; i < items.length ; i++){
			if ( items[i].id.substr(0,3) != 'sp_' ) {
				items[i].className = 'navigation_item_ca';
			}
		}
	}

	// 項目（項目選択中）
	var item = GetObject(idItem);
	if( item != null ){
		item.className = 'navigation_item_ia';
	}
}

// ナビゲータ 選択中 
function changeNaviCSS_L(idCategory, idItem){
	// カテゴリ 選択中
	var category_o = GetObject(idCategory+"_o");
	if( category_o != null ){
		category_o.className = 'navigation_l_category_over_a';
	}

	var category_u = GetObject(idCategory+"_u");
	if( category_u != null ){
		category_u.className = 'navigation_l_category_under_a';
	}

	// 項目（カテゴリ選択中）
	var category = GetObject(idCategory);
	if( category != null ){
		var items = category.getElementsByTagName('div');
		for( i = 0 ; i < items.length ; i++){
			if ( items[i].id.substr(0,3) != 'sp_' ) {
				items[i].className = 'navigation_l_item_ca';
			}
		}
	}

	// 項目（項目選択中）
	var item = GetObject(idItem);
	if( item != null ){
		item.className = 'navigation_l_item_ia';
	}
}

// ナビゲータ 選択中 
function changeNaviCSS_C(idCategory, idItem){

	// カテゴリ 選択中
	var category_o = GetObject(idCategory+"_o");
	if( category_o != null ){
		category_o.className = 'navigation_category_c_over_a';
	}
	
	var category_u = GetObject(idCategory+"_u");
	if( category_u != null ){
		category_u.className = 'navigation_category_c_under_a';
	}

	// 項目（カテゴリ選択中）
	var category = GetObject(idCategory);
	if( category != null ){
		var items = category.getElementsByTagName('div');
		for( i = 0 ; i < items.length ; i++){
			if ( items[i].id.substr(0,3) != 'sp_' ) {
				items[i].className = 'navigation_item_c_ca';
			}
		}
	}

	// 項目（項目選択中）
	var item = GetObject(idItem);
	if( item != null ){
		item.className = 'navigation_item_c_ia';
	}

}



// サブウインドウから親ウインドウを替える 
function chengeParentWin(parentUrl){
    window.opener.location.href=parentUrl;
    window.opener.focus();
}

// インラインフレームヘルプ
// 参考元：CodeZine (http://codezine.jp/a/article/aid/572.aspx)
var openWinArray = new Array();

function clickHelp(windowID, obj, horizPadding, vertPadding, goRight, ifID, url, param) {
	if(openWinArray[windowID] != true) {
		var objIf = document.getElementById(ifID);
		objIf.src = url + param;
		showHelpFloatWindow(windowID, obj, horizPadding, vertPadding, goRight);
	} else {
		hideHelpFloatWindow(windowID, obj);
	}
}

function showHelpFloatWindow(windowID, obj, horizPadding, vertPadding, goRight) {
	var w = document.getElementById(windowID);
	if (w != null) {
		w.style.display = 'block';
		w.style.visibility = 'visible';
		w.style.top = getAscendingTops(obj) + vertPadding;
		if (getAscendingTops(obj) + vertPadding < 0) {
			w.style.top = 0;
		}
		if (goRight == true) {
			w.style.left = getAscendingLefts(obj) + obj.offsetWidth + horizPadding;
		} else {
			w.style.left = getAscendingLefts(obj) - horizPadding;
			if ((getAscendingLefts(obj) - horizPadding) < 0) w.style.left = getAscendingLefts(obj) + obj.offsetWidth + horizPadding;
		}
		openWinArray[windowID] = true;
	}
}

function hideHelpFloatWindow(windowID, obj) {
	var w = document.getElementById(windowID);
	if (w != null) {
		w.style.display = 'none';
		w.style.visibility = 'hidden';
		w.top = -999;
		w.left = -999;
		openWinArray[windowID] = false;
	}
}

function getAscendingLefts(elem) {
	if (elem == null) {
		return 0;
	} else {
		return elem.offsetLeft+getAscendingLefts(elem.offsetParent);
	}
}

function getAscendingTops(elem) {
	if (elem == null) {
		return 0;
	} else {
		return elem.offsetTop+getAscendingTops(elem.offsetParent);
	}
}

// カラー変動処理用 add 2007/11/26
function changeColor(target,bgCL,bdCL) {
    if (!document.all && document.getElementById) { //-- NN6以上
        target.style.backgroundColor = bgCL;
//        thisPAS.style.borderColor = bdCL;
    } else if(document.all) {                       //-- IE4.x以上
        target.style.backgroundColor = bgCL;
//        thisPAS.style.borderColor = bdCL;
    }
}

function setChangeColor(target,num, override) {
    if(override && target.className.indexOf("error") > -1){
        num =9;
    }

    switch (num) {
    case 0:         // onBlur 離れた時
        changeColor(target,"#FFFFFF","#CCCCCC");
        break;
    case 1:         // onFocus フォーカスが与えられた時
        changeColor(target,"#FFE7BA","#003300");
        break;
    case 9:         // エラー
        changeColor(target,"#FFCC99","#000000");
        break;
    }
}

//別ウィンドウ オープン（招待状文例サンプル）
var SampleCommentWin;
function openSampleCommentWin(url, w, h, scrollbars, resizable) {

	var x = 0;
	var y = 0;
	var para =""
			+" left="        +x
			+",screenX="     +x
			+",top="         +y
			+",screenY="     +y
			+",toolbar="     +0
			+",location="    +0
			+",directories=" +0
			+",status="      +0
			+",menubar="     +0
			+",scrollbars="  +scrollbars
			+",resizable="   +resizable
			+",innerWidth="  +w
			+",innerHeight=" +h
			+",width="       +w
			+",height="      +h
	SampleCommentWin = window.open(url, "_blank", para);
	SampleCommentWin.focus();
}
