/**
*
*	colorio.js
*/


/*============================================================================================
*	リンク制御用クラスの定義
*/
var Link_param = function(arg){
	
	/*----------------------------------------------
	*	コンストラクタを定義
	*/
	var element_id = [];
	var body_id = document.body.id;
	var value_id = arg.url_name;
	
	var re = [];
	for( var i=0; i<$('#'+ arg.elment_id + ' li').length; i++ ){
		element_id[i] = $($('#'+ arg.elment_id + ' li a')[i]);
		re[i] = new RegExp( value_id[i] + '(.*?)\.htm' );
	}
	
	//URLを判別して、カレントを自動切換
	if( location.href.match(re[0]) ){
		element_id[0].attr({
			className: 'cur'
		});
	}
	// 'index.htm' がない場合
	if( location.href.match(/\/$/) ){
		element_id[0].attr({
			className: 'cur'
		});
	}
	// 'index.htm' がなくてかつ、パラメータがある場合
	if( location.href.match(/\/\?(.*?)$/) ){
		element_id[0].attr({
			className: 'cur'
		});
	}
	if( location.href.match(re[1]) ){
		element_id[1].attr({
			className: 'cur'
		});
	}
	if( location.href.match(re[2]) ){
		element_id[2].attr({
			className: 'cur'
		});
	}
	if( location.href.match(re[3]) ){
		element_id[3].attr({
			className: 'cur'
		});
	}
	if( location.href.match(re[4]) ){
		element_id[4].attr({
			className: 'cur'
		});
	}
}

/*============================================================================================
*	ローカルナビゲーションの制御
*/
$(function(){
	
	/*----------------------------------------------
	*	ローカルナビゲーション
	*	header部分のカレント制御
	*/
	//id="colorio_contents_local_header_link" がある場合
	if( document.getElementById('colorio_contents_local_header_link') ){
		//new header
		var header_link_param = new Link_param({
			elment_id: 'colorio_contents_local_header_link',
			url_name: [ 'index', 'tokucho', 'kinou', 'shiyo', 'supply' ]
		});
	}

	/*----------------------------------------------
	*	ローカルナビゲーション
	*	footer部分のカレント制御
	*/
	//id="colorio_contents_local_footer_link" がある場合
	if( document.getElementById('colorio_contents_local_footer_link') ){
		(function(arg){
			var url_path = arg.url_path;
			var url_name = arg.url_name;

			var rtn_html = function(e){
				return '<span style="font-weight: bold;">'+ url_name[e] +'</span>' + "\n";
			}
			
			var element = [];
			var rtn_cur = function(e){
				element[e] = $($('#'+ arg.element_id + ' li')[e]);
				element[e].html( rtn_html(e) );
			}
			var re = [];
			var element_id = [];
			for( var i=0; i<$('#'+ arg.element_id + ' li').length; i++ ){
				element_id[i] = $($('#'+ arg.element_id + ' li a')[i]);
				re[i] = new RegExp( url_path[i] + '\.htm' );
			}
			if( location.href.match(re[0]) ){rtn_cur(0)}
			if( location.href.match(/\/$/) ){rtn_cur(0)}
			if( location.href.match(/\/\?(.*?)$/) ){rtn_cur(0)}
			if( location.href.match(re[1]) ){rtn_cur(1)}
			if( location.href.match(re[2]) ){rtn_cur(2)}
			if( location.href.match(re[3]) ){rtn_cur(3)}
			if( location.href.match(re[4]) ){rtn_cur(4)}
			
		})({
			element_id: 'colorio_contents_local_footer_link',
			url_path: [ 'index', 'tokucho', 'kinou', 'shiyo', 'supply' ],
			url_name: [ '概要', '特長', '機能一覧', '仕様', '消耗品' ]
		});
	}

	//id="colorio_contents_local_footer_link_supply" がある場合
	if( document.getElementById('colorio_contents_local_footer_link_supply') ){
		(function(arg){
			var url_path = arg.url_path;
			var url_name = arg.url_name;

			var rtn_html = function(e){
				return '<span style="font-weight: bold;">'+ url_name[e] +'</span>' + "\n";
			}
			
			var element = [];
			var rtn_cur = function(e){
				element[e] = $($('#'+ arg.element_id + ' li')[e]);
				element[e].html( rtn_html(e) );
			}
			var re = [];
			var element_id = [];
			for( var i=0; i<$('#'+ arg.element_id + ' li').length; i++ ){
				element_id[i] = $($('#'+ arg.element_id + ' li a')[i]);
				re[i] = new RegExp( url_path[i] + '\.htm' );
			}
			if( location.href.match(re[0]) ){rtn_cur(0)}
			if( location.href.match(/\/$/) ){rtn_cur(0)}
			if( location.href.match(/\/\?(.*?)$/) ){rtn_cur(0)}
			if( location.href.match(re[1]) ){rtn_cur(1)}
			if( location.href.match(re[2]) ){rtn_cur(2)}
			if( location.href.match(re[3]) ){rtn_cur(3)}
			if( location.href.match(re[4]) ){rtn_cur(4)}
			
		})({
			element_id: 'colorio_contents_local_footer_link_supply',
			url_path: [ 'fine_art', 'koutaku', 'photo', 'photo_mat', 'super_fine', 'variety', 'etc' ],
			url_name: [ 'ファインアート紙', '光沢紙', '写真用紙', 'フォトマット紙', '普通紙／スーパーファイン紙', 'バラエティー用紙', 'その他' ]
		});
	}


});


/*============================================================================================
*	カラリオ グローバルナビ
*	
*	自動カレント制御
*	エプソンショップバナーURL切り替え
*/
$(function(){
	(function(){
		if( document.getElementById('colorio_global_menu') ){
			
			var colorio_header_bnr = $('#colorio_header_bnr a');
			var bnr_link = colorio_header_bnr.attr('href').match(/http:\/\/shop\.epson\.jp\/redirect\/iltoshop\/index-mk\.asp\?urlid=102a000/);
			
			//プリンターカテゴリ
			if(( location.href.match(/colorio\/printer/) )||( location.href.match(/colorio\/epsoncolor/) )||( location.href.match(/colorio\/tsuyoink/) )){
				$('#nav_cgm_printer a').addClass('cur');
				colorio_header_bnr.attr({href: bnr_link + '1'});
			}
			//スキャナーカテゴリ
			if( location.href.match(/colorio\/scanner/) ){
				$('#nav_cgm_sccaner a').addClass('cur');
				colorio_header_bnr.attr({href: bnr_link + '2'});
			}
			//フォトビューワーカテゴリ
			if( location.href.match(/colorio\/photoviewer/) ){
				$('#nav_cgm_photoviewer a').addClass('cur');
				colorio_header_bnr.attr({href: bnr_link + '3'});
			}
			//デジタルカメラカテゴリ
			if( location.href.match(/colorio\/digitalcamera/) ){
				$('#nav_cgm_camera a').addClass('cur');
				colorio_header_bnr.attr({href: bnr_link + '4'});
			}
			//消耗品カテゴリ
			//URLが拾えないため、bodyのclassNameを参照する
			if( document.body.className == 'supply' ){
				$('#nav_cgm_printer a').addClass('cur');
				colorio_header_bnr.attr({href: bnr_link + '6'});
			}
		}
	})();
});

/*============================================================================================
*	カラリオ 左ナビのオープンカレント制御
*/
$(function(){
	(function(){
		
		/*----------------------------------------------
		*	親カテゴリのオープンと子である製品名を
		*	カレントに制御する関数
		*/
		var product_search = function(arg){
			var product_list = $('#'+ arg +' ul li', colorio_left_navi_list);
			var product_parent = $('#'+ arg);
			for( var i = 0; i < product_list.length; i++ ){
				if( $(product_list[i]).attr('id').match(re) ){
					$('a', $(product_list[i])).addClass('cur');
					product_parent.show();
				}
			}
		}
		
		//自動制御実行
		if( document.getElementById('colorio_left_navi_list') ){
			
			//まず、全モデルの子要素を非表示にする
			var colorio_left_navi_list = $('#colorio_left_navi_list');
			$('dd', colorio_left_navi_list).hide();
			
			//現在ページのパラメータを取得
			var cur_id = document.body.id;
			var re = new RegExp( 'nav_' + cur_id );
			
			//取得したパラメータIDとマッチするリストIDを検索し、
			//親カテゴリ内の子要素をオープンにし、
			//現在ページの製品のカレントを表示する
			var ca = ['div_multi_feature','div_single_feature','div_compact_feature','div_quority_feature'];
			for( var i = 0; i < ca.length; i++ ){
				if( document.getElementById( ca[i] ) ){product_search( ca[i] )};
			}
		}
		
		//消耗品コンテンツ部分をデフォルト非表示
		if( document.getElementById('colorio_left_navi_utility') ){
			$('#colorio_left_navi_utility li ul li').hide();
		}
		
		
		/*----------------------------------------------
		*	製品以外のカレント制御
		*/
		if( document.getElementById('colorio_left_navi_list') ){
			var nav_name = [ 'left_all', 'left_feature', 'left_inc', 'left_down' ];
			for( var i = 0; i < nav_name.length; i++ ){
				if( document.body.id == nav_name[i] ){
					$('#nav_'+ nav_name[i] +' a').addClass('cur');
					$('#nav_'+ nav_name[i] +' ul li a').removeClass('cur');
				}
			}
		}
		
		/*----------------------------------------------
		*	消耗品紹介（インク・用紙）
		*	カレント制御
		*/
		if( document.getElementById('colorio_left_navi_list') ){
			
			if( document.getElementById( 'left_inc' ) ){
				for( var a = 0; a < $( '#nav_left_inc ul li' ).length; a++ ){
					$( '#nav_left_inc ul li' ).show();
				}
			}
			else{
				var nav_name_supply = [ 'left_select_inc', 'left_select_paper', 'left_select_printer' ];
				for( var i = 0; i < nav_name_supply.length; i++ ){
					if( document.body.id == nav_name_supply[i] ){
						$( '#nav_' + nav_name_supply[i] +' a' ).addClass('cur');
						for( var a = 0; a < nav_name_supply.length; a++ ){
							$( '#nav_' + nav_name_supply[a] ).show();
						}
					}
				}
			}
		}
		
		
		/*----------------------------------------------
		*	製品カテゴリトップページ、子階層メニュー
		*	オープン制御
		*/
		if( document.getElementById( 'left_multi' ) ){
			$('#div_multi_feature').show();
		}
		if( document.getElementById( 'left_single' ) ){
			$('#div_single_feature').show();
		}
		if( document.getElementById( 'left_me' ) ){
			$('#div_compact_feature').show();
		}
		if( document.getElementById( 'left_pro' ) ){
			$('#div_quority_feature').show();
		}
		/*----------------------------------------------
		*	製品特長トップページ、子階層メニュー
		*	オープン制御
		*/
		if( document.getElementById( 'multi_feature_tokucho' ) ){
			$('#div_multi_feature').show();
			$('#head_multi_feature a').addClass('cur');
		}
		if( document.getElementById( 'me_feature_tokucho' ) ){
			$('#div_compact_feature').show();
			$('#head_compact_feature a').addClass('cur');
		}
		if( document.getElementById( 'pro_feature_tokucho' ) ){
			$('#div_quority_feature').show();
			$('#head_quority_feature a').addClass('cur');
		}
		
	})();
});


/*============================================================================================
*	「搭載している機能」一覧の自動表示制御
*/
$(function(){
	(function(){
		
		/*----------------------------------------------
		*	param.jsより、param_kinouを取得し、
		*	機能の有無を判別し、機能があるものは
		*	アイコンを表示し、ないものはグレーアウト
		*	する関数を定義
		*/
		var get_spec_icon = function(arg){
			
			//var
			var src = [];
			var alt = [];
			var IE = '\v'=='v'
			
			//loop
			for( var i = 0; i < param_kinou[arg.type][arg.name].length; i++ ){
				//モデルカテゴリに合わせて、搭載機能を全表示
				arg.icon_id[i].css({display: 'inline'});
				
				//モデル各種に合わせて、アイコンの有効無効をセット
				if( param_kinou[arg.type][arg.name][i] ){
					var statusName = 'on';
					if( param_kinou[arg.type][arg.name][i] == 1 ){
						statusName = 'opt';
					}
					//srcマッチ
					arg.icon_id[i].html().match(/src=\"(.*?)\.gif\"/);
					src[i] = RegExp.$1 + '_'+statusName+'.gif';
					//altマッチ
					if(IE){
						arg.icon_id[i].html().match(/alt=(.+?) /);
					}
					else{
						arg.icon_id[i].html().match(/alt=\"(.+?)\"/);
					}
					alt[i] = RegExp.$1;
					//imgセット
					arg.icon_id[i].html('<img src="'+ src[i] +'" alt="'+ alt[i] +'" />');
				}
				if( i == (param_kinou[arg.type][arg.name].length - 1) ){
					arg.icon_id[i].css({
						marginRight: 0
					});
				}
			}
		}
		
		if( document.getElementById('feature_list') ){
			
			//全アイコンリスト要素を取得
			var feature_list_icon = $('#feature_list_icon');
			
			//現在ページのパラメータを取得
			var cur_id = document.body.id;
			
			//アイコンIDを取得
			var icon_id_multi = [
				$('#fli_printer'),
				$('#fli_scanner'),
				$('#fli_copy'),
				$('#fli_direct'),
				$('#fli_infrared'),
				$('#fli_wireless_lan'),
				$('#fli_fax')
			];
			var icon_id_single = [
				$('#fli_printer'),
				$('#fli_wireless_lan')
			];
			var icon_id_compact = [
				$('#fli_printer'),
				$('#fli_direct'),
				$('#fli_infrared'),
				$('#fli_wireless_lan'),
				$('#fli_slide'),
				$('#fli_keybord')
			];
			var icon_id_quority = [
				$('#fli_printer'),
				$('#fli_wireless_lan')
			];
			
			//現在ページの製品の搭載している機能のアイコンを表示する
			//関数を実行
			if( location.href.match(/\/products\/colorio\/printer\/multi/) )  {get_spec_icon({ type: 'multi', name: cur_id, icon_id: icon_id_multi });}
			if( location.href.match(/\/products\/colorio\/printer\/single/) ) {get_spec_icon({ type: 'single', name: cur_id, icon_id: icon_id_single });}
			if( location.href.match(/\/products\/colorio\/printer\/me/) ){get_spec_icon({ type: 'compact', name: cur_id, icon_id: icon_id_compact });}
			if( location.href.match(/\/products\/colorio\/printer\/pro/) ){get_spec_icon({ type: 'quority', name: cur_id, icon_id: icon_id_quority });}
		}
		
	})();
});


/*============================================================================================
*
*	消耗品、用紙ページ
*	フッターリンクカレント制御
*/

$(function(){
	(function(){
		
		/*------------------------------------------------------------
		*	カレントを制御する関数を定義
		*/
		var cur_chenge = function(e){
			$('#'+ e +' a span').css({
				color: '#333',
				fontWeight: 'bold'
			});
			$('#'+ e +' a span').mouseover(function(){
				$('#'+ e +' a span').css({
					color: '#f30'
				});
			});
			$('#'+ e +' a span').mouseout(function(){
				$('#'+ e +' a span').css({
					color: '#333'
				});
			});
		}
		
		/*
		*	用紙の種類から探す
		*/
		if( document.getElementById('supply_kind_footer_link') ){
			if( location.href.match(/paper\/kind\/photo_mat/) ){
				cur_chenge('cur_kind_photo_mat');
			}
			else if( location.href.match(/paper\/kind\/photo/) ){
				cur_chenge('cur_kind_photo');
			}
			else if( location.href.match(/paper\/kind\/koutaku/) ){
				cur_chenge('cur_kind_koutaku');
			}
			else if( location.href.match(/paper\/kind\/super_fine/) ){
				cur_chenge('cur_kind_super_fine');
			}
			else if( location.href.match(/paper\/kind\/variety/) ){
				cur_chenge('cur_kind_variety');
			}
			else if( location.href.match(/paper\/kind\/fine_art/) ){
				cur_chenge('cur_kind_fine');
			}
			else if( location.href.match(/paper\/kind\/etc/) ){
				cur_chenge('cur_kind_etc');
			}
		}
		
		/*
		*	用紙を用途から探す
		*/
		if( document.getElementById('supply_use_footer_link') ){
			if( location.href.match(/paper\/use\/print/) ){
				cur_chenge('cur_use_print');
			}
			else if( location.href.match(/paper\/use\/postcard/) ){
				cur_chenge('cur_use_postcard');
			}
			else if( location.href.match(/paper\/use\/report/) ){
				cur_chenge('cur_use_report');
			}
			else if( location.href.match(/paper\/use\/practical/) ){
				cur_chenge('cur_use_practical');
			}
			else if( location.href.match(/paper\/use\/pro/) ){
				cur_chenge('cur_use_pro');
			}
		}
	})();
});