/*
 *	default.js
 *	Author: hiroki ooiwa
 *
 *	※jQuery1.2.6以上が必要です。
 */



/*******************************************************************************************************
	トップページ コンテンツ切り替え
*/

var ajaxMainContents = {
	
	//コンテンツの数
	contentsLength: 8,
	
	defaultLoad: function(i){
		/*-------------------------------------------------
		* デフォルトで開く左ナビとコンテンツの設定
		*/
		if(i == 'default'){
			this.ajaxContentsDefaultLoad('curLA1','curAjaxContentsA');
		}
		if(i == 'a'){this.ajaxContentsDefaultLoad('curLA1','curAjaxContentsA');}
		if(i == 'b'){this.ajaxContentsDefaultLoad('curLB1','curAjaxContentsB');}
		
		/*-------------------------------------------------
		* 「受験をお考えの方・講座をお探しの方」
		* 第4引数の値に「1」を記述することで、デフォルトで表示したいコンテンツを設定
		*/
		//1級建築士
		this.changeContents('navLA1','ajaxCols1','1',0,'a');
		//2級建築士
		this.changeContents('navLA2','ajaxCols2','2',0,'a');
		//宅建
		this.changeContents('navLA3','ajaxCols3','3',0,'a');
		//建築施工管理技士
		this.changeContents('navLA4','ajaxCols4','4',0,'a');
		//インテリアコーディネーター
		this.changeContents('navLA11','ajaxCols8','5',0,'a');
		
		/*-------------------------------------------------
		 * 「建築系学生・ご父母・企業の人材育成担当の方」
		 * 第4引数の値に「1」を記述することで、デフォルトで表示したいコンテンツを設定
		 */
		//建築・土木系の学生の方
		this.changeContents('navLB1','ajaxCols5','1',0,'b');
		//企業の人材育成担当の方
		this.changeContents('navLB2','ajaxCols6','2',0,'b');
		//建築・土木系の在校／卒業生のご家族の方
		this.changeContents('navLB3','ajaxCols7','3',0,'b');
	},
	/*-------------------------------------------------
	 * Ajaxで切り替えるコンテンツ群のロード
	 */
	loadOnly: function(){
		/*--------------------------------------------------------
		* 「受験をお考えの方・講座をお探しの方」
		*/
		this.changeContents('navLA1','ajaxCols1','1',0,'a');
		this.changeContents('navLA2','ajaxCols2','2',0,'a');
		this.changeContents('navLA3','ajaxCols3','3',0,'a');
		this.changeContents('navLA4','ajaxCols4','4',0,'a');
		this.changeContents('navLA11','ajaxCols8','5',0,'a');
		
		/*--------------------------------------------------------
		* 建築系学生・ご父母・企業の人材育成担当の方
		*/
		this.changeContents('navLB1','ajaxCols5','1',0,'b');
		this.changeContents('navLB2','ajaxCols6','2',0,'b');
		this.changeContents('navLB3','ajaxCols7','3',0,'b');
	},
	/*-------------------------------------------------
	 * 2回目以降の処理
	 * クッキーにて前回の状態を呼び出す
	 */
	cookieLoad: function(){
		//Ajaxで処理する全コンテンツをロード
		this.loadOnly();
		
		/*-------------------------------------------------
		 * 左タブが有効だった場合
		 */
		if(readCookie('cookieTab') == 'a'){
			this.ajaxContentsDefaultLoad('curLA1','curAjaxContentsA');
			ajaxMainContents.contentsLoad('a');
			if(readCookie('naviA') != null){
				getid('curLA1').className = readCookie('naviA');
			}
		}
		/*-------------------------------------------------
		 * 右タブが有効だった場合
		 */
		if(readCookie('cookieTab') == 'b'){
			this.ajaxContentsDefaultLoad('curLB1','curAjaxContentsB');
			ajaxMainContents.contentsLoad('b');
			if(readCookie('naviB') != null){
				getid('curLB1').className = readCookie('naviB');
			}
		}else{
			this.ajaxContentsDefaultLoad('curLA1','curAjaxContentsA');
		}
	},
	curA: '#' + 'curLA1',
	curB: '#' + 'curLB1',
	speed: 1000,
	showContents: function(){
		this.ajaxContentsDefaultLoad('curLB1','curAjaxContentsB');
	},
	/*--------------------------------------------------------------------------------------------------
	*	指定したコンテンツIDとカレントクラスを表示させる関数。（Bタブ限定）
	*	この関数はリンク先として指定する。
	*	
	*	ajaxMainContents.cookieSetCustum(colNun,curNun);
	*	colNun：コンテンツID（5〜7）
	*	curNun：カレントナンバー（Bタブ：1〜3）
	*
	*	例）<a href="javascript:void(0);" onclick="ajaxMainContents.cookieSetCustum(7,3); return false;">リンク先</a>
	*/
	//カスタムクッキーをセット
	cookieSetCustum: function(colNun,curNun){
		setCookie('custum',colNun.toString()+curNun.toString(),365);
		location.href="/index.html";
	},
	//カスタムクッキーをロード
	cookieLoadCustum: function(){
		var rc = readCookie('custum');
		/**/
		ajaxMainContents.ajaxContentsAllHide();
		$('#curLB1').show();
		$('#curAjaxContentsB').show();
		ajaxMainContents.contentsLoad('b');
		ajaxMainContents.allHide('ajaxCols',ajaxMainContents.contentsLength);
		$('#ajaxCols'+ rc.charAt(0)).show();
		ajaxMainContents.allCurClass(3,'b');
		getid('curLB1').className = 'ajaxNavListA'+ ' nlCur' + rc.charAt(1);
		setCookie('naviB',getid('curLB1').className,365);
		setCookie('cookieTab','b',365);
		eraseCookie('custum');
	},
	/*--------------------------------------------------------------------------------------------------*/
	/*-------------------------------------------------
	 * コンテンツ切り替えメソッド（左ナビ）
	 */
	changeContents: function(navi,col,curNun,iNun,type){
		var navLA = $('#'+ navi);
		var ajaxCols = $('#'+ col);
		var curLA1 = $(this.curA);
		var curLB1 = $(this.curB);
		var speed = 0;

		if(iNun == 1){
			ajaxCols.show();
		}
		
		/*-------------------------------------------------
		 * 左ナビをクリックした場合
		 */
		navLA.click(function(){
			/*-------------------------------------------------
			 * 左ナビ、Aパターンをクリックした場合
			 */
			if(type == 'a'){
				ajaxMainContents.allHide('ajaxCols',ajaxMainContents.contentsLength);
				ajaxCols.show(speed);
				ajaxMainContents.allCurClass(5,'a');
				curLA1.addClass('nlCur' + curNun);
				
				/**---------------------------------------------------
				*	クッキー制御の場合
				*
				setCookie('naviA',getid('curLA1').className,365);
				setCookie('cookieTab','a',365);
				/*------------------------------------------------*/
				
				$('#defaultCols').hide();            //デフォルトで表示される総合全体トップコンテンツを非表示
			}
			/*-------------------------------------------------
			 * 左ナビ、Bパターンをクリックした場合
			 */
			if(type == 'b'){
				ajaxMainContents.allHide('ajaxCols',ajaxMainContents.contentsLength);
				ajaxCols.show(speed);
				ajaxMainContents.allCurClass(3,'b');
				curLB1.addClass('nlCur' + curNun);
				
				/**---------------------------------------------------
				*	クッキー制御の場合
				*
				setCookie('naviB',getid('curLB1').className,365);
				setCookie('cookieTab','b',365);
				/*------------------------------------------------*/
				
				$('#defaultCols').hide();            //デフォルトで表示される総合全体トップコンテンツを非表示
			}
			return false;
		});
	},
	/*-------------------------------------------------
	 * コンテンツ切り替えメソッド（上タブ）
	 */
	ajaxChangeTab: function(tabA,tabB){
		var TabA = $('#'+ tabA);
		var TabB = $('#'+ tabB);
		
		/*-------------------------------------------------
		 * 上タブ、左部分をクリックしたとき
		 */
		TabA.click(function(){
			ajaxMainContents.ajaxContentsAllHide();
			
			$('#curLA1').show();
			$('#curAjaxContentsA').show();
			
			ajaxMainContents.allHide('ajaxCols',ajaxMainContents.contentsLength);
			ajaxMainContents.allCurClass(5,'a');
			
			/**---------------------------------------------------------------
			*	クッキー制御なし用
			*/

			$('#defaultCols').show();
			
			/**
			$('#defaultCols').hide();            //デフォルトで表示される総合全体トップコンテンツを非表示
			if( !$('#curLA1').attr('className').match(/nlCur/) ){
				$('#curLA1').addClass('nlCur1');
			}
			/**/
			
			/*--------------------------------------------------------------*/
			
			/**---------------------------------------------------------------
			*	クッキー制御用
			*
			if( (readCookie('naviA') != null) && readCookie('mainCookie') ){
				getid('curLA1').className = readCookie('naviA');
			}else{
				getid('curLA1').className = 'ajaxNavListA nlCur1';
			}
			if( readCookie('mainCookie') ){
				setCookie('naviA',getid('curLA1').className,365);
				setCookie('cookieTab','a',365);
			}
			/*---------------------------------------------------------------*/
		});
		/*-------------------------------------------------
		 * 上タブ、右部分をクリックしたとき
		 */
		TabB.click(function(){
			ajaxMainContents.ajaxContentsAllHide();
			$('#curLB1').show();
			$('#curAjaxContentsB').show();
			ajaxMainContents.contentsLoad('b');
			
			/**---------------------------------------------------------------
			*	クッキー制御なし用
			*/
			$('#defaultCols').hide();            //デフォルトで表示される総合全体トップコンテンツを非表示
			
			/*--------------------------------------------------------------*/
			
			/**---------------------------------------------------------------
			*	クッキー制御用
			*
			if( (readCookie('naviB') != null) && readCookie('mainCookie') ){
				getid('curLB1').className = readCookie('naviB');
			}else{
				getid('curLB1').className = 'ajaxNavListA nlCur1';
			}
			if( readCookie('mainCookie') ){
				setCookie('naviB',getid('curLB1').className,365);
				setCookie('cookieTab','b',365);
			}
			/*---------------------------------------------------------------*/
		});
	},
	/*-------------------------------------------------
	 * 左ナビ、上タブ意外のコンテンツ部分、全非表示
	 */
	allHide: function(c,n){
		for(i=1;i<=n;i++){
			$('#'+ c + i).hide();
		}
	},
	/*-------------------------------------------------
	 * すべてのカレントクラス削除
	 */
	allCurClass: function(n,type){
		for(i=1;i<=n;i++){
			if(type == 'a'){$(this.curA).removeClass('nlCur'+i);}
			if(type == 'b'){$(this.curB).removeClass('nlCur'+i);}
		}
	},
	/*-------------------------------------------------
	 * コンテンツ全非表示
	 */
	ajaxContentsAllHide: function(){
		$('#curLA1').hide();
		$('#curLB1').hide();
		$('#curAjaxContentsA').hide();
		$('#curAjaxContentsB').hide();
	},
	/*-------------------------------------------------
	 * デフォルト表示メソッドを定義
	 */
	ajaxContentsDefaultLoad: function(navi,contents){
		var Navi = $('#'+ navi);
		var Contents = $('#'+ contents);
		Navi.show();
		Contents.show();
		this.ajaxChangeTab('ctabA','ctabB');
		
	},
	/*-------------------------------------------------
	 * 表示するコンテンツを条件式にて切り替えるメソッド
	 */
	contentsLoad:function(type){
		/*-------------------------------------------------
		 * 左ナビ Aパターン
		 */
		if(type == 'a'){
			if(readCookie('naviA')){
				var naviCookie = readCookie('naviA');
				switch(naviCookie){
					case 'ajaxNavListA nlCur1':
						$('#ajaxCols1').show();
						break;
					case 'ajaxNavListA nlCur2':
						$('#ajaxCols2').show();
						break;
					case 'ajaxNavListA nlCur3':
						$('#ajaxCols3').show();
						break;
					case 'ajaxNavListA nlCur4':
						$('#ajaxCols4').show();
						break;
					case 'ajaxNavListA nlCur5':
						$('#ajaxCols11').show();
						break;
				}
			}else{
				$('#ajaxCols1').show();
			}
		}
		/*-------------------------------------------------
		 * 左ナビ Bパターン
		 */
		if(type == 'b'){
			if(readCookie('naviB')){
				var naviCookie = readCookie('naviB');
				switch(naviCookie){
					case 'ajaxNavListA nlCur1':
						$('#ajaxCols5').show();
						break;
					case 'ajaxNavListA nlCur2':
						$('#ajaxCols6').show();
						break;
					case 'ajaxNavListA nlCur3':
						$('#ajaxCols7').show();
						break;
				}
			}else{
				$('#ajaxCols5').show();
			}
		}
	},
	tabBgLoad: function(){
		$('#curAjaxContentsA .amc_head_tab').css({
			background: 'url(imgs/top_ajax_main_white_head_a.gif) no-repeat 0 0'
		});
		$('#curAjaxContentsB .amc_head_tab').css({
			background: 'url(imgs/top_ajax_main_white_head_b.gif) no-repeat 0 0'
		});
	},
	tabZindexLoad: function(e){
		if( e == 'a' ){
			$('.changeTabA').css({
				zIndex: 0
			});
			$('.changeTabB').css({
				zIndex: 1
			});
		}
		if( e == 'b' ){
			$('.changeTabA').css({
				zIndex: 1
			});
			$('.changeTabB').css({
				zIndex: 0
			});
		}
	}
}


/********************************************************************************************************
	Cookie操作
**/
function setCookie(name,value,days){
	// デフォルトでは有効期限がないので一時的クッキーになる。
	var expires = '';
	
	// クッキーの有効期限を日数で指定。
	if(days){
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		expires = '; expires = ' + date.toGMTString();
	}
	
	// クッキーに名前、値、有効期限を設定。
	document.cookie = name + '=' + value + expires + '; path=/';
}

function readCookie(name){
	// 指定されたクッキーを探し、値を返す。
	var searchName = name + '=';
	var cookies = document.cookie.split(';');
	for(i=0,L=cookies.length; i<L; i++){
		var c = cookies[i];
		while(c.charAt(0) == ' '){
			c = c.substring(1, c.length);
		}
		if(c.indexOf(searchName) == 0){
			return c.substring(searchName.length, c.length);
		}
	}
	return null;
}

function eraseCookie(name){
	// 指定されたクッキーを消去
	setCookie(name, '', -1);
}


/*******************************************************************************************************
	グローバルナビ 「講座・資格案内」プルダウンメニュー
*/
$(document).ready(function(){
	var pullDownMenu = {
		// 以下の範囲に当たったらプルダウンメニュー隠す
		gNavi1: $('#hgNavTop'),
		gNavi2: $('#hgNavPoint'),
		gNavi3: $('#hgNavInfo2'),
		gNavi4: $('#hgNavCampaign'),
		gNavi5: $('#hgNavLoad'),
		gWrapper: $('#global_wrapper'),
		gHeader: $('#global_header'),
		
		// イベントハンドラ
		event: $('#hgNavInfo1'),					// 親メニュー
		contents: $('#hgNavInfo1 .kouza_up_list'),	// 子メニュー
		slideSpeed: 200,
		load: function(){
			this.contents.hide();
		},
		toggle: function(){
			this.event.mouseover(function(){
				pullDownMenu.contents.show();
			});
			this.contents.mouseout(function(){
				pullDownMenu.contents.hide();
			});
			this.gNavi1.mouseover(function(){pullDownMenu.contents.hide();});
			this.gNavi2.mouseover(function(){pullDownMenu.contents.hide();});
			this.gNavi3.mouseover(function(){pullDownMenu.contents.hide();});
			this.gNavi4.mouseover(function(){pullDownMenu.contents.hide();});
			this.gNavi5.mouseover(function(){pullDownMenu.contents.hide();});
			this.gWrapper.mouseover(function(){pullDownMenu.contents.hide();});
			this.gHeader.mouseover(function(){pullDownMenu.contents.hide();});
		}
	}
	pullDownMenu.load();
	pullDownMenu.toggle();
});


/*******************************************************************************************************
	ページ送り付き、Ajaxパーツ
*/
function changePageBox(back,next,contentsCol,fileHeadName,contentNum){
	// イベントハンドラ設定
	var evToBack = $(back);
	var evToNext = $(next);
	
	// ページ送り用プロパティ
	var page = 1;
	var cna = (contentNum += parseInt(1));
	var cnb = contentNum -= parseInt(1);
	
	// コンテンツ領域
	var conCol = $(contentsCol);
	var fadeInSpeed = 200;
	
	// 現在地表示
	ajaxContents.load(page,conCol,fadeInSpeed,fileHeadName);
	
	// 「次」をクリックした場合の処理
	// 0〜xまで1ずつ増えていく。MAX値になったら0に戻る。
	evToNext.click(function(){
		page += parseInt(1);
		if(page == cna){
			page = parseInt(1);
		}
		// ajaxをロードし、XMLの中身を読み込む
		ajaxContents.load(page,conCol,fadeInSpeed,fileHeadName);
	});
	
	// 「前」をクリックした場合の処理
	// 0〜xまで1ずつ減っていく。MIN値になったらMAX値に移動する。
	evToBack.click(function(){
		page -= parseInt(1);
		if(page == 0){
			page = parseInt(cnb);
		}
		// ajaxをロードし、外部HTMLを読み込む
		ajaxContents.load(page,conCol,fadeInSpeed,fileHeadName);
	});
}
/*-----------------------------------------------------
 * 非同期通信処理、AjaxでXMLを読み込む
 */
var ajaxContents = {
	/*-------------------------------------
	 * i = ページナンバー
	 * c = コンテンツオブジェクト
	 * s = 表示エフェクトスピード
	 */
	load: function(i,c,s,f){
		$.ajax({
			url: '/common/xml/' + f + i + '.xml',
			type: 'GET',
			dataType: 'xml',
			timeout: 1000,
			error: function(){
				return false;
			},
			success: function(xml){
				var innerHTML = $(xml).find('div:first').text();
				c.hide();
				c.html(innerHTML);
				c.fadeIn(s);
			}
		});
	}
}

/********************************************************************************************************
	画像ロールオーバー
**/
$(document).ready(function(){
	var conf = {
		className : 'rollover',	// クラス名
		postfix : '_o'		// マウスオン時の画像のファイル名
	};
	var imgNodeList = getElementsByClassName(conf.className);
	var node;
	for (var i=0, len=imgNodeList.length; i<len; i++) {
		node = imgNodeList[i];
		node.originalSrc = node.src;
		node.rolloverSrc = node.originalSrc.replace(/(\.gif|\.jpg|\.png)/,
			conf.postfix+"$1");
		preloadImage(node.rolloverSrc);
		node.onmouseover = function() {
			this.src = this.rolloverSrc;
		};
		node.onmouseout = function() {
			this.src = this.originalSrc;
		};
	}
});
//	クラス名によるエレメントノード配列取得
function getElementsByClassName(name) {
	var elements = [];
	var allElements = document.getElementsByTagName('*');
	var re = new RegExp("(^|\\s)" + name + "($|\\s)");
	for (var i=0, len=allElements.length; i<len; i++) {
		if (allElements[i].className.match(re)) {
			elements.push(allElements[i]);
		}
	}
	return elements;
}
//	プリロード
var preloadedImages = new Array;
function preloadImage(url) {
	var p = preloadedImages;
	var l = p.length;
	p[l] = new Image();
	p[l].src = url;
}


/********************************************************************************************************
	ポップアップウィンドウ
**/
function popup(url,width,height){
	window.open(
		url,
		'new_window',
		'width='+ width + ( height ? ',height=' + height : '' ) + ',menubar=no,toolbar=no,scrollbars=yes,resizable=yes'
	);
}


/********************************************************************************************************
	コンテンツの開閉（汎用関数）
**/

function slideBox(head,cols,i){
	var Head = $('#'+ head);
	var Cols = $('#'+ cols);
	var speed = 200;
	if(i == 'close'){Cols.hide();}
	Head.click(function(){
		Cols.slideToggle(speed);
	});
}


/********************************************************************************************************
	画像つき、開閉コンテンツ（汎用関数）
**/
function imgSlideBox(head,box,closeImg,openImg,btn,tab,col){
	var Head = $('#'+ head);
	var Box = $('#'+ box);
	var Btn = $('#'+ btn);
	var Tab1 = $('#'+tab + 1);
	var Tab2 = $('#'+tab + 2);
	var Col1 = $('#'+col + 1);
	var Col2 = $('#'+col + 2);
	var h = getid(head);
	var speed = 200;
	
	if(h.className == closeImg){
		Box.hide();
	}else{
		Box.show();
	}
	
	Head.click(function(){
		if(h.className == closeImg){
			Box.slideDown(speed);
			h.className = openImg;
		}else{
			Box.slideUp(speed,function(){
				h.className = closeImg;
			});
		}
	});
	Btn.click(function(){
		Box.slideDown(speed);
		h.className = openImg;
		Col1.hide();
		Col2.show();
		Tab1.attr({className: ''});
		Tab2.attr({className: 'tcm_cur'});
		return false;
	});
}

var ImgSlideBoxStrength = function(headID,boxID,closeImgClass,openImgClass,status){
	var Head = $('#'+ headID);
	var Box = $('#'+ boxID);
	var h = getid(headID);
	var speed = 200;
	
	if(status == 'close'){
		Box.hide();
		h.className = closeImgClass;
	}
	if(status == 'open'){
		Box.show();
		h.className = openImgClass;
	}
	
	Head.click(function(){
		if(h.className == closeImgClass){
			Box.slideDown(speed);
			h.className = openImgClass;
		}else{
			Box.slideUp(speed,function(){
				h.className = closeImgClass;
			});
		}
	});
}


/********************************************************************************************************
	トピックスモジュール開閉アイコン
**/
function kaiheiChangeBtn(clickObj,imgPath,i){
	var btn = document.getElementById(imgPath);
	var clObj = document.getElementById(clickObj);
	var open = '<img src="/common/imgs/topics_open_btn.gif" alt="開く" />';
	var close = '<img src="/common/imgs/topics_close_btn.gif" alt="閉じる" />';
	
	if( !btn ) return;
	
	if(i == 1){btn.innerHTML = open}
	if(i == 2){btn.innerHTML = close}
	
	clObj.onclick = function(){
		if(i == 1){
			btn.innerHTML = close;
			i = 0;
		}else{
			btn.innerHTML = open;
			i = 1;
		}
	}
}

/********************************************************************************************************
	ネイティブgetID関数
**/
function getid(id){
	return document.getElementById(id);
}


/********************************************************************************************************
	カウントダウンカレンダー
	
	 * 第1引数：年
	 * 第2引数：月
	 * 第3引数：日
	 * 第4引数：残り日数を記述するエリアID
	 * 第5引数：残り日数1桁になった場合の画像パス
	 * 第6引数：デフォルト残り日数の画像パス
**/
function countDownCalendar(year,month,day,cols,keta1,keta2){
	
	//表示するコンテンツIDを設定
	var jCols = $('#' + cols);
	var nCols = getid(cols);
	
	//日付の計算
	var now = new Date();	//現在の日付
	var set = new Date(year,month -1,day);	//目標日付
	
	//目標日付から現在日付を引き、残り日数を計算する。
	var restDay = (set.getTime() - now.getTime()) / (24*60*60*1000);
	restDay = Math.ceil(restDay);//残り日数の整数値を取得
	var stringDay = restDay.toString();//残り日数を文字列に変換
	
	//出力ソース設定
	var src1 = '<img src="'+ keta1 + stringDay.charAt(0) +'.gif" alt="'+ stringDay.charAt(0) +'" />';
	var src2 = '<img src="'+ keta2 + stringDay.charAt(0) +'.gif" alt="'+ stringDay.charAt(0) +'" /><img src="'+ keta2 + stringDay.charAt(1) +'.gif" alt="'+ stringDay.charAt(1) +'" class="ml2" />';
	var src3 = '<img src="'+ keta2 + stringDay.charAt(0) +'.gif" alt="'+ stringDay.charAt(0) +'" /><img src="'+ keta2 + stringDay.charAt(1) +'.gif" alt="'+ stringDay.charAt(1) +'" class="ml2" /><img src="'+ keta2 + stringDay.charAt(2) +'.gif" alt="'+ stringDay.charAt(2) +'" class="ml2" />';
	
	if(restDay < 0){
		//alert('試験日の日付を現在より未来に設定してください。');
	}else{
		//10日未満の場合、オレンジ色で書き出す。
		if(restDay < 10){jCols.html(src1);}
		//10日以上の場合、青文字で書き出す。
		if(restDay >= 10){jCols.html(src2);}
		//100日以上の場合
		if(restDay >= 100){jCols.html(src3);}
	}
}


/********************************************************************************************************
	フッターをウィンドウ下に固定する
**/

function heightSet(idMain,footerHight,someMargin) {
	var pf=navigator.platform.charAt(0);
	var IdMain = document.getElementById(idMain);
	var FooterHight = footerHight;
	var SomeMargin = someMargin;
	var totalFoot=FooterHight+SomeMargin;

	var usrAgt = navigator.userAgent.toLowerCase();
	var appVer = navigator.appVersion;
	var isIe = usrAgt.indexOf("msie") != -1;
	var isIe7 = usrAgt.indexOf("msie 7") != -1;
	var isFf = usrAgt.indexOf("firefox") != -1;
	var isFf1 = usrAgt.indexOf("firefox/1.0") != -1;

	if(isIe) {
		if(pf!="M") {
			if(isIe7) {
				IdMain.style.minHeight=document.documentElement.clientHeight - totalFoot;
			}else{
				IdMain.style.height=document.documentElement.clientHeight - totalFoot;
			}
		}
	}else{
		IdMain.style.minHeight = window.innerHeight - totalFoot -0 +"px";
	}
}

/********************************************************************************************************
	下層ページ、左ナビのカレント制御
**/
function naviCurChange(parentID,parentCurID,chiledID){
	if(parentID){
		var parent = $('#'+ parentID);
		parent.show();
	}
	if(parentCurID){
		var parentCur = $('li#'+parentCurID +' > a > span');
		parentCur.attr({
			className: 'cat cur'
		});
	}
	if(chiledID){
		var chiled = $('#'+ chiledID);
		var chiledFirstElement = $('#'+ chiledID +' :first');
		chiledFirstElement.attr({
			className: 'cur'
		});
	}
	return;
}

/********************************************************************************************************
	プルダウン切り替えメニュー
**/
var pullChangeLink = {
	/*-------------------------------------
	 * XMLファイルパス
	 */
	xmlPath: '',
	
	/*-------------------------------------
	 * リンクボタンIDをセット
	 */
	linkBtn: 'linkBtn',
	

	/*--------------------------------------------------
	 *	デフォルトで1階層目のプルダウンメニューをロード
	 *
	 *	第1引数：非同期通信で読み込む側のセレクトボックスID
	 *	第2引数：非同期通信で読み込むXMLタグ
	 *	第3引数：デフォルトの配列ナンバー
	 *	第4引数：XMLファイルナンバー
	 */
	load: function(c,tagName,i,xmlFileNunber){
		if(c&&tagName){
			var ramParam = new Date();
			var cObj = $('#'+ c);
			$.ajax({
				url: pullChangeLink.xmlPath + 'option'+ xmlFileNunber +'.xml' + '?time=' + ramParam.getTime(),
				type: 'GET',
				dataType: 'xml',
				timeout: 1000,
				error: function(){
					xmlErrorTry();
				},
				success: function(xml){
					var HTML = '';
					
					/*--------------------------------------
					* XMLから<option>セットを読み込む
					*/
					//IE系
					if($(tagName,xml)[i].text){HTML = $(tagName,xml)[i].text;}
					//モダンブラウザ系
					else if($(tagName,xml)[i].textContent){HTML = $(tagName,xml)[i].textContent;}
					
					/*--------------------------------------
					* 読み込んだ<option>セットをHTML内にはめこむ
					*/
					cObj.hide();
					cObj.html(HTML);
					cObj.fadeIn(200);
				}
			});
		}
	},
	successMethod: function(){
	},
	/*--------------------------------------
	 *	第1引数にロードするセレクトボックスタイプ
	 *	第2引数にロードするセレクトボックスIDナンバー
	 *	第3引数にXMLファイルナンバー
	 */
	select: function(prefix,id,xmlFileNunber){
		var step = id + 1;
		var selectObj = getid(prefix+id);
		selectObj.onchange = function(){
			var indexNunber = selectObj.options[selectObj.selectedIndex].value;
			if(indexNunber && (indexNunber != 0)){
				switch(step){
					case 2:
						//<option value="0">--</option>で空を選択した場合、リンクを押せなくする。
						getid(pullChangeLink.linkBtn + xmlFileNunber).innerHTML = '<img src="imgs/top_con_kouza_search_disable.gif" alt="講座検索" />';
						pullChangeLink.load(prefix + (id+1),'option-pattern-b',indexNunber -1,xmlFileNunber);
						break;
					case 3:
						//条件がそろってない場合、リンクを押せなくする。
						getid(pullChangeLink.linkBtn + xmlFileNunber).innerHTML = '<img src="imgs/top_con_kouza_search_disable.gif" alt="講座検索" />';
						pullChangeLink.load(prefix + (id+1),'option-pattern-c',indexNunber -1,xmlFileNunber);
						break;
					case 4:
						pullChangeLink.linkLoad(pullChangeLink.linkBtn + xmlFileNunber,indexNunber);
						break;
				}
			}/**/
			else if(indexNunber && (indexNunber == 0)){
				//<option value="0">--</option>で空を選択した場合、リンクを押せなくする。
				getid(pullChangeLink.linkBtn + xmlFileNunber).innerHTML = '<img src="imgs/top_con_kouza_search_disable.gif" alt="講座検索" />';
				getid(prefix + (id+1)).innerHTML = '<option value="0">--</option>';
			}/**/
			else{
				return;
			}
		}
	},
	linkLoad: function(id,nun){
		var selectObj = getid(id);
		$('#'+id).hide();
		$('#'+id).html('<a href="'+ nun +'" class="sss"><span class="none">講座検索</span></a>');
		$('#'+id).fadeIn(200);
	}
}



/********************************************************************************************************
	マップタブ切り替えスクリプト
**/
var tabChangeMapJs = {
	load: function(tab,col){
		var Tab1 = $('#'+tab + 1);
		var Tab2 = $('#'+tab + 2);
		var Col1 = $('#'+col + 1);
		var Col2 = $('#'+col + 2);
		Col1.show();
		Col2.hide();
		Tab1.click(function(){
			Col2.hide();
			Col1.show();
			Tab1.attr({className: 'tcm_cur'});
			Tab2.attr({className: ''});
			return false;
		});
		Tab2.click(function(){
			Col1.hide();
			Col2.show();
			Tab1.attr({className: ''});
			Tab2.attr({className: 'tcm_cur'});
			return false;
		});
	}
}



/********************************************************************************************************
	XML読み込みエラーの対処、成功するまで読み込みを繰り返す。
**/
function xmlErrorTry(){
	pullChangeLink.load('selectBoxA1','option-pattern-a',0,1);
	pullChangeLink.load('selectBoxB2','option-pattern-b',0,2);
//	pullChangeLink.load('selectBoxC3','option-pattern-c',0,3);
	pullChangeLink.load('selectBoxD2','option-pattern-b',0,4);
}



/********************************************************************************************************
	カテゴリ別タブ切り替え
**/

var cateTabChange = {
	load: function(L){
		cateTabChange.allHide('cateTabChangeContents',L,1);
		var a = new Array();
		var eh = new Array();
		for(i=1;i<=L;i++){
			a[i] = $('#indexTab0'+i+' a');
			eh[i] = $('#cateTabChangeContents'+i);
		}
		a[1].click(function(){
			if(L==3){cateTabChange.allCurNone(3);}
			if(L==4){cateTabChange.allCurNone(4);}
			getid('indexTab0'+1).className = 'cur';
			cateTabChange.allHide('cateTabChangeContents',L);
			eh[1].show(100);
			return false;
		});
		a[2].click(function(){
			if(L==3){cateTabChange.allCurNone(3);}
			if(L==4){cateTabChange.allCurNone(4);}
			getid('indexTab0'+2).className = 'cur';
			cateTabChange.allHide('cateTabChangeContents',L);
			eh[2].show();
			return false;
		});
		a[3].click(function(){
			if(L==3){cateTabChange.allCurNone(3);}
			if(L==4){cateTabChange.allCurNone(4);}
			getid('indexTab0'+3).className = 'cur';
			cateTabChange.allHide('cateTabChangeContents',L);
			eh[3].show();
			return false;
		});
		if(L == 4){
			a[4].click(function(){
			if(L==3){cateTabChange.allCurNone(3);}
			if(L==4){cateTabChange.allCurNone(4);}
			getid('indexTab0'+4).className = 'cur';
			cateTabChange.allHide('cateTabChangeContents',L);
			eh[4].show();
			return false;
			});
		}else{return false}
	},
	allHide: function(id,L,dl){
		for(i=1;i<=L;i++){
			var aaa = $('#'+ id + i);
			aaa.hide();
		}
		if(dl != null){$('#'+ id + dl).show();}
	},
	allCurNone: function(L){
		for(i=1;i<=L;i++){
			var bbb = getid('indexTab0' + i);
			bbb.className = '';
		}
	}
}

var futureTabChange = {
	load: function(L){
		cateTabChange.load(L);
		var m1k = document.referrer.match(/\/(1k)\//);
		var m2k = document.referrer.match(/\/(2k)\//);
		var mta = document.referrer.match(/\/(takken)\//);
		if( m1k != null ) $('#indexTab01 a').click();
		else if( m2k != null ) $('#indexTab02 a').click();
		else if( mta != null ) $('#indexTab03 a').click();
	}
}

/* ---------------------------------------------------------------------------- *
PxSmoothScroll.js
(C)Tomoya Koyanagi.
Last Update : 23:11 2009/03/21
/* ---------------------------------------------------------------------------- */
function PxSmoothScroll( targetElementId ){

	this.PxSmoothScroll_getTargetAbsOffsetTop = function( targetElementId ){
		var $element = this.PxSmoothScroll_getTargetElement( targetElementId );
		if( !$element ){ return 0; }
		var $elmBox = null;
		var $scrollTop = this.PxSmoothScroll_getOffsetScrollTop();
		var $RTN = 0;
		if( $element.getBoundingClientRect ){
			//IE
			$elmBox = $element.getBoundingClientRect();
			$RTN = $elmBox.top + $scrollTop -2;
			return	$RTN;
		}else if( document.getBoxObjectFor ){
			//Mozilla
			$elmBox = document.getBoxObjectFor( $element );
			if( typeof( $elmBox.top ) !== 'undefined' ){
				$RTN = $elmBox.top + $scrollTop -2;
			}
			return	$RTN;
		}

		while( $element.offsetParent ){
			$RTN += $element.offsetTop;
			$element = $element.offsetParent;
		}
		$RTN = $RTN -2;
		return	$RTN;
	}
	this.PxSmoothScroll_getOffsetScrollTop = function(){
		var UA = window.navigator.userAgent.toLowerCase();

		if( window.pageYOffset || UA.indexOf('netscape') >= 0 || window.opera || UA.indexOf('gecko') >= 0 ){
			return	parseInt( window.pageYOffset );
		}else if( document.body && document.body.scrollTop ){
			return	parseInt(document.body.scrollTop);
		}else{
			return	parseInt(document.documentElement.scrollTop);
		}
		return	0;
	}
	this.PxSmoothScroll_getTargetElement = function( targetElementId ){
		if( !targetElementId ){ return; }
		if( !document.getElementById( targetElementId ) ){ return; }
		return	document.getElementById( targetElementId );
	}
	this.PxSmoothScroll_fix = function( targetElementId ){
		/**
		*	urlのおしりにアンカーをつける処理をしないからコメントアウトにしてあります。
		if( document.getElementById( targetElementId ) ){
			window.location.hash = targetElementId;
		}else{
			window.scrollTo( 0 , 0 );
		}/**/
		return;
	}

	var UA = window.navigator.userAgent.toLowerCase();
	var NowScroll = this.PxSmoothScroll_getOffsetScrollTop();
	var targetScroll = this.PxSmoothScroll_getTargetAbsOffsetTop( targetElementId );
	var ToScroll = (NowScroll-targetScroll)/1.2 +targetScroll;//speed
	var y = Math.round( ToScroll );

	if( typeof(y) != 'number' || y.toString() == 'NaN' ){
		this.PxSmoothScroll_fix( targetElementId );
		return;
	}

	if( ( y <= targetScroll+2 ) && ( y >= targetScroll-2 ) ){
		this.PxSmoothScroll_fix( targetElementId );
		return;
	}else{
		window.scrollTo( 0 , y );
		if( NowScroll == this.PxSmoothScroll_getOffsetScrollTop() ){
			this.PxSmoothScroll_fix( targetElementId );
			return;
		}
		setTimeout('PxSmoothScroll( \''+targetElementId+'\' );',10);
	}
}
/*--------------------------------------------------
	数字でわかる総合資格学院
	http://www.shikaku.co.jp/strength/number/index.html
	数字でわかる1級建築士
	http://www.shikaku.co.jp/1k/info/number/index.html
	の場合、フラッシュエリアまでスムーススクロールする。
*/
var flashAdjustment = function(){
	var hostUrl = location.pathname;
	if( hostUrl.match(/strength\/number\/index.html/) || hostUrl.match(/1k\/info\/number\/index.html/) || hostUrl.match(/strength\/number\/$/) || hostUrl.match(/1k\/info\/number\/$/) ){
		$(function(){PxSmoothScroll('contents_wrapper')});
	}
}
setTimeout("flashAdjustment()",1500);
