/*******************************************************/
/**  定数宣言
/*******************************************************/

/**********************
 *  画像命名規則
 *　　⇒navi_user.gif
 *　　⇒navi_user_on.gif
 *　　⇒navi_user_select.gif
 *　　⇒navi_user_select_on.gif
 **********************/

/**********************
 *  画像系定数
 **********************/
var constImageOn = "_on";				//mouseOn時の画像のsuffix定数
var constImageSelect = "_select";		//選択時の画像のsuffix定数
var constArrExtension = "extension";	//画像拡張子を格納する用変数名
var constArrPathName = "pathName";		//画像パスを格納する用変数名
var constPreImageName = "url(";			//画像パスの先頭部分を格納する用変数名
var constPostImageName = ")";			//画像パスの最後尾部分を格納する用変数名

/**********************
 *  URL系定数
 **********************/
var constLocationUrl = "http://www.yahoo.co.jp"		//GETが取得できなかった場合のlocation先
var qsParm = new Array();							//getパラメータ用定数
var constParamNav = "nav";							//getパラメータnavi用定数

/**********************
 *  navi系定数
 **********************/
//ナビ階層はシステム上、最大６階層	
var activeNavi = new Array();		//クリックされたnavを格納
activeNavi[1] = "";
activeNavi[2] = "";
activeNavi[3] = "";
activeNavi[4] = "";
activeNavi[5] = "";
activeNavi[6] = "";

var constPreNavigationId = "nav_";	//ナビのIDは「nav_」+「ID」
var constMenuUnit = 3; 				//DBで管理している１メニューの単位
var constLowestLevel = 3;			//DBで管理している１機能の最下層レベル

/**********************
 *  staff紹介系定数
 **********************/
var constPreStaffId = "staff_";		//staffのIDは「staff_」+「ID」
var activeAllStaffFlg = false;		//true:全て表示がクリックされている
var activeStaffId = "";				//現在表示されているスタッフID
var constMaxStaff = 100;			//staff最大人数（loopで使用）

/*******************************************************/
/**  画面表示時の処理を行う
/**  
/**  param:なし
/*******************************************************/
function onLoadAction(naviPositionID, navID) {
	//naviPositionID
	//			SIDE : 000
	//			TOP  : 00
	
	
	//↓getにパラメータを仕込まないＶｅｒ（←これを使う時は、<body onLoad="onLoadAction('000', '001001')">と記述する）
		if(naviPositionID == "000"){
			//サイドナビ
			if (navID){
				setNavi(navID);
			}
		}else if(naviPositionID == "00"){
			//トップナビ
		}
	//↑getにパラメータを仕込まないＶｅｒ
	
	
	//↓getにパラメータを仕込むＶｅｒ（←これを使う時は、<body onLoad="onLoadAction()">と記述する）
		//get取得
		//getParam("");
	
		//navがある時のみnavをactiveに
		//if (qsParm[constParamNav]){
		//	setNavi(qsParm[constParamNav]);
		//}
	//↑getにパラメータを仕込むＶｅｒ
}

/*******************************************************/
/**  ナビクリック時処理
/**  
/**  param:urlId（ナビＩＤ or ＵＲＬ）
/*******************************************************/
function clickNavi(urlId){
	
	//URLが送られた時はlocation
	if(urlId.substr(0, constPreNavigationId.length) != constPreNavigationId){		
		//alert("そのままlocation");
		location.href=urlId;
		return;
	}
	
	//id : ナビＩＤ
	var id = urlId;
	
	//メニュー階層（３階層？）
	lowestLevel = constLowestLevel;
	
	activeNaviClickFlg = false;
	
	//自分のレベルを取得
	id_lv = (id.length - constPreNavigationId.length) / constMenuUnit;
	
	//既に選択されている項目が選択されたか？
	if(activeNavi[id_lv] == id){
		activeNaviClickFlg = true;
	}
	
	//for loop で回しながら、
	//最下位階層まで処理を行う
	for (var i = id_lv; i <= lowestLevel ; i++) {
		if(activeNavi[i] != ""){
			//既に同レベルで、アクティブなメニューがあった場合
			//一つ前の同レベルのメニューを再度クリックして閉じさせる
			changeNavi(activeNavi[i], i, false);
		}
	}
	
	if(!activeNaviClickFlg){
		//alert("ちがうものが選択されたので、クリックしなおします→id:"+id);
		
		//新しいIDでクリックしなおす
		changeNavi(id, id_lv, true);
	}
}

/*******************************************************/
/**  ナビmouseOver時処理
/**  
/**  param:objId
/*******************************************************/
function naviOver(objId) {
	
	var arr = new Array();
	arr = splitImageExtension(document.getElementById(objId).style.backgroundImage);

	document.getElementById(objId).style.backgroundImage = 
		constPreImageName + arr[constArrPathName] + constImageOn + arr[constArrExtension] + constPostImageName;
}

/*******************************************************/
/**  ナビmouseOut時処理
/**  
/**  param:objId
/*******************************************************/
function naviOut(objId) {
	
	var arr = new Array();
	arr = splitImageExtension(document.getElementById(objId).style.backgroundImage);
	
	document.getElementById(objId).style.backgroundImage = 
		constPreImageName + arr[constArrPathName].replace(constImageOn, "") + arr[constArrExtension] + constPostImageName;
}

/*******************************************************/
/**  イメージファイルを拡張子と拡張子をのぞいたファイル名に
/**  分割して、配列に格納
/**  	arr[constArrExtension]：拡張子
/**  	arr[constArrPathName] ：
/**  
/**  param:objId
/*******************************************************/
function splitImageExtension( imageName ){
	
	//例）imageName :url(img/navi_goods.gif)
	
	var imagePath = imageName.substr(constPreImageName.length, imageName.length - 
									 (constPreImageName.length + constPostImageName.length));	//url() ←長さ５
	
	var length = imagePath.length;							//imagePathの文字列長
	var position = imagePath.lastIndexOf(".", length);		//ピリオドの位置
	var extension = imagePath.substr(position, length);		//拡張子（例：.gif）
	var pathName = imagePath.substr(0, position);			//パスを含み、拡張子を省いたファイル名
	
	var arr = new Array();
	
	arr[constArrExtension] = extension;
	arr[constArrPathName] = pathName;
	
	return arr;
}

/*******************************************************/
/**  ナビ画像のアクティブ←→非アクティブ切り替え
/**  
/**  param: selected  	true　 アクティブにする
/**  					false　非アクティブにする
/*******************************************************/
function changeNaviImage(id, selected){
	

	
	var arr = new Array();
	arr = splitImageExtension(document.getElementById(id).style.backgroundImage);

	if(selected){
		//アクティブにする かつ onにする
		document.getElementById(id).style.backgroundImage = 
			constPreImageName + arr[constArrPathName].replace(constImageOn, "") + constImageSelect 
			+ arr[constArrExtension] + constPostImageName;
	} else {
		//非アクティブにする	
		document.getElementById(id).style.backgroundImage = 
			constPreImageName + arr[constArrPathName].replace(constImageSelect, "").replace(constImageOn, "") 
			+ arr[constArrExtension] + constPostImageName;
	}
}

/*******************************************************/
/**  メニュークリック時の動作
/**    @URLが渡ってきた場合、画面遷移
/**    AURLが渡ってこなかった場合、自分の画像入れ替え
/**    B　　　　　　　　　　　　　 子要素の表示←→非表示切り替え
/**  
/**    param  : id      　　　　自分(クラス変更対象)のエレメントID
/**             childId 　　　　子供(表示←→非表示の対象）のエレメントID
/**             changeClassName 切り替え後のクラス 
/*******************************************************/
/* 一つのLVに対する、open/close処理 */
function changeNavi(id, lv, openFlg){
	
	//子要素のID名を作成
	id_child = id + "_child";
	
	//ボタンラベルのクラス名を作成（例：label_lv2 ←→ label_lv2_select）
	label_class = "label_lv" + lv;
	const_label_select = "_select";
	const_label = "label_";
	
	if(openFlg){		
		//open時
		if(lv != lowestLevel){
			//子要素を表示状態に変更
			changeDisplay(id_child);
		}
		//自分の色をアクティブに変更
		changeNaviImage(id, true);
		//ボタンラベルのクラスをアクティブに変更
		changeClass(const_label + id, label_class + const_label_select);
		//グローバル変数activeNavi[lv]に値を設定
		activeNavi[lv] = id;
		
	} else {
		//close時
		if(lv != lowestLevel){
			//子要素を表示状態に変更
			changeDisplay(id_child);
		}
		//自分の色を非アクティブに変更
		changeNaviImage(id, false);
		//ボタンラベルのクラスを非アクティブに変更
		changeClass(const_label + id, label_class);
		//グローバル変数activeNavi[lv]の値をクリア
		activeNavi[lv] = "";
	}
}


/*******************************************************/
/**  ナビゲーションActive設定
/**		@GETで渡されたMENU_IDを取得
/**		Aナビ初期状態から、そのMENU_IDがactiveになるまで処理する
/**
/**		param  : constParamNav ナビ番号（例：001001）
/*******************************************************/
function setNavi(paramNav){

	//alert("setNavi="+paramNav);
	
	if(paramNav != ""){
		for(var i = 1; i*constMenuUnit <= paramNav.length ; i++){
			clickNavi(constPreNavigationId + paramNav.substr(0, constMenuUnit*i));
		}
	}
}

/*******************************************************/
/**  getパラメーター取得
/**
/**  param:urlId （例：top.html?nav=001001）
/*******************************************************/
function getParam(urlId) {
	
	var query = "";
	
	if(urlId != ""){
		//クリック時に動作
		//alert(urlId.search(/\?/));
		if(urlId.search(/\?/) < 0){
			//alert("returnします");
			return false;	
		}
		query = urlId.substr(urlId.search(/\?/) + 1);
	} else {
		//onload時に動作
		//alert("getParam2");
		query = window.location.search.substring(1);
	}
		
		
	//query:nav=001001&test1=aaa&…
	//alert("!!"+query);
	
	var parms = query.split('&');
	
	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0) {
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			qsParm[key] = val;
		}
	}
	
	return true;
}

/*******************************************************/
/**  オブジェクトの表示←→非表示切り替え
/**
/**  param  : id 表示/非表示対象のエレメント
/**  return : true(表示)、false(非表示)
/*******************************************************/
function changeDisplay(id){
	//IE	
	/*
	if(document.all){
		if(document.all(id).style.display == "block"){
			document.all(id).style.display = "none";
			//return false;
		}else if(document.all(id).style.display == "none"){
			document.all(id).style.display = "block";
			//return true;
		}
	*/	
		
	//FireFoxなど	
	//}else 
	if(document.getElementById(id)){
		if(document.getElementById(id).style.display == "block"){
			//alert("非表示");
			document.getElementById(id).style.display = "none";
		}else if(document.getElementById(id).style.display == "none"){
			//alert("表示");
			document.getElementById(id).style.display = "block";
		}
	} else {
		//alert(id+ " は存在しません");
		return false;
	}
	//↑エレメントが存在しない場合、falseをreturnする　（2008.01.05）
}

/*******************************************************/
/**  staffクリック時処理
/**  
/**  param:staffId
/*******************************************************/
function clickStaff(staffId){
	
	if(staffId == '0'){
	//[全て表示]がclickされた場合は
		if(activeAllStaffFlg==true){
			//既にclickされていたら何もしない
			return;	
		} else {	
			//現在、activeになっているIDがある場合、非表示にする
			if(activeStaffId != ""){
				changeDisplay(constPreStaffId + activeStaffId);
			}
			//すべてactiveにする
			clickAllStaff();
		}				
		//activeStaffIdを初期化
		activeStaffId = "";	
		//activeAllStaffFlgをtrue
		activeAllStaffFlg = true;
		
	} else {
	//個別にclickされた場合は、全て非表示にしてから、選択IDを表示
		if(activeStaffId == staffId){
			//既にclickされていたら何もしない
			return;
		} else if(activeAllStaffFlg == false) {
			//既にclickされているIDを非表示＆新しいIDを表示
			changeDisplay(constPreStaffId + activeStaffId);
			changeDisplay(constPreStaffId + staffId);
		} else {
			//全部が表示されていたら全部非表示
			clickAllStaff();
			//新しいIDを表示
			changeDisplay(constPreStaffId + staffId);
		}
		//activeStaffIdを設定
		activeStaffId = staffId;	
		//activeAllStaffFlgをfalse
		activeAllStaffFlg = false;
	}
}
	
/*******************************************************/
/**  staff全員を表示・非表示
/**  
/**  param:なし
/*******************************************************/
function clickAllStaff(){

	//全てのSTAFFの表示←→非表示を切り替え
	for (var i = 1; i <= constMaxStaff ; i++) {
		if(changeDisplay(constPreStaffId + i)==false){
			//alert(i+"　以降は処理しない");
			return;
		}
	}	
}
	

/*******************************************************/
/**  OpenWindow
/**  
/**  param:なし
/*******************************************************/
function OpenWindow(URL,Winname,Height,Width){
	if(Width == ""){
		Width = "650";
	}
	if(Height == ""){
		Height = "500";
	}
	
	
	
	SubWindow=window.open(URL,Winname,
		"height="+ Height +",width="+ Width +",resizable=yes,scrollbars=no,toolbar=no,location=no,status=no,directories=no");
}


/**
 *　
 *　エレメントのクラス入れ替え
 *  (イメージの差し替え)
 *
 *　param  : id        表示/非表示対象のエレメント
 *　         className 変更後クラス名称
 * 
 */ 
function changeClass(id, className){
	if(document.getElementById) {
		var obj = document.getElementById(id);
         if(obj) {
			obj.className = className;
         }
	}
}



/*
   お問い合せフォーム送信
*/
function sendForm(){
	document.contact.i_tel.value='';

	if(document.contact.a_name.value == ''){
		alert('お名前を入力してください');
		return;
	}
	if(document.contact.e_company.value == ''){
		alert('会社名を入力してください');
		return;
	}
	if(document.contact.e_department.value == ''){
		alert('部署名を入力してください');
		return;
	}
	if(document.contact.i_tel1.value == '' || document.contact.i_tel2.value == '' || document.contact.i_tel3.value == ''){
		alert('電話番号を入力してください');
		return;
	}

	if(document.contact.k_email.value == ''){
		alert('メールアドレスを入力してください');
		return;
	}
	if(document.contact.n_field.value == ''){
		alert('お問い合わせ内容を入力してください');
		return;
	}

	document.contact.i_tel.value=document.contact.i_tel1.value + document.contact.i_tel2.value + document.contact.i_tel3.value;
	document.contact.submit();
}

function resetForm(){
	document.contact.reset();
}
