

/************ LOGIN FORM (FOOTER) ************/

function setLoginFormCssClass(){
	var loginIdFormName = 'dddd';
	var loginPwFormName = 'eeee';

	var f  = document.forms;
	if( f[ f.length-1 ].name!='login' ){
		return false;
	} else {
	}
	var fe = f[f.length-1].elements;
	for(i=0;i<fe.length;i++){
		switch(fe[i].type){
			case 'text':
				fe[i].id = loginIdFormName;
				break;
			case 'password':
				fe[i].id = loginPwFormName;
				break;
			case 'submit':
				fe[i].id = 'loginSubmit';
				fe[i].value = '';
				break;
			default:
				break;
		}
	}
	Element.addClassName( loginIdFormName, 'loginID' );
	Element.addClassName( loginPwFormName, 'loginPassword' );
	return true;
}
function moveLoginMessage(){
	var error = document.getElementsByClassName('xc_footer')[0].getElementsByClassName('xc_error','ul')[0];
	var prnt1 = document.getElementsByClassName('xc_contents')[0].getElementsByClassName('xc_textCenter','p')[0];
	if( !error || !prnt1 ){
		return false;
	} else {
		new Insertion.Top(prnt1, error);
	}
	return true;
}



/************ SITE TOP ************/

function setTopContentsID(){
	var topContentsID = 'topContents';
	var topQrID = 'topQr';

	document.body.id = topContentsID;
	
	var qr = document.getElementsByClassName('xc_qrCode')[0];
	var tl = document.getElementsByClassName('topList')[0];
	if( !qr ){
		return false;
	} else {
	}
	new Insertion.Bottom(tl, qr);
	return true;
}



/************ PRODUCTS LIST ************/

function setListH3Class(){
	var listTitleID = 'listTitle';
	
	var prnt = document.getElementsByClassName('xc_contents')[0];
	if( !prnt ){
		return false;
	} else {
	}
	for(i=0;i<prnt.childNodes.length;i++){
		switch(prnt.childNodes[i].nodeName){
			case 'H3':
				prnt.childNodes[i].id = listTitleID;
				break;
			default:
				break;
		}
	}
	Element.addClassName( listTitleID , 'hidden' );

	var listNumNd = prnt.getElementsByClassName('xc_textRight','P')[0];
	if( !listNumNd ){
	} else {
		listNumNd.className = 'hidden';
	}
	return true;
}
function setListContentsEdit(){
	var listNaviID     = 'listNavi';
	var listNaviPrevID = 'anchorPrev';
	var listNaviNextID = 'anchorNext';
	
	var listNavi = document.getElementsByClassName('xc_contents')[0].getElementsByClassName('xc_textRight','p');
	var prnt, anchPrev, anchNext;
	if( !listNavi ){
		return false;
	} else {
		listNavi = listNavi[listNavi.length-1];
	}
	anch = listNavi.getElementsByTagName('a');
	if( !anch ){
		return false;
	} else {
		for(i=0; i<anch.length; i++){
			switch(anch[i].firstChild.data) {
				case '前のページ':
					anchPrev    = anch[i];
					anchPrev.id = listNaviPrevID;
					listNavi.id = listNaviID;
					break;
				case '次のページ':
					anchNext    = anch[i];
					anchNext.id = listNaviNextID;
					listNavi.id = listNaviID;
					break;
				default:
					break;
			}
		}
	}
	Element.addClassName( listNaviID,     'clearfix' );
	Element.addClassName( listNaviPrevID, 'prev' );
	Element.addClassName( listNaviNextID, 'next' );

	prnt = document.getElementsByClassName('xc_contentsFooter')[0];
	if( anchNext && prnt ) {
		new Insertion.Before(prnt, anchNext);
	} else {
	}
	if( anchPrev && prnt ){
		new Insertion.Before(prnt, anchPrev);
	} else {
	}

	return true;
}



/************ PRODUCT DETAILS ************/

function setProductH3Class(){
	var prnt = document.getElementsByClassName('xc_contents')[0];
	if( !prnt ){
		return false;
	} else {
	}
	for(i=0;i<prnt.childNodes.length;i++){
		switch(prnt.childNodes[i].nodeName){
			case 'H3':
				prnt.childNodes[i].id = 'listTitle';
				break;
			case 'P':
				if(prnt.childNodes[i].className == 'xc_textRight'){
					prnt.childNodes[i].className = 'hidden';
				} else {
				}
			default:
				break;
		}
	}
	Element.addClassName( 'listTitle' , 'hidden' );
	return true;
}
function setProductContentsEdit(){
	var thumbs = document.getElementsByClassName('xc_productDetailTop')[0].getElementsByClassName('clearfix','ul')[0];
	var detail = document.getElementsByClassName('xc_productDetailBottom')[0];
	var prnt1 = document.getElementsByClassName('xc_productDetail')[0];
	var prnt2 = document.getElementsByClassName('xc_productDetailData1')[0];
	var price = document.getElementsByClassName('xc_tdPrice')[0];

	if( !thumbs || !prnt1 ){
	} else {
		new Insertion.Top(prnt1, thumbs);
	}
	if( !detail || !prnt2 ){
	} else {
		new Insertion.Bottom(prnt2, detail);
	}
	if( !price ){
	} else {
		priceTxt = price.firstChild.data.replace(/[^0-9]+/g,'');
		price.style.backgroundImage = 'url(http://www.lokkai.jp/img/price_' + priceTxt + '.gif)';
	}
}
function setMV(url){
	if(!$('MAINVISUAL').firstChild){
		return false;
	} else {
	}
	$('MAINVISUAL').firstChild.src = url;
	return true;
}




/************ SALE MENTION ************/

function setSalementionH3Class(){
	var listTitleID = 'listTitle';
	
	var tbl = document.getElementsByClassName('xc_normal xc_salemention')[0];
	if( !tbl ){
		return false;
	} else {
	}
	var head_3 = tbl.parentNode.getElementsByTagName('H3')[0];
	if( !head_3 ){
	} else {
		head_3.className = 'salemention';
	}
	return true;
}




/************ SHOPPING CART ************/

function setShoppingCartClass(){
	setLoginClass();
	var prnt = document.getElementsByClassName('xc_contents')[0];
	if( !prnt ){
		return false;
	} else {
	}

	var cart_flag  = false;
	var head_3     = document.getElementsByTagName('H3');
	var btn_anchor = document.getElementsByTagName('A');
	var btn_input  = prnt.getElementsByTagName('INPUT');
	var tbl        = document.getElementsByClassName('xc_cartView', prnt)[0];
	var td_empty   = document.createElement('TD'); 
	var btn_img, td_note, tdSubTotal, td_total, nextText, nextNode;
	var i=0;
	
	// title
	while(i<head_3.length){
		if( head_3[i].firstChild.data=='ご注文内容' ){
			head_3[i].className = 'shoppingcart';
			cart_flag = true;
		} else {
		}
		i++;
	}
	if( cart_flag==false ){
		return false;
	} else {
	}
	
	// back button
	i=0;
	while(i<btn_anchor.length){
		btn_img = document.getElementsByClassName('xc_floatLeft',btn_anchor[i])[0];
		if( btn_img!=null ){
			btn_img.className = 'xc_floatLeft cartBtn';
		} else {
		}
		i++;
	}
	
	// cart button, delete button
	i=0;
	while(i<btn_input.length){
		if( btn_input[i].src.indexOf('//xc524.eccart.jp/u897/images/toRegister.gif',0)!=-1 ){
			btn_input[i].className = 'xc_floatRight cartBtn';
		} else if( btn_input[i].src.indexOf('//xc524.eccart.jp/u897/images/emptyCart.gif',0)!=-1 || btn_input[i].src.indexOf('//xc524.eccart.jp/u897/images/editCart.gif',0)!=-1 ) {
			btn_input[i].className = 'hidden';
		} else if( btn_input[i].value=='削除' ) {
			btn_input[i].className = 'deleteBtn';
			btn_input[i].value = '';
		} else {
		}
		i++;
	}
	
	// table cell
	td_note  = document.getElementsByClassName('xc_bottomText', tbl)[0];
	td_note.className = 'xc_bottomText';
	td_note.rowSpan = 1;
	//
	nextText = 'td_note.nextSibling';
	tdSubTotal = eval(nextText);
	i=0;
	while(i<5 && tdSubTotal.nodeName!='TD'){
		nextText += '.nextSibling';
		if(tdSubTotal.nextSibling){
			tdSubTotal = eval(nextText);
		}
		i++;
	}
	tdSubTotal.className = 'subTotalPrice';
	//
	td_total = document.getElementsByClassName('xc_totalPrice', tbl)[0];
	td_total.className = 'xc_totalPrice totalPrice';
	td_empty.colSpan = 3;
	new Insertion.Before(td_total, td_empty);
	
	return true;
}




/************ LOGIN FORM (CONTENTS PART) ************/

function setLoginClass(){
	var head_3 = document.getElementsByTagName('H3');
	var login_flag = false;
	var pSmr, frm, tbl, th_, pBtn, inputBtn, pTxt;
	var i=0, j=0;
	var btnDiv = document.createElement('div'); 
	
	// title
	while(i<head_3.length){
		if( head_3[i].firstChild.data=='ログイン' ){
			head_3[i].className = 'loginTitle';
			pSmr = nextElement(head_3[i]);
			pSmr.className += ' hidden';
			login_flag = true;
		} else {
		}
		i++;
	}
	if( login_flag==false ){
		return false;
	} else {
	}
	
	// table , button
	frm = document.getElementsByTagName('FORM');
	i=0;
	while(i<frm.length){
		if(frm[i].name=='login' || frm[i].name=='cart_login'){
			frm[i].className += ' clearfix';
			
			// table
			tbl = frm[i].getElementsByTagName('TABLE')[0];
			tbl.className = 'xc_normal loginTable';
			th_ = tbl.getElementsByTagName('TH');
			while(j<th_.length){
				if( th_[j].firstChild.data=='メールアドレス' ){
					th_[j].firstChild.data='ユーザーID（メールアドレス）'
				} else {
				}
				j++;
			}
			
			// button box add
			btnDiv.className = 'loginSet';
			new Insertion.After(tbl, btnDiv);
			
			// button move
			pBtn = frm[i].getElementsByTagName('P')[0];
			pBtn.className = 'loginBtnBox';
			inputBtn = pBtn.getElementsByTagName('INPUT');
			j=0;
			while(j<5 && j<inputBtn.length){
				if(inputBtn[j].value == 'ログイン'){
					inputBtn[j].className = 'loginBtn';
				} else {
				}
				j++;
			}
			new Insertion.Bottom(btnDiv, pBtn);
			
			// text move
			pTxt = nextElement(frm[i]);
			if(pTxt.nodeName=='P') {
				pTxt.className = 'remindPass';
				new Insertion.Bottom(btnDiv, pTxt);
			} else {
			}
		} else {
		}
		i++;
	}
	
	return true;
}



/************ REGISTER STEPS ************/

function setRegiClass(){
	setLoginClass();
	var prnt = document.getElementsByClassName('xc_contents')[0];
	if( !prnt ){
		return false;
	} else {
	}
	var imgs  = prnt.getElementsByTagName('IMG');
	var step_flag  = false;
	var i=0;
	var pSmr,j;
	
	var head_3    = document.getElementsByTagName('H3');
	var head_4    = document.getElementsByTagName('H4');
	var head_flag = false;
	
	while( i<imgs.length && step_flag==false ) {
		if( imgs[i].src.indexOf('images/guide1.gif', 0)!=-1 ){
			imgs[i].className = 'imgSteps';
			setRegi01Class();
			step_flag = true;
		} else if( imgs[i].src.indexOf('images/guide2.gif', 0)!=-1 ){
			imgs[i].className = 'imgSteps';
			setRegi02Class();
			step_flag = true;
		} else if( imgs[i].src.indexOf('images/guide3.gif', 0)!=-1 ){
			imgs[i].className = 'imgSteps';
			setRegi03Class();
			step_flag = true;
		} else if( imgs[i].src.indexOf('images/guide4.gif', 0)!=-1 ){
			imgs[i].className = 'imgSteps';
			setRegi04Class();
			step_flag = true;
		} else if( imgs[i].src.indexOf('images/guide5.gif', 0)!=-1 ){
			imgs[i].className = 'imgSteps';
			setRegi05Class();
			step_flag = true;
		} else if( imgs[i].src.indexOf('images/guide6.gif', 0)!=-1 ){
			imgs[i].className = 'imgSteps';
			setRegi06Class();
			step_flag = true;
		} else {
		}
		i++;
	}
	
	i=0;
	while( i<head_3.length && head_flag==false ){
		head_flag = true;
		if( head_3[i].firstChild.data=='お客様情報入力画面' ){
			head_3[i].className = 'step01Title';
			pSmr = nextElement(head_3[i]);
			pSmr.className += ' stepParagraph01';
			pSmr.firstChild.data = 'はじめてご注文される方は、以下の入力項目に入力してください。※メールアドレスがユーザーIDになります。';
			j = pSmr.childNodes.length;
			while(j>1){
				pSmr.removeChild(pSmr.childNodes[j-1]);
				j--;
			}
		} else if( head_3[i].firstChild.data=='配送先情報' ){
			head_3[i].className = 'step02Title';
		} else if( head_3[i].firstChild.data=='配送日指定' ){	// このページのみH4
			head_3[i].className = 'step03Title';
		} else if( head_3[i].firstChild.data=='決済方法選択画面' ){
			head_3[i].className = 'step04Title';
		} else if( head_3[i].firstChild.data=='ご注文内容確認画面' ){
			head_3[i].className = 'step05Title';
		} else if( head_3[i].firstChild.data=='ご注文完了しました' ){
			head_3[i].className = 'step06Title';
		} else {
			head_flag = false;
		}
		i++;
	}
	
	i=0;
	while( i<head_4.length && head_flag==false ){
		head_flag = true;
		if( head_4[0].firstChild.data=='配送日指定' ){	// このページのみH4
			head_4[0].className = 'step03Title';
		} else {
			head_flag = false;
		}
		i++;
	}

//	var tbl        = document.getElementsByClassName('xc_cartView', prnt)[0];
//	var td_empty   = document.createElement('TD'); 
//	var btn_img, td_note, tdNext, tdSubTotal, td_total;
	
	return true;
}

// STEP01
function setRegi01Class(){
	var tbls = document.getElementsByClassName('xc_contents')[0].getElementsByClassName('xc_normal','TABLE');
	var i=0;
	var j;
	var pTxt;
	
	while(i<tbls.length){
		tbls[i].className += ' stepTable01';
		if(i==1){
			tbls[i].className += ' step01Table';
		} else {
		}
		setRegiReplaceTblTxt(tbls[i]);
		pTxt = prevElement(tbls[i]);
		if(pTxt.nodeName=='P'){
			pTxt.className += ' stepParagraph01';
			pTxt.firstChild.data = 'パスワード登録をすると、会員登録され次回以降の入力を省略できます。会員登録をしない場合はパスワードを入力せず[OK]をクリックしてください。';
			j = pTxt.childNodes.length;
			while(j>1){
				pTxt.removeChild(pTxt.childNodes[j-1]);
				j--;
			}
		} else {
		}
		if(i==tbls.length-1){
			pTxt = nextElement(tbls[i]);
			if(pTxt.nodeName=='P'){
				pTxt.removeChild(pTxt.firstChild);
				pTxt.innerHTML = pTxt.innerHTML.replace(/<br>/g,'');
			} else {
			}
		} else {
		}
		i++;
	}
	
	setRegiNextBackBtnClass();
	return true;
}

// STEP02
function setRegi02Class(){
	var div = document.getElementsByClassName('xc_contents')[0].getElementsByTagName('form')[0].getElementsByTagName('div')[0];
	var pTxt = nextElement(div);
	if(pTxt.nodeName=='P'){
		pTxt.removeChild(pTxt.firstChild);
		pTxt.innerHTML = pTxt.innerHTML.replace(/<br>/g,'');
	} else {
	}

	setRegiNextBackBtnClass();
	return true;
}

// STEP03
function setRegi03Class(){
	var i=0;
	var head_flag  = false;
	var head_4     = document.getElementsByTagName('H4');
	var prg        = document.getElementsByClassName('xc_contents')[0].getElementsByTagName('form')[0].getElementsByTagName('p')[0];
	var span_empty = document.createElement('SPAN');
	
	while( i<head_4.length && head_flag==false ){
		head_flag = true;
		if( head_4[0].firstChild.data=='配送日指定' ){	// このページのみH4
			head_4[0].className = 'step03Title';
		} else {
			head_flag = false;
		}
		i++;
	}
	if(head_flag==false){
		// 配送日指定をできない設定
		var h4_empty = document.createElement('H4');
		new Insertion.Before(prg, h4_empty);
		h4_empty.innerHTML = '配送日指定';
		h4_empty.className = 'step03Title';
		span_empty.innerHTML = '銀行振込の場合、ご入金確認後の発送となります。<br />配達日時を指定される場合は、「05.入力内容確認」の備考欄にご入金予定日から３営業日以降を指定して下さい。<br />地域によっては時間帯指定が出来ない場合がありますのでご了承下さい。';
/*	
*/
	} else {
		span_empty.innerHTML = '銀行振込の場合、ご入金確認後の発送となります。<br />指定される場合は、ご入金予定日から３営業日以降を指定して下さい。<br />地域によっては時間帯指定が出来ない場合がありますのでご了承下さい。';
	}
	new Insertion.Top(prg, span_empty);
	prg.className = 'step03';
	span_empty.className = 'summary';
	
	setRegiNextBackBtnClass();
	return true;
}

// STEP04
function setRegi04Class(){
	var frm = document.getElementsByClassName('xc_contents')[0].getElementsByTagName('form')[0];
	var prg = frm.getElementsByTagName('p')[1];

	if(frm!=null){
		frm.className = 'step04';
	} else {
	}
	if(prg!=null){
		prg.className = 'message';
		prg.removeChild(prg.firstChild);
		prg.innerHTML = prg.innerHTML.replace(/<br>/g,'');
	} else {
	}

	setRegiNextBackBtnClass();
	return true;
}

// STEP05
function setRegi05Class(){
	var tbl = document.getElementsByClassName('xc_normal');
	var prg = document.getElementsByTagName('p')[1];
	var frm = document.getElementsByClassName('xc_contents')[0].getElementsByTagName('form')[0];
	var frm_prg = frm.getElementsByTagName('p')[0];
	var i = 0;
	var temp1,temp2;

	if( typeof(tbl)=='object' ){
		while(i<tbl.length){
			if(tbl.length>5){
				tbl[i].className += ' stepTable step05_'+(i+1);
			} else if(i==tbl.length-1) {
				tbl[i].className += ' stepTable step05_6';
			} else {
				tbl[i].className += ' stepTable step05_'+(i+1);
			}
			i++;
		}
		// first table
		temp1 = tbl[0].getElementsByTagName('th');
		setRegi05Class_title(temp1[0]);
		temp1[1].className = 'productName';
		temp1[2].className = 'unitPrice';
		temp1[3].className = 'quantity';
		temp1[4].className = 'totalPrice';
		temp1 = tbl[0].getElementsByTagName('tr');
		if( typeof(temp1)=='object' ){
			i = 0;
			while(i<temp1.length){
				temp2 = temp1[i].getElementsByTagName('td');
				if( typeof(temp2)=='object' && temp2.length>0 ){
					if(temp2[0].colSpan==3){
						temp2[0].className += ' cols';
						temp2[1].className += ' totalPrice';
					} else {
						temp2[0].className += ' productName';
						temp2[1].className += ' unitPrice';
						temp2[2].className += ' quantity';
						temp2[3].className += ' totalPrice';
					}
				}
				i++;
			}
		} else {
		}
		// second table
		temp1 = tbl[1].getElementsByTagName('th');
		setRegi05Class_title(temp1[0]);
		// third table
		temp1 = tbl[2].getElementsByTagName('th');
		setRegi05Class_title(temp1[0]);
		// fourth table
		temp1 = tbl[3].getElementsByTagName('th');
		setRegi05Class_title(temp1[0]);
		// fifth table
		if(tbl.length>5){
			temp1 = tbl[4].getElementsByTagName('th');
			setRegi05Class_title(temp1[0]);
		} else {
		}
		// sixth table
		temp1 = document.createElement('tr');
		temp2 = document.createElement('th');
		temp2.className = 'headTitle';
		temp2.colSpan   = '3';
		new Insertion.Top(temp1, temp2);
		if(tbl[tbl.length-1]!=null){
			temp2 = tbl[tbl.length-1].getElementsByTagName('tbody');
			if( temp2.length>0 ){
				new Insertion.Top(temp2[0], temp1);
			} else {
				new Insertion.Top(tbl[tbl.length-1], temp1);
			}
		} else {
		}
		
	} else {
	}
	if(prg!=null){
		prg.className = 'step05Message';
	} else {
	}
	if(frm_prg!=null){
		temp1 = frm_prg.getElementsByTagName('br')[0];
		temp2 = frm_prg.getElementsByTagName('input');
		
		frm.className = 'step05';
		frm_prg.removeChild(temp1);
		i = 0;
		while(i<temp2.length){
			if(temp2[i].type=='submit'){
				temp2[i].className = 'step05Submit';
			} else {
			}
			i++;
		}
		frm_prg.firstChild.data = '[ORDER]ボタンを押すと注文が確定します。';
	} else {
	}

	setRegiNextBackBtnClass();
	return true;
}
function setRegi05Class_title(th){
	var temp;
	th.className = 'headTitle clearfix';
	temp = document.createElement('SPAN');
	temp.innerHTML = th.firstChild.data;
	th.removeChild(th.firstChild);
	new Insertion.Top(th, temp);
}

// STEP06
function setRegi06Class(){
	var prg = document.getElementsByClassName('xc_contents')[0].getElementsByTagName('p')[1];
	if(prg!=null){
		prg.innerHTML = 'ご注文ありがとうございました。<br /><br />' + prg.innerHTML
		prg.className = 'step06Message';
	} else {
	}
	
	setRegiNextBackBtnClass();
	return true;
}

// NEXT BACK BUTTON
function setRegiNextBackBtnClass(){
	var inputs = document.getElementsByTagName('INPUT');
	var i=0;
	
	while(i<inputs.length){
		if(inputs[i].value=='戻る'){
			inputs[i].className = 'backBtn';
		} else if(inputs[i].value=='次へ') {
			inputs[i].className = 'nextBtn';
		} else {
		}
		i++;
	}
	return true;
}

// REPLACE TABLE TEXT
function setRegiReplaceTblTxt(tblNode){
	var ths = tblNode.getElementsByTagName('TH');
	var i=0;
	
	while(i<ths.length){
		ths[i].innerHTML = ths[i].innerHTML.replace(/(（漢字）)|(<span class="xc_red">※<\/span>)/g,'');
		ths[i].innerHTML = ths[i].innerHTML.replace(/お名前（フリガナ）/g,'フリガナ');
		ths[i].innerHTML = ths[i].innerHTML.replace(/確認用/g,'（再）');
		i++;
	}
	return true;
}



/************ COMMON FUNCTION ************/
function prevElement(node) {
	var prevText = 'node.previousSibling';
	var prevNode = eval(prevText);
	var i=0;
	while(i<5 && prevNode.nodeType==1 && prevNode.nodeName!='P'){
		prevText += '.previousSibling';
		prevNode     = eval(prevText);
		i++;
	}
	return prevNode;
}
function nextElement(node) {
	var nextText = 'node.nextSibling';
	var nextNode = eval(nextText);
	var i=0;
	while(i<5 && nextNode.nodeName!='P'){
		nextText += '.nextSibling';
		if(nextNode.nextSibling){
			nextNode = eval(nextText);
		}
		i++;
	}
	return nextNode;
}


