window.onerror = null;
function TigilError() {
	return true;
}
window.onerror = TigilError;

/////////////////////////////////////////////////////////////
//Option and Relation Array
/////////////////////////////////////////////////////////////

//Array For Brand Filter
var brand_filter=new Array();
brand_filter=new Array('1','2','3','4');

//Array For Category Filter
var category_filter=new Array();
category_filter=new Array('1','2','3','4','5','6','7','8','9');

//Array For Feature Filter
var feature_filter=new Array();
feature_filter=new Array('1','2','3','4','5','6','7','8','9','33','10','34','12','35','13','14','15','36','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','41','42');

//Array For Brand Option
var brand=new Array();
brand[0]='指定しない';
brand[1]='ちふれ';
brand[2]='綾花';
brand[3]='MC-II';
brand[4]='生産終了';

//Array For Category Option
var category=new Array();
category[0]='指定しない';
category[1]='基礎化粧品';
category[2]='UVケア';
category[3]='ボディーケア';
category[4]='ヘアケア';
category[5]='男性用化粧品';
category[6]='メーキャップ';
category[7]='フレグランス';
category[8]='雑貨・小物';
category[9]='美容食品';

//Array For Feature Option
var feature=new Array();
feature[0]='指定しない';
feature[1]='クレンジング';
feature[2]='洗顔料';
feature[3]='化粧水';
feature[4]='乳液';
feature[5]='クリーム';
feature[6]='美容液';
feature[7]='パウダー';
feature[8]='マッサージ';
feature[9]='パック';
feature[10]='日やけ用・日やけ止め';
feature[11]='ボディー洗浄料';
feature[12]='ボディーケア';
feature[13]='シャンプー・リンス類';
feature[14]='整髪料';
feature[15]='染毛料';
feature[16]='男性用皮フ用化粧品';
feature[17]='ひげそり用';
feature[18]='男性用頭髪用化粧品';
feature[19]='化粧下地';
feature[20]='ファンデーション';
feature[21]='おしろい';
feature[22]='マスカラ・まゆずみ';
feature[23]='ｱｲﾗｲﾅｰ･ｱｲｼｬﾄﾞｰ';
feature[24]='ほお紅';
feature[25]='口紅';
feature[26]='リップクリーム';
feature[27]='ﾈｲﾙｶﾗｰ･ﾈｲﾙｹｱ';
feature[28]='香水';
feature[29]='オーデコロン';
feature[30]='化粧品関連 雑貨等';
feature[31]='化粧品関連 その他';
feature[32]='その他';
feature[33]='基礎化粧品 その他';
feature[34]='UVケア その他';
feature[35]='ボディーケア その他';
feature[36]='ヘアケア その他';
feature[37]='男性用 その他';
feature[38]='メーキャップ その他';
feature[39]='フレグランス その他';
feature[40]='化粧品以外雑貨等';
feature[41]='健康食品';
feature[42]='清涼飲料水';

//Array For Selection's Relation
//Format [Brand_id]W[Category_id]T[Feature_id]
var asso=new Array();
asso[0]='1W1T1';
asso[1]='1W1T2';
asso[2]='1W1T3';
asso[3]='1W1T4';
asso[4]='1W1T5';
asso[5]='1W1T6';
asso[6]='1W1T8';
asso[7]='1W1T9';
asso[8]='1W1T33';
//asso[9]='1W1T34';
//asso[10]='1W2T3';
//asso[11]='1W2T4';
//asso[12]='1W2T5';
asso[13]='1W2T10';
asso[14]='1W3T35';
asso[15]='1W4T13';
asso[16]='1W4T14';
asso[17]='1W4T15';
asso[18]='1W5T17';
asso[19]='1W5T18';
//asso[20]='1W6T10';
asso[21]='1W6T19';
asso[22]='1W6T20';
asso[23]='1W6T21';
asso[24]='1W6T22';
asso[25]='1W6T23';
asso[26]='1W6T24';
asso[27]='1W6T25';
asso[28]='1W6T26';
asso[29]='1W6T27';
asso[30]='1W6T30';
asso[31]='1W8T30';
asso[32]='1W8T31';
asso[33]='2W1T1';
asso[34]='2W1T2';
asso[35]='2W1T3';
asso[36]='2W1T4';
asso[37]='2W1T5';
asso[38]='2W1T6';
asso[39]='2W1T8';
asso[40]='2W1T9';
asso[41]='2W6T19';
asso[42]='2W6T20';
asso[43]='2W6T22';
asso[44]='2W6T23';
asso[45]='2W6T24';
asso[46]='2W6T25';
asso[47]='2W6T30';
asso[48]='2W7T28';
asso[49]='2W7T29';
asso[50]='3W1T1';
asso[51]='3W1T2';
//asso[52]='3W1T3';
//asso[53]='3W1T4';
asso[54]='3W1T5';
asso[55]='3W1T6';
//asso[56]='3W1T7';
//asso[57]='3W1T8';
asso[58]='3W1T12';
asso[59]='3W1T33';
asso[60]='3W4T13';
asso[61]='3W4T36';
asso[62]='3W6T10';
asso[63]='3W6T19';
//asso[64]='3W6T20';
//asso[65]='3W6T22';
//asso[66]='3W6T23';
//asso[67]='3W6T24';
asso[68]='3W6T25';
//asso[69]='3W6T27';
//asso[70]='3W6T30';
asso[71]='2W6T21';
//asso[72]='1W9T41';
//asso[73]='1W9T42';
asso[74]='2W1T7';
asso[75]='2W1T33';
//▼生産終了品090427miya▼
//////////////////////////
//ちふれ[]基礎化粧品[]美容液
asso[76]='4W1T6';
//ちふれ[]基礎化粧品[]パック
asso[77]='4W1T9';
//ちふれ[]メーキャップ[]マスカラ・まゆずみ
asso[78]='4W6T22';
//ちふれ[]メーキャップ[]アイライナー・アイシャドー
asso[79]='4W6T23';
//ちふれ[]メーキャップ[]化粧品関連　雑貨等
asso[80]='4W6T30';
//ちふれ[]メーキャップ[]口紅
asso[81]='4W6T25';
//ちふれ[]雑貨・小物[]化粧品関連　雑貨等
asso[82]='4W8T30';
//綾花[]メーキャップ[]ファンデーション
asso[83]='4W6T20';
//綾花[]メーキャップ[]口紅
asso[84]='4W6T25';
//ちふれ[]メーキャップ[]化粧下地
asso[85]='4W6T19';
//ちふれ[]UVケア[]日焼け用・日やけ止め
asso[86]='4W2T10';
//▲生産終了品090427miya▲
//////////////////////////
//生産終了[]ボディーケア[]ボディーケア090824miya追加
asso[87]='4W1T12';
//生産終了[]ボディーケア[]クリーム090824miya追加
asso[88]='4W1T5';
//ちふれ[]ボディーケア[]ボディーケア090824miya追加
asso[87]='1W3T12';

/////////////////////////////////////////////////////////////
//Search Key Handler
/////////////////////////////////////////////////////////////
//-----------------------------------------------------------
//Get Brand Selection's Value
//-----------------------------------------------------------
function getSelectionValue(sel_obj){
	ret=sel_obj.options[sel_obj.options.selectedIndex].value;
	if(ret){return(ret);}else{return(0);}
}
//-----------------------------------------------------------
//Set Search Key
//-----------------------------------------------------------
function GetSearchKey(brand_id,category_id){
	if(brand_id=='' || (brand_id==0)){brand_id="[\\d]*";}
	if((category_id=='') || (category_id==0)){category_id="[\\d]*";}
	ret=brand_id+"W"+category_id+"T"+"[\\d]*";
	return(ret);
}
/////////////////////////////////////////////////////////////
//Relation Code Array Handler
/////////////////////////////////////////////////////////////
//-----------------------------------------------------------
//Query Relation array For Selection
//Argument sw is Search String
//-----------------------------------------------------------
function QueryRelation(sw){
	var Query_array=new Array();
	var array_no=0;
	reg_obj=new RegExp(sw);
	for(i=0;i<asso.length;i++){
		if(reg_obj.exec(asso[i])){
			Query_array[array_no]=asso[i];
			array_no++;
		}
	}
	return(Query_array);
}
//-----------------------------------------------------------
//Convert Relation Code to Number of Selection
//Input: Array(in Relation Code)
//Output: Array(in Number for Selection)
//If Argument cf is "c",Return Category value,
//If Argument cf is "f",Return Feature value.
//-----------------------------------------------------------
function get_matched_array(array_val,cf){
	var temp_arry=new Array();
	var array_no=0;
	for(i=0;i<array_val.length;i++){
		if(cf=="c"){
			temp_arry[array_no]=Number(getCnum(array_val[i]));
		}else{
			temp_arry[array_no]=Number(getFnum(array_val[i]));
		}
		array_no++;
	}
	return(temp_arry);
}
//-----------------------------------------------------------
//Get Number Between "W" And "T"
//Input: Relation Code
//Output: Value for Feature Selection
//-----------------------------------------------------------
function getCnum(str){
	findw=str.indexOf("W")+1;
	findt=str.indexOf("T");
	return(Number(str.substring(findw,findt)));
}
//-----------------------------------------------------------
//Get Number After "T"
//Input: Relation Code
//Output: Value for Category Selection
//-----------------------------------------------------------
function getFnum(str){
	findt=str.indexOf("T")+1;
	return(Number(str.substring(findt)));
}
//-----------------------------------------------------------
//Sort and Delete Duplicate Number of Array
//Input: Array(in Number for Selection)
//Output: Array(Sorted)
//-----------------------------------------------------------
function elmi_dupuli(array_val){
	array_val.sort(SortSet);
	array_num=array_val.length;
	var temp_arry=new Array();
	var array_no=0;
	beforeCHR="";
	for(i=0;i<array_val.length;i++){
		if(array_val[i] != beforeCHR){
			temp_arry[array_no]=array_val[i];
			beforeCHR=array_val[i];
			array_no++;
		}
	}
	return(temp_arry);
}
//-----------------------------------------------------------
//Filter Array
//-----------------------------------------------------------
function FilterArray(src_array,filter_array){
	var dst_array=new Array();
	j=k=0;
	while(filter_array[j]!=null){
		for(i=0;i<src_array.length;i++){
			if(src_array[i]==filter_array[j]){
				dst_array[k]=filter_array[j];
				k++;
				break;
			}
		}
		j++;
	}
	return(dst_array);
}
//-----------------------------------------------------------
//Numeric Sort
//-----------------------------------------------------------
function SortSet(a,b){
	return(a-b);
}
/////////////////////////////////////////////////////////////
//Event Handler
/////////////////////////////////////////////////////////////
//-----------------------------------------------------------
//Change Category Select Options
//Execute only Brand Selection chenged
//-----------------------------------------------------------
function chCategoryOps(){
	var option_array=new Array();
	sw=GetSearchKey(getSelectionValue(document.frm.search_brand_id),'');
	matched_f=QueryRelation(sw);
	matched_f2=get_matched_array(matched_f,'c');
	matched_f3=elmi_dupuli(matched_f2);
	option_array=FilterArray(matched_f3,category_filter);
	SetSelection(document.frm.search_category_id,option_array,category);
	chFeatureOps();
	return;
}
//-----------------------------------------------------------
//Change Feature Selection
//Execute only Category Selection chenged
//-----------------------------------------------------------
function chFeatureOps(){
	var option_array=new Array();
	sw=GetSearchKey(getSelectionValue(document.frm.search_brand_id),getSelectionValue(document.frm.search_category_id));
	matched_f=QueryRelation(sw);
	matched_f2=get_matched_array(matched_f,'f');
	matched_f3=elmi_dupuli(matched_f2);
	option_array=FilterArray(matched_f3,feature_filter);
	SetSelection(document.frm.search_feature_id,option_array,feature);
	return;
}
/////////////////////////////////////////////////////////////
//Selection Handler
/////////////////////////////////////////////////////////////
//-----------------------------------------------------------
//Set Selection's Option
//-----------------------------------------------------------
function SetSelection(sel_obj,idx_array,value_array){
	for(i=sel_obj.options.length-1;i>0;i--){
		sel_obj.options[i]=null;
	}
	sel_obj.options[0]=new Option("指定しない",0,true,true);
	for(i=0,j=1;i<idx_array.length;i++){
		idx=idx_array[i];
		sel_obj.options[j++]=new Option(value_array[idx],idx,false,false);
	}
	return;
}
//-----------------------------------------------------------
//Init Selection's Option
//-----------------------------------------------------------
function InitSelection(sel_obj,value_array){
	var idx_array=new Array();
	var option_array=new Array();
	for(i=sel_obj.options.length-1;i>0;i--){
		sel_obj.options[i]=null;
	}
	c=0;
	sel_obj.options[0]=new Option(value_array[0],0,true,true);
	for(i=0;i<value_array.length;i++){
		if(value_array[i]!=null){
			idx_array[c++]=i;
		}
	}
	switch(sel_obj.name){
		case "search_brand_id":
			option_array=FilterArray(idx_array,brand_filter);
			break;
		case "search_category_id":
			option_array=FilterArray(idx_array,category_filter);
			break;
		case "search_feature_id":
			option_array=FilterArray(idx_array,feature_filter);
			break;
		default:
			break;
	}
	SetSelection(sel_obj,option_array,value_array);
	sel_obj.options[0].selected=true;
	return;
}
//-----------------------------------------------------------
//Init All Selection
//-----------------------------------------------------------
function setAllOff(brand_id){
	var brand_idx_array=new Array();
	var brand_option_array=new Array();
	InitSelection(document.frm.search_brand_id,brand);
	if(brand_id==null){brand_id=0;}
	selected_pos=-1;
	for(i=0,c=0;i<brand.length;i++){
		if(brand[i]!=null){
			brand_idx_array[c++]=i;
		}
	}
	brand_option_array=FilterArray(brand_idx_array,brand_filter);
	for(i=0;i<brand_option_array.length;i++){
		if(brand_option_array[i]==brand_id){
			selected_pos=i;
			break;
		}
	}
	selected_pos++;
	document.frm.search_brand_id.options[selected_pos].selected=true;
	chCategoryOps();
	return;
}
//-----------------------------------------------------------
//Get Query By Select One
//-----------------------------------------------------------
function GetQueryBySelectOne(sel_obj){
	sel_name=sel_obj.name;
	sel_value=getSelectionValue(sel_obj);
	return(sel_name+"="+sel_value);
}
/////////////////////////////////////////////////////////////
//Frame Handler
/////////////////////////////////////////////////////////////
//-----------------------------------------------------------
//Function For Before Submit
//-----------------------------------------------------------
function setSubmit(){
//	url_str="http://www.chifure.co.jp/search_html/main.php";
	url_str="./main.php";
	query_array=new Array();
	for(i=0,q=0;i<document.frm.length;i++){
		if(document.frm.elements[i].type=="select-one"){
			query_array[q++]=GetQueryBySelectOne(document.frm.elements[i]);
		}
	}
	url_str=url_str+"?"+query_array.join("&");
//	document.frm.submit();
	window.parent.chifure_main.location.href=url_str;
	setAllOff();
	return;
}

function getheight(sid){
	document.getElementById(sid).height = 0;
	if (parent.frames[sid].document.body.scrollHeight){
		document.getElementById(sid).height = parent.frames[sid].document.body.scrollHeight;
	}
	else{
		document.getElementById(sid).height = parent.frames[sid].document.height;
	}
}