var checkFlg = [0,0,0,0,0,0,0,0,0,0,0,0,0,0];//チェックボックス入力・未入力のフラグ
var flg=[1,1,1,1,1,1,1];//初期の配列

var flgArea=[1,1,1,1,1,1,1];//エリアグループの配列
var flgStyle=[1,1,1,1,1,1,1];//スタイルグループの配列
var flgHangup=[1,1,1,1,1,1,1];//こだわりぐるーぷの配列

//URLの保管用配列
var urlList = new Array(7) ;

//エリア
var A = [0,0,0,1,1,0,0];//西東京
var B = [1,1,0,0,1,1,0];//東京都心
var C = [0,0,1,0,0,0,1];//東東京

//スタイル
var D = [1,1,1,1,1,0,0];//神前式
var E = [0,1,1,1,1,1,0];//教会式
var F = [0,1,1,1,1,1,0];//人前式
var G = [0,0,1,1,1,0,0];//ガーデン
var H = [0,0,0,0,0,1,1];//レストラン

//こだわり
var I = [1,1,1,1,1,1,0];//神社
var J = [1,1,1,1,0,0,0];//チャペル
var K = [0,1,1,1,1,1,1];//アットホーム
var L = [1,1,1,1,0,1,0];//駅近
var M = [1,1,1,1,1,1,1];//少人数
var N = [1,1,1,1,1,1,1];//婚礼二次会

var xxx;//敷居値

//$(document).ready(initRollOverImages);
$(document).ready(function($){
	//URL：hrefの保存
	for(var i=0; i<urlList.length ; i++){
		urlList[i] = $('#b' + i + ' a').attr('href');
	}

	//チェックフラグの初期化
	init();
	calculated(0);
	trace();
	
	//クリックイベント
	$('div.materials').click(function(ev) {
		clickInput(this);
		init();
		calculated(1);
		trace();
	});
});


function init(){
	checkFlg = [0,0,0,0,0,0,0,0,0,0,0,0,0,0];/*3+5+6*/
	flg=[0,0,0,0,0,0,0];/*式場のフラグ*/
	flgArea=[0,0,0,0,0,0,0];//エリアグループの配列
	flgStyle=[0,0,0,0,0,0,0];//スタイルグループの配列
	flgHangup=[0,0,0,0,0,0,0];//こだわりグループの配列
	
	xxx = 0;
	
	$('.materials input:checked').each(function(){
		//ループの最初にフラグをクリア→HTMLのフォームからフラグをロード
		var idName = $(this).attr('id');
		if( idName == 'materials1' ){checkFlg[0] = 1;}
		else if( idName == 'materials2' ){checkFlg[1] = 1;}
		else if( idName == 'materials3' ){checkFlg[2] = 1;}
		else if( idName == 'materials4' ){checkFlg[3] = 1;}
		else if( idName == 'materials5' ){checkFlg[4] = 1;}
		else if( idName == 'materials6' ){checkFlg[5] = 1;}
		else if( idName == 'materials7' ){checkFlg[6] = 1;}
		else if( idName == 'materials8' ){checkFlg[7] = 1;}
		else if( idName == 'materials9' ){checkFlg[8] = 1;}
		else if( idName == 'materials10' ){checkFlg[9] = 1;}
		else if( idName == 'materials11' ){checkFlg[10] = 1;}
		else if( idName == 'materials12' ){checkFlg[11] = 1;}
		else if( idName == 'materials13' ){checkFlg[12] = 1;}
		else if( idName == 'materials14' ){checkFlg[13] = 1;}
	});
	
	$('.materials input').each(function(){
		//画像の入れ替え
		var idName = $(this).attr('id');
		for(var i=1; i<=checkFlg.length ; i++){
			if( idName == 'materials' + i ){
				if( checkFlg[i-1] == 1){$(this).parent().find('img').attr('src','images/ss_'+ i +'_on.gif');
				}else{$(this).parent().find('img').attr('src','images/ss_'+ i +'.gif');}
			}
		}
	});
	
}

function calculated(x){
	var image_cache = new Object();

	//エリア
	if(checkFlg[0] == 1){
		for(var i=0; i<flgArea.length ; i++){
			flgArea[i] += A[i];
			if(flgArea[i] > 1){flgArea[i]=1;}
		}
	}
	if(checkFlg[1] == 1){
		for(var i=0; i<flgArea.length ; i++){
			flgArea[i] += B[i];
			if(flgArea[i] > 1){flgArea[i]=1;}
		}
	}
	if(checkFlg[2] == 1){
		for(var i=0; i<flgArea.length ; i++){
			flgArea[i] += C[i];
			if(flgArea[i] > 1){flgArea[i]=1;}
		}
	}
	//スタイル
	if(checkFlg[3] == 1){
		for(var i=0; i<flgStyle.length ; i++){
			flgStyle[i] += D[i];
			if(flgStyle[i] > 1){flgStyle[i]=1;}
		}
	}
	if(checkFlg[4] == 1){
		for(var i=0; i<flgStyle.length ; i++){
			flgStyle[i] += E[i];
			if(flgStyle[i] > 1){flgStyle[i]=1;}
		}
	}
	if(checkFlg[5] == 1){
		for(var i=0; i<flgStyle.length ; i++){
			flgStyle[i] += F[i];
			if(flgStyle[i] > 1){flgStyle[i]=1;}
		}
	}
	if(checkFlg[6] == 1){
		for(var i=0; i<flgStyle.length ; i++){
			flgStyle[i] += G[i];
			if(flgStyle[i] > 1){flgStyle[i]=1;}
		}
	}
	if(checkFlg[7] == 1){
		for(var i=0; i<flgStyle.length ; i++){
			flgStyle[i] += H[i];
			if(flgStyle[i] > 1){flgStyle[i]=1;}
		}
	}
	//こだわり
	if(checkFlg[8] == 1){
		for(var i=0; i<flgHangup.length ; i++){
			flgHangup[i] += I[i];
			if(flgHangup[i] > 1){flgHangup[i]=1;}
		}
	}
	if(checkFlg[9] == 1){
		for(var i=0; i<flgHangup.length ; i++){
			flgHangup[i] += J[i];
			if(flgHangup[i] > 1){flgHangup[i]=1;}
		}
	}
	if(checkFlg[10] == 1){
		for(var i=0; i<flgHangup.length ; i++){
			flgHangup[i] += K[i];
			if(flgHangup[i] > 1){flgHangup[i]=1;}
		}
	}
	if(checkFlg[11] == 1){
		for(var i=0; i<flgHangup.length ; i++){
			flgHangup[i] += L[i];
			if(flgHangup[i] > 1){flgHangup[i]=1;}
		}
	}
	if(checkFlg[12] == 1){
		for(var i=0; i<flgHangup.length ; i++){
			flgHangup[i] += M[i];
			if(flgHangup[i] > 1){flgHangup[i]=1;}
		}
	}
	if(checkFlg[13] == 1){
		for(var i=0; i<flgHangup.length ; i++){
			flgHangup[i] += N[i];
			if(flgHangup[i] > 1){flgHangup[i]=1;}
		}
	}
	
	
	
	//統計
	for(var i=0; i<flg.length ; i++){
		flg[i] = flgArea[i]+flgStyle[i]+flgHangup[i];
	}
	
	
	//例外処理：読み込み直後且つ、すべての項目にチェックがない場合（キャッシュが残っていない状態でアクセスした場合は、オールグリーン）
	if(checkFlg[0]==0 && checkFlg[1]==0 && checkFlg[2]==0 && checkFlg[3]==0 && checkFlg[4]==0 && checkFlg[5]==0 && checkFlg[6]==0 && checkFlg[7]==0 && checkFlg[8]==0 && checkFlg[9]==0 && checkFlg[10]==0 && checkFlg[11]==0 && checkFlg[12]==0 && checkFlg[13]==0){
		flg=[9,9,9,9,9,9,9];
	}
	
	
	//敷居値xxxの設定　横グループ内でひとつでもチェックがある場合、敷居値が上がる。
	if(checkFlg[0]==1 || checkFlg[1]==1 || checkFlg[2]==1){xxx += 1;}
	if(checkFlg[3]==1 || checkFlg[4]==1 || checkFlg[5]==1 || checkFlg[6]==1 || checkFlg[7]==1){xxx += 1;}
	if(checkFlg[8]==1 || checkFlg[9]==1 || checkFlg[10]==1 || checkFlg[11]==1 || checkFlg[12]==1 || checkFlg[13]==1){xxx += 1;}
	

	for(var i=0; i<flg.length; i++){
		if(flg[i] >= xxx){
			$('#b' + i + ' a img').attr('class','on').attr('src','images/ss_salon' + i + '_on.jpg');
			$('#b' + i + ' a').attr('href',urlList[i]);
		}
		else{
			$('#b' + i + ' a img').attr('class','off').attr('src','images/ss_salon' + i + '.jpg');
			$('#b' + i + ' a').removeAttr('href');
		}
	}

}

//IE用
function clickInput(label){
	//forの指すidのinputタグがあるか探す
	var e = null;
	try{
		e = document.getElementById(label.htmlFor);
	}
	catch(exception){}
	if(e == null){
		//labelタグ以下のinputタグを探す
		var node;
		for(var i=0; i<label.childNodes.length; i++){
			node = label.childNodes.item(i);
			if(node.nodeName == 'INPUT'){
				e = node;
				break;
			}
		}
	}
	if(e != null){
		//inputタグにクリックされたときと同じ動作をさせる
		switch(e.type){
			case 'checkbox':
				e.checked =! e.checked;
				return false;
			case 'radio':
				e.checked = true;
				return false;
			case 'text': case 'password': case 'textarea':
				e.focus();
				return false;
		}
	}
}



/* スムーズスクロール すべてのページ内リンクに自動で発動 */
$.fn.slideScroll = function(options){
	var c = $.extend({
		interval: 20, // 変化はあんまりないかも
		easing: 0.6, // 0.4 ~ 2.0 くらいまで
		comeLink: false
	},options);
	var d = document;
	
	// timerとposのscopeを$.fn.slideScroll内に限定する
	var timer;
	var pos;
	
	// スクロール開始時の始点を得る
	function currentPoint(){
		var current = {
			x: d.body.scrollLeft || d.documentElement.scrollLeft,
			y: d.body.scrollTop || d.documentElement.scrollTop
		}
		return current;
	}
	
	// 現在のウィンドウサイズとターゲット位置から最終到達地点を決める
	function setPoint(){
		
		// 表示部分の高さと幅を得る
		var h = d.documentElement.clientHeight;
		var w = d.documentElement.clientWidth;
		
		// ドキュメントの最大の高さと幅を得る
		var maxH = d.documentElement.scrollHeight;
		var maxW = d.documentElement.scrollWidth;
		
		// ターゲットの位置が maxH(W)-h(w) < target < maxH(W) なら スクロール先をmaxH(W)-h(w)にする
		pos.top = ((maxH-h)<pos.top && pos.top<maxH) ? maxH-h : pos.top;
		pos.left = ((maxW-w)<pos.left && pos.left<maxW) ? maxW-w : pos.left;
	}
	
	// 次のスクロール地点を決める
	function nextPoint(){
		var x = currentPoint().x;
		var y = currentPoint().y;
		var sx = currentPoint().x;
		var sy = Math.ceil((y - pos.top)/(5*c.easing));
		var next = {
			x: x - sx,
			y: y - sy,
			ax: sx,
			ay: sy -1
		}
		return next;
	}
	
	// 到達地点に近づくまでスクロールを繰り返す
	function scroll(href){
		var movedHash = href;
		timer = setInterval(function(){
			nextPoint();
			
			// 到達地点に近づいていたらスクロールをやめる
			if(Math.abs(nextPoint().ax)<1 && Math.abs(nextPoint().ay)<2){
				clearInterval(timer);
				window.scroll(pos.left,pos.top);
				location.href = movedHash;
			}
			window.scroll(nextPoint().x,nextPoint().y);
		},c.interval);
	}
	
	// URIにhashがある場合はスクロールする
	function comeLink(){
		if(location.hash){
			if($(location.hash) && $(location.hash).length>0){
				pos = $(location.hash).offset();
				setPoint();
				window.scroll(0,0);
				if($.browser.msie){
					setTimeout(function(){
						scroll(location.hash);
					},50);
				}else{
					scroll(location.hash);
				}
			}
		}
	}
	if(c.comeLink) comeLink();
	
	// アンカーにclickイベントを定義する
	$(this).each(function(){
		if(this.hash && $(this.hash).length>0 
			&& this.href.match(new RegExp(location.href.split("#")[0]))){
			var hash = this.hash;
			$(this).click(function(){
				// ターゲットのoffsetを得る
				pos = $(hash).offset();
				
				// スクロール中ならスクロールをやめる
				clearInterval(timer);
				
				// 到達地点を決めてスクロールを開始する
				setPoint();
				scroll(this.href);
				return false;
			});
		}
	});
}

//トレース関数
function trace(){
	$('#trace').html(
	'全体フラグ:'+flg[0]+flg[1]+flg[2]+flg[3]+flg[4]+flg[5]+flg[6]+
	'　　エリア:'+flgArea[0]+flgArea[1]+flgArea[2]+flgArea[3]+flgArea[4]+flgArea[5]+flgArea[6]+
	'　　スタイル:'+flgStyle[0]+flgStyle[1]+flgStyle[2]+flgStyle[3]+flgStyle[4]+flgStyle[5]+flgStyle[6]+
	'　　こだわり:'+flgHangup[0]+flgHangup[1]+flgHangup[2]+flgHangup[3]+flgHangup[4]+flgHangup[5]+flgHangup[6]+
	'　　敷居:'+xxx);
}

