/*

CUSTOM FORM ELEMENTS

Created by Ryan Fait
www.ryanfait.com

The only thing you need to change in this file is the following
variables: checkboxHeight, radioHeight and selectWidth.

Replace the first two numbers with the height of the checkbox and
radio button. The actual height of both the checkbox and radio
images should be 4 times the height of these two variables. The
selectWidth value should be the width of your select list image.

You may need to adjust your images a bit if there is a slight
vertical movement during the different stages of the button
activation.

Visit http://ryanfait.com/ for more information.

*/

var checkboxHeight = "25";
var radioHeight = "25";
var selectWidth = "190";

/* No need to change anything after this */

document.write('<style type="text/css">input.styled { display: none; } select.styled { position: relative; width: ' + selectWidth + 'px; opacity: 0; z-index: 5; }</style>');

var Custom = {
	init: function() {
		var inputs = document.getElementsByTagName("input"), span = Array(), textnode, option, active;
		for(var a = 0; a < inputs.length; a++) {
			if(inputs[a].type == "checkbox" && inputs[a].className == "styled") {span[a] = document.createElement("span");span[a].className = inputs[a].type;
		if(inputs[a].checked == true && inputs[a].type == "checkbox") {var position = "0 -" + (checkboxHeight*2) + "px";span[a].style.backgroundPosition = position;}
		inputs[a].parentNode.insertBefore(span[a], inputs[a]);
		inputs[a].onchange = Custom.clear;
		span[a].onmousedown = Custom.pushed;
		span[a].onmouseup = Custom.check;
		document.onmouseup = Custom.clear;}}
	},
	pushed: function() {
		var element = this.nextSibling;
		if(element.checked == true && element.type == "checkbox") {this.style.backgroundPosition = "0 -" + checkboxHeight*3 + "px";}
		else if(element.checked != true && element.type == "checkbox") {this.style.backgroundPosition = "0 -" + checkboxHeight + "px";}
	},
	check: function() {
		var element = this.nextSibling;
		var checkvalue =element.name+":"+element.value+";";
		var ajaxFormTEXT = document.ajaxForm.requestText;
		if(element.checked == true && element.type == "checkbox") {　//消すときのボタンプッシュ
			this.style.backgroundPosition = "0 0";element.checked = false;ajaxFormTEXT.value=ajaxFormTEXT.value.replace(checkvalue, "");
		} else {if(element.type == "checkbox") { //つける時のボタンプッシュ
			this.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";}element.checked = true;	ajaxFormTEXT.value +=checkvalue;}
	},
	clear: function() {
		var inputs = document.getElementsByTagName("input");
		for(var b = 0; b < inputs.length; b++) {
		if(inputs[b].type == "checkbox" && inputs[b].checked == true && inputs[b].className == "styled") {inputs[b].previousSibling.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";}
		else if(inputs[b].type == "checkbox" && inputs[b].className == "styled") {inputs[b].previousSibling.style.backgroundPosition = "0 0";} 
			}
	}
}


// HTTP通信用、共通関数
function createXMLHttpRequest(cbFunc)
{
	var XMLhttpObject = null;
	try{
		XMLhttpObject = new XMLHttpRequest();
	}catch(e){
		try{
			XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				return null;
			}
		}
	}
	if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc;
	return XMLhttpObject;
}

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('g=1s a(){j.V=a(6,H){q e=$6(6).e;e.H=e.13=e.14=H/N;e.1k="V(H="+H+")"};j.15=a(6){q u=["b","n","O","D","h"],r=u.P;R(r--)F($6(6).g[u[r]])};j.h=a(6,e,f,o,l,c){o=g.h$(o);F($6(6).g.h);6.g.h=z(a(){q h=g.h$(f),r=3;R(r--)h[r]=$o(h[r],o[r],l);6.e[e]=f=g.$h(h);k(""+h==""+o)$c(6,"h",c)},1)};j.W=a(6,f,o,c,8){a $c(p,c){k(c)c.G(6,p);m X};q 7=$6(6).g.W;g.$E(6,"B",a(p){7.f=19;7.B=d.B;7.v=d.v;d.v=6.v;d.B=$c;m $c(p,f)});g.$E(6,"v",a(p){7.f=X;d.B=7.B;d.v=7.v;m $c(p,o)});g.$E(d,"1c",a(p){q x=p.1d,y=p.10,b={x:x-7.x,y:y-7.y};k(7.f){k(8){b.x=C(b.x,8.$x);b.y=C(b.y,8.$y);b.x=A(b.x,8.x$);b.y=A(b.y,8.y$)};g.8(6,b);$c(p,c)}17{7.x=x-6.T;7.y=y-6.U};m X})};j.D=a(6,f,o,l,c){F($6(6).g.D);6.g.D=z(a(){f=$o(f,o,l);g.V(6,f);k(f==o)$c(6,"D",c)},1)};j.O=a(6,8,l,c){q f=g.$8($6(6));$z(6,"O",l/N,f,8,["x","y"],"8",c)};j.8=a(6,8){q e=$6(6).e;e.8="1h";e.1i=8.x+"M";e.1j=8.y+"M"};j.n=a(6,l,c){a n(8){m d.J?d.J[8]:d.K[8]};q f=g.$n(),o={x:f.x,y:A(g.$8(6).y,C(n("Y"),d.K.Y)-A(n("Z"),d.K.Z))};$z($6(g),"n",l/N,f,o,["x","y"],"n$",c?a(){c.G(6)}:1r)};j.b=a(6,b,l,c){q f=g.$b($6(6)),7=w.1l;k(!/1m/i.1n(1o.1p)||(7&&I(7.1q())>=9)){k(b.$t)f.t-=b.$t;k(b.$s)f.s-=b.$s;k(b.t$)b.t-=b.t$;k(b.s$)b.s-=b.s$};6.e.1t="1u";$z(6,"b",l/N,f,b,["t","s"],"b$",c)};j.$h=a(h){a 7(r){q 7=h[r].1w(16);m 7.P==1?"0"+7:7};m"#"+7(0)+7(1)+7(2)};j.h$=a(h){a 7(r){m h.1x(r)};h=h.1y(1);k(h.P==3)h=7(0)+7(0)+7(1)+7(1)+7(2)+7(2);m[I(7(0)+7(1),16),I(7(2)+7(3),16),I(7(4)+7(5),16)]};j.$E=a(6,7,c){q Q=6[7];6[7]=a(p){k(!p)p=w.E;k(Q)Q.G(j,p);m c.G(j,p)}};j.$8=a(6){q 8={x:6.T,y:6.U};R(6=6.12){8.x+=6.T;8.y+=6.U};m 8};j.$n=a(){a n(8,n){m(d.J?d.J[8]:w[n]||d.K[8])||0};m{x:n("18","1a"),y:n("1b","1e")}};j.n$=a(6,8){w.1f(8.x,8.y)};j.$b=a(6){m{t:6.1g,s:6.Y}};j.b$=a(6,b){q e=6.e;e.t=b.t+"M";e.s=b.s+"M"};a $c(6,u,c){F(6.g[u]);k(c)c.G(6)};a $6(6){k(!6.g)6.g={h:0,W:{},D:0,O:0,n:0,b:0};m 6};a $o(x,y,l){m x<y?A(x+l,y):C(x-l,y)};a $z(6,u,l,f,8,e,7,c){F(6.g[u]);6.g[u]=z(a(){f[e[0]]+=(8[e[0]]-f[e[0]])*l;f[e[1]]+=(8[e[1]]-f[e[1]])*l;g[7](6,f);k(L(f[e[0]])==8[e[0]]&&L(f[e[1]])==8[e[1]]){g[7](6,8);$c(6,u,c)}},1)};q w=1v,d=11,C=S.C,A=S.A,L=S.L};',62,97,'||||||element|tmp|position||function|size|callback||style|start|bytefx|color||this|if|speed|return|scroll|end|evt|var|index|height|width|interval|onmouseup||||setInterval|min|onmousedown|max|fade|event|clearInterval|call|opacity|parseInt|documentElement|body|round|px|100|move|length|value|while|Math|offsetLeft|offsetTop|alpha|drag|false|offsetHeight|clientHeight|clientY|document|offsetParent|MozOpacity|KhtmlOpacity|clear||else|scrollLeft|true|pageXOffset|scrollTop|onmousemove|clientX|pageYOffset|scrollTo|offsetWidth|absolute|left|top|filter|opera|msie|test|navigator|userAgent|version|null|new|overflow|hidden|window|toString|charAt|substring'.split('|')));

var syosai=new Array(9);
syosai[8] = new Array('職業','学　生','会社員','公務員','経営者','専業主婦','その他','秘密');
syosai[7] = new Array('硬さ','軟　毛','軟らかめ','普通毛','硬　め','剛　毛');
syosai[6] = new Array('スタイル','カット','パーマ','ヘアカラー','矯正orｽﾄﾊﾟｰ','エクステ');
syosai[5] = new Array('長さ','ペリーショート','ショート','ミディアム','セミロング','ロング','スーパーロング');
syosai[4] = new Array('毛量','少ない','少なめ','普　通','多　め','多　い');
syosai[3] = new Array('髪質','直　毛','ほぼ直毛','軽い癖毛','強い癖毛');
syosai[2] = new Array('年代','10代','20代','30代','40代','50代','60代','秘密');
syosai[1] = new Array('性別','男性','女性');
syosai[0] = new Array('ヘアケアアイテム','ヘアワックス剤','フォーム剤','ｱｳﾄﾊﾞｽﾄﾘｰﾄﾒﾝﾄ剤','シャンプー剤','ｲﾝﾊﾞｽﾄﾘｰﾄﾒﾝﾄ剤','発毛･育毛関連','フェイスケア','ボディ＆スキンケア','コスメ','ヘアツール','セット販売商品','アウトレット商品');

var sex = new Array('男性','女性');
var style = new Array('カット','パーマ','ヘアカラー','矯正orｽﾄﾊﾟｰ','エクステ');
var cellArray= new Array('1','4','3','6','10','7','8','9','5');
var findText = "";
var findTextOld = "";
var databaseFile = "commentall.log";
var httpObj="";

function loadDataFile(fName){httpObj = createXMLHttpRequest(displayData);if (httpObj){httpObj.open("GET",fName,true);httpObj.send(null);}}
		
function displayData(){
var	result=document.getElementById("result");
	if ((httpObj.readyState == 4) && (httpObj.status == 200) && findText){
		bytefx.alpha(result, 15);result.innerHTML = parseTabText(httpObj.responseText);
		bytefx.fade(result, 18, 100, 20, function(){document.getElementById("preloadedImages").style.display = 'none';});
	}else if(!findText){bytefx.fade(result, 100, 0, 10, function(){result.innerHTML = "<font color='red'>選択してください</font>";bytefx.fade(result, 0, 100, 10);});
	}else {document.getElementById("preloadedImages").style.display = "block";

}
}

function parseTabText(tabText){
	var resultText = "";
	var chord_koumoku_Array = "";
	var str_count=0;
	var LF = String.fromCharCode(10);var count = new Array();var countsort_2 = new Array();var countIMG = new Array();var countCODE = new Array();
	var sumCODE=new Array();var countcheck = new Array();
	var searchchord=findText.split(";");var countcheck1=0;var chord_koumoku1="";
	var lineData = tabText.split(LF);

	for (var i=0; i<lineData.length; i++){
	itemData = lineData[i].split(";");
	for (var iii=0; iii<searchchord.length; iii++){
	
	var chord_koumoku=searchchord[iii].split(":");

		if(cellArray[chord_koumoku[0]]==8){var chord_shousai=chord_koumoku[1]-1;if(itemData[cellArray[chord_koumoku[0]]]){var str = itemData[cellArray[chord_koumoku[0]]].match(chord_shousai);}else{var str =0;}}
		else{if(itemData[cellArray[chord_koumoku[0]]]==chord_koumoku[1]){var str=chord_koumoku[1]}else{var str =0;}}
		if(chord_koumoku_Array.match(chord_koumoku[0])){chord_koumoku_Array =chord_koumoku_Array;}else{ chord_koumoku_Array +=chord_koumoku[0];}

		if (str){
		var itemcode=itemData[11]+itemData[2];
		countIMG[itemcode] = itemData[12];
		countCODE[itemcode] = itemData[0];
		count[itemcode] = ++count[itemcode] || 1;//カウント
		
			if(chord_koumoku_Array.length>1){
				if(countcheck[itemcode]){countcheck[itemcode] += chord_koumoku[0];}else{countcheck[itemcode] = chord_koumoku[0];}
				countcheck1++;
				}
		str_count++;
		
		}}}
		
var sumcountsum=0;
 if(count){
	for(var itemcode in count ){if(itemcode !="remove"){
		if(countcheck1){//カテゴリの複数選択時
			var sumcount = new Array();
			if(count[itemcode]>1 && countcheck[itemcode].match(chord_koumoku_Array)){
			sumcount=countcheck[itemcode].split(chord_koumoku_Array);
			sumcountsum+=sumcount.length;
					countsort_2.push( {code:countCODE[itemcode],count:sumcount.length,name:itemcode,cate:countcheck[itemcode],src:countIMG[itemcode]} );
					}
		}else{countsort_2.push({code:countCODE[itemcode],count:count[itemcode],name:itemcode,src:countIMG[itemcode]} );}
		}}

	countsort_2.sort(function(a, b) {return b.count-a.count || a.name>b.name});//降順
	for (var i=0; i<countsort_2.length; i++){
if(!countsort_2[i].src){countsort_2[i].src="/nophoto_s2.gif";}
	icount=i+1;
		resultText += '<div class="pick" id="'+countsort_2[i].code+i+'"><a href="/order/?mode=item_pickup&amp;access=pick&amp;item_no='+countsort_2[i].code+'" target="_blank">'+icount+'位<br/><img title="詳細はクリック" alt="'+countsort_2[i].name+'" src="/shopFile001'+countsort_2[i].src+'" width="60" height="80" onmouseover="pickup(\''+countsort_2[i].code+i+'\');"/><div>'+countsort_2[i].name+'<\/div><\/a><\/div>';
		if(i==9){break;}//top10のみ
	}
}
resultText +="<div style='clear:both;color:red'>商品画像にマウスを乗せると説明が出ます。<br />クリックすると購入ページに移動します。</div>";

if(sumcountsum){str_count=sumcountsum;}
if((sumcountsum==0 && chord_koumoku_Array.length>1) || str_count==0){resultText ="<b style='color:red'>--- 該当無し ----</b><br />チェック項目を減らしてみてください。";}
//		resultText += str_count;
return resultText;
}
function pickup(code,vv){
var data=document.getElementById(code);
var fc= "#fff";var af= "#DDCEF5";
if(data){showShadowLayer(code);
if(!vv){bytefx.color(data, "backgroundColor",fc,af,3,function(){});}

bytefx.$event(document.getElementById(code), "onmouseout",function() {bytefx.color(data, "backgroundColor",af,fc,5);
 if( document.getElementById('shadow') )	{var shadow = document.getElementById('shadow');shadow.parentNode.removeChild(shadow);}
});
}
}

function loadDataFile2(code){
 if( document.getElementById('data3'))	{var data3 = document.getElementById('data3');data3.parentNode.removeChild(data3);}

var data3 = document.createElement('DIV');
	data3.id = 'data3';
var data2 = document.createElement('DIV');
	data2.id = 'data2';
	document.body.appendChild(data3);
	data3.appendChild(data2);
	bytefx.alpha(data3, 0);
	bytefx.fade(data3, 0, 95, 50);

var xmlhttp = false;
if(typeof ActiveXObject != "undefined"){try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {xmlhttp = false;}}
if(!xmlhttp && typeof XMLHttpRequest != "undefined") {xmlhttp = new XMLHttpRequest();}

xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var LF = String.fromCharCode(10);
var itemData = xmlhttp.responseText.split(LF);

for (var i=0; i<itemData.length; i++){
itemDataCode = itemData[i].split("<>");

if(itemDataCode[0] == code.substr(0,6)){
///http://localhost/order/review/?mode=maker_cate&commentlog=NA0885#cate2

	data2.innerHTML= "<div id='data1'><div id='title'>"+itemDataCode[1]+"</div><div id='memo'>"+itemDataCode[6]+"</div>";
	data2.innerHTML+= "<div id='bgimg' style='background:#fff url(/shopFile001"+itemDataCode[5]+") no-repeat center;'></div><img src='image/Close.gif' id='close'>";
if(itemDataCode[8]){	data2.innerHTML+= "<a href='"+itemDataCode[8]+"' target='_blank'><img src='/order/image/maker.gif' class='pick'></a>";}//メーカー
//if(itemDataCode[9]){	data2.innerHTML+= "<a href='/order/?mode=item_pickup&amp;item_no="+itemDataCode[0]+"&amp;access=pick&amp;commentlog="+itemDataCode[0]+"' target='_blank'><img src='/order/image/item.gif' class='pick'></a>";}//詳細
	data2.innerHTML+= "<a href='/order/review/?mode=maker_cate&amp;commentlog="+itemDataCode[0]+"#cate"+itemDataCode[7]+"' target='_blank'><img src='/order/image/voice.gif' class='pick'></a>";//クチコミ
	data2.innerHTML+= "</div>";

if(document.getElementById("close")){
bytefx.$event(document.getElementById("close"), "onclick",function() {if( document.getElementById('data3') )	{var data3 = document.getElementById('data3');bytefx.size(document.getElementById('data3'), {width:0, height:50}, 50);//data3.parentNode.removeChild(data3);
}});

}

	bytefx.size(document.getElementById('data2'), {width:815, height:318}, 50);
//    if(navigator.appName == "Microsoft Internet Explorer"){	bytefx.size(document.getElementById('data2'), {width:800, height:315}, 50);}
//	else{	bytefx.size(document.getElementById('data2'), {width:800, height:315}, 50);}

}}
}
}
if(xmlhttp){xmlhttp.open("GET", "item_utf8.txt");xmlhttp.send(null);}
}
function showShadowLayer(code) {
var shadow = document.createElement('DIV');
	shadow.id = 'shadow';
    shadow.style.filter = 'alpha(opacity=0)';
    shadow.style.MozOpacity = 0;
    shadow.style.opacity = 0;
	document.body.appendChild(shadow);
	bytefx.fade(shadow, 0, 25, 10,function(){loadDataFile2(code);});
}

function inputCheck(){
findText = document.ajaxForm.requestText.value;
if (findText != findTextOld){loadDataFile(databaseFile);findTextOld = findText;}
setTimeout("inputCheck()",500);
}

window.onload=function(){inputCheck();Custom.init();}

